mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-30 13:32:26 +00:00
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:
parent
fee8772bb6
commit
a50663e0a4
@ -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);
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user