Do ZS_Poisoned:
// *****************************
// B_StopPoisoned
// *****************************
func void B_StopPoisoned()
{
Npc_ClearAIQueue(self);
AI_StandUp (self);
if (self.guild < GIL_SEPERATOR_HUM)
{
B_AssessDamage();
}
else
{
Npc_SetTempAttitude (self, ATT_HOSTILE);
};
};
// **************************
// ZS_Poisoned
// **************************
func int ZS_Poisoned()
{
self.aivar[AIV_FreezeStateTime] = 0;
};
func int ZS_Poisoned_Loop ()
{
// EXIT LOOP IF...
if (Npc_GetStateTime(self) > 500)
{
B_StopPoisoned();
return LOOP_END;
};
// LOOP FUNC
if (Npc_GetStateTime(self) != self.aivar[AIV_FreezeStateTime])
{
self.aivar[AIV_FreezeStateTime] = Npc_GetStateTime(self);
// ------ Damage abziehen, aber NICHT sterben (immer mindeststens 1 LE behalten) ------
if (self.attribute[ATR_HITPOINTS] > (self.attribute[ATR_HITPOINTS] - 5))
{
B_MagicHurtNpc(other, self, SPL_FREEZE_DAMAGE);
AI_StartState (self , ZS_Attack, 0, ""); //TUTAJ
};
};
return LOOP_CONTINUE;
};
func void ZS_Poisoned_End()
{
};