mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
- food and water levels are lowered every hour, eat food to survive - not doing so leads to various penalties and ultimately death - added food items for that purpose. Food can degrade over time. Rotten food poisons. - Mercs automatically consume food if hungry/thirsty and food is in their inventories - for more info, see http://www.bears-pit.com/board/ubbthreads.php/topics/307396/Re_Mercs_need_food_and_water_t.html#Post307396 - this feature requires new STI files from the GameDir trunk. - added a bunch of filler variable to the soldier type, so hopefully savegame compatibility can be maintained easier in the future. WARNING: This will break savegame compatibility git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5411 3b4a5df2-a311-0410-b5c6-a8a6f20db521
83 lines
1.9 KiB
C
83 lines
1.9 KiB
C
#ifndef _MORALE_H
|
|
#define _MORALE_H
|
|
|
|
#include "Types.h"
|
|
#include "Soldier Control.h"
|
|
|
|
|
|
#define DEFAULT_MORALE 50
|
|
|
|
typedef enum
|
|
{
|
|
MORALE_KILLED_ENEMY = 0,
|
|
MORALE_SQUADMATE_DIED,
|
|
MORALE_SUPPRESSED,
|
|
MORALE_AIRSTRIKE,
|
|
MORALE_DID_LOTS_OF_DAMAGE,
|
|
MORALE_TOOK_LOTS_OF_DAMAGE, // 5
|
|
MORALE_KILLED_CIVILIAN,
|
|
MORALE_BATTLE_WON,
|
|
MORALE_RAN_AWAY,
|
|
MORALE_HEARD_BATTLE_WON,
|
|
MORALE_HEARD_BATTLE_LOST, // 10
|
|
MORALE_TOWN_LIBERATED,
|
|
MORALE_TOWN_LOST,
|
|
MORALE_MINE_LIBERATED,
|
|
MORALE_MINE_LOST,
|
|
MORALE_SAM_SITE_LIBERATED, // 15
|
|
MORALE_SAM_SITE_LOST,
|
|
MORALE_BUDDY_DIED,
|
|
MORALE_HATED_DIED,
|
|
MORALE_TEAMMATE_DIED,
|
|
MORALE_LOW_DEATHRATE, // 20
|
|
MORALE_HIGH_DEATHRATE,
|
|
MORALE_GREAT_MORALE,
|
|
MORALE_POOR_MORALE,
|
|
MORALE_DRUGS_CRASH,
|
|
MORALE_ALCOHOL_CRASH, // 25
|
|
MORALE_MONSTER_QUEEN_KILLED,
|
|
MORALE_DEIDRANNA_KILLED,
|
|
MORALE_CLAUSTROPHOBE_UNDERGROUND,
|
|
MORALE_INSECT_PHOBIC_SEES_CREATURE,
|
|
MORALE_NERVOUS_ALONE, // 30
|
|
MORALE_MERC_CAPTURED,
|
|
MORALE_MERC_MARRIED,
|
|
MORALE_QUEEN_BATTLE_WON,
|
|
MORALE_SEX,
|
|
// added by SANDRO
|
|
MORALE_HEAT_INTOLERANT_IN_DESERT,
|
|
MORALE_PSYCHO_UNABLE_TO_PSYCHO,
|
|
MORALE_PACIFIST_GAIN_NONCOMBAT,
|
|
MORALE_MALICIOUS_HIT,
|
|
|
|
// added by Flugente
|
|
MORALE_FOOD,
|
|
MORALE_GOOD_FOOD,
|
|
MORALE_BAD_FOOD,
|
|
MORALE_LOATHSOME_FOOD,
|
|
|
|
NUM_MORALE_EVENTS
|
|
} MoraleEventNames;
|
|
|
|
typedef enum
|
|
{
|
|
TACTICAL_MORALE_EVENT = 0,
|
|
STRATEGIC_MORALE_EVENT
|
|
} MoraleEventType;
|
|
|
|
typedef struct MoraleEvent
|
|
{
|
|
UINT8 ubType;
|
|
INT8 bChange;
|
|
} MoraleEvent;
|
|
|
|
extern void HandleMoraleEvent( SOLDIERTYPE * pSoldier, INT8 bMoraleEvent, INT16 sMapX, INT16 sMapY, INT8 bMapZ );
|
|
extern void RefreshSoldierMorale( SOLDIERTYPE * pSoldier );
|
|
extern INT8 GetMoraleModifier( SOLDIERTYPE * pSoldier );
|
|
|
|
void HourlyMoraleUpdate( void );
|
|
void DailyMoraleUpdate( SOLDIERTYPE *pSoldier );
|
|
|
|
void DecayTacticalMoraleModifiers( void );
|
|
|
|
#endif |