]> jfr.im git - irc/gameservirc.git/blame - gameserv-2.0/libgameservgldl/src/GameLayer/GameObjects/MonsterGO.cpp
Changed Range to be a template class so it can be used with unsigned & signed ints...
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / src / GameLayer / GameObjects / MonsterGO.cpp
CommitLineData
3d5a42ee 1#include <GameServ/GameLayer/GameObjects/GameObject.h>\r
2using GameServ::GameLayer::GameObjects::GameObject;\r
3#include <GameServ/GameLayer/GameObjects/MonsterGO.h>\r
4using GameServ::GameLayer::GameObjects::MonsterGO;\r
5\r
6#include <string>\r
7using std::string;\r
8\r
99c0151e 9MonsterGO::MonsterGO() : GameObject()\r
3d5a42ee 10{\r
04a66a14 11 Initialize();\r
3d5a42ee 12}\r
13\r
14MonsterGO::MonsterGO(const string &Id) : GameObject(Id)\r
15{\r
04a66a14 16 Initialize();\r
17}\r
18\r
19void MonsterGO::Initialize(void)\r
20{\r
04a66a14 21 mGold = 0;\r
22 mHealth = 0;\r
23 mMaxHealth = 0;\r
24 mStrength = 0;\r
25 mDefense = 0;\r
fd2ef47d 26 mExperience = 0;\r
fadef98f 27 mAlive = true;\r
3d5a42ee 28}\r
29\r
30MonsterGO::~MonsterGO()\r
31{\r
32}\r
33\r
34MonsterGO *MonsterGO::Clone(void) const\r
35{\r
36 return new MonsterGO(*this);\r
37}\r
38\r
39void MonsterGO::Name(const string &value)\r
40{\r
41 assert(!value.empty());\r
42 mName = value;\r
43}\r
44\r
45string MonsterGO::Name(void) const\r
46{\r
47 return mName;\r
48}\r
49\r
fd2ef47d 50void MonsterGO::LevelId(const string &value)\r
04a66a14 51{\r
fd2ef47d 52 mfkLevelId = value;\r
04a66a14 53}\r
54\r
fd2ef47d 55string MonsterGO::LevelId(void) const\r
04a66a14 56{\r
fd2ef47d 57 return mfkLevelId;\r
04a66a14 58}\r
59\r
60void MonsterGO::Strength(const unsigned int &value)\r
3d5a42ee 61{\r
3d5a42ee 62 mStrength = value;\r
63}\r
64\r
04a66a14 65unsigned int MonsterGO::Strength(void) const\r
3d5a42ee 66{\r
67 return mStrength;\r
68}\r
69\r
04a66a14 70void MonsterGO::Defense(const unsigned int &value)\r
3d5a42ee 71{\r
3d5a42ee 72 mDefense = value;\r
73}\r
74\r
04a66a14 75unsigned int MonsterGO::Defense(void) const\r
3d5a42ee 76{\r
77 return mDefense;\r
78}\r
79\r
04a66a14 80void MonsterGO::Gold(const unsigned long int &value)\r
3d5a42ee 81{\r
82 mGold = value;\r
83}\r
84\r
04a66a14 85unsigned long int MonsterGO::Gold(void) const\r
3d5a42ee 86{\r
87 return mGold;\r
88}\r
89\r
fd2ef47d 90void MonsterGO::Experience(const unsigned long int &value)\r
91{\r
92 mExperience = value;\r
93}\r
94\r
95unsigned long int MonsterGO::Experience(void) const\r
96{\r
97 return mExperience;\r
98}\r
99\r
04a66a14 100void MonsterGO::Health(const unsigned int &value)\r
3d5a42ee 101{\r
102 mHealth = value;\r
103}\r
104\r
04a66a14 105unsigned int MonsterGO::Health(void) const\r
3d5a42ee 106{\r
107 return mHealth;\r
108}\r
109\r
04a66a14 110void MonsterGO::MaxHealth(const unsigned int &value)\r
3d5a42ee 111{\r
112 mMaxHealth = value;\r
113}\r
114\r
04a66a14 115unsigned int MonsterGO::MaxHealth(void) const\r
3d5a42ee 116{\r
117 return mMaxHealth;\r
118}\r
119\r
120void MonsterGO::WeaponName(const string &value)\r
121{\r
122 assert(!value.empty());\r
123 mWeaponName = value;\r
124}\r
125\r
126string MonsterGO::WeaponName(void) const\r
127{\r
128 return mWeaponName;\r
129}\r
130\r
131void MonsterGO::DeathCry(const string &value)\r
132{\r
133 assert(!value.empty());\r
134 mDeathCry = value;\r
135}\r
136\r
137string MonsterGO::DeathCry(void) const\r
138{\r
139 return mDeathCry;\r
140}\r
141\r
fadef98f 142void MonsterGO::Alive(const bool &value)\r
143{\r
144 mAlive = value;\r
145}\r
146\r
147bool MonsterGO::Alive(void) const\r
148{\r
149 return mAlive;\r
150}\r
151\r
3d5a42ee 152bool MonsterGO::operator==(const MonsterGO &right) const\r
153{\r
fd2ef47d 154 return mId == right.mId && mfkLevelId == right.mfkLevelId && mHealth == right.mHealth &&\r
3d5a42ee 155 mDefense == right.mDefense && mDeathCry == right.mDeathCry &&\r
156 mGold == right.mGold && mHealth == right.mHealth && \r
157 mMaxHealth == right.mMaxHealth && mName == right.mName &&\r
158 mStrength == right.mStrength && mWeaponName == right.mWeaponName;\r
159}\r
160\r
161bool MonsterGO::operator!=(const MonsterGO &right) const\r
162{\r
163 return (!(*this == right));\r
04a66a14 164}\r
165\r
166ObjectTypes::ObjectType MonsterGO::ObjectType(void) const\r
167{\r
168 return ObjectTypes::Monster;\r
169}\r