| | 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 |