]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv/player.cpp
Started to code timeout events
[irc/gameservirc.git] / gameserv / player.cpp
index 763755b771eb538721db39311ea53e2113ac0727..7278cf844d98a43ff4b41418d7d2c86a2ddf9ad3 100644 (file)
@@ -7,8 +7,8 @@
 
 void Player::reset()
 {
-    memset(name, 0, 255);
-    memset(password, 0, 255);
+    memset(name, 0, 256);
+    memset(password, 0, 256);
 
     exp = 1;
     gold = 0;
@@ -29,6 +29,16 @@ void Player::reset()
     setAlive(this);
     inventory.reset();
 }
+Player::Player()
+{
+    name = new char[256];
+    password = new char[256];
+    setData(NULL);
+
+    #ifdef DEBUGMODE
+       log("New Player: %s", name);
+    #endif
+}
 
 Player::Player(aClient *user)
 {
@@ -44,9 +54,6 @@ Player::Player(aClient *user)
     else
        setData(NULL);
 
-    #ifdef DEBUGMODE
-       log("New Player: %s", name);
-    #endif
 }
 
 Player::Player(char *n)
@@ -58,18 +65,20 @@ Player::Player(char *n)
 
     strcpy(name, n);
 
-    log("New Player: %s", name);
+    #ifdef DEBUGMODE
+       log("New Player: %s", name);
+    #endif
 }
 
 Player::~Player()
 {   
     #ifdef DEBUGMODE
        char *output;
-       output = new char[strlen(name) + strlen(password) + 2];
+       output = new char[strlen(name) + strlen(password) + 48];
        strcpy(output, "Deleting Player");
     #endif
  
-    if (name)
+    if (name != NULL)
     {
        #ifdef DEBUGMODE
            sprintf(output, "%s: %s", output, name);
@@ -77,15 +86,19 @@ Player::~Player()
 
        delete [] name;
     }
-    if (password)
+
+    if (password != NULL)
     {
        #ifdef DEBUGMODE
-           sprintf(output, "%s   Password: %s", output, password);
+           sprintf(output, "%s    Password: %s", output, password);
        #endif
+
        delete [] password;
     }
+
     #ifdef DEBUGMODE
        log ("%s", output);
+       delete [] output;
     #endif
 }
 
@@ -109,16 +122,19 @@ void Player::setData(Player *right)
         player_fights = right->player_fights;
        flags = right->flags;
        inventory.setInventory(&right->inventory);
+       client = right->client;
     }
     else
     {
         reset();
-
+       client = NULL;
        int num = rand() % 32767;
        sprintf(name, "Player%d", num);
     }
 
-    log("Setting Player data for %s", name);
+    #ifdef DEBUGMODE
+       log("Setting Player data for %s", name);
+    #endif
 }
 
 monster_::~monster_()