]> jfr.im git - irc/gameservirc.git/blame - gameserv/player.cpp
* Added some admin features.
[irc/gameservirc.git] / gameserv / player.cpp
CommitLineData
85ce9d3e 1#include "player.h"
2#include <stdlib.h>
3#include <stdio.h>
4
e3c5fe46 5void Player::reset()
85ce9d3e 6{
cdc9a6db 7 memset(name, 0, 255);
8 memset(password, 0, 255);
cbf6551f 9
85ce9d3e 10 exp = 1;
11 gold = 0;
12 bank = 500;
13 hp = 10;
14 maxhp = 10;
15 strength = 0;
16 defense = 0;
17 armor = 1;
18 weapon = 1;
19 level = 1;
20 alive = 1;
21 started = 1; // Possibly deprecated
22 forest_fights = 100;
23 player_fights = 3;
24 fight = NULL;
25 master = NULL;
26 battle = NULL;
e3c5fe46 27}
28
29Player::Player(aClient *user)
30{
cdc9a6db 31
32 name = new char[256];
33 password = new char[256];
34
85ce9d3e 35 if (user)
ab4f4ec0 36 {
0a1518fa 37 setData(user->stats);
ab4f4ec0 38 strcpy(name, user->getNick());
39 }
85ce9d3e 40 else
0a1518fa 41 setData(NULL);
42
85ce9d3e 43 cout << "New Player: " << name << endl << flush;
44}
0a1518fa 45
85ce9d3e 46Player::Player(char *n)
47{
cdc9a6db 48 name = new char[256];
49 password = new char[256];
50
e3c5fe46 51 reset(); // Set defaults
85ce9d3e 52
85ce9d3e 53 strcpy(name, n);
54
55 cout << "New Player: " << name << endl << flush;
56}
57
58Player::~Player()
e3c5fe46 59{
cbf6551f 60 cout << "Deleting player";
61
e3c5fe46 62 if (name)
cbf6551f 63 {
64 cout << ": " << name;
1cf88153 65 delete [] name;
cbf6551f 66 }
e3c5fe46 67 if (password)
cbf6551f 68 {
69 cout << " Password: " << password;
1cf88153 70 delete [] password;
cbf6551f 71 }
72 cout << endl << "Player Deleted";
e3c5fe46 73}
85ce9d3e 74
75void Player::setData(Player *right)
76{
77 if (right)
78 {
79 strcpy(name, right->name);
0a1518fa 80 strcpy(password, right->password);
85ce9d3e 81 exp = right->exp;
82 gold = right->gold;
83 bank = right->bank;
84 hp = right->hp;
85 maxhp = right->maxhp;
86 strength = right->strength;
87 defense = right->defense;
88 armor = right->armor;
89 weapon = right->weapon;
90 level = right->level;
91 alive = right->alive;
92 started = right->started; // Possibly obsoleted
93 forest_fights = right->forest_fights;
94 player_fights = right->player_fights;
85ce9d3e 95 }
0a1518fa 96 else
85ce9d3e 97 {
cdc9a6db 98 reset();
99
0a1518fa 100 int num = rand() % 32767;
28f552b8 101 sprintf(name, "Player%d", num);
85ce9d3e 102 }
0a1518fa 103
104 cout << "Setting Player data for " << name << endl;
85ce9d3e 105}
c8ada07e 106
107monster_::~monster_()
108{
109 delete name;
110 delete weapon;
111 delete death;
112}
113
114monster_::monster_()
115{
116 name = new char[32];
117 weapon = new char[32];
118 death = new char[256];
119
120 memset(name, 0, 32);
121 memset(weapon, 0, 32);
122 memset(death, 0, 256);
123}
124
125monster_::monster_(monster_ *m)
126{
127 name = new char[strlen(m->name) + 1];
128 weapon = new char[strlen(m->weapon) + 1];
129 death = new char[strlen(m->death) + 1];
130
131 strcpy(name, m->name);
132 strcpy(weapon, m->weapon);
133 strcpy(death, m->death);
134
135 strength = m->strength;
136 maxhp = m->maxhp;
e282e9d2 137 hp = m->hp;
c8ada07e 138 gold = m->gold;
139 exp = m->exp;
140}