fix(Core) : Enable randomProperties or suffix up to 5 (#2340)

This commit is contained in:
Shard
2020-01-23 08:06:05 +01:00
committed by Stoabrogga
parent 59234f8f4b
commit 9f690a3741
9 changed files with 38 additions and 52 deletions

View File

@@ -1131,14 +1131,13 @@ struct ItemLimitCategoryEntry
uint32 mode; // 19, 0 = have, 1 = equip (enum ItemLimitCategoryMode)
};
#define MAX_ITEM_ENCHANTMENT_EFFECTS 3
#define MAX_ITEM_ENCHANTMENT_EFFECTS 5
struct ItemRandomPropertiesEntry
{
uint32 ID; // 0 m_ID
//char* internalName // 1 m_Name
uint32 enchant_id[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 2-4 m_Enchantment
// 5-6 unused
uint32 enchant_id[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 2-6 m_Enchantment
char* nameSuffix[16]; // 7-22 m_name_lang
// 23 name flags
};
@@ -1149,10 +1148,8 @@ struct ItemRandomSuffixEntry
char* nameSuffix[16]; // 1-16 m_name_lang
// 17, name flags
// 18 m_internalName
uint32 enchant_id[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 19-21 m_enchantment
//uint32 unk1[2] // 22-23 unknown
uint32 prefix[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 24-26 m_allocationPct
//uint32 unk2[2] // 27-28 unknown
uint32 enchant_id[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 19-23 m_enchantment
uint32 prefix[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 24-28 m_allocationPct
};
#define MAX_ITEM_SET_ITEMS 10
@@ -1746,23 +1743,25 @@ struct SpellDurationEntry
int32 Duration[3];
};
#define MAX_SPELL_ITEM_ENCHANTMENT_EFFECTS 3
struct SpellItemEnchantmentEntry
{
uint32 ID; // 0 m_ID
uint32 charges; // 1 m_charges
uint32 type[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 2-4 m_effect[MAX_ITEM_ENCHANTMENT_EFFECTS]
uint32 amount[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 5-7 m_effectPointsMin[MAX_ITEM_ENCHANTMENT_EFFECTS]
//uint32 amount2[MAX_ITEM_ENCHANTMENT_EFFECTS] // 8-10 m_effectPointsMax[MAX_ITEM_ENCHANTMENT_EFFECTS]
uint32 spellid[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 11-13 m_effectArg[MAX_ITEM_ENCHANTMENT_EFFECTS]
char* description[16]; // 14-29 m_name_lang[16]
//uint32 descriptionFlags; // 30 name flags
uint32 aura_id; // 31 m_itemVisual
uint32 slot; // 32 m_flags
uint32 GemID; // 33 m_src_itemID
uint32 EnchantmentCondition; // 34 m_condition_id
uint32 requiredSkill; // 35 m_requiredSkillID
uint32 requiredSkillValue; // 36 m_requiredSkillRank
uint32 requiredLevel; // 37 m_requiredLevel
uint32 ID; // 0 m_ID
uint32 charges; // 1 m_charges
uint32 type[MAX_SPELL_ITEM_ENCHANTMENT_EFFECTS]; // 2-4 m_effect[MAX_SPELL_ITEM_ENCHANTMENT_EFFECTS]
uint32 amount[MAX_SPELL_ITEM_ENCHANTMENT_EFFECTS]; // 5-7 m_effectPointsMin[MAX_SPELL_ITEM_ENCHANTMENT_EFFECTS]
//uint32 amount2[MAX_SPELL_ITEM_ENCHANTMENT_EFFECTS] // 8-10 m_effectPointsMax[MAX_SPELL_ITEM_ENCHANTMENT_EFFECTS]
uint32 spellid[MAX_SPELL_ITEM_ENCHANTMENT_EFFECTS]; // 11-13 m_effectArg[MAX_SPELL_ITEM_ENCHANTMENT_EFFECTS]
char* description[16]; // 14-29 m_name_lang[16]
//uint32 descriptionFlags; // 30 name flags
uint32 aura_id; // 31 m_itemVisual
uint32 slot; // 32 m_flags
uint32 GemID; // 33 m_src_itemID
uint32 EnchantmentCondition; // 34 m_condition_id
uint32 requiredSkill; // 35 m_requiredSkillID
uint32 requiredSkillValue; // 36 m_requiredSkillRank
uint32 requiredLevel; // 37 m_requiredLevel
};
struct SpellItemEnchantmentConditionEntry

View File

@@ -61,8 +61,8 @@ char const ItemDisplayTemplateEntryfmt[] = "nxxxxsxxxxxxxxxxxxxxxxxxx";
//char const ItemCondExtCostsEntryfmt[] = "xiii";
char const ItemExtendedCostEntryfmt[] = "niiiiiiiiiiiiiix";
char const ItemLimitCategoryEntryfmt[] = "nxxxxxxxxxxxxxxxxxii";
char const ItemRandomPropertiesfmt[] = "nxiiixxssssssssssssssssx";
char const ItemRandomSuffixfmt[] = "nssssssssssssssssxxiiixxiiixx";
char const ItemRandomPropertiesfmt[] = "nxiiiiissssssssssssssssx";
char const ItemRandomSuffixfmt[] = "nssssssssssssssssxxiiiiiiiiii";
char const ItemSetEntryfmt[] = "dssssssssssssssssxiiiiiiiiiixxxxxxxiiiiiiiiiiiiiiiiii";
char const LFGDungeonEntryfmt[] = "nssssssssssssssssxiiiiiiiiixxixixxxxxxxxxxxxxxxxx";
char const LightEntryfmt[] = "nifffxxxxxxxxxx";