diff --git a/Tactical/Interface Panels.cpp b/Tactical/Interface Panels.cpp index 7e039300..4de0183e 100644 --- a/Tactical/Interface Panels.cpp +++ b/Tactical/Interface Panels.cpp @@ -5863,6 +5863,12 @@ void RenderTEAMPanel( BOOLEAN fDirty ) } } + else + { + // anv: for unoccupied slots clear tooltips + SetRegionFastHelpText( &(gTEAM_FaceRegions[ cnt ]), L"" ); + SetRegionFastHelpText( &(gTEAM_BarsRegions[ cnt ]), L"" ); + } } UpdateTEAMPanel( ); @@ -6262,6 +6268,11 @@ void MercFacePanelCallback( MOUSE_REGION * pRegion, INT32 iReason ) return; } + // anv: did we click on empty panel? + if ( !gTeamPanel[ ubID ].fOccupied ) + { + return; + } // Now use soldier ID values ubSoldierID = gTeamPanel[ ubID ].ubID; diff --git a/TileEngine/Explosion Control.cpp b/TileEngine/Explosion Control.cpp index 20ff6ed4..7276e32e 100644 --- a/TileEngine/Explosion Control.cpp +++ b/TileEngine/Explosion Control.cpp @@ -1601,7 +1601,7 @@ BOOLEAN DamageSoldierFromBlast( UINT8 ubPerson, UINT8 ubOwner, INT32 sBombGridNo // SANDRO - STOMP traits else { - if ( (MercPtrs[ ubOwner ] != NULL) && gGameOptions.fNewTraitSystem) + if ( ubOwner < TOTAL_SOLDIERS && (MercPtrs[ ubOwner ] != NULL) && gGameOptions.fNewTraitSystem) { // Demolitions damage bonus with bombs and mines if ( HAS_SKILL_TRAIT( MercPtrs[ ubOwner ], DEMOLITIONS_NT ) &&