From bc32650f25cac9469a691048a6945eba66a85116 Mon Sep 17 00:00:00 2001 From: Mohammad Shoaib <shoaib.khan20@outlook.com> Date: Thu, 3 Feb 2022 17:34:13 +0530 Subject: [PATCH] Added upgrade to buildsel --- stardew-access/CustomCommands.cs | 2 +- .../Patches/BuildingNAnimalMenuPatches.cs | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/stardew-access/CustomCommands.cs b/stardew-access/CustomCommands.cs index d337e66..b336cfd 100644 --- a/stardew-access/CustomCommands.cs +++ b/stardew-access/CustomCommands.cs @@ -397,7 +397,7 @@ namespace stardew_access if (BuildingNAnimalMenuPatches.isConstructing) { } else if (BuildingNAnimalMenuPatches.isDemolishing) { BuildingNAnimalMenuPatches.Demolish(BuildingNAnimalMenuPatches.availableBuildings[index]); } - else if (BuildingNAnimalMenuPatches.isUpgrading) { } + else if (BuildingNAnimalMenuPatches.isUpgrading) { BuildingNAnimalMenuPatches.Upgrade(BuildingNAnimalMenuPatches.availableBuildings[index]); } else if (BuildingNAnimalMenuPatches.isMoving) { } else if (BuildingNAnimalMenuPatches.isPainting) { } }); diff --git a/stardew-access/Patches/BuildingNAnimalMenuPatches.cs b/stardew-access/Patches/BuildingNAnimalMenuPatches.cs index f0ea8bf..70552c9 100644 --- a/stardew-access/Patches/BuildingNAnimalMenuPatches.cs +++ b/stardew-access/Patches/BuildingNAnimalMenuPatches.cs @@ -322,9 +322,23 @@ namespace stardew_access.Patches } - public static void Upgrade(Building toUpgrade) + public static void Upgrade(Building? toUpgrade) { - + // This code is taken from the game's code (CarpenterMenu.cs::775) + if (toUpgrade != null && carpenterMenu.CurrentBlueprint.name != null && toUpgrade.buildingType.Equals(carpenterMenu.CurrentBlueprint.nameOfBuildingToUpgrade)) + { + carpenterMenu.CurrentBlueprint.consumeResources(); + toUpgrade.daysUntilUpgrade.Value = 2; + toUpgrade.showUpgradeAnimation(Game1.getFarm()); + Game1.playSound("axe"); + DelayedAction.functionAfterDelay(carpenterMenu.returnToCarpentryMenuAfterSuccessfulBuild, 1500); + // freeze = true; + // Game1.multiplayer.globalChatInfoMessage("BuildingBuild", Game1.player.Name, Utility.AOrAn(carpenterMenu.CurrentBlueprint.displayName), carpenterMenu.CurrentBlueprint.displayName, Game1.player.farmName); + } + else if (toUpgrade != null) + { + Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\UI:Carpenter_CantUpgrade_BuildingType"), Color.Red, 3500f)); + } } public static void Paint(Building toPaint)