/****************************
// PC_Sleep
//****************************
func void PC_Sleep (var int t)
{
AI_StopProcessInfos(self); // [SK] ->muss hier stehen um das update zu gewährleisten
PLAYER_MOBSI_PRODUCTION = MOBSI_NONE;
self.aivar[AIV_INVINCIBLE]=FALSE;
if (Wld_IsTime(00,00,t,00))
{
Wld_SetTime (t,00);
}
else
{
t = t + 24;
Wld_SetTime (t,00);
};
Wld_StopEffect("DEMENTOR_FX");
// FIXME_Nico: dauert zu lange um es vernuenftig zu machen.
// Wld_PlayEffect ("SLEEP_BLEND", hero, hero, 0, 0, 0, FALSE);
if (SC_IsObsessed == TRUE)
{
PrintScreen (PRINT_SleepOverObsessed, -1,-1,FONT_Screen,2);
}
else
{
PrintScreen (PRINT_SleepOver, -1,-1,FONT_Screen,2);
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS_MAX];
hero.attribute[ATR_MANA] = hero.attribute[ATR_MANA_MAX];
};
if (Npc_KnowsInfo (hero,DIA_KOC_OPOL_Hallo))
{
B_SetNpcVisual (hero, MALE, "Hum_Head_Fighter", Face_N_Tough_Okyl, BodyTex_N, ITAR_PAL_H);
AI_Teleport (hero,"HAGEN");
Mdl_SetModelFatness (hero, 1.5);
sen_na_jawie = TRUE;
};
//-------- AssessEnterRoom-Wahrnehmung versenden --------
PrintGlobals (PD_ITEM_MOBSI);
Npc_SendPassivePerc (hero, PERC_ASSESSENTERROOM, NULL, hero); //...damit der Spieler dieses Feature nicht zum Hütteplündern ausnutzt!
};
func void SLEEPABIT_S1 ()
{
var C_NPC her; her = Hlp_GetNpc(PC_Hero);
var C_NPC rock; rock = Hlp_GetNpc(PC_Rockefeller);
//***ALT** if (Hlp_GetInstanceID (self)== Hlp_GetInstanceID (Hero)) // MH: geändert, damit kontrollierte NSCs nicht schlafen können!
if ( (Hlp_GetInstanceID(self)==Hlp_GetInstanceID(her))||(Hlp_GetInstanceID(self)==Hlp_GetInstanceID(rock)) )
{
self.aivar[AIV_INVINCIBLE]=TRUE;
PLAYER_MOBSI_PRODUCTION = MOBSI_SLEEPABIT;
Ai_ProcessInfos (her);
if (SC_IsObsessed == TRUE)
{
Wld_PlayEffect("DEMENTOR_FX", hero, hero, 0, 0, 0, FALSE );
};
};
};
func void tick_tock()
{
PrintScreen (inttostring(minitime/10), minitime%100,minitime%100,"FONT_OLD_20_WHITE.TGA",2);
minitime=minitime+1;
if (hero.attribute[ATR_HITPOINTS] > 0 )
&& (sen_na_jawie == TRUE)
{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS_max];
sen_na_jawie == FALSE;
AI_Teleport (hero,"SLEEP_HERO" );
};
};