public static void IssueNotification(Colony colony, localization.LocalizationHelper localizationHelper, string message, params string[] args) { colony.ForEachOwner(player => { IssueNotification(player, localizationHelper, message, args); }); }
public static void NotifyAll(localization.LocalizationHelper localizationHelper, string message, params string[] args) { foreach (var player in Players.PlayerDatabase.Values) { IssueNotification(player, localizationHelper, message, args); } }
public static void IssueNotification(Players.Player player, localization.LocalizationHelper localizationHelper, string message, params string[] args) { if (player.IsConnected()) { var messageBuilt = string.Format(localizationHelper.LocalizeOrDefault(message, player), PandaChat.LocalizeArgs(player, localizationHelper, args)); IssueNotification(player, messageBuilt); } }
public string GetDescription(Colony colony, Players.Player player) { var localizationHelper = new localization.LocalizationHelper("Happiness"); var name = ""; var cs = Entities.ColonyState.GetColonyState(colony); if (colony.HappinessData.CachedHappiness < 0) { float percent = 0.05f; if (colony.HappinessData.CachedHappiness < -20) { percent = 0.10f; } if (colony.HappinessData.CachedHappiness < -50) { percent = 0.15f; } if (colony.HappinessData.CachedHappiness < -70) { percent = 0.20f; } if (colony.HappinessData.CachedHappiness < -100) { percent = 0.25f; } percent = percent * cs.Difficulty.UnhappyGuardsMultiplyRate; foreach (var colonist in colony.Followers) { colonist.ApplyJobResearch(); if (colonist.Job != null && colonist.Job.IsValid && colonist.TryGetNPCGuardSettings(out var guardJobSettings)) { guardJobSettings.CooldownShot = guardJobSettings.CooldownShot - (guardJobSettings.CooldownShot * percent); } } name = localizationHelper.LocalizeOrDefault("SlowGuards", player) + " " + Math.Round((percent * 100), 2) + "%"; } else { foreach (var colonist in colony.Followers) { colonist.ApplyJobResearch(); } } return(name); }