From 9655b34e5fd16b2b0778ac8d9ec2e93d9b77af9a Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sat, 27 Nov 2010 00:53:49 +1300 Subject: [PATCH] Fix FrozenUnderFog; add to cnc. --- OpenRA.Mods.RA/Modifiers/FrozenUnderFog.cs | 9 +++++++-- mods/cnc/rules/defaults.yaml | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.RA/Modifiers/FrozenUnderFog.cs b/OpenRA.Mods.RA/Modifiers/FrozenUnderFog.cs index b962cf6fe7..6355647d13 100644 --- a/OpenRA.Mods.RA/Modifiers/FrozenUnderFog.cs +++ b/OpenRA.Mods.RA/Modifiers/FrozenUnderFog.cs @@ -16,12 +16,17 @@ namespace OpenRA.Mods.RA { class FrozenUnderFogInfo : TraitInfo {} - class FrozenUnderFog : IRenderModifier + class FrozenUnderFog : IRenderModifier, IVisibilityModifier { + public bool IsVisible(Actor self) + { + return Shroud.GetVisOrigins(self).Any(o => self.World.LocalShroud.IsVisible(o)); + } + Renderable[] cache = { }; public IEnumerable ModifyRender(Actor self, IEnumerable r) { - if (self.World.LocalShroud.IsVisible(self)) + if (IsVisible(self)) cache = r.ToArray(); return cache; } diff --git a/mods/cnc/rules/defaults.yaml b/mods/cnc/rules/defaults.yaml index b6c3c4ad2c..0341f34f53 100644 --- a/mods/cnc/rules/defaults.yaml +++ b/mods/cnc/rules/defaults.yaml @@ -193,6 +193,7 @@ Queue: Building RenderBuilding: DeadBuildingState: + FrozenUnderFog: EmitInfantryOnSell: ActorTypes: c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,e1,e1,e1,e1,e1,e1,e1 MustBeDestroyed: @@ -219,6 +220,7 @@ Type: Wood Building: -RepairableBuilding: + -FrozenUnderFog: Tooltip: Name: Civilian Building