]>
Commit | Line | Data |
---|---|---|
8ad9f659 | 1 | #include "item.h" |
37ed80a9 | 2 | #include "player.h" |
8ad9f659 | 3 | |
37ed80a9 | 4 | item::item() |
5 | { | |
6 | myname = "New Item"; | |
7 | myprice = 0; | |
8 | myuses = 0; | |
9 | for (int x = 0; x < 8; x++) | |
10 | mymodifiers[x] = 0; | |
11 | } | |
12 | ||
13 | item::item(const char *name, long int p, int uses, int m1, int m2, int m3, int m4, int m5, int m6, int m7, int m8) | |
8ad9f659 | 14 | { |
15 | myname = name; // string = char* | |
16 | myprice = p; | |
17 | myuses = uses; | |
18 | mymodifiers[0] = m1; | |
19 | mymodifiers[1] = m2; | |
20 | mymodifiers[2] = m3; | |
21 | mymodifiers[3] = m4; | |
22 | mymodifiers[4] = m5; | |
23 | mymodifiers[5] = m6; | |
24 | mymodifiers[6] = m7; | |
25 | mymodifiers[7] = m8; | |
26 | } | |
27 | ||
37ed80a9 | 28 | item::item(string name, long int p, int uses, int m1, int m2, int m3, int m4, int m5, int m6, int m7, int m8) |
8ad9f659 | 29 | { |
30 | myname = name; // string = char* | |
31 | myprice = p; | |
32 | myuses = uses; | |
33 | mymodifiers[0] = m1; | |
34 | mymodifiers[1] = m2; | |
35 | mymodifiers[2] = m3; | |
36 | mymodifiers[3] = m4; | |
37 | mymodifiers[4] = m5; | |
38 | mymodifiers[5] = m6; | |
39 | mymodifiers[6] = m7; | |
40 | mymodifiers[7] = m8; | |
41 | } | |
42 | ||
43 | item::~item() | |
44 | { | |
45 | } | |
46 | ||
26b17386 | 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 | ||
57 | bool item::operator==(const item &right) const | |
58 | { | |
59 | return myname == right.myname; | |
60 | } | |
61 | ||
62 | bool item::operator!=(const item &right) const | |
63 | { | |
64 | return myname != right.myname; | |
65 | } | |
66 | ||
8ad9f659 | 67 | bool weapon::use(Player *p) |
68 | { | |
69 | // weapon(char *name, int p=0, int uses = -1, int strength=0, int defense=0, int maxhp=0) | |
70 | if (myuses == 0) | |
71 | return false; | |
72 | else | |
73 | { | |
74 | p->strength += mymodifiers[0]; | |
75 | p->defense += mymodifiers[1]; | |
76 | p->maxhp += mymodifiers[2]; | |
77 | } | |
78 | ||
79 | if (myuses > 0) | |
80 | { | |
81 | myuses--; | |
82 | } | |
83 | return true; | |
84 | } | |
85 | ||
86 | void weapon::undo(Player *p) | |
87 | { | |
88 | p->strength -= mymodifiers[0]; | |
89 | p->defense -= mymodifiers[1]; | |
90 | p->maxhp -= mymodifiers[2]; | |
91 | } | |
92 | ||
37ed80a9 | 93 | void armor::undo(Player *p) |
94 | { | |
95 | p->strength -= mymodifiers[0]; | |
96 | p->defense -= mymodifiers[1]; | |
97 | p->maxhp -= mymodifiers[2]; | |
98 | } | |
99 | ||
100 | bool armor::use(Player *p) | |
101 | { | |
102 | // weapon(char *name, int p=0, int uses = -1, int strength=0, int defense=0, int maxhp=0) | |
103 | if (myuses == 0) | |
104 | return false; | |
105 | else | |
106 | { | |
107 | p->strength += mymodifiers[0]; | |
108 | p->defense += mymodifiers[1]; | |
109 | p->maxhp += mymodifiers[2]; | |
110 | } | |
111 | ||
112 | if (myuses > 0) | |
113 | { | |
114 | myuses--; | |
115 | } | |
116 | return true; | |
117 | } | |
118 | ||
8ad9f659 | 119 | bool potion::use(Player *p) |
120 | { | |
121 | // 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) | |
122 | ||
123 | if (myuses == 0) | |
124 | return false; | |
125 | else | |
126 | { | |
127 | p->strength += mymodifiers[0]; | |
128 | p->defense += mymodifiers[1]; | |
129 | p->maxhp += mymodifiers[2]; | |
130 | p->hp += mymodifiers[3]; | |
131 | p->forest_fights += mymodifiers[4]; | |
132 | p->player_fights += mymodifiers[5]; | |
133 | p->gold += mymodifiers[6]; | |
134 | p->bank += mymodifiers[7]; | |
135 | } | |
136 | ||
137 | if (myuses > 0) | |
138 | { | |
139 | myuses--; | |
140 | } | |
141 | return true; | |
142 | } | |
37ed80a9 | 143 | |
144 | void potion::undo(Player *p) | |
145 | { | |
146 | return; | |
147 | } |