Merge pull request #12643 from pchote/battlefield-control

Replace "Debug" prefix with "Battlefield Control" for gameplay notifications.
This commit is contained in:
RoosterDragon
2017-02-01 19:18:47 +00:00
committed by GitHub
4 changed files with 29 additions and 13 deletions

View File

@@ -9,6 +9,7 @@
*/
#endregion
using System.Drawing;
using System.Linq;
using OpenRA.Traits;
@@ -22,6 +23,9 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Description of the objective.")]
[Translate] public readonly string Objective = "Destroy all opposition!";
[Desc("Disable the win/loss messages and audio notifications?")]
public readonly bool SuppressNotifications = false;
public object Create(ActorInitializer init) { return new ConquestVictoryConditions(init.Self, this); }
}
@@ -58,11 +62,13 @@ namespace OpenRA.Mods.Common.Traits
public void OnPlayerLost(Player player)
{
Game.Debug("{0} is defeated.", player.PlayerName);
foreach (var a in player.World.Actors.Where(a => a.Owner == player))
a.Kill(a);
if (info.SuppressNotifications)
return;
Game.AddChatLine(Color.White, "Battlefield Control", player.PlayerName + " is defeated.");
Game.RunAfterDelay(info.NotificationDelay, () =>
{
if (Game.IsCurrentWorld(player.World) && player == player.World.LocalPlayer)
@@ -72,8 +78,10 @@ namespace OpenRA.Mods.Common.Traits
public void OnPlayerWon(Player player)
{
Game.Debug("{0} is victorious.", player.PlayerName);
if (info.SuppressNotifications)
return;
Game.AddChatLine(Color.White, "Battlefield Control", player.PlayerName + " is victorious.");
Game.RunAfterDelay(info.NotificationDelay, () =>
{
if (Game.IsCurrentWorld(player.World) && player == player.World.LocalPlayer)

View File

@@ -10,6 +10,7 @@
#endregion
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using OpenRA.Traits;
@@ -37,6 +38,9 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Description of the objective")]
[Translate] public readonly string Objective = "Hold all the strategic positions!";
[Desc("Disable the win/loss messages and audio notifications?")]
public readonly bool SuppressNotifications = false;
public object Create(ActorInitializer init) { return new StrategicVictoryConditions(init.Self, this); }
}
@@ -103,11 +107,13 @@ namespace OpenRA.Mods.Common.Traits
public void OnPlayerLost(Player player)
{
Game.Debug("{0} is defeated.", player.PlayerName);
foreach (var a in player.World.Actors.Where(a => a.Owner == player))
a.Kill(a);
if (info.SuppressNotifications)
return;
Game.AddChatLine(Color.White, "Battlefield Control", player.PlayerName + " is defeated.");
Game.RunAfterDelay(info.NotificationDelay, () =>
{
if (Game.IsCurrentWorld(player.World) && player == player.World.LocalPlayer)
@@ -117,8 +123,10 @@ namespace OpenRA.Mods.Common.Traits
public void OnPlayerWon(Player player)
{
Game.Debug("{0} is victorious.", player.PlayerName);
if (info.SuppressNotifications)
return;
Game.AddChatLine(Color.White, "Battlefield Control", player.PlayerName + " is victorious.");
Game.RunAfterDelay(info.NotificationDelay, () =>
{
if (Game.IsCurrentWorld(player.World) && player == player.World.LocalPlayer)