comparison Items.h @ 0:9c0607679772

init
author Ritor1
date Sat, 12 Jan 2013 09:45:18 +0600
parents
children 821fd955c379
comparison
equal deleted inserted replaced
-1:000000000000 0:9c0607679772
1 #pragma once
2
3
4
5
6
7
8 /* 338 */
9 enum ITEM_FLAGS
10 {
11 ITEM_IDENTIFIED = 0x1,
12 ITEM_BROKEN = 0x2,
13 ITEM_TEMP_BONUS = 0x8,
14 ITEM_STOLEN = 0x100,
15 ITEM_ENCHANTED = 0x200,
16 };
17
18
19 /* 330 */
20 enum ITEM_TYPE
21 {
22 ITEM_LONGSWORD_1 = 0x1,
23 ITEM_DAGGER_1 = 0xF,
24 ITEM_AXE_1 = 0x17,
25 ITEM_SPEAR_1 = 0x1F,
26 ITEM_CROSSBOW_1 = 0x2F,
27 ITEM_MACE_1 = 0x32,
28 ITEM_STAFF_1 = 0x3D,
29 ITEM_LEATHER_1 = 0x42,
30 ITEM_CHAINMAIL_1 = 0x47,
31 ITEM_PLATE_1 = 0x4C,
32 ITEM_BUCKLER_1 = 0x54,
33 ITEM_GAUNTLETS_1 = 0x6E,
34 ITEM_BOOTS_1 = 0x73,
35 ITEM_WAND_FIRE = 0x87,
36 ITEM_WAND_STUN = 0x8A,
37 ITEM_WAND_INCENERATION = 0x9F,
38 ITEM_TROLL_BLOOD = 0xCA,
39 ITEM_DRAGON_EYE = 0xCC,
40 ITEM_HARPY_FEATHER = 0xCF,
41 ITEM_DEVIL_ICHOR = 0xD6,
42 ITEM_OOZE_ECTOPLASM_BOTTLE = 0xD9,
43 ITEM_POTION_BOTTLE = 0xDC,
44 ITEM_SPELLBOOK_FIRE_STRIKE = 0x191,
45 ITEM_SPELLBOOK_AIR_FEATHER_FALL = 0x19C,
46 ITEM_SPELLBOOK_WATER_POISON_SPRAY = 0x1A7,
47 ITEM_SPELLBOOK_EARTH_SLOW = 0x1B2,
48 ITEM_SPELLBOOK_SPIRIT_BLESS = 0x1BD,
49 ITEM_SPELLBOOK_MIND_MIND_BLAST = 0x1C8,
50 ITEM_SPELLBOOK_BODY_FIRST_AID = 0x1D3,
51 ITEM_SPELLBOOK_BODY_HEAL = 0x1D6,
52 ITEM_SPELLBOOK_BODY_BREAK_POISON = 0x1D7,
53 ITEM_SPELLBOOK_LIGHT_LIGHT_BOLT = 0x1DD,
54 ITEM_SPELLBOOK_LIGHT_SUN_BURST = 0x1E6,
55 ITEM_SPELLBOOK_LIGHT_DIVINE_INTERVENTION = 0x1E7,
56 ITEM_ARTIFACT_PUCK = 0x1F4,
57 ITEM_RELIC_MEKORIGS_HAMMER = 0x210,
58 };
59
60 /* 331 */
61 enum ITEM_EQUIP_TYPE
62 {
63 EQUIP_ONE_OR_TWO_HANDS = 0x0,
64 EQUIP_TWO_HANDED = 0x1,
65 EQUIP_BOW = 0x2,
66 EQUIP_ARMOUR = 0x3,
67 EQUIP_SHIELD = 0x4,
68 EQUIP_HELMET = 0x5,
69 EQUIP_BELT = 0x6,
70 EQUIP_CLOAK = 0x7,
71 EQUIP_GAUNTLETS = 0x8,
72 EQUIP_BOOTS = 0x9,
73 EQUIP_RING = 0xA,
74 EQUIP_AMULET = 0xB,
75 EQUIP_C = 0xC,
76 EQUIP_REAGENT = 0xD,
77 EQUIP_POTION = 0xE,
78 EQUIP_F = 0xF,
79 EQUIP_BOOK = 0x10,
80 EQUIP_11 = 0x11,
81 EQUIP_GOLD = 0x12,
82 EQUIP_GEM = 0x13,
83 };
84
85
86
87 /* 64 */
88 #pragma pack(push, 1)
89 struct ItemGen
90 {
91 //----- (0042EB25) --------------------------------------------------------
92 inline ItemGen()
93 {
94 Reset();
95 }
96
97 bool GenerateArtifact();
98 unsigned int GetValue();
99 const char *GetDisplayName();
100 const char *GetIdentifiedName();
101 void UpdateTempBonus(__int64 uTimePlayed);
102 void Reset();
103 int _439DF3_get_additional_damage(int *a2, int *a3);
104
105
106
107 unsigned int uItemID;
108 int _bonus_type;
109 int _bonus_strength;
110 int uAdditionalValue;
111 int uNumCharges;
112 unsigned int uAttributes;
113 unsigned __int8 uBodyAnchor;
114 char uMaxCharges;
115 char field_1A;
116 char field_1B;
117 unsigned __int64 uExpireTime;
118 };
119 #pragma pack(pop)
120
121
122
123 /* 175 */
124 #pragma pack(push, 1)
125 struct ItemDesc
126 {
127 unsigned int uItemID;
128 char *pIconName;
129 char *pName;
130 char *pUnidentifiedName;
131 char *pDescription;
132 unsigned int uValue;
133 unsigned __int16 uSpriteID;
134 __int16 field_1A;
135 unsigned __int16 uEquipX;
136 unsigned __int16 uEquipY;
137 unsigned __int8 uEquipType;
138 unsigned __int8 uSkillType;
139 unsigned __int8 uDamageDice;
140 unsigned __int8 uDamageRoll;
141 unsigned __int8 uDamageMod;
142 unsigned __int8 uMaterial;
143 char _additional_value;
144 char _bonus_type;
145 char _bonus_strength;
146 char field_29;
147 char field_2A;
148 char field_2B;
149 char field_2C;
150 char field_2D;
151 char field_2E;
152 char field_2F;
153 };
154 #pragma pack(pop)
155
156
157
158 /* 177 */
159 #pragma pack(push, 1)
160 struct ItemEnchantment
161 {
162 char *pName;
163 char *pParam;
164 char field_8[12];
165 };
166 #pragma pack(pop)
167
168 /* 178 */
169 #pragma pack(push, 1)
170 struct ItemSpecialEnchantment
171 {
172 char *pName;
173 char *pParam;
174 char field_8[12];
175 int field_14;
176 int field_18;
177 };
178 #pragma pack(pop)
179
180
181 /* 176 */
182 #pragma pack(push, 1)
183 struct ItemsTable
184 {
185 void Initialize();
186 void LoadPotions();
187 void LoadPotionNotes();
188 void GenerateItem(int a2, int a3, ItemGen *pItem);
189 void SetSpecialBonus(ItemGen *pItem);
190 bool _456D43_is_material_equals_3(ItemGen *pItem);
191 bool _456D5E_is_some_material(ItemGen *pItem);
192 char *Release();
193
194
195 ItemDesc pItems[800];
196 ItemEnchantment pEnchantments[24];
197 ItemSpecialEnchantment pSpecialEnchantments[72];
198 char field_9FC0[5000];
199 char field_B348[5000];
200 char field_C6D0[5000];
201 char field_DA58[5000];
202 char field_EDE0[5000];
203 char field_10168[5000];
204 char field_114F0[388];
205 char *pItemsTXT_Raw;
206 char *pRndItemsTXT_Raw;
207 char *pStdItemsTXT_Raw;
208 char *pSpcItemsTXT_Raw;
209 int field_11684[6];
210 char field_1169C[60];
211 int field_116D8[24];
212 int field_11738[24];
213 int field_11798;
214 char field_1179C;
215 };
216 #pragma pack(pop)
217
218
219
220
221 extern ItemGen *ptr_50C9A4;
222
223 extern struct ItemsTable *pItemsTable;