From a50663e0a4d5bec43731ad39da6647c67081b0dc Mon Sep 17 00:00:00 2001 From: KayenEQ Date: Thu, 29 Jul 2021 18:56:02 -0400 Subject: [PATCH] Fix SE_TwinCastBlocker to block twinproc (#1476) Improvement to SE_TwinCastBlocker implementation. Will now ensure both spell casted and weapon proced twincasts can be effectively blocked. --- zone/mob.cpp | 3 --- zone/spell_effects.cpp | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/zone/mob.cpp b/zone/mob.cpp index 9ae5be42f..ce966726c 100644 --- a/zone/mob.cpp +++ b/zone/mob.cpp @@ -3702,9 +3702,6 @@ void Mob::TryTwincast(Mob *caster, Mob *target, uint32 spell_id) if(!IsValidSpell(spell_id)) return; - if (IsEffectInSpell(spell_id, SE_TwinCastBlocker)) - return; - if(IsClient()) { int32 focus = CastToClient()->GetFocusEffect(focusTwincast, spell_id); diff --git a/zone/spell_effects.cpp b/zone/spell_effects.cpp index a5c61fb5d..eb75c7892 100644 --- a/zone/spell_effects.cpp +++ b/zone/spell_effects.cpp @@ -4812,7 +4812,7 @@ int16 Client::CalcAAFocus(focusType type, const AA::Rank &rank, uint16 spell_id) break; case SE_FcTwincast: - if (type == focusTwincast) + if (type == focusTwincast && !IsEffectInSpell(spell_id, SE_TwinCastBlocker)) value = base1; break; @@ -5382,7 +5382,7 @@ int16 Mob::CalcFocusEffect(focusType type, uint16 focus_id, uint16 spell_id, boo break; case SE_FcTwincast: - if (type == focusTwincast) + if (type == focusTwincast && !IsEffectInSpell(spell_id, SE_TwinCastBlocker)) value = focus_spell.base[i]; break;