mirror of
https://github.com/1dot13/source.git
synced 2026-08-12 14:10:23 +02:00
New feature: Diseaes affect your mercenaries. They can be contracted in varíous ways and have varying effects.
For more info, see http://www.ja-galaxy-forum.com/ubbthreads.php/topics/334918#Post334918 Requires GameDir >= r2099. Does not break savegame compatibility. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7384 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+12
-4
@@ -9442,7 +9442,6 @@ INT32 BulletImpact( SOLDIERTYPE *pFirer, BULLET *pBullet, SOLDIERTYPE * pTarget,
|
||||
INT8 bStatLoss = 0;
|
||||
UINT8 ubAmmoType;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
if ( pTarget->IsZombie() )
|
||||
{
|
||||
// if bullet does not hits anything other than the head, it doesn't do any damage
|
||||
@@ -9458,7 +9457,6 @@ INT32 BulletImpact( SOLDIERTYPE *pFirer, BULLET *pBullet, SOLDIERTYPE * pTarget,
|
||||
pTarget->usSoldierFlagMask &= ~SOLDIER_HEADSHOT;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// NOTE: reduction of bullet impact due to range and obstacles is handled
|
||||
// in MoveBullet.
|
||||
@@ -9843,6 +9841,9 @@ INT32 BulletImpact( SOLDIERTYPE *pFirer, BULLET *pBullet, SOLDIERTYPE * pTarget,
|
||||
gMercProfiles[ pTarget->ubProfile ].bWisdom = pTarget->stats.bWisdom;
|
||||
}
|
||||
|
||||
// Flugente: disease
|
||||
HandlePossibleInfection( pTarget, pFirer, INFECTION_TYPE_WOUND_WIS );
|
||||
|
||||
if (pTarget->name[0] && pTarget->bVisible == TRUE)
|
||||
{
|
||||
// make stat RED for a while...
|
||||
@@ -9935,6 +9936,9 @@ INT32 BulletImpact( SOLDIERTYPE *pFirer, BULLET *pBullet, SOLDIERTYPE * pTarget,
|
||||
gMercProfiles[ pTarget->ubProfile ].bDexterity = pTarget->stats.bDexterity;
|
||||
}
|
||||
|
||||
// Flugente: disease
|
||||
HandlePossibleInfection( pTarget, pFirer, INFECTION_TYPE_WOUND_DEX );
|
||||
|
||||
if (pTarget->name[0] && pTarget->bVisible == TRUE)
|
||||
{
|
||||
// make stat RED for a while...
|
||||
@@ -9969,6 +9973,9 @@ INT32 BulletImpact( SOLDIERTYPE *pFirer, BULLET *pBullet, SOLDIERTYPE * pTarget,
|
||||
gMercProfiles[ pTarget->ubProfile ].bStrength = pTarget->stats.bStrength;
|
||||
}
|
||||
|
||||
// Flugente: disease
|
||||
HandlePossibleInfection( pTarget, pFirer, INFECTION_TYPE_WOUND_STR );
|
||||
|
||||
if (pTarget->name[0] && pTarget->bVisible == TRUE)
|
||||
{
|
||||
// make stat RED for a while...
|
||||
@@ -10004,6 +10011,9 @@ INT32 BulletImpact( SOLDIERTYPE *pFirer, BULLET *pBullet, SOLDIERTYPE * pTarget,
|
||||
gMercProfiles[ pTarget->ubProfile ].bAgility = pTarget->stats.bAgility;
|
||||
}
|
||||
|
||||
// Flugente: disease
|
||||
HandlePossibleInfection( pTarget, pFirer, INFECTION_TYPE_WOUND_AGI );
|
||||
|
||||
if (pTarget->name[0] && pTarget->bVisible == TRUE)
|
||||
{
|
||||
// make stat RED for a while...
|
||||
@@ -10330,7 +10340,6 @@ INT32 HTHImpact( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pTarget, INT32 iHitBy, BO
|
||||
BOOLEAN autoresolve = IsAutoResolveActive();
|
||||
iImpact = max( 1, (INT32)(iImpact * (100 - pTarget->GetDamageResistance(autoresolve, FALSE)) / 100 ) );
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: if the target is a zombie, any melee attack, regardless of hit location, will set the headshot flag. Thus any zombie killed in melee will stay dead (if you play with that option)
|
||||
if ( pTarget->IsZombie() )
|
||||
{
|
||||
@@ -10340,7 +10349,6 @@ INT32 HTHImpact( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pTarget, INT32 iHitBy, BO
|
||||
pTarget->usSoldierFlagMask |= SOLDIER_HEADSHOT;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return( iImpact );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user