#ifndef AC_NPC_CURATOR_H #define AC_NPC_CURATOR_H #include "types.h" #include "m_actor.h" #include "ac_npc.h" #ifdef __cplusplus extern "C" { #endif #define aCR_SLEEP_WAIT_TIMER (6 * 60) // 6 seconds (calculated in frames frames) #define aCR_SLEEP_TIME_START ( 6 * mTM_SECONDS_IN_HOUR) #define aCR_SLEEP_TIME_END (18 * mTM_SECONDS_IN_HOUR) typedef struct npc_curator_actor_s NPC_CURATOR_ACTOR; typedef void (*aCR_SETUPTALKACTION_PROC)(NPC_CURATOR_ACTOR*, GAME_PLAY*, int); typedef void (*aCR_ACTION_PROC)(NPC_ACTOR*, GAME_PLAY*); typedef void (*aCR_ACT_PROC)(NPC_CURATOR_ACTOR*, GAME_PLAY*); typedef void (*aCR_TALK_ACT_PROC)(NPC_CURATOR_ACTOR*, GAME_PLAY*); struct npc_curator_actor_s { NPC_ACTOR npc_class; int action; aCR_ACT_PROC action_proc; int sleep_wait_timer; int talk_act_idx; aCR_TALK_ACT_PROC talk_proc; aCR_SETUPTALKACTION_PROC setupTalkAction_proc; int msg_no; int _9B0; // might be unused 'awake' state mActor_name_t donated_item; }; extern ACTOR_PROFILE Npc_Curator_Profile; #ifdef __cplusplus } #endif #endif