* Core switch to client 3.3.2 (11403)
* Credits (in no particular order) to: * n0n4m3, raczman, manuel, Spp, Malcrom, Teacher, QAston, Tartalo, * thenecromancer, Xanadu, Trazom, Zor, kiper * Additional credits to: * TOM_RUS and NoFantasy from MaNGOS * Thanks for testing Aokromes and XTElite1 * SoTA still needs some work, but is very playable (huge thanks to raczman and * kiper) * To upgrade, you need to apply all SQL from sql/updates/3.2.2a_old from the * last rev you are on * and then apply all SQL from sql/updates/3.3.2_old to char / realmd / world * DBs * Known problem with guild banks. --HG-- branch : trunk
This commit is contained in:
+90
-38
@@ -595,16 +595,13 @@ struct BattlemasterListEntry
|
||||
uint32 id; // 0
|
||||
int32 mapid[8]; // 1-8 mapid
|
||||
uint32 type; // 9 (3 - BG, 4 - arena)
|
||||
uint32 minlvl; // 10
|
||||
uint32 maxlvl; // 11
|
||||
uint32 maxplayersperteam; // 12
|
||||
// 13 minplayers
|
||||
// 14 0 or 9
|
||||
// 15
|
||||
char* name[16]; // 16-31
|
||||
// 32 string flag, unused
|
||||
// 33 unused
|
||||
//uint32 unk; // 34 new 3.1
|
||||
uint32 maxplayersperteam; // 10
|
||||
//uint32 unk1; // 11 (0 or 1)
|
||||
char* name[16]; // 12-27
|
||||
// 28 string flag, unused
|
||||
// 29 unused
|
||||
//uint32 unk2; // 30 new 3.1
|
||||
|
||||
};
|
||||
|
||||
#define MAX_OUTFIT_ITEMS 24
|
||||
@@ -812,10 +809,14 @@ struct FactionEntry
|
||||
int32 BaseRepValue[4]; // 10-13 m_reputationBase
|
||||
uint32 ReputationFlags[4]; // 14-17 m_reputationFlags
|
||||
uint32 team; // 18 m_parentFactionID
|
||||
char* name[16]; // 19-34 m_name_lang
|
||||
// 35 string flags
|
||||
//char* description[16]; // 36-51 m_description_lang
|
||||
// 52 string flags
|
||||
//float unk1; // 19
|
||||
//float unk2; // 20
|
||||
//uint32 unk3 // 21
|
||||
//uint32 unk4; // 22
|
||||
char* name[16]; // 23-38 m_name_lang
|
||||
// 39 string flags
|
||||
//char* description[16]; // 40-55 m_description_lang
|
||||
// 56 string flags
|
||||
};
|
||||
|
||||
struct FactionTemplateEntry
|
||||
@@ -1114,23 +1115,24 @@ struct MapEntry
|
||||
uint32 MapID; // 0
|
||||
//char* internalname; // 1 unused
|
||||
uint32 map_type; // 2
|
||||
// 3 0 or 1 for battlegrounds (not arenas)
|
||||
char* name[16]; // 4-19
|
||||
// 20 name flags, unused
|
||||
uint32 linked_zone; // 21 common zone for instance and continent map
|
||||
//char* hordeIntro[16]; // 23-37 text for PvP Zones
|
||||
// 38 intro text flags
|
||||
//char* allianceIntro[16]; // 39-54 text for PvP Zones
|
||||
// 55 intro text flags
|
||||
uint32 multimap_id; // 56
|
||||
// 57
|
||||
int32 entrance_map; // 58 map_id of entrance map
|
||||
float entrance_x; // 59 entrance x coordinate (if exist single entry)
|
||||
float entrance_y; // 60 entrance y coordinate (if exist single entry)
|
||||
// 61 -1, 0 and 720
|
||||
uint32 addon; // 62 (0-original maps,1-tbc addon)
|
||||
uint32 unk_time; // 63 some kind of time? - for pre-bc raids
|
||||
//uint32 maxPlayers; // 64 max players
|
||||
//uint32 unk_330; // 3
|
||||
// 4 0 or 1 for battlegrounds (not arenas)
|
||||
char* name[16]; // 5-20
|
||||
// 21 name flags, unused
|
||||
uint32 linked_zone; // 22 common zone for instance and continent map
|
||||
//char* hordeIntro[16]; // 23-38 text for PvP Zones
|
||||
// 39 intro text flags
|
||||
//char* allianceIntro[16]; // 40-55 text for PvP Zones
|
||||
// 56 intro text flags
|
||||
uint32 multimap_id; // 57
|
||||
// 58
|
||||
int32 entrance_map; // 59 map_id of entrance map
|
||||
float entrance_x; // 60 entrance x coordinate (if exist single entry)
|
||||
float entrance_y; // 61 entrance y coordinate (if exist single entry)
|
||||
// 62 -1, 0 and 720
|
||||
uint32 addon; // 63 (0-original maps,1-tbc addon)
|
||||
uint32 unk_time; // 64 some kind of time?
|
||||
//uint32 maxPlayers; // 65 max players
|
||||
|
||||
// Helpers
|
||||
uint32 Expansion() const { return addon; }
|
||||
@@ -1195,6 +1197,18 @@ struct QuestSortEntry
|
||||
// 17 name flags
|
||||
};
|
||||
|
||||
struct QuestXPEntry
|
||||
{
|
||||
uint32 id;
|
||||
uint32 Exp[10];
|
||||
};
|
||||
|
||||
struct QuestFactionRewEntry
|
||||
{
|
||||
uint32 id;
|
||||
int32 QuestRewFactionValue[10];
|
||||
};
|
||||
|
||||
struct RandomPropertiesPointsEntry
|
||||
{
|
||||
//uint32 Id; // 0 hidden key
|
||||
@@ -1221,19 +1235,20 @@ struct ScalingStatValuesEntry
|
||||
uint32 dpsMod[6]; // 10-15 DPS mod for level
|
||||
uint32 spellBonus; // 16 spell power for level
|
||||
uint32 ssdMultiplier2; // 17 there's data from 3.1 dbc ssdMultiplier[3]
|
||||
//uint32 unk1; // 18 all fields equal to 0
|
||||
//uint32 unk2; // 19 unk, probably also Armor for level
|
||||
uint32 ssdMultiplier3; // 18 3.3
|
||||
//uint32 unk2; // 19 unk, probably also Armor for level (flag 0x80000?)
|
||||
uint32 armorMod2[4]; // 20-23 Armor for level
|
||||
|
||||
uint32 getssdMultiplier(uint32 mask) const
|
||||
{
|
||||
if (mask & 0x001F)
|
||||
if (mask & 0x4001F)
|
||||
{
|
||||
if(mask & 0x00000001) return ssdMultiplier[0];
|
||||
if(mask & 0x00000002) return ssdMultiplier[1];
|
||||
if(mask & 0x00000004) return ssdMultiplier[2];
|
||||
if(mask & 0x00000008) return ssdMultiplier2;
|
||||
if(mask & 0x00000010) return ssdMultiplier[3];
|
||||
if(mask & 0x00040000) return ssdMultiplier3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1407,7 +1422,7 @@ struct SpellEntry
|
||||
//uint32 modalNextSpell; // 48 m_modalNextSpell not used
|
||||
uint32 StackAmount; // 49 m_cumulativeAura
|
||||
uint32 Totem[2]; // 50-51 m_totem
|
||||
int32 Reagent[8]; // 50-59 m_reagent
|
||||
int32 Reagent[8]; // 52-59 m_reagent
|
||||
uint32 ReagentCount[8]; // 60-67 m_reagentCount
|
||||
int32 EquippedItemClass; // 68 m_equippedItemClass (value)
|
||||
int32 EquippedItemSubClassMask; // 69 m_equippedItemSubclass (mask)
|
||||
@@ -1421,8 +1436,8 @@ struct SpellEntry
|
||||
uint32 EffectMechanic[MAX_SPELL_EFFECTS]; // 89-91 m_effectMechanic
|
||||
uint32 EffectImplicitTargetA[MAX_SPELL_EFFECTS]; // 92-94 m_implicitTargetA
|
||||
uint32 EffectImplicitTargetB[MAX_SPELL_EFFECTS]; // 95-97 m_implicitTargetB
|
||||
uint32 EffectRadiusIndex[MAX_SPELL_EFFECTS]; // 98-100 m_effectRadiusIndex - spellradius.dbc
|
||||
uint32 EffectApplyAuraName[MAX_SPELL_EFFECTS]; // 101-103 m_effectAura
|
||||
uint32 EffectRadiusIndex[MAX_SPELL_EFFECTS]; // 98-100 m_effectRadiusIndex - spellradius.dbc
|
||||
uint32 EffectApplyAuraName[MAX_SPELL_EFFECTS]; // 101-103 m_effectAura
|
||||
uint32 EffectAmplitude[MAX_SPELL_EFFECTS]; // 104-106 m_effectAuraPeriod
|
||||
float EffectMultipleValue[MAX_SPELL_EFFECTS]; // 107-109 m_effectAmplitude
|
||||
uint32 EffectChainTarget[MAX_SPELL_EFFECTS]; // 110-112 m_effectChainTargets
|
||||
@@ -1431,6 +1446,43 @@ struct SpellEntry
|
||||
int32 EffectMiscValueB[MAX_SPELL_EFFECTS]; // 119-121 m_effectMiscValueB
|
||||
uint32 EffectTriggerSpell[MAX_SPELL_EFFECTS]; // 122-124 m_effectTriggerSpell
|
||||
float EffectPointsPerComboPoint[MAX_SPELL_EFFECTS]; // 125-127 m_effectPointsPerCombo
|
||||
flag96 EffectSpellClassMask[MAX_SPELL_EFFECTS]; // 128-136
|
||||
uint32 SpellVisual[2]; // 137-138 m_spellVisualID
|
||||
uint32 SpellIconID; // 139 m_spellIconID
|
||||
uint32 activeIconID; // 140 m_activeIconID
|
||||
//uint32 spellPriority; // 141 not used
|
||||
char* SpellName[16]; // 142-157 m_name_lang
|
||||
//uint32 SpellNameFlag; // 158 not used
|
||||
char* Rank[16]; // 159-174 m_nameSubtext_lang
|
||||
//uint32 RankFlags; // 175 not used
|
||||
//char* Description[16]; // 176-191 m_description_lang not used
|
||||
//uint32 DescriptionFlags; // 192 not used
|
||||
//char* ToolTip[16]; // 193-208 m_auraDescription_lang not used
|
||||
//uint32 ToolTipFlags; // 209 not used
|
||||
uint32 ManaCostPercentage; // 210 m_manaCostPct
|
||||
uint32 StartRecoveryCategory; // 211 m_startRecoveryCategory
|
||||
uint32 StartRecoveryTime; // 212 m_startRecoveryTime
|
||||
uint32 MaxTargetLevel; // 213 m_maxTargetLevel
|
||||
uint32 SpellFamilyName; // 214 m_spellClassSet
|
||||
flag96 SpellFamilyFlags; // 215-217
|
||||
uint32 MaxAffectedTargets; // 218 m_maxTargets
|
||||
uint32 DmgClass; // 219 m_defenseType
|
||||
uint32 PreventionType; // 220 m_preventionType
|
||||
//uint32 StanceBarOrder; // 221 m_stanceBarOrder not used
|
||||
float DmgMultiplier[3]; // 222-224 m_effectChainAmplitude
|
||||
//uint32 MinFactionId; // 225 m_minFactionID not used
|
||||
//uint32 MinReputation; // 226 m_minReputation not used
|
||||
//uint32 RequiredAuraVision; // 227 m_requiredAuraVision not used
|
||||
uint32 TotemCategory[2]; // 228-229 m_requiredTotemCategoryID
|
||||
int32 AreaGroupId; // 230 m_requiredAreaGroupId
|
||||
uint32 SchoolMask; // 231 m_schoolMask
|
||||
uint32 runeCostID; // 232 m_runeCostID
|
||||
//uint32 spellMissileID; // 233 m_spellMissileID not used
|
||||
//uint32 PowerDisplayId; // 234 PowerDisplay.dbc, new in 3.1
|
||||
//float unk_320_4[3]; // 235-237 3.2.0
|
||||
//uint32 spellDescriptionVariableID; // 238 3.2.0
|
||||
//uint32 SpellDifficultyId; // 239 3.3.0
|
||||
/*
|
||||
flag96 EffectSpellClassMask[MAX_SPELL_EFFECTS]; // 127-136
|
||||
uint32 SpellVisual[2]; // 137-138 m_spellVisualID
|
||||
uint32 SpellIconID; // 139 m_spellIconID
|
||||
@@ -1466,7 +1518,7 @@ struct SpellEntry
|
||||
//uint32 PowerDisplayId; // 234 PowerDisplay.dbc, new in 3.1
|
||||
//float unk_320_4[3]; // 235-237 3.2.0
|
||||
//uint32 spellDescriptionVariableID; // 238 3.2.0
|
||||
|
||||
*/
|
||||
// helpers
|
||||
int32 CalculateSimpleValue(uint8 eff) const { return EffectBasePoints[eff]+int32(EffectBaseDice[eff]); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user