public override void machineRightClick(VendingMachineData vm, int i, int j) { Main.player[Main.myPlayer].chest = -1; Main.npcChatText = ""; VendingMachine.chooseTalkingNPC(vm); Main.OpenHairWindow(); }
public override void machineRightClick(VendingMachineData vm, int i, int j) { Main.player[Main.myPlayer].chest = -1; Main.npcChatText = ""; VendingMachine.chooseTalkingNPC(vm); if (Main.player[Main.myPlayer].taxMoney > 0) { int l = Main.player[Main.myPlayer].taxMoney; while (l > 0) { if (l > 1000000) { int num26 = l / 1000000; l -= 1000000 * num26; int number = Item.NewItem((int)Main.player[Main.myPlayer].position.X, (int)Main.player[Main.myPlayer].position.Y, Main.player[Main.myPlayer].width, Main.player[Main.myPlayer].height, 74, num26, false, 0, false, false); if (Main.netMode == 1) { NetMessage.SendData(21, -1, -1, null, number, 1f, 0f, 0f, 0, 0, 0); } } else if (l > 10000) { int num27 = l / 10000; l -= 10000 * num27; int number2 = Item.NewItem((int)Main.player[Main.myPlayer].position.X, (int)Main.player[Main.myPlayer].position.Y, Main.player[Main.myPlayer].width, Main.player[Main.myPlayer].height, 73, num27, false, 0, false, false); if (Main.netMode == 1) { NetMessage.SendData(21, -1, -1, null, number2, 1f, 0f, 0f, 0, 0, 0); } } else if (l > 100) { int num28 = l / 100; l -= 100 * num28; int number3 = Item.NewItem((int)Main.player[Main.myPlayer].position.X, (int)Main.player[Main.myPlayer].position.Y, Main.player[Main.myPlayer].width, Main.player[Main.myPlayer].height, 72, num28, false, 0, false, false); if (Main.netMode == 1) { NetMessage.SendData(21, -1, -1, null, number3, 1f, 0f, 0f, 0, 0, 0); } } else { int num29 = l; if (num29 < 1) { num29 = 1; } l -= num29; int number4 = Item.NewItem((int)Main.player[Main.myPlayer].position.X, (int)Main.player[Main.myPlayer].position.Y, Main.player[Main.myPlayer].width, Main.player[Main.myPlayer].height, 71, num29, false, 0, false, false); if (Main.netMode == 1) { NetMessage.SendData(21, -1, -1, null, number4, 1f, 0f, 0f, 0, 0, 0); } } } // Main.npcChatText = Lang.dialog(Main.rand.Next(380, 382), false); Main.player[Main.myPlayer].taxMoney = 0; return; } }
public static void chooseTalkingNPC(VendingMachineData vm) { Mod mod = ModLoader.GetMod("VendingMachines"); if (Main.player[Main.myPlayer].talkNPC < 0 || Main.player[Main.myPlayer].talkNPC >= Main.npc.Length) { for (int i = Main.npc.Length - 5; i >= 0; i--) { if (Main.npc[i].active && Main.npc[i].type == ModContent.NPCType <InvisibleAllShopNPC>() && (Main.npc[i].ai[0] == -1 || Main.npc[i].ai[0] == Main.myPlayer)) { Main.npc[i].ai[0] = Main.myPlayer; Main.npc[i].Center = new Vector2(vm.x * 16 + 24, vm.y * 16 + 32);//Main.player[Main.myPlayer].Center; // Main.npc[i].name = ""; Main.player[Main.myPlayer].talkNPC = i; return; } } for (int i = Main.npc.Length - 5; i >= 0; i--) { if (!Main.npc[i].active) { Main.npc[i] = new Terraria.NPC(); Main.npc[i].SetDefaults(ModContent.NPCType <InvisibleAllShopNPC>()); Main.npc[i].ai[0] = Main.myPlayer; Main.npc[i].Center = new Vector2(vm.x * 16 + 24, vm.y * 16 + 32);//Main.player[Main.myPlayer].Center; // Main.npc[i].name = ""; Main.player[Main.myPlayer].talkNPC = i; return; } } } }
public override void machineRightClick(VendingMachineData vm, int i, int j) { Main.player[Main.myPlayer].chest = -1; Main.npcChatText = ""; VendingMachine.chooseTalkingNPC(vm); Main.recBigList = false; Main.playerInventory = true; Main.InGuideCraftMenu = true; Main.InReforgeMenu = false; }
public async Task <ActionResult <VendingMachineData> > GetMachineState() { await this.vendingMachine.LoadMachine(); var vendingMachineData = new VendingMachineData() { CurrentInsertedAmount = this.vendingMachine.CurrentInsertedAmount, AvailableProducts = this.vendingMachine.Products.Where(product => product.Quantity > 0).ToList(), AvailableCoins = this.vendingMachine.CoinsAvailable }; return(Ok(vendingMachineData)); }
public async Task <IActionResult> Index() { var model = new VendingMachineData(); try { model.Products = (await _vendingService.GetAvailableProductsAsync()).Products; model.Denominations = _vendingService.GetDenominations(); model.Deposit = (await _vendingService.GetDepositAsync()).TotalAmount; } catch (HttpRequestException e) { model.ErrorMessage = e.Message; } return(View(model)); }
public override void machineRightClick(VendingMachineData vm, int i, int j) { Main.player[Main.myPlayer].chest = -1; Main.npcChatText = ""; VendingMachine.chooseTalkingNPC(vm); Main.PlaySound(12, -1, -1, 1, 1f, 0f); int num30 = Main.player[Main.myPlayer].FindItem(ItemID.Sets.ExoticPlantsForDyeTrade); if (num30 != -1) { Main.player[Main.myPlayer].inventory[num30].stack--; if (Main.player[Main.myPlayer].inventory[num30].stack <= 0) { Main.player[Main.myPlayer].inventory[num30] = new Item(); } Main.PlaySound(24, -1, -1, 1, 1f, 0f); Main.player[Main.myPlayer].GetDyeTraderReward(); } return; }
public virtual void machineRightClick(VendingMachineData vm, int i, int j) { }
public CancelPurchaseSteps(VendingMachineData vendingMachineData) { _vendingMachineData = vendingMachineData; }
public PurchaseProductSteps(VendingMachineData vendingMachineData) { _vendingMachineData = vendingMachineData; }
public VendingMachineSteps(VendingMachineData vendingMachineData) { _vendingMachineData = vendingMachineData; }
public override bool NewRightClick(int i, int j) { int x = i; int y = j; while (Main.tile[x, y].frameY % 70 != 0) { y--; } while (Main.tile[x, y].frameX % 54 != 0) { x--; } int vmID = VendingMachineWorld.GetVendingMachineFromCoordinates(x, y); if (vmID < 0) { Main.NewText("No vending Machine Found..."); return(false); } VendingMachineData vm = VendingMachineWorld.vm[vmID]; if (vm.isItem) { Main.player[Main.myPlayer].chest = -1; Main.npcChatText = ""; int type = SoulOfNPC.getTypeFromItemTag(vm.id); Item itm = new Item(); itm.SetDefaults(type); VendingMachineItem vendor = itm.modItem as VendingMachineItem; if (vendor != null) { if (vendor.replaceRightClick) { vendor.machineRightClick(vm, i, j); } else { Main.npcShop = Main.MaxShopIDs - 1; chooseTalkingNPC(vm); Main.recBigList = false; Main.playerInventory = true; Main.InGuideCraftMenu = false; Main.InReforgeMenu = false; for (int k = 0; k < InvisibleAllShopNPC.shopChest.item.Length; k++) { InvisibleAllShopNPC.shopChest.item[k] = new Item(); } vendor.SetupShop(InvisibleAllShopNPC.shopChest); Main.instance.shop[Main.npcShop].SetupShop(ModContent.NPCType <InvisibleAllShopNPC>()); } } } else { int type = SoulOfNPC.getTypeFromNPCTag(vm.id); Main.npcShop = NPCToShop(type); if (type == NPCID.TravellingMerchant) { Main.player[Main.myPlayer].chest = -1; Main.npcChatText = ""; for (int k = 0; k < 40; k++) { if (Main.instance.shop[Main.npcShop].item[k] == null) { Main.instance.shop[Main.npcShop].item[k] = new Item(); } Main.instance.shop[Main.npcShop].item[k].SetDefaults(Main.travelShop[k]); } Main.InGuideCraftMenu = false; Main.InReforgeMenu = false; Main.recBigList = false; Main.playerInventory = true; chooseTalkingNPC(vm); } /*Nurse code overrides the normal vending machine shop for the behaviour of the nurse heal option.*/ else if (type == NPCID.Nurse) { int num5 = Main.player[Main.myPlayer].statLifeMax2 - Main.player[Main.myPlayer].statLife; for (int k = 0; k < 22; k++) { int num6 = Main.player[Main.myPlayer].buffType[k]; if (Main.debuff[num6] && Main.player[Main.myPlayer].buffTime[k] > 5 && BuffLoader.CanBeCleared(num6)) { num5 += 1000; } } if (Main.player[Main.myPlayer].BuyItem(num5)) { AchievementsHelper.HandleNurseService(num5); Main.PlaySound(SoundID.Item4, -1, -1); Main.player[Main.myPlayer].HealEffect(Main.player[Main.myPlayer].statLifeMax2 - Main.player[Main.myPlayer].statLife, true); Main.player[Main.myPlayer].statLife = Main.player[Main.myPlayer].statLifeMax2; for (int k = 0; k < 22; k++) { int num23 = Main.player[Main.myPlayer].buffType[k]; if (Main.debuff[num23] && Main.player[Main.myPlayer].buffTime[k] > 0 && BuffLoader.CanBeCleared(num23)) { Main.player[Main.myPlayer].DelBuff(k); k = -1; } } return(true); } } else { Main.player[Main.myPlayer].chest = -1; Main.npcChatText = ""; chooseTalkingNPC(vm); Main.recBigList = false; Main.playerInventory = true; Main.InGuideCraftMenu = false; Main.InReforgeMenu = false; Main.instance.shop[Main.npcShop].SetupShop(Main.npcShop < Main.MaxShopIDs - 1 ? Main.npcShop : type); } } return(true); }