Files
source/Tactical/Merc Hiring.h
T

67 lines
1.8 KiB
C

#ifndef _MERC_HIRING_H_
#define _MERC_HIRING_H_
#include "Soldier Control.h"
//
// Used with the HireMerc function
//
// WDS - make number of mercenaries, etc. be configurable
#define MERC_HIRE_OVER_PLAYER_LIMIT -1
#define MERC_HIRE_FAILED 0
#define MERC_HIRE_OK 1
#define MERC_ARRIVE_TIME_SLOT_1 ( 7 * 60 + 30 ) // 7:30 a.m.
#define MERC_ARRIVE_TIME_SLOT_2 ( 13 * 60 + 30 ) // 1:30 pm
#define MERC_ARRIVE_TIME_SLOT_3 ( 19 * 60 + 30 ) // 7:30 pm
// ATE: This define has been moved to be a function so that
// we pick the most appropriate time of day to use...
//#define MERC_ARRIVAL_TIME_OF_DAY (7 * 60 + 30) // 7:30 am
typedef struct
{
UINT8 ubProfileID;
INT16 sSectorX;
INT16 sSectorY;
INT8 bSectorZ;
INT16 iTotalContractLength;
BOOLEAN fCopyProfileItemsOver;
UINT32 uiTimeTillMercArrives;
UINT8 ubInsertionCode;
UINT16 usInsertionData;
BOOLEAN fUseLandingZoneForArrival;
} MERC_HIRE_STRUCT;
// ATE: Globals that dictate where the mercs will land once being hired
extern INT16 gsMercArriveSectorX;
extern INT16 gsMercArriveSectorY;
//ja25ub
//extern BOOLEAN gfFirstTimeInGameHeliCrash;
INT8 HireMerc( MERC_HIRE_STRUCT *pHireMerc);
void MercArrivesCallback( UINT16 ubSoldierID );
BOOLEAN IsMercHireable( UINT8 ubMercID );
BOOLEAN IsMercDead( UINT8 ubMercID );
UINT16 NumberOfMercsOnPlayerTeam();
BOOLEAN IsTheSoldierAliveAndConcious( SOLDIERTYPE *pSoldier );
void HandleMercArrivesQuotes( SOLDIERTYPE *pSoldier );
void UpdateAnyInTransitMercsWithGlobalArrivalSector( );
UINT32 GetMercArrivalTimeOfDay( );
extern INT16 StrategicPythSpacesAway(INT16 sOrigin, INT16 sDest);
#ifdef JA2UB
void UpdateJerryMiloInInitialSector();
void InitializeHeliGridnoAndTime( BOOLEAN fLoading );
void InitJerryMiloInfo();
#endif
#endif