From 6958ab780732d547a87b22594ad829b1006a8fc8 Mon Sep 17 00:00:00 2001 From: KayenEQ Date: Wed, 28 Jul 2021 12:35:50 -0400 Subject: [PATCH] Fix SE_TwinCastBlocker to block twinproc 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 e26c5406cb..557ab96000 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 d20df5ace8..5fdd9b9106 100644 --- a/zone/spell_effects.cpp +++ b/zone/spell_effects.cpp @@ -4811,7 +4811,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; @@ -5381,7 +5381,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;