A Kit based on martial passives and Spells that leverage Attack Effects. The name is not ideal because it's not focused on blades but any attack. Warlock would be a good name if it wasn't already used to represent traditional arcane spellcasters in other video-games.
The Conditions would need to replace existing Attack Effects so that the high-level Spells would be useful even when there's already an original Effect. This could also create a chain of "what is the canonical original Effect when a previous switch has already been performed one or more times"?
One way to do it would be to have an AttackEffectCondition(Effect) class that ensures only one such Condition exists at a time, eliminating the need to track multiple Condition, Effects and durations. This also works because only one active Effect can be used at a time too. To inform the player, a message like "fighter's sword stops being X and now becomes Y" is both straightforward and thematic - although not completely transparent, it deliver the necessary information and the rest can be inferred with experience (like seeing that X effect has returned to its original state when casting the Spell again on a future Fight).
A Kit based on martial passives and Spells that leverage Attack Effects. The name is not ideal because it's not focused on blades but any attack. Warlock would be a good name if it wasn't already used to represent traditional arcane spellcasters in other video-games.
The Conditions would need to replace existing Attack Effects so that the high-level Spells would be useful even when there's already an original Effect. This could also create a chain of "what is the canonical original Effect when a previous switch has already been performed one or more times"?
One way to do it would be to have an
AttackEffectCondition(Effect)
class that ensures only one such Condition exists at a time, eliminating the need to track multiple Condition, Effects and durations. This also works because only one active Effect can be used at a time too. To inform the player, a message like "fighter's sword stops being X and now becomes Y" is both straightforward and thematic - although not completely transparent, it deliver the necessary information and the rest can be inferred with experience (like seeing that X effect has returned to its original state when casting the Spell again on a future Fight).