namespace battle {
class PartyLayout;
+class Stats;
class BattleState
: public app::State {
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<int> CalculateScreenOffset(SDL_Surface *screen) const {
return geometry::Vector<int>(
void LoadIkariMenu(std::vector<Hero>::size_type heroIndex);
void LoadInventory();
+ Uint16 CalculateDamage(const Stats &attacker, const Stats &defender) const;
+
private:
SDL_Surface *background;
const PartyLayout *monstersLayout;