]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv/player.cpp
updated the Change log w/ new additions
[irc/gameservirc.git] / gameserv / player.cpp
index 572333dbe4be06c142aa9fb641b6ae2905c82ebb..f0651239560571247903f529d86ce56d742afb99 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();
@@ -67,6 +68,8 @@ Player::Player(char *n)
 
 Player::Player(string n)
 {
+  if (inventory != NULL)
+       delete inventory;
   inventory = new pouch();
   reset();
   name = n;
@@ -76,24 +79,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\
@@ -195,6 +197,19 @@ Monster::Monster(Monster &m)
   exp = m.exp;
 }
 
+Monster::Monster(const 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;
+}
+
 long int Player::setFlags(long int newflags)
 {
   flags = newflags;