mirror of
https://github.com/1dot13/source.git
synced 2026-09-02 14:36:06 +02:00
Fix: NPCs could get covert flags in old trait system which prevented them from ever losing it making them undetectable.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8405 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -15651,10 +15651,6 @@ BOOLEAN SOLDIERTYPE::RecognizeAsCombatant( UINT8 ubTargetID )
|
||||
if ( !pSoldier )
|
||||
return TRUE;
|
||||
|
||||
// brutal fix: robots cannot be disguised
|
||||
if ( AM_A_ROBOT( pSoldier ) && pSoldier->usSoldierFlagMask & (SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER | SOLDIER_COVERT_NPC_SPECIAL) )
|
||||
pSoldier->LooseDisguise( );
|
||||
|
||||
// zombies don't care about disguises
|
||||
if ( IsZombie( ) )
|
||||
return TRUE;
|
||||
|
||||
@@ -1924,14 +1924,17 @@ BOOLEAN RecruitRPC( UINT8 ubCharNum )
|
||||
GiveQuestRewardPoint( pSoldier->sSectorX, pSoldier->sSectorY, 6, MIGUEL );
|
||||
}
|
||||
|
||||
// Flugente: people recruited in Arulco are known to the enemy as civilians or even soldiers. So they will be covert when recruited. Of course, this is not for the rebels...
|
||||
if ( ubCharNum == DEVIN || ubCharNum == HAMOUS || ubCharNum == SLAY || ubCharNum == VINCE || ubCharNum == MADDOG || ubCharNum == MICKY )
|
||||
if ( gGameOptions.fNewTraitSystem )
|
||||
{
|
||||
pNewSoldier->usSoldierFlagMask |= (SOLDIER_COVERT_CIV|SOLDIER_COVERT_NPC_SPECIAL);
|
||||
}
|
||||
else if ( ubCharNum == IGGY || ubCharNum == CONRAD )
|
||||
{
|
||||
pNewSoldier->usSoldierFlagMask |= (SOLDIER_COVERT_SOLDIER|SOLDIER_COVERT_NPC_SPECIAL);
|
||||
// Flugente: people recruited in Arulco are known to the enemy as civilians or even soldiers. So they will be covert when recruited. Of course, this is not for the rebels...
|
||||
if ( ubCharNum == DEVIN || ubCharNum == HAMOUS || ubCharNum == SLAY || ubCharNum == VINCE || ubCharNum == MADDOG || ubCharNum == MICKY )
|
||||
{
|
||||
pNewSoldier->usSoldierFlagMask |= (SOLDIER_COVERT_CIV|SOLDIER_COVERT_NPC_SPECIAL);
|
||||
}
|
||||
else if ( ubCharNum == IGGY || ubCharNum == CONRAD )
|
||||
{
|
||||
pNewSoldier->usSoldierFlagMask |= (SOLDIER_COVERT_SOLDIER|SOLDIER_COVERT_NPC_SPECIAL);
|
||||
}
|
||||
}
|
||||
|
||||
// handle town loyalty adjustment
|
||||
@@ -2050,7 +2053,7 @@ BOOLEAN RecruitEPC( UINT8 ubCharNum )
|
||||
pNewSoldier->ubWhatKindOfMercAmI = MERC_TYPE__EPC;
|
||||
|
||||
// Flugente: people recruited in Arulco are known to the enemy as civilians or even soldiers. So they will be covert when recruited. Of course, this is not for the rebels/vehicles/robots
|
||||
if ( !(pNewSoldier->flags.uiStatusFlags & (SOLDIER_ROBOT | SOLDIER_VEHICLE) ) )
|
||||
if ( gGameOptions.fNewTraitSystem && !(pNewSoldier->flags.uiStatusFlags & (SOLDIER_ROBOT | SOLDIER_VEHICLE)) )
|
||||
{
|
||||
pNewSoldier->usSoldierFlagMask |= (SOLDIER_COVERT_CIV | SOLDIER_COVERT_NPC_SPECIAL);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user