diff --git a/Tactical/Handle Items.cpp b/Tactical/Handle Items.cpp index 36970730..0928906d 100644 --- a/Tactical/Handle Items.cpp +++ b/Tactical/Handle Items.cpp @@ -6294,7 +6294,7 @@ UINT8 StealItems(SOLDIERTYPE* pSoldier,SOLDIERTYPE* pOpponent, UINT8* ubIndexRet else { // Flugente: if we are on the same team, allow guaranteed full access - if ( gGameExternalOptions.fAccessOtherMercInventories && pOpponent->bTeam == pSoldier->bTeam ) + if ( gGameExternalOptions.fAccessOtherMercInventories && pOpponent->bTeam == pSoldier->bTeam && pOpponent->ubID != pSoldier->ubID ) fStealItem = TRUE; else { diff --git a/Tactical/Turn Based Input.cpp b/Tactical/Turn Based Input.cpp index 13f826ab..f590e967 100644 --- a/Tactical/Turn Based Input.cpp +++ b/Tactical/Turn Based Input.cpp @@ -5676,7 +5676,7 @@ void HandleHandCursorClick( INT32 usMapPos, UINT32 *puiNewEvent ) if ( gfUIFullTargetFound ) { // Flugente: allow stealing if the other guy is an enemy, OR if we are on the same team - if ( (( guiUIFullTargetFlags & ENEMY_MERC ) && !( guiUIFullTargetFlags & UNCONSCIOUS_MERC )) || (gGameExternalOptions.fAccessOtherMercInventories && guiUIFullTargetFlags & OWNED_MERC) ) + if ( (( guiUIFullTargetFlags & ENEMY_MERC ) && !( guiUIFullTargetFlags & UNCONSCIOUS_MERC )) || (gGameExternalOptions.fAccessOtherMercInventories && gusUIFullTargetID != pSoldier->ubID && guiUIFullTargetFlags & OWNED_MERC) ) { sActionGridNo = FindAdjacentGridEx( pSoldier, MercPtrs[ gusUIFullTargetID ]->sGridNo, &ubDirection, &sAdjustedGridNo, TRUE, FALSE ); if ( sActionGridNo == -1 ) diff --git a/Tactical/Weapons.cpp b/Tactical/Weapons.cpp index 78ec2b4c..071c0f67 100644 --- a/Tactical/Weapons.cpp +++ b/Tactical/Weapons.cpp @@ -3089,7 +3089,7 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo, BOOLEAN fStea { // Calculate the possible chance to steal! // Flugente: if we are on the same team, allow guaranteed full access - if ( gGameExternalOptions.fAccessOtherMercInventories && pTargetSoldier->bTeam == pSoldier->bTeam ) + if ( gGameExternalOptions.fAccessOtherMercInventories && pTargetSoldier->bTeam == pSoldier->bTeam && pTargetSoldier->ubID != pSoldier->ubID ) { iHitChance = 100; } @@ -3188,7 +3188,7 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo, BOOLEAN fStea // Do we have the chance to steal more than 1 item? // SANDRO - taking items from collapsed soldiers is treated differently // Flugente: if we are on the same team, allow guaranteed full access - if ( (gGameExternalOptions.fAccessOtherMercInventories && pTargetSoldier->bTeam == pSoldier->bTeam ) || ( fSoldierCollapsed || (!gGameExternalOptions.fEnhancedCloseCombatSystem && iDiceRoll < (iHitChance * 2 / 3))) && pSoldier->bTeam == gbPlayerNum ) + if ( (gGameExternalOptions.fAccessOtherMercInventories && pTargetSoldier->bTeam == pSoldier->bTeam && pTargetSoldier->ubID != pSoldier->ubID ) || ( fSoldierCollapsed || (!gGameExternalOptions.fEnhancedCloseCombatSystem && iDiceRoll < (iHitChance * 2 / 3))) && pSoldier->bTeam == gbPlayerNum ) { // first, charge extra Aps, because it's difficlut to pickup from other soldier if (gGameExternalOptions.fEnhancedCloseCombatSystem)