mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
New ammotype: cryo ammo deals no damage, but freezes a soldier for two turns (stackable effect). A frozen soldier cannot perform actions, and has drastically lowered damage resistance. For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=22926&start=0&
Requires GameDir >= r2284. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8034 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+33
-30
@@ -124,50 +124,50 @@ UINT32 GetSoldierFindFlags( UINT16 ubID )
|
||||
UINT32 MercFlags = 0;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
// Get pSoldier!
|
||||
pSoldier = MercPtrs[ ubID ];
|
||||
// Get pSoldier!
|
||||
pSoldier = MercPtrs[ ubID ];
|
||||
|
||||
// FInd out and set flags
|
||||
if ( ubID == gusSelectedSoldier )
|
||||
{
|
||||
// FInd out and set flags
|
||||
if ( ubID == gusSelectedSoldier )
|
||||
{
|
||||
MercFlags |= SELECTED_MERC;
|
||||
}
|
||||
if ( ubID >= gTacticalStatus.Team[ gbPlayerNum ].bFirstID && ubID <= gTacticalStatus.Team[ gbPlayerNum ].bLastID )
|
||||
{
|
||||
if ( ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) && !GetNumberInVehicle( pSoldier->bVehicleID ) )
|
||||
{
|
||||
// Don't do anything!
|
||||
}
|
||||
else
|
||||
if ( ubID >= gTacticalStatus.Team[ gbPlayerNum ].bFirstID && ubID <= gTacticalStatus.Team[ gbPlayerNum ].bLastID )
|
||||
{
|
||||
// It's our own merc
|
||||
MercFlags |= OWNED_MERC;
|
||||
|
||||
if ( pSoldier->bAssignment < ON_DUTY )
|
||||
if ( ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) && !GetNumberInVehicle( pSoldier->bVehicleID ) )
|
||||
{
|
||||
MercFlags |= ONDUTY_MERC;
|
||||
// Don't do anything!
|
||||
}
|
||||
else
|
||||
{
|
||||
// It's our own merc
|
||||
MercFlags |= OWNED_MERC;
|
||||
|
||||
if ( pSoldier->bAssignment < ON_DUTY )
|
||||
{
|
||||
MercFlags |= ONDUTY_MERC;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check the side, etc
|
||||
if ( !pSoldier->aiData.bNeutral && (pSoldier->bSide != gbPlayerNum ) )
|
||||
{
|
||||
// It's an enemy merc
|
||||
MercFlags |= ENEMY_MERC;
|
||||
}
|
||||
else
|
||||
{
|
||||
// It's not an enemy merc
|
||||
MercFlags |= NEUTRAL_MERC;
|
||||
// Check the side, etc
|
||||
if ( !pSoldier->aiData.bNeutral && (pSoldier->bSide != gbPlayerNum ) )
|
||||
{
|
||||
// It's an enemy merc
|
||||
MercFlags |= ENEMY_MERC;
|
||||
}
|
||||
else
|
||||
{
|
||||
// It's not an enemy merc
|
||||
MercFlags |= NEUTRAL_MERC;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check for a guy who does not have an iterrupt ( when applicable! )
|
||||
if ( !OK_INTERRUPT_MERC( pSoldier ) )
|
||||
{
|
||||
MercFlags |= NOINTERRUPT_MERC;
|
||||
MercFlags |= NOINTERRUPT_MERC;
|
||||
}
|
||||
|
||||
if ( pSoldier->stats.bLife < OKLIFE )
|
||||
@@ -175,6 +175,9 @@ UINT32 GetSoldierFindFlags( UINT16 ubID )
|
||||
MercFlags |= UNCONSCIOUS_MERC;
|
||||
}
|
||||
|
||||
if ( pSoldier->usSkillCooldown[SOLDIER_COOLDOWN_CRYO] )
|
||||
MercFlags |= UNCONSCIOUS_MERC;
|
||||
|
||||
if ( pSoldier->stats.bLife == 0 )
|
||||
{
|
||||
MercFlags |= DEAD_MERC;
|
||||
|
||||
Reference in New Issue
Block a user