Shift Sight onto its own trait. Only cnc for now.
This commit is contained in:
@@ -227,6 +227,7 @@
|
||||
<Compile Include="Widgets\WorldInteractionControllerWidget.cs" />
|
||||
<Compile Include="Widgets\ViewportScrollControllerWidget.cs" />
|
||||
<Compile Include="Traits\Player\DeveloperMode.cs" />
|
||||
<Compile Include="Traits\RevealsShroud.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">
|
||||
|
||||
@@ -22,7 +22,6 @@ namespace OpenRA.Traits
|
||||
{
|
||||
public readonly int HP = 0;
|
||||
public readonly ArmorType Armor = ArmorType.none;
|
||||
public readonly int Sight = 0;
|
||||
public readonly string[] TargetType = {"Ground"};
|
||||
}
|
||||
|
||||
@@ -47,7 +46,7 @@ namespace OpenRA.Traits
|
||||
public object Create(ActorInitializer init) { return new Building(init); }
|
||||
}
|
||||
|
||||
public class Building : INotifyDamage, IResolveOrder, ITick, IRenderModifier, IOccupySpace, IRadarSignature, IRevealShroud
|
||||
public class Building : INotifyDamage, IResolveOrder, ITick, IRenderModifier, IOccupySpace, IRadarSignature
|
||||
{
|
||||
readonly Actor self;
|
||||
public readonly BuildingInfo Info;
|
||||
|
||||
40
OpenRA.Game/Traits/RevealsShroud.cs
Normal file
40
OpenRA.Game/Traits/RevealsShroud.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
#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
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class RevealsShroudInfo : ITraitInfo
|
||||
{
|
||||
public readonly int Range = 0;
|
||||
public object Create(ActorInitializer init) { return new RevealsShroud(this); }
|
||||
}
|
||||
|
||||
class RevealsShroud : ITick
|
||||
{
|
||||
RevealsShroudInfo Info;
|
||||
int2 previousLocation;
|
||||
|
||||
public RevealsShroud(RevealsShroudInfo info)
|
||||
{
|
||||
Info = info;
|
||||
}
|
||||
|
||||
public void Tick(Actor self)
|
||||
{
|
||||
if (!self.IsIdle && previousLocation != self.Location)
|
||||
{
|
||||
previousLocation = self.Location;
|
||||
self.World.WorldActor.traits.Get<Shroud>().UpdateActor(self);
|
||||
}
|
||||
}
|
||||
|
||||
public int RevealRange { get { return Info.Range; } }
|
||||
}
|
||||
}
|
||||
@@ -59,7 +59,6 @@ namespace OpenRA.Traits
|
||||
|
||||
public interface IVisibilityModifier { bool IsVisible(Actor self); }
|
||||
public interface IRadarColorModifier { Color RadarColorOverride(Actor self); }
|
||||
public interface IRevealShroud {}
|
||||
public interface IOccupySpace
|
||||
{
|
||||
int2 TopLeft { get; }
|
||||
|
||||
@@ -23,22 +23,12 @@ namespace OpenRA.Traits
|
||||
public object Create( ActorInitializer init ) { return new Unit(); }
|
||||
}
|
||||
|
||||
public class Unit : INotifyDamage, IRadarSignature, IRevealShroud, ITick
|
||||
public class Unit : INotifyDamage, IRadarSignature
|
||||
{
|
||||
[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<Shroud>().UpdateActor(self);
|
||||
}
|
||||
}
|
||||
|
||||
public void Damaged(Actor self, AttackInfo e)
|
||||
{
|
||||
|
||||
@@ -64,9 +64,9 @@ namespace OpenRA.Traits
|
||||
|
||||
void AddActor(Actor a)
|
||||
{
|
||||
if (a.traits.WithInterface<IRevealShroud>().Count() == 0)
|
||||
if (!a.traits.Contains<RevealsShroud>())
|
||||
return;
|
||||
|
||||
|
||||
if (a.Owner == null || a.Owner.World.LocalPlayer == null
|
||||
|| a.Owner.Stances[a.Owner.World.LocalPlayer] != Stance.Ally) return;
|
||||
|
||||
@@ -78,7 +78,7 @@ namespace OpenRA.Traits
|
||||
|
||||
var v = new ActorVisibility
|
||||
{
|
||||
range = a.Info.Traits.Get<OwnedActorInfo>().Sight,
|
||||
range = a.traits.Get<RevealsShroud>().RevealRange,
|
||||
vis = GetVisOrigins(a).ToArray()
|
||||
};
|
||||
|
||||
|
||||
@@ -53,7 +53,8 @@
|
||||
Category: Infantry
|
||||
Unit:
|
||||
Armor: none
|
||||
Sight: 4
|
||||
RevealsShroud:
|
||||
Range: 4
|
||||
Mobile:
|
||||
TerrainTypes: Clear, Rough, Road, Tree, Water, Rock, Wall, Ore, Beach, River
|
||||
TerrainSpeeds: 90%, 80%, 100%, 0%, 0%, 0%, 0%, 90%, 80%, 0%
|
||||
@@ -130,7 +131,6 @@
|
||||
BuildSounds: hvydoor1.aud
|
||||
Capturable: false
|
||||
BaseNormal: no
|
||||
Sight: 0
|
||||
DamagedSound: xplos.aud
|
||||
DestroyedSound: xplobig4.aud
|
||||
Adjacent: 7
|
||||
|
||||
@@ -143,7 +143,8 @@ RMBO:
|
||||
Unit:
|
||||
HP: 200
|
||||
Speed: 5
|
||||
Sight: 5
|
||||
RevealsShroud:
|
||||
Range: 5
|
||||
AttackBase:
|
||||
PrimaryWeapon: Sniper
|
||||
TakeCover:
|
||||
@@ -160,8 +161,9 @@ C1:
|
||||
Description: Technician
|
||||
Unit:
|
||||
HP: 20
|
||||
Sight: 2
|
||||
Speed: 4
|
||||
RevealsShroud:
|
||||
Range: 2
|
||||
AttackBase:
|
||||
PrimaryWeapon: Pistol
|
||||
|
||||
@@ -175,8 +177,9 @@ C2:
|
||||
Description: Technician
|
||||
Unit:
|
||||
HP: 20
|
||||
Sight: 2
|
||||
Speed: 4
|
||||
RevealsShroud:
|
||||
Range: 2
|
||||
AttackBase:
|
||||
PrimaryWeapon: Pistol
|
||||
|
||||
@@ -190,8 +193,9 @@ C3:
|
||||
Description: Technician
|
||||
Unit:
|
||||
HP: 20
|
||||
Sight: 2
|
||||
Speed: 4
|
||||
RevealsShroud:
|
||||
Range: 2
|
||||
AttackBase:
|
||||
PrimaryWeapon: Pistol
|
||||
|
||||
@@ -205,8 +209,9 @@ C4:
|
||||
Description: Technician
|
||||
Unit:
|
||||
HP: 20
|
||||
Sight: 2
|
||||
Speed: 4
|
||||
RevealsShroud:
|
||||
Range: 2
|
||||
AttackBase:
|
||||
PrimaryWeapon: Pistol
|
||||
|
||||
@@ -220,8 +225,9 @@ C5:
|
||||
Description: Technician
|
||||
Unit:
|
||||
HP: 20
|
||||
Sight: 2
|
||||
Speed: 4
|
||||
RevealsShroud:
|
||||
Range: 2
|
||||
AttackBase:
|
||||
PrimaryWeapon: Pistol
|
||||
|
||||
@@ -235,8 +241,9 @@ C6:
|
||||
Description: Technician
|
||||
Unit:
|
||||
HP: 20
|
||||
Sight: 2
|
||||
Speed: 4
|
||||
RevealsShroud:
|
||||
Range: 2
|
||||
AttackBase:
|
||||
PrimaryWeapon: Pistol
|
||||
|
||||
@@ -250,8 +257,9 @@ C7:
|
||||
Description: Technician
|
||||
Unit:
|
||||
HP: 20
|
||||
Sight: 2
|
||||
Speed: 4
|
||||
RevealsShroud:
|
||||
Range: 2
|
||||
AttackBase:
|
||||
PrimaryWeapon: Pistol
|
||||
C8:
|
||||
@@ -264,8 +272,9 @@ C8:
|
||||
Description: Technician
|
||||
Unit:
|
||||
HP: 20
|
||||
Sight: 2
|
||||
Speed: 4
|
||||
RevealsShroud:
|
||||
Range: 2
|
||||
AttackBase:
|
||||
PrimaryWeapon: Pistol
|
||||
|
||||
@@ -279,8 +288,9 @@ C9:
|
||||
Description: Technician
|
||||
Unit:
|
||||
HP: 20
|
||||
Sight: 2
|
||||
Speed: 4
|
||||
RevealsShroud:
|
||||
Range: 2
|
||||
AttackBase:
|
||||
PrimaryWeapon: Pistol
|
||||
|
||||
@@ -294,7 +304,8 @@ C10:
|
||||
Description: Technician
|
||||
Unit:
|
||||
HP: 20
|
||||
Sight: 2
|
||||
Speed: 4
|
||||
RevealsShroud:
|
||||
Range: 2
|
||||
AttackBase:
|
||||
PrimaryWeapon: Pistol
|
||||
|
||||
@@ -10,7 +10,8 @@ FACT:
|
||||
Capturable: true
|
||||
HP: 800
|
||||
Armor: wood
|
||||
Sight: 5
|
||||
RevealsShroud:
|
||||
Range: 5
|
||||
Bib:
|
||||
Production:
|
||||
Produces: Building,Defense
|
||||
@@ -32,7 +33,8 @@ NUKE:
|
||||
Capturable: true
|
||||
HP: 400
|
||||
Armor: wood
|
||||
Sight: 4
|
||||
RevealsShroud:
|
||||
Range: 4
|
||||
Bib:
|
||||
|
||||
PROC.proxy:
|
||||
@@ -52,7 +54,8 @@ PROC.proxy:
|
||||
Capturable: true
|
||||
HP: 900
|
||||
Armor: wood
|
||||
Sight: 6
|
||||
RevealsShroud:
|
||||
Range: 6
|
||||
ReplaceWithActor:
|
||||
Actor: proc
|
||||
|
||||
@@ -69,7 +72,8 @@ PROC:
|
||||
Capturable: true
|
||||
HP: 900
|
||||
Armor: wood
|
||||
Sight: 6
|
||||
RevealsShroud:
|
||||
Range: 6
|
||||
Bib:
|
||||
OreRefinery:
|
||||
LocalStorage: yes
|
||||
@@ -110,7 +114,8 @@ SILO:
|
||||
Capturable: true
|
||||
HP: 300
|
||||
Armor: wood
|
||||
Sight: 4
|
||||
RevealsShroud:
|
||||
Range: 4
|
||||
RenderBuildingOre:
|
||||
StoresOre:
|
||||
PipCount: 5
|
||||
@@ -137,7 +142,8 @@ PYLE:
|
||||
Capturable: true
|
||||
HP: 800
|
||||
Armor: wood
|
||||
Sight: 5
|
||||
RevealsShroud:
|
||||
Range: 5
|
||||
Bib:
|
||||
RallyPoint:
|
||||
Production:
|
||||
@@ -161,7 +167,8 @@ HAND:
|
||||
Capturable: true
|
||||
HP: 800
|
||||
Armor: wood
|
||||
Sight: 5
|
||||
RevealsShroud:
|
||||
Range: 5
|
||||
Bib:
|
||||
RallyPoint:
|
||||
Production:
|
||||
@@ -185,7 +192,8 @@ AFLD:
|
||||
Capturable: true
|
||||
HP: 1000
|
||||
Armor: heavy
|
||||
Sight: 7
|
||||
RevealsShroud:
|
||||
Range: 7
|
||||
Bib:
|
||||
RallyPoint:
|
||||
BelowUnits:
|
||||
@@ -210,7 +218,8 @@ WEAP:
|
||||
Capturable: true
|
||||
HP: 400
|
||||
Armor: light
|
||||
Sight: 4
|
||||
RevealsShroud:
|
||||
Range: 4
|
||||
Bib:
|
||||
RenderWarFactory:
|
||||
RallyPoint:
|
||||
@@ -236,7 +245,8 @@ HQ:
|
||||
Capturable: true
|
||||
HP: 1000
|
||||
Armor: wood
|
||||
Sight: 10
|
||||
RevealsShroud:
|
||||
Range: 10
|
||||
Bib:
|
||||
ProvidesRadar:
|
||||
DetectCloaked:
|
||||
@@ -259,7 +269,8 @@ NUK2:
|
||||
Capturable: true
|
||||
HP: 600
|
||||
Armor: wood
|
||||
Sight: 4
|
||||
RevealsShroud:
|
||||
Range: 4
|
||||
Bib:
|
||||
|
||||
FIX:
|
||||
@@ -279,7 +290,8 @@ FIX:
|
||||
Capturable: true
|
||||
HP: 800
|
||||
Armor: wood
|
||||
Sight: 5
|
||||
RevealsShroud:
|
||||
Range: 5
|
||||
BelowUnits:
|
||||
Reservable:
|
||||
RepairsUnits:
|
||||
@@ -302,7 +314,8 @@ HPAD:
|
||||
Capturable: true
|
||||
HP: 800
|
||||
Armor: wood
|
||||
Sight: 5
|
||||
RevealsShroud:
|
||||
Range: 5
|
||||
Bib:
|
||||
Production:
|
||||
SpawnOffset: 0,-4
|
||||
@@ -332,7 +345,8 @@ EYE:
|
||||
Capturable: true
|
||||
HP: 1000
|
||||
Armor: wood
|
||||
Sight: 10
|
||||
RevealsShroud:
|
||||
Range: 10
|
||||
Bib:
|
||||
ProvidesRadar:
|
||||
IonControl:
|
||||
@@ -357,7 +371,8 @@ TMPL:
|
||||
Capturable: false
|
||||
HP: 2000
|
||||
Armor: light
|
||||
Sight: 6
|
||||
RevealsShroud:
|
||||
Range: 6
|
||||
Bib:
|
||||
NukeSilo:
|
||||
MissileWeapon: atomic
|
||||
@@ -380,7 +395,8 @@ OBLI:
|
||||
Dimensions: 1,2
|
||||
HP: 400
|
||||
Armor: light
|
||||
Sight: 8
|
||||
RevealsShroud:
|
||||
Range: 8
|
||||
RenderBuildingCharge:
|
||||
ChargeAudio: obelpowr.aud
|
||||
AttackOmni:
|
||||
@@ -458,7 +474,8 @@ GUN:
|
||||
Power: -20
|
||||
HP: 400
|
||||
Armor: heavy
|
||||
Sight: 7
|
||||
RevealsShroud:
|
||||
Range: 7
|
||||
Turreted:
|
||||
ROT: 12
|
||||
InitialFacing: 50
|
||||
@@ -486,7 +503,8 @@ SAM:
|
||||
Dimensions: 2,1
|
||||
HP: 400
|
||||
Armor: heavy
|
||||
Sight: 5
|
||||
RevealsShroud:
|
||||
Range: 5
|
||||
Turreted:
|
||||
ROT: 30
|
||||
InitialFacing: 0
|
||||
@@ -512,7 +530,8 @@ GTWR:
|
||||
Power: -10
|
||||
HP: 400
|
||||
Armor: wood
|
||||
Sight: 6
|
||||
RevealsShroud:
|
||||
Range: 6
|
||||
AttackOmni:
|
||||
PrimaryWeapon: HighV
|
||||
AutoTarget:
|
||||
@@ -535,7 +554,8 @@ ATWR:
|
||||
Power: -20
|
||||
HP: 600
|
||||
Armor: light
|
||||
Sight: 8
|
||||
RevealsShroud:
|
||||
Range: 8
|
||||
AttackOmni:
|
||||
PrimaryWeapon: Tomahawk
|
||||
SecondaryWeapon: Tomahawk
|
||||
|
||||
@@ -13,8 +13,9 @@ MCV:
|
||||
Unit:
|
||||
HP: 600
|
||||
Armor: light
|
||||
Sight: 4
|
||||
Speed: 6
|
||||
RevealsShroud:
|
||||
Range: 4
|
||||
TransformsOnDeploy:
|
||||
TransformsInto: fact
|
||||
Offset:-1,-1
|
||||
@@ -44,8 +45,9 @@ HARV:
|
||||
Unit:
|
||||
HP: 600
|
||||
Armor: light
|
||||
Sight: 4
|
||||
Speed: 6
|
||||
RevealsShroud:
|
||||
Range: 4
|
||||
RenderUnit:
|
||||
|
||||
APC:
|
||||
@@ -62,8 +64,9 @@ APC:
|
||||
HP: 200
|
||||
Armor: heavy
|
||||
ROT: 5
|
||||
Sight: 5
|
||||
Speed: 15
|
||||
RevealsShroud:
|
||||
Range: 5
|
||||
AttackBase:
|
||||
PrimaryWeapon: MachineGun
|
||||
PrimaryOffset: 0,0,0,-4
|
||||
@@ -90,8 +93,9 @@ ARTY:
|
||||
HP: 75
|
||||
Armor: light
|
||||
ROT: 2
|
||||
Sight: 6
|
||||
Speed: 6
|
||||
RevealsShroud:
|
||||
Range: 6
|
||||
AttackBase:
|
||||
PrimaryWeapon: Ballistic
|
||||
RenderUnit:
|
||||
@@ -112,8 +116,9 @@ FTNK:
|
||||
HP: 300
|
||||
Armor: heavy
|
||||
ROT: 5
|
||||
Sight: 4
|
||||
Speed: 9
|
||||
RevealsShroud:
|
||||
Range: 4
|
||||
AttackBase:
|
||||
PrimaryWeapon: BigFlamer
|
||||
PrimaryOffset: 0,0,0,-2
|
||||
@@ -135,8 +140,9 @@ BGGY:
|
||||
HP: 140
|
||||
Armor: light
|
||||
ROT: 10
|
||||
Sight: 5
|
||||
Speed: 18
|
||||
RevealsShroud:
|
||||
Range: 5
|
||||
Turreted:
|
||||
ROT: 10
|
||||
AttackTurreted:
|
||||
@@ -160,8 +166,9 @@ BIKE:
|
||||
HP: 160
|
||||
Armor: none
|
||||
ROT: 10
|
||||
Sight: 7
|
||||
Speed: 20
|
||||
RevealsShroud:
|
||||
Range: 7
|
||||
AttackBase:
|
||||
PrimaryWeapon: Rockets
|
||||
PrimaryOffset: 0,0,0,-2
|
||||
@@ -186,8 +193,9 @@ JEEP:
|
||||
HP: 150
|
||||
Armor: light
|
||||
ROT: 10
|
||||
Sight: 7
|
||||
Speed: 15
|
||||
RevealsShroud:
|
||||
Range: 7
|
||||
Turreted:
|
||||
ROT: 10
|
||||
AttackTurreted:
|
||||
@@ -210,8 +218,9 @@ LTNK:
|
||||
Unit:
|
||||
HP: 300
|
||||
Armor: Heavy
|
||||
Sight: 4
|
||||
Speed: 9
|
||||
RevealsShroud:
|
||||
Range: 4
|
||||
Turreted:
|
||||
ROT: 5
|
||||
AttackTurreted:
|
||||
@@ -238,8 +247,9 @@ MTNK:
|
||||
Unit:
|
||||
HP: 400
|
||||
Armor: heavy
|
||||
Sight: 5
|
||||
Speed: 9
|
||||
RevealsShroud:
|
||||
Range: 5
|
||||
Turreted:
|
||||
ROT: 5
|
||||
AttackTurreted:
|
||||
@@ -266,8 +276,9 @@ HTNK:
|
||||
Unit:
|
||||
HP: 600
|
||||
Armor: heavy
|
||||
Sight: 6
|
||||
Speed: 3
|
||||
RevealsShroud:
|
||||
Range: 6
|
||||
Turreted:
|
||||
ROT: 2
|
||||
AttackTurreted:
|
||||
@@ -300,8 +311,9 @@ MSAM:
|
||||
Unit:
|
||||
HP: 120
|
||||
Armor: light
|
||||
Sight: 6
|
||||
Speed: 6
|
||||
RevealsShroud:
|
||||
Range: 6
|
||||
Turreted:
|
||||
ROT: 5
|
||||
AttackTurreted:
|
||||
@@ -327,8 +339,9 @@ MLRS:
|
||||
Unit:
|
||||
HP: 120
|
||||
Armor: light
|
||||
Sight: 10
|
||||
Speed: 6
|
||||
RevealsShroud:
|
||||
Range: 10
|
||||
Turreted:
|
||||
ROT: 5
|
||||
AttackTurreted:
|
||||
@@ -350,8 +363,9 @@ STNK:
|
||||
Unit:
|
||||
HP: 110
|
||||
Armor: light
|
||||
Sight: 4
|
||||
Speed: 15
|
||||
RevealsShroud:
|
||||
Range: 4
|
||||
Cloak:
|
||||
InitialDelay: .4
|
||||
CloakDelay: 2.0
|
||||
@@ -378,8 +392,9 @@ TRAN:
|
||||
Armor: light
|
||||
InitialFacing: 20
|
||||
ROT: 5
|
||||
Sight: 8
|
||||
Speed: 15
|
||||
RevealsShroud:
|
||||
Range: 8
|
||||
RenderUnitRotor:
|
||||
PrimaryOffset: 0,14,0,-4
|
||||
SecondaryOffset: 0,-14,0,-2
|
||||
@@ -404,8 +419,9 @@ HELI:
|
||||
Armor: heavy
|
||||
InitialFacing: 20
|
||||
ROT: 4
|
||||
Sight: 8
|
||||
Speed: 20
|
||||
RevealsShroud:
|
||||
Range: 8
|
||||
AttackBase:
|
||||
PrimaryWeapon: HighV
|
||||
SecondaryWeapon: HighV
|
||||
@@ -431,8 +447,9 @@ ORCA:
|
||||
Armor: heavy
|
||||
InitialFacing: 20
|
||||
ROT: 4
|
||||
Sight: 8
|
||||
Speed: 20
|
||||
RevealsShroud:
|
||||
Range: 8
|
||||
AttackBase:
|
||||
PrimaryWeapon: Rockets.Orca
|
||||
SecondaryWeapon: Rockets.Orca
|
||||
@@ -450,7 +467,6 @@ C17:
|
||||
HP: 25
|
||||
Armor: light
|
||||
ROT: 5
|
||||
Sight: 0
|
||||
Speed: 25
|
||||
Plane:
|
||||
RenderUnit:
|
||||
@@ -467,7 +483,6 @@ A10:
|
||||
HP: 60
|
||||
Armor: light
|
||||
ROT: 4
|
||||
Sight: 0
|
||||
Speed: 25
|
||||
Plane:
|
||||
RenderUnit:
|
||||
|
||||
Reference in New Issue
Block a user