4b825dc642cb6eb9a060e54bf8d69288fbee4904ebd360ec63ec976c05699f3180e866b3f69e5472
 
 
1
 
 
 
2
/*------------------------Patrick 26/11/96-----------------------------
 
 
3
  Header file for FAR AI alien behaviour
 
 
4
  --------------------------------------------------------------------*/
 
 
5
 
 
 
6
#ifndef _bhfar_h_
 
 
7
#define _bhfar_h_ 1
 
 
8
#include "module.h"
 
 
9
 
 
 
10
/* enum for far alien target module    status */
 
 
11
typedef    enum fnpc_targetmodulestatus
 
 
12
{
 
 
13
    NPCTM_NoEntryPoint,
 
 
14
    NPCTM_NormalRoom,
 
 
15
    NPCTM_AirDuct,
 
 
16
    NPCTM_LiftTeleport,
 
 
17
    NPCTM_ProxDoorOpen,
 
 
18
    NPCTM_ProxDoorNotOpen,
 
 
19
    NPCTM_LiftDoorOpen,
 
 
20
    NPCTM_LiftDoorNotOpen,
 
 
21
    NPCTM_SecurityDoorOpen,
 
 
22
    NPCTM_SecurityDoorNotOpen,
 
 
23
 
 
 
24
} NPC_TARGETMODULESTATUS;
 
 
25
 
 
 
26
extern void KillFarModuleLocs();
 
 
27
 
 
 
28
extern void LocateFarNPCInAIModule(STRATEGYBLOCK *sbPtr, AIMODULE *targetModule);
 
 
29
extern NPC_TARGETMODULESTATUS GetTargetAIModuleStatus(STRATEGYBLOCK *sbPtr, AIMODULE *targetModule, int alien);
 
 
30
 
 
 
31
extern AIMODULE *FarNPC_GetTargetAIModuleForHunt(STRATEGYBLOCK *sbPtr,int alien);
 
 
32
extern AIMODULE *FarNPC_GetTargetAIModuleForWander(STRATEGYBLOCK *sbPtr, AIMODULE *exception, int alien);
 
 
33
extern AIMODULE *FarNPC_GetTargetAIModuleForRetreat(STRATEGYBLOCK *sbPtr);
 
 
34
extern void FarNpc_FlipAround(STRATEGYBLOCK *sbPtr);
 
 
35
 
 
 
36
/* this define to help stop aliens coagulating in the environment */
 
 
37
#define MAX_VISIBLEGENERATORNPCS    12
 
 
38
 
 
 
39
#endif