X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/ee38284faeb687ddbfccf352488654917902d387..ce7556ca3a977c5978c399a24a17ccf8a97eda25:/gameserv/player.cpp diff --git a/gameserv/player.cpp b/gameserv/player.cpp index 3b4b55f..7278cf8 100644 --- a/gameserv/player.cpp +++ b/gameserv/player.cpp @@ -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,7 +54,6 @@ Player::Player(aClient *user) else setData(NULL); - cout << "New Player: " << name << endl << flush; } Player::Player(char *n) @@ -56,24 +65,41 @@ Player::Player(char *n) strcpy(name, n); - cout << "New Player: " << name << endl << flush; + #ifdef DEBUGMODE + log("New Player: %s", name); + #endif } Player::~Player() -{ - cout << "Deleting player"; - - if (name) +{ + #ifdef DEBUGMODE + char *output; + output = new char[strlen(name) + strlen(password) + 48]; + strcpy(output, "Deleting Player"); + #endif + + if (name != NULL) { - cout << ": " << name; + #ifdef DEBUGMODE + sprintf(output, "%s: %s", output, name); + #endif + delete [] name; } - if (password) + + if (password != NULL) { - cout << " Password: " << password; + #ifdef DEBUGMODE + sprintf(output, "%s Password: %s", output, password); + #endif + delete [] password; } - cout << endl << "Player Deleted"; + + #ifdef DEBUGMODE + log ("%s", output); + delete [] output; + #endif } void Player::setData(Player *right) @@ -96,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); } - cout << "Setting Player data for " << name << endl; + #ifdef DEBUGMODE + log("Setting Player data for %s", name); + #endif } monster_::~monster_() @@ -117,13 +146,13 @@ monster_::~monster_() monster_::monster_() { - name = new char[32]; - weapon = new char[32]; - death = new char[256]; + name = new char[64]; + weapon = new char[64]; + death = new char[512]; - memset(name, 0, 32); - memset(weapon, 0, 32); - memset(death, 0, 256); + memset(name, 0, 64); + memset(weapon, 0, 64); + memset(death, 0, 512); } monster_::monster_(monster_ *m)