From 30ae48c8d77c86f04798d3a0ba8f40d68bf12d1f Mon Sep 17 00:00:00 2001 From: Flugente Date: Sat, 1 Nov 2014 17:01:00 +0000 Subject: [PATCH] Fix: robot could get the 'covert' property when added to the team git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7628 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/Soldier Control.cpp | 4 ++-- Tactical/Soldier Profile.cpp | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index ab1f40cd..24af5b7c 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -15960,7 +15960,7 @@ BOOLEAN SOLDIERTYPE::RecognizeAsCombatant( UINT8 ubTargetID ) void SOLDIERTYPE::LooseDisguise( void ) { // loose any covert flags - this->usSoldierFlagMask &= ~(SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER); + this->usSoldierFlagMask &= ~(SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER | SOLDIER_COVERT_NPC_SPECIAL); // rehandle sight for everybody SOLDIERTYPE* pSoldier; @@ -17413,7 +17413,7 @@ void SOLDIERTYPE::SoldierPropertyUpkeep( ) { this->usSoldierFlagMask &= ~SOLDIER_BATTLE_PARTICIPATION; } -} + } // check if Soldier can use the spell skillwise, with fAPCheck = TRUE also check current APs BOOLEAN SOLDIERTYPE::CanUseSkill( INT8 iSkill, BOOLEAN fAPCheck ) diff --git a/Tactical/Soldier Profile.cpp b/Tactical/Soldier Profile.cpp index 521e6534..e4c6a050 100644 --- a/Tactical/Soldier Profile.cpp +++ b/Tactical/Soldier Profile.cpp @@ -2031,8 +2031,11 @@ BOOLEAN RecruitEPC( UINT8 ubCharNum ) // Set whatkind of merc am i 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... - pNewSoldier->usSoldierFlagMask |= (SOLDIER_COVERT_CIV|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/vehicles/robots + if ( !(pNewSoldier->flags.uiStatusFlags & (SOLDIER_ROBOT | SOLDIER_VEHICLE) ) ) + { + pNewSoldier->usSoldierFlagMask |= (SOLDIER_COVERT_CIV | SOLDIER_COVERT_NPC_SPECIAL); + } UpdateTeamPanelAssignments( );