1 #ifndef _MERC_CONTRACT_H_
2 #define _MERC_CONTRACT_H_
3 
4 #include "JA2Types.h"
5 
6 
7 //enums used for extending contract, etc.
8 enum
9 {
10 	CONTRACT_EXTEND_1_DAY,
11 	CONTRACT_EXTEND_1_WEEK,
12 	CONTRACT_EXTEND_2_WEEK,
13 };
14 
15 
16 extern BOOLEAN									gfContractRenewalSquenceOn;
17 extern BOOLEAN									gfInContractMenuFromRenewSequence;
18 
19 
20 /*
21 
22 //list of quotes used in renewing a mercs contract
23 enum
24 {
25 	LAME_REFUSAL_DOING_SOMETHING_ELSE = 73,
26 	DEPARTING_COMMENT_AFTER_48_HOURS	= 75,
27 	CONTRACTS_OVER_U_EXTENDING = 79,
28 	ACCEPT_CONTRACT_RENEWAL = 80,
29 	REFUSAL_TO_RENEW_POOP_MORALE = 85,
30 	DEPARTING_COMMENT_BEFORE_48_HOURS=88,
31 	DEATH_RATE_REFUSAL=89,
32 	HATE_MERC_1_ON_TEAM,
33 	HATE_MERC_2_ON_TEAM,
34 	LEARNED_TO_HATE_MERC_ON_TEAM,
35 	JOING_CAUSE_BUDDY_1_ON_TEAM,
36 	JOING_CAUSE_BUDDY_2_ON_TEAM,
37 	JOING_CAUSE_LEARNED_TO_LIKE_BUDDY_ON_TEAM,
38 	PRECEDENT_TO_REPEATING_ONESELF,
39 	REFUSAL_DUE_TO_LACK_OF_FUNDS,
40 };
41 */
42 
43 BOOLEAN	MercContractHandling( SOLDIERTYPE	*pSoldier, UINT8 ubDesiredAction );
44 
45 void StrategicRemoveMerc(SOLDIERTYPE&);
46 void MakeCharacterDialogueEventContractEnding(SOLDIERTYPE&, bool add_rehire_button);
47 void MakeCharacterDialogueEventContractEndingNoAskEquip(SOLDIERTYPE&);
48 
49 
50 BOOLEAN WillMercRenew( SOLDIERTYPE	*pSoldier, BOOLEAN fSayQuote );
51 void CheckIfMercGetsAnotherContract(SOLDIERTYPE&);
52 void FindOutIfAnyMercAboutToLeaveIsGonnaRenew( void );
53 
54 void BeginContractRenewalSequence(void);
55 void HandleContractRenewalSequence(void);
56 
57 UINT32 GetHourWhenContractDone( SOLDIERTYPE *pSoldier );
58 
59 void LoadContractRenewalDataFromSaveGameFile(HWFILE);
60 void SaveContractRenewalDataToSaveGameFile(HWFILE);
61 
62 
63 // rehiring of mercs from leave equipment pop up
64 extern BOOLEAN	fEnterMapDueToContract;
65 extern SOLDIERTYPE *pContractReHireSoldier;
66 
67 #endif
68