]> jfr.im git - irc/gameservirc.git/blame - gameserv/player.cpp
fixed a small problem with compiler warnings
[irc/gameservirc.git] / gameserv / player.cpp
CommitLineData
26b17386 1#include "item.h"
85ce9d3e 2#include "player.h"
3662210f 3#include "pouch.h"
20d5d721 4#include "extern.h"
ee38284f 5#include "flags.h"
5c449fde 6#include <string>
0a0863d1 7#include <stdio.h>
5c449fde 8
9using namespace std;
85ce9d3e 10
e3c5fe46 11void Player::reset()
85ce9d3e 12{
85ce9d3e 13 exp = 1;
14 gold = 0;
15 bank = 500;
16 hp = 10;
17 maxhp = 10;
18 strength = 0;
19 defense = 0;
26b17386 20 arm = 1;
21 wea = 1;
85ce9d3e 22 level = 1;
20d5d721 23 forest_fights = forestfights;
85ce9d3e 24 player_fights = 3;
25 fight = NULL;
26 master = NULL;
27 battle = NULL;
1af35752 28 flags = 0;
40251952 29 lastcommand = 0;
14e24ba1 30 lastlogin = 0;
ee38284f 31 setAlive(this);
3662210f 32 inventory.reset();
e3c5fe46 33}
40251952 34
85bcf836 35Player::Player()
36{
85bcf836 37 setData(NULL);
38
39 #ifdef DEBUGMODE
5c449fde 40 log("New Player: %s", name.c_str());
85bcf836 41 #endif
42}
e3c5fe46 43
85ce9d3e 44Player::Player(char *n)
45{
e3c5fe46 46 reset(); // Set defaults
85ce9d3e 47
5c449fde 48 name = n;
49
50 #ifdef DEBUGMODE
51 log("New Player: %s", name.c_str());
52 #endif
53}
85ce9d3e 54
5c449fde 55Player::Player(string n)
56{
57 reset();
58 name = n;
f2072f1a 59 #ifdef DEBUGMODE
5c449fde 60 log("New Player: %s", name.c_str());
f2072f1a 61 #endif
85ce9d3e 62}
63
64Player::~Player()
9f8c2acc 65{
66 #ifdef DEBUGMODE
5c449fde 67 string *output;
68 output = new string("Deleting Player");
9f8c2acc 69 #endif
70
5c449fde 71 #ifdef DEBUGMODE
72 *output += ": " + name;
73 #endif
ce61cdfa 74
9f8c2acc 75 #ifdef DEBUGMODE
5c449fde 76 *output += " Password: " + password;
77 log ("%s", output->c_str());
78 delete output;
9f8c2acc 79 #endif
e3c5fe46 80}
1563e73b 81void Player::setPassword(const char *p)
82{
83 static char saltChars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV\
84WXYZ0123456789./";
85 static char salt[3];
86
87 salt[0] = saltChars[rand() % strlen(saltChars)];
88 salt[1] = saltChars[rand() % strlen(saltChars)];
89 salt[2] = '\0';
90
91 password = crypt(p, salt);
92}
85ce9d3e 93
94void Player::setData(Player *right)
95{
96 if (right)
97 {
ddef84f1 98 name = right->name;
99 password = right->password;
85ce9d3e 100 exp = right->exp;
101 gold = right->gold;
102 bank = right->bank;
103 hp = right->hp;
104 maxhp = right->maxhp;
105 strength = right->strength;
106 defense = right->defense;
26b17386 107 arm = right->arm;
108 wea = right->wea;
85ce9d3e 109 level = right->level;
85ce9d3e 110 forest_fights = right->forest_fights;
111 player_fights = right->player_fights;
1af35752 112 flags = right->flags;
ee38284f 113 inventory.setInventory(&right->inventory);
85bcf836 114 client = right->client;
40251952 115 lastcommand = right->lastcommand;
14e24ba1 116 lastlogin = right->lastlogin;
85ce9d3e 117 }
0a1518fa 118 else
85ce9d3e 119 {
ddef84f1 120 char *temp;
cdc9a6db 121 reset();
5c449fde 122 temp = new char[16];
85bcf836 123 client = NULL;
0a1518fa 124 int num = rand() % 32767;
5c449fde 125 snprintf(temp, 16, "Player: %d", num);
126 name = temp;
ddef84f1 127 delete []temp;
85ce9d3e 128 }
0a1518fa 129
f2072f1a 130 #ifdef DEBUGMODE
5c449fde 131 log("Setting Player data for %s", name.c_str());
f2072f1a 132 #endif
85ce9d3e 133}
c8ada07e 134
135monster_::~monster_()
136{
c8ada07e 137}
138
139monster_::monster_()
140{
5c449fde 141 name.erase();
142 weapon.erase();
143 death.erase();
f97dea8f 144 strength = 0;
8e800549 145 defense = 0;
f97dea8f 146 exp = 0;
147 gold = 0;
148 maxhp = hp = 0;
c8ada07e 149}
150
151monster_::monster_(monster_ *m)
152{
ddef84f1 153 name = m->name;
154 weapon = m->weapon;
155 death = m->death;
c8ada07e 156 strength = m->strength;
8e800549 157 defense = m->defense;
c8ada07e 158 maxhp = m->maxhp;
e282e9d2 159 hp = m->hp;
c8ada07e 160 gold = m->gold;
161 exp = m->exp;
162}
1af35752 163
bf3a2ff9 164monster_::monster_(monster_ &m)
165{
ddef84f1 166 name = m.name;
167 weapon = m.weapon;
168 death = m.death;
bf3a2ff9 169 strength = m.strength;
8e800549 170 defense = m.defense;
bf3a2ff9 171 maxhp = m.maxhp;
172 hp = m.hp;
173 gold = m.gold;
174 exp = m.exp;
175}
176
1af35752 177long int Player::setFlags(long int newflags)
178{
179 flags = newflags;
180 return getFlags();
181}
182
183long int Player::addFlag(long int flag)
184{
185 flags |= flag;
186 return getFlags();
187}
188
189long int Player::remFlag(long int flag)
190{
191 flags &= ~flag;
192 return getFlags();
193}
194
3662210f 195Pouch::Pouch(int h, int s, int d)
196{
197 setHealing(h);
198 setStrength(s);
199 setDefense(d);
200}