diff --git a/OpenRA.Mods.D2k/Traits/World/WormManager.cs b/OpenRA.Mods.D2k/Traits/World/WormManager.cs index f3a5175656..7f67227259 100644 --- a/OpenRA.Mods.D2k/Traits/World/WormManager.cs +++ b/OpenRA.Mods.D2k/Traits/World/WormManager.cs @@ -43,7 +43,6 @@ namespace OpenRA.Mods.D2k.Traits { readonly WormManagerInfo info; readonly Lazy spawnPointActors; - readonly Lazy radarPings; int spawnCountdown; int wormsPresent; @@ -51,7 +50,6 @@ namespace OpenRA.Mods.D2k.Traits public WormManager(Actor self, WormManagerInfo info) { this.info = info; - radarPings = Exts.Lazy(() => self.World.WorldActor.Trait()); spawnPointActors = Exts.Lazy(() => self.World.ActorsWithTrait().Select(x => x.Actor).ToArray()); } @@ -80,8 +78,6 @@ namespace OpenRA.Mods.D2k.Traits // more we need to reach the defined minimum count. wormLocations.Add(SpawnWorm(self)); } while (wormsPresent < info.Minimum); - - AnnounceWormSign(self, wormLocations); } WPos SpawnWorm(Actor self) @@ -107,17 +103,5 @@ namespace OpenRA.Mods.D2k.Traits { wormsPresent--; } - - void AnnounceWormSign(Actor self, IEnumerable wormLocations) - { - if (self.World.LocalPlayer != null) - Sound.PlayNotification(self.World.Map.Rules, self.World.LocalPlayer, "Speech", info.WormSignNotification, self.World.LocalPlayer.Country.Race); - - if (radarPings.Value == null) - return; - - foreach (var wormLocation in wormLocations) - radarPings.Value.Add(() => true, wormLocation, Color.Red, 50); - } } } diff --git a/mods/d2k/rules/arrakis.yaml b/mods/d2k/rules/arrakis.yaml index cc93955b22..ea6968d4cb 100644 --- a/mods/d2k/rules/arrakis.yaml +++ b/mods/d2k/rules/arrakis.yaml @@ -50,4 +50,7 @@ SANDWORM: Weapon: WormJaw Sandworm: WanderMoveRadius: 5 - IgnoresCloak: \ No newline at end of file + IgnoresCloak: + AnnounceOnSeen: + Notification: WormSign + PingRadar: True \ No newline at end of file diff --git a/mods/d2k/rules/defaults.yaml b/mods/d2k/rules/defaults.yaml index d04ccaaedd..0d43c87a7f 100644 --- a/mods/d2k/rules/defaults.yaml +++ b/mods/d2k/rules/defaults.yaml @@ -50,6 +50,8 @@ UpgradeManager: TemporaryOwnerManager: MustBeDestroyed: + AnnounceOnSeen: + Notification: EnemyUnitsApproaching ^Tank: AppearsOnRadar: @@ -103,6 +105,8 @@ UpgradeManager: TemporaryOwnerManager: MustBeDestroyed: + AnnounceOnSeen: + Notification: EnemyUnitsApproaching ^Husk: Health: @@ -230,6 +234,8 @@ UpgradeMinEnabledLevel: 1 UpgradeManager: MustBeDestroyed: + AnnounceOnSeen: + Notification: EnemyUnitsApproaching ^Plane: AppearsOnRadar: @@ -263,6 +269,8 @@ UpgradeTypes: selfheal UpgradeMinEnabledLevel: 1 UpgradeManager: + AnnounceOnSeen: + Notification: EnemyUnitsApproaching ^Helicopter: Inherits: ^Plane diff --git a/mods/d2k/rules/player.yaml b/mods/d2k/rules/player.yaml index aa08ed5a58..68585dcb96 100644 --- a/mods/d2k/rules/player.yaml +++ b/mods/d2k/rules/player.yaml @@ -72,4 +72,4 @@ Player: ProvidesTechPrerequisite@all: Name: Unrestricted Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons - + EnemyWatcher: