Files
source/Strategic/Facilities.h
T
Wanne 779a83f121 Merged from revision: 7199
Fixes (by Buggler)
- Fixed town militia training bug after declining to train a new mobile militia squad upon completion
- Fixed income from facilities not properly added to cash balance

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7200 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2014-05-11 05:58:07 +00:00

83 lines
2.9 KiB
C

#ifndef _FACILITIES_H
#define _FACILITIES_H
#include "campaign types.h"
#include "Soldier Control.h"
// Get a specific modifier for a specific assignment at a specific facility. Includes Ambient (non-assignment based)
// effects, if any.
INT16 GetFacilityModifier( UINT8 ubModifierType, UINT8 ubFacilityType, UINT8 ubAssignmentType );
// Get a specific modifier from all facilities in the soldier's sector. This utilizes the above function.
INT16 GetSectorModifier( SOLDIERTYPE *pSoldier, UINT8 ubModifierType );
// Level of awareness to enemy movements, bestowed by facilities
extern void UpdateStrategicDetectionLevel( );
// Adjustment to Skyrider's cost-per-tile, bestowed by facilities
extern void UpdateSkyriderCostModifier( );
extern INT16 gsSkyriderCostModifier; // This variable is SAVED/LOADED
// HEADROCK HAM 3.6: Strategic info variable, total of income/costs accumulated for the use of facilities today.
// Account settle and reset at midnight, unless player can't pay (in which case, carries over to the next day).
extern INT32 giTotalEarnedForFacilityOperationsToday; // This variable is SAVED and LOADED.
extern INT32 giTotalOwedForFacilityOperationsToday; // This variable is SAVED and LOADED.
// Do we have outstanding debts for facility operation?
extern BOOLEAN gfOutstandingFacilityDebt; // This variable is SAVED and LOADED.
// Place this here for facility staffing checks.
extern UINT32 GetWorldTotalMin( );
// These are all the different modifiers we could be checking for.
enum
{
FACILITY_PERFORMANCE_MOD = 0,
FACILITY_SLEEP_MOD,
FACILITY_FATIGUE_MOD,
FACILITY_KIT_DEGRADE_MOD,
FACILITY_MAX_MORALE,
FACILITY_MAX_BREATH,
FACILITY_DETECT_IMMEDIATE,
FACILITY_DETECT_DYNAMIC,
FACILITY_DETECT_LONGRANGE,
FACILITY_DETECT_ANYWHERE,
FACILITY_COUNT_INWILD,
FACILITY_COUNT_INCITIES,
FACILITY_MINE_INCOME_MOD,
FACILITY_SKYRIDER_COST_MOD,
FACILITY_CANTINA_MOD,
FACILITY_PRISON_MOD
};
// HEADROCK HAM 3.6: Different enemy detection and counting levels
enum
{
DETECT_ENEMIES_DYNAMIC = 0,
DETECT_ENEMIES_LONGRANGE,
DETECT_ENEMIES_ANYWHERE,
COUNT_ENEMIES_IN_WILD,
COUNT_ENEMIES_IN_CITIES,
};
void UpdateGlobalVariablesFromFacilities( void );
void UpdateFacilityUsageCosts( void );
void HandleDailyPaymentFacilityIncome( void );
void HandleDailyPaymentFacilityDebt( void );
void HandleManualPaymentFacilityDebt( void );
void HandleHourlyRisks( void );
INT32 MineIncomeModifierFromFacility( UINT8 ubMine );
INT8 GetSoldierFacilityAssignmentIndex( SOLDIERTYPE *pSoldier );
void HandleRisksForSoldier( SOLDIERTYPE *pSoldier );
void HandleRisksForSoldierFacilityAssignment( SOLDIERTYPE *pSoldier, UINT8 ubFacilityType, UINT8 ubAssignmentType );
INT16 FacilityRiskResult( SOLDIERTYPE *pSoldier, UINT8 ubRiskType, UINT8 ubFacilityType, UINT8 ubAssignmentType );
INT32 GetTotalFacilityHourlyCosts( BOOLEAN fPositive );
void InitFacilities();
#endif