@ -161,4 +161,19 @@ void Inventory::InsertIntoSortedInv(IT item){
bool Inventory : : ExecuteAction ( IT item ) {
return ITEM_SCRIPTS . at ( ITEM_DATA . at ( item ) . useFunc ) ( game , ITEM_DATA [ item ] . customProps ) ;
}
bool Inventory : : SwapItems ( IT it , IT it2 ) {
ItemInfo & itemInfo1 = ITEM_DATA . at ( it ) ;
ItemInfo & itemInfo2 = ITEM_DATA . at ( it2 ) ;
if ( itemInfo1 . category ! = itemInfo2 . category ) return false ;
ITCategory category = itemInfo1 . category ;
Item item1 = GetItem ( it ) ;
Item item2 = GetItem ( it2 ) ;
if ( item1 . Amt ( ) < = 0 & & item2 . Amt ( ) < = 0 ) return false ;
std : : vector < IT > inv = sortedInv . at ( category ) ;
auto index1 = std : : find ( inv . begin ( ) , inv . end ( ) , it ) ;
auto index2 = std : : find ( inv . begin ( ) , inv . end ( ) , it2 ) ;
std : : swap ( * index1 , * index2 ) ;
return true ;
}