instance INFO_SARGON_LARKKO_ATLARK3(C_Info)
{
npc = STT_319_Schatten;
nr = 1;
condition = info_sargon_larkko_atlark3_condition;
information = info_sargon_larkko_atlark3_info;
permanent = 0;
important = 1;
};
func int info_sargon_larkko_atlark3_condition()
{
if(Npc_KnowsInfo(other,info_sargon_larkko_atlark2) && LARK_DETECTED_CHEST)
{
return 1;
};
return 0;
};
func void info_sargon_larkko_atlark3_info()
{
AI_Output(self,other,"Info_Sargon_LarkKO_AtLark3_01"); //Что было в сундуке?
AI_Output(other,self,"Info_Sargon_LarkKO_AtLark3_02"); //Ничего особенного. Всякий хлам, немного руды.
};
-----------------------------------------------------------------------------------------------------------------------------------
var int lark_detected_chest;
func void zs_accessuselarkchest()
{
var string detectedMob;
detectedMob = Npc_GetDetectedMob(other);
if(Hlp_StrCmp(Npc_GetNearestWP(other),"OCR_HUT_39") && (Hlp_StrCmp(detectedMob,"CHESTBIG") || Hlp_StrCmp(detectedMob,"CHESTSMALL")) && Hlp_StrCmp(Npc_GetNearestWP(self),"OCR_OUTSIDE_HUT_39"))
{
LARK_DETECTED_CHEST = 1;
};
};
func void zs_sneakguidepc()
{
ZS_GuidePC();
Npc_PercEnable(self,PERC_ASSESSUSEMOB,zs_accessuselarkchest);
};
func int zs_sneakguidepc_loop()
{
PrintDebugNpc(PD_TA_LOOP,"ZS_SneakGuidePC_Loop");
PrintGlobals(PD_TA_CHECK);
if(Npc_GetDistToNpc(self,hero) > PERC_DIST_DIALOG)
{
B_GuidePC_AssessPlayer();
}
else if((Npc_GetDistToWP(self,self.wp) > PERC_DIST_DIALOG) || !Hlp_StrCmp(Npc_GetNearestWP(self),self.wp))
{
PrintDebugNpc(PD_TA_CHECK,"...Ziel noch zu weit entfernt!");
if(!C_BodyStateContains(self,BS_SWIM))
{
AI_SetWalkMode(self,NPC_SNEAK);
};
AI_StopLookAt(self);
AI_GotoWP(self,self.wp);
}
else
{
B_SmartTurnToNpc(self,hero);
};
AI_Wait(self,1);
return LOOP_CONTINUE;
};
func void zs_sneakguidepc_end()
{
PrintDebugNpc(PD_TA_FRAME,"ZS_SneakGuidePC_End");
self.senses_range = hero.senses_range;
self.senses = hero.senses;
};
FUNC VOID Mob_CreateItems (VAR STRING mobName, VAR INT itemInstance, VAR INT amount) {};
// Erzeuge "amount" Items der Instanz "itemInstance" in oCMobContainer mit angegebenen Vobnamen.
FUNC INT Mob_HasItems (var STRING mobName, VAR INT itemInstance ) { return 0; };
// Liefere Anzahl der Items der Instanz "itemInstance" in oCMobContainer mit angegebenen Vobnamen