Kod wywoływany w funkcji inicjalizującej każdą rutynę. Jak dla mnie wygodniej byłoby to po prostu wkleić do GuardPerception i B_SetPerception, żeby nie wklejać tego do każdej rutyny, no ale jak kto woli.
Spoiler
//Made By Fenix
func void B_SpecialInRoutineReaction ()
{
//Edit By Fenix
if (self.flags == NPC_FLAG_IMMORTAL)
{
self.protection [PROT_FLY] = 9999;
}else
{
if (C_NpcIsHuman(self))
{
self.protection [PROT_FLY] = 0;
};
};
if (self.id == VLK_7533_BEN.id)
{
var c_item Ben_Armor;
Ben_Armor = Npc_GetEquippedArmor (self);
if (Hlp_IsItem (Ben_Armor,VLK_ARMOR_M)) && (Npc_HasItems (self,GRD_ARMOR_L1))
{
AI_EquipBestMeleeWeapon (self);
AI_EquipBestRangedWeapon (self);
AI_EquipBestArmor (self);
};
};
if (self.id == Non_2008_Alchemik.id)
{
if (Npc_KnowsInfo (hero, Info_Alch_Hello))
{
self.name = "Alchemik";
}else
{
self.name = "Stary pustelnik";
};
};
if (self.id == Grd_10000_Drak.id)
{
/*if (Hlp_StrCmp(self.name, "Drak"))
{
AI_EquipArmor (self, maska);
self.name = ConcatStrings (" ", self.name);
self.name = ConcatStrings (self.name, " ");
};*/
if (self.aivar[AIV_WEARHELM] == False)
{
AI_EquipArmor (self, maska);
self.aivar[AIV_WEARHELM] = True;
};
};
if(self.id == Non_2000_Thangor.id)
{
if (self.aivar[AIV_WEARHELM] == False)
{
AI_EquipArmor (self, spartan_helm);
self.aivar[AIV_WEARHELM] = True;
};
};
if (self.id == Non_2002_Monk.id)
{
if (self.aivar[AIV_WEARHELM] == False)
{
AI_EquipArmor (self, maska);
self.aivar[AIV_WEARHELM] = True;
};
};
if (self.id == Non_2003_Korth.id)
{
if (self.aivar[AIV_WEARHELM] == False)
{
AI_EquipArmor (self, maska);
self.aivar[AIV_WEARHELM] = True;
};
};
if (self.id == Non_2005_Kyro.id)
{
if (self.aivar[AIV_WEARHELM] == False)
{
AI_EquipArmor (self, maska);
self.aivar[AIV_WEARHELM] = True;
};
};
var c_item Ban_Armor;
Ban_Armor = Npc_GetEquippedArmor (self);
//if (Hlp_IsItem (Ban_Armor,BAN_ARMOR_M)) || (Hlp_IsItem (Ban_Armor,BAN_ARMOR_L))
if (self.id == ORG_858_Quentin.id) || (self.id == ORG_864_Kosa.id) || (self.id == Non_2095_Volar.id)
{
if (self.aivar[AIV_WEARHELM] == False)
{
CreateInvItem (self, maska2);
AI_EquipArmor (self, maska2);
self.aivar[AIV_WEARHELM] = True;
};
};
if (Hlp_GetInstanceID(R_Skeleton) == Hlp_GetInstanceID(self))
{
if (self.guild == GIL_PAC)
{
//PrintScreen("BLEEE",-1,50,"font_old_20_white.tga",3);
};
if (self.aivar[AIV_WEARHELM] == False)
{
var int loseeuqip;
/*
if (loseeuqip == 1)
{
Mdl_SetVisualBody (self, "Ske_Body3", DEFAULT, DEFAULT, "", DEFAULT, DEFAULT, -1);
CreateInvItem (self, ItMw_1H_Sword_Bastard_01);
CreateInvItem (self, isil_helm);
AI_EquipArmor (self, isil_helm);
self.aivar[AIV_WEARHELM] = 1;
}else
if (loseeuqip == 2)
{
Mdl_SetVisualBody (self, "Ske_Body2", DEFAULT, DEFAULT, "", DEFAULT, DEFAULT, -1);
CreateInvItem (self, test3items);
CreateInvItem (self, test2items);
CreateInvItem (self, ass_helm);
AI_EquipArmor (self, ass_helm);
self.aivar[AIV_WEARHELM] = 2;
}else
if (loseeuqip == 3)
{
Mdl_SetVisualBody (self, "Ske_Body2", DEFAULT, DEFAULT, "", DEFAULT, DEFAULT, -1);
CreateInvItem (self, ItMw_2H_Sword_Old_01);
CreateInvItem (self, spartan_helm);
AI_EquipArmor (self, spartan_helm);
self.aivar[AIV_WEARHELM] = 3;
};
*/
loseeuqip = Hlp_Random(3)+1;
if (loseeuqip == 1)
{
CreateInvItem (self, ItMw_1H_Sword_Bastard_01);
self.aivar[AIV_WEARHELM] = 1;
}else
if (loseeuqip == 2)
{
CreateInvItem (self, test3items);
CreateInvItem (self, test2items);
self.aivar[AIV_WEARHELM] = 2;
}else
if (loseeuqip == 3)
{
CreateInvItem (self, ItMw_2H_Sword_Old_01);
self.aivar[AIV_WEARHELM] = 3;
};
loseeuqip = Hlp_Random(3)+1;
if (loseeuqip == 1)
{
Mdl_SetVisualBody (self, "Ske_Body3", DEFAULT, DEFAULT, "", DEFAULT, DEFAULT, -1);
}else
if (loseeuqip == 2)
{
Mdl_SetVisualBody (self, "Ske_Body2", DEFAULT, DEFAULT, "", DEFAULT, DEFAULT, -1);
}else
if (loseeuqip == 3)
{
Mdl_SetVisualBody (self, "Ske_Body2", DEFAULT, DEFAULT, "", DEFAULT, DEFAULT, -1);
};
loseeuqip = Hlp_Random(3)+1;
if (loseeuqip == 1)
{
CreateInvItem (self, isil_helm);
AI_EquipArmor (self, isil_helm);
}else
if (loseeuqip == 2)
{
CreateInvItem (self, ass_helm);
AI_EquipArmor (self, ass_helm);
}else
if (loseeuqip == 3)
{
CreateInvItem (self, spartan_helm);
AI_EquipArmor (self, spartan_helm);
};
Wld_PlayEffect("spellFX_BELIARSRAGE", self, self, 0, 0, 0, FALSE );
AI_EquipBestMeleeWeapon (self);
RessurectedSkeletons = RessurectedSkeletons+1;
AI_ReadyMeleeWeapon (self);
NPC_SetTarget (self,hero);
AI_StartState (self, ZS_Attack, 0, "" );
//B_ChangeGuild (self,GIL_PAC);
//AI_StartState (self, ZS_SetToDie, 0, "" );
};
};
};
func void ZS_SetToDie ()
{
B_KillNPC (self);
};