combat WIP

worked on combat a ton today. at first I was hand-coding combat actions, but quickly realized this was a terrible idea, and hated myself for even having started to do it that way. all combat actions are stored as data, instead, that describe their costs, effects on the user (stance requirement & change, if any), and effects on combat: usually hit and critical hit effects against the enemy, but sometimes something unique, as seen on the "Run" ability.

the glossary page reads all attacks from data, and generates the text/HTML to describe them, so there is no possibility of the glossary and in-game effects not matching up (unless I code a new effect, and forget to tell the glossary how to describe that effect), or of the glossary missing something. (I like removing the possibility for human error. humans make errors all the time. for example: it's 1am, and I'm still awake. THAT'S AN ERROR.)

all combat actions available to the player are also available to monsters, but in general I will probably limit most monsters to only 1 simple attack.  the whole stance stuff is fun when YOU'RE the one manipulating the board state with it, and setting up combos; when ENEMIES keep messing with that, it just gets frustrating. on the other hand: I will absolutely have boss-like monsters that DO have a couple more-interesting moves, to make them more intimidating.

oh: a few other details about combat in The Ruins of:

  • most attacks will be dodged.
  • when an attack is dodged, instead of the attack dealing damage, it causes the target to become fatigued (more damage => more fatigue).
  • every point of fatigue you have is a +1% bonus for your opponent to land a hit on you, and a -0.25% bonus for you to land a hit on your opponent.
  • outside of combat, fatigue is relatively easy to recover; health is not. health is precious. don't get hit.
  • an attack can be a critical attack, but still be dodged. since critical attacks usually deal more damage, a dodged critical will usually cause more fatigue.

Leave a comment

Log in with to leave a comment.