/// <summary>The mod entry point, called after the mod is first loaded.</summary> /// <param name="helper">Provides simplified APIs for writing mods.</param> public override void Entry(IModHelper helper) { Dice = new Xoshiro.PRNG64.XoShiRo256starstar(); Translation = Helper.Translation; ModConfig = Helper.ReadConfig <MoonConfig>(); OurMoon = new SDVMoon(ModConfig, Dice, Helper.Translation, Monitor); ContentManager = Helper.Content; MPHandler = Helper.Multiplayer; OurIcons = new Sprites.Icons(Helper.Content); queuedMsg = null; BloodMoonTracker = new List <string>(); helper.Events.GameLoop.GameLaunched += OnGameLaunched; helper.Events.GameLoop.OneSecondUpdateTicked += OnOneSecondUpdateTicked; helper.Events.GameLoop.TimeChanged += OnTimeChanged; helper.Events.GameLoop.DayStarted += OnDayStarted; helper.Events.GameLoop.DayEnding += GameLoop_DayEnding; helper.Events.GameLoop.SaveLoaded += GameLoop_SaveLoaded; helper.Events.GameLoop.Saving += OnSaving; helper.Events.GameLoop.UpdateTicked += OnUpdateTicked; helper.Events.Display.RenderedActiveMenu += OnRenderedActiveMenu; helper.Events.Display.MenuChanged += OnMenuChanged; helper.Events.Player.Warped += OnWarped; helper.Events.GameLoop.ReturnedToTitle += OnReturnedToTitle; helper.Events.Multiplayer.ModMessageReceived += OnModMessageRecieved; SpaceEvents.ChooseNightlyFarmEvent += SpaceEvents_ChooseNightlyFarmEvent; helper.ConsoleCommands.Add("force_bloodmoon", "Forces a bloodmoon", ForceBloodMoon) .Add("force_bloodmoonoff", "Turns bloodmoon off.", TurnBloodMoonOff) .Add("show_mooninfo", "Show moon info", ShowMoonInfo) .Add("force_eclipseOn", "Turns eclipse on.", OurMoon.TurnEclipseOn); }
/// <summary>The mod entry point, called after the mod is first loaded.</summary> /// <param name="helper">Provides simplified APIs for writing mods.</param> public override void Entry(IModHelper helper) { Dice = new MersenneTwister(); Translation = Helper.Translation; ModConfig = Helper.ReadConfig <MoonConfig>(); OurMoon = new SDVMoon(ModConfig, Dice, Helper.Translation); ContentManager = Helper.Content; OurIcons = new Sprites.Icons(Helper.Content); queuedMsg = null; BloodMoonTracker = new List <string>(); helper.Events.GameLoop.GameLaunched += OnGameLaunched; helper.Events.GameLoop.OneSecondUpdateTicked += OnOneSecondUpdateTicked; helper.Events.GameLoop.TimeChanged += OnTimeChanged; helper.Events.GameLoop.DayStarted += OnDayStarted; helper.Events.GameLoop.DayEnding += GameLoop_DayEnding; helper.Events.GameLoop.Saving += OnSaving; helper.Events.GameLoop.UpdateTicked += OnUpdateTicked; helper.Events.Display.RenderedActiveMenu += OnRenderedActiveMenu; helper.Events.Display.MenuChanged += OnMenuChanged; helper.Events.Player.Warped += OnWarped; helper.Events.GameLoop.ReturnedToTitle += OnReturnedToTitle; helper.ConsoleCommands.Add("force_bloodmoon", "Forces a bloodmoon", ForceBloodMoon) .Add("force_bloodmoonoff", "Turns bloodmoon off.", TurnBloodMoonOff) .Add("force_eclipseOn", "Turns eclipse on.", TurnEclipseOn); }
public MoonPhase GetLunarPhase() { //divide it by the cycle. int currentDay = GetDayOfCycle(SDate.Now()); MoonPhase ret = SDVMoon.GetLunarPhase(currentDay); if (IsBloodMoon) //restructuring. { return(MoonPhase.BloodMoon); } return(ret); }
public MoonPhase GetLunarPhase() { //divide it by the cycle. int currentDay = GetDayOfCycle(SDate.Now()); MoonPhase ret = SDVMoon.GetLunarPhase(currentDay); if (ret == MoonPhase.FullMoon) { if (Dice.NextDoublePositive() <= ModConfig.BadMoonRising) { return(MoonPhase.BloodMoon); } } return(ret); }
/// <summary>The mod entry point, called after the mod is first loaded.</summary> /// <param name="helper">Provides simplified APIs for writing mods.</param> public override void Entry(IModHelper helper) { Dice = new MersenneTwister(); Translation = Helper.Translation; ModConfig = Helper.ReadConfig <MoonConfig>(); OurMoon = new SDVMoon(ModConfig, Dice, Helper.Translation); OurIcons = new Sprites.Icons(Helper.Content); helper.Events.GameLoop.GameLaunched += OnGameLaunched; helper.Events.GameLoop.OneSecondUpdateTicked += OnOneSecondUpdateTicked; helper.Events.GameLoop.TimeChanged += OnTimeChanged; helper.Events.GameLoop.DayStarted += OnDayStarted; helper.Events.GameLoop.Saving += OnSaving; helper.Events.GameLoop.UpdateTicked += OnUpdateTicked; helper.Events.Display.RenderedActiveMenu += OnRenderedActiveMenu; helper.Events.Display.MenuChanged += OnMenuChanged; helper.Events.Player.Warped += OnWarped; helper.Events.GameLoop.ReturnedToTitle += OnReturnedToTitle; }
public string SimpleMoonPhase() { return(SDVMoon.DescribeMoonPhase(this.CurrentPhase())); }
public string GetMenuString() { return(Translations.Get("moon-desc.desc_moonphase", new { moonPhase = SDVMoon.DescribeMoonPhase(CurrentPhase(), Translations) })); }
/// <summary>When a menu is open (<see cref="Game1.activeClickableMenu"/> isn't null), raised after that menu is drawn to the sprite batch but before it's rendered to the screen.</summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event arguments.</param> private void OnRenderedActiveMenu(object sender, RenderedActiveMenuEventArgs e) { bool outro = false; //revised this so it properly draws over the canon moon. :v if (Game1.activeClickableMenu is ShippingMenu ourMenu) { outro = Helper.Reflection.GetField <bool>(ourMenu, "outro").GetValue(); } if (Game1.showingEndOfNightStuff && !Game1.wasRainingYesterday && !outro && Game1.activeClickableMenu is ShippingMenu currMenu && ModConfig.ShowMoonInEndOfNight && currMenu.currentPage == -1) { float scale = Game1.pixelZoom * 1.25f; if (Game1.viewport.Width < 1024) { scale = Game1.pixelZoom * .8f; } if (Game1.viewport.Width < 810) { scale = Game1.pixelZoom * .6f; } if (Game1.viewport.Width < 700) { scale = Game1.pixelZoom * .35f; } Game1.spriteBatch.Draw(OurIcons.MoonSource, new Vector2(Game1.viewport.Width - 65 * Game1.pixelZoom, Game1.pixelZoom), OurIcons.GetNightMoonSprite(SDVMoon.GetLunarPhaseForDay(SDate.Now().AddDays(-1))), Color.LightBlue, 0.0f, Vector2.Zero, scale, SpriteEffects.None, 1f); } }
private int GetDayOfCycle() { return(SDVMoon.GetDayOfCycle(SDate.Now())); }