public static MessageEntryBuilder.MessageBuilder RuntimeItemDescription(this MessageEntryBuilder.MessageBuilder @this, Item item, ShopInventoryAttribute.ShopKeeper shopKeeper, Item location)
        {
            var    shopTexts = item.ShopTexts();
            string description;

            switch (shopKeeper)
            {
            case ShopInventoryAttribute.ShopKeeper.WitchShop:
                description = shopTexts.WitchShop;
                break;

            case ShopInventoryAttribute.ShopKeeper.TradingPostMain:
                description = shopTexts.TradingPostMain;
                break;

            case ShopInventoryAttribute.ShopKeeper.TradingPostPartTimer:
                description = shopTexts.TradingPostPartTimer;
                break;

            case ShopInventoryAttribute.ShopKeeper.CuriosityShop:
                description = shopTexts.CuriosityShop;
                break;

            case ShopInventoryAttribute.ShopKeeper.BombShop:
                description = shopTexts.BombShop;
                break;

            case ShopInventoryAttribute.ShopKeeper.ZoraShop:
                description = shopTexts.ZoraShop;
                break;

            case ShopInventoryAttribute.ShopKeeper.GoronShop:
                description = shopTexts.GoronShop;
                break;

            case ShopInventoryAttribute.ShopKeeper.GoronShopSpring:
                description = shopTexts.GoronShopSpring;
                break;

            default:
                description = null;
                break;
            }
            if (description == null)
            {
                description = shopTexts.Default;
            }

            var getItemIndex = location.GetItemIndex().Value;
            var upper        = (char)(getItemIndex >> 8);
            var lower        = (char)(getItemIndex & 0xFF);

            if (description.Contains("\u0009\u0001\u0000\u0000"))
            {
                return(@this.Text(description.Replace("\u0009\u0001\u0000\u0000", $"\u0009\u0001{upper}{lower}")));
            }

            return(@this
                   .RuntimeItemDescriptionStart(location)
                   .Text(description)
                   .RuntimeGenericStop());
        }