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