diff Items.h @ 0:9c0607679772

init
author Ritor1
date Sat, 12 Jan 2013 09:45:18 +0600
parents
children 821fd955c379
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Items.h	Sat Jan 12 09:45:18 2013 +0600
@@ -0,0 +1,223 @@
+#pragma once
+
+
+
+
+
+
+/*  338 */
+enum ITEM_FLAGS
+{
+  ITEM_IDENTIFIED = 0x1,
+  ITEM_BROKEN = 0x2,
+  ITEM_TEMP_BONUS = 0x8,
+  ITEM_STOLEN = 0x100,
+  ITEM_ENCHANTED = 0x200,
+};
+
+
+/*  330 */
+enum ITEM_TYPE
+{
+  ITEM_LONGSWORD_1 = 0x1,
+  ITEM_DAGGER_1 = 0xF,
+  ITEM_AXE_1 = 0x17,
+  ITEM_SPEAR_1 = 0x1F,
+  ITEM_CROSSBOW_1 = 0x2F,
+  ITEM_MACE_1 = 0x32,
+  ITEM_STAFF_1 = 0x3D,
+  ITEM_LEATHER_1 = 0x42,
+  ITEM_CHAINMAIL_1 = 0x47,
+  ITEM_PLATE_1 = 0x4C,
+  ITEM_BUCKLER_1 = 0x54,
+  ITEM_GAUNTLETS_1 = 0x6E,
+  ITEM_BOOTS_1 = 0x73,
+  ITEM_WAND_FIRE = 0x87,
+  ITEM_WAND_STUN = 0x8A,
+  ITEM_WAND_INCENERATION = 0x9F,
+  ITEM_TROLL_BLOOD = 0xCA,
+  ITEM_DRAGON_EYE = 0xCC,
+  ITEM_HARPY_FEATHER = 0xCF,
+  ITEM_DEVIL_ICHOR = 0xD6,
+  ITEM_OOZE_ECTOPLASM_BOTTLE = 0xD9,
+  ITEM_POTION_BOTTLE = 0xDC,
+  ITEM_SPELLBOOK_FIRE_STRIKE = 0x191,
+  ITEM_SPELLBOOK_AIR_FEATHER_FALL = 0x19C,
+  ITEM_SPELLBOOK_WATER_POISON_SPRAY = 0x1A7,
+  ITEM_SPELLBOOK_EARTH_SLOW = 0x1B2,
+  ITEM_SPELLBOOK_SPIRIT_BLESS = 0x1BD,
+  ITEM_SPELLBOOK_MIND_MIND_BLAST = 0x1C8,
+  ITEM_SPELLBOOK_BODY_FIRST_AID = 0x1D3,
+  ITEM_SPELLBOOK_BODY_HEAL = 0x1D6,
+  ITEM_SPELLBOOK_BODY_BREAK_POISON = 0x1D7,
+  ITEM_SPELLBOOK_LIGHT_LIGHT_BOLT = 0x1DD,
+  ITEM_SPELLBOOK_LIGHT_SUN_BURST = 0x1E6,
+  ITEM_SPELLBOOK_LIGHT_DIVINE_INTERVENTION = 0x1E7,
+  ITEM_ARTIFACT_PUCK = 0x1F4,
+  ITEM_RELIC_MEKORIGS_HAMMER = 0x210,
+};
+
+/*  331 */
+enum ITEM_EQUIP_TYPE
+{
+  EQUIP_ONE_OR_TWO_HANDS = 0x0,
+  EQUIP_TWO_HANDED = 0x1,
+  EQUIP_BOW = 0x2,
+  EQUIP_ARMOUR = 0x3,
+  EQUIP_SHIELD = 0x4,
+  EQUIP_HELMET = 0x5,
+  EQUIP_BELT = 0x6,
+  EQUIP_CLOAK = 0x7,
+  EQUIP_GAUNTLETS = 0x8,
+  EQUIP_BOOTS = 0x9,
+  EQUIP_RING = 0xA,
+  EQUIP_AMULET = 0xB,
+  EQUIP_C = 0xC,
+  EQUIP_REAGENT = 0xD,
+  EQUIP_POTION = 0xE,
+  EQUIP_F = 0xF,
+  EQUIP_BOOK = 0x10,
+  EQUIP_11 = 0x11,
+  EQUIP_GOLD = 0x12,
+  EQUIP_GEM = 0x13,
+};
+
+
+
+/*   64 */
+#pragma pack(push, 1)
+struct ItemGen
+{
+  //----- (0042EB25) --------------------------------------------------------
+  inline ItemGen()
+  {
+    Reset();
+  }
+
+  bool GenerateArtifact();
+  unsigned int GetValue();
+  const char *GetDisplayName();
+  const char *GetIdentifiedName();
+  void UpdateTempBonus(__int64 uTimePlayed);
+  void Reset();
+  int _439DF3_get_additional_damage(int *a2, int *a3);
+
+
+
+  unsigned int uItemID;
+  int _bonus_type;
+  int _bonus_strength;
+  int uAdditionalValue;
+  int uNumCharges;
+  unsigned int uAttributes;
+  unsigned __int8 uBodyAnchor;
+  char uMaxCharges;
+  char field_1A;
+  char field_1B;
+  unsigned __int64 uExpireTime;
+};
+#pragma pack(pop)
+
+
+
+/*  175 */
+#pragma pack(push, 1)
+struct ItemDesc
+{
+  unsigned int uItemID;
+  char *pIconName;
+  char *pName;
+  char *pUnidentifiedName;
+  char *pDescription;
+  unsigned int uValue;
+  unsigned __int16 uSpriteID;
+  __int16 field_1A;
+  unsigned __int16 uEquipX;
+  unsigned __int16 uEquipY;
+  unsigned __int8 uEquipType;
+  unsigned __int8 uSkillType;
+  unsigned __int8 uDamageDice;
+  unsigned __int8 uDamageRoll;
+  unsigned __int8 uDamageMod;
+  unsigned __int8 uMaterial;
+  char _additional_value;
+  char _bonus_type;
+  char _bonus_strength;
+  char field_29;
+  char field_2A;
+  char field_2B;
+  char field_2C;
+  char field_2D;
+  char field_2E;
+  char field_2F;
+};
+#pragma pack(pop)
+
+
+
+/*  177 */
+#pragma pack(push, 1)
+struct ItemEnchantment
+{
+  char *pName;
+  char *pParam;
+  char field_8[12];
+};
+#pragma pack(pop)
+
+/*  178 */
+#pragma pack(push, 1)
+struct ItemSpecialEnchantment
+{
+  char *pName;
+  char *pParam;
+  char field_8[12];
+  int field_14;
+  int field_18;
+};
+#pragma pack(pop)
+
+
+/*  176 */
+#pragma pack(push, 1)
+struct ItemsTable
+{
+  void Initialize();
+  void LoadPotions();
+  void LoadPotionNotes();
+  void GenerateItem(int a2, int a3, ItemGen *pItem);
+  void SetSpecialBonus(ItemGen *pItem);
+  bool _456D43_is_material_equals_3(ItemGen *pItem);
+  bool _456D5E_is_some_material(ItemGen *pItem);
+  char *Release();
+
+
+  ItemDesc pItems[800];
+  ItemEnchantment pEnchantments[24];
+  ItemSpecialEnchantment pSpecialEnchantments[72];
+  char field_9FC0[5000];
+  char field_B348[5000];
+  char field_C6D0[5000];
+  char field_DA58[5000];
+  char field_EDE0[5000];
+  char field_10168[5000];
+  char field_114F0[388];
+  char *pItemsTXT_Raw;
+  char *pRndItemsTXT_Raw;
+  char *pStdItemsTXT_Raw;
+  char *pSpcItemsTXT_Raw;
+  int field_11684[6];
+  char field_1169C[60];
+  int field_116D8[24];
+  int field_11738[24];
+  int field_11798;
+  char field_1179C;
+};
+#pragma pack(pop)
+
+
+
+
+extern ItemGen *ptr_50C9A4;
+
+extern struct ItemsTable *pItemsTable;
\ No newline at end of file