mirror of
https://github.com/mangosfour/server.git
synced 2025-12-12 19:37:03 +00:00
Updated auras enum, dbc comments.
This commit is contained in:
parent
153410971d
commit
2066de036f
7 changed files with 181 additions and 150 deletions
|
|
@ -226,19 +226,19 @@ void WorldSession::HandleCharCreateOpcode( WorldPacket & recv_data )
|
|||
}
|
||||
|
||||
// prevent character creating Expansion race without Expansion account
|
||||
if (raceEntry->addon > Expansion())
|
||||
if (raceEntry->expansion > Expansion())
|
||||
{
|
||||
data << (uint8)CHAR_CREATE_EXPANSION;
|
||||
sLog.outError("Expansion %u account:[%d] tried to Create character with expansion %u race (%u)",Expansion(),GetAccountId(),raceEntry->addon,race_);
|
||||
sLog.outError("Expansion %u account:[%d] tried to Create character with expansion %u race (%u)",Expansion(),GetAccountId(),raceEntry->expansion,race_);
|
||||
SendPacket( &data );
|
||||
return;
|
||||
}
|
||||
|
||||
// prevent character creating Expansion class without Expansion account
|
||||
if (classEntry->addon > Expansion())
|
||||
if (classEntry->expansion > Expansion())
|
||||
{
|
||||
data << (uint8)CHAR_CREATE_EXPANSION_CLASS;
|
||||
sLog.outError("Expansion %u account:[%d] tried to Create character with expansion %u class (%u)",Expansion(),GetAccountId(),classEntry->addon,class_);
|
||||
sLog.outError("Expansion %u account:[%d] tried to Create character with expansion %u class (%u)",Expansion(),GetAccountId(),classEntry->expansion,class_);
|
||||
SendPacket( &data );
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -627,7 +627,7 @@ struct ChrClassesEntry
|
|||
uint32 spellfamily; // 56
|
||||
// 57, unused
|
||||
uint32 CinematicSequence; // 58 id from CinematicSequences.dbc
|
||||
uint32 addon; // 59 (0 - original race, 1 - tbc addon, ...)
|
||||
uint32 expansion; // 59 (0 - original race, 1 - tbc addon, ...)
|
||||
};
|
||||
|
||||
struct ChrRacesEntry
|
||||
|
|
@ -649,7 +649,7 @@ struct ChrRacesEntry
|
|||
//char* nameNeutralGender[16]; // 47-62, if different from base (male) case
|
||||
// 63 string flags, unused
|
||||
// 64-66 unused
|
||||
uint32 addon; // 67 (0 - original race, 1 - tbc addon, ...)
|
||||
uint32 expansion; // 67 (0 - original race, 1 - tbc addon, ...)
|
||||
};
|
||||
|
||||
/* not used
|
||||
|
|
@ -959,7 +959,7 @@ struct ItemEntry
|
|||
{
|
||||
uint32 ID; // 0
|
||||
uint32 Class; // 1
|
||||
uint32 SubClass; // 2 some items have strnage subclasses
|
||||
uint32 SubClass; // 2 some items have strange subclasses
|
||||
int32 Unk0; // 3
|
||||
int32 Material; // 4
|
||||
uint32 DisplayId; // 5
|
||||
|
|
@ -1003,10 +1003,10 @@ struct ItemExtendedCostEntry
|
|||
uint32 ID; // 0 extended-cost entry id
|
||||
uint32 reqhonorpoints; // 1 required honor points
|
||||
uint32 reqarenapoints; // 2 required arena points
|
||||
//uint32 unk1; // 3.2
|
||||
uint32 reqitem[5]; // 3-7 required item id
|
||||
uint32 reqitemcount[5]; // 8-12 required count of 1st item
|
||||
uint32 reqpersonalarenarating; // 13 required personal arena rating
|
||||
//uint32 unk1; // 4 probably indicates new 2v2 bracket restrictions
|
||||
uint32 reqitem[5]; // 5-8 required item id
|
||||
uint32 reqitemcount[5]; // 9-13 required count of 1st item
|
||||
uint32 reqpersonalarenarating; // 14 required personal arena rating
|
||||
};
|
||||
|
||||
struct ItemLimitCategoryEntry
|
||||
|
|
@ -1124,7 +1124,7 @@ struct MapDifficultyEntry
|
|||
uint32 Id; // 0
|
||||
uint32 MapId; // 1
|
||||
uint32 Difficulty; // 2
|
||||
char* transferFailedText[16]; // 3-18
|
||||
char* areaTriggerText[16]; // 3-18 text showed when transfer to map failed (missing requirements)
|
||||
uint32 textFlags; // 19
|
||||
uint32 resetTime; // 20
|
||||
};
|
||||
|
|
@ -1154,38 +1154,39 @@ struct RandomPropertiesPointsEntry
|
|||
|
||||
struct ScalingStatDistributionEntry
|
||||
{
|
||||
uint32 Id;
|
||||
int32 StatMod[10];
|
||||
uint32 Modifier[10];
|
||||
uint32 MaxLevel;
|
||||
uint32 Id; // 0
|
||||
int32 StatMod[10]; // 1-10
|
||||
uint32 Modifier[10]; // 11-20
|
||||
uint32 MaxLevel; // 21
|
||||
};
|
||||
|
||||
struct ScalingStatValuesEntry
|
||||
{
|
||||
uint32 Id;
|
||||
uint32 Level;
|
||||
uint32 ssdMultiplier[4]; // Multiplier for ScalingStatDistribution
|
||||
uint32 armorMod[4]; // Armor for level
|
||||
uint32 dpsMod[6]; // DPS mod for level
|
||||
uint32 spellBonus; // not sure.. TODO: need more info about
|
||||
uint32 feralBonus; // Feral AP bonus
|
||||
//uint32 unk1[6]; // 3.2
|
||||
uint32 Id; // 0
|
||||
uint32 Level; // 1
|
||||
uint32 ssdMultiplier[4]; // 2-5 Multiplier for ScalingStatDistribution
|
||||
uint32 armorMod[4]; // 6-9 Armor for level
|
||||
uint32 dpsMod[6]; // 10-15 DPS mod for level
|
||||
uint32 spellBonus; // 16 not sure.. TODO: need more info about
|
||||
uint32 feralBonus; // 17 Feral AP bonus (there's data from 3.1 ssdMultiplier[3])
|
||||
//uint32 unk1; // 18 all zero's
|
||||
//uint32 unk2[5]; // 19-23 3.2 new feral bonus?
|
||||
|
||||
uint32 getssdMultiplier(uint32 mask) const
|
||||
{
|
||||
if (mask&0x001F)
|
||||
if (mask & 0x001F)
|
||||
{
|
||||
if(mask & 0x00000001) return ssdMultiplier[0];
|
||||
if(mask & 0x00000002) return ssdMultiplier[1];
|
||||
if(mask & 0x00000004) return ssdMultiplier[2];
|
||||
//if(mask & 0x00000008) return ssdMultiplier[3];
|
||||
if(mask & 0x00000008) return feralBonus;
|
||||
if(mask & 0x00000010) return ssdMultiplier[3];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
uint32 getArmorMod(uint32 mask) const
|
||||
{
|
||||
if (mask&0x01E0)
|
||||
if (mask & 0x01E0)
|
||||
{
|
||||
if(mask & 0x00000020) return armorMod[0];
|
||||
if(mask & 0x00000040) return armorMod[1];
|
||||
|
|
@ -1194,9 +1195,10 @@ struct ScalingStatValuesEntry
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint32 getDPSMod(uint32 mask) const
|
||||
{
|
||||
if (mask&0x7E00)
|
||||
if (mask & 0x7E00)
|
||||
{
|
||||
if(mask & 0x00000200) return dpsMod[0];
|
||||
if(mask & 0x00000400) return dpsMod[1];
|
||||
|
|
@ -1207,14 +1209,18 @@ struct ScalingStatValuesEntry
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint32 getSpellBonus(uint32 mask) const
|
||||
{
|
||||
if (mask & 0x00008000) return spellBonus;
|
||||
if (mask & 0x00008000)
|
||||
return spellBonus;
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint32 getFeralBonus(uint32 mask) const
|
||||
{
|
||||
if (mask & 0x00010000) return feralBonus;
|
||||
if (mask & 0x00010000)
|
||||
return feralBonus;
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
|
@ -1304,108 +1310,108 @@ struct SpellEntry
|
|||
uint32 AttributesEx4; // 8 m_attributesExD
|
||||
uint32 AttributesEx5; // 9 m_attributesExE
|
||||
//uint32 AttributesEx6; // 10 m_attributesExF not used
|
||||
// uint32 unk_320_1; // 3.2.0 (0x20 - totems, 0x4 - paladin auras, etc...)
|
||||
uint32 Stances; // 11 m_shapeshiftMask
|
||||
// uint32 unk_320_2; // 3.2.0
|
||||
uint32 StancesNot; // 12 m_shapeshiftExclude
|
||||
// uint32 unk_320_3; // 3.2.0
|
||||
uint32 Targets; // 13 m_targets
|
||||
uint32 TargetCreatureType; // 14 m_targetCreatureType
|
||||
uint32 RequiresSpellFocus; // 15 m_requiresSpellFocus
|
||||
uint32 FacingCasterFlags; // 16 m_facingCasterFlags
|
||||
uint32 CasterAuraState; // 17 m_casterAuraState
|
||||
uint32 TargetAuraState; // 18 m_targetAuraState
|
||||
uint32 CasterAuraStateNot; // 19 m_excludeCasterAuraState
|
||||
uint32 TargetAuraStateNot; // 20 m_excludeTargetAuraState
|
||||
uint32 casterAuraSpell; // 21 m_casterAuraSpell
|
||||
uint32 targetAuraSpell; // 22 m_targetAuraSpell
|
||||
uint32 excludeCasterAuraSpell; // 23 m_excludeCasterAuraSpell
|
||||
uint32 excludeTargetAuraSpell; // 24 m_excludeTargetAuraSpell
|
||||
uint32 CastingTimeIndex; // 25 m_castingTimeIndex
|
||||
uint32 RecoveryTime; // 26 m_recoveryTime
|
||||
uint32 CategoryRecoveryTime; // 27 m_categoryRecoveryTime
|
||||
uint32 InterruptFlags; // 28 m_interruptFlags
|
||||
uint32 AuraInterruptFlags; // 29 m_auraInterruptFlags
|
||||
uint32 ChannelInterruptFlags; // 30 m_channelInterruptFlags
|
||||
uint32 procFlags; // 31 m_procTypeMask
|
||||
uint32 procChance; // 32 m_procChance
|
||||
uint32 procCharges; // 33 m_procCharges
|
||||
uint32 maxLevel; // 34 m_maxLevel
|
||||
uint32 baseLevel; // 35 m_baseLevel
|
||||
uint32 spellLevel; // 36 m_spellLevel
|
||||
uint32 DurationIndex; // 37 m_durationIndex
|
||||
uint32 powerType; // 38 m_powerType
|
||||
uint32 manaCost; // 39 m_manaCost
|
||||
uint32 manaCostPerlevel; // 40 m_manaCostPerLevel
|
||||
uint32 manaPerSecond; // 41 m_manaPerSecond
|
||||
uint32 manaPerSecondPerLevel; // 42 m_manaPerSecondPerLeve
|
||||
uint32 rangeIndex; // 43 m_rangeIndex
|
||||
float speed; // 44 m_speed
|
||||
//uint32 modalNextSpell; // 45 m_modalNextSpell not used
|
||||
uint32 StackAmount; // 46 m_cumulativeAura
|
||||
uint32 Totem[2]; // 47-48 m_totem
|
||||
int32 Reagent[8]; // 49-56 m_reagent
|
||||
uint32 ReagentCount[8]; // 57-64 m_reagentCount
|
||||
int32 EquippedItemClass; // 65 m_equippedItemClass (value)
|
||||
int32 EquippedItemSubClassMask; // 66 m_equippedItemSubclass (mask)
|
||||
int32 EquippedItemInventoryTypeMask; // 67 m_equippedItemInvTypes (mask)
|
||||
uint32 Effect[3]; // 68-70 m_effect
|
||||
int32 EffectDieSides[3]; // 71-73 m_effectDieSides
|
||||
uint32 EffectBaseDice[3]; // 74-76 m_effectBaseDice
|
||||
float EffectDicePerLevel[3]; // 77-79 m_effectDicePerLevel
|
||||
float EffectRealPointsPerLevel[3]; // 80-82 m_effectRealPointsPerLevel
|
||||
int32 EffectBasePoints[3]; // 83-85 m_effectBasePoints (don't must be used in spell/auras explicitly, must be used cached Spell::m_currentBasePoints)
|
||||
uint32 EffectMechanic[3]; // 86-88 m_effectMechanic
|
||||
uint32 EffectImplicitTargetA[3]; // 89-91 m_implicitTargetA
|
||||
uint32 EffectImplicitTargetB[3]; // 92-94 m_implicitTargetB
|
||||
uint32 EffectRadiusIndex[3]; // 95-97 m_effectRadiusIndex - spellradius.dbc
|
||||
uint32 EffectApplyAuraName[3]; // 98-100 m_effectAura
|
||||
uint32 EffectAmplitude[3]; // 101-103 m_effectAuraPeriod
|
||||
float EffectMultipleValue[3]; // 104-106 m_effectAmplitude
|
||||
uint32 EffectChainTarget[3]; // 107-109 m_effectChainTargets
|
||||
uint32 EffectItemType[3]; // 110-112 m_effectItemType
|
||||
int32 EffectMiscValue[3]; // 113-115 m_effectMiscValue
|
||||
int32 EffectMiscValueB[3]; // 116-118 m_effectMiscValueB
|
||||
uint32 EffectTriggerSpell[3]; // 119-121 m_effectTriggerSpell
|
||||
float EffectPointsPerComboPoint[3]; // 122-124 m_effectPointsPerCombo
|
||||
uint32 EffectSpellClassMaskA[3]; // 125-127 m_effectSpellClassMaskA
|
||||
uint32 EffectSpellClassMaskB[3]; // 128-130 m_effectSpellClassMaskB
|
||||
uint32 EffectSpellClassMaskC[3]; // 131-133 m_effectSpellClassMaskC
|
||||
uint32 SpellVisual[2]; // 134-135 m_spellVisualID
|
||||
uint32 SpellIconID; // 136 m_spellIconID
|
||||
uint32 activeIconID; // 137 m_activeIconID
|
||||
//uint32 spellPriority; // 138 m_spellPriority not used
|
||||
char* SpellName[16]; // 139-154 m_name_lang
|
||||
//uint32 SpellNameFlag; // 155 not used
|
||||
char* Rank[16]; // 156-171 m_nameSubtext_lang
|
||||
//uint32 RankFlags; // 172 not used
|
||||
//char* Description[16]; // 173-188 m_description_lang not used
|
||||
//uint32 DescriptionFlags; // 189 not used
|
||||
//char* ToolTip[16]; // 190-205 m_auraDescription_lang not used
|
||||
//uint32 ToolTipFlags; // 206 not used
|
||||
uint32 ManaCostPercentage; // 207 m_manaCostPct
|
||||
uint32 StartRecoveryCategory; // 208 m_startRecoveryCategory
|
||||
uint32 StartRecoveryTime; // 209 m_startRecoveryTime
|
||||
uint32 MaxTargetLevel; // 210 m_maxTargetLevel
|
||||
uint32 SpellFamilyName; // 211 m_spellClassSet
|
||||
uint64 SpellFamilyFlags; // 212-213 m_spellClassMask NOTE: size is 12 bytes!!!
|
||||
uint32 SpellFamilyFlags2; // 214 addition to m_spellClassMask
|
||||
uint32 MaxAffectedTargets; // 215 m_maxTargets
|
||||
uint32 DmgClass; // 216 m_defenseType
|
||||
uint32 PreventionType; // 217 m_preventionType
|
||||
//uint32 StanceBarOrder; // 218 m_stanceBarOrder not used
|
||||
float DmgMultiplier[3]; // 219-221 m_effectChainAmplitude
|
||||
//uint32 MinFactionId; // 222 m_minFactionID not used
|
||||
//uint32 MinReputation; // 223 m_minReputation not used
|
||||
//uint32 RequiredAuraVision; // 224 m_requiredAuraVision not used
|
||||
uint32 TotemCategory[2]; // 225-226 m_requiredTotemCategoryID
|
||||
int32 AreaGroupId; // 227 m_requiredAreaGroupId
|
||||
uint32 SchoolMask; // 228 m_schoolMask
|
||||
uint32 runeCostID; // 229 m_runeCostID
|
||||
//uint32 spellMissileID; // 230 m_spellMissileID not used
|
||||
//uint32 PowerDisplayId; // 231 PowerDisplay.dbc, new in 3.1
|
||||
//float unk_320_4[3]; // 3.2.0
|
||||
//uint32 spellDescriptionVariablesID; // 3.2.0
|
||||
// uint32 unk_320_1; // 11 3.2.0 (0x20 - totems, 0x4 - paladin auras, etc...)
|
||||
uint32 Stances; // 12 m_shapeshiftMask
|
||||
// uint32 unk_320_2; // 13 3.2.0
|
||||
uint32 StancesNot; // 14 m_shapeshiftExclude
|
||||
// uint32 unk_320_3; // 15 3.2.0
|
||||
uint32 Targets; // 16 m_targets
|
||||
uint32 TargetCreatureType; // 17 m_targetCreatureType
|
||||
uint32 RequiresSpellFocus; // 18 m_requiresSpellFocus
|
||||
uint32 FacingCasterFlags; // 19 m_facingCasterFlags
|
||||
uint32 CasterAuraState; // 20 m_casterAuraState
|
||||
uint32 TargetAuraState; // 21 m_targetAuraState
|
||||
uint32 CasterAuraStateNot; // 22 m_excludeCasterAuraState
|
||||
uint32 TargetAuraStateNot; // 23 m_excludeTargetAuraState
|
||||
uint32 casterAuraSpell; // 24 m_casterAuraSpell
|
||||
uint32 targetAuraSpell; // 25 m_targetAuraSpell
|
||||
uint32 excludeCasterAuraSpell; // 26 m_excludeCasterAuraSpell
|
||||
uint32 excludeTargetAuraSpell; // 27 m_excludeTargetAuraSpell
|
||||
uint32 CastingTimeIndex; // 28 m_castingTimeIndex
|
||||
uint32 RecoveryTime; // 29 m_recoveryTime
|
||||
uint32 CategoryRecoveryTime; // 30 m_categoryRecoveryTime
|
||||
uint32 InterruptFlags; // 31 m_interruptFlags
|
||||
uint32 AuraInterruptFlags; // 32 m_auraInterruptFlags
|
||||
uint32 ChannelInterruptFlags; // 33 m_channelInterruptFlags
|
||||
uint32 procFlags; // 34 m_procTypeMask
|
||||
uint32 procChance; // 35 m_procChance
|
||||
uint32 procCharges; // 36 m_procCharges
|
||||
uint32 maxLevel; // 37 m_maxLevel
|
||||
uint32 baseLevel; // 38 m_baseLevel
|
||||
uint32 spellLevel; // 39 m_spellLevel
|
||||
uint32 DurationIndex; // 40 m_durationIndex
|
||||
uint32 powerType; // 41 m_powerType
|
||||
uint32 manaCost; // 42 m_manaCost
|
||||
uint32 manaCostPerlevel; // 43 m_manaCostPerLevel
|
||||
uint32 manaPerSecond; // 44 m_manaPerSecond
|
||||
uint32 manaPerSecondPerLevel; // 45 m_manaPerSecondPerLeve
|
||||
uint32 rangeIndex; // 46 m_rangeIndex
|
||||
float speed; // 47 m_speed
|
||||
//uint32 modalNextSpell; // 48 m_modalNextSpell not used
|
||||
uint32 StackAmount; // 49 m_cumulativeAura
|
||||
uint32 Totem[2]; // 50-51 m_totem
|
||||
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)
|
||||
int32 EquippedItemInventoryTypeMask; // 70 m_equippedItemInvTypes (mask)
|
||||
uint32 Effect[3]; // 71-73 m_effect
|
||||
int32 EffectDieSides[3]; // 74-76 m_effectDieSides
|
||||
uint32 EffectBaseDice[3]; // 77-79 m_effectBaseDice
|
||||
float EffectDicePerLevel[3]; // 80-82 m_effectDicePerLevel
|
||||
float EffectRealPointsPerLevel[3]; // 83-85 m_effectRealPointsPerLevel
|
||||
int32 EffectBasePoints[3]; // 86-88 m_effectBasePoints (don't must be used in spell/auras explicitly, must be used cached Spell::m_currentBasePoints)
|
||||
uint32 EffectMechanic[3]; // 89-91 m_effectMechanic
|
||||
uint32 EffectImplicitTargetA[3]; // 92-94 m_implicitTargetA
|
||||
uint32 EffectImplicitTargetB[3]; // 95-97 m_implicitTargetB
|
||||
uint32 EffectRadiusIndex[3]; // 98-100 m_effectRadiusIndex - spellradius.dbc
|
||||
uint32 EffectApplyAuraName[3]; // 101-103 m_effectAura
|
||||
uint32 EffectAmplitude[3]; // 104-106 m_effectAuraPeriod
|
||||
float EffectMultipleValue[3]; // 107-109 m_effectAmplitude
|
||||
uint32 EffectChainTarget[3]; // 110-112 m_effectChainTargets
|
||||
uint32 EffectItemType[3]; // 113-115 m_effectItemType
|
||||
int32 EffectMiscValue[3]; // 116-118 m_effectMiscValue
|
||||
int32 EffectMiscValueB[3]; // 119-121 m_effectMiscValueB
|
||||
uint32 EffectTriggerSpell[3]; // 122-124 m_effectTriggerSpell
|
||||
float EffectPointsPerComboPoint[3]; // 125-127 m_effectPointsPerCombo
|
||||
uint32 EffectSpellClassMaskA[3]; // 128-130 m_effectSpellClassMaskA
|
||||
uint32 EffectSpellClassMaskB[3]; // 131-133 m_effectSpellClassMaskB
|
||||
uint32 EffectSpellClassMaskC[3]; // 134-136 m_effectSpellClassMaskC
|
||||
uint32 SpellVisual[2]; // 137-138 m_spellVisualID
|
||||
uint32 SpellIconID; // 139 m_spellIconID
|
||||
uint32 activeIconID; // 140 m_activeIconID
|
||||
//uint32 spellPriority; // 141 m_spellPriority 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
|
||||
uint64 SpellFamilyFlags; // 215-216 m_spellClassMask NOTE: size is 12 bytes!!!
|
||||
uint32 SpellFamilyFlags2; // 217 addition to m_spellClassMask
|
||||
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 spellDescriptionVariablesID; // 238 3.2.0
|
||||
|
||||
// helpers
|
||||
int32 CalculateSimpleValue(uint8 eff) const { return EffectBasePoints[eff]+int32(EffectBaseDice[eff]); }
|
||||
|
|
|
|||
|
|
@ -1161,12 +1161,9 @@ void WorldSession::HandleWardenDataOpcode(WorldPacket& /*recv_data*/)
|
|||
|
||||
void WorldSession::HandlePlayedTime(WorldPacket& /*recv_data*/)
|
||||
{
|
||||
uint32 TotalTimePlayed = GetPlayer()->GetTotalPlayedTime();
|
||||
uint32 LevelPlayedTime = GetPlayer()->GetLevelPlayedTime();
|
||||
|
||||
WorldPacket data(SMSG_PLAYED_TIME, 9);
|
||||
data << TotalTimePlayed;
|
||||
data << LevelPlayedTime;
|
||||
WorldPacket data(SMSG_PLAYED_TIME, 4 + 4 + 1);
|
||||
data << uint32(_player->GetTotalPlayedTime());
|
||||
data << uint32(_player->GetLevelPlayedTime());
|
||||
data << uint8(0);
|
||||
SendPacket(&data);
|
||||
}
|
||||
|
|
@ -1261,7 +1258,7 @@ void WorldSession::HandleWorldTeleportOpcode(WorldPacket& recv_data)
|
|||
DEBUG_LOG("Time %u sec, map=%u, x=%f, y=%f, z=%f, orient=%f", time/1000, mapid, PositionX, PositionY, PositionZ, Orientation);
|
||||
|
||||
if (GetSecurity() >= SEC_ADMINISTRATOR)
|
||||
GetPlayer()->TeleportTo(mapid,PositionX,PositionY,PositionZ,Orientation);
|
||||
GetPlayer()->TeleportTo(mapid, PositionX, PositionY, PositionZ, Orientation);
|
||||
else
|
||||
SendNotification(LANG_YOU_NOT_HAVE_PERMISSION);
|
||||
sLog.outDebug("Received worldport command from player %s", GetPlayer()->GetName());
|
||||
|
|
|
|||
|
|
@ -1293,4 +1293,6 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] =
|
|||
/*0x4F0*/ { "SMSG_UNKNOWN_1264", STATUS_NEVER, &WorldSession::Handle_ServerSide },
|
||||
/*0x4F1*/ { "UMSG_UNKNOWN_1265", STATUS_NEVER, &WorldSession::Handle_NULL },
|
||||
/*0x4F2*/ { "UMSG_UNKNOWN_1266", STATUS_NEVER, &WorldSession::Handle_NULL },
|
||||
/*0x4F3*/ { "UMSG_UNKNOWN_1267", STATUS_NEVER, &WorldSession::Handle_NULL },
|
||||
/*0x4F4*/ { "UMSG_UNKNOWN_1268", STATUS_NEVER, &WorldSession::Handle_NULL },
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1301,7 +1301,9 @@ enum Opcodes
|
|||
SMSG_UNKNOWN_1264 = 0x4F0,
|
||||
UMSG_UNKNOWN_1265 = 0x4F1, // not found 3.2
|
||||
UMSG_UNKNOWN_1266 = 0x4F2, // not found 3.2
|
||||
NUM_MSG_TYPES = 0x4F3
|
||||
UMSG_UNKNOWN_1267 = 0x4F3, // not found 3.2
|
||||
UMSG_UNKNOWN_1268 = 0x4F4, // not found 3.2
|
||||
NUM_MSG_TYPES = 0x4F5
|
||||
};
|
||||
|
||||
/// Player state
|
||||
|
|
|
|||
|
|
@ -337,7 +337,19 @@ enum AuraType
|
|||
SPELL_AURA_292,
|
||||
SPELL_AURA_293,
|
||||
SPELL_AURA_294,
|
||||
TOTAL_AURAS = 295
|
||||
SPELL_AURA_295,
|
||||
SPELL_AURA_296,
|
||||
SPELL_AURA_297,
|
||||
SPELL_AURA_298,
|
||||
SPELL_AURA_299,
|
||||
SPELL_AURA_300,
|
||||
SPELL_AURA_301,
|
||||
SPELL_AURA_302,
|
||||
SPELL_AURA_303,
|
||||
SPELL_AURA_304,
|
||||
SPELL_AURA_305,
|
||||
SPELL_AURA_306,
|
||||
TOTAL_AURAS = 307
|
||||
};
|
||||
|
||||
enum AreaAuraType
|
||||
|
|
|
|||
|
|
@ -311,8 +311,8 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
|||
&Aura::HandleNULL, //258 SPELL_AURA_MOD_SPELL_VISUAL
|
||||
&Aura::HandleNULL, //259 corrupt healing over time spell
|
||||
&Aura::HandleNoImmediateEffect, //260 SPELL_AURA_SCREEN_EFFECT (miscvalue = id in ScreenEffect.dbc) not required any code
|
||||
&Aura::HandlePhase, //261 SPELL_AURA_PHASE undetactable invisibility? implemented in Unit::isVisibleForOrDetect
|
||||
&Aura::HandleNULL, //262
|
||||
&Aura::HandlePhase, //261 SPELL_AURA_PHASE undetectable invisibility? implemented in Unit::isVisibleForOrDetect
|
||||
&Aura::HandleNULL, //262 ignore combat/aura state?
|
||||
&Aura::HandleNULL, //263 SPELL_AURA_ALLOW_ONLY_ABILITY player can use only abilities set in SpellClassMask
|
||||
&Aura::HandleUnused, //264 unused (3.0.8a)
|
||||
&Aura::HandleUnused, //265 unused (3.0.8a)
|
||||
|
|
@ -323,7 +323,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
|||
&Aura::HandleNULL, //270 SPELL_AURA_MOD_IGNORE_TARGET_RESIST
|
||||
&Aura::HandleNoImmediateEffect, //271 SPELL_AURA_MOD_DAMAGE_FROM_CASTER implemented in Unit::SpellDamageBonus
|
||||
&Aura::HandleNULL, //272 reduce spell cast time?
|
||||
&Aura::HandleNULL, //273
|
||||
&Aura::HandleNULL, //273 x-ray effect
|
||||
&Aura::HandleNULL, //274 proc free shot?
|
||||
&Aura::HandleNoImmediateEffect, //275 SPELL_AURA_MOD_IGNORE_SHAPESHIFT Use SpellClassMask for spell select
|
||||
&Aura::HandleNULL, //276 mod damage % mechanic?
|
||||
|
|
@ -334,17 +334,29 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
|||
&Aura::HandleNULL, //281 SPELL_AURA_MOD_HONOR_GAIN
|
||||
&Aura::HandleAuraIncreaseBaseHealthPercent, //282 SPELL_AURA_INCREASE_BASE_HEALTH_PERCENT
|
||||
&Aura::HandleNoImmediateEffect, //283 SPELL_AURA_MOD_HEALING_RECEIVED implemented in Unit::SpellHealingBonus
|
||||
&Aura::HandleUnused, //284 not used by any spells (3.08a)
|
||||
&Aura::HandleUnused, //284 51 spells
|
||||
&Aura::HandleAuraModAttackPowerOfArmor, //285 SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR implemented in Player::UpdateAttackPowerAndDamage
|
||||
&Aura::HandleNoImmediateEffect, //286 SPELL_AURA_ABILITY_PERIODIC_CRIT implemented in Aura::IsCritFromAbilityAura called from Aura::PeriodicTick
|
||||
&Aura::HandleNoImmediateEffect, //287 SPELL_AURA_DEFLECT_SPELLS implemented in Unit::MagicSpellHitResult and Unit::MeleeSpellHitResult
|
||||
&Aura::HandleUnused, //288 not used by any spells (3.09) except 1 test spell.
|
||||
&Aura::HandleUnused, //288 increase parry/deflect, prevent attack
|
||||
&Aura::HandleUnused, //289 unused
|
||||
&Aura::HandleUnused, //290 unused
|
||||
&Aura::HandleUnused, //291 unused
|
||||
&Aura::HandleUnused, //290 3 spells
|
||||
&Aura::HandleUnused, //291 1 spell (+pct experience bonus)
|
||||
&Aura::HandleNULL, //292 call stabled pet
|
||||
&Aura::HandleNULL, //293 2 test spells
|
||||
&Aura::HandleNULL //294 2 spells, possible prevent mana regen
|
||||
&Aura::HandleNULL, //293 3 spells
|
||||
&Aura::HandleNULL, //294 2 spells, possible prevent mana regen
|
||||
&Aura::HandleNULL, //295 unused
|
||||
&Aura::HandleNULL, //296 2 spells
|
||||
&Aura::HandleNULL, //297 1 spell (counter spell school?)
|
||||
&Aura::HandleNULL, //298 unused
|
||||
&Aura::HandleNULL, //299 unused
|
||||
&Aura::HandleNULL, //300 3 spells (share damage?)
|
||||
&Aura::HandleNULL, //301 5 spells
|
||||
&Aura::HandleNULL, //302 unused
|
||||
&Aura::HandleNULL, //303 17 spells
|
||||
&Aura::HandleNULL, //304 2 spells (alcohol effect?)
|
||||
&Aura::HandleNULL, //305 2 spells
|
||||
&Aura::HandleNULL //306 1 spell
|
||||
};
|
||||
|
||||
static AuraType const frozenAuraTypes[] = { SPELL_AURA_MOD_ROOT, SPELL_AURA_MOD_STUN, SPELL_AURA_NONE };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue