diff --git a/OpenRA.Game/Game.cs b/OpenRA.Game/Game.cs index 89ebd21720..1780bd55c3 100644 --- a/OpenRA.Game/Game.cs +++ b/OpenRA.Game/Game.cs @@ -858,6 +858,11 @@ namespace OpenRA state = RunStatus.Success; } + public static void AddSystemLine(string text) + { + AddSystemLine("Battlefield Control", text); + } + public static void AddSystemLine(string name, string text) { OrderManager.AddChatLine(name, systemMessageColor, text, systemMessageColor); diff --git a/OpenRA.Game/Network/UnitOrders.cs b/OpenRA.Game/Network/UnitOrders.cs index eda839f776..a696abfdad 100644 --- a/OpenRA.Game/Network/UnitOrders.cs +++ b/OpenRA.Game/Network/UnitOrders.cs @@ -21,7 +21,6 @@ namespace OpenRA.Network public static class UnitOrders { public const int ChatMessageMaxLength = 2500; - const string ServerChatName = "Battlefield Control"; static Player FindPlayerByClient(this World world, Session.Client c) { @@ -41,7 +40,7 @@ namespace OpenRA.Network { // Server message case "Message": - Game.AddSystemLine(ServerChatName, order.TargetString); + Game.AddSystemLine(order.TargetString); break; // Reports that the target player disconnected @@ -137,7 +136,7 @@ namespace OpenRA.Network FieldLoader.GetValue("SaveSyncFrame", saveSyncFrame.Value.Value); } else - Game.AddSystemLine(ServerChatName, "The game has started."); + Game.AddSystemLine("The game has started."); Game.StartGame(orderManager.LobbyInfo.GlobalSettings.Map, WorldType.Regular); break; @@ -156,7 +155,7 @@ namespace OpenRA.Network case "GameSaved": if (!orderManager.World.IsReplay) - Game.AddSystemLine(ServerChatName, "Game saved"); + Game.AddSystemLine("Game saved"); foreach (var nsr in orderManager.World.WorldActor.TraitsImplementing()) nsr.GameSaved(orderManager.World); @@ -176,7 +175,7 @@ namespace OpenRA.Network if (orderManager.World.Paused != pause && world != null && world.LobbyInfo.NonBotClients.Count() > 1) { var pausetext = "The game is {0} by {1}".F(pause ? "paused" : "un-paused", client.Name); - Game.AddSystemLine(ServerChatName, pausetext); + Game.AddSystemLine(pausetext); } orderManager.World.Paused = pause; diff --git a/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs b/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs index e9169c933d..05a6b43025 100644 --- a/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs +++ b/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs @@ -198,12 +198,15 @@ namespace OpenRA.Mods.Common.Scripting Game.AddChatLine(prefix, c, text); } - [Desc("Display a system message to the player.")] - public void DisplaySystemMessage(string text, string prefix = "Mission") + [Desc("Display a system message to the player. If 'prefix' is nil the default system prefix is used.")] + public void DisplaySystemMessage(string text, string prefix = null) { if (string.IsNullOrEmpty(text)) return; + if (string.IsNullOrEmpty(prefix)) + Game.AddSystemLine(text); + Game.AddSystemLine(prefix, text); } diff --git a/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs b/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs index 92106b1369..afc999b4c7 100644 --- a/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs +++ b/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs @@ -100,7 +100,7 @@ namespace OpenRA.Mods.Common.Traits if (info.SuppressNotifications) return; - Game.AddSystemLine("Battlefield Control", player.PlayerName + " is defeated."); + Game.AddSystemLine(player.PlayerName + " is defeated."); Game.RunAfterDelay(info.NotificationDelay, () => { if (Game.IsCurrentWorld(player.World) && player == player.World.LocalPlayer) @@ -113,7 +113,7 @@ namespace OpenRA.Mods.Common.Traits if (info.SuppressNotifications) return; - Game.AddSystemLine("Battlefield Control", player.PlayerName + " is victorious."); + Game.AddSystemLine(player.PlayerName + " is victorious."); Game.RunAfterDelay(info.NotificationDelay, () => { if (Game.IsCurrentWorld(player.World) && player == player.World.LocalPlayer) diff --git a/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs b/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs index 44827a3281..c5815acd1b 100644 --- a/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs +++ b/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs @@ -141,7 +141,7 @@ namespace OpenRA.Mods.Common.Traits if (info.SuppressNotifications) return; - Game.AddSystemLine("Battlefield Control", player.PlayerName + " is defeated."); + Game.AddSystemLine(player.PlayerName + " is defeated."); Game.RunAfterDelay(info.NotificationDelay, () => { if (Game.IsCurrentWorld(player.World) && player == player.World.LocalPlayer) @@ -154,7 +154,7 @@ namespace OpenRA.Mods.Common.Traits if (info.SuppressNotifications) return; - Game.AddSystemLine("Battlefield Control", player.PlayerName + " is victorious."); + Game.AddSystemLine(player.PlayerName + " is victorious."); Game.RunAfterDelay(info.NotificationDelay, () => { if (Game.IsCurrentWorld(player.World) && player == player.World.LocalPlayer) diff --git a/OpenRA.Mods.Common/Traits/Player/TimeLimitManager.cs b/OpenRA.Mods.Common/Traits/Player/TimeLimitManager.cs index 01112eb757..4c9f6da204 100644 --- a/OpenRA.Mods.Common/Traits/Player/TimeLimitManager.cs +++ b/OpenRA.Mods.Common/Traits/Player/TimeLimitManager.cs @@ -158,7 +158,7 @@ namespace OpenRA.Mods.Common.Traits { if (ticksRemaining == m * 60 * ticksPerSecond) { - Game.AddSystemLine("Battlefield Control", Notification.F(m, m > 1 ? "s" : null)); + Game.AddSystemLine(Notification.F(m, m > 1 ? "s" : null)); var faction = self.World.LocalPlayer == null ? null : self.World.LocalPlayer.Faction.InternalName; Game.Sound.PlayNotification(self.World.Map.Rules, self.World.LocalPlayer, "Speech", info.TimeLimitWarnings[m], faction); @@ -172,7 +172,7 @@ namespace OpenRA.Mods.Common.Traits countdownLabel.GetText = () => null; if (!info.SkipTimerExpiredNotification) - Game.AddSystemLine("Battlefield Control", "Time limit has expired."); + Game.AddSystemLine("Time limit has expired."); } } } diff --git a/OpenRA.Mods.Common/Widgets/Logic/MuteHotkeyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/MuteHotkeyLogic.cs index a8f3884952..ba82ff80dc 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/MuteHotkeyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/MuteHotkeyLogic.cs @@ -30,12 +30,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (Game.Settings.Sound.Mute) { Game.Sound.MuteAudio(); - Game.AddSystemLine("Battlefield Control", "Audio muted"); + Game.AddSystemLine("Audio muted"); } else { Game.Sound.UnmuteAudio(); - Game.AddSystemLine("Battlefield Control", "Audio unmuted"); + Game.AddSystemLine("Audio unmuted"); } return true; diff --git a/OpenRA.Mods.Common/Widgets/WorldInteractionControllerWidget.cs b/OpenRA.Mods.Common/Widgets/WorldInteractionControllerWidget.cs index 62e09e8ab4..c8892b45fe 100644 --- a/OpenRA.Mods.Common/Widgets/WorldInteractionControllerWidget.cs +++ b/OpenRA.Mods.Common/Widgets/WorldInteractionControllerWidget.cs @@ -281,12 +281,12 @@ namespace OpenRA.Mods.Common.Widgets // Check if selecting actors on the screen has selected new units if (ownUnitsOnScreen.Count > World.Selection.Actors.Count()) - Game.AddSystemLine("Battlefield Control", "Selected across screen"); + Game.AddSystemLine("Selected across screen"); else { // Select actors in the world that have highest selection priority ownUnitsOnScreen = SelectActorsInWorld(World, null, eligiblePlayers).SubsetWithHighestSelectionPriority(e.Modifiers).ToList(); - Game.AddSystemLine("Battlefield Control", "Selected across map"); + Game.AddSystemLine("Selected across map"); } World.Selection.Combine(World, ownUnitsOnScreen, false, false); @@ -313,12 +313,12 @@ namespace OpenRA.Mods.Common.Widgets // Check if selecting actors on the screen has selected new units if (newSelection.Count > World.Selection.Actors.Count()) - Game.AddSystemLine("Battlefield Control", "Selected across screen"); + Game.AddSystemLine("Selected across screen"); else { // Select actors in the world that have the same selection class as one of the already selected actors newSelection = SelectActorsInWorld(World, selectedClasses, eligiblePlayers).ToList(); - Game.AddSystemLine("Battlefield Control", "Selected across map"); + Game.AddSystemLine("Selected across map"); } World.Selection.Combine(World, newSelection, true, false);