From 9cc3cd128cf931141f6b806a33e1a715274b84e7 Mon Sep 17 00:00:00 2001 From: aquadeus <95978183+aquadeus@users.noreply.github.com> Date: Thu, 30 Dec 2021 12:08:02 +0100 Subject: Core/Auras: Implement SPELL_AURA_MOD_MELEE_DAMAGE_FROM_CASTER (343) (#27491) --- src/server/game/Entities/Unit/Unit.cpp | 7 +++++++ src/server/game/Spells/Auras/SpellAuraDefines.h | 2 +- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index ed8c2bf0dae..f2cc02374ba 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7412,6 +7412,13 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT }); } } + else // melee attack + { + TakenTotalMod *= GetTotalAuraMultiplier(SPELL_AURA_MOD_MELEE_DAMAGE_FROM_CASTER, [attacker](AuraEffect const* aurEff) -> bool + { + return aurEff->GetCasterGUID() == attacker->GetGUID(); + }); + } if (AuraEffect const* cheatDeath = GetAuraEffect(45182, EFFECT_0)) AddPct(TakenTotalMod, cheatDeath->GetAmount()); diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h index 2bb9799bedf..d31ec35ef12 100644 --- a/src/server/game/Spells/Auras/SpellAuraDefines.h +++ b/src/server/game/Spells/Auras/SpellAuraDefines.h @@ -434,7 +434,7 @@ enum AuraType : uint32 SPELL_AURA_MOD_RESURRECTED_HEALTH_BY_GUILD_MEMBER = 340, // Increases health gained when resurrected by a guild member by X SPELL_AURA_MOD_SPELL_CATEGORY_COOLDOWN = 341, // Modifies cooldown of all spells using affected category SPELL_AURA_MOD_MELEE_RANGED_HASTE_2 = 342, - SPELL_AURA_MOD_MELEE_DAMAGE_FROM_CASTER = 343, // NYI + SPELL_AURA_MOD_MELEE_DAMAGE_FROM_CASTER = 343, SPELL_AURA_MOD_AUTOATTACK_DAMAGE = 344, SPELL_AURA_BYPASS_ARMOR_FOR_CASTER = 345, SPELL_AURA_ENABLE_ALT_POWER = 346, diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 9a5df6d08dd..183a738f7b7 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -411,7 +411,7 @@ NonDefaultConstructible AuraEffectHandler[TOTAL_AURAS]= &AuraEffect::HandleNULL, //340 SPELL_AURA_MOD_RESURRECTED_HEALTH_BY_GUILD_MEMBER &AuraEffect::HandleModSpellCategoryCooldown, //341 SPELL_AURA_MOD_SPELL_CATEGORY_COOLDOWN &AuraEffect::HandleModMeleeRangedSpeedPct, //342 SPELL_AURA_MOD_MELEE_RANGED_HASTE_2 - &AuraEffect::HandleNULL, //343 SPELL_AURA_MOD_MELEE_DAMAGE_FROM_CASTER + &AuraEffect::HandleNoImmediateEffect, //343 SPELL_AURA_MOD_MELEE_DAMAGE_FROM_CASTER - Implemented in Unit::MeleeDamageBonusTaken &AuraEffect::HandleNoImmediateEffect, //344 SPELL_AURA_MOD_AUTOATTACK_DAMAGE - Implemented in Unit::MeleeDamageBonusDone &AuraEffect::HandleNoImmediateEffect, //345 SPELL_AURA_BYPASS_ARMOR_FOR_CASTER &AuraEffect::HandleEnableAltPower, //346 SPELL_AURA_ENABLE_ALT_POWER -- cgit v1.2.3