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.
This commit is contained in:
KayenEQ
2021-07-29 18:56:02 -04:00
committed by GitHub
parent fee8772bb6
commit a50663e0a4
2 changed files with 2 additions and 5 deletions
-3
View File
@@ -3702,9 +3702,6 @@ void Mob::TryTwincast(Mob *caster, Mob *target, uint32 spell_id)
if(!IsValidSpell(spell_id)) if(!IsValidSpell(spell_id))
return; return;
if (IsEffectInSpell(spell_id, SE_TwinCastBlocker))
return;
if(IsClient()) if(IsClient())
{ {
int32 focus = CastToClient()->GetFocusEffect(focusTwincast, spell_id); int32 focus = CastToClient()->GetFocusEffect(focusTwincast, spell_id);
+2 -2
View File
@@ -4812,7 +4812,7 @@ int16 Client::CalcAAFocus(focusType type, const AA::Rank &rank, uint16 spell_id)
break; break;
case SE_FcTwincast: case SE_FcTwincast:
if (type == focusTwincast) if (type == focusTwincast && !IsEffectInSpell(spell_id, SE_TwinCastBlocker))
value = base1; value = base1;
break; break;
@@ -5382,7 +5382,7 @@ int16 Mob::CalcFocusEffect(focusType type, uint16 focus_id, uint16 spell_id, boo
break; break;
case SE_FcTwincast: case SE_FcTwincast:
if (type == focusTwincast) if (type == focusTwincast && !IsEffectInSpell(spell_id, SE_TwinCastBlocker))
value = focus_spell.base[i]; value = focus_spell.base[i];
break; break;