public AdventurersGuildShopMenu(IModHelper helper, IMonitor monitor, Dictionary <Item, int[]> itemPriceAndStock, bool slingshotChanges, int currency = 0, string who = null) : base(itemPriceAndStock, currency, who)
        {
            Helper           = helper;
            Monitor          = monitor;
            SlingshotChanges = slingshotChanges;

            ModSlingshot normalSlingshot = new ModSlingshot(Slingshot.basicSlingshot);

            ModSlingshot masterSlingshot = new ModSlingshot(Slingshot.masterSlingshot);

            if (slingshotChanges)
            {
                if (Game1.player.deepestMineLevel >= 40)
                {
                    Monitor.Log("Adding normal slingshot to shop menu", LogLevel.Trace);
                    itemPriceAndStock.Add(normalSlingshot, new int[] { normalSlingshotPrice, stock });
                    Helper.Reflection.GetField <List <Item> >(this, "forSale").GetValue().Add(normalSlingshot);
                    if (Game1.player.deepestMineLevel >= 70)
                    {
                        Monitor.Log("Adding master slingshot to shop menu", LogLevel.Trace);
                        itemPriceAndStock.Add(masterSlingshot, new int[] { masterSlingshotPrice, stock });
                        Helper.Reflection.GetField <List <Item> >(this, "forSale").GetValue().Add(masterSlingshot);
                    }
                }
                ModifyInventoryMenu();
                exitFunction = ResetInventoryMenu;
            }
        }
 public ModInventoryMenu ModifySlinghots()
 {
     for (int i = 0; i < actualInventory.Count; i++)
     {
         if (actualInventory[i] is Slingshot slingshot)
         {
             actualInventory[i] = ModSlingshot.GetCopy(slingshot, inst);
         }
     }
     return(this);
 }