Dobra, udało mi się stworzyć coś takiego:
if (!self.aivar[AIV_PARTYMEMBER] == TRUE)
{
Npc_ClearAIQueue (self);
B_ClearPerceptions (self);
AI_StartState (self, ZS_WatchFight, 0, ""); //Bogen und Magie geduldet bis zur AssessMurder-Wahrnehmung
return;
}
else if (self.aivar[AIV_PARTYMEMBER] == TRUE)
&& (Hlp_GetInstanceID(pc_hero) == Hlp_GetInstanceID(victim))
{
Npc_ClearAIQueue (self);
B_ClearPerceptions (self);
B_Attack (self, other, AR_NONE, 0);
PrintScreen ("Bezio jako ofiara", -1, -1, FONT_ScreenSmall, 2);
return;
}
else
{
Npc_ClearAIQueue (self);
B_ClearPerceptions (self);
B_Attack (self, victim, AR_NONE, 0);
PrintScreen ("Npc jako ofiara", -1, -1, FONT_ScreenSmall, 2);
return;
};
W B_AssessFightSound.d, w ZS_Unconscious.d dodałem:
// ------ NSC hat gegen Spieler verloren ------
if (self.guild < GIL_SEPERATOR_HUM)
|| (self.aivar[AIV_PARTYMEMBER] == TRUE) // tylko to
&& (Npc_IsPlayer(other))
{
I niby działa, tylko zauważyłem, że Rączka podczas misji zachowuje się jak Gorn podczas odbijania Wolnej Kopalni. Czyli czasami zaatakuje nas bez powodu, gdzie powinien atakować tylko Cassię/Ramireza/Jespera.
Edit: Co ciekawe, Aya też ignoruje Jespera. A Cassię i Ramireza atakuje.