A ja mam jeszcze jedno pytanie. Napisałem tę funkcję tak:
func void armor_zuzycie ()
{
var c_item zbroja;
zbroja = Npc_GetEquippedArmor(hero);
print ("trafiono bohatera");
zbroja.protection [PROT_EDGE] = zbroja.protection [PROT_EDGE] - 1;
PrintScreen (ConcatStrings ("Zużycie: ", IntToString(zbroja.protection [PROT_EDGE])),10,12,"FONT_OLD_10_WHITE.TGA",3);
if (zbroja.protection [PROT_EDGE] == 1)
{
AI_UnequipArmor (hero);
Print ("Zbroja zniszczona!");
};
};
Wszystko się wyświetla, zbroja się zdejmuje, ale mimo wszystko w ekwipunku dalej pisze: ochrona przed bronią 70. Zauważyłem też, że zbroja mimo wszystko chroni tak samo (lol?) nawet jak ją zdejmiemy (topielec zadawał i 1 punkt obrażeń). Sprawdziłem to także na walce z NPC, bo myślałem, że może PROT_EDGE jest tylko do broni, ale dalej nie działa jak powinno.