diff --git a/OpenRA.Mods.D2k/BuildingCaptureNotification.cs b/OpenRA.Mods.D2k/BuildingCaptureNotification.cs deleted file mode 100644 index 164eaced05..0000000000 --- a/OpenRA.Mods.D2k/BuildingCaptureNotification.cs +++ /dev/null @@ -1,38 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 The OpenRA Developers (see AUTHORS) - * This file is part of OpenRA, which is free software. It is made - * available to you under the terms of the GNU General Public License - * as published by the Free Software Foundation. For more information, - * see COPYING. - */ -#endregion - -using OpenRA.Traits; - -namespace OpenRA.Mods.RA -{ - class CaptureNotificationInfo : ITraitInfo - { - public readonly string Notification = "BuildingCaptured"; - - public object Create(ActorInitializer init) { return new CaptureNotification(this); } - } - - class CaptureNotification : INotifyCapture - { - CaptureNotificationInfo captureInfo; - public CaptureNotification(CaptureNotificationInfo info) - { - captureInfo = info; - } - - public void OnCapture(Actor self, Actor captor, Player oldOwner, Player newOwner) - { - if (captor.World.LocalPlayer != captor.Owner) - return; - - Sound.PlayNotification(captor.World.LocalPlayer, "Speech", captureInfo.Notification, newOwner.Country.Race); - } - } -} \ No newline at end of file diff --git a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj index f0c67781f0..c659a4fc22 100644 --- a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj +++ b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj @@ -77,7 +77,6 @@ - diff --git a/OpenRA.Mods.RA/BuildingCaptureNotification.cs b/OpenRA.Mods.RA/BuildingCaptureNotification.cs index 441bc69b0c..18d4ac4f04 100644 --- a/OpenRA.Mods.RA/BuildingCaptureNotification.cs +++ b/OpenRA.Mods.RA/BuildingCaptureNotification.cs @@ -1,6 +1,6 @@ #region Copyright & License Information /* - * Copyright 2007-2011 The OpenRA Developers (see AUTHORS) + * Copyright 2007-2013 The OpenRA Developers (see AUTHORS) * This file is part of OpenRA, which is free software. It is made * available to you under the terms of the GNU General Public License * as published by the Free Software Foundation. For more information, @@ -15,25 +15,26 @@ namespace OpenRA.Mods.RA class CaptureNotificationInfo : ITraitInfo { public readonly string Notification = "BuildingCaptured"; + public readonly bool NewOwnerVoice = true; public object Create(ActorInitializer init) { return new CaptureNotification(this); } } class CaptureNotification : INotifyCapture { - CaptureNotificationInfo Info; + CaptureNotificationInfo info; public CaptureNotification(CaptureNotificationInfo info) { - Info = info; + this.info = info; } - public void OnCapture (Actor self, Actor captor, Player oldOwner, Player newOwner) + public void OnCapture(Actor self, Actor captor, Player oldOwner, Player newOwner) { if (captor.World.LocalPlayer != captor.Owner) return; - Sound.PlayNotification(captor.World.LocalPlayer, "Speech", Info.Notification, oldOwner.Country.Race); + var race = info.NewOwnerVoice ? newOwner.Country.Race : oldOwner.Country.Race; + Sound.PlayNotification(captor.World.LocalPlayer, "Speech", info.Notification, race); } } } - diff --git a/mods/cnc/rules/defaults.yaml b/mods/cnc/rules/defaults.yaml index fb886ef859..8d2b0626be 100644 --- a/mods/cnc/rules/defaults.yaml +++ b/mods/cnc/rules/defaults.yaml @@ -322,6 +322,7 @@ GivesExperience: CaptureNotification: Notification: BuildingCaptured + NewOwnerVoice: no ActorLostNotification: Notification: BuildingLost EditorAppearance: