diff --git a/Strategic/Map Screen Interface Map Inventory.cpp b/Strategic/Map Screen Interface Map Inventory.cpp index 42baf11b..fa385bd1 100644 --- a/Strategic/Map Screen Interface Map Inventory.cpp +++ b/Strategic/Map Screen Interface Map Inventory.cpp @@ -838,7 +838,7 @@ void MapInvenPoolSlots(MOUSE_REGION * pRegion, INT32 iReason ) bool fValidPointer = false; if ( !InSectorStackPopup( ) && !InItemStackPopup( ) && !InItemDescriptionBox( ) && !InKeyRingPopup( ) && twItem->object.exists() == true && (bSelectedInfoChar != -1 && gCharactersList[bSelectedInfoChar].fValid)) { - if(OK_CONTROLLABLE_MERC( MercPtrs[gCharactersList[bSelectedInfoChar].usSolID] )) + if(OK_CONTROL_MERC( MercPtrs[gCharactersList[bSelectedInfoChar].usSolID] )) { //CHRISL: The old setup had a flaw I didn't consider. if, for some reason, the ItemSlotLimit = 0 // nothing might happen. Now we setup a flag to determine if our cursor is value for the item we're diff --git a/Tactical/Soldier macros.h b/Tactical/Soldier macros.h index 8380c1b3..83791f9c 100644 --- a/Tactical/Soldier macros.h +++ b/Tactical/Soldier macros.h @@ -23,6 +23,9 @@ // Checks if our guy can be controllable .... checks bInSector, team, on duty, etc... #define OK_INSECTOR_MERC( p ) ( p->stats.bLife >= OKLIFE && p->bActive && p->bInSector && p->bTeam == gbPlayerNum && p->bAssignment < ON_DUTY ) +// Checks if our guy is controllable but doesn't care about current assignment +#define OK_CONTROL_MERC( p ) ( p->stats.bLife >= OKLIFE && p->bActive && p->bInSector && p->bTeam == gbPlayerNum ) + // Checkf if our guy can be selected and is not in a position where our team has an interupt and he does not have one... #define OK_INTERRUPT_MERC( p ) ( ( INTERRUPT_QUEUED != 0 ) ? ( ( p->aiData.bMoved ) ? FALSE : TRUE ) : TRUE )