View Single Post
  #3  
Old 10-04-2013, 11:00 AM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

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.
Reply With Quote