public void Combine(InvItem item1, InvItem item2) { if (item2 == null || item1 == null || item2.recipeSlot > -1) { return; } if (item2 == item1) { if ((KickStarter.settingsManager.interactionMethod != AC_InteractionMethod.ChooseHotspotThenInteraction || KickStarter.settingsManager.inventoryInteractions == InventoryInteractions.Single) && KickStarter.settingsManager.inventoryDragDrop && KickStarter.settingsManager.inventoryDropLook) { Look(item2); } selectedItem = null; } else { if (selectedItem == null) { InvItem tempItem = item1; item1 = item2; item2 = tempItem; } selectedItem = null; for (int i = 0; i < item2.combineID.Count; i++) { if (item2.combineID[i] == item1.id && item2.combineActionList[i] != null) { PlayerMenus.ForceOffAllMenus(true); AdvGame.RunActionListAsset(item2.combineActionList [i]); return; } } if (KickStarter.settingsManager.reverseInventoryCombinations || (KickStarter.settingsManager.SelectInteractionMethod() == SelectInteractions.CyclingCursorAndClickingHotspot && KickStarter.settingsManager.inventoryInteractions == InventoryInteractions.Multiple)) { // Try opposite: search selected item instead for (int i = 0; i < item1.combineID.Count; i++) { if (item1.combineID[i] == item2.id && item1.combineActionList[i] != null) { ActionListAsset assetFile = item1.combineActionList[i]; PlayerMenus.ForceOffAllMenus(true); AdvGame.RunActionListAsset(assetFile); return; } } } // Found no combine match if (item1.unhandledCombineActionList) { ActionListAsset unhandledActionList = item1.unhandledCombineActionList; AdvGame.RunActionListAsset(unhandledActionList); } else if (unhandledCombine) { PlayerMenus.ForceOffAllMenus(true); AdvGame.RunActionListAsset(unhandledCombine); } } KickStarter.playerCursor.ResetSelectedCursor(); }