Morale.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #ifndef _MORALE_H
  2. #define _MORALE_H
  3. #include "Types.h"
  4. #include "Soldier Control.h"
  5. #define DEFAULT_MORALE 50
  6. typedef enum
  7. {
  8. MORALE_KILLED_ENEMY = 0,
  9. MORALE_SQUADMATE_DIED,
  10. MORALE_SUPPRESSED,
  11. MORALE_AIRSTRIKE,
  12. MORALE_DID_LOTS_OF_DAMAGE,
  13. MORALE_TOOK_LOTS_OF_DAMAGE, // 5
  14. MORALE_KILLED_CIVILIAN,
  15. MORALE_BATTLE_WON,
  16. MORALE_RAN_AWAY,
  17. MORALE_HEARD_BATTLE_WON,
  18. MORALE_HEARD_BATTLE_LOST, // 10
  19. MORALE_TOWN_LIBERATED,
  20. MORALE_TOWN_LOST,
  21. MORALE_MINE_LIBERATED,
  22. MORALE_MINE_LOST,
  23. MORALE_SAM_SITE_LIBERATED, // 15
  24. MORALE_SAM_SITE_LOST,
  25. MORALE_BUDDY_DIED,
  26. MORALE_HATED_DIED,
  27. MORALE_TEAMMATE_DIED,
  28. MORALE_LOW_DEATHRATE, // 20
  29. MORALE_HIGH_DEATHRATE,
  30. MORALE_GREAT_MORALE,
  31. MORALE_POOR_MORALE,
  32. MORALE_DRUGS_CRASH,
  33. MORALE_ALCOHOL_CRASH, // 25
  34. MORALE_MONSTER_QUEEN_KILLED,
  35. MORALE_DEIDRANNA_KILLED,
  36. MORALE_CLAUSTROPHOBE_UNDERGROUND,
  37. MORALE_INSECT_PHOBIC_SEES_CREATURE,
  38. MORALE_NERVOUS_ALONE, // 30
  39. MORALE_MERC_CAPTURED,
  40. MORALE_MERC_MARRIED,
  41. MORALE_QUEEN_BATTLE_WON,
  42. MORALE_SEX,
  43. NUM_MORALE_EVENTS
  44. } MoraleEventNames;
  45. typedef enum
  46. {
  47. TACTICAL_MORALE_EVENT = 0,
  48. STRATEGIC_MORALE_EVENT
  49. } MoraleEventType;
  50. typedef struct MoraleEvent
  51. {
  52. UINT8 ubType;
  53. INT8 bChange;
  54. } MoraleEvent;
  55. extern void HandleMoraleEvent( SOLDIERTYPE * pSoldier, INT8 bMoraleEvent, INT16 sMapX, INT16 sMapY, INT8 bMapZ );
  56. extern void RefreshSoldierMorale( SOLDIERTYPE * pSoldier );
  57. extern INT8 GetMoraleModifier( SOLDIERTYPE * pSoldier );
  58. void HourlyMoraleUpdate( void );
  59. void DailyMoraleUpdate( SOLDIERTYPE *pSoldier );
  60. void DecayTacticalMoraleModifiers( void );
  61. #endif