Disease update:

- <InfectionChance_WOUND_FIRE> can cause infections when taking fire damage
- <InfectionChance_WOUND_GAS> can cause infections when taking non-fire gas damage
- <fSpecialFlagLimitedUseArms> causes the infected to be unable to use one arm
- <fSpecialFlagLimitedUseLegs> causes the infected to be unable to run, and walk and travel slowly
- JA2_options.ini option DISEASE_SEVERE_LIMITATIONS controls whether <fSpecialFlagContractDisability>, <fSpecialFlagLimitedUseArms> and <fSpecialFlagLimitedUseLegs> are used

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

- Gas damage split up in fire and non-fire damage.
- Flamethrower projectile damaged is affected by fire resistance.

Requires GameDir >= r2553.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8828 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2020-06-25 22:42:44 +00:00
parent 4e86046d0c
commit 098dc8e280
36 changed files with 694 additions and 89 deletions
+9 -1
View File
@@ -55,11 +55,12 @@ extern UINT16 CivLastNames[MAXCIVLASTNAMES][10];
#define TAKE_DAMAGE_BLOODLOSS 5
#define TAKE_DAMAGE_EXPLOSION 6
#define TAKE_DAMAGE_ELECTRICITY 7
#define TAKE_DAMAGE_GAS 8
#define TAKE_DAMAGE_GAS_FIRE 8
#define TAKE_DAMAGE_TENTACLES 9
#define TAKE_DAMAGE_STRUCTURE_EXPLOSION 10
#define TAKE_DAMAGE_OBJECT 11
#define TAKE_DAMAGE_VEHICLE_TRAUMA 12
#define TAKE_DAMAGE_GAS_NOTFIRE 13
#define SOLDIER_UNBLIT_SIZE (75*75*2)
@@ -233,6 +234,7 @@ enum
MERC_APPLYITEM,
MERC_INTERACTIVEACTION,
MERC_FILLBLOODBAG,
MERC_MEDICALSPLINT,
};
// ENUMERATIONS FOR THROW ACTIONS
@@ -437,7 +439,9 @@ enum
#define SOLDIERDISEASE_DIAGNOSED 0x00000001 //1 // it is now known that we have this disease - either a doctor diagnosed it, or it broke out an we are currently suffering
#define SOLDIERDISEASE_OUTBREAK 0x00000002 //2 // disease has broken out - we suffer the effects now. Without this flag, it is active but does not do any damage to us
#define SOLDIERDISEASE_REVERSEAL 0x00000004 //4 // disease is reversing - every hour we receive negative points. This is used to simulate a disease healing itself
#define SOLDIERDISEASE_SPLINTAPPLIED_LEG 0x00000008 // a spling has been applied to the leg. Diseases with the corresponding tag will heal faster
#define SOLDIERDISEASE_SPLINTAPPLIED_ARM 0x00000010 // a spling has been applied to the arm. Diseases with the corresponding tag will heal faster
// -------- added by Flugente: background property flags --------
@@ -1677,6 +1681,7 @@ public:
void EVENT_SoldierHandcuffPerson( INT32 sGridNo, UINT8 ubDirection ); // added by Flugente
void EVENT_SoldierApplyItemToPerson( INT32 sGridNo, UINT8 ubDirection ); // added by Flugente
void EVENT_SoldierTakeBloodFromPerson( INT32 sGridNo, UINT8 ubDirection ); // added by Flugente
void EVENT_SoldierApplySplintToPerson( INT32 sGridNo, UINT8 ubDirection ); // added by Flugente
void EVENT_SoldierInteractiveAction( INT32 sGridNo, UINT16 usActionType ); // added by Flugente
BOOLEAN EVENT_InternalGetNewSoldierPath( INT32 sDestGridNo, UINT16 usMovementAnim, BOOLEAN fFromUI, BOOLEAN fForceRestart );
@@ -1961,6 +1966,7 @@ public:
void AddDiseasePoints( UINT8 aDisease, INT32 aVal );
void AnnounceDisease( UINT8 aDisease );
void AddDisability( UINT8 aDisability );
bool CanReceiveSplint();
// do we have any disease?
// fDiagnosedOnly: check for wether we know of this infection
@@ -2044,6 +2050,8 @@ public:
// Flugente: exploration assignment
UINT32 GetExplorationPoints();
bool IsFastMovement();
//////////////////////////////////////////////////////////////////////////////
}; // SOLDIERTYPE;