diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/AirstrikePower.cs b/OpenRA.Mods.Common/Traits/SupportPowers/AirstrikePower.cs index 318576029b..212b29263d 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/AirstrikePower.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/AirstrikePower.cs @@ -129,6 +129,8 @@ namespace OpenRA.Mods.Common.Traits { var notification = self.Owner.IsAlliedWith(self.World.RenderPlayer) ? Info.LaunchSound : Info.IncomingSound; Game.Sound.Play(notification); + Game.Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech", + Info.IncomingSpeechNotification, self.Owner.Faction.InternalName); Actor distanceTestActor = null; for (var i = -info.SquadSize / 2; i <= info.SquadSize / 2; i++) diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs b/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs index b35e775a33..f2e8691238 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs @@ -96,7 +96,11 @@ namespace OpenRA.Mods.Common.Traits if (self.Owner.IsAlliedWith(self.World.RenderPlayer)) Game.Sound.Play(Info.LaunchSound); else + { Game.Sound.Play(Info.IncomingSound); + Game.Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech", + Info.IncomingSpeechNotification, self.Owner.Faction.InternalName); + } if (!string.IsNullOrEmpty(info.ActivationSequence)) { diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/SupportPower.cs b/OpenRA.Mods.Common/Traits/SupportPowers/SupportPower.cs index b5ccbc16b7..ed583cec29 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/SupportPower.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/SupportPower.cs @@ -32,11 +32,15 @@ namespace OpenRA.Mods.Common.Traits public readonly string[] Prerequisites = { }; public readonly string BeginChargeSound = null; + public readonly string BeginChargeSpeechNotification = null; public readonly string EndChargeSound = null; + public readonly string EndChargeSpeechNotification = null; public readonly string SelectTargetSound = null; + public readonly string SelectTargetSpeechNotification = null; public readonly string InsufficientPowerSound = null; public readonly string LaunchSound = null; public readonly string IncomingSound = null; + public readonly string IncomingSpeechNotification = null; public readonly bool DisplayTimer = false; @@ -83,16 +87,22 @@ namespace OpenRA.Mods.Common.Traits public virtual void Charging(Actor self, string key) { Game.Sound.PlayToPlayer(self.Owner, Info.BeginChargeSound); + Game.Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech", + Info.BeginChargeSpeechNotification, self.Owner.Faction.InternalName); } public virtual void Charged(Actor self, string key) { Game.Sound.PlayToPlayer(self.Owner, Info.EndChargeSound); + Game.Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech", + Info.EndChargeSpeechNotification, self.Owner.Faction.InternalName); } public virtual void SelectTarget(Actor self, string order, SupportPowerManager manager) { Game.Sound.PlayToPlayer(manager.Self.Owner, Info.SelectTargetSound); + Game.Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech", + Info.SelectTargetSpeechNotification, self.Owner.Faction.InternalName); self.World.OrderGenerator = new SelectGenericPowerTarget(order, manager, info.Cursor, MouseButton.Left); }