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); }