mirror of
https://github.com/1dot13/source.git
synced 2026-08-19 14:20:30 +02:00
Merged New Inventory Project into main branch
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1871 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
#include "Tactical All.h"
|
||||
#else
|
||||
#include "sgp.h"
|
||||
#include "soldier control.h"
|
||||
//#include "soldier control.h"
|
||||
#include "soldier profile.h"
|
||||
#include "drugs and alcohol.h"
|
||||
#include "items.h"
|
||||
@@ -15,6 +15,11 @@
|
||||
#include "Interface.h"
|
||||
#endif
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
class OBJECTTYPE;
|
||||
class SOLDIERTYPE;
|
||||
|
||||
|
||||
UINT8 ubDrugTravelRate[] = { 4, 2 };
|
||||
UINT8 ubDrugWearoffRate[] = { 2, 2 };
|
||||
UINT8 ubDrugEffect[] = { 15, 8 };
|
||||
@@ -55,7 +60,7 @@ UINT8 GetDrugType( UINT16 usItem )
|
||||
return( NO_DRUG );
|
||||
}
|
||||
|
||||
|
||||
|
||||
BOOLEAN ApplyDrugs( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObject )
|
||||
{
|
||||
UINT8 ubDrugType;
|
||||
@@ -89,11 +94,11 @@ BOOLEAN ApplyDrugs( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObject )
|
||||
{
|
||||
|
||||
// Add effects
|
||||
if ( ( pSoldier->bFutureDrugEffect[ ubDrugType ] + ubDrugEffect[ ubDrugType ] ) < 127 )
|
||||
if ( ( pSoldier->drugs.bFutureDrugEffect[ ubDrugType ] + ubDrugEffect[ ubDrugType ] ) < 127 )
|
||||
{
|
||||
pSoldier->bFutureDrugEffect[ ubDrugType ] += ubDrugEffect[ ubDrugType ];
|
||||
pSoldier->drugs.bFutureDrugEffect[ ubDrugType ] += ubDrugEffect[ ubDrugType ];
|
||||
}
|
||||
pSoldier->bDrugEffectRate[ ubDrugType ] = ubDrugTravelRate[ ubDrugType ];
|
||||
pSoldier->drugs.bDrugEffectRate[ ubDrugType ] = ubDrugTravelRate[ ubDrugType ];
|
||||
|
||||
// Increment times used during lifetime...
|
||||
// CAP!
|
||||
@@ -106,17 +111,17 @@ BOOLEAN ApplyDrugs( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObject )
|
||||
}
|
||||
|
||||
// Reset once we sleep...
|
||||
pSoldier->bTimesDrugUsedSinceSleep[ ubDrugType ]++;
|
||||
pSoldier->drugs.bTimesDrugUsedSinceSleep[ ubDrugType ]++;
|
||||
|
||||
// Increment side effects..
|
||||
if ( ( pSoldier->bDrugSideEffect[ ubDrugType ] + ubDrugSideEffect[ ubDrugType ] ) < 127 )
|
||||
if ( ( pSoldier->drugs.bDrugSideEffect[ ubDrugType ] + ubDrugSideEffect[ ubDrugType ] ) < 127 )
|
||||
{
|
||||
pSoldier->bDrugSideEffect[ ubDrugType ] += ( ubDrugSideEffect[ ubDrugType ] );
|
||||
pSoldier->drugs.bDrugSideEffect[ ubDrugType ] += ( ubDrugSideEffect[ ubDrugType ] );
|
||||
}
|
||||
// Stop side effects until were done....
|
||||
pSoldier->bDrugSideEffectRate[ ubDrugType ] = 0;
|
||||
pSoldier->drugs.bDrugSideEffectRate[ ubDrugType ] = 0;
|
||||
|
||||
|
||||
|
||||
if ( ubDrugType == DRUG_TYPE_ALCOHOL )
|
||||
{
|
||||
// ATE: use kit points...
|
||||
@@ -138,37 +143,37 @@ BOOLEAN ApplyDrugs( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObject )
|
||||
else
|
||||
{
|
||||
// Remove the object....
|
||||
DeleteObj( pObject );
|
||||
pObject->RemoveObjectsFromStack(1);
|
||||
|
||||
// ATE: Make guy collapse from heart attack if too much stuff taken....
|
||||
if ( pSoldier->bDrugSideEffectRate[ ubDrugType ] > ( ubDrugSideEffect[ ubDrugType ] * 3 ) )
|
||||
if ( pSoldier->drugs.bDrugSideEffectRate[ ubDrugType ] > ( ubDrugSideEffect[ ubDrugType ] * 3 ) )
|
||||
{
|
||||
// Keel over...
|
||||
DeductPoints( pSoldier, 0, 10000 );
|
||||
|
||||
// Permanently lower certain stats...
|
||||
pSoldier->bWisdom -= 5;
|
||||
pSoldier->bDexterity -= 5;
|
||||
pSoldier->bStrength -= 5;
|
||||
pSoldier->stats.bWisdom -= 5;
|
||||
pSoldier->stats.bDexterity -= 5;
|
||||
pSoldier->stats.bStrength -= 5;
|
||||
|
||||
if (pSoldier->bWisdom < 1)
|
||||
pSoldier->bWisdom = 1;
|
||||
if (pSoldier->bDexterity < 1)
|
||||
pSoldier->bDexterity = 1;
|
||||
if (pSoldier->bStrength < 1)
|
||||
pSoldier->bStrength = 1;
|
||||
if (pSoldier->stats.bWisdom < 1)
|
||||
pSoldier->stats.bWisdom = 1;
|
||||
if (pSoldier->stats.bDexterity < 1)
|
||||
pSoldier->stats.bDexterity = 1;
|
||||
if (pSoldier->stats.bStrength < 1)
|
||||
pSoldier->stats.bStrength = 1;
|
||||
|
||||
// export stat changes to profile
|
||||
gMercProfiles[ pSoldier->ubProfile ].bWisdom = pSoldier->bWisdom;
|
||||
gMercProfiles[ pSoldier->ubProfile ].bDexterity = pSoldier->bDexterity;
|
||||
gMercProfiles[ pSoldier->ubProfile ].bStrength = pSoldier->bStrength;
|
||||
gMercProfiles[ pSoldier->ubProfile ].bWisdom = pSoldier->stats.bWisdom;
|
||||
gMercProfiles[ pSoldier->ubProfile ].bDexterity = pSoldier->stats.bDexterity;
|
||||
gMercProfiles[ pSoldier->ubProfile ].bStrength = pSoldier->stats.bStrength;
|
||||
|
||||
// make those stats RED for a while...
|
||||
pSoldier->uiChangeWisdomTime = GetJA2Clock();
|
||||
pSoldier->timeChanges.uiChangeWisdomTime = GetJA2Clock();
|
||||
pSoldier->usValueGoneUp &= ~( WIS_INCREASE );
|
||||
pSoldier->uiChangeDexterityTime = GetJA2Clock();
|
||||
pSoldier->timeChanges.uiChangeDexterityTime = GetJA2Clock();
|
||||
pSoldier->usValueGoneUp &= ~( DEX_INCREASE );
|
||||
pSoldier->uiChangeStrengthTime = GetJA2Clock();
|
||||
pSoldier->timeChanges.uiChangeStrengthTime = GetJA2Clock();
|
||||
pSoldier->usValueGoneUp &= ~( STRENGTH_INCREASE );
|
||||
}
|
||||
}
|
||||
@@ -178,17 +183,17 @@ BOOLEAN ApplyDrugs( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObject )
|
||||
if ( ubDrugType == DRUG_TYPE_REGENERATION )
|
||||
{
|
||||
// each use of a regen booster over 1, each day, reduces the effect
|
||||
bRegenPointsGained = REGEN_POINTS_PER_BOOSTER * pObject->ItemData.Generic.bStatus[0] / 100;
|
||||
bRegenPointsGained = REGEN_POINTS_PER_BOOSTER * (*pObject)[0]->data.objectStatus / 100;
|
||||
// are there fractional %s left over?
|
||||
if ( ( pObject->ItemData.Generic.bStatus[0] % (100 / REGEN_POINTS_PER_BOOSTER ) ) != 0 )
|
||||
if ( ( (*pObject)[0]->data.objectStatus % (100 / REGEN_POINTS_PER_BOOSTER ) ) != 0 )
|
||||
{
|
||||
// chance of an extra point
|
||||
if ( PreRandom( 100 / REGEN_POINTS_PER_BOOSTER ) < (UINT32) ( pObject->ItemData.Generic.bStatus[0] % (100 / REGEN_POINTS_PER_BOOSTER ) ) )
|
||||
if ( PreRandom( 100 / REGEN_POINTS_PER_BOOSTER ) < (UINT32) ( (*pObject)[0]->data.objectStatus % (100 / REGEN_POINTS_PER_BOOSTER ) ) )
|
||||
{
|
||||
bRegenPointsGained++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bRegenPointsGained -= pSoldier->bRegenBoostersUsedToday;
|
||||
if (bRegenPointsGained > 0)
|
||||
{
|
||||
@@ -199,7 +204,7 @@ BOOLEAN ApplyDrugs( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObject )
|
||||
}
|
||||
|
||||
// remove object
|
||||
DeleteObj( pObject );
|
||||
pObject->RemoveObjectsFromStack(1);
|
||||
}
|
||||
|
||||
if ( ubDrugType == DRUG_TYPE_ALCOHOL )
|
||||
@@ -208,12 +213,12 @@ BOOLEAN ApplyDrugs( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObject )
|
||||
}
|
||||
else
|
||||
{
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_MERC_TOOK_DRUG ], pSoldier->name );
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_MERC_TOOK_DRUG ], pSoldier->name );
|
||||
}
|
||||
|
||||
// Dirty panel
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
|
||||
// Dirty panel
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
@@ -226,40 +231,40 @@ void HandleEndTurnDrugAdjustments( SOLDIERTYPE *pSoldier )
|
||||
for ( cnt = 0; cnt < NUM_COMPLEX_DRUGS; cnt++ )
|
||||
{
|
||||
// If side effect aret is non-zero....
|
||||
if ( pSoldier->bDrugSideEffectRate[ cnt ] > 0 )
|
||||
{
|
||||
if ( pSoldier->drugs.bDrugSideEffectRate[ cnt ] > 0 )
|
||||
{
|
||||
// Subtract some...
|
||||
pSoldier->bDrugSideEffect[ cnt ] -= pSoldier->bDrugSideEffectRate[ cnt ];
|
||||
pSoldier->drugs.bDrugSideEffect[ cnt ] -= pSoldier->drugs.bDrugSideEffectRate[ cnt ];
|
||||
|
||||
// If we're done, we're done!
|
||||
if ( pSoldier->bDrugSideEffect[ cnt ] <= 0 )
|
||||
if ( pSoldier->drugs.bDrugSideEffect[ cnt ] <= 0 )
|
||||
{
|
||||
pSoldier->bDrugSideEffect[ cnt ] = 0;
|
||||
pSoldier->drugs.bDrugSideEffect[ cnt ] = 0;
|
||||
fInterfacePanelDirty = DIRTYLEVEL1;
|
||||
}
|
||||
}
|
||||
|
||||
// IF drug rate is -ve, it's being worn off...
|
||||
if ( pSoldier->bDrugEffectRate[ cnt ] < 0 )
|
||||
if ( pSoldier->drugs.bDrugEffectRate[ cnt ] < 0 )
|
||||
{
|
||||
pSoldier->bDrugEffect[ cnt ] -= ( -1 * pSoldier->bDrugEffectRate[ cnt ] );
|
||||
|
||||
// Have we run out?
|
||||
if ( pSoldier->bDrugEffect[ cnt ] <= 0 )
|
||||
{
|
||||
pSoldier->bDrugEffect[ cnt ] = 0;
|
||||
pSoldier->drugs.bDrugEffect[ cnt ] -= ( -1 * pSoldier->drugs.bDrugEffectRate[ cnt ] );
|
||||
|
||||
// Dirty panel
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
// Have we run out?
|
||||
if ( pSoldier->drugs.bDrugEffect[ cnt ] <= 0 )
|
||||
{
|
||||
pSoldier->drugs.bDrugEffect[ cnt ] = 0;
|
||||
|
||||
// Dirty panel
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
|
||||
// Start the bad news!
|
||||
pSoldier->bDrugSideEffectRate[ cnt ] = ubDrugSideEffectRate[ cnt ];
|
||||
pSoldier->drugs.bDrugSideEffectRate[ cnt ] = ubDrugSideEffectRate[ cnt ];
|
||||
|
||||
// The drug rate is 0 now too
|
||||
pSoldier->bDrugEffectRate[ cnt ] = 0;
|
||||
pSoldier->drugs.bDrugEffectRate[ cnt ] = 0;
|
||||
|
||||
// Once for each 'level' of crash....
|
||||
iNumLoops = ( pSoldier->bDrugSideEffect[ cnt ] / ubDrugSideEffect[ cnt ] ) + 1;
|
||||
iNumLoops = ( pSoldier->drugs.bDrugSideEffect[ cnt ] / ubDrugSideEffect[ cnt ] ) + 1;
|
||||
|
||||
for ( cnt2 = 0; cnt2 < iNumLoops; cnt2++ )
|
||||
{
|
||||
@@ -270,28 +275,28 @@ void HandleEndTurnDrugAdjustments( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
else
|
||||
{
|
||||
HandleMoraleEvent( pSoldier, MORALE_DRUGS_CRASH, pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
|
||||
HandleMoraleEvent( pSoldier, MORALE_DRUGS_CRASH, pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add increase ineffect....
|
||||
if ( pSoldier->bDrugEffectRate[ cnt ] > 0 )
|
||||
{
|
||||
if ( pSoldier->drugs.bDrugEffectRate[ cnt ] > 0 )
|
||||
{
|
||||
// Seap some in....
|
||||
pSoldier->bFutureDrugEffect[ cnt ] -= pSoldier->bDrugEffectRate[ cnt ];
|
||||
pSoldier->bDrugEffect[ cnt ] += pSoldier->bDrugEffectRate[ cnt ];
|
||||
pSoldier->drugs.bFutureDrugEffect[ cnt ] -= pSoldier->drugs.bDrugEffectRate[ cnt ];
|
||||
pSoldier->drugs.bDrugEffect[ cnt ] += pSoldier->drugs.bDrugEffectRate[ cnt ];
|
||||
|
||||
// Refresh morale w/ new drug value...
|
||||
RefreshSoldierMorale( pSoldier );
|
||||
|
||||
// Check if we need to stop 'adding'
|
||||
if ( pSoldier->bFutureDrugEffect[ cnt ] <= 0 )
|
||||
if ( pSoldier->drugs.bFutureDrugEffect[ cnt ] <= 0 )
|
||||
{
|
||||
pSoldier->bFutureDrugEffect[ cnt ] = 0;
|
||||
pSoldier->drugs.bFutureDrugEffect[ cnt ] = 0;
|
||||
// Change rate to -ve..
|
||||
pSoldier->bDrugEffectRate[ cnt ] = -ubDrugWearoffRate[ cnt ];
|
||||
pSoldier->drugs.bDrugEffectRate[ cnt ] = -ubDrugWearoffRate[ cnt ];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -301,16 +306,16 @@ void HandleEndTurnDrugAdjustments( SOLDIERTYPE *pSoldier )
|
||||
// bBandaged = BANDAGED( pSoldier );
|
||||
|
||||
// increase life
|
||||
pSoldier->bLife = __min( pSoldier->bLife + LIFE_GAIN_PER_REGEN_POINT, pSoldier->bLifeMax );
|
||||
pSoldier->stats.bLife = __min( pSoldier->stats.bLife + LIFE_GAIN_PER_REGEN_POINT, pSoldier->stats.bLifeMax );
|
||||
|
||||
if ( pSoldier->bLife == pSoldier->bLifeMax )
|
||||
if ( pSoldier->stats.bLife == pSoldier->stats.bLifeMax )
|
||||
{
|
||||
pSoldier->bBleeding = 0;
|
||||
}
|
||||
else if ( pSoldier->bBleeding + pSoldier->bLife > pSoldier->bLifeMax )
|
||||
else if ( pSoldier->bBleeding + pSoldier->stats.bLife > pSoldier->stats.bLifeMax )
|
||||
{
|
||||
// got to reduce amount of bleeding
|
||||
pSoldier->bBleeding = (pSoldier->bLifeMax - pSoldier->bLife);
|
||||
pSoldier->bBleeding = (pSoldier->stats.bLifeMax - pSoldier->stats.bLife);
|
||||
}
|
||||
|
||||
// decrement counter
|
||||
@@ -318,40 +323,40 @@ void HandleEndTurnDrugAdjustments( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
}
|
||||
|
||||
INT8 GetDrugEffect( SOLDIERTYPE *pSoldier, UINT8 ubDrugType )
|
||||
INT8 GetDrugEffect( SOLDIERTYPE *pSoldier, UINT8 ubDrugType )
|
||||
{
|
||||
return( pSoldier->bDrugEffect[ ubDrugType ] );
|
||||
return( pSoldier->drugs.bDrugEffect[ ubDrugType ] );
|
||||
}
|
||||
|
||||
|
||||
INT8 GetDrugSideEffect( SOLDIERTYPE *pSoldier, UINT8 ubDrugType )
|
||||
{
|
||||
// If we have a o-positive effect
|
||||
if ( pSoldier->bDrugEffect[ ubDrugType ] > 0 )
|
||||
if ( pSoldier->drugs.bDrugEffect[ ubDrugType ] > 0 )
|
||||
{
|
||||
return( 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
return( pSoldier->bDrugSideEffect[ ubDrugType ] );
|
||||
return( pSoldier->drugs.bDrugSideEffect[ ubDrugType ] );
|
||||
}
|
||||
}
|
||||
|
||||
void HandleAPEffectDueToDrugs( SOLDIERTYPE *pSoldier, UINT8 *pubPoints )
|
||||
{
|
||||
INT8 bDrunkLevel;
|
||||
INT16 sPoints = (*pubPoints);
|
||||
INT8 bDrunkLevel;
|
||||
INT16 sPoints = (*pubPoints);
|
||||
|
||||
// Are we in a side effect or good effect?
|
||||
if ( pSoldier->bDrugEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
if ( pSoldier->drugs.bDrugEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
{
|
||||
// Adjust!
|
||||
sPoints += pSoldier->bDrugEffect[ DRUG_TYPE_ADRENALINE ];
|
||||
sPoints += pSoldier->drugs.bDrugEffect[ DRUG_TYPE_ADRENALINE ];
|
||||
}
|
||||
else if ( pSoldier->bDrugSideEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
else if ( pSoldier->drugs.bDrugSideEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
{
|
||||
// Adjust!
|
||||
sPoints -= pSoldier->bDrugSideEffect[ DRUG_TYPE_ADRENALINE ];
|
||||
sPoints -= pSoldier->drugs.bDrugSideEffect[ DRUG_TYPE_ADRENALINE ];
|
||||
|
||||
if ( sPoints < AP_MINIMUM )
|
||||
{
|
||||
@@ -372,7 +377,7 @@ void HandleAPEffectDueToDrugs( SOLDIERTYPE *pSoldier, UINT8 *pubPoints )
|
||||
}
|
||||
}
|
||||
|
||||
(*pubPoints) = (UINT8)sPoints;
|
||||
(*pubPoints) = (UINT8)sPoints;
|
||||
}
|
||||
|
||||
|
||||
@@ -381,15 +386,15 @@ void HandleBPEffectDueToDrugs( SOLDIERTYPE *pSoldier, INT16 *psPointReduction )
|
||||
INT8 bDrunkLevel;
|
||||
|
||||
// Are we in a side effect or good effect?
|
||||
if ( pSoldier->bDrugEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
if ( pSoldier->drugs.bDrugEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
{
|
||||
// Adjust!
|
||||
(*psPointReduction) -= ( pSoldier->bDrugEffect[ DRUG_TYPE_ADRENALINE ] * BP_RATIO_RED_PTS_TO_NORMAL );
|
||||
(*psPointReduction) -= ( pSoldier->drugs.bDrugEffect[ DRUG_TYPE_ADRENALINE ] * BP_RATIO_RED_PTS_TO_NORMAL );
|
||||
}
|
||||
else if ( pSoldier->bDrugSideEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
else if ( pSoldier->drugs.bDrugSideEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
{
|
||||
// Adjust!
|
||||
(*psPointReduction) += ( pSoldier->bDrugSideEffect[ DRUG_TYPE_ADRENALINE ] * BP_RATIO_RED_PTS_TO_NORMAL );
|
||||
(*psPointReduction) += ( pSoldier->drugs.bDrugSideEffect[ DRUG_TYPE_ADRENALINE ] * BP_RATIO_RED_PTS_TO_NORMAL );
|
||||
}
|
||||
|
||||
bDrunkLevel = GetDrunkLevel( pSoldier );
|
||||
@@ -407,18 +412,18 @@ INT8 GetDrunkLevel( SOLDIERTYPE *pSoldier )
|
||||
INT8 bNumDrinks;
|
||||
|
||||
// If we have a -ve effect ...
|
||||
if ( pSoldier->bDrugEffect[ DRUG_TYPE_ALCOHOL ] == 0 && pSoldier->bDrugSideEffect[ DRUG_TYPE_ALCOHOL ] == 0 )
|
||||
if ( pSoldier->drugs.bDrugEffect[ DRUG_TYPE_ALCOHOL ] == 0 && pSoldier->drugs.bDrugSideEffect[ DRUG_TYPE_ALCOHOL ] == 0 )
|
||||
{
|
||||
return( SOBER );
|
||||
}
|
||||
|
||||
if ( pSoldier->bDrugEffect[ DRUG_TYPE_ALCOHOL ] == 0 && pSoldier->bDrugSideEffect[ DRUG_TYPE_ALCOHOL ] != 0 )
|
||||
if ( pSoldier->drugs.bDrugEffect[ DRUG_TYPE_ALCOHOL ] == 0 && pSoldier->drugs.bDrugSideEffect[ DRUG_TYPE_ALCOHOL ] != 0 )
|
||||
{
|
||||
return( HUNGOVER );
|
||||
}
|
||||
|
||||
// Calculate how many dinks we have had....
|
||||
bNumDrinks = ( pSoldier->bDrugEffect[ DRUG_TYPE_ALCOHOL ] / ubDrugEffect[ DRUG_TYPE_ALCOHOL ] );
|
||||
bNumDrinks = ( pSoldier->drugs.bDrugEffect[ DRUG_TYPE_ALCOHOL ] / ubDrugEffect[ DRUG_TYPE_ALCOHOL ] );
|
||||
|
||||
if ( bNumDrinks <= 3 )
|
||||
{
|
||||
@@ -444,11 +449,11 @@ INT32 EffectStatForBeingDrunk( SOLDIERTYPE *pSoldier, INT32 iStat )
|
||||
BOOLEAN MercUnderTheInfluence( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
// Are we in a side effect or good effect?
|
||||
if ( pSoldier->bDrugEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
if ( pSoldier->drugs.bDrugEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
else if ( pSoldier->bDrugSideEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
else if ( pSoldier->drugs.bDrugSideEffect[ DRUG_TYPE_ADRENALINE ] )
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user