]> jfr.im git - irc/gameservirc.git/blame - gameserv/player.cpp
Added Level 8 monsters
[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"
85ce9d3e 5#include <stdlib.h>
6#include <stdio.h>
7
e3c5fe46 8void Player::reset()
85ce9d3e 9{
cdc9a6db 10 memset(name, 0, 255);
11 memset(password, 0, 255);
cbf6551f 12
85ce9d3e 13 exp = 1;
14 gold = 0;
15 bank = 500;
16 hp = 10;
17 maxhp = 10;
18 strength = 0;
19 defense = 0;
20 armor = 1;
21 weapon = 1;
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;
ee38284f 29 setAlive(this);
3662210f 30 inventory.reset();
e3c5fe46 31}
32
33Player::Player(aClient *user)
34{
cdc9a6db 35
36 name = new char[256];
37 password = new char[256];
38
85ce9d3e 39 if (user)
ab4f4ec0 40 {
0a1518fa 41 setData(user->stats);
ab4f4ec0 42 strcpy(name, user->getNick());
43 }
85ce9d3e 44 else
0a1518fa 45 setData(NULL);
46
85ce9d3e 47 cout << "New Player: " << name << endl << flush;
48}
0a1518fa 49
85ce9d3e 50Player::Player(char *n)
51{
cdc9a6db 52 name = new char[256];
53 password = new char[256];
54
e3c5fe46 55 reset(); // Set defaults
85ce9d3e 56
85ce9d3e 57 strcpy(name, n);
58
59 cout << "New Player: " << name << endl << flush;
60}
61
62Player::~Player()
e3c5fe46 63{
cbf6551f 64 cout << "Deleting player";
65
e3c5fe46 66 if (name)
cbf6551f 67 {
68 cout << ": " << name;
1cf88153 69 delete [] name;
cbf6551f 70 }
e3c5fe46 71 if (password)
cbf6551f 72 {
73 cout << " Password: " << password;
1cf88153 74 delete [] password;
cbf6551f 75 }
76 cout << endl << "Player Deleted";
e3c5fe46 77}
85ce9d3e 78
79void Player::setData(Player *right)
80{
81 if (right)
82 {
83 strcpy(name, right->name);
0a1518fa 84 strcpy(password, right->password);
85ce9d3e 85 exp = right->exp;
86 gold = right->gold;
87 bank = right->bank;
88 hp = right->hp;
89 maxhp = right->maxhp;
90 strength = right->strength;
91 defense = right->defense;
92 armor = right->armor;
93 weapon = right->weapon;
94 level = right->level;
85ce9d3e 95 forest_fights = right->forest_fights;
96 player_fights = right->player_fights;
1af35752 97 flags = right->flags;
ee38284f 98 inventory.setInventory(&right->inventory);
85ce9d3e 99 }
0a1518fa 100 else
85ce9d3e 101 {
cdc9a6db 102 reset();
103
0a1518fa 104 int num = rand() % 32767;
28f552b8 105 sprintf(name, "Player%d", num);
85ce9d3e 106 }
0a1518fa 107
108 cout << "Setting Player data for " << name << endl;
85ce9d3e 109}
c8ada07e 110
111monster_::~monster_()
112{
113 delete name;
114 delete weapon;
115 delete death;
116}
117
118monster_::monster_()
119{
120 name = new char[32];
121 weapon = new char[32];
122 death = new char[256];
123
124 memset(name, 0, 32);
125 memset(weapon, 0, 32);
126 memset(death, 0, 256);
127}
128
129monster_::monster_(monster_ *m)
130{
131 name = new char[strlen(m->name) + 1];
132 weapon = new char[strlen(m->weapon) + 1];
133 death = new char[strlen(m->death) + 1];
134
135 strcpy(name, m->name);
136 strcpy(weapon, m->weapon);
137 strcpy(death, m->death);
138
139 strength = m->strength;
140 maxhp = m->maxhp;
e282e9d2 141 hp = m->hp;
c8ada07e 142 gold = m->gold;
143 exp = m->exp;
144}
1af35752 145
146long int Player::setFlags(long int newflags)
147{
148 flags = newflags;
149 return getFlags();
150}
151
152long int Player::addFlag(long int flag)
153{
154 flags |= flag;
155 return getFlags();
156}
157
158long int Player::remFlag(long int flag)
159{
160 flags &= ~flag;
161 return getFlags();
162}
163
3662210f 164Pouch::Pouch(int h, int s, int d)
165{
166 setHealing(h);
167 setStrength(s);
168 setDefense(d);
169}