private void UpdateEndSigns() { var mymod = TheLunaticMod.Instance; if (this.HaveWeEndSigns()) { int halfDaysLeft = (mymod.Config.DaysUntil * 2) - this.HalfDaysElapsed; int rand = Main.rand.Next(halfDaysLeft * 60 * 54); if (Main.netMode != 1 && rand == 0) // Not client { int duration = (int)(120 + (60 * 4 * Main.rand.NextFloat())); if (Main.netMode == 2) // Server { ServerPacketHandlers.BroadcastEndSignFromServer(duration); } else if (Main.netMode == 0) // Single-player { this.ApplyEndSignForMe(duration); } } if (Main.netMode != 2) // Not server { if (halfDaysLeft != 0) { double days = (double)this.HalfDaysElapsed + WorldStateHelpers.GetDayOrNightPercentDone(); days -= mymod.Config.DaysUntil; mymod.Sky.TintScale = (float)days / (float)mymod.Config.DaysUntil; } else { mymod.Sky.TintScale = 0; } } } else if (Main.netMode != 2) // Not server { mymod.Sky.TintScale = 0; } }