Fixed calendar spelling, updated more rain, retired some mods, and updated more mods to be 1.4 compatible. Starded touching up StardewSymphony.
After Width: | Height: | Size: 916 B |
After Width: | Height: | Size: 3.3 KiB |
|
@ -1,3 +1,7 @@
|
||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
using Omegasis.BillboardAnywhere.Framework;
|
using Omegasis.BillboardAnywhere.Framework;
|
||||||
using StardewModdingAPI;
|
using StardewModdingAPI;
|
||||||
using StardewModdingAPI.Events;
|
using StardewModdingAPI.Events;
|
||||||
|
@ -15,6 +19,23 @@ namespace Omegasis.BillboardAnywhere
|
||||||
/// <summary>The mod configuration.</summary>
|
/// <summary>The mod configuration.</summary>
|
||||||
private ModConfig Config;
|
private ModConfig Config;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The texture for the calendar button.
|
||||||
|
/// </summary>
|
||||||
|
private Texture2D calendarTexture;
|
||||||
|
/// <summary>
|
||||||
|
/// The texture for the quest button.
|
||||||
|
/// </summary>
|
||||||
|
private Texture2D questTexture;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The button for the calendar menu.
|
||||||
|
/// </summary>
|
||||||
|
public ClickableTextureComponent billboardButton;
|
||||||
|
/// <summary>
|
||||||
|
/// The button for the quest menu.
|
||||||
|
/// </summary>
|
||||||
|
public ClickableTextureComponent questButton;
|
||||||
|
|
||||||
/*********
|
/*********
|
||||||
** Public methods
|
** Public methods
|
||||||
|
@ -25,9 +46,24 @@ namespace Omegasis.BillboardAnywhere
|
||||||
{
|
{
|
||||||
this.Config = helper.ReadConfig<ModConfig>();
|
this.Config = helper.ReadConfig<ModConfig>();
|
||||||
|
|
||||||
|
helper.ConsoleCommands.Add("Omegasis.BillboardAnywhere.ReloadConfig", "Reloads the config file for BillboardAnywhere to reposition the button for the inventory menu page.", this.reloadConfig);
|
||||||
|
helper.ConsoleCommands.Add("Omegasis.BillboardAnywhere.SetcalendarButtonX", "<int>Sets the x position for the calendar button in the game menu.", this.setcalendarButtonX);
|
||||||
|
helper.ConsoleCommands.Add("Omegasis.BillboardAnywhere.SetcalendarButtonY", "<int> Sets the y position for the calendar button in the game menu.", this.setcalendarButtonY);
|
||||||
|
helper.ConsoleCommands.Add("Omegasis.BillboardAnywhere.SetcalendarButtonPosition", "<int,int> Sets the position for the calendar button in the game menu.", this.setcalendarButtonPosition);
|
||||||
|
helper.ConsoleCommands.Add("Omegasis.BillboardAnywhere.SetQuestButtonX", "<int>Sets the x position for the quest button in the game menu.", this.setQuestButtonX);
|
||||||
|
helper.ConsoleCommands.Add("Omegasis.BillboardAnywhere.SetQuestButtonY", "<int> Sets the y position for the quest button in the game menu.", this.setQuestButtonX);
|
||||||
|
helper.ConsoleCommands.Add("Omegasis.BillboardAnywhere.SetQuestButtonPosition", "<int,int> Sets the position for the quest button in the game menu.", this.setQuestButtonPosition);
|
||||||
|
helper.ConsoleCommands.Add("Omegasis.BillboardAnywhere.SetcalendarButtonVisibility", "<bool> Sets the visibility for the billboard button in the game menu.", this.setcalendarButtonVisibility);
|
||||||
|
helper.ConsoleCommands.Add("Omegasis.BillboardAnywhere.SetQuestButtonVisibility", "<bool> Sets the visibility for the quest button in the game menu.", this.setQuestButtonVisibility);
|
||||||
helper.Events.Input.ButtonPressed += this.OnButtonPressed;
|
helper.Events.Input.ButtonPressed += this.OnButtonPressed;
|
||||||
}
|
helper.Events.Display.RenderedActiveMenu += this.RenderBillboardMenuButton;
|
||||||
|
helper.Events.Input.ButtonPressed += this.Input_ButtonPressed;
|
||||||
|
|
||||||
|
this.calendarTexture = helper.Content.Load<Texture2D>(Path.Combine("Assets", "Billboard.png"));
|
||||||
|
this.questTexture= helper.Content.Load<Texture2D>(Path.Combine("Assets", "Quest.png"));
|
||||||
|
this.billboardButton = new ClickableTextureComponent(new Rectangle((int)this.Config.CalendarOffsetFromMenu.X, (int)this.Config.CalendarOffsetFromMenu.Y, this.calendarTexture.Width, this.calendarTexture.Height), this.calendarTexture, new Rectangle(0, 0, this.calendarTexture.Width, this.calendarTexture.Height), 1f, false);
|
||||||
|
this.questButton = new ClickableTextureComponent(new Rectangle((int)this.Config.QuestOffsetFromMenu.X, (int)this.Config.QuestOffsetFromMenu.Y, this.questTexture.Width, this.questTexture.Height), this.questTexture, new Rectangle(0, 0, this.questTexture.Width, this.questTexture.Height), 1f, false);
|
||||||
|
}
|
||||||
|
|
||||||
/*********
|
/*********
|
||||||
** Private methods
|
** Private methods
|
||||||
|
@ -38,8 +74,214 @@ namespace Omegasis.BillboardAnywhere
|
||||||
public void OnButtonPressed(object sender, ButtonPressedEventArgs e)
|
public void OnButtonPressed(object sender, ButtonPressedEventArgs e)
|
||||||
{
|
{
|
||||||
// load menu if key pressed
|
// load menu if key pressed
|
||||||
if (Context.IsPlayerFree && e.Button == this.Config.KeyBinding)
|
if (Context.IsPlayerFree && e.Button == this.Config.CalendarKeyBinding)
|
||||||
Game1.activeClickableMenu = new Billboard();
|
Game1.activeClickableMenu = new Billboard();
|
||||||
|
if (Context.IsPlayerFree && e.Button == this.Config.QuestBoardKeyBinding)
|
||||||
|
{
|
||||||
|
Game1.RefreshQuestOfTheDay();
|
||||||
|
Game1.activeClickableMenu = new Billboard(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Checks to see if the billboard button is clicked.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void Input_ButtonPressed(object sender, ButtonPressedEventArgs e)
|
||||||
|
{
|
||||||
|
if (Game1.activeClickableMenu == null) return;
|
||||||
|
if (e.Button == SButton.MouseLeft)
|
||||||
|
{
|
||||||
|
if (this.isInventoryPage())
|
||||||
|
{
|
||||||
|
if (this.billboardButton.containsPoint(Game1.getMousePosition().X, Game1.getMousePosition().Y))
|
||||||
|
{
|
||||||
|
if (this.Config.EnableInventoryCalendarButton == false) return;
|
||||||
|
Game1.activeClickableMenu = new Billboard(false);
|
||||||
|
}
|
||||||
|
if (this.questButton.containsPoint(Game1.getMousePosition().X, Game1.getMousePosition().Y))
|
||||||
|
{
|
||||||
|
if (this.Config.EnableInventoryQuestButton == false) return;
|
||||||
|
Game1.activeClickableMenu = new Billboard(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Renders the billboard button to the menu.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void RenderBillboardMenuButton(object sender, RenderedActiveMenuEventArgs e)
|
||||||
|
{
|
||||||
|
if (this.isInventoryPage())
|
||||||
|
{
|
||||||
|
this.billboardButton.bounds = new Rectangle(Game1.activeClickableMenu.xPositionOnScreen + (int)this.Config.CalendarOffsetFromMenu.X, Game1.activeClickableMenu.yPositionOnScreen + (int)this.Config.CalendarOffsetFromMenu.Y, this.calendarTexture.Width, this.calendarTexture.Height);
|
||||||
|
this.questButton.bounds = new Rectangle(Game1.activeClickableMenu.xPositionOnScreen + (int)this.Config.QuestOffsetFromMenu.X, Game1.activeClickableMenu.yPositionOnScreen + (int)this.Config.QuestOffsetFromMenu.Y, this.calendarTexture.Width, this.calendarTexture.Height);
|
||||||
|
if(this.Config.EnableInventoryQuestButton) this.questButton.draw(Game1.spriteBatch);
|
||||||
|
if (this.Config.EnableInventoryCalendarButton) this.billboardButton.draw(Game1.spriteBatch);
|
||||||
|
GameMenu activeMenu = (Game1.activeClickableMenu as GameMenu);
|
||||||
|
activeMenu.drawMouse(Game1.spriteBatch);
|
||||||
|
|
||||||
|
if (this.billboardButton.containsPoint(Game1.getMousePosition().X, Game1.getMousePosition().Y))
|
||||||
|
{
|
||||||
|
//My deepest appologies for not being able to personally translate more text.
|
||||||
|
if (Game1.content.GetCurrentLanguage() == LocalizedContentManager.LanguageCode.en)
|
||||||
|
{
|
||||||
|
if (this.Config.EnableInventoryCalendarButton == false) return;
|
||||||
|
IClickableMenu.drawHoverText(Game1.spriteBatch, "Open Billboard Menu", Game1.smallFont);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.questButton.containsPoint(Game1.getMousePosition().X, Game1.getMousePosition().Y))
|
||||||
|
{
|
||||||
|
//My deepest appologies once again for not being able to personally translate more text.
|
||||||
|
if (Game1.content.GetCurrentLanguage() == LocalizedContentManager.LanguageCode.en)
|
||||||
|
{
|
||||||
|
if (this.Config.EnableInventoryQuestButton == false) return;
|
||||||
|
IClickableMenu.drawHoverText(Game1.spriteBatch, "Open Quest Menu", Game1.smallFont);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Checks to see if the current active menu is the game menu and the current page is the inventory page.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
private bool isInventoryPage()
|
||||||
|
{
|
||||||
|
if (Game1.activeClickableMenu == null) return false;
|
||||||
|
if (Game1.activeClickableMenu is StardewValley.Menus.GameMenu)
|
||||||
|
{
|
||||||
|
GameMenu activeMenu = (Game1.activeClickableMenu as GameMenu);
|
||||||
|
IClickableMenu currentTab = activeMenu.GetCurrentPage();
|
||||||
|
if (currentTab is InventoryPage)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reloads the mod's config and repositions the menu button as necessary.
|
||||||
|
/// </summary>
|
||||||
|
private void reloadConfig(string Name, string[] Params)
|
||||||
|
{
|
||||||
|
this.Config = this.Helper.ReadConfig<ModConfig>();
|
||||||
|
this.billboardButton = new ClickableTextureComponent(new Rectangle((int)this.Config.CalendarOffsetFromMenu.X, (int)this.Config.CalendarOffsetFromMenu.Y, this.calendarTexture.Width, this.calendarTexture.Height), this.calendarTexture, new Rectangle(0, 0, this.calendarTexture.Width, this.calendarTexture.Height), 1f, false);
|
||||||
|
this.questButton = new ClickableTextureComponent(new Rectangle((int)this.Config.QuestOffsetFromMenu.X, (int)this.Config.QuestOffsetFromMenu.Y, this.questTexture.Width, this.questTexture.Height), this.questTexture, new Rectangle(0, 0, this.questTexture.Width, this.questTexture.Height), 1f, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reloads the mod's config and repositions the menu button as necessary.
|
||||||
|
/// </summary>
|
||||||
|
private void reloadConfig()
|
||||||
|
{
|
||||||
|
this.Config = this.Helper.ReadConfig<ModConfig>();
|
||||||
|
this.billboardButton = new ClickableTextureComponent(new Rectangle((int)this.Config.CalendarOffsetFromMenu.X, (int)this.Config.CalendarOffsetFromMenu.Y, this.calendarTexture.Width, this.calendarTexture.Height), this.calendarTexture, new Rectangle(0, 0, this.calendarTexture.Width, this.calendarTexture.Height), 1f, false);
|
||||||
|
this.questButton = new ClickableTextureComponent(new Rectangle((int)this.Config.QuestOffsetFromMenu.X, (int)this.Config.QuestOffsetFromMenu.Y, this.questTexture.Width, this.questTexture.Height), this.questTexture, new Rectangle(0, 0, this.questTexture.Width, this.questTexture.Height), 1f, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the x position of the menu button.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Name">The name of the command.</param>
|
||||||
|
/// <param name="Params">The parameters passed into the command.</param>
|
||||||
|
private void setcalendarButtonX(string Name, string[] Params)
|
||||||
|
{
|
||||||
|
this.Config.CalendarOffsetFromMenu = new Vector2(Convert.ToInt32(Params[0]), this.Config.CalendarOffsetFromMenu.Y);
|
||||||
|
this.Helper.WriteConfig<ModConfig>(this.Config);
|
||||||
|
this.reloadConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the y position of the menu button.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Name">The name of the command.</param>
|
||||||
|
/// <param name="Params">The parameters passed into the command.</param>
|
||||||
|
private void setcalendarButtonY(string Name, string[] Params)
|
||||||
|
{
|
||||||
|
this.Config.CalendarOffsetFromMenu = new Vector2(this.Config.CalendarOffsetFromMenu.X, Convert.ToInt32(Params[0]));
|
||||||
|
this.Helper.WriteConfig<ModConfig>(this.Config);
|
||||||
|
this.reloadConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the position of the menu button.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Name">The name of the command.</param>
|
||||||
|
/// <param name="Params">The parameters passed into the command.</param>
|
||||||
|
private void setcalendarButtonPosition(string Name, string[] Params)
|
||||||
|
{
|
||||||
|
this.Config.CalendarOffsetFromMenu = new Vector2(Convert.ToInt32(Params[0]), Convert.ToInt32(Params[1]));
|
||||||
|
this.Helper.WriteConfig<ModConfig>(this.Config);
|
||||||
|
this.reloadConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the x position of the quest menu button.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Name">The name of the command.</param>
|
||||||
|
/// <param name="Params">The parameters passed into the command.</param>
|
||||||
|
private void setQuestButtonX(string Name, string[] Params)
|
||||||
|
{
|
||||||
|
this.Config.QuestOffsetFromMenu = new Vector2(Convert.ToInt32(Params[0]), this.Config.QuestOffsetFromMenu.Y);
|
||||||
|
this.Helper.WriteConfig<ModConfig>(this.Config);
|
||||||
|
this.reloadConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the y position of the quest menu button.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Name">The name of the command.</param>
|
||||||
|
/// <param name="Params">The parameters passed into the command.</param>
|
||||||
|
private void setQuestButtonY(string Name, string[] Params)
|
||||||
|
{
|
||||||
|
this.Config.QuestOffsetFromMenu = new Vector2(this.Config.QuestOffsetFromMenu.X, Convert.ToInt32(Params[0]));
|
||||||
|
this.Helper.WriteConfig<ModConfig>(this.Config);
|
||||||
|
this.reloadConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the position of the quest menu button.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Name">The name of the command.</param>
|
||||||
|
/// <param name="Params">The parameters passed into the command.</param>
|
||||||
|
private void setQuestButtonPosition(string Name, string[] Params)
|
||||||
|
{
|
||||||
|
this.Config.QuestOffsetFromMenu = new Vector2(Convert.ToInt32(Params[0]), Convert.ToInt32(Params[1]));
|
||||||
|
this.Helper.WriteConfig<ModConfig>(this.Config);
|
||||||
|
this.reloadConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the visibility and functionality of the billboard menu button.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Name">The name of the command.</param>
|
||||||
|
/// <param name="Params">The parameters passed into the command.</param>
|
||||||
|
private void setcalendarButtonVisibility(string Name, string[] Params)
|
||||||
|
{
|
||||||
|
this.Config.EnableInventoryCalendarButton = Convert.ToBoolean(Params[0]);
|
||||||
|
this.Helper.WriteConfig<ModConfig>(this.Config);
|
||||||
|
this.reloadConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the visibility and functionality of the quest menu button.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Name">The name of the command.</param>
|
||||||
|
/// <param name="Params">The parameters passed into the command.</param>
|
||||||
|
private void setQuestButtonVisibility(string Name, string[] Params)
|
||||||
|
{
|
||||||
|
this.Config.EnableInventoryQuestButton = Convert.ToBoolean(Params[0]);
|
||||||
|
this.Helper.WriteConfig<ModConfig>(this.Config);
|
||||||
|
this.reloadConfig();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,6 +86,14 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="README.md" />
|
<None Include="README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="Assets\Billboard.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Assets\Quest.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Import Project="$(SolutionDir)\deploy.targets" />
|
<Import Project="$(SolutionDir)\deploy.targets" />
|
||||||
</Project>
|
</Project>
|
|
@ -1,3 +1,4 @@
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
using StardewModdingAPI;
|
using StardewModdingAPI;
|
||||||
|
|
||||||
namespace Omegasis.BillboardAnywhere.Framework
|
namespace Omegasis.BillboardAnywhere.Framework
|
||||||
|
@ -6,6 +7,21 @@ namespace Omegasis.BillboardAnywhere.Framework
|
||||||
internal class ModConfig
|
internal class ModConfig
|
||||||
{
|
{
|
||||||
/// <summary>The key which shows the billboard menu.</summary>
|
/// <summary>The key which shows the billboard menu.</summary>
|
||||||
public SButton KeyBinding { get; set; } = SButton.B;
|
public SButton CalendarKeyBinding { get; set; } = SButton.B;
|
||||||
|
/// <summary>The key which shows the quest menu.</summary>
|
||||||
|
public SButton QuestBoardKeyBinding { get; set; } = SButton.H;
|
||||||
|
/// <summary>The offset for the calendar button from the active menu</summary>
|
||||||
|
public Vector2 CalendarOffsetFromMenu { get; set; } = new Vector2(-100, 0);
|
||||||
|
/// <summary>The offset for the quest button from the active menu</summary>
|
||||||
|
public Vector2 QuestOffsetFromMenu { get; set; } = new Vector2(-200, 0);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// If true the calendar button is enabled for the in-game menu.
|
||||||
|
/// </summary>
|
||||||
|
public bool EnableInventoryCalendarButton { get; set; } = true;
|
||||||
|
/// <summary>
|
||||||
|
/// If true the quest button is enabled for the in-game menu.
|
||||||
|
/// </summary>
|
||||||
|
public bool EnableInventoryQuestButton { get; set; } = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{
|
{
|
||||||
"Name": "Billboard Anywhere",
|
"Name": "Billboard Anywhere",
|
||||||
"Author": "Alpha_Omegasis",
|
"Author": "Alpha_Omegasis",
|
||||||
"Version": "1.8.0",
|
"Version": "1.10.1",
|
||||||
"Description": "Lets you view the billboard from anywhere.",
|
"Description": "Lets you view the billboard from anywhere.",
|
||||||
"UniqueID": "Omegasis.BillboardAnywhere",
|
"UniqueID": "Omegasis.BillboardAnywhere",
|
||||||
"EntryDll": "BillboardAnywhere.dll",
|
"EntryDll": "BillboardAnywhere.dll",
|
||||||
"MinimumApiVersion": "2.10.1",
|
"MinimumApiVersion": "3.0.0",
|
||||||
"UpdateKeys": [ "Nexus:492" ]
|
"UpdateKeys": [ "Nexus:492" ]
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,7 +158,7 @@ namespace Omegasis.BuildEndurance
|
||||||
|
|
||||||
if (this.PlayerData.CurrentLevel < this.Config.MaxLevel)
|
if (this.PlayerData.CurrentLevel < this.Config.MaxLevel)
|
||||||
{
|
{
|
||||||
while (this.PlayerData.CurrentExp >= this.PlayerData.ExpToNextLevel)
|
while (this.PlayerData.CurrentExp >= this.PlayerData.ExpToNextLevel && this.PlayerData.CurrentLevel<this.Config.MaxLevel)
|
||||||
{
|
{
|
||||||
this.PlayerData.CurrentLevel += 1;
|
this.PlayerData.CurrentLevel += 1;
|
||||||
this.PlayerData.CurrentExp = this.PlayerData.CurrentExp - this.PlayerData.ExpToNextLevel;
|
this.PlayerData.CurrentExp = this.PlayerData.CurrentExp - this.PlayerData.ExpToNextLevel;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{
|
{
|
||||||
"Name": "Build Endurance",
|
"Name": "Build Endurance",
|
||||||
"Author": "Alpha_Omegasis",
|
"Author": "Alpha_Omegasis",
|
||||||
"Version": "1.8.0",
|
"Version": "1.8.2",
|
||||||
"Description": "Increase your health as you play.",
|
"Description": "Increase your health as you play.",
|
||||||
"UniqueID": "Omegasis.BuildEndurance",
|
"UniqueID": "Omegasis.BuildEndurance",
|
||||||
"EntryDll": "BuildEndurance.dll",
|
"EntryDll": "BuildEndurance.dll",
|
||||||
"MinimumApiVersion": "2.10.1",
|
"MinimumApiVersion": "3.0.0",
|
||||||
"UpdateKeys": [ "Nexus:445" ]
|
"UpdateKeys": [ "Nexus:445" ]
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,7 +149,7 @@ namespace Omegasis.BuildHealth
|
||||||
|
|
||||||
if (this.PlayerData.CurrentLevel < this.Config.MaxLevel)
|
if (this.PlayerData.CurrentLevel < this.Config.MaxLevel)
|
||||||
{
|
{
|
||||||
while (this.PlayerData.CurrentExp >= this.PlayerData.ExpToNextLevel)
|
while (this.PlayerData.CurrentExp >= this.PlayerData.ExpToNextLevel && this.PlayerData.CurrentLevel<this.Config.MaxLevel)
|
||||||
{
|
{
|
||||||
this.PlayerData.CurrentLevel += 1;
|
this.PlayerData.CurrentLevel += 1;
|
||||||
this.PlayerData.CurrentExp = this.PlayerData.CurrentExp - this.PlayerData.ExpToNextLevel;
|
this.PlayerData.CurrentExp = this.PlayerData.CurrentExp - this.PlayerData.ExpToNextLevel;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{
|
{
|
||||||
"Name": "Build Health",
|
"Name": "Build Health",
|
||||||
"Author": "Alpha_Omegasis",
|
"Author": "Alpha_Omegasis",
|
||||||
"Version": "1.8.0",
|
"Version": "1.8.1",
|
||||||
"Description": "Increase your health as you play.",
|
"Description": "Increase your health as you play.",
|
||||||
"UniqueID": "Omegasis.BuildHealth",
|
"UniqueID": "Omegasis.BuildHealth",
|
||||||
"EntryDll": "BuildHealth.dll",
|
"EntryDll": "BuildHealth.dll",
|
||||||
"MinimumApiVersion": "2.10.1",
|
"MinimumApiVersion": "3.0.0",
|
||||||
"UpdateKeys": [ "Nexus:446" ]
|
"UpdateKeys": [ "Nexus:446" ]
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,8 +92,8 @@ namespace Omegasis.BuyBackCollectables.Framework
|
||||||
this.Collections.Add(BuyBackMenu.MineralsTab, new List<List<ClickableTextureComponent>>());
|
this.Collections.Add(BuyBackMenu.MineralsTab, new List<List<ClickableTextureComponent>>());
|
||||||
this.SideTabs.Add(new ClickableTextureComponent("", new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 6, Game1.tileSize, Game1.tileSize), "", Game1.content.LoadString("Strings\\UI:Collections_Cooking"), Game1.mouseCursors, new Rectangle(688, 64, 16, 16), Game1.pixelZoom));
|
this.SideTabs.Add(new ClickableTextureComponent("", new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 6, Game1.tileSize, Game1.tileSize), "", Game1.content.LoadString("Strings\\UI:Collections_Cooking"), Game1.mouseCursors, new Rectangle(688, 64, 16, 16), Game1.pixelZoom));
|
||||||
this.Collections.Add(BuyBackMenu.CookingTab, new List<List<ClickableTextureComponent>>());
|
this.Collections.Add(BuyBackMenu.CookingTab, new List<List<ClickableTextureComponent>>());
|
||||||
this.SideTabs.Add(new ClickableTextureComponent("", new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 7, Game1.tileSize, Game1.tileSize), "", Game1.content.LoadString("Strings\\UI:Collections_Achievements"), Game1.mouseCursors, new Rectangle(656, 80, 16, 16), Game1.pixelZoom));
|
//this.SideTabs.Add(new ClickableTextureComponent("", new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 7, Game1.tileSize, Game1.tileSize), "", Game1.content.LoadString("Strings\\UI:Collections_Achievements"), Game1.mouseCursors, new Rectangle(656, 80, 16, 16), Game1.pixelZoom));
|
||||||
this.Collections.Add(BuyBackMenu.AchievementsTab, new List<List<ClickableTextureComponent>>());
|
//this.Collections.Add(BuyBackMenu.AchievementsTab, new List<List<ClickableTextureComponent>>());
|
||||||
this.BackButton = new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen + Game1.tileSize * 3 / 4, this.yPositionOnScreen + this.height - 20 * Game1.pixelZoom, 12 * Game1.pixelZoom, 11 * Game1.pixelZoom), Game1.mouseCursors, new Rectangle(352, 495, 12, 11), Game1.pixelZoom);
|
this.BackButton = new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen + Game1.tileSize * 3 / 4, this.yPositionOnScreen + this.height - 20 * Game1.pixelZoom, 12 * Game1.pixelZoom, 11 * Game1.pixelZoom), Game1.mouseCursors, new Rectangle(352, 495, 12, 11), Game1.pixelZoom);
|
||||||
this.ForwardButton = new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen + this.width - Game1.tileSize / 2 - 15 * Game1.pixelZoom, this.yPositionOnScreen + this.height - 20 * Game1.pixelZoom, 12 * Game1.pixelZoom, 11 * Game1.pixelZoom), Game1.mouseCursors, new Rectangle(365, 495, 12, 11), Game1.pixelZoom);
|
this.ForwardButton = new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen + this.width - Game1.tileSize / 2 - 15 * Game1.pixelZoom, this.yPositionOnScreen + this.height - 20 * Game1.pixelZoom, 12 * Game1.pixelZoom, 11 * Game1.pixelZoom), Game1.mouseCursors, new Rectangle(365, 495, 12, 11), Game1.pixelZoom);
|
||||||
int[] array = new int[this.SideTabs.Count];
|
int[] array = new int[this.SideTabs.Count];
|
||||||
|
@ -155,8 +155,9 @@ namespace Omegasis.BuyBackCollectables.Framework
|
||||||
this.Collections[selectedTab].Last().Add(new ClickableTextureComponent(entry.Key + " " + drawShadow, new Rectangle(x2, num5, Game1.tileSize, Game1.tileSize), null, "", Game1.objectSpriteSheet, Game1.getSourceRectForStandardTileSheet(Game1.objectSpriteSheet, entry.Key, 16, 16), Game1.pixelZoom, drawShadow));
|
this.Collections[selectedTab].Last().Add(new ClickableTextureComponent(entry.Key + " " + drawShadow, new Rectangle(x2, num5, Game1.tileSize, Game1.tileSize), null, "", Game1.objectSpriteSheet, Game1.getSourceRectForStandardTileSheet(Game1.objectSpriteSheet, entry.Key, 16, 16), Game1.pixelZoom, drawShadow));
|
||||||
array[selectedTab]++;
|
array[selectedTab]++;
|
||||||
}
|
}
|
||||||
if (this.Collections[5].Count == 0)
|
/*
|
||||||
this.Collections[5].Add(new List<ClickableTextureComponent>());
|
//if (this.Collections[5].Count == 0)
|
||||||
|
//this.Collections[5].Add(new List<ClickableTextureComponent>());
|
||||||
foreach (KeyValuePair<int, string> current2 in Game1.achievements)
|
foreach (KeyValuePair<int, string> current2 in Game1.achievements)
|
||||||
{
|
{
|
||||||
bool flag = Game1.player.achievements.Contains(current2.Key);
|
bool flag = Game1.player.achievements.Contains(current2.Key);
|
||||||
|
@ -169,6 +170,7 @@ namespace Omegasis.BuyBackCollectables.Framework
|
||||||
array[5]++;
|
array[5]++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -221,9 +223,9 @@ namespace Omegasis.BuyBackCollectables.Framework
|
||||||
}
|
}
|
||||||
foreach (ClickableTextureComponent current2 in this.Collections[this.CurrentTab][this.CurrentPage])
|
foreach (ClickableTextureComponent current2 in this.Collections[this.CurrentTab][this.CurrentPage])
|
||||||
{
|
{
|
||||||
if (current2.containsPoint(x, y) && this.NewItem != null && Game1.player.money >= this.Value)
|
if (current2.containsPoint(x, y) && this.NewItem != null && Game1.player.Money >= this.Value)
|
||||||
{
|
{
|
||||||
Game1.player.money -= this.Value;
|
Game1.player.Money -= this.Value;
|
||||||
Game1.playSound("coin");
|
Game1.playSound("coin");
|
||||||
Game1.player.addItemByMenuIfNecessary(this.NewItem);
|
Game1.player.addItemByMenuIfNecessary(this.NewItem);
|
||||||
}
|
}
|
||||||
|
@ -236,9 +238,9 @@ namespace Omegasis.BuyBackCollectables.Framework
|
||||||
/// <param name="playSound">Whether to enable sound.</param>
|
/// <param name="playSound">Whether to enable sound.</param>
|
||||||
public override void receiveRightClick(int x, int y, bool playSound = true)
|
public override void receiveRightClick(int x, int y, bool playSound = true)
|
||||||
{
|
{
|
||||||
if (this.NewItem != null && Game1.player.money >= this.Value)
|
if (this.NewItem != null && Game1.player.Money >= this.Value)
|
||||||
{
|
{
|
||||||
Game1.player.money -= this.Value;
|
Game1.player.Money -= this.Value;
|
||||||
Game1.player.addItemByMenuIfNecessary(this.NewItem);
|
Game1.player.addItemByMenuIfNecessary(this.NewItem);
|
||||||
Game1.playSound("coin");
|
Game1.playSound("coin");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{
|
{
|
||||||
"Name": "Buy Back Collectables",
|
"Name": "Buy Back Collectables",
|
||||||
"Author": "Alpha_Omegasis",
|
"Author": "Alpha_Omegasis",
|
||||||
"Version": "1.7.0",
|
"Version": "1.8.0",
|
||||||
"Description": "Lets you buy back any obtained collectable.",
|
"Description": "Lets you buy back any obtained collectable.",
|
||||||
"UniqueID": "Omegasis.BuyBackCollectables",
|
"UniqueID": "Omegasis.BuyBackCollectables",
|
||||||
"EntryDll": "BuyBackCollectables.dll",
|
"EntryDll": "BuyBackCollectables.dll",
|
||||||
"MinimumApiVersion": "2.10.1",
|
"MinimumApiVersion": "3.0.0",
|
||||||
"UpdateKeys": [ "Nexus:507" ]
|
"UpdateKeys": [ "Nexus:507" ]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"Name": "Fall 28 Snow Day",
|
"Name": "Fall 28 Snow Day",
|
||||||
"Author": "Alpha_Omegasis",
|
"Author": "Alpha_Omegasis",
|
||||||
"Version": "1.7.0",
|
"Version": "1.7.1",
|
||||||
"Description": "Makes it snow on Fall 28, which makes a good explanation for all the snow on the next day.",
|
"Description": "Makes it snow on Fall 28, which makes a good explanation for all the snow on the next day.",
|
||||||
"UniqueID": "Omegasis.Fall28SnowDay",
|
"UniqueID": "Omegasis.Fall28SnowDay",
|
||||||
"EntryDll": "Fall28SnowDay.dll",
|
"EntryDll": "Fall28SnowDay.dll",
|
||||||
|
|
|
@ -9,21 +9,65 @@ namespace Omegasis.MoreRain.Framework
|
||||||
/// <summary>The chance out of 100 that it will storm tomorrow if it's spring.</summary>
|
/// <summary>The chance out of 100 that it will storm tomorrow if it's spring.</summary>
|
||||||
public int SpringThunderChance { get; set; } = 5;
|
public int SpringThunderChance { get; set; } = 5;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Changes the mod's logic to prioritize setting a thunderstorm before checking for just a normal rainy day.
|
||||||
|
/// False = The mod will try to set a normal rainy day first.
|
||||||
|
/// True = The mod will try to set a thunderstorm (stormy) day first.
|
||||||
|
/// Default:False
|
||||||
|
/// </summary>
|
||||||
|
public bool PrioritizeSpringStorms { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>The chance out of 100 that it will rain tomorrow if it's summer.</summary>
|
/// <summary>The chance out of 100 that it will rain tomorrow if it's summer.</summary>
|
||||||
public int SummerRainChance { get; set; } = 5;
|
public int SummerRainChance { get; set; } = 5;
|
||||||
|
|
||||||
/// <summary>The chance out of 100 that it will storm tomorrow if it's summer.</summary>
|
/// <summary>The chance out of 100 that it will storm tomorrow if it's summer.</summary>
|
||||||
public int SummerThunderChance { get; set; } = 10;
|
public int SummerThunderChance { get; set; } = 10;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Changes the mod's logic to prioritize setting a thunderstorm before checking for just a normal rainy day.
|
||||||
|
/// False = The mod will try to set a normal rainy day first.
|
||||||
|
/// True = The mod will try to set a thunderstorm (stormy) day first.
|
||||||
|
/// Default:True
|
||||||
|
/// </summary>
|
||||||
|
public bool PrioritizeSummerStorms { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>The chance out of 100 that it will rain tomorrow if it's fall.</summary>
|
/// <summary>The chance out of 100 that it will rain tomorrow if it's fall.</summary>
|
||||||
public int FallRainChance { get; set; } = 15;
|
public int FallRainChance { get; set; } = 15;
|
||||||
|
|
||||||
/// <summary>The chance out of 100 that it will storm tomorrow if it's fall.</summary>
|
/// <summary>The chance out of 100 that it will storm tomorrow if it's fall.</summary>
|
||||||
public int FallThunderChance { get; set; } = 5;
|
public int FallThunderChance { get; set; } = 5;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Changes the mod's logic to prioritize setting a thunderstorm before checking for just a normal rainy day.
|
||||||
|
/// False = The mod will try to set a normal rainy day first.
|
||||||
|
/// True = The mod will try to set a thunderstorm (stormy) day first.
|
||||||
|
/// Default:False
|
||||||
|
/// </summary>
|
||||||
|
public bool PrioritizeFallStorms { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// If set to true the mod will try to make it snow in fall just for fun.
|
||||||
|
/// </summary>
|
||||||
|
public bool SnowInFall { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The chance amouunt for it to snow in the fall.
|
||||||
|
/// </summary>
|
||||||
|
public int FallSnowChance { get; set; } = 5;
|
||||||
|
|
||||||
/// <summary>The chance out of 100 that it will snow tomorrow if it's winter.</summary>
|
/// <summary>The chance out of 100 that it will snow tomorrow if it's winter.</summary>
|
||||||
public int WinterSnowChance { get; set; } = 15;
|
public int WinterSnowChance { get; set; } = 15;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// If set to true then the mod will check to set rainy days in the winter. Default: False
|
||||||
|
/// </summary>
|
||||||
|
public bool RainInWinter { get; set; } = false;
|
||||||
|
/// <summary>
|
||||||
|
/// The chance that it will rain on a winter day. Only checked if the RainInWinter config option is true.
|
||||||
|
/// </summary>
|
||||||
|
public int WinterRainChance { get; set; } = 10;
|
||||||
|
|
||||||
/// <summary>Whether to suppress verbose logging.</summary>
|
/// <summary>Whether to suppress verbose logging.</summary>
|
||||||
public bool SuppressLog { get; set; } = true;
|
public bool SuppressLog { get; set; } = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,6 +75,23 @@ namespace Omegasis.MoreRain
|
||||||
{
|
{
|
||||||
case "spring":
|
case "spring":
|
||||||
// set rain
|
// set rain
|
||||||
|
if (this.Config.PrioritizeSpringStorms)
|
||||||
|
{
|
||||||
|
if (chance <= this.Config.SpringThunderChance)
|
||||||
|
{
|
||||||
|
Game1.weatherForTomorrow = Game1.weather_lightning;
|
||||||
|
this.VerboseLog("It will be stormy tomorrow.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (chance <= this.Config.SpringRainChance)
|
||||||
|
{
|
||||||
|
Game1.weatherForTomorrow = Game1.weather_rain;
|
||||||
|
this.VerboseLog("It will rain tomorrow.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if (chance <= this.Config.SpringRainChance)
|
if (chance <= this.Config.SpringRainChance)
|
||||||
{
|
{
|
||||||
Game1.weatherForTomorrow = Game1.weather_rain;
|
Game1.weatherForTomorrow = Game1.weather_rain;
|
||||||
|
@ -88,29 +105,66 @@ namespace Omegasis.MoreRain
|
||||||
this.VerboseLog("It will be stormy tomorrow.");
|
this.VerboseLog("It will be stormy tomorrow.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "summer":
|
case "summer":
|
||||||
// set rain
|
// set rain
|
||||||
if (chance <= this.Config.SummerRainChance)
|
if (this.Config.PrioritizeSummerStorms)
|
||||||
{
|
{
|
||||||
Game1.weatherForTomorrow = Game1.weather_rain;
|
|
||||||
this.VerboseLog("It will rain tomorrow.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (chance <= this.Config.SummerThunderChance)
|
if (chance <= this.Config.SummerThunderChance)
|
||||||
{
|
{
|
||||||
Game1.weatherForTomorrow = Game1.weather_lightning;
|
Game1.weatherForTomorrow = Game1.weather_lightning;
|
||||||
this.VerboseLog("It will be stormy tomorrow.");
|
this.VerboseLog("It will be stormy tomorrow.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (chance <= this.Config.SummerRainChance)
|
||||||
|
{
|
||||||
|
Game1.weatherForTomorrow = Game1.weather_rain;
|
||||||
|
this.VerboseLog("It will rain tomorrow.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (chance <= this.Config.SummerRainChance)
|
||||||
|
{
|
||||||
|
Game1.weatherForTomorrow = Game1.weather_rain;
|
||||||
|
this.VerboseLog("It will rain tomorrow.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (chance <= this.Config.SummerThunderChance)
|
||||||
|
{
|
||||||
|
Game1.weatherForTomorrow = Game1.weather_lightning;
|
||||||
|
this.VerboseLog("It will be stormy tomorrow.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "fall":
|
case "fall":
|
||||||
case "autumn":
|
case "autumn":
|
||||||
// set rain
|
// set rain
|
||||||
|
|
||||||
|
if (this.Config.PrioritizeFallStorms)
|
||||||
|
{
|
||||||
|
if (chance <= this.Config.FallThunderChance)
|
||||||
|
{
|
||||||
|
Game1.weatherForTomorrow = Game1.weather_lightning;
|
||||||
|
this.VerboseLog("It will be stormy tomorrow.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.Config.SnowInFall)
|
||||||
|
{
|
||||||
|
if (chance <= this.Config.FallSnowChance)
|
||||||
|
{
|
||||||
|
Game1.weatherForTomorrow = Game1.weather_snow;
|
||||||
|
this.VerboseLog("It will snow tomorrow.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (chance <= this.Config.FallRainChance)
|
if (chance <= this.Config.FallRainChance)
|
||||||
{
|
{
|
||||||
Game1.weatherForTomorrow = Game1.weather_rain;
|
Game1.weatherForTomorrow = Game1.weather_rain;
|
||||||
|
@ -118,12 +172,33 @@ namespace Omegasis.MoreRain
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (chance <= this.Config.FallRainChance)
|
||||||
|
{
|
||||||
|
Game1.weatherForTomorrow = Game1.weather_rain;
|
||||||
|
this.VerboseLog("It will rain tomorrow.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.Config.SnowInFall)
|
||||||
|
{
|
||||||
|
if (chance <= this.Config.FallSnowChance)
|
||||||
|
{
|
||||||
|
Game1.weatherForTomorrow = Game1.weather_snow;
|
||||||
|
this.VerboseLog("It will snow tomorrow.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (chance <= this.Config.FallThunderChance)
|
if (chance <= this.Config.FallThunderChance)
|
||||||
{
|
{
|
||||||
Game1.weatherForTomorrow = Game1.weather_lightning;
|
Game1.weatherForTomorrow = Game1.weather_lightning;
|
||||||
this.VerboseLog("It will be stormy tomorrow.");
|
this.VerboseLog("It will be stormy tomorrow.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "winter":
|
case "winter":
|
||||||
|
@ -133,10 +208,13 @@ namespace Omegasis.MoreRain
|
||||||
Game1.weatherForTomorrow = Game1.weather_snow;
|
Game1.weatherForTomorrow = Game1.weather_snow;
|
||||||
this.VerboseLog("It will snow tomorrow.");
|
this.VerboseLog("It will snow tomorrow.");
|
||||||
}
|
}
|
||||||
else
|
if (this.Config.RainInWinter)
|
||||||
{
|
{
|
||||||
//StardewValley.Game1.weatherForTomorrow = StardewValley.Game1.weather_sunny;
|
if (chance <= this.Config.WinterRainChance)
|
||||||
this.VerboseLog("It will not snow tomorrow.");
|
{
|
||||||
|
Game1.weatherForTomorrow = Game1.weather_rain;
|
||||||
|
this.VerboseLog("It will snow tomorrow.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"Name": "More Rain",
|
"Name": "More Rain",
|
||||||
"Author": "Alpha_Omegasis",
|
"Author": "Alpha_Omegasis",
|
||||||
"Version": "1.8.0",
|
"Version": "1.9.0",
|
||||||
"Description": "Change how much it rains in the game.",
|
"Description": "Change how much it rains in the game.",
|
||||||
"UniqueID": "Omegasis.MoreRain",
|
"UniqueID": "Omegasis.MoreRain",
|
||||||
"EntryDll": "MoreRain.dll",
|
"EntryDll": "MoreRain.dll",
|
||||||
|
|
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 330 B |
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 302 B |
Before Width: | Height: | Size: 569 B After Width: | Height: | Size: 569 B |
Before Width: | Height: | Size: 540 B After Width: | Height: | Size: 540 B |
Before Width: | Height: | Size: 589 B After Width: | Height: | Size: 589 B |
Before Width: | Height: | Size: 520 B After Width: | Height: | Size: 520 B |
Before Width: | Height: | Size: 305 B After Width: | Height: | Size: 305 B |
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 330 B |
Before Width: | Height: | Size: 293 B After Width: | Height: | Size: 293 B |
Before Width: | Height: | Size: 269 B After Width: | Height: | Size: 269 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 289 B After Width: | Height: | Size: 289 B |
Before Width: | Height: | Size: 273 B After Width: | Height: | Size: 273 B |
Before Width: | Height: | Size: 268 B After Width: | Height: | Size: 268 B |
Before Width: | Height: | Size: 271 B After Width: | Height: | Size: 271 B |
Before Width: | Height: | Size: 224 B After Width: | Height: | Size: 224 B |
Before Width: | Height: | Size: 314 B After Width: | Height: | Size: 314 B |
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 312 B |
Before Width: | Height: | Size: 318 B After Width: | Height: | Size: 318 B |
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 282 B |
Before Width: | Height: | Size: 326 B After Width: | Height: | Size: 326 B |
Before Width: | Height: | Size: 305 B After Width: | Height: | Size: 305 B |
Before Width: | Height: | Size: 299 B After Width: | Height: | Size: 299 B |
Before Width: | Height: | Size: 306 B After Width: | Height: | Size: 306 B |
Before Width: | Height: | Size: 341 B After Width: | Height: | Size: 341 B |
Before Width: | Height: | Size: 297 B After Width: | Height: | Size: 297 B |
Before Width: | Height: | Size: 395 B After Width: | Height: | Size: 395 B |
Before Width: | Height: | Size: 273 B After Width: | Height: | Size: 273 B |
Before Width: | Height: | Size: 388 B After Width: | Height: | Size: 388 B |
Before Width: | Height: | Size: 276 B After Width: | Height: | Size: 276 B |
Before Width: | Height: | Size: 390 B After Width: | Height: | Size: 390 B |
Before Width: | Height: | Size: 288 B After Width: | Height: | Size: 288 B |