summaryrefslogtreecommitdiff
path: root/src/game-server/character.hpp
diff options
context:
space:
mode:
authorPhilipp Sehmisch <crush@themanaworld.org>2009-03-05 19:33:04 +0100
committerPhilipp Sehmisch <crush@themanaworld.org>2009-03-05 19:33:04 +0100
commit8abc32b07bd86a45be9863ec9ae8ca1fdb4d3e75 (patch)
tree7e11c55c1ee70cbcee9788e70713bda3ef541716 /src/game-server/character.hpp
parent5ea5371434b76fc7511db4fa5b72e34046497943 (diff)
downloadmanaserv-8abc32b07bd86a45be9863ec9ae8ca1fdb4d3e75.tar.gz
manaserv-8abc32b07bd86a45be9863ec9ae8ca1fdb4d3e75.tar.bz2
manaserv-8abc32b07bd86a45be9863ec9ae8ca1fdb4d3e75.tar.xz
manaserv-8abc32b07bd86a45be9863ec9ae8ca1fdb4d3e75.zip
Implemented basic special recharge on the server.
Diffstat (limited to 'src/game-server/character.hpp')
-rw-r--r--src/game-server/character.hpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/game-server/character.hpp b/src/game-server/character.hpp
index 5ca899aa..8e2cc954 100644
--- a/src/game-server/character.hpp
+++ b/src/game-server/character.hpp
@@ -35,6 +35,17 @@ class MessageOut;
class Point;
class Trade;
+struct Special
+{
+ Special(int needed)
+ {
+ currentMana = 0;
+ neededMana = needed;
+ }
+ int currentMana;
+ int neededMana;
+};
+
/**
* The representation of a player's character in the game world.
*/
@@ -72,6 +83,11 @@ class Character : public Being
void useSpecial(int id);
/**
+ * Allows a character to perform a special action
+ */
+ void giveSpecial(int id);
+
+ /**
* Gets client computer.
*/
GameClient *getClient() const
@@ -345,6 +361,8 @@ class Character : public Being
std::vector<unsigned int> mExperience; /**< experience collected for each skill.*/
+ std::map<int, Special*> mSpecials;
+
int mDatabaseID; /**< Character's database ID. */
unsigned char mGender; /**< Gender of the character. */
unsigned char mHairStyle; /**< Hair Style of the character. */