Skip to content

Combat mechanics overview

Aaron Goldman edited this page Jan 15, 2020 · 1 revision
  • Light/medium/heavy hit animations play depending on what fraction of the player's health was lost.
  • Attacks randomly deal from 80-120% of base hit strength.
  • Hit point amounts start (on the order of) 100 at level 1, hit strength amounts start on the order of 25 at level 1, both increase linearly with level. Experience yielded from enemies starts around 20 and increases linearly with their level. Required experience for the player for a given level starts at 100 and increases quadratically.
  • All enemies use the same leveling system to scale their stats such that the difficulty of fighting an enemy with the same level as the player is roughly the same for any given level.
  • Different enemies can be modified to have different hit points, hit strength, or experience yield relative to the default using GAnchorSprite::SetStatMultipliers().
  • When making contact with any enemy (collision with STYPE_ENEMY), the player will take damage and be pushed back slightly from the center of the enemy's collision box, regardless of if the enemy is actively attacking. When taking contact damage, player does not change direction and "light damage" animation always plays. Contact damage is dependent on enemy level only (not hit strength).
  • Attack animations for Orc, Troll, and Slime last significantly longer than other enemies to balance their high damage and range.