annotate Engine/Objects/Items.h @ 2575:a76d408c5132 tip

DrawTranslucent -> DrawTextureGrayShade Removed old texture drawing stuff
author a.parshin
date Wed, 09 Mar 2016 01:39:52 +0200
parents dd36326a9994
children
rev   line source
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
1 #pragma once
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
2 #include <array>
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
3 #include <map>
2499
68cdef6879a0 engine folder
Ritor1
parents: 2497
diff changeset
4 #include "../NZIArray.h"
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
5
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
6 enum DAMAGE_TYPE: unsigned int
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
7 {
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
8 DMGT_FIRE = 0,
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
9 DMGT_ELECTR = 1,
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
10 DMGT_COLD = 2,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
11 DMGT_EARTH = 3,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
12 DMGT_PHISYCAL = 4,
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
13 DMGT_MAGICAL = 5,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
14 DMGT_SPIRIT = 6,
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
15 DMGT_MIND = 7,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
16 DMGT_BODY = 8,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
17 DMGT_LIGHT = 9,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
18 DMGT_DARK = 10
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
19 };
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
20
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
21
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
22
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
23 /* 338 */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
24 enum ITEM_FLAGS :unsigned int
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
25 {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
26 ITEM_IDENTIFIED = 0x1,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
27 ITEM_BROKEN = 0x2,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
28 ITEM_TEMP_BONUS = 0x8,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
29 ITEM_AURA_EFFECT_RED = 0x10,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
30 ITEM_AURA_EFFECT_BLUE = 0x20,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
31 ITEM_AURA_EFFECT_GREEN = 0x40,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
32 ITEM_AURA_EFFECT_PURPLE = 0x80,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
33 ITEM_ENCHANT_ANIMATION = 0xF0,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
34 ITEM_STOLEN = 0x100,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
35 ITEM_HARDENED = 0x200,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
36 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
37
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
38 enum ITEM_ENCHANTMENT : unsigned int
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
39 {
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
40 ITEM_ENCHANTMENT_NULL = 0,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
41
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
42 ITEM_ENCHANTMENT_OF_COLD = 4, // Adds 3-4 points of cold damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
43 ITEM_ENCHANTMENT_OF_FROST = 5, // Adds 6-8 points of cold damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
44 ITEM_ENCHANTMENT_OF_ICE = 6, // Adds 9-12 points of cold damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
45 ITEM_ENCHANTMENT_OF_SPARKS = 7, // Adds 2-5 points of electrical damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
46 ITEM_ENCHANTMENT_OF_LIGHTNING = 8, // Adds 4-10 points of electrical damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
47 ITEM_ENCHANTMENT_OF_THUNDERBOLTS = 9, // Adds 6-15 points of electrical damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
48 ITEM_ENCHANTMENT_OF_FIRE = 10, // Adds 1-6 points of fire damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
49 ITEM_ENCHANTMENT_OF_FLAME = 11, // Adds 2-12 points of fire damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
50 ITEM_ENCHANTMENT_OF_INFERNOS = 12, // Adds 3-18 points of fire damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
51 ITEM_ENCHANTMENT_OF_POISON = 13, // Adds 5 points of body damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
52 ITEM_ENCHANTMENT_OF_VENOM = 14, // Adds 8 points of body damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
53 ITEM_ENCHANTMENT_OF_ACID = 15, // Adds 12 points of body damage
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
54 ITEM_ENCHANTMENT_VAMPIRIC = 16, // 20% of damage dealt given to wielder
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
55 ITEM_ENCHANTMENT_OF_RECOVERY = 17, // Increases rate of Recovery
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
56
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
57 ITEM_ENCHANTMENT_OF_FORCE = 24, // Increases Knockback
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
58
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
59 ITEM_ENCHANTMENT_40 = 40,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
60 ITEM_ENCHANTMENT_OF_DARKNESS = 41, // Vampiric and Swift
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
61
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
62 ITEM_ENCHANTMENT_OF_DRAGON = 46, // Adds 10-20 points of fire damage and +25 Might
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
63 };
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
64
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
65
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
66 enum ITEM_MATERIAL
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
67 {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
68 MATERIAL_COMMON =0,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
69 MATERIAL_ARTEFACT = 1,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
70 MATERIAL_RELIC = 2,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
71 MATERIAL_SPECIAL = 3
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
72 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
73
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
74 /* 330 */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
75 enum ITEM_TYPE
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
76 {
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
77 ITEM_NULL = 0,
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
78 ITEM_LONGSWORD_1 = 0x1,
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
79 ITEM_DAGGER_1 = 15,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
80 ITEM_AXE_1 = 23,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
81 ITEM_SPEAR_1 = 31,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
82 ITEM_CROSSBOW_1 = 47,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
83 ITEM_MACE_1 = 50,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
84 ITEM_STAFF_1 = 61,
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
85 ITEM_BLASTER = 64,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
86 ITEM_LASER_RIFLE = 65,
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
87 ITEM_LEATHER_1 = 66,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
88 ITEM_CHAINMAIL_1 = 71,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
89 ITEM_PLATE_1 = 76,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
90 ITEM_BUCKLER_1 = 84,
2574
dd36326a9994 More texture refactoring
a.parshin
parents: 2567
diff changeset
91 ITEM_92 = 92,
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
92 ITEM_GAUNTLETS_1 = 110,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
93 ITEM_BOOTS_1 = 115,
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
94 ITEM_WAND_FIRE = 135,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
95 ITEM_WAND_STUN = 138,
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
96 ITEM_WAND_INCENERATION = 159,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
97 ITEM_160 = 160,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
98 ITEM_161 = 161,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
99 ITEM_162 = 162,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
100 ITEM_GOLD_SMALL = 197,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
101 ITEM_GOLD_MEDIUM = 198,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
102 ITEM_GOLD_LARGE = 199,
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
103 ITEM_REAGENT_WIDOWSWEEP_BERRIES = 200,
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
104 ITEM_REAGENT_CRUSHED_ROSE_PETALS = 201,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
105 ITEM_TROLL_BLOOD = 202,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
106 ITEM_TROLL_RUBY = 203,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
107 ITEM_DRAGON_EYE = 204,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
108 ITEM_PHIMA_ROOT = 205,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
109 ITEM_METEORITE_FRAGMENT = 206,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
110 ITEM_HARPY_FEATHER = 207,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
111 ITEM_MOONSTONE = 208,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
112 ITEM_ELVISH_TOADSTOOL = 209,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
113 ITEM_POPPYSNAPS = 210,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
114 ITEM_FAE_DUST = 211,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
115 ITEM_SULFUR = 212,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
116 ITEM_GARNET = 213,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
117 ITEM_DEVIL_ICHOR = 214,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
118 ITEM_MUSHROOM = 215,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
119 ITEM_OBSIDIAN = 216,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
120 ITEM_OOZE_ENDOPLASM_VIAL = 217,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
121 ITEM_MERCURY = 218,
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
122 ITEM_REAGENT_PHILOSOPHERS_STONE = 219,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
123 ITEM_POTION_BOTTLE = 220,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
124 ITEM_POTION_CATALYST = 221,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
125 ITEM_POTION_CURE_WOUNDS = 222,
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
126 ITEM_POTION_MAGIC_POTION = 223,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
127 ITEM_POTION_CURE_WEAKNESS = 224,
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
128 ITEM_POTION_CURE_DISEASE = 225,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
129 ITEM_POTION_AWAKEN = 227,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
130 ITEM_POTION_HASTE = 228,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
131 ITEM_POTION_RECHARGE_ITEM = 233,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
132 ITEM_POTION_HARDEN_ITEM = 236,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
133 ITEM_POTION_CURE_INSANITY = 239,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
134 ITEM_POTION_MIGHT_BOOST = 240,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
135 ITEM_POTION_ACCURACY_BOOST = 245,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
136 ITEM_POTION_FLAMING_POTION = 246,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
137 ITEM_POTION_SWIFT_POTION = 250,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
138 ITEM_POTION_BODY_RESISTANE = 261,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
139 ITEM_POTION_STONE_TO_FLESH = 262,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
140 ITEM_POTION_SLAYING_POTION = 263,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
141 ITEM_POTION_REJUVENATION = 271,
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
142 ITEM_SPELLBOOK_TORCHLIGHT = 400,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
143 ITEM_SPELLBOOK_FIRE_STRIKE = 401,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
144 ITEM_SPELLBOOK_AIR_FEATHER_FALL = 412,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
145 ITEM_SPELLBOOK_WATER_POISON_SPRAY = 423,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
146 ITEM_SPELLBOOK_EARTH_SLOW = 434,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
147 ITEM_SPELLBOOK_SPIRIT_BLESS = 445,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
148 ITEM_SPELLBOOK_MIND_REMOVE_FEAR = 455,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
149 ITEM_SPELLBOOK_MIND_MIND_BLAST = 456,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
150 ITEM_SPELLBOOK_BODY_FIRST_AID = 467,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
151 ITEM_SPELLBOOK_BODY_HEAL = 470,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
152 ITEM_SPELLBOOK_BODY_BREAK_POISON = 471,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
153 ITEM_SPELLBOOK_LIGHT_LIGHT_BOLT = 477,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
154 ITEM_SPELLBOOK_LIGHT_SUN_BURST = 486,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
155 ITEM_SPELLBOOK_LIGHT_DIVINE_INTERVENTION = 487,
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
156 ITEM_ARTIFACT_PUCK = 500,//0x1F4,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
157 ITEM_ARTIFACT_IRON_FEATHER = 501,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
158 ITEM_ARTIFACT_WALLACE = 502,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
159 ITEM_ARTIFACT_CORSAIR = 503,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
160 ITEM_ARTIFACT_GOVERNORS_ARMOR = 504,//1F8
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
161 ITEM_ARTIFACT_YORUBA = 505,//1F9
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
162 ITEM_ARTIFACT_SPLITTER = 506,//1FA
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
163 ITEM_ARTIFACT_GHOULSBANE = 507,//1FA
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
164 ITEM_ARTIFACT_GIBBET = 508,//1FA
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
165 ITEM_ARTIFACT_CHARELE = 509,//1FA
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
166 ITEM_ARTEFACT_ULLYSES = 510,
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
167 ITEM_ARTEFACT_HANDS_OF_THE_MASTER =511,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
168 ITEM_ARTIFACT_LEAGUE_BOOTS = 512,//200
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
169 ITEM_ARTIFACT_RULERS_RING = 513,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
170 ITEM_RELIC_MASH = 514,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
171 ITEM_RELIC_ETHRICS_STAFF = 515,//204
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
172 ITEM_RELIC_HARECS_LEATHER = 516,//204
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
173 ITEM_RELIC_OLD_NICK = 517,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
174 ITEM_RELIC_AMUCK = 518,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
175 ITEM_RELIC_GLORY_SHIELD = 519,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
176 ITEM_RELIC_KELEBRIM = 520,//208
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
177 ITEM_RELIC_TALEDONS_HELM = 521,//209
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
178 ITEM_RELIC_SCHOLARS_CAP = 522,//20A
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
179 ITEM_RELIC_PHYNAXIAN_CROWN = 523,//20B
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
180 ITEM_RILIC_TITANS_BELT = 524,//20C
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
181 ITEM_RELIC_TWILIGHT = 525,//20D
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
182 ITEM_RELIC_ANIA_SELVING = 526,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
183 ITEM_RELIC_JUSTICE = 527,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
184 ITEM_RELIC_MEKORIGS_HAMMER = 528,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
185 ITEM_ARTIFACT_HERMES_SANDALS = 529,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
186 ITEM_ARTIFACT_CLOAK_OF_THE_SHEEP = 530,//212
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
187 ITEM_ARTIFACT_ELFBANE = 531,//212
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
188 ITEM_ARTIFACT_MINDS_EYE = 532,//214
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
189 ITEM_ELVEN_CHAINMAIL = 533,//215
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
190 ITEM_FORGE_GAUNTLETS = 534,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
191 ITEM_ARTIFACT_HEROS_BELT = 535,//217
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
192 ITEM_ARTIFACT_LADYS_ESCORT = 536,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
193 ITEM_RARE_CLANKERS_AMULET = 537,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
194 ITEM_RARE_LIETENANTS_CUTLASS = 538,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
195 ITEM_RARE_MEDUSAS_MIRROR = 539,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
196 ITEM_RARE_LADY_CARMINES_DAGGER = 540,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
197 ITEM_RARE_VILLAINS_BLADE = 541,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
198 ITEM_RARE_PERFECT_BOW = 542,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
199 ITEM_RARE_PERFECT_BOW_FIXED = 543,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
200 ITEM_RARE_SHADOWS_MASK = 544,//220
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
201 ITEM_RARE_GHOST_RING = 545,//220
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
202 ITEM_RARE_FAERIE_RING = 546,//220
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
203 ITEM_RARE_SUN_CLOAK = 547,//223
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
204 ITEM_RARE_MOON_CLOAK = 548,//224
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
205 ITEM_RARE_ZOKKARS_AXE = 549,//224
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
206 ITEM_RARE_VAMPIRES_CAPE = 550,//226
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
207 ITEM_RARE_MINOTAURS_AXE = 551,//226
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
208 ITEM_RARE_GROGNARDS_CUTLASS = 552,//226
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
209 ITEM_LICH_JAR_FULL = 601,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
210 ITEM_WETSUIT = 604,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
211 ITEM_LICH_JAR_EMPTY = 615,
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
212 ITEM_GENIE_LAMP = 616,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
213
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
214 ITEM_RED_APPLE = 630,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
215
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
216 ITEM_LUTE = 632,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
217 ITEM_FAERIE_PIPES = 633,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
218 ITEM_GRYPHONHEARTS_TRUMPET = 634,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
219
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
220 ITEM_HORSESHOE = 646,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
221
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
222 ITEM_TEMPLE_IN_A_BOTTLE = 650,
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
223
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
224 ITEM_RECIPE_REJUVENATION = 740,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
225 ITEM_RECIPE_BODY_RESISTANCE = 771,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
226 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
227
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
228 /* 331 */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
229 enum ITEM_EQUIP_TYPE: unsigned __int8
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
230 {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
231 EQUIP_SINGLE_HANDED = 0,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
232 EQUIP_TWO_HANDED = 1,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
233 EQUIP_BOW = 2,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
234 EQUIP_ARMOUR = 3,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
235 EQUIP_SHIELD = 4,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
236 EQUIP_HELMET = 5,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
237 EQUIP_BELT = 6,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
238 EQUIP_CLOAK = 7,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
239 EQUIP_GAUNTLETS = 8,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
240 EQUIP_BOOTS = 9,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
241 EQUIP_RING = 10,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
242 EQUIP_AMULET = 11,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
243 EQUIP_WAND = 12,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
244 EQUIP_REAGENT = 13,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
245 EQUIP_POTION = 14,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
246 EQUIP_SPELL_SCROLL = 15,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
247 EQUIP_BOOK = 16,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
248 EQIUP_ANY = 16,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
249 EQUIP_MESSAGE_SCROLL = 17,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
250 EQUIP_GOLD = 18,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
251 EQUIP_GEM = 19,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
252 EQUIP_NONE = 20
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
253 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
254
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
255 enum CHARACTER_ATTRIBUTE_TYPE;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
256 struct Player;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
257
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
258 typedef struct CEnchantment
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
259 {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
260 unsigned __int16 Player::* statPtr;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
261 int statBonus;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
262 CEnchantment(int bonus, unsigned __int16 Player::* skillPtr = nullptr):
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
263 statBonus(bonus),
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
264 statPtr(skillPtr)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
265 {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
266 }
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
267 } CEnchantment;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
268
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
269 /* 64 */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
270 #pragma pack(push, 1)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
271 struct ItemGen //0x24
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
272 {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
273 //----- (0042EB25) --------------------------------------------------------
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
274 // inline ItemGen()
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
275 // {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
276 // Reset();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
277 // }
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
278 static void AddToMap(std::map<int, std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* > &maptoadd,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
279 int enchId,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
280 CHARACTER_ATTRIBUTE_TYPE attrId,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
281 int bonusValue = 0,
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
282 unsigned __int16 Player::* skillPtr = nullptr);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
283
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
284 static std::map<int, std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* > regularBonusMap;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
285 static std::map<int, std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* > specialBonusMap;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
286 static std::map<int, std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* > artifactBonusMap;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
287
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
288 static void PopulateSpecialBonusMap();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
289 static void PopulateRegularBonusMap();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
290 static void PopulateArtifactBonusMap();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
291 static void ClearItemBonusMaps();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
292
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
293 inline void ResetEnchantAnimation(){uAttributes &= 0xFFFFFF0F;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
294 inline bool ItemEnchanted()const {return(uAttributes & ITEM_ENCHANT_ANIMATION) != 0;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
295 inline bool AuraEffectRed()const {return(uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_RED;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
296 inline bool AuraEffectBlue()const {return(uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_BLUE;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
297 inline bool AuraEffectGreen()const {return(uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_GREEN;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
298 inline bool AuraEffectPurple()const {return(uAttributes & ITEM_ENCHANT_ANIMATION) == ITEM_AURA_EFFECT_PURPLE;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
299
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
300 void GetItemBonusSpecialEnchantment(Player* owner, CHARACTER_ATTRIBUTE_TYPE attrToGet, int* additiveBonus, int* halfSkillBonus);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
301 void GetItemBonusArtifact(Player* owner, CHARACTER_ATTRIBUTE_TYPE attrToGet, int* bonusSum);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
302 bool IsRegularEnchanmentForAttribute(CHARACTER_ATTRIBUTE_TYPE attrToGet);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
303
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
304 inline bool IsBroken() {return (uAttributes & ITEM_BROKEN) != 0;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
305 inline void SetBroken() {uAttributes |= ITEM_BROKEN;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
306 inline bool IsIdentified() {return (uAttributes & ITEM_IDENTIFIED) != 0;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
307 inline void SetIdentified() {uAttributes |= ITEM_IDENTIFIED;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
308 inline bool IsStolen() {return (uAttributes & ITEM_STOLEN) != 0;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
309 inline void SetStolen() {uAttributes |= ITEM_STOLEN;}
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
310
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
311 bool GenerateArtifact();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
312 unsigned int GetValue();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
313 const char *GetDisplayName();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
314 const char *GetIdentifiedName();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
315 void UpdateTempBonus(__int64 uTimePlayed);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
316 void Reset();
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
317 int _439DF3_get_additional_damage(DAMAGE_TYPE *a2, bool *vampiyr);
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
318
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
319 ITEM_EQUIP_TYPE GetItemEquipType();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
320 unsigned char GetPlayerSkillType();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
321 char* GetIconName();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
322 unsigned __int8 GetDamageDice();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
323 unsigned __int8 GetDamageRoll();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
324 unsigned __int8 GetDamageMod();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
325 bool MerchandiseTest(int _2da_idx);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
326 int uItemID; //0
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
327 int uEnchantmentType; //4
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
328 int m_enchantmentStrength; //8
2567
d569340b05ff Few constants changed into enum values
a.parshin
parents: 2499
diff changeset
329 ITEM_ENCHANTMENT special_enchantment; // 25 +5 levels //0c
2497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
330 // 16 Drain Hit Points from target.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
331 // 35 Increases chance of disarming.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
332 // 39 Double damage vs Demons.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
333 // 40 Double damage vs Dragons
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
334 // 45 +5 Speed and Accuracy
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
335 // 56 +5 Might and Endurance.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
336 // 57 +5 Intellect and Personality.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
337 // 58 Increased Value.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
338 // 60 +3 Unarmed and Dodging skills
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
339 // 61 +3 Stealing and Disarm skills.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
340 // 59 Increased Weapon speed.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
341 // 63 Double Damage vs. Elves.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
342 // 64 Double Damage vs. Undead.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
343 // 67 Adds 5 points of Body damage and +2 Disarm skill.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
344 // 68 Adds 6-8 points of Cold damage and +5 Armor Class.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
345 // 71 Prevents drowning damage.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
346 // 72 Prevents falling damage.
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
347 int uNumCharges; //10
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
348 unsigned int uAttributes; //14
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
349 unsigned __int8 uBodyAnchor; //18
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
350 char uMaxCharges; //19
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
351 char uHolderPlayer; //1A
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
352 char field_1B; //1B
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
353 unsigned __int64 uExpireTime; //1C
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
354 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
355 #pragma pack(pop)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
356
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
357
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
358
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
359 /* 175 */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
360 #pragma pack(push, 1)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
361 struct ItemDesc //30h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
362 { //Item # |Pic File|Name|Value|Equip Stat|Skill Group|Mod1|Mod2|material|
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
363 ///ID/Rep/St|Not identified name|Sprite Index|VarA|VarB|Equip X|Equip Y|Notes
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
364 char *pIconName; //0 4
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
365 char *pName; //4 8
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
366 char *pUnidentifiedName; //8 c
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
367 char *pDescription; //0c 10
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
368 unsigned int uValue; //10 14
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
369 unsigned __int16 uSpriteID; //14 18
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
370 __int16 field_1A; //16
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
371 signed __int16 uEquipX; //18 1c
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
372 signed __int16 uEquipY; //1a 1e
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
373 ITEM_EQUIP_TYPE uEquipType; //1c 20
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
374 unsigned __int8 uSkillType; //1d 21
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
375 unsigned __int8 uDamageDice; //1e 22
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
376 unsigned __int8 uDamageRoll; //1f 23
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
377 unsigned __int8 uDamageMod; //20 24
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
378 unsigned __int8 uMaterial; //21 25
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
379 char _additional_value; //22 26
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
380 char _bonus_type; //23 27
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
381 char _bonus_strength; //24 28
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
382 char field_25; // 25 29
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
383 char field_26; //26 2A
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
384 char field_27; // 27 2b
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
385 union
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
386 {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
387 unsigned __int8 uChanceByTreasureLvl[6];
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
388 struct {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
389 unsigned __int8 uChanceByTreasureLvl1; // 28 2c
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
390 unsigned __int8 uChanceByTreasureLvl2; // 29 2d
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
391 unsigned __int8 uChanceByTreasureLvl3; // 2A 2e
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
392 unsigned __int8 uChanceByTreasureLvl4; // 2B 2f
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
393 unsigned __int8 uChanceByTreasureLvl5; // 2C 30
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
394 unsigned __int8 uChanceByTreasureLvl6; // 2D 32
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
395 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
396 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
397 unsigned char uItemID_Rep_St; //2e 32
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
398 char field_2f;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
399 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
400 #pragma pack(pop)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
401
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
402
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
403
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
404 /* 177 */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
405 #pragma pack(push, 1)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
406 struct ItemEnchantment
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
407 { //Bonus|Sta|Of Name|Arm|Shld|Helm|Belt|Cape|Gaunt|Boot|Ring|Amul
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
408 char *pBonusStat;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
409 char *pOfName;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
410 /* union{
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
411 struct {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
412 unsigned char to_arm;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
413 unsigned char to_shld;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
414 unsigned char to_helm;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
415 unsigned char to_belt;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
416 unsigned char to_cape;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
417 unsigned char to_gaunt;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
418 unsigned char to_boot;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
419 unsigned char to_ring;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
420 unsigned char to_amul;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
421 }; */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
422 unsigned char to_item[12];
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
423 // };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
424 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
425 #pragma pack(pop)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
426
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
427 /* 178 */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
428 #pragma pack(push, 1)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
429 struct ItemSpecialEnchantment //1Ch
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
430 { //Bonus Stat|Name Add|W1|W2|Miss|Arm|Shld|Helm|Belt|Cape|Gaunt|Boot|Ring|Amul|Value|Lvl|Description fo special Bonuses and values
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
431
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
432 char *pBonusStatement; //0
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
433 char *pNameAdd; //4
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
434 char to_item_apply[12]; //8
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
435 int iValue; //14
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
436 int iTreasureLevel; //18
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
437 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
438 #pragma pack(pop)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
439
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
440 #pragma pack(push, 1)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
441 struct BonusRange
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
442 {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
443 unsigned int minR;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
444 unsigned int maxR;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
445 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
446 #pragma pack(pop)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
447
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
448 /* 176 */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
449 #pragma pack(push, 1)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
450 struct ItemsTable
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
451 {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
452 void Initialize();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
453 void LoadPotions();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
454 void LoadPotionNotes();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
455 void GenerateItem(int treasure_level, unsigned int uTreasureType, ItemGen *pItem);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
456 void SetSpecialBonus(ItemGen *pItem);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
457 bool IsMaterialSpecial(ItemGen *pItem);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
458 bool IsMaterialNonCommon(ItemGen *pItem);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
459 void Release();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
460
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
461 int uAllItemsCount;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
462 NZIArray<ItemDesc, 800> pItems; //4-9604h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
463 ItemEnchantment pEnchantments[24]; //9604h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
464 ItemSpecialEnchantment pSpecialEnchantments[72]; //97E4h -9FC4h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
465 char field_9FC4[5000];
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
466 char field_B348[5000];
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
467 char field_C6D0[5000];
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
468 char field_DA58[5000];
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
469 char field_EDE0[384];
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
470 unsigned __int16 potion_data[50][50]; // 77B2h*2=EF64h -102ECh
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
471 unsigned __int16 potion_note[50][50]; // 8176h*2=102ECh -11674h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
472 char *pItemsTXT_Raw; //11674h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
473 char *pRndItemsTXT_Raw;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
474 char *pStdItemsTXT_Raw; //1167Ch
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
475 char *pSpcItemsTXT_Raw; //11680h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
476 unsigned int uChanceByTreasureLvlSumm[6]; //11684
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
477 unsigned int uBonusChanceStandart[6]; //1169c
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
478 unsigned int uBonusChanceSpecial[6]; //116B4
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
479 unsigned int uBonusChanceWpSpecial[6]; //116cc -116e4
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
480 unsigned int pEnchantmentsSumm[9]; //116E4h -11708h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
481 BonusRange bonus_ranges[6]; //45C2h*4 =11708h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
482 unsigned int pSpecialEnchantmentsSumm[24]; //11738h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
483 unsigned int pSpecialEnchantments_count; //11798h
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
484 char field_1179C;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
485 char field_1179D;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
486 char field_1179E;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
487 char field_1179F;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
488 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
489 #pragma pack(pop)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
490
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
491 void GenerateStandartShopItems();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
492 void GenerateSpecialShopItems();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
493 void GenerateItemsInChest();
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
494
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
495 extern std::array<const char, 5> uItemsAmountPerShopType; // weak
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
496 extern ItemGen *ptr_50C9A4_ItemToEnchant;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
497
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
498 extern struct ItemsTable *pItemsTable;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
499
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
500 /*
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
501 +10 to all Resistances. 1
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
502 +10 to all Seven Statistics. 2
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
503 Explosive Impact! 3
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
504 Adds 3-4 points of Cold damage. 4
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
505 Adds 6-8 points of Cold damage. 5
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
506 Adds 9-12 points of Cold damage. 6
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
507 Adds 2-5 points of Electrical damage. 7
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
508 Adds 4-10 points of Electrical damage. 8
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
509 Adds 6-15 points of Electrical damage. 9
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
510 Adds 1-6 points of Fire damage. 10
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
511 Adds 2-12 points of Fire damage. 11
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
512 Adds 3-18 points of Fire damage. 12
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
513 Adds 5 points of Body damage. 13
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
514 Adds 8 points of Body damage. 14
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
515 Adds 12 points of Body damage. 15
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
516 Drain Hit Points from target. 16
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
517 Increases rate of Recovery. 17
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
518 Wearer resistant to Diseases. 18
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
519 Wearer resistant to Insanity. 19
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
520 Wearer resistant to Paralysis. 20
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
521 Wearer resistant to Poison. 21
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
522 Wearer resistant to Sleep. 22
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
523 Wearer resistant to Stone. 23
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
524 Increased Knockback. 24
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
525 +5 Level. 25
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
526 Increases effect of all Air spells. 26
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
527 Increases effect of all Body spells. 27
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
528 Increases effect of all Dark spells. 28
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
529 Increases effect of all Earth spells. 29
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
530 Increases effect of all Fire spells. 30
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
531 Increases effect of all Light spells. 31
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
532 Increases effect of all Mind spells. 32
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
533 Increases effect of all Spirit spells. 33
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
534 Increases effect of all Water spells. 34
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
535 Increases chance of Disarming. 35
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
536 Half damage from all missile attacks. 36
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
537 Regenerate Hit points over time. 37
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
538 Regenerate Spell points over time. 38
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
539 Double damage vs Demons. 39
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
540 Double damage vs Dragons 40
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
541 Drain Hit Points from target and Increased Weapon speed. 41
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
542 +1 to Seven Stats, HP, SP, Armor, Resistances. 42
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
543 +10 to Endurance, Armor, Hit points. 43
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
544 +10 Hit points and Regenerate Hit points over time. 44
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
545 +5 Speed and Accuracy. 45
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
546 Adds 10-20 points of Fire damage and +25 Might. 46
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
547 +10 Spell points and Regenerate Spell points over time. 47
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
548 +15 Endurance and +5 Armor. 48
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
549 +10 Intellect and Luck. 49
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
550 +30 Fire Resistance and Regenerate Hit points over time. 50
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
551 +10 Spell points, Speed, Intellect. 51
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
552 +10 Endurance and Accuracy. 52
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
553 +10 Might and Personality. 53
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
554 +15 Endurance and Regenerate Hit points over time. 54
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
555 +15 Luck and Regenerate Spell points over time. 55
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
556 +5 Might and Endurance. 56
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
557 +5 Intellect and Personality. 57
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
558 Increased Value. 58
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
559 Increased Weapon speed. 59
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
560 +3 Unarmed and Dodging skills. 60
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
561 +3 Stealing and Disarm skills. 61
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
562 +3 ID Item and ID Monster skills. 62
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
563 Double Damage vs. Elves. 63
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
564 Double Damage vs. Undead. 64
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
565 Double Damage vs. Titans. 65
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
566 Regenerate Spell points and Hit points over time. 66
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
567 Adds 5 points of Body damage and +2 Disarm skill. 67
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
568 Adds 6-8 points of Cold damage and +5 Armor Class. 68
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
569 +20 Air Resistance and Shielding. 69
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
570 +10 Water Resistance and +2 Alchemy skill. 70
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
571 Prevents damage from drowning. 71
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
572 Prevents damage from falling. 72
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
573 */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
574
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
575
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
576 /* 391 */
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
577 #pragma pack(push, 1)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
578 struct stru351_summoned_item
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
579 {
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
580 int field_0_expire_second;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
581 int field_4_expire_minute;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
582 int field_8_expire_hour;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
583 int field_C_expire_day;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
584 int field_10_expire_week;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
585 int field_14_exprie_month;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
586 int field_18_expire_year;
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
587 };
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
588 #pragma pack(pop)
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
589
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
590
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
591 int GetItemTextureFilename(char *pOut, signed int item_id, int index, int shoulder);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
592 void FillAviableSkillsToTeach(int _this);
82d5d92a097c for MVS2012
Ritor1
parents:
diff changeset
593 void init_summoned_item(struct stru351_summoned_item *_this, __int64 duration);