This. @AndracoDragons look into actor components
. Each component can host variables and define behaviours. A spell actor can have any number of those components present. These can be added and removed dynamically, too.
Here’s a crude & overly simplified example:
- a spell actor
- some of components defining the behaviour / effects of the spell:
- the component hurts pawns with fire damage every .25s for as long (up to 4s) as they stay within the spell’s
Area Of Influence
defined by the owning actor:
The player altered this spell by adding two more effects:
Now, when this spell is cast, the targets will be on fire. But they will be also unable move, and will be no longer thirsty. Because why not…
You define the additional behaviour in each component. This way you will not clutter the main spell actor and can mix and match anything. The components know about its spell actor owner, and can reach out to talk to that actor - perhaps the immobilise affects has smaller radius than the Area Of Influence
of the spell:
i am not asking anyone to create the system for me just where should I start?
The above is a pseudoscript that, technically, should work but it was never fired. Creating a working system would take some serious hours to develop.
I’ve used it successfully in the past.
Gameplay Ability System mentioned above is probably worth a shot. Never used it, though.