Files
source/Strategic/Merc Contract.h
T
2024-11-21 21:29:28 +02:00

92 lines
2.5 KiB
C

#ifndef _MERC_CONTRACT_H_
#define _MERC_CONTRACT_H_
#include "Soldier Control.h"
//enums used for extending contract, etc.
enum
{
CONTRACT_EXTEND_1_DAY,
CONTRACT_EXTEND_1_WEEK,
CONTRACT_EXTEND_2_WEEK,
NUM_CONTRACT_EXTEND,
};
typedef struct
{
UINT8 ubProfileID;
UINT8 ubFiller[ 3 ];
} CONTRACT_NEWAL_LIST_NODE;
// WDS - make number of mercenaries, etc. be configurable
//extern CONTRACT_NEWAL_LIST_NODE ContractRenewalList[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
//extern UINT8 ubNumContractRenewals;
extern BOOLEAN gfContractRenewalSquenceOn;
//extern UINT8 ubCurrentContractRenewal;
extern BOOLEAN gfInContractMenuFromRenewSequence;
/*
//list of quotes used in renewing a mercs contract
enum
{
LAME_REFUSAL_DOING_SOMETHING_ELSE = 73,
DEPARTING_COMMENT_AFTER_48_HOURS = 75,
CONTRACTS_OVER_U_EXTENDING = 79,
ACCEPT_CONTRACT_RENEWAL = 80,
REFUSAL_TO_RENEW_POOP_MORALE = 85,
DEPARTING_COMMENT_BEFORE_48_HOURS=88,
DEATH_RATE_REFUSAL=89,
HATE_MERC_1_ON_TEAM,
HATE_MERC_2_ON_TEAM,
LEARNED_TO_HATE_MERC_ON_TEAM,
JOING_CAUSE_BUDDY_1_ON_TEAM,
JOING_CAUSE_BUDDY_2_ON_TEAM,
JOING_CAUSE_LEARNED_TO_LIKE_BUDDY_ON_TEAM,
PRECEDENT_TO_REPEATING_ONESELF,
REFUSAL_DUE_TO_LACK_OF_FUNDS,
};
*/
BOOLEAN MercContractHandling( SOLDIERTYPE *pSoldier, UINT8 ubDesiredAction );
BOOLEAN StrategicRemoveMerc( SOLDIERTYPE *pSoldier );
BOOLEAN BeginStrategicRemoveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fAddRehireButton );
BOOLEAN WillMercRenew( SOLDIERTYPE *pSoldier, BOOLEAN fSayQuote );
void HandleBuddiesReactionToFiringMerc(SOLDIERTYPE *pFiredSoldier, INT8 bMoraleEvent );
void CheckIfMercGetsAnotherContract( SOLDIERTYPE *pSoldier );
void FindOutIfAnyMercAboutToLeaveIsGonnaRenew( void );
void BeginContractRenewalSequence( );
void HandleContractRenewalSequence( );
void EndCurrentContractRenewal( );
void HandleMercIsWillingToRenew( SoldierID ubID );
void HandleMercIsNotWillingToRenew( SoldierID ubID );
BOOLEAN ContractIsExpiring( SOLDIERTYPE *pSoldier );
UINT32 GetHourWhenContractDone( SOLDIERTYPE *pSoldier );
BOOLEAN ContractIsGoingToExpireSoon( SOLDIERTYPE *pSoldier );
BOOLEAN LoadContractRenewalDataFromSaveGameFile( HWFILE hFile );
BOOLEAN SaveContractRenewalDataToSaveGameFile( HWFILE hFile );
// rehiring of mercs from leave equipment pop up
extern BOOLEAN fEnterMapDueToContract;
extern SOLDIERTYPE *pContractReHireSoldier;
extern SOLDIERTYPE *pLeaveSoldier;
extern UINT8 ubQuitType;
extern BOOLEAN gfFirstMercSayQuote;
#endif