Core/Auras: Handle SPELL_AURA_MOD_AUTOATTACK_DAMAGE

Port From (https://github.com/TrinityCore/TrinityCore/commit/964340bb764baab75830cfe298d1346ceae84c61)
This commit is contained in:
hondacrx
2021-02-09 13:35:37 -05:00
parent c4f0ad6012
commit 2dd7fcba0c
3 changed files with 12 additions and 6 deletions
@@ -365,7 +365,7 @@ namespace Framework.Constants
ModSpellCategoryCooldown = 341,
ModMeleeRangedHaste2 = 342,
ModMeleeDamageFromCaster = 343,
ModAutoattackDamage = 344,
ModAutoAttackDamage = 344,
BypassArmorForCaster = 345,
EnableAltPower = 346, // Nyi
ModSpellCooldownByHaste = 347,
+11 -4
View File
@@ -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 =>
-1
View File
@@ -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)]