diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj
index cd03f32c33..17c38c8d4f 100755
--- a/OpenRA.Game/OpenRA.Game.csproj
+++ b/OpenRA.Game/OpenRA.Game.csproj
@@ -82,6 +82,7 @@
+
diff --git a/OpenRA.Game/Traits/Crate.cs b/OpenRA.Game/Traits/Crate.cs
index 79c37eba28..18ac662864 100644
--- a/OpenRA.Game/Traits/Crate.cs
+++ b/OpenRA.Game/Traits/Crate.cs
@@ -26,10 +26,8 @@ using OpenRA.GameRules;
/*
* Crates left to implement:
Cloak=0,STEALTH2 ; enable cloaking on nearby objects
-Darkness=1,EMPULSE ; cloak entire radar map
HealBase=1,INVUN ; all buildings to full strength
ICBM=1,MISSILE2 ; nuke missile one time shot
-ParaBomb=3,PARABOX ; para-bomb raid one time shot
Reveal=1,EARTH ; reveal entire radar map
Sonar=3,SONARBOX ; one time sonar pulse
Squad=20,NONE ; squad of random infantry
diff --git a/OpenRA.Game/Traits/HasSight.cs b/OpenRA.Game/Traits/HasSight.cs
new file mode 100644
index 0000000000..b463f1a397
--- /dev/null
+++ b/OpenRA.Game/Traits/HasSight.cs
@@ -0,0 +1,35 @@
+#region Copyright & License Information
+/*
+ * Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
+ * This file is part of OpenRA.
+ *
+ * OpenRA is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * OpenRA is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with OpenRA. If not, see .
+ */
+#endregion
+
+namespace OpenRA.Traits
+{
+ class HasSightInfo : TraitInfo { }
+
+ // for random non-mobile movers
+
+ class HasSight : ITick
+ {
+ public void Tick(Actor self)
+ {
+ if (!self.IsIdle)
+ self.World.WorldActor.traits.Get().UpdateActor(self);
+ }
+ }
+}
diff --git a/mods/ra/vehicles.yaml b/mods/ra/vehicles.yaml
index 0d996ece88..667d1d432e 100644
--- a/mods/ra/vehicles.yaml
+++ b/mods/ra/vehicles.yaml
@@ -548,7 +548,7 @@ MIG:
Armor: light
InitialFacing: 192
ROT: 5
- Sight: 0
+ Sight: 6
Speed: 20
AttackPlane:
PrimaryWeapon: Maverick
@@ -560,6 +560,7 @@ MIG:
Ammo: 3
IronCurtainable:
ReturnOnIdle:
+ HasSight:
YAK:
Inherits: ^Plane
@@ -577,7 +578,7 @@ YAK:
Crewed: yes
InitialFacing: 192
ROT: 5
- Sight: 0
+ Sight: 4
Speed: 16
AttackPlane:
PrimaryWeapon: ChainGun
@@ -589,6 +590,7 @@ YAK:
Ammo: 15
IronCurtainable:
ReturnOnIdle:
+ HasSight:
TRAN:
Inherits: ^Plane
@@ -605,7 +607,7 @@ TRAN:
Armor: light
InitialFacing: 20
ROT: 5
- Sight: 0
+ Sight: 4
Speed: 12
Helicopter:
RenderUnitRotor:
@@ -616,6 +618,7 @@ TRAN:
PassengerTypes: Foot
Passengers: 5
IronCurtainable:
+ HasSight:
HELI:
Inherits: ^Plane
@@ -633,7 +636,7 @@ HELI:
Crewed: yes
InitialFacing: 20
ROT: 4
- Sight: 0
+ Sight: 6
Speed: 16
AttackHeli:
PrimaryWeapon: Hellfire
@@ -647,6 +650,7 @@ HELI:
LimitedAmmo:
Ammo: 6
IronCurtainable:
+ HasSight:
HIND:
Inherits: ^Plane
@@ -664,7 +668,7 @@ HIND:
Crewed: yes
InitialFacing: 20
ROT: 4
- Sight: 0
+ Sight: 6
Speed: 12
AttackHeli:
PrimaryWeapon: ChainGun
@@ -676,6 +680,7 @@ HIND:
LimitedAmmo:
Ammo: 12
IronCurtainable:
+ HasSight:
U2:
Inherits: ^Plane