|
|
- #ifndef SPELL_WARZ_CHARACTER_HPP
- #define SPELL_WARZ_CHARACTER_HPP 1
-
- #include <string>
-
- #include "Spell.hpp"
- #include "Element.hpp"
-
- class Character
- {
- protected:
- static const int maxLevel;
- static const int maxExperience;
-
- std::string name;
- Element *affinity;
- int level;
- int experience;
- int maxHP;
- int maxMP;
- int curHP;
- int curMP;
-
- void restoreHP(int);
- void restoreMP(int);
- void reduceHP(int);
- void reduceMP(int);
-
- public:
- Character(std::string characterName,
- Element *characterAffinity);
-
- Character(std::string characterName,
- Element *characterAffinity,
- int characterLevel);
-
- Character(std::string characterName,
- Element *characterAffinity,
- int characterLevel,
- int characterHP,
- int characterMP);
-
- bool castSpell(Spell *src, Character *dst);
- bool canCastSpell(Spell *src);
-
- std::string getName();
- Element *getAffinity();
- int getLevel();
- int getExperience();
- int getMaxHP();
- int getMaxMP();
- int getCurHP();
- int getCurMP();
- int toNextLevel();
-
- bool readytoLevelUp();
- bool isAlive();
- void levelUp();
- void kill();
- void rest();
- void revive();
- void increaseExperience(int n);
- };
-
- #endif
|