X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;ds=sidebyside;f=src%2Fbattle%2FBattleState.h;h=578098fa40f4d6c86c1ee41628be71ba231314fe;hb=591ecc2d7ecb0b41144be9b64c09801ac0a28131;hp=5898a2d4aa93920ffc9a5a20a1d366240d46de5c;hpb=a01c2f05b5a6493d7fe097eb15e5337a095992ae;p=l2e.git diff --git a/src/battle/BattleState.h b/src/battle/BattleState.h index 5898a2d..578098f 100644 --- a/src/battle/BattleState.h +++ b/src/battle/BattleState.h @@ -41,6 +41,7 @@ namespace graphics { namespace battle { class PartyLayout; +class Stats; class BattleState : public app::State { @@ -130,9 +131,13 @@ public: void NextAttack(); bool AttacksFinished() const { return attackCursor >= int(attackOrder.size()); } void CalculateDamage(); + void ApplyDamage(); const Order &CurrentAttack() const { return attackOrder[attackCursor]; }; void ClearAllAttacks(); + bool Victory() const; + bool Defeat() const; + public: geometry::Vector CalculateScreenOffset(SDL_Surface *screen) const { return geometry::Vector( @@ -153,6 +158,8 @@ private: void LoadIkariMenu(std::vector::size_type heroIndex); void LoadInventory(); + Uint16 CalculateDamage(const Stats &attacker, const Stats &defender) const; + private: SDL_Surface *background; const PartyLayout *monstersLayout;