Over the last two evenings, I've been focussed on getting Special Abilities working. Those are things that happen over and above a normal effect or ability during a combat sequence.
I might start with what's NOT a Special Ability. An ability that does some amount of damage to health, action or mana is not special. An ability that applies a certain effect to a creature or character is not special. What I'm treating as special is all the skill and abilities that will have some sort of outcome that is more interesting than simply a normal action taking place.
I'll talk to the special ability that I was working this evening, though most of my time was spent in getting the fundamentals working, adding more specials will be (hopefully) a bit easier - maybe. Today I was working on the Warcry in the Protection fighter tree. It's a skill that grants an ability to use in combat (also called Warcry) which is there to help manage threat. It's applied with a melee attack. If successful, it adds an additional 100 threat to all enemies in a smallish radius of where it happened. (I'm certainly going to tweak the 100 value in the future, but for now, it works).
So, a character makes an attack, if it hits, it does whatever normal damage is supposed to happen (which generates a bit of threat for that character) but additionally it also does the special part, which is adding the threat outside of a normal damage event. Ergo. Special.
I've found the right place to slot it into the combat turn sequence, it seems to be resolving nicely, and tomorrow I'm going to try to start working on more of these special effects.
What else is going to be considered a Special? Well, there's another Protection Tree skill called Intercept, where I'd like to have the fighter character basically push his way past an ally to put himself into the line of danger in front of another party member. That's again going to need the app to handle some things that are outside the normal scope of a combat turn sequence (ie, moving characters out of order). An ability that teleports the character would probably fall into a similar bucket. Perhaps some sort of Fear effect, though that might be able to be done directly in an effect being applied (I honestly can't recall the code for that at the moment). Summons would be another Special ability certainly - bringing in some completely new thing into the combat. Spell-casting interrupts again, might be able to be handled via the normal code, but might also need a Special to make them work. The sky is the limit and I think it's going to be great getting all these weird things happening.
One more thing that made me laugh this evening. I was testing this code, and got one of my characters to pop some threat out with a Warcry, then basically high-tail it away from all the creatures, to make sure they were all going to then chase him as they should. He did so nicely, and two of the small spiders I was fighting against chased him between my other party members and attacked, exactly as they should do. Then it came time for the large spider to activate, and it was not able to squeeze between the party members due to it's size - so it started a longer walk around some rocky obstacles on the map. It got as far as it had movement to get, then suddenly I saw webs on my fighter... I thought something had gone wrong, quickly checked the ability... and breathed a sigh of relief. It does in fact have a range on it. Spiders have just always used it as part of a melee action. This one moved as close as it's movement would allow it, then threw the debuff at the right threat character - and later in it's next activation, closed the distance and went to town as normal.
Utterly brilliant to see things starting to just work spot on.