mirror of
https://github.com/1dot13/source.git
synced 2026-08-26 14:30:26 +02:00
- New feature: zombies can now spawn from corpses, if you specify that option in the preferences screen (by Flugente)
o if set to off, no zombies will spawn. This can also be changed in mid-game o for more information on how this works and how to set it up, see http://www.bears-pit.com/board/ubbthreads.php/topics/295746/Zombies_WH40K_and_more.html#Post295746 o with the tag <PoisonPercentage>, you can now poison guns or ammo. This is the percentage of damage dealt that will be poisonous (see zombie thread for an explanation) o The zombie option can only be enabled in a single player game o AI fix: to prevent the endless clock problem, the AI now ends the turn if the same actor calls the decision routine over 100 times in a single turn. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5313 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -309,6 +309,7 @@ enum
|
||||
SOLDIER_CLASS_ELITE_MILITIA,
|
||||
SOLDIER_CLASS_CREATURE,
|
||||
SOLDIER_CLASS_MINER,
|
||||
SOLDIER_CLASS_ZOMBIE,
|
||||
};
|
||||
|
||||
#define SOLDIER_CLASS_ENEMY( bSoldierClass ) ( ( bSoldierClass >= SOLDIER_CLASS_ADMINISTRATOR ) && ( bSoldierClass <= SOLDIER_CLASS_ARMY ) )
|
||||
@@ -1143,6 +1144,21 @@ public:
|
||||
// I don't know if this is a good idea at all...
|
||||
//INT16 filler;
|
||||
|
||||
// Flugente: Is this the correct position?
|
||||
INT8 bScopeMode;
|
||||
|
||||
///////////////////////////////////////////////////////
|
||||
// Flugente Zombies: Added variables for the poison system
|
||||
INT8 bPoisonBleeding; // The number of bleeding points that are also poison points
|
||||
//INT8 bPoisonBandaged; // The number of bandaged lifepoints that are also poison points
|
||||
INT8 bPoisonLife; // The number of Lifepoints that are also poison points
|
||||
INT8 bPoisonSum; // The sum of poison points;
|
||||
|
||||
INT16 bPoisonResistance; // poison resistance reduces the amount of poison damage received. It is applied before poison absorption
|
||||
INT16 bPoisonAbsorption; // for x points of poison damage received, you gain x * (bPoisonAbsorption / 100) poison life points
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
|
||||
#ifdef JA2UB
|
||||
//ja25
|
||||
BOOLEAN fIgnoreGetupFromCollapseCheck;
|
||||
@@ -1151,10 +1167,7 @@ public:
|
||||
|
||||
UINT8 ubPercentDamageInflictedByTeam[NUM_ASSIST_SLOTS]; //The percent of damage inflicted by the player team. Each element corresponds to the Soldier ID. Each element contains the percent damage inflicted by that merc
|
||||
#endif
|
||||
|
||||
// Flugente: Is this the correct position?
|
||||
INT8 bScopeMode;
|
||||
|
||||
|
||||
char endOfPOD; // marker for end of POD (plain old data)
|
||||
|
||||
// Note: Place all non-POD items at the end (after endOfPOD)
|
||||
@@ -1229,7 +1242,8 @@ public:
|
||||
void ChangeSoldierStance( UINT8 ubDesiredStance );
|
||||
void StopSoldier( void );
|
||||
void ReviveSoldier( void );
|
||||
UINT8 SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBreathDeduct, UINT8 ubReason, UINT8 ubAttacker, INT32 sSourceGrid, INT16 sSubsequent, BOOLEAN fShowDamage );
|
||||
// Flugente: added poison damage, which should be smaller or equal than sLifeDeduct
|
||||
UINT8 SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sPoisonAdd, INT16 sBreathDeduct, UINT8 ubReason, UINT8 ubAttacker, INT32 sSourceGrid, INT16 sSubsequent, BOOLEAN fShowDamage );
|
||||
|
||||
|
||||
// Palette functions for soldiers
|
||||
@@ -1330,6 +1344,19 @@ public:
|
||||
// returns damage resistance in percent
|
||||
INT32 GetDamageResistance( BOOLEAN fAutoResolve = FALSE, BOOLEAN fCalcBreathLoss = FALSE);
|
||||
|
||||
INT16 GetSoldierCriticalDamageBonus( void ); // Flugente: determines critical damage bonus depending on class, skill, etc.
|
||||
|
||||
// Flugente: Zombies
|
||||
BOOLEAN IsZombie( void );
|
||||
|
||||
// Flugente: poison system
|
||||
// These functions might one day be modified by traits etc. We'll keep that in these functions and not clutter the rest of the code
|
||||
INT16 GetPoisonResistance( void );
|
||||
INT16 GetPoisonAbsorption( void );
|
||||
// returns the poison percentage of the damage we will be doing with the weapon currently in our hand
|
||||
INT16 GetPoisonDamagePercentage( void );
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
}; // SOLDIERTYPE;
|
||||
|
||||
#define SIZEOF_SOLDIERTYPE_POD offsetof( SOLDIERTYPE, endOfPOD )
|
||||
|
||||
Reference in New Issue
Block a user