diff --git a/Tactical/Interface Panels.cpp b/Tactical/Interface Panels.cpp index c25e7bec..c583ecb5 100644 --- a/Tactical/Interface Panels.cpp +++ b/Tactical/Interface Panels.cpp @@ -3516,32 +3516,6 @@ BOOLEAN HandleNailsVestFetish( SOLDIERTYPE *pSoldier, UINT32 uiHandPos, UINT16 u BOOLEAN UIHandleItemPlacement( UINT8 ubHandPos, UINT16 usOldItemIndex, UINT16 usNewItemIndex, BOOLEAN fDeductPoints ) { - if ( _KeyDown(CTRL) ) - { - if ( gpItemPointer->exists() && gpSMCurrentMerc->inv[ ubHandPos ].exists() ) - { - if ( gpItemPointer->usItem == gpSMCurrentMerc->inv[ ubHandPos ].usItem ) - CleanUpStack( &( gpSMCurrentMerc->inv[ ubHandPos ] ), gpItemPointer ); - else // Madd: attach / merge object, merge only works on single objects for now - { - UINT8 cnt = gpSMCurrentMerc->inv[ ubHandPos ].ubNumberOfObjects; - if ( gpItemPointer->ubNumberOfObjects < cnt ) - cnt = gpItemPointer->ubNumberOfObjects; - - for (UINT8 i = 0; iinv[ ubHandPos ].AttachObject(gpSMCurrentMerc,gpItemPointer,TRUE,i); - } - } - } - - if ( gpItemPointer->exists() == false ) - { - EndItemPointer( ); - } - return( TRUE ); - } - // Try to place here if ( PlaceObject( gpSMCurrentMerc, ubHandPos, gpItemPointer ) ) { @@ -3943,15 +3917,41 @@ void SMInvClickCallback( MOUSE_REGION * pRegion, INT32 iReason ) if ( fOKToGo ) { + usOldItemIndex = gpSMCurrentMerc->inv[ uiHandPos ].usItem; + usNewItemIndex = gpItemPointer->usItem; + // OK, check if this is Nails, and we're in the vest position , don't allow it to come off.... - if ( HandleNailsVestFetish( gpSMCurrentMerc, uiHandPos, gpItemPointer->usItem ) ) + if ( HandleNailsVestFetish( gpSMCurrentMerc, uiHandPos, usNewItemIndex ) ) { return; } - usOldItemIndex = gpSMCurrentMerc->inv[ uiHandPos ].usItem; - usNewItemIndex = gpItemPointer->usItem; + if ( _KeyDown(CTRL) ) + { + if ( gpItemPointer->exists() && gpSMCurrentMerc->inv[ uiHandPos ].exists() ) + { + if ( gpItemPointer->usItem == gpSMCurrentMerc->inv[ uiHandPos ].usItem ) + CleanUpStack( &( gpSMCurrentMerc->inv[ uiHandPos ] ), gpItemPointer ); + else // Madd: attach / merge object, merge only works on single objects for now + { + UINT8 cnt = gpSMCurrentMerc->inv[ uiHandPos ].ubNumberOfObjects; + if ( gpItemPointer->ubNumberOfObjects < cnt ) + cnt = gpItemPointer->ubNumberOfObjects; + for (UINT8 i = 0; iinv[ uiHandPos ].AttachObject(gpSMCurrentMerc,gpItemPointer,TRUE,i); + } + } + } + + if ( gpItemPointer->exists() == false ) + { + EndItemPointer( ); + } + return; + } + if ( uiHandPos == HANDPOS || uiHandPos == SECONDHANDPOS || uiHandPos == HELMETPOS || uiHandPos == VESTPOS || uiHandPos == LEGPOS ) { //if ( ValidAttachmentClass( usNewItemIndex, usOldItemIndex ) ) diff --git a/Tactical/ShopKeeper Interface.cpp b/Tactical/ShopKeeper Interface.cpp index e310ee62..fb6dd734 100644 --- a/Tactical/ShopKeeper Interface.cpp +++ b/Tactical/ShopKeeper Interface.cpp @@ -3275,7 +3275,7 @@ UINT32 CalcShopKeeperItemPrice( BOOLEAN fDealerSelling, BOOLEAN fUnitPriceOnly, UINT8 ubCnt; UINT32 uiUnitPrice = 0; UINT32 uiTotalPrice = 0; - UINT32 uiDiscountValue; + UINT32 uiDiscountValue = 0; // UINT32 uiDifFrom10 = 0; #ifdef JA2UB UINT8 ubItemsNotCounted = 0; //ja25 UB @@ -3387,7 +3387,6 @@ UINT8 ubItemsNotCounted = 0; //ja25 UB // and sells for more! uiItemPrice[ubCnt] += uiDiscountValue; } - break; } // Flugente: backgrounds else if ( Item [ usItemID ].usItemClass & (IC_MAPFILTER_MELEE|IC_MAPFILTER_KIT|IC_MAPFILTER_LBE|IC_MAPFILTER_ARMOR|IC_MAPFILTER_MISC) ) @@ -3404,7 +3403,6 @@ UINT8 ubItemsNotCounted = 0; //ja25 UB // and sell for more! uiItemPrice[ubCnt] += uiDiscountValue; } - break; } // if it's the dealer selling this, make sure the item is worth at least $1