Found the issue...
Code:
void Mob::TryTwincast(Mob *caster, Mob *target, uint32 spell_id)
{
if(!IsValidSpell(spell_id))
{
return;
}
if (spells[spell_id].mana <= 10)
{
return;
}
if(this->IsClient())
{
sint32 focus = this->CastToClient()->GetFocusEffect(focusTwincast, spell_id);
if (focus > 0)
{
if(MakeRandomInt(0, 100) <= focus)
{
this->Message(MT_Spells,"You twincast %s!",spells[spell_id].name);
SpellFinished(spell_id, target);
}
}
}
else
{
uint32 buff_count = GetMaxTotalSlots();
for(int i = 0; i < buff_count; i++)
{
if(IsEffectInSpell(buffs[i].spellid, SE_Twincast))
{
sint32 focus = CalcFocusEffect(focusTwincast, buffs[i].spellid, spell_id);
if(focus > 0)
{
if(MakeRandomInt(0, 100) <= focus)
{
SpellFinished(spell_id, target);
}
}
}
}
}
}
Sending a spell finished for twincast should send the resist adjust because resist adjust is never calculated inside
mob::spellfinished
Does the same thing inside "TrySympatheticProc"
Unless it grabs the resist adjust somewhere else.. but I do not see it.. at all.