Пример #1
0
        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;
                }
            }
        }
Пример #2
0
        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;
                }
            }
        }