]> jfr.im git - irc/gameservirc.git/blob - gameserv/player.cpp
d513c2df2ebc7dab9754d374c931ebbfead16b05
[irc/gameservirc.git] / gameserv / player.cpp
1 #include "player.h"
2 #include <stdlib.h>
3 #include <stdio.h>
4
5 void Player::reset()
6 {
7 memset(name, 0, 255);
8 memset(password, 0, 255);
9
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;
27 }
28
29 Player::Player(aClient *user)
30 {
31
32 name = new char[256];
33 password = new char[256];
34
35 if (user)
36 {
37 setData(user->stats);
38 strcpy(name, user->getNick());
39 }
40 else
41 setData(NULL);
42
43 cout << "New Player: " << name << endl << flush;
44 }
45
46 Player::Player(char *n)
47 {
48 name = new char[256];
49 password = new char[256];
50
51 reset(); // Set defaults
52
53 strcpy(name, n);
54
55 cout << "New Player: " << name << endl << flush;
56 }
57
58 Player::~Player()
59 {
60 cout << "Deleting player";
61
62 if (name)
63 {
64 cout << ": " << name;
65 delete [] name;
66 }
67 if (password)
68 {
69 cout << " Password: " << password;
70 delete [] password;
71 }
72 cout << endl << "Player Deleted";
73 }
74
75 void Player::setData(Player *right)
76 {
77 if (right)
78 {
79 strcpy(name, right->name);
80 strcpy(password, right->password);
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;
95 }
96 else
97 {
98 reset();
99
100 int num = rand() % 32767;
101 sprintf(name, "Player%d\0", num);
102 }
103
104 cout << "Setting Player data for " << name << endl;
105 }
106
107 monster_::~monster_()
108 {
109 delete name;
110 delete weapon;
111 delete death;
112 }
113
114 monster_::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
125 monster_::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;
137 hp = m->hp;
138 gold = m->gold;
139 exp = m->exp;
140 }