- if (&right != this)
- {
- strcpy(name, right.name);
- strcpy(password, right.password);
- exp = right.exp;
- gold = right.gold;
- bank = right.bank;
- hp = right.hp;
- maxhp = right.maxhp;
- strength = right.strength;
- defense = right.defense;
- armor = right.armor;
- weapon = right.weapon;
- level = right.level;
- alive = right.alive;
- started = right.started; // Possibly obsoleted
- forest_fights = right.forest_fights;
- player_fights = right.player_fights;
- }
- return *this; // Enables Cascading ( x = y = z;)
+ delete name;
+ delete weapon;
+ delete death;
+}
+
+monster_::monster_()
+{
+ name = new char[64];
+ weapon = new char[64];
+ death = new char[512];
+
+ memset(name, 0, 64);
+ memset(weapon, 0, 64);
+ memset(death, 0, 512);
+}
+
+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;
+}
+
+long int Player::setFlags(long int newflags)
+{
+ flags = newflags;
+ return getFlags();
+}
+
+long int Player::addFlag(long int flag)
+{
+ flags |= flag;
+ return getFlags();
+}
+
+long int Player::remFlag(long int flag)
+{
+ flags &= ~flag;
+ return getFlags();
+}
+
+Pouch::Pouch(int h, int s, int d)
+{
+ setHealing(h);
+ setStrength(s);
+ setDefense(d);