void Player::reset()
{
- if (!name)
- name = new char[256];
- if (!password)
- password = new char[256];
-
- name[0] = '\0';
- password[0] = '\0';
+ memset(name, 0, 255);
+ memset(password, 0, 255);
exp = 1;
gold = 0;
Player::Player(aClient *user)
{
+
+ name = new char[256];
+ password = new char[256];
+
if (user)
+ {
setData(user->stats);
+ strcpy(name, user->getNick());
+ }
else
setData(NULL);
Player::Player(char *n)
{
+ name = new char[256];
+ password = new char[256];
+
reset(); // Set defaults
strcpy(name, n);
void Player::setData(Player *right)
{
- reset();
-
if (right)
{
strcpy(name, right->name);
}
else
{
+ reset();
+
int num = rand() % 32767;
- sprintf(name, "Player%d\0", num);
+ sprintf(name, "Player%d", num);
}
cout << "Setting Player data for " << name << endl;
}
+
+monster_::~monster_()
+{
+ delete name;
+ delete weapon;
+ delete death;
+}
+
+monster_::monster_()
+{
+ name = new char[32];
+ weapon = new char[32];
+ death = new char[256];
+
+ memset(name, 0, 32);
+ memset(weapon, 0, 32);
+ memset(death, 0, 256);
+}
+
+monster_::monster_(monster_ *m)
+{
+ name = new char[strlen(m->name) + 1];
+ weapon = new char[strlen(m->weapon) + 1];
+ death = new char[strlen(m->death) + 1];
+
+ strcpy(name, m->name);
+ strcpy(weapon, m->weapon);
+ strcpy(death, m->death);
+
+ strength = m->strength;
+ maxhp = m->maxhp;
+ hp = m->hp;
+ gold = m->gold;
+ exp = m->exp;
+}