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