private static void ItemSlot_OverrideHover(On.Terraria.UI.ItemSlot.orig_OverrideHover orig, Terraria.Item[] inv, int context, int slot) { Item item = inv[slot]; if (ItemSlot.ShiftInUse && item.type > 0 && item.stack > 0 && !inv[slot].favorited) { switch (context) { case 0: case 1: case 2: if (Main.player[Main.myPlayer].chest != -1) { if (ChestUI.TryPlacingInChest(item, true)) { Main.cursorOverride = 9; } } break; case 3: case 4: if (Main.player[Main.myPlayer].ItemSpace(item)) { Main.cursorOverride = 8; } break; case 5: case 8: case 9: case 10: case 11: case 12: case 16: case 17: case 18: case 19: case 20: if (Main.player[Main.myPlayer].ItemSpace(inv[slot])) { Main.cursorOverride = 7; } break; } } if (IsCtrlPressed() && item.type > 0 && item.stack > 0 && !inv[slot].favorited) { if (context < 3) { if (Main.npcShop > 0 && !item.favorited) { Main.cursorOverride = 10; } else { Main.cursorOverride = 6; } } } if (Main.keyState.IsKeyDown(Main.FavoriteKey) && context < 3) { if (item.type > 0 && item.stack > 0 && Main.drawingPlayerChat) { Main.cursorOverride = 2; return; } if (item.type > 0 && item.stack > 0) { Main.cursorOverride = 3; } } }
private void ItemSlot_OverrideHover(On.Terraria.UI.ItemSlot.orig_OverrideHover orig, Item[] inv, int context, int slot) { Item item = inv[slot]; if (ItemSlot.ShiftInUse && item.type > 0 && item.stack > 0 && !inv[slot].favorited) { switch (context) { case 0: case 1: case 2: if (Main.npcShop > 0 && !item.favorited) { Main.cursorOverride = 10; } else if (Main.player[Main.myPlayer].chest != -1) { if (ChestUI.TryPlacingInChest(item, true)) { Main.cursorOverride = 9; } } else { Main.cursorOverride = 6; } break; case 3: case 4: if (Main.player[Main.myPlayer].ItemSpace(item)) { Main.cursorOverride = 8; } break; case 5: case 8: case 9: case 10: case 11: case 12: case 16: case 17: case 18: case 19: case 20: if (Main.player[Main.myPlayer].ItemSpace(inv[slot])) { Main.cursorOverride = 7; } break; } } //Check if the slot has an item in it and the favorite key is down and if the item in the slot can actually be favorited if (item.IsAir && Main.keyState.IsKeyDown(Main.FavoriteKey) && CanFavoriteAt[context]) { //Draw favorite cursor Main.cursorOverride = 3; } if (Main.keyState.IsKeyDown(Main.FavoriteKey) && CanFavoriteAt[context]) { if (item.type > 0 && item.stack > 0 && Main.drawingPlayerChat) { Main.cursorOverride = 2; return; } if (item.type > 0 && item.stack > 0) { Main.cursorOverride = 3; } } }