Files
source/Strategic/Merc Contract.h
T
Wanne d5b4599e9c New Trait: Snitch (Trait 22) (by anv)
Every midnight snitches will give you a report about their collegues' opinions. Information includes:
- merc whining about high death rate,
- merc whining about player reputation,
- merc whining about his low morale,
- merc whining about some other merc (unliked, not only hated),
- merc planning to quit (leave without renewing contract, only AIM mercs) next day,
- merc whining about player inactivity,
- merc whining about player owing them money (you can only owe money to MERC mercs).

List of snitches (trait 22)
Beth
Bud
Buzz
Carp
Ears
Gary
Hurl
Lance
Leon
Weasel

see: http://www.bears-pit.com/board/ubbthreads.php/topics/329412/Snitches_+_Externalised_morale.html

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6723 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2014-01-01 12:02:23 +00: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( UINT8 ubID );
void HandleMercIsNotWillingToRenew( UINT8 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