]>
Commit | Line | Data |
---|---|---|
8ad9f659 | 1 | #include "item.h" |
8ad9f659 | 2 | |
3 | item::item(char *name, int p, int uses, int m1, int m2, int m3, int m4, int m5, int m6, int m7, int m8) | |
4 | { | |
5 | myname = name; // string = char* | |
6 | myprice = p; | |
7 | myuses = uses; | |
8 | mymodifiers[0] = m1; | |
9 | mymodifiers[1] = m2; | |
10 | mymodifiers[2] = m3; | |
11 | mymodifiers[3] = m4; | |
12 | mymodifiers[4] = m5; | |
13 | mymodifiers[5] = m6; | |
14 | mymodifiers[6] = m7; | |
15 | mymodifiers[7] = m8; | |
16 | } | |
17 | ||
18 | item::item(string name, int p, int uses, int m1, int m2, int m3, int m4, int m5, int m6, int m7, int m8) | |
19 | { | |
20 | myname = name; // string = char* | |
21 | myprice = p; | |
22 | myuses = uses; | |
23 | mymodifiers[0] = m1; | |
24 | mymodifiers[1] = m2; | |
25 | mymodifiers[2] = m3; | |
26 | mymodifiers[3] = m4; | |
27 | mymodifiers[4] = m5; | |
28 | mymodifiers[5] = m6; | |
29 | mymodifiers[6] = m7; | |
30 | mymodifiers[7] = m8; | |
31 | } | |
32 | ||
33 | item::~item() | |
34 | { | |
35 | } | |
36 | ||
26b17386 | 37 | bool item::operator<(const item &right) const |
38 | { | |
39 | return myname < right.myname; | |
40 | } | |
41 | ||
42 | bool item::operator>(const item &right) const | |
43 | { | |
44 | return myname > right.myname; | |
45 | } | |
46 | ||
47 | bool item::operator==(const item &right) const | |
48 | { | |
49 | return myname == right.myname; | |
50 | } | |
51 | ||
52 | bool item::operator!=(const item &right) const | |
53 | { | |
54 | return myname != right.myname; | |
55 | } | |
56 | ||
8ad9f659 | 57 | bool weapon::use(Player *p) |
58 | { | |
59 | // weapon(char *name, int p=0, int uses = -1, int strength=0, int defense=0, int maxhp=0) | |
60 | if (myuses == 0) | |
61 | return false; | |
62 | else | |
63 | { | |
64 | p->strength += mymodifiers[0]; | |
65 | p->defense += mymodifiers[1]; | |
66 | p->maxhp += mymodifiers[2]; | |
67 | } | |
68 | ||
69 | if (myuses > 0) | |
70 | { | |
71 | myuses--; | |
72 | } | |
73 | return true; | |
74 | } | |
75 | ||
76 | void weapon::undo(Player *p) | |
77 | { | |
78 | p->strength -= mymodifiers[0]; | |
79 | p->defense -= mymodifiers[1]; | |
80 | p->maxhp -= mymodifiers[2]; | |
81 | } | |
82 | ||
83 | bool potion::use(Player *p) | |
84 | { | |
85 | // potion(char *name, int p=0, int uses = 1, int strength=0, int defense=0, int maxhp=0, int hp=0, int forest_fights=0, int player_fights=0, int gold=0, int bank=0) | |
86 | ||
87 | if (myuses == 0) | |
88 | return false; | |
89 | else | |
90 | { | |
91 | p->strength += mymodifiers[0]; | |
92 | p->defense += mymodifiers[1]; | |
93 | p->maxhp += mymodifiers[2]; | |
94 | p->hp += mymodifiers[3]; | |
95 | p->forest_fights += mymodifiers[4]; | |
96 | p->player_fights += mymodifiers[5]; | |
97 | p->gold += mymodifiers[6]; | |
98 | p->bank += mymodifiers[7]; | |
99 | } | |
100 | ||
101 | if (myuses > 0) | |
102 | { | |
103 | myuses--; | |
104 | } | |
105 | return true; | |
106 | } |