X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/00e51ca8614f4d38335b4f567c9aaf341747ec0e..f4f0d89de4c48f4b4fcd0a266c9d5796fc61ed42:/gameserv/player.cpp diff --git a/gameserv/player.cpp b/gameserv/player.cpp index 572333d..2b163ad 100644 --- a/gameserv/player.cpp +++ b/gameserv/player.cpp @@ -21,135 +21,135 @@ using namespace std; void Player::reset() { - exp = 1; - gold = 0; - bank = 500; - hp = 10; - maxhp = 10; - strength = 2; - defense = 1; - level = 1; - forest_fights = forestfights; - player_fights = 3; - fight = NULL; - master = NULL; - battle = NULL; - flags = 0; - lastcommand = 0; - lastlogin = 0; - setAlive(this); - w = NULL; - a = NULL; - inventory->clear(); + exp = 1; + gold = 0; + bank = 500; + hp = 10; + maxhp = 10; + strength = 2; + defense = 1; + level = 1; + forest_fights = forestfights; + player_fights = 3; + fight = NULL; + master = NULL; + battle = NULL; + flags = 0; + lastcommand = 0; + lastlogin = time(NULL); + setAlive(this); + clearMaster(this); + w = NULL; + a = NULL; + inventory->clear(); } Player::Player() { - inventory = new pouch(); - setData(NULL); + inventory = new pouch(); + setData(NULL); #ifdef DEBUGMODE - log("New Player: %s", name.c_str()); + log("New Player: %s", name.c_str()); #endif } Player::Player(char *n) { - inventory = new pouch(); - reset(); // Set defaults - - name = n; + inventory = new pouch(); + reset(); // Set defaults + + name = n; #ifdef DEBUGMODE - log("New Player: %s", name.c_str()); + log("New Player: %s", name.c_str()); #endif } Player::Player(string n) { - inventory = new pouch(); - reset(); - name = n; + inventory = new pouch(); + reset(); + name = n; #ifdef DEBUGMODE - log("New Player: %s", name.c_str()); + log("New Player: %s", name.c_str()); #endif } Player::~Player() -{ - delete inventory; - -#ifdef DEBUGMODE - string *output; - output = new string("Deleting Player"); -#endif - -#ifdef DEBUGMODE - *output += ": " + name; -#endif +{ + if (inventory != NULL) + delete inventory; + delMonster(); + delMaster(); + delBattle(); #ifdef DEBUGMODE - *output += " Password: " + password; - log ("%s", output->c_str()); - delete output; + string *output; + output = new string("Deleting Player"); + *output += ": " + name; + *output += " Password: " + password; + log ("%s", output->c_str()); + delete output; #endif } + void Player::setPassword(const char *p) { - static char saltChars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV\ -WXYZ0123456789./"; - static char salt[3]; + static char saltChars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV\ + WXYZ0123456789./"; + static char salt[3]; - salt[0] = saltChars[rand() % strlen(saltChars)]; - salt[1] = saltChars[rand() % strlen(saltChars)]; - salt[2] = '\0'; + salt[0] = saltChars[rand() % strlen(saltChars)]; + salt[1] = saltChars[rand() % strlen(saltChars)]; + salt[2] = '\0'; - password = crypt(p, salt); + password = crypt(p, salt); } void Player::setRawPassword(const char *p) { - password = p; + password = p; } void Player::setData(Player *right) { - if (right) + if (right) { - name = right->name; - password = right->password; - exp = right->exp; - gold = right->gold; - bank = right->bank; - hp = right->hp; - maxhp = right->maxhp; - strength = right->strength; - defense = right->defense; - level = right->level; - forest_fights = right->forest_fights; - player_fights = right->player_fights; - flags = right->flags; - *inventory = *right->inventory; - client = right->client; - lastcommand = right->lastcommand; - lastlogin = right->lastlogin; - w = right->w; - a = right->a; + name = right->name; + password = right->password; + exp = right->exp; + gold = right->gold; + bank = right->bank; + hp = right->hp; + maxhp = right->maxhp; + strength = right->strength; + defense = right->defense; + level = right->level; + forest_fights = right->forest_fights; + player_fights = right->player_fights; + flags = right->flags; + *inventory = *right->inventory; + client = right->client; + lastcommand = right->lastcommand; + lastlogin = right->lastlogin; + w = right->w; + a = right->a; } - else + else { - char *temp; - reset(); - temp = new char[16]; - client = NULL; - int num = rand() % 32767; - snprintf(temp, 16, "Player: %d", num); - name = temp; - delete []temp; + char *temp; + reset(); + temp = new char[16]; + client = NULL; + int num = rand() % 32767; + snprintf(temp, 16, "Player: %d", num); + name = temp; + delete []temp; } #ifdef DEBUGMODE - log("Setting Player data for %s", name.c_str()); + log("Setting Player data for %s", name.c_str()); #endif } @@ -159,341 +159,373 @@ Monster::~Monster() Monster::Monster() { - name.erase(); - weapon.erase(); - death.erase(); - strength = 0; - defense = 0; - exp = 0; - gold = 0; - maxhp = hp = 0; + name.erase(); + weapon.erase(); + death.erase(); + strength = 0; + defense = 0; + exp = 0; + gold = 0; + maxhp = hp = 0; } Monster::Monster(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; + 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; } Monster::Monster(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; + 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; +} + +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; - return getFlags(); + flags = newflags; + return getFlags(); } long int Player::addFlag(long int flag) { - flags |= flag; - return getFlags(); + flags |= flag; + return getFlags(); } long int Player::remFlag(long int flag) { - flags &= ~flag; - return getFlags(); + flags &= ~flag; + return getFlags(); } void Player::setWeapon(item &weap) { - w = &weap; + w = &weap; } void Player::setArmor(item &arm) { - a = &arm; + a = &arm; } void Player::setName(string &n) { - name = n; + name = n; } void Player::setName(const char *n) { - name = n; + name = n; } void Player::setLevel(int l) { - if (l > 0 && l <= REALLEVELS) - { - level = l; - } + if (l > 0 && l <= REALLEVELS) + { + level = l; + } } void Player::setExp(long int e) { - if (e <= 2000000000 && e > 0) - { - exp = e; - } + if (e <= 2000000000 && e > 0) + { + exp = e; + } } void Player::setGold(long int g) { - if (g <= 2000000000 && g >= 0) - { - gold = g; - } - else if (g > 2000000000) - { - gold = 2000000000; - } + if (g <= 2000000000 && g >= 0) + { + gold = g; + } + else if (g > 2000000000) + { + gold = 2000000000; + } } void Player::setBank(long int b) { - if (b <= 2000000000 && b >= 0) - { - bank = b; - } - else if (b > 2000000000) - { - bank = 2000000000; - } + if (b <= 2000000000 && b >= 0) + { + bank = b; + } + else if (b > 2000000000) + { + bank = 2000000000; + } } void Player::setHP(int h) { - hp = h; + hp = h; - if (hp < 0) - { - hp = 0; - } - else if (hp > maxhp) - { - hp = maxhp; // You can't go higher than your maxhp - } + if (hp < 0) + { + hp = 0; + } + else if (hp > maxhp) + { + hp = maxhp; // You can't go higher than your maxhp + } } void Player::setMaxHP(int m) { - maxhp = m; + maxhp = m; - if (maxhp < 0) - { - maxhp = 10; - } - else if (maxhp > 32000) - { - maxhp = 32000; - } + if (maxhp < 0) + { + maxhp = 10; + } + else if (maxhp > 32000) + { + maxhp = 32000; + } } void Player::setStrength(int s) { - strength = s; - if (strength < 0) - { - strength = 1; - } - else if (strength > 32000) - { - strength = 32000; - } + strength = s; + if (strength < 0) + { + strength = 1; + } + else if (strength > 32000) + { + strength = 32000; + } } void Player::setDefense(int d) { - defense = d; + defense = d; - if (defense < 0) - { - defense = 1; - } - else if (defense > 32000) - { - defense = 32000; - } + if (defense < 0) + { + defense = 1; + } + else if (defense > 32000) + { + defense = 32000; + } } void Player::setForestFights(int ff) { - forest_fights = ff; + forest_fights = ff; - if (forest_fights < 0) - { - forest_fights = 0; - } - else if (forest_fights > 32000) - { - forest_fights = 32000; - } + if (forest_fights < 0) + { + forest_fights = 0; + } + else if (forest_fights > 32000) + { + forest_fights = 32000; + } } void Player::setPlayerFights(int pf) { - player_fights = pf; + player_fights = pf; - if (player_fights < 0) - { - player_fights = 0; - } - else if (player_fights > 32000) - { + if (player_fights < 0) + { + player_fights = 0; + } + else if (player_fights > 32000) + { player_fights = 32000; - } + } } void Player::setClient(aClient *c) { - client = c; + client = c; } void Player::setMonster(Monster *m) { - fight = new Monster(m); + fight = new Monster(m); } void Player::setMyMaster(Monster *m) { - master = new Monster(m); + master = new Monster(m); } void Player::setBattle(aClient *b) { - battle = b; + battle = b; } void Player::addExp(int e) { - setExp(getExp() + e); + setExp(getExp() + e); } void Player::addGold(int g) { - setGold(getGold() + g); + setGold(getGold() + g); } void Player::addBank(int b) { - setBank(getBank() + b); + setBank(getBank() + b); } void Player::addHP(int h) { - setHP(getHP() + h); + setHP(getHP() + h); } void Player::addMaxHP(int m) { - setMaxHP(getMaxHP() + m); + setMaxHP(getMaxHP() + m); } void Player::addStrength(int s) { - setStrength(getStrength() + s); + setStrength(getStrength() + s); } void Player::addDefense(int d) { - setDefense(getDefense() + d); + setDefense(getDefense() + d); } void Player::addForestFights(int ff) { - setForestFights(getForestFights() + ff); + setForestFights(getForestFights() + ff); } void Player::addPlayerFights(int pf) { - setPlayerFights(getPlayerFights() + pf); + setPlayerFights(getPlayerFights() + pf); } void Player::addLevel(int l) { - setLevel(getLevel() + l); + setLevel(getLevel() + l); } void Player::subtractLevel(int l) { - setLevel(getLevel() - l); + setLevel(getLevel() - l); } void Player::subtractExp(long int e) { - setExp(getExp() - e); + setExp(getExp() - e); } void Player::subtractGold(long int g) { - setGold(getGold() - g); + setGold(getGold() - g); } void Player::subtractBank(long int b) { - setBank(getBank() - b); + setBank(getBank() - b); } void Player::subtractHP(int h) { - setHP(getHP() - h); + setHP(getHP() - h); } void Player::subtractMaxHP(int m) { - setMaxHP(getMaxHP() - m); + setMaxHP(getMaxHP() - m); } void Player::subtractStrength(int s) { - setStrength(getStrength() - s); + setStrength(getStrength() - s); } void Player::subtractDefense(int d) { - setDefense(getDefense() - d); + setDefense(getDefense() - d); } void Player::subtractForestFights(int ff) { - setForestFights(getForestFights() - ff); + setForestFights(getForestFights() - ff); } void Player::subtractPlayerFights(int pf) { - setPlayerFights(getPlayerFights() - pf); + setPlayerFights(getPlayerFights() - pf); } void Player::delMonster() { - if (fight) - delete fight; + if (fight) + delete fight; - fight = NULL; + fight = NULL; } void Player::delMaster() { - if (master) - delete master; + if (master) + delete master; - master = NULL; + master = NULL; } void Player::delBattle() { - // Don't delete the other player's aClient - battle = NULL; + // Don't delete the other player's aClient + battle = NULL; } +bool Player::operator < (Player &right) +{ + if (getLevel() < right.getLevel()) + { + return true; + } + else if (getExp() < right.getExp()) + { + return true; + } + else if (getStrength() < right.getStrength() && getDefense() < right.getDefense()) + { + return true; + } + else + { + return false; + } +}