Shift Sight onto its own trait. Only cnc for now.

This commit is contained in:
Paul Chote
2010-07-28 21:37:10 +12:00
parent 8fab45ae39
commit eaa80fab74
10 changed files with 144 additions and 69 deletions

View File

@@ -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">

View File

@@ -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;

View 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; } }
}
}

View File

@@ -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; }

View File

@@ -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)
{

View File

@@ -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()
};

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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: