]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv/player.cpp
made some changes to the player constructors
[irc/gameservirc.git] / gameserv / player.cpp
index 744521acebb879e985f6530ac3e5399acace8d67..70572a5200b083d685c79eb70a3176b78af1881c 100644 (file)
@@ -36,8 +36,9 @@ void Player::reset()
   battle = NULL;
   flags = 0;
   lastcommand = 0;
-  lastlogin = 0;
+  lastlogin = time(NULL);
   setAlive(this);
+  clearMaster(this);
   w = NULL;
   a = NULL;
   inventory->clear();
@@ -76,24 +77,23 @@ Player::Player(string n)
 }
 
 Player::~Player()
-{   
-  delete inventory;
-
+{
+  if (inventory != NULL)
+       delete inventory;
+  
+  delMonster();
+  delMaster();
+  delBattle();
 #ifdef DEBUGMODE
   string *output;
   output = new string("Deleting Player");
-#endif
-  
-#ifdef DEBUGMODE
   *output += ": " + name;
-#endif
-  
-#ifdef DEBUGMODE
   *output += "    Password: " + password;
   log ("%s", output->c_str());
   delete output;
 #endif
 }
+
 void Player::setPassword(const char *p)
 {
   static char saltChars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV\
@@ -107,6 +107,11 @@ WXYZ0123456789./";
   password = crypt(p, salt);
 }
 
+void Player::setRawPassword(const char *p)
+{
+  password = p;
+}
+
 void Player::setData(Player *right)
 {
   if (right)
@@ -148,11 +153,11 @@ void Player::setData(Player *right)
 #endif
 }
 
-monster_::~monster_()
+Monster::~Monster()
 {
 }
 
-monster_::monster_()
+Monster::Monster()
 {
   name.erase();
   weapon.erase();
@@ -164,7 +169,7 @@ monster_::monster_()
   maxhp = hp = 0;
 }
 
-monster_::monster_(monster_ *m)
+Monster::Monster(Monster *m)
 {
   name = m->name;
   weapon = m->weapon;
@@ -177,7 +182,20 @@ monster_::monster_(monster_ *m)
   exp = m->exp;
 }
 
-monster_::monster_(monster_ &m)
+Monster::Monster(Monster &m)
+{
+  name = m.name;
+  weapon = m.weapon;
+  death = m.death;
+  strength = m.strength;
+  defense = m.defense;
+  maxhp = m.maxhp;
+  hp = m.hp;
+  gold = m.gold;
+  exp = m.exp;
+}
+
+Monster::Monster(const Monster &m)
 {
   name = m.name;
   weapon = m.weapon;
@@ -216,3 +234,279 @@ void Player::setArmor(item &arm)
 {
   a = &arm;
 }
+
+void Player::setName(string &n)
+{
+  name = n;
+}
+
+void Player::setName(const char *n)
+{
+  name = n;
+}
+
+void Player::setLevel(int l)
+{
+  if (l > 0 && l <= REALLEVELS)
+       {
+         level = l;
+       }
+}
+
+void Player::setExp(long int e)
+{
+  if (e <= 2000000000 && e > 0)
+       {
+         exp = e;
+       }
+}
+
+void Player::setGold(long int g)
+{
+  if (g <= 2000000000 && g >= 0)
+       {
+         gold = g;
+       }
+  else if (g > 2000000000)
+       {
+         gold = 2000000000;
+       }
+}
+
+void Player::setBank(long int b)
+{
+  if (b <= 2000000000 && b >= 0)
+       {
+         bank = b;
+       }
+  else if (b > 2000000000)
+       {
+         bank = 2000000000;
+       }
+}
+
+void Player::setHP(int h)
+{
+  hp = h;
+
+  if (hp < 0)
+       {
+         hp = 0;
+       }
+  else if (hp > maxhp)
+       {
+         hp = maxhp; // You can't go higher than your maxhp
+       }
+}
+
+void Player::setMaxHP(int m)
+{
+  maxhp = m;
+
+  if (maxhp < 0)
+       {
+         maxhp = 10;
+       }
+  else if (maxhp > 32000)
+       {
+         maxhp = 32000;
+       }
+}
+
+void Player::setStrength(int s)
+{
+  strength = s;
+  if (strength < 0)
+       {
+         strength = 1;
+       }
+  else if (strength > 32000)
+       {
+         strength = 32000;
+       }
+}
+
+void Player::setDefense(int d)
+{
+  defense = d;
+
+  if (defense < 0)
+       {
+         defense = 1;
+       }
+  else if (defense > 32000)
+       {
+         defense = 32000;
+       }
+}
+
+void Player::setForestFights(int ff)
+{
+  forest_fights = ff;
+
+  if (forest_fights < 0)
+       {
+         forest_fights = 0;
+       }
+  else if (forest_fights > 32000)
+       {
+         forest_fights = 32000;
+       }
+}
+
+void Player::setPlayerFights(int pf)
+{
+  player_fights = pf;
+
+  if (player_fights < 0)
+       {
+         player_fights = 0;
+       }
+  else if (player_fights > 32000)
+       {
+         player_fights = 32000;
+       }
+}
+
+void Player::setClient(aClient *c)
+{
+  client = c;
+}
+
+void Player::setMonster(Monster *m)
+{
+  fight = new Monster(m);
+}
+
+void Player::setMyMaster(Monster *m)
+{
+  master = new Monster(m);
+}
+
+void Player::setBattle(aClient *b)
+{
+  battle = b;
+}
+
+void Player::addExp(int e)
+{
+  setExp(getExp() + e);
+}
+
+void Player::addGold(int g)
+{
+  setGold(getGold() + g);
+}
+
+void Player::addBank(int b)
+{
+  setBank(getBank() + b);
+}
+
+void Player::addHP(int h)
+{
+  setHP(getHP() + h);
+}
+
+void Player::addMaxHP(int m)
+{
+  setMaxHP(getMaxHP() + m);
+}
+
+void Player::addStrength(int s)
+{
+  setStrength(getStrength() + s);
+}
+
+void Player::addDefense(int d)
+{
+  setDefense(getDefense() + d);
+}
+
+void Player::addForestFights(int ff)
+{
+  setForestFights(getForestFights() + ff);
+}
+
+void Player::addPlayerFights(int pf)
+{
+  setPlayerFights(getPlayerFights() + pf);
+}
+
+void Player::addLevel(int l)
+{
+  setLevel(getLevel() + l);
+}
+
+void Player::subtractLevel(int l)
+{
+  setLevel(getLevel() - l);
+}
+
+void Player::subtractExp(long int e)
+{
+  setExp(getExp() - e); 
+}
+
+void Player::subtractGold(long int g)
+{
+  setGold(getGold() - g);
+}
+
+void Player::subtractBank(long int b)
+{
+  setBank(getBank() - b);
+}
+
+void Player::subtractHP(int h)
+{
+  setHP(getHP() - h);
+}
+
+void Player::subtractMaxHP(int m)
+{
+  setMaxHP(getMaxHP() - m);
+}
+
+void Player::subtractStrength(int s)
+{
+  setStrength(getStrength() - s);
+}
+
+void Player::subtractDefense(int d)
+{
+  setDefense(getDefense() - d);
+}
+
+void Player::subtractForestFights(int ff)
+{
+  setForestFights(getForestFights() - ff);
+}
+
+void Player::subtractPlayerFights(int pf)
+{
+  setPlayerFights(getPlayerFights() - pf);
+}
+
+void Player::delMonster()
+{
+  if (fight)
+       delete fight;
+
+  fight = NULL;
+}
+
+void Player::delMaster()
+{
+  if (master)
+       delete master;
+
+  master = NULL;
+}
+
+void Player::delBattle()
+{
+  // Don't delete the other player's aClient
+  battle = NULL;
+}
+