diff --git a/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs b/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs index d9614d176b..3b0f6a2419 100644 --- a/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs +++ b/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs @@ -187,7 +187,7 @@ namespace OpenRA.Mods.Common.Scripting return true; } - [Desc("Display a text message to the player.")] + [Desc("Display a text message to all players.")] public void DisplayMessage(string text, string prefix = "Mission", Color? color = null) { if (string.IsNullOrEmpty(text)) @@ -197,6 +197,15 @@ namespace OpenRA.Mods.Common.Scripting TextNotificationsManager.AddMissionLine(prefix, text, c); } + [Desc("Display a text message only to this player.")] + public void DisplayMessageToPlayer(Player player, string text, string prefix = "Mission", Color? color = null) + { + if (world.LocalPlayer != player) + return; + + DisplayMessage(text, prefix, color); + } + [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) { diff --git a/mods/common/scripts/utils.lua b/mods/common/scripts/utils.lua index f5d5add4f0..23041c381b 100644 --- a/mods/common/scripts/utils.lua +++ b/mods/common/scripts/utils.lua @@ -19,7 +19,7 @@ end ---@return number id used to query for the objective later AddPrimaryObjective = function(player, description) local translation = UserInterface.Translate(description) - Media.DisplayMessage(translation, UserInterface.Translate("new-primary-objective")) + Media.DisplayMessageToPlayer(player, translation, UserInterface.Translate("new-primary-objective")) return player.AddObjective(translation, UserInterface.Translate("primary"), true) end @@ -29,6 +29,6 @@ end ---@return number id used to query for the objective later AddSecondaryObjective = function(player, description) local translation = UserInterface.Translate(description) - Media.DisplayMessage(translation, UserInterface.Translate("new-secondary-objective")) + Media.DisplayMessageToPlayer(player, translation, UserInterface.Translate("new-secondary-objective")) return player.AddObjective(translation, UserInterface.Translate("secondary"), false) end