diff --git a/OpenRA.Game/Traits/Building.cs b/OpenRA.Game/Traits/Building.cs index 25fcf49e2b..1fa5d73560 100644 --- a/OpenRA.Game/Traits/Building.cs +++ b/OpenRA.Game/Traits/Building.cs @@ -48,7 +48,7 @@ namespace OpenRA.Traits public object Create(ActorInitializer init) { return new Building(init); } } - public class Building : INotifyDamage, IResolveOrder, ITick, IRenderModifier, IOccupySpace, IRadarSignature + public class Building : INotifyDamage, IResolveOrder, ITick, IRenderModifier, IOccupySpace, IRadarSignature, IRevealShroud { readonly Actor self; public readonly BuildingInfo Info; diff --git a/OpenRA.Game/Traits/Unit.cs b/OpenRA.Game/Traits/Unit.cs index 3b867b846c..9358cf5153 100755 --- a/OpenRA.Game/Traits/Unit.cs +++ b/OpenRA.Game/Traits/Unit.cs @@ -23,13 +23,23 @@ namespace OpenRA.Traits public object Create( ActorInitializer init ) { return new Unit(); } } - public class Unit : INotifyDamage, IRadarSignature + public class Unit : INotifyDamage, IRadarSignature, IRevealShroud, ITick { [Sync] public int Facing; [Sync] public int Altitude; + int2 previousLocation; + public void Tick(Actor self) + { + if (!self.IsIdle && previousLocation != self.Location) + { + previousLocation = self.Location; + self.World.WorldActor.traits.Get().UpdateActor(self); + } + } + public void Damaged(Actor self, AttackInfo e) { if (e.DamageState == DamageState.Dead) diff --git a/OpenRA.Game/Traits/World/Shroud.cs b/OpenRA.Game/Traits/World/Shroud.cs index 45fe0a6ca2..8b06b08199 100644 --- a/OpenRA.Game/Traits/World/Shroud.cs +++ b/OpenRA.Game/Traits/World/Shroud.cs @@ -67,11 +67,8 @@ namespace OpenRA.Traits if (a.traits.WithInterface().Count() == 0) return; - bool shareShroud = true; // Todo: make this a server flag - if (a.Owner == null || a.Owner.World.LocalPlayer == null || a.Owner.Stances[a.Owner.World.LocalPlayer] != Stance.Ally) return; - if (!shareShroud && a.Owner != a.Owner.World.LocalPlayer) return; if (vis.ContainsKey(a)) { diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index 9a3f1f057a..31ad73afc4 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -183,7 +183,6 @@ - diff --git a/OpenRA.Mods.RA/RevealsShroud.cs b/OpenRA.Mods.RA/RevealsShroud.cs deleted file mode 100644 index 77f66d5967..0000000000 --- a/OpenRA.Mods.RA/RevealsShroud.cs +++ /dev/null @@ -1,30 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2010 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 LICENSE. - */ -#endregion - -using OpenRA.Traits; - -namespace OpenRA.Mods.RA -{ - class RevealsShroudInfo : TraitInfo { } - - class RevealsShroud : ITick, IRevealShroud - { - int2 previousLocation; - - public void Tick(Actor self) - { - if (!self.IsIdle && previousLocation != self.Location) - { - previousLocation = self.Location; - self.World.WorldActor.traits.Get().UpdateActor(self); - } - } - } -} diff --git a/mods/cnc/defaults.yaml b/mods/cnc/defaults.yaml index b4abfe72c7..9be78d20e1 100644 --- a/mods/cnc/defaults.yaml +++ b/mods/cnc/defaults.yaml @@ -12,7 +12,6 @@ Passenger: IronCurtainable: HiddenUnderFog: - RevealsShroud: GainsExperience: GivesExperience: DrawLineToTarget: @@ -32,7 +31,6 @@ Passenger: IronCurtainable: HiddenUnderFog: - RevealsShroud: GainsExperience: GivesExperience: DrawLineToTarget: @@ -44,7 +42,6 @@ Selectable: Voice: VehicleVoice HiddenUnderFog: - RevealsShroud: GainsExperience: GivesExperience: MobileAir: @@ -67,7 +64,6 @@ Passenger: HiddenUnderFog: PoisonedByTiberium: - RevealsShroud: GainsExperience: GivesExperience: # SharesCell: @@ -80,7 +76,6 @@ Selectable: Voice: GenericVoice HiddenUnderFog: - RevealsShroud: GainsExperience: GivesExperience: DrawLineToTarget: @@ -186,7 +181,6 @@ Selectable: Priority: -1 HiddenUnderFog: - RevealsShroud: Burns: ^Bridge: diff --git a/mods/ra/defaults.yaml b/mods/ra/defaults.yaml index 95b3acb689..b37851eb0b 100644 --- a/mods/ra/defaults.yaml +++ b/mods/ra/defaults.yaml @@ -13,7 +13,6 @@ Passenger: IronCurtainable: HiddenUnderFog: - RevealsShroud: GainsExperience: GivesExperience: DrawLineToTarget: @@ -33,7 +32,6 @@ Passenger: IronCurtainable: HiddenUnderFog: - RevealsShroud: GainsExperience: GivesExperience: DrawLineToTarget: @@ -53,7 +51,6 @@ AutoTarget: Passenger: HiddenUnderFog: - RevealsShroud: TeslaInstantKills: GainsExperience: GivesExperience: @@ -68,7 +65,6 @@ Selectable: Voice: ShipVoice HiddenUnderFog: - RevealsShroud: GainsExperience: GivesExperience: DrawLineToTarget: @@ -80,7 +76,6 @@ Selectable: Voice: GenericVoice HiddenUnderFog: - RevealsShroud: GainsExperience: GivesExperience: DrawLineToTarget: @@ -164,7 +159,6 @@ Selectable: Priority: -1 HiddenUnderFog: - RevealsShroud: Burns: ^Bridge: