diff --git a/SaveLoadGame.cpp b/SaveLoadGame.cpp index 3a0fc06a3..40fe92b47 100644 --- a/SaveLoadGame.cpp +++ b/SaveLoadGame.cpp @@ -6298,18 +6298,21 @@ BOOLEAN LoadSavedGame( int ubSavedGameID ) //now change the savegame format so that temp files are saved and loaded correctly guiCurrentSaveGameVersion = SAVE_GAME_VERSION; - // Flugente: should not be needed anymore + // silversurfer: added additional check to only remove the flags when there is no boxing activity going on at the moment. // WANNE: This should fix the bug if any merc are still under PC control. This could happen after boxing in SAN MONA. - /*SOLDIERTYPE *pTeamSoldier; - for (INT8 bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++) + if ( gTacticalStatus.bBoxingState == NOT_BOXING ) { - pTeamSoldier=MercPtrs[bLoop]; + SOLDIERTYPE *pTeamSoldier; + for (INT8 bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++) + { + pTeamSoldier=MercPtrs[bLoop]; - if (pTeamSoldier->flags.uiStatusFlags & SOLDIER_PCUNDERAICONTROL) - pTeamSoldier->flags.uiStatusFlags &= (~SOLDIER_PCUNDERAICONTROL); + if (pTeamSoldier->flags.uiStatusFlags & SOLDIER_PCUNDERAICONTROL) + pTeamSoldier->flags.uiStatusFlags &= (~SOLDIER_PCUNDERAICONTROL); - pTeamSoldier->DeleteBoxingFlag(); - }*/ + pTeamSoldier->DeleteBoxingFlag(); + } + } return( TRUE ); } diff --git a/Strategic/Map Screen Interface Map.cpp b/Strategic/Map Screen Interface Map.cpp index bf04d374d..6ddeaf393 100644 --- a/Strategic/Map Screen Interface Map.cpp +++ b/Strategic/Map Screen Interface Map.cpp @@ -6538,11 +6538,14 @@ void HandleShowingOfEnemyForcesInSector( INT16 sSectorX, INT16 sSectorY, INT8 bS if ( PlayerKnowsAboutVIP( sSectorX, sSectorY ) ) ShowVIPSymbol( sSectorX, sSectorY ); + // silversurfer: disabled this for now as it always leads to false positives with scouting trait and + // gSkillTraitValues.fSCCanDetectEnemyPresenseAround == true and gSkillTraitValues.fSCCanDetermineEnemyNumbersAround == false. + // If someone comes up with a good and believable way to implement a certain probability for false reports please go ahead and implement that instead of a 100 percent chance. // Flugente: snitch reports can be false - we assume an enemy patrol where there is none. Unfortunately, that would always be the case if fNoEnemyDetectionWithoutReconis false - we detect something everywhere, // so every sector gets a red question mark. In that case, get out of here // anv: probability of false enemy reports! // anyone here? - if( !sNumberOfEnemies && !gGameExternalOptions.fNoEnemyDetectionWithoutRecon ) + if( !sNumberOfEnemies ) // && !gGameExternalOptions.fNoEnemyDetectionWithoutRecon ) { // nope - display nothing return;