annotate Items.h @ 2079:ba5cd8a8a0d3

smacker flags
author Gloval
date Thu, 05 Dec 2013 23:31:48 +0400
parents 33787c8938a5
children 52abdea20b9e
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
1202
0dbf6c4dd029 arrays to std::arrays phase 1
Grumpy7
parents: 1113
diff changeset
2 #include <array>
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
3 #include <map>
1708
f8414042db1f Moving NZIArray to a separate class, fixing a few inventory bugs
Grumpy7
parents: 1682
diff changeset
4 #include "NZIArray.h"
0
Ritor1
parents:
diff changeset
5
1036
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
6 enum DAMAGE_TYPE:unsigned int
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
7 {
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
8 DMGT_FIRE = 0,
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
9 DMGT_ELECTR = 1,
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
10 DMGT_COLD = 2,
1559
1f3f01d39300 Player::CanTrainToNextLevel simplified, Player::GetExperienceDisplayColor shortened a bit Player::CalculateIncommingDamage + fixed resistances not working if no resistance bonus (ignored luck bonus)
Grumpy7
parents: 1553
diff changeset
11 DMGT_EARTH = 3,
1036
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
12 DMGT_PHISYCAL= 4,
1966
7840fe323f67 stru319::LootActor(struct Actor *pActor) to Actor::LootActor
Grumpy7
parents: 1783
diff changeset
13 DMGT_MAGICAL = 5,
1036
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
14 DMGT_SPIRIT = 6,
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
15 DMGT_MIND = 7,
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
16 DMGT_BODY = 8,
1966
7840fe323f67 stru319::LootActor(struct Actor *pActor) to Actor::LootActor
Grumpy7
parents: 1783
diff changeset
17 DMGT_LIGHT = 9,
1036
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
18 DMGT_DARK =10
7f8be9f9769e player recieve damage
Gloval
parents: 1019
diff changeset
19 };
0
Ritor1
parents:
diff changeset
20
Ritor1
parents:
diff changeset
21
Ritor1
parents:
diff changeset
22
Ritor1
parents:
diff changeset
23 /* 338 */
463
f7b91ef98ab2 shopgenerators done, except config tables
Gloval
parents: 437
diff changeset
24 enum ITEM_FLAGS :unsigned int
0
Ritor1
parents:
diff changeset
25 {
Ritor1
parents:
diff changeset
26 ITEM_IDENTIFIED = 0x1,
Ritor1
parents:
diff changeset
27 ITEM_BROKEN = 0x2,
Ritor1
parents:
diff changeset
28 ITEM_TEMP_BONUS = 0x8,
1455
bfe342ae0c1f DrawPaperdoll cleaning
Ritor1
parents: 1387
diff changeset
29 ITEM_AURA_EFFECT_RED = 0x10,//16
bfe342ae0c1f DrawPaperdoll cleaning
Ritor1
parents: 1387
diff changeset
30 ITEM_AURA_EFFECT_BLUE = 0x20,//32
bfe342ae0c1f DrawPaperdoll cleaning
Ritor1
parents: 1387
diff changeset
31 ITEM_AURA_EFFECT_GREEN = 0x40,//64
bfe342ae0c1f DrawPaperdoll cleaning
Ritor1
parents: 1387
diff changeset
32 ITEM_AURA_EFFECT_PURPLE = 0x80,//128
0
Ritor1
parents:
diff changeset
33 ITEM_STOLEN = 0x100,
1709
8251e59fd7c1 ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents: 1708
diff changeset
34 ITEM_HARDENED = 0x200,
0
Ritor1
parents:
diff changeset
35 };
Ritor1
parents:
diff changeset
36
Ritor1
parents:
diff changeset
37
377
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
38 enum ITEM_MATERIAL
437
0a1ea44b4a0a ui mesages & spellcasting
Nomad
parents: 385
diff changeset
39 {
377
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
40 MATERIAL_COMMON =0,
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
41 MATERIAL_ARTEFACT = 1,
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
42 MATERIAL_RELIC = 2,
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
43 MATERIAL_SPECIAL = 3
437
0a1ea44b4a0a ui mesages & spellcasting
Nomad
parents: 385
diff changeset
44 };
377
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
45
0
Ritor1
parents:
diff changeset
46 /* 330 */
Ritor1
parents:
diff changeset
47 enum ITEM_TYPE
Ritor1
parents:
diff changeset
48 {
Ritor1
parents:
diff changeset
49 ITEM_LONGSWORD_1 = 0x1,
Ritor1
parents:
diff changeset
50 ITEM_DAGGER_1 = 0xF,
Ritor1
parents:
diff changeset
51 ITEM_AXE_1 = 0x17,
Ritor1
parents:
diff changeset
52 ITEM_SPEAR_1 = 0x1F,
Ritor1
parents:
diff changeset
53 ITEM_CROSSBOW_1 = 0x2F,
Ritor1
parents:
diff changeset
54 ITEM_MACE_1 = 0x32,
Ritor1
parents:
diff changeset
55 ITEM_STAFF_1 = 0x3D,
816
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
56 ITEM_BLASTER = 64,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
57 ITEM_LASER_RIFLE = 65,
0
Ritor1
parents:
diff changeset
58 ITEM_LEATHER_1 = 0x42,
Ritor1
parents:
diff changeset
59 ITEM_CHAINMAIL_1 = 0x47,
Ritor1
parents:
diff changeset
60 ITEM_PLATE_1 = 0x4C,
Ritor1
parents:
diff changeset
61 ITEM_BUCKLER_1 = 0x54,
Ritor1
parents:
diff changeset
62 ITEM_GAUNTLETS_1 = 0x6E,
Ritor1
parents:
diff changeset
63 ITEM_BOOTS_1 = 0x73,
490
Nomad
parents: 463
diff changeset
64 ITEM_WAND_FIRE = 135,
Nomad
parents: 463
diff changeset
65 ITEM_WAND_STUN = 138,
0
Ritor1
parents:
diff changeset
66 ITEM_WAND_INCENERATION = 0x9F,
1575
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
67 ITEM_REAGENT_WIDOWSWEEP_BERRIES = 200,
0
Ritor1
parents:
diff changeset
68 ITEM_TROLL_BLOOD = 0xCA,
Ritor1
parents:
diff changeset
69 ITEM_DRAGON_EYE = 0xCC,
Ritor1
parents:
diff changeset
70 ITEM_HARPY_FEATHER = 0xCF,
Ritor1
parents:
diff changeset
71 ITEM_DEVIL_ICHOR = 0xD6,
Ritor1
parents:
diff changeset
72 ITEM_OOZE_ECTOPLASM_BOTTLE = 0xD9,
1575
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
73 ITEM_REAGENT_PHILOSOPHERS_STONE = 219,
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
74 ITEM_POTION_BOTTLE = 220,
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
75 ITEM_POTION_CATALYST = 221,
1576
e66e0c89d81b More OnInventoryItemRightClick (not finished)
Nomad
parents: 1575
diff changeset
76 ITEM_POTION_CURE_WOUNDS = 222,
e66e0c89d81b More OnInventoryItemRightClick (not finished)
Nomad
parents: 1575
diff changeset
77 ITEM_POTION_CURE_DISEASE = 225,
e66e0c89d81b More OnInventoryItemRightClick (not finished)
Nomad
parents: 1575
diff changeset
78 ITEM_POTION_AWAKEN = 227,
e66e0c89d81b More OnInventoryItemRightClick (not finished)
Nomad
parents: 1575
diff changeset
79 ITEM_POTION_HASTE = 228,
1575
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
80 ITEM_POTION_RECHARGE_ITEM = 233,
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
81 ITEM_POTION_HARDEN_ITEM = 236,
1576
e66e0c89d81b More OnInventoryItemRightClick (not finished)
Nomad
parents: 1575
diff changeset
82 ITEM_POTION_CURE_INSANITY = 239,
e66e0c89d81b More OnInventoryItemRightClick (not finished)
Nomad
parents: 1575
diff changeset
83 ITEM_POTION_MIGHT_BOOST = 240,
1575
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
84 ITEM_POTION_ACCURACY_BOOST = 245,
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
85 ITEM_POTION_FLAMING_POTION = 246,
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
86 ITEM_POTION_SWIFT_POTION = 250,
1576
e66e0c89d81b More OnInventoryItemRightClick (not finished)
Nomad
parents: 1575
diff changeset
87 ITEM_POTION_BODY_RESISTANE = 261,
e66e0c89d81b More OnInventoryItemRightClick (not finished)
Nomad
parents: 1575
diff changeset
88 ITEM_POTION_STONE_TO_FLESH = 262,
1575
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
89 ITEM_POTION_SLAYING_POTION = 263,
43d3536a20f7 OnInventoryItemRightClick
Nomad
parents: 1567
diff changeset
90 ITEM_POTION_REJUVENATION = 271,
1455
bfe342ae0c1f DrawPaperdoll cleaning
Ritor1
parents: 1387
diff changeset
91 ITEM_SPELLBOOK_TORCHLIGHT = 400,//0x190
bfe342ae0c1f DrawPaperdoll cleaning
Ritor1
parents: 1387
diff changeset
92 ITEM_SPELLBOOK_FIRE_STRIKE = 401,//0x191,
0
Ritor1
parents:
diff changeset
93 ITEM_SPELLBOOK_AIR_FEATHER_FALL = 0x19C,
Ritor1
parents:
diff changeset
94 ITEM_SPELLBOOK_WATER_POISON_SPRAY = 0x1A7,
Ritor1
parents:
diff changeset
95 ITEM_SPELLBOOK_EARTH_SLOW = 0x1B2,
Ritor1
parents:
diff changeset
96 ITEM_SPELLBOOK_SPIRIT_BLESS = 0x1BD,
Ritor1
parents:
diff changeset
97 ITEM_SPELLBOOK_MIND_MIND_BLAST = 0x1C8,
Ritor1
parents:
diff changeset
98 ITEM_SPELLBOOK_BODY_FIRST_AID = 0x1D3,
Ritor1
parents:
diff changeset
99 ITEM_SPELLBOOK_BODY_HEAL = 0x1D6,
Ritor1
parents:
diff changeset
100 ITEM_SPELLBOOK_BODY_BREAK_POISON = 0x1D7,
Ritor1
parents:
diff changeset
101 ITEM_SPELLBOOK_LIGHT_LIGHT_BOLT = 0x1DD,
Ritor1
parents:
diff changeset
102 ITEM_SPELLBOOK_LIGHT_SUN_BURST = 0x1E6,
Ritor1
parents:
diff changeset
103 ITEM_SPELLBOOK_LIGHT_DIVINE_INTERVENTION = 0x1E7,
1455
bfe342ae0c1f DrawPaperdoll cleaning
Ritor1
parents: 1387
diff changeset
104 ITEM_ARTIFACT_PUCK = 500,//0x1F4,
1548
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
105 ITEM_ARTIFACT_IRON_FEATHER = 501,
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
106 ITEM_ARTIFACT_WALLACE = 502,
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
107 ITEM_ARTIFACT_CORSAIR = 503,
1648
a4390cef284c DamagePlayerFromMonster starting cleanup
Grumpy7
parents: 1604
diff changeset
108 ITEM_ARTIFACT_GOVERNORS_ARMOR = 504,//1F8
513
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
109 ITEM_ARTIFACT_YORUBA = 505,//1F9
305
cc8e4dc397ec MonsterPopup_Draw crash fix
Nomad
parents: 295
diff changeset
110 ITEM_ARTIFACT_SPLITTER = 506,//1FA
1080
9456f2ed5ff9 getskillbonus continue cleaning
Gloval
parents: 1036
diff changeset
111 ITEM_ARTIFACT_GHOULSBANE = 507,//1FA
1548
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
112 ITEM_ARTIFACT_GIBBET = 508,//1FA
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
113 ITEM_ARTIFACT_CHARELE = 509,//1FA
1080
9456f2ed5ff9 getskillbonus continue cleaning
Gloval
parents: 1036
diff changeset
114 ITEM_ARTEFACT_ULLYSES =510,
1548
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
115 ITEM_ARTEFACT_HANDS_OF_THE_MASTER =511,
513
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
116 ITEM_ARTIFACT_LEAGUE_BOOTS = 512,//200
1548
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
117 ITEM_ARTIFACT_RULERS_RING = 513,
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
118 ITEM_RELIC_MASH = 514,
1358
61010a655c94 a few itemID changed to their enum values + added a few new ones
Grumpy7
parents: 1202
diff changeset
119 ITEM_RELIC_ETHRICS_STAFF = 515,//204
513
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
120 ITEM_RELIC_HARECS_LEATHER = 516,//204
1548
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
121 ITEM_RELIC_OLD_NICK = 517,
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
122 ITEM_RELIC_AMUCK = 518,
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
123 ITEM_RELIC_GLORY_SHIELD = 519,
1080
9456f2ed5ff9 getskillbonus continue cleaning
Gloval
parents: 1036
diff changeset
124 ITEM_RELIC_KELEBRIM = 520,//208
513
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
125 ITEM_RELIC_TALEDONS_HELM = 521,//209
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
126 ITEM_RELIC_SCHOLARS_CAP = 522,//20A
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
127 ITEM_RELIC_PHYNAXIAN_CROWN = 523,//20B
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
128 ITEM_RILIC_TITANS_BELT = 524,//20C
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
129 ITEM_RELIC_TWILIGHT = 525,//20D
1548
2ae7139dde11 added a few artifacts to enum ITEM_TYPE
Grumpy7
parents: 1455
diff changeset
130 ITEM_RELIC_ANIA_SELVING = 526,
1358
61010a655c94 a few itemID changed to their enum values + added a few new ones
Grumpy7
parents: 1202
diff changeset
131 ITEM_RELIC_JUSTICE = 527,
61010a655c94 a few itemID changed to their enum values + added a few new ones
Grumpy7
parents: 1202
diff changeset
132 ITEM_RELIC_MEKORIGS_HAMMER = 528,
831
9c3f28b31b4a Party actions in blv
Nomad
parents: 816
diff changeset
133 ITEM_ARTIFACT_HERMES_SANDALS = 529,
513
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
134 ITEM_ARTIFACT_CLOAK_OF_THE_SHEEP = 530,//212
1358
61010a655c94 a few itemID changed to their enum values + added a few new ones
Grumpy7
parents: 1202
diff changeset
135 ITEM_ARTIFACT_ELFBANE = 531,//212
513
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
136 ITEM_ARTIFACT_MINDS_EYE = 532,//214
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
137 ITEM_ELVEN_CHAINMAIL = 533,//215
1358
61010a655c94 a few itemID changed to their enum values + added a few new ones
Grumpy7
parents: 1202
diff changeset
138 ITEM_FORGE_GAUNTLETS = 534,
831
9c3f28b31b4a Party actions in blv
Nomad
parents: 816
diff changeset
139 ITEM_ARTIFACT_HEROS_BELT = 535,//217
9c3f28b31b4a Party actions in blv
Nomad
parents: 816
diff changeset
140 ITEM_ARTIFACT_LADYS_ESCORT = 536,
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
141 ITEM_RARE_CLANKERS_AMULET = 537,
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
142 ITEM_RARE_LIETENANTS_CUTLASS = 538,
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
143 ITEM_RARE_MEDUSAS_MIRROR = 539,
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
144 ITEM_RARE_LADY_CARMINES_DAGGER = 540,
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
145 ITEM_RARE_VILLAINS_BLADE = 541,
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
146 ITEM_RARE_PERFECT_BOW = 542,
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
147 ITEM_RARE_PERFECT_BOW_FIXED = 543,
513
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
148 ITEM_RARE_SHADOWS_MASK = 544,//220
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
149 ITEM_RARE_GHOST_RING = 545,//220
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
150 ITEM_RARE_FAERIE_RING = 546,//220
513
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
151 ITEM_RARE_SUN_CLOAK = 547,//223
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
152 ITEM_RARE_MOON_CLOAK = 548,//224
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
153 ITEM_RARE_ZOKKARS_AXE = 549,//224
513
3ee1e351e710 Some CharacterUI_LoadPaperdollTextures overflows
Nomad
parents: 490
diff changeset
154 ITEM_RARE_VAMPIRES_CAPE = 550,//226
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
155 ITEM_RARE_MINOTAURS_AXE = 551,//226
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
156 ITEM_RARE_GROGNARDS_CUTLASS = 552,//226
1358
61010a655c94 a few itemID changed to their enum values + added a few new ones
Grumpy7
parents: 1202
diff changeset
157 ITEM_LICH_JAR_FULL = 601,
61010a655c94 a few itemID changed to their enum values + added a few new ones
Grumpy7
parents: 1202
diff changeset
158 ITEM_WETSUIT = 604,
61010a655c94 a few itemID changed to their enum values + added a few new ones
Grumpy7
parents: 1202
diff changeset
159 ITEM_LICH_JAR_EMPTY = 615,
1387
297b6f192232 Player::SelectPhrasesTransaction finished, some constants changed to enum values, removed unused vars
Grumpy7
parents: 1358
diff changeset
160 ITEM_RECIPE_REJUVENATION = 740,
297b6f192232 Player::SelectPhrasesTransaction finished, some constants changed to enum values, removed unused vars
Grumpy7
parents: 1358
diff changeset
161 ITEM_RECIPE_BODY_RESISTANCE = 771,
0
Ritor1
parents:
diff changeset
162 };
Ritor1
parents:
diff changeset
163
Ritor1
parents:
diff changeset
164 /* 331 */
816
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
165 enum ITEM_EQUIP_TYPE: unsigned __int8
0
Ritor1
parents:
diff changeset
166 {
1989
33787c8938a5 Single and Two-handed ENUM
zipi
parents: 1966
diff changeset
167 EQUIP_SINGLE_HANDED = 0,
33787c8938a5 Single and Two-handed ENUM
zipi
parents: 1966
diff changeset
168 EQUIP_TWO_HANDED = 1,
816
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
169 EQUIP_BOW = 2,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
170 EQUIP_ARMOUR = 3,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
171 EQUIP_SHIELD = 4,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
172 EQUIP_HELMET = 5,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
173 EQUIP_BELT = 6,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
174 EQUIP_CLOAK = 7,
1082
Gloval
parents: 1080
diff changeset
175 EQUIP_GAUNTLETS = 8,
Gloval
parents: 1080
diff changeset
176 EQUIP_BOOTS = 9,
816
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
177 EQUIP_RING = 10,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
178 EQUIP_AMULET = 11,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
179 EQUIP_WAND = 12,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
180 EQUIP_REAGENT = 13,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
181 EQUIP_POTION = 14,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
182 EQUIP_SPELL_SCROLL = 15,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
183 EQUIP_BOOK = 16,
1080
9456f2ed5ff9 getskillbonus continue cleaning
Gloval
parents: 1036
diff changeset
184 EQIUP_ANY = 16,
816
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
185 EQUIP_MESSAGE_SCROLL = 17,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
186 EQUIP_GOLD = 18,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
187 EQUIP_GEM = 19,
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
188 EQUIP_NONE = 20
0
Ritor1
parents:
diff changeset
189 };
Ritor1
parents:
diff changeset
190
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
191 enum CHARACTER_ATTRIBUTE_TYPE;
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
192 struct Player;
0
Ritor1
parents:
diff changeset
193
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
194 typedef struct CEnchantment
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
195 {
1783
a3e86ec5d3ce Player.cpp cosmetics
Grumpy7
parents: 1759
diff changeset
196 unsigned __int16 Player::* statPtr;
a3e86ec5d3ce Player.cpp cosmetics
Grumpy7
parents: 1759
diff changeset
197 int statBonus;
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
198 CEnchantment(int bonus, unsigned __int16 Player::* skillPtr = NULL):
1783
a3e86ec5d3ce Player.cpp cosmetics
Grumpy7
parents: 1759
diff changeset
199 statBonus(bonus),
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
200 statPtr(skillPtr)
1783
a3e86ec5d3ce Player.cpp cosmetics
Grumpy7
parents: 1759
diff changeset
201 {
a3e86ec5d3ce Player.cpp cosmetics
Grumpy7
parents: 1759
diff changeset
202 }
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
203 } CEnchantment;
0
Ritor1
parents:
diff changeset
204
Ritor1
parents:
diff changeset
205 /* 64 */
Ritor1
parents:
diff changeset
206 #pragma pack(push, 1)
526
214d9d47cf1f Chest working, but items are not laid correctly
Gloval
parents: 513
diff changeset
207 struct ItemGen //0x24
0
Ritor1
parents:
diff changeset
208 {
Ritor1
parents:
diff changeset
209 //----- (0042EB25) --------------------------------------------------------
1012
9e823ad5eaa6 second msg_queue returned
Gloval
parents: 984
diff changeset
210 // inline ItemGen()
9e823ad5eaa6 second msg_queue returned
Gloval
parents: 984
diff changeset
211 // {
9e823ad5eaa6 second msg_queue returned
Gloval
parents: 984
diff changeset
212 // Reset();
9e823ad5eaa6 second msg_queue returned
Gloval
parents: 984
diff changeset
213 // }
1604
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
214 static void AddToMap(std::map<int, std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* > &maptoadd,
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
215 int enchId,
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
216 CHARACTER_ATTRIBUTE_TYPE attrId,
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
217 int bonusValue = 0,
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
218 unsigned __int16 Player::* skillPtr = NULL);
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
219
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
220 static std::map<int, std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* > regularBonusMap;
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
221 static std::map<int, std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* > specialBonusMap;
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
222 static std::map<int, std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* > artifactBonusMap;
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
223
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
224 static void PopulateSpecialBonusMap();
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
225 static void PopulateRegularBonusMap();
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
226 static void PopulateArtifactBonusMap();
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
227
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
228 void GetItemBonusSpecialEnchantment(Player* owner, CHARACTER_ATTRIBUTE_TYPE attrToGet, int* additiveBonus, int* halfSkillBonus);
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
229 void GetItemBonusArtifact(Player* owner, CHARACTER_ATTRIBUTE_TYPE attrToGet, int* bonusSum);
4b79ff62df3a Moved enchantment attribute bonus list to items.cpp/h, created static function that create the enchantments + helper functions to get the enchantment strength, moved the whole logic of Player::GetItemsBonus to a case
Grumpy7
parents: 1603
diff changeset
230 bool IsRegularEnchanmentForAttribute(CHARACTER_ATTRIBUTE_TYPE attrToGet);
0
Ritor1
parents:
diff changeset
231
1567
9f8b3e904e14 Player::ReceiveDamage, very small edits; prepended "Is" to item functions returning bool values (broken, indetified, stolen)
Grumpy7
parents: 1559
diff changeset
232 inline bool IsBroken() {return (uAttributes & ITEM_BROKEN) != 0;}
9f8b3e904e14 Player::ReceiveDamage, very small edits; prepended "Is" to item functions returning bool values (broken, indetified, stolen)
Grumpy7
parents: 1559
diff changeset
233 inline void SetBroken() {uAttributes |= ITEM_BROKEN;}
9f8b3e904e14 Player::ReceiveDamage, very small edits; prepended "Is" to item functions returning bool values (broken, indetified, stolen)
Grumpy7
parents: 1559
diff changeset
234 inline bool IsIdentified() {return (uAttributes & ITEM_IDENTIFIED) != 0;}
315
2a09e1d6fc8f Some 0041D895 GameUI_DrawItemInfo overhaul
Nomad
parents: 305
diff changeset
235 inline void SetIdentified() {uAttributes |= ITEM_IDENTIFIED;}
1567
9f8b3e904e14 Player::ReceiveDamage, very small edits; prepended "Is" to item functions returning bool values (broken, indetified, stolen)
Grumpy7
parents: 1559
diff changeset
236 inline bool IsStolen() {return (uAttributes & ITEM_STOLEN) != 0;}
749
f39fbeb65b28 Fixed bought items not disappearing from Armourer.
Nomad
parents: 598
diff changeset
237 inline void SetStolen() {uAttributes |= ITEM_STOLEN;}
271
1f0af5cac2dd _42ECB5_PlayerAttacksActor
Nomad
parents: 230
diff changeset
238
0
Ritor1
parents:
diff changeset
239 bool GenerateArtifact();
Ritor1
parents:
diff changeset
240 unsigned int GetValue();
Ritor1
parents:
diff changeset
241 const char *GetDisplayName();
Ritor1
parents:
diff changeset
242 const char *GetIdentifiedName();
Ritor1
parents:
diff changeset
243 void UpdateTempBonus(__int64 uTimePlayed);
Ritor1
parents:
diff changeset
244 void Reset();
385
b509ef97807a additional dmg
Gloval
parents: 377
diff changeset
245 int _439DF3_get_additional_damage(int *a2, bool *vampiyr);
0
Ritor1
parents:
diff changeset
246
1709
8251e59fd7c1 ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents: 1708
diff changeset
247 ITEM_EQUIP_TYPE GetItemEquipType();
8251e59fd7c1 ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents: 1708
diff changeset
248 unsigned char GetPlayerSkillType();
8251e59fd7c1 ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents: 1708
diff changeset
249 char* GetIconName();
8251e59fd7c1 ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents: 1708
diff changeset
250 unsigned __int8 GetDamageDice();
8251e59fd7c1 ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents: 1708
diff changeset
251 unsigned __int8 GetDamageRoll();
8251e59fd7c1 ITEM_ENCHANTED to ITEM_HARDENED, created helper functions to get params from itemtable for ItemGens
Grumpy7
parents: 1708
diff changeset
252 unsigned __int8 GetDamageMod();
0
Ritor1
parents:
diff changeset
253
1019
32ec62bbaa2c player use item part cleanup
Gloval
parents: 1012
diff changeset
254 int uItemID; //0
32ec62bbaa2c player use item part cleanup
Gloval
parents: 1012
diff changeset
255 int uEnchantmentType; //4
1599
bb2378f58767 Player::GetItemsBonus removed majority of labels
Grumpy7
parents: 1567
diff changeset
256 int m_enchantmentStrength; //8
1019
32ec62bbaa2c player use item part cleanup
Gloval
parents: 1012
diff changeset
257 int uSpecEnchantmentType; // 25 +5 levels //0c
816
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
258 // 16 Drain Hit Points from target.
1553
b98812ead5d9 Get(skillname) functions cleaned up, using GetMultiplierForSkillLevel instead of nested conditions
Grumpy7
parents: 1548
diff changeset
259 // 35 Increases chance of disarming.
816
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
260 // 39 Double damage vs Demons.
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
261 // 40 Double damage vs Dragons
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
262 // 45 +5 Speed and Accuracy
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
263 // 56 +5 Might and Endurance.
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
264 // 57 +5 Intellect and Personality.
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
265 // 58 Increased Value.
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
266 // 60 +3 Unarmed and Dodging skills
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
267 // 61 +3 Stealing and Disarm skills.
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
268 // 59 Increased Weapon speed.
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
269 // 63 Double Damage vs. Elves.
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
270 // 64 Double Damage vs. Undead.
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
271 // 67 Adds 5 points of Body damage and +2 Disarm skill.
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
272 // 68 Adds 6-8 points of Cold damage and +5 Armor Class.
831
9c3f28b31b4a Party actions in blv
Nomad
parents: 816
diff changeset
273 // 71 Prevents drowning damage.
9c3f28b31b4a Party actions in blv
Nomad
parents: 816
diff changeset
274 // 72 Prevents falling damage.
1019
32ec62bbaa2c player use item part cleanup
Gloval
parents: 1012
diff changeset
275 int uNumCharges; //10
32ec62bbaa2c player use item part cleanup
Gloval
parents: 1012
diff changeset
276 unsigned int uAttributes; //14
1759
845a6503f55c fixing some itemarray zero accesses
Grumpy7
parents: 1709
diff changeset
277 unsigned __int8 uBodyAnchor; //18
845a6503f55c fixing some itemarray zero accesses
Grumpy7
parents: 1709
diff changeset
278 char uMaxCharges; //19
845a6503f55c fixing some itemarray zero accesses
Grumpy7
parents: 1709
diff changeset
279 char uHolderPlayer; //1A
845a6503f55c fixing some itemarray zero accesses
Grumpy7
parents: 1709
diff changeset
280 char field_1B; //1B
845a6503f55c fixing some itemarray zero accesses
Grumpy7
parents: 1709
diff changeset
281 unsigned __int64 uExpireTime; //1C
0
Ritor1
parents:
diff changeset
282 };
Ritor1
parents:
diff changeset
283 #pragma pack(pop)
Ritor1
parents:
diff changeset
284
Ritor1
parents:
diff changeset
285
Ritor1
parents:
diff changeset
286
Ritor1
parents:
diff changeset
287 /* 175 */
Ritor1
parents:
diff changeset
288 #pragma pack(push, 1)
559
09108e73f2f4 item gen fixes (not full)
Gloval
parents: 526
diff changeset
289 struct ItemDesc //30h
229
Gloval
parents: 224
diff changeset
290 { //Item # |Pic File|Name|Value|Equip Stat|Skill Group|Mod1|Mod2|material|
Gloval
parents: 224
diff changeset
291 ///ID/Rep/St|Not identified name|Sprite Index|VarA|VarB|Equip X|Equip Y|Notes
Gloval
parents: 224
diff changeset
292 char *pIconName; //0 4
Gloval
parents: 224
diff changeset
293 char *pName; //4 8
Gloval
parents: 224
diff changeset
294 char *pUnidentifiedName; //8 c
Gloval
parents: 224
diff changeset
295 char *pDescription; //0c 10
Gloval
parents: 224
diff changeset
296 unsigned int uValue; //10 14
Gloval
parents: 224
diff changeset
297 unsigned __int16 uSpriteID; //14 18
Gloval
parents: 224
diff changeset
298 __int16 field_1A; //16
365
0f35f908547f fixed missing dagger
Gloval
parents: 315
diff changeset
299 signed __int16 uEquipX; //18 1c
0f35f908547f fixed missing dagger
Gloval
parents: 315
diff changeset
300 signed __int16 uEquipY; //1a 1e
816
cfc65feef029 * Player Recovery Times
Nomad
parents: 749
diff changeset
301 ITEM_EQUIP_TYPE uEquipType; //1c 20
229
Gloval
parents: 224
diff changeset
302 unsigned __int8 uSkillType; //1d 21
Gloval
parents: 224
diff changeset
303 unsigned __int8 uDamageDice; //1e 22
Gloval
parents: 224
diff changeset
304 unsigned __int8 uDamageRoll; //1f 23
Gloval
parents: 224
diff changeset
305 unsigned __int8 uDamageMod; //20 24
Gloval
parents: 224
diff changeset
306 unsigned __int8 uMaterial; //21 25
Gloval
parents: 224
diff changeset
307 char _additional_value; //22 26
Gloval
parents: 224
diff changeset
308 char _bonus_type; //23 27
Gloval
parents: 224
diff changeset
309 char _bonus_strength; //24 28
Gloval
parents: 224
diff changeset
310 char field_25; // 25 29
Gloval
parents: 224
diff changeset
311 char field_26; //26 2A
Gloval
parents: 224
diff changeset
312 char field_27; // 27 2b
Gloval
parents: 224
diff changeset
313 union
315
2a09e1d6fc8f Some 0041D895 GameUI_DrawItemInfo overhaul
Nomad
parents: 305
diff changeset
314 {
229
Gloval
parents: 224
diff changeset
315 unsigned __int8 uChanceByTreasureLvl[6];
Gloval
parents: 224
diff changeset
316 struct {
Gloval
parents: 224
diff changeset
317 unsigned __int8 uChanceByTreasureLvl1; // 28 2c
Gloval
parents: 224
diff changeset
318 unsigned __int8 uChanceByTreasureLvl2; // 29 2d
Gloval
parents: 224
diff changeset
319 unsigned __int8 uChanceByTreasureLvl3; // 2A 2e
Gloval
parents: 224
diff changeset
320 unsigned __int8 uChanceByTreasureLvl4; // 2B 2f
Gloval
parents: 224
diff changeset
321 unsigned __int8 uChanceByTreasureLvl5; // 2C 30
Gloval
parents: 224
diff changeset
322 unsigned __int8 uChanceByTreasureLvl6; // 2D 32
Gloval
parents: 224
diff changeset
323 };
315
2a09e1d6fc8f Some 0041D895 GameUI_DrawItemInfo overhaul
Nomad
parents: 305
diff changeset
324 };
2a09e1d6fc8f Some 0041D895 GameUI_DrawItemInfo overhaul
Nomad
parents: 305
diff changeset
325 unsigned char uItemID_Rep_St; //2e 32
2a09e1d6fc8f Some 0041D895 GameUI_DrawItemInfo overhaul
Nomad
parents: 305
diff changeset
326 char field_2f;
2a09e1d6fc8f Some 0041D895 GameUI_DrawItemInfo overhaul
Nomad
parents: 305
diff changeset
327 };
0
Ritor1
parents:
diff changeset
328 #pragma pack(pop)
Ritor1
parents:
diff changeset
329
Ritor1
parents:
diff changeset
330
Ritor1
parents:
diff changeset
331
Ritor1
parents:
diff changeset
332 /* 177 */
Ritor1
parents:
diff changeset
333 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
334 struct ItemEnchantment
222
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
335 { //Bonus|Sta|Of Name|Arm|Shld|Helm|Belt|Cape|Gaunt|Boot|Ring|Amul
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
336 char *pBonusStat;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
337 char *pOfName;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
338 /* union{
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
339 struct {
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
340 unsigned char to_arm;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
341 unsigned char to_shld;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
342 unsigned char to_helm;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
343 unsigned char to_belt;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
344 unsigned char to_cape;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
345 unsigned char to_gaunt;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
346 unsigned char to_boot;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
347 unsigned char to_ring;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
348 unsigned char to_amul;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
349 }; */
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
350 unsigned char to_item[12];
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
351 // };
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
352 };
0
Ritor1
parents:
diff changeset
353 #pragma pack(pop)
Ritor1
parents:
diff changeset
354
Ritor1
parents:
diff changeset
355 /* 178 */
Ritor1
parents:
diff changeset
356 #pragma pack(push, 1)
559
09108e73f2f4 item gen fixes (not full)
Gloval
parents: 526
diff changeset
357 struct ItemSpecialEnchantment //1Ch
222
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
358 { //Bonus Stat|Name Add|W1|W2|Miss|Arm|Shld|Helm|Belt|Cape|Gaunt|Boot|Ring|Amul|Value|Lvl|Description fo special Bonuses and values
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
359
559
09108e73f2f4 item gen fixes (not full)
Gloval
parents: 526
diff changeset
360 char *pBonusStatement; //0
09108e73f2f4 item gen fixes (not full)
Gloval
parents: 526
diff changeset
361 char *pNameAdd; //4
09108e73f2f4 item gen fixes (not full)
Gloval
parents: 526
diff changeset
362 char to_item_apply[12]; //8
09108e73f2f4 item gen fixes (not full)
Gloval
parents: 526
diff changeset
363 int iValue; //14
09108e73f2f4 item gen fixes (not full)
Gloval
parents: 526
diff changeset
364 int iTreasureLevel; //18
0
Ritor1
parents:
diff changeset
365 };
Ritor1
parents:
diff changeset
366 #pragma pack(pop)
Ritor1
parents:
diff changeset
367
222
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
368 #pragma pack(push, 1)
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
369 struct BonusRange
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
370 {
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
371 unsigned int minR;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
372 unsigned int maxR;
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
373 };
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
374 #pragma pack(pop)
193
821fd955c379 fixed potion data parsing. Somehow 3d render was affected
Gloval
parents: 0
diff changeset
375
0
Ritor1
parents:
diff changeset
376 /* 176 */
Ritor1
parents:
diff changeset
377 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
378 struct ItemsTable
Ritor1
parents:
diff changeset
379 {
Ritor1
parents:
diff changeset
380 void Initialize();
Ritor1
parents:
diff changeset
381 void LoadPotions();
Ritor1
parents:
diff changeset
382 void LoadPotionNotes();
385
b509ef97807a additional dmg
Gloval
parents: 377
diff changeset
383 void GenerateItem(int treasure_level, unsigned int uTreasureType, ItemGen *pItem);
0
Ritor1
parents:
diff changeset
384 void SetSpecialBonus(ItemGen *pItem);
377
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
385 bool IsMaterialSpecial(ItemGen *pItem);
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
386 bool IsMaterialNonCommon(ItemGen *pItem);
374
Gloval
parents: 365
diff changeset
387 void Release();
0
Ritor1
parents:
diff changeset
388
222
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
389 int uAllItemsCount;
1708
f8414042db1f Moving NZIArray to a separate class, fixing a few inventory bugs
Grumpy7
parents: 1682
diff changeset
390 NZIArray<ItemDesc, 800> pItems; //4-9604h
222
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
391 ItemEnchantment pEnchantments[24]; //9604h
229
Gloval
parents: 224
diff changeset
392 ItemSpecialEnchantment pSpecialEnchantments[72]; //97E4h -9FC4h
224
9917d3b4925e items init refactored
Gloval
parents: 223
diff changeset
393 char field_9FC4[5000];
0
Ritor1
parents:
diff changeset
394 char field_B348[5000];
Ritor1
parents:
diff changeset
395 char field_C6D0[5000];
Ritor1
parents:
diff changeset
396 char field_DA58[5000];
229
Gloval
parents: 224
diff changeset
397 char field_EDE0[384];
222
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
398 unsigned __int16 potion_data[50][50]; // 77B2h*2=EF64h -102ECh
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
399 unsigned __int16 potion_note[50][50]; // 8176h*2=102ECh -11674h
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
400 char *pItemsTXT_Raw; //11674h
0
Ritor1
parents:
diff changeset
401 char *pRndItemsTXT_Raw;
222
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
402 char *pStdItemsTXT_Raw; //1167Ch
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
403 char *pSpcItemsTXT_Raw; //11680h
224
9917d3b4925e items init refactored
Gloval
parents: 223
diff changeset
404 unsigned int uChanceByTreasureLvlSumm[6]; //11684
9917d3b4925e items init refactored
Gloval
parents: 223
diff changeset
405 unsigned int uBonusChanceStandart[6]; //1169c
9917d3b4925e items init refactored
Gloval
parents: 223
diff changeset
406 unsigned int uBonusChanceSpecial[6]; //116B4
9917d3b4925e items init refactored
Gloval
parents: 223
diff changeset
407 unsigned int uBonusChanceWpSpecial[6]; //116cc -116e4
222
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
408 unsigned int pEnchantmentsSumm[9]; //116E4h -11708h
8113753ed2ae more item init fixing
Gloval
parents: 193
diff changeset
409 BonusRange bonus_ranges[6]; //45C2h*4 =11708h
224
9917d3b4925e items init refactored
Gloval
parents: 223
diff changeset
410 unsigned int pSpecialEnchantmentsSumm[24]; //11738h
9917d3b4925e items init refactored
Gloval
parents: 223
diff changeset
411 unsigned int pSpecialEnchantments_count; //11798h
0
Ritor1
parents:
diff changeset
412 char field_1179C;
315
2a09e1d6fc8f Some 0041D895 GameUI_DrawItemInfo overhaul
Nomad
parents: 305
diff changeset
413 char field_1179D;
2a09e1d6fc8f Some 0041D895 GameUI_DrawItemInfo overhaul
Nomad
parents: 305
diff changeset
414 char field_1179E;
2a09e1d6fc8f Some 0041D895 GameUI_DrawItemInfo overhaul
Nomad
parents: 305
diff changeset
415 char field_1179F;
0
Ritor1
parents:
diff changeset
416 };
Ritor1
parents:
diff changeset
417 #pragma pack(pop)
Ritor1
parents:
diff changeset
418
463
f7b91ef98ab2 shopgenerators done, except config tables
Gloval
parents: 437
diff changeset
419 void GenerateStandartShopItems();
f7b91ef98ab2 shopgenerators done, except config tables
Gloval
parents: 437
diff changeset
420 void GenerateSpecialShopItems();
598
f8a4a2e0b4c9 fixed random iten generator, chest generator
Gloval
parents: 570
diff changeset
421 void GenerateItemsInChest();
0
Ritor1
parents:
diff changeset
422
1202
0dbf6c4dd029 arrays to std::arrays phase 1
Grumpy7
parents: 1113
diff changeset
423 extern std::array<const char, 5> uItemsAmountPerShopType; // weak
1682
3c451fd02fcf OnInventoryLeftClick cleanup
Grumpy7
parents: 1648
diff changeset
424 extern ItemGen *ptr_50C9A4_ItemToEnchant;
0
Ritor1
parents:
diff changeset
425
377
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
426 extern struct ItemsTable *pItemsTable;
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
427
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
428 /*
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
429 +10 to all Resistances. 1
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
430 +10 to all Seven Statistics. 2
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
431 Explosive Impact! 3
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
432 Adds 3-4 points of Cold damage. 4
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
433 Adds 6-8 points of Cold damage. 5
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
434 Adds 9-12 points of Cold damage. 6
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
435 Adds 2-5 points of Electrical damage. 7
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
436 Adds 4-10 points of Electrical damage. 8
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
437 Adds 6-15 points of Electrical damage. 9
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
438 Adds 1-6 points of Fire damage. 10
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
439 Adds 2-12 points of Fire damage. 11
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
440 Adds 3-18 points of Fire damage. 12
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
441 Adds 5 points of Body damage. 13
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
442 Adds 8 points of Body damage. 14
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
443 Adds 12 points of Body damage. 15
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
444 Drain Hit Points from target. 16
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
445 Increases rate of Recovery. 17
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
446 Wearer resistant to Diseases. 18
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
447 Wearer resistant to Insanity. 19
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
448 Wearer resistant to Paralysis. 20
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
449 Wearer resistant to Poison. 21
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
450 Wearer resistant to Sleep. 22
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
451 Wearer resistant to Stone. 23
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
452 Increased Knockback. 24
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
453 +5 Level. 25
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
454 Increases effect of all Air spells. 26
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
455 Increases effect of all Body spells. 27
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
456 Increases effect of all Dark spells. 28
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
457 Increases effect of all Earth spells. 29
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
458 Increases effect of all Fire spells. 30
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
459 Increases effect of all Light spells. 31
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
460 Increases effect of all Mind spells. 32
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
461 Increases effect of all Spirit spells. 33
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
462 Increases effect of all Water spells. 34
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
463 Increases chance of Disarming. 35
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
464 Half damage from all missile attacks. 36
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
465 Regenerate Hit points over time. 37
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
466 Regenerate Spell points over time. 38
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
467 Double damage vs Demons. 39
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
468 Double damage vs Dragons 40
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
469 Drain Hit Points from target and Increased Weapon speed. 41
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
470 +1 to Seven Stats, HP, SP, Armor, Resistances. 42
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
471 +10 to Endurance, Armor, Hit points. 43
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
472 +10 Hit points and Regenerate Hit points over time. 44
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
473 +5 Speed and Accuracy. 45
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
474 Adds 10-20 points of Fire damage and +25 Might. 46
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
475 +10 Spell points and Regenerate Spell points over time. 47
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
476 +15 Endurance and +5 Armor. 48
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
477 +10 Intellect and Luck. 49
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
478 +30 Fire Resistance and Regenerate Hit points over time. 50
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
479 +10 Spell points, Speed, Intellect. 51
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
480 +10 Endurance and Accuracy. 52
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
481 +10 Might and Personality. 53
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
482 +15 Endurance and Regenerate Hit points over time. 54
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
483 +15 Luck and Regenerate Spell points over time. 55
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
484 +5 Might and Endurance. 56
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
485 +5 Intellect and Personality. 57
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
486 Increased Value. 58
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
487 Increased Weapon speed. 59
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
488 +3 Unarmed and Dodging skills. 60
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
489 +3 Stealing and Disarm skills. 61
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
490 +3 ID Item and ID Monster skills. 62
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
491 Double Damage vs. Elves. 63
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
492 Double Damage vs. Undead. 64
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
493 Double Damage vs. Titans. 65
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
494 Regenerate Spell points and Hit points over time. 66
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
495 Adds 5 points of Body damage and +2 Disarm skill. 67
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
496 Adds 6-8 points of Cold damage and +5 Armor Class. 68
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
497 +20 Air Resistance and Shielding. 69
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
498 +10 Water Resistance and +2 Alchemy skill. 70
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
499 Prevents damage from drowning. 71
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
500 Prevents damage from falling. 72
939
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
501 */
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
502
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
503
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
504 /* 391 */
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
505 #pragma pack(push, 1)
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
506 struct stru351_summoned_item
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
507 {
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
508 int field_0_expire_second;
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
509 int field_4_expire_minute;
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
510 int field_8_expire_hour;
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
511 int field_C_expire_day;
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
512 int field_10_expire_week;
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
513 int field_14_exprie_month;
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
514 int field_18_expire_year;
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
515 };
9be9afdbeac3 stru351 moved
Nomad
parents: 831
diff changeset
516 #pragma pack(pop)