Skip to content

Commit

Permalink
Upgrade half works on teh front end too
Browse files Browse the repository at this point in the history
  • Loading branch information
Bpendragon committed Mar 10, 2024
1 parent d6d7eaa commit a520d7a
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 72 deletions.
53 changes: 32 additions & 21 deletions GreenhouseSprinklers/GreenhouseSprinklers/ModEntry.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
using StardewValley.GameData.Buildings;
using StardewValley.Delegates;
using StardewValley.ItemTypeDefinitions;
using Force.DeepCloner;

namespace Bpendragon.GreenhouseSprinklers
{
Expand Down Expand Up @@ -256,27 +257,33 @@ internal bool CheckForUpgrade(string[] query, GameStateQueryContext context)

private void OnAssetRequested(object sender, AssetRequestedEventArgs e)
{
if (e.NameWithoutLocale.IsEquivalentTo("Content/Buildings"))
{

}

if (Context.IsWorldReady && e.Name.IsEquivalentTo("Buildings/Greenhouse"))
{
var gh = Game1.getFarm().buildings.OfType<GreenhouseBuilding>().FirstOrDefault();

switch(GetUpgradeLevel(gh))
switch (GetUpgradeLevel(gh))
{
case int i when i <= 0: break;
case 1:
case 2:
case 3:
e.LoadFromModFile<Texture2D>($"assets/Greenhouse{GetUpgradeLevel(gh)}.png", AssetLoadPriority.Medium);
break;
default:
default:
e.LoadFromModFile<Texture2D>($"assets/Greenhouse3.png", AssetLoadPriority.Medium);
break;
}
}

if (!MailChangesMade && e.NameWithoutLocale.IsEquivalentTo(@"Data\mail"))
{
e.Edit(asset => {
e.Edit(asset =>
{
var data = asset.AsDictionary<string, string>().Data;

data["Bpendragon.GreenhouseSprinklers.Wizard1"] = I18n.Mail_Wizard1();
Expand All @@ -287,30 +294,34 @@ private void OnAssetRequested(object sender, AssetRequestedEventArgs e)
MailChangesMade = true;
}


if (e.NameWithoutLocale.IsEquivalentTo("Data/Buildings"))
{
UpgradeCost cost = Config.DifficultySettings.Find(x => x.Difficulty == difficulty);

e.Edit(delegate (IAssetData data) {
e.Edit(delegate (IAssetData data)
{
var dict = data.AsDictionary<string, BuildingData>();
dict.Data.Add("GreenhouseSprinklers.Upgrade1", new BuildingData()

BuildingData bd = dict.Data["Greenhouse"].DeepClone();


bd.Name = "Greenhouse Sprinkler Upgrade";
bd.Texture = "Buildings\\Greenhouse";
bd.Description = I18n.CarpenterShop_FirstUpgradeDescription();
bd.Builder = "Robin";
bd.BuildCondition = $"GreenHouseSprinklers.BuildCondition 1";
bd.BuildingToUpgrade = "Greenhouse";
bd.BuildCost = cost.FirstUpgrade.Gold;
bd.BuildMaterials = new()
{
Name = "Greenhouse Sprinkler Upgrade",
Description = I18n.CarpenterShop_FirstUpgradeDescription(),
Texture = "Greenhouse",
Builder = "Robin",
BuildCondition = $"GreenHouseSprinklers.BuildCondition 1",
BuildingToUpgrade = "Greenhouse",
BuildCost = cost.FirstUpgrade.Gold,
BuildMaterials = new()
{
new() { ItemId = $"(O){(int)cost.FirstUpgrade.Sprinkler}", Amount = cost.FirstUpgrade.SprinklerCount },
new() { ItemId = "(O)787", Amount = cost.FirstUpgrade.Batteries }
},
BuildingType = "StardewValley.Greenhouse",
ModData = new() { { "Bpendragon.GreenhouseSprinklers.GHLevel", "1" } }
}) ;

new() { ItemId = $"(O){(int)cost.FirstUpgrade.Sprinkler}", Amount = cost.FirstUpgrade.SprinklerCount },
new() { ItemId = "(O)787", Amount = cost.FirstUpgrade.Batteries }
};
bd.ModData = new() { { "Bpendragon.GreenhouseSprinklers.GHLevel", "1" } };

dict.Data.Add("GreenhouseSprinklers.Upgrade1", bd);

});
}
}
Expand Down

This file was deleted.

0 comments on commit a520d7a

Please sign in to comment.