• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Counter-actions

This month I finished extracting that sub-function I spoke of last time, and I squashed some bugs that cropped up because of the change. Then I started implementing some of the more unusual, edge-case abilities in the game. Link has a Pot Smash ability which on top of dealing damage can result in a random resource drop. There's also his Spin Slash, which involves charging up for a maximum of three turns and then unleashing upon the foes. Those are done and working in the game now.

My next priority is Zelda's Triforce Guard special ability, which absorbs any single magic attack made against her party. In order to do that, though, I'm taking a step back and writing a more general counter-action subsystem. The idea is to have a list of all currently active counter-actions, and whenever an action is taken, check whether it triggers any counter-actions. I'm a little worried about the possibility of multiple counter-actions interfering with each other. For example, if a particular battler both has an active trap that stops someone from attacking them, and is equipped with a weapon that gives them a chance to disarm their attacker, how is it resolved when they're attacked? For now, I'm thinking the number of counter-actions in the game will be small enough that I can manage sorting this out with hard-coded logic, but if the amount grows and gets more complex I may have to figure out some sort of priority system for them.