-
Notifications
You must be signed in to change notification settings - Fork 0
/
ItemManager.cs
255 lines (223 loc) · 8.24 KB
/
ItemManager.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace RPG
{
class ItemManager
{
EffectManager em = new EffectManager();
List<Item> itemList = new List<Item>();
#region Getter
public List<Item> GetItemList()
{
return itemList;
}
public Item GetItem(int id)
{
Item item = new Item();
for (int i = 0; i < itemList.Count; i++)
{
if(itemList[i].GetItemID() == id)
{
item = itemList[i];
}
}
return item;
}
#endregion
#region Public Methods
public void LoadItems()
{
itemList.Clear();
#region Consumables
//Consumables
Item healthPotionS = new Item(
"Small Health Potion", // Name
"Recovers 100 Health", // Description
1, // ItemID
true, //Usable?
10, // Price
1); // Amount
itemList.Add(healthPotionS);
//-------------------------------------------------------
Item manaPotionS = new Item(
"Small Mana Potion", // Name
"Recovers 30 Mana", // Description
2, // ItemID
true, //Useable?
15, // Price
1); // Amount
itemList.Add(manaPotionS);
//-------------------------------------------------------
Item healthPotionM = new Item(
"Medium Health Potion", // Name
"Recovers 250 Health", // Description
3, // ItemID
true, //Usable?
50, // Price
1); // Amount
itemList.Add(healthPotionM);
//-------------------------------------------------------
Item manaPotionM = new Item(
"Medium Mana Potion", // Name
"Recovers 70 Mana", // Description
4, // ItemID
true, //Usable?
65, // Price
1); // Amount
itemList.Add(manaPotionM);
//-------------------------------------------------------
#endregion
#region Materials
Item runeStone = new Item(
"Rune Stone", // Name
"Used for upgrading Equipment", // Description
101, // ItemID
false, //Usable?
30, // Price
1); // Amount
itemList.Add(runeStone);
//-------------------------------------------------------
Item runicDust = new Item(
"Runic Dust", // Name
"Used for upgrading Equipment", // Description
102, // ItemID
false, //Usable?
15, // Price
1); // Amount
itemList.Add(runicDust);
//-------------------------------------------------------
Item whiteDust = new Item(
"White Dust", // Name
"Used for upgrading Equipment", // Description
103, // ItemID
false, // Usable?
50, // Price
1, // Amount
50); // DropChance
itemList.Add(whiteDust);
//-------------------------------------------------------
Item redDust = new Item(
"Red Dust", // Name
"Used for upgrading Equipment", // Description
104, // ItemID
false, // Usable?
50, // Price
1, // Amount
50); // DropChance
itemList.Add(redDust);
//-------------------------------------------------------
Item blueDust = new Item(
"Blue Dust", // Name
"Used for upgrading Equipment", // Description
105, // ItemID
false, // Usable?
50, // Price
1, // Amount
50); // DropChance
itemList.Add(blueDust);
//-------------------------------------------------------
Item yellowDust = new Item(
"Yellow Dust", // Name
"Used for upgrading Equipment", // Description
106, // ItemID
false, // Usable?
50, // Price
1, // Amount
50); // DropChance
itemList.Add(yellowDust);
//-------------------------------------------------------
Item blackDust = new Item(
"Black Dust", // Name
"Used for upgrading Equipment", // Description
107, // ItemID
false, // Usable?
50, // Price
1, // Amount
50); // DropChance
itemList.Add(blackDust);
//-------------------------------------------------------
Item holyStone = new Item(
"Holy Stone", // Name
"Used for upgrading Excalibur", // Description
108, // ItemID
false, // Usable?
5000, // Price
1, // Amount
100); // DropChance
itemList.Add(holyStone);
//-------------------------------------------------------
#endregion
}
public void UseItem(Item item, Player player)
{
em.LoadEffects();
switch (item.GetItemID())
{
//Small Health Potion
case 1:
if (player.GetHealth() >= player.GetMaxHealth())
{
Console.WriteLine("|| Already Max Health!");
}
else
{
player.AddHealth(100);
item.SetAmount(item.GetAmount() - 1);
Console.WriteLine("|| Used 1 {0}!", item.GetName());
Console.WriteLine("|| Recovered 100 Health!");
}
break;
//Small Mana Potion
case 2:
if (player.GetMana() >= player.GetMaxMana())
{
Console.WriteLine("|| Already Max Mana!");
}
else
{
player.AddMana(30);
item.SetAmount(item.GetAmount() - 1);
Console.WriteLine("|| Used 1 {0}!", item.GetName());
Console.WriteLine("|| Recovered 30 Mana!");
}
break;
//Medium Health Potion
case 3:
if (player.GetHealth() >= player.GetMaxHealth())
{
Console.WriteLine("|| Already Max Health!");
}
else
{
player.AddHealth(250);
item.SetAmount(item.GetAmount() - 1);
Console.WriteLine("|| Used 1 {0}!", item.GetName());
Console.WriteLine("|| Recovered 250 Health!");
}
break;
//Medium Mana Potion
case 4:
if (player.GetMana() >= player.GetMaxMana())
{
Console.WriteLine("|| Already Max Mana!");
}
else
{
player.AddMana(70);
item.SetAmount(item.GetAmount() - 1);
Console.WriteLine("|| Used 1 {0}!", item.GetName());
Console.WriteLine("|| Recovered 70 Mana!");
}
break;
default:
Console.WriteLine("|| No item found");
break;
}
player.RefreshInventory();
}
#endregion
}
}