New feature: Getting and using intel allows for more spy-related roleplay.

For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=23643&goto=352475&#msg_352475

Requires GameDir >= r2401.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8522 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2018-02-18 23:17:34 +00:00
parent ee73811cfe
commit e55b480996
83 changed files with 3784 additions and 937 deletions
+19 -13
View File
@@ -92,6 +92,8 @@ enum
FACILITY_REPAIR,
FORTIFICATION, // Flugente: sectors can be fortified according to external layout plans
TRAIN_WORKERS,
CONCEALED, // Flugente: spy hides among the population
GATHERINTEL, // gathers information while disguised in enemy territory
NUM_ASSIGNMENTS,
};
@@ -107,6 +109,8 @@ enum
#define IS_REPAIR(assignment) ((assignment == REPAIR) || (assignment == FACILITY_REPAIR))
#define CASE_REPAIR case REPAIR: case FACILITY_REPAIR
#define SPY_LOCATION(assignment) ((assignment == CONCEALED) || (assignment == GATHERINTEL) )
// strings for snitch exposition
enum
{
@@ -176,6 +180,8 @@ BOOLEAN CanCharacterTreatSectorDisease( SOLDIERTYPE *pSoldier );
BOOLEAN CanCharacterFortify( SOLDIERTYPE *pSoldier );
BOOLEAN CanCharacterSpyAssignment( SOLDIERTYPE *pSoldier );
// can this character be assigned as a repairman?
BOOLEAN CanCharacterRepair( SOLDIERTYPE *pCharacter );
@@ -280,19 +286,12 @@ FLOAT GetBestSAMOperatorCTH_Player( INT16 sSectorX, INT16 sSectorY, INT16 sSecto
INT16 GetTrainWorkerPts(SOLDIERTYPE *pSoldier);
// Flugente: via various means, the player can get info on the enemy - this can be enemy positions, movement, or the position of important targets
enum
{
INFO_TYPE_NORMAL,
INFO_TYPE_VIP,
INFO_TYPE_MAX,
};
// this function gives a random bit of information to the player. The type of info depends on aInfoType.
// If higher-order info cannot be given (for example if all info is already known to the player), lower-order info wil be given instead
// returns TRUE if info was given, FALSE if not
BOOLEAN GiveInfoToPlayer( UINT8 aInfoType );
// Flugente: intel shenanigans
void BuildIntelInfoArray();
void CalcIntelInfoOfferings();
void GetIntelInfoOfferings( int aInfo[] );
void GetIntelInfoTextAndPrice( int aInfoNumber, STR16 aString, int& arIntelCost );
void BuyIntelInfo( int aInfoNumber );
// get bonus tarining pts due to an instructor for this student
// HEADROCK HAM 3.5: Three functions below have lost an argument which is no longer required ("uiAtGunRange", which was "uiAtFacility" in HAM 3.4)
@@ -319,6 +318,7 @@ extern INT32 ghRepairBox;
extern INT32 ghTrainingBox;
extern INT32 ghMoveItemBox;
extern INT32 ghDiseaseBox;
extern INT32 ghSpyBox;
extern INT32 ghAttributeBox;
extern INT32 ghRemoveMercAssignBox;
extern INT32 ghContractBox;
@@ -354,6 +354,7 @@ extern BOOLEAN fShownAssignmentMenu;
extern BOOLEAN fShowRepairMenu;
extern BOOLEAN fShowMoveItemMenu;
extern BOOLEAN fShowDiseaseMenu;
extern BOOLEAN fShowSpyMenu;
extern BOOLEAN fFirstClickInAssignmentScreenMask;
@@ -401,6 +402,11 @@ void CreateDestroyMouseRegionForDiseaseMenu( void );
void DiseaseMenuMvtCallback( MOUSE_REGION * pRegion, INT32 iReason );
void DiseaseMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason );
// Flugente: spy menu
void CreateDestroyMouseRegionForSpyMenu( void );
void SpyMenuMvtCallback( MOUSE_REGION * pRegion, INT32 iReason );
void SpyMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason );
// HEADROCK HAM 3.6: Facility Menu
void CreateDestroyMouseRegionForFacilityMenu( void );
void FacilityMenuMvtCallback(MOUSE_REGION * pRegion, INT32 iReason );