Core/Auras: Handle SPELL_AURA_MOD_AUTOATTACK_DAMAGE
Port From (https://github.com/TrinityCore/TrinityCore/commit/964340bb764baab75830cfe298d1346ceae84c61)
This commit is contained in:
@@ -365,7 +365,7 @@ namespace Framework.Constants
|
||||
ModSpellCategoryCooldown = 341,
|
||||
ModMeleeRangedHaste2 = 342,
|
||||
ModMeleeDamageFromCaster = 343,
|
||||
ModAutoattackDamage = 344,
|
||||
ModAutoAttackDamage = 344,
|
||||
BypassArmorForCaster = 345,
|
||||
EnableAltPower = 346, // Nyi
|
||||
ModSpellCooldownByHaste = 347,
|
||||
|
||||
@@ -2830,11 +2830,12 @@ namespace Game.Entities
|
||||
// Done total percent damage auras
|
||||
float DoneTotalMod = 1.0f;
|
||||
|
||||
// Some spells don't benefit from pct done mods
|
||||
if (spellProto != null && !spellProto.HasAttribute(SpellAttr6.NoDonePctDamageMods))
|
||||
|
||||
if (spellProto != null)
|
||||
{
|
||||
// Some spells don't benefit from pct done mods
|
||||
// mods for SPELL_SCHOOL_MASK_NORMAL are already factored in base melee damage calculation
|
||||
if (!spellProto.GetSchoolMask().HasAnyFlag(SpellSchoolMask.Normal))
|
||||
if (!spellProto.HasAttribute(SpellAttr6.NoDonePctDamageMods) && !spellProto.GetSchoolMask().HasAnyFlag(SpellSchoolMask.Normal))
|
||||
{
|
||||
float maxModDamagePercentSchool = 0.0f;
|
||||
Player thisPlayer = ToPlayer();
|
||||
@@ -2851,9 +2852,15 @@ namespace Game.Entities
|
||||
|
||||
DoneTotalMod *= maxModDamagePercentSchool;
|
||||
}
|
||||
else
|
||||
{
|
||||
// melee attack
|
||||
foreach (AuraEffect autoAttackDamage in GetAuraEffectsByType(AuraType.ModAutoAttackDamage))
|
||||
MathFunctions.AddPct(ref DoneTotalMod, autoAttackDamage.GetAmount());
|
||||
}
|
||||
}
|
||||
|
||||
DoneTotalMod *= GetTotalAuraMultiplierByMiscMask(AuraType.ModDamageDoneVersus, (uint)creatureTypeMask);
|
||||
DoneTotalMod *= GetTotalAuraMultiplierByMiscMask(AuraType.ModDamageDoneVersus, creatureTypeMask);
|
||||
|
||||
// bonus against aurastate
|
||||
DoneTotalMod *= GetTotalAuraMultiplier(AuraType.ModDamageDoneVersusAurastate, aurEff =>
|
||||
|
||||
@@ -979,7 +979,6 @@ namespace Game.Spells
|
||||
[AuraEffectHandler(AuraType.Unk335)]
|
||||
[AuraEffectHandler(AuraType.MountRestrictions)]
|
||||
[AuraEffectHandler(AuraType.ModResurrectedHealthByGuildMember)]
|
||||
[AuraEffectHandler(AuraType.ModAutoattackDamage)]
|
||||
[AuraEffectHandler(AuraType.ModSpellCooldownByHaste)]
|
||||
[AuraEffectHandler(AuraType.ModGatheringItemsGainedPercent)]
|
||||
[AuraEffectHandler(AuraType.Unk351)]
|
||||
|
||||
Reference in New Issue
Block a user