Witam,
napisałem sobie czar leczenia grupowego, który opiera się na leczeniu tych, którzy mają partymember true;
func void GroupHealPlus (var C_NPC kto) //dodawanie HP w drużynie
{
if(kto.aivar[AIV_PARTYMEMBER]==TRUE){
Npc_ChangeAttribute (kto,ATR_HITPOINTS, +100);
};
};
func void Spell_Cast_GroupHeal()
{
if ( Npc_GetActiveSpell(self) == SPL_GroupHeal )
{
if (Npc_GetActiveSpellIsScroll(self))
{
self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - SPL_Cost_Scroll;
}
else
{
self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - SPL_Cost_GroupHeal;
};
Npc_ChangeAttribute (self,ATR_HITPOINTS, +SPL_Heal_GroupHeal);
var C_NPC uzdrawiany;
if (StanDruzyny > 1) {
PrintScreen ("UZDROWIONY", -1,-1, FONT_ScreenSmall,3);
GroupHealPlus (uzdrawiany);
};
return;
};
self.aivar[AIV_SelectSpell] += 1;
};
Niestety funkcja GroupHealPlus nie wywołuje się na NPC, który jest z nami w drużynie.
*zrobiłem już coś takiego, że można rzucić czar na jedną konkretną osobę - działa, ale nie o to mi chodzi.
Jak zdefiniować NPC tak, że jeśli jest ze mną w drużynie, to go uzdrawiam?