From 50235ffcbc20b3bcaf11cdf1c266f284765b3ec8 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 30 Sep 2022 10:53:58 +0200 Subject: [PATCH] Core/Spells: Implemented SPELL_ATTR6_AURA_IS_WEAPON_PROC --- src/server/game/Miscellaneous/SharedDefines.h | 2 +- src/server/game/Spells/Auras/SpellAuras.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 95109ff4de..e9ea330ddc 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -577,7 +577,7 @@ enum SpellAttr6 : uint32 SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE = 0x00000010, /*NYI, time rate not implemented*/ // TITLE Ignore For Mod Time Rate SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES = 0x00000020, // TITLE Do Not Consume Resources SPELL_ATTR6_FLOATING_COMBAT_TEXT_ON_CAST = 0x00000040, // TITLE Floating Combat Text On Cast (client only) - SPELL_ATTR6_AURA_IS_WEAPON_PROC = 0x00000080, /*NYI*/ // TITLE Aura Is Weapon Proc + SPELL_ATTR6_AURA_IS_WEAPON_PROC = 0x00000080, // TITLE Aura Is Weapon Proc SPELL_ATTR6_DO_NOT_CHAIN_TO_CROWD_CONTROLLED_TARGETS = 0x00000100, // TITLE Do Not Chain To Crowd-Controlled Targets DESCRIPTION Implicit targeting (chaining and area targeting) will not impact crowd controlled targets SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS = 0x00000200, /*NYI*/ // TITLE Allow On Charmed Targets SPELL_ATTR6_NO_AURA_LOG = 0x00000400, // TITLE No Aura Log diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 8b7c80db84..ff9b7f9e5a 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1923,6 +1923,9 @@ uint8 Aura::GetProcEffectMask(AuraApplication* aurApp, ProcEventInfo& eventInfo, if (spell->m_CastItem && (procEntry->AttributesMask & PROC_ATTR_CANT_PROC_FROM_ITEM_CAST)) return 0; + + if (spell->GetSpellInfo()->HasAttribute(SPELL_ATTR4_SUPPRESS_WEAPON_PROCS) && GetSpellInfo()->HasAttribute(SPELL_ATTR6_AURA_IS_WEAPON_PROC)) + return 0; } // check don't break stealth attr present