diff --git a/Tactical/ShopKeeper Interface.cpp b/Tactical/ShopKeeper Interface.cpp index c1ddb3fb1..13f19f5af 100644 --- a/Tactical/ShopKeeper Interface.cpp +++ b/Tactical/ShopKeeper Interface.cpp @@ -7125,6 +7125,13 @@ void ReturnItemToPlayerSomehow( INVENTORY_IN_SLOT *pInvSlot, SOLDIERTYPE *pDropS ShopkeeperAddItemToPool( pDropSoldier->sGridNo, &pInvSlot->ItemObject, VISIBLE, pDropSoldier->pathing.bLevel, 0, 0 ); } } + //CHRISL: We need to handle LBENODE items a little differently so we don't lose anything stored in them. Instead of + // trying to return the item, simply drop the item to the ground. + if(UsingNewInventorySystem() == true && pInvSlot->ItemObject.IsActiveLBE(0) == true) + { + pDropSoldier->inv[pInvSlot->bSlotIdInOtherLocation].initialize(); + ShopkeeperAddItemToPool( pDropSoldier->sGridNo, &pInvSlot->ItemObject, VISIBLE, pDropSoldier->pathing.bLevel, 0, 0 ); + } } diff --git a/Tactical/Turn Based Input.cpp b/Tactical/Turn Based Input.cpp index b655dcdca..3ec66ad68 100644 --- a/Tactical/Turn Based Input.cpp +++ b/Tactical/Turn Based Input.cpp @@ -2540,6 +2540,10 @@ void GetKeyboardInput( UINT32 *puiNewEvent ) SOLDIERTYPE *pjSoldier; if ( GetSoldier( &pjSoldier, gusSelectedSoldier ) ) { + // CHRISL: Turn off manual jumping while wearing a backpack + if(UsingNewInventorySystem() == true && pjSoldier->inv[BPACKPOCKPOS].exists() == true) + break; + BOOLEAN fNearHeigherLevel; BOOLEAN fNearLowerLevel; INT8 bDirection;