Shift RevealsShroud onto Unit; fix "vehicles don't update shroud" regression in last
This commit is contained in:
@@ -48,7 +48,7 @@ namespace OpenRA.Traits
|
||||
public object Create(ActorInitializer init) { return new Building(init); }
|
||||
}
|
||||
|
||||
public class Building : INotifyDamage, IResolveOrder, ITick, IRenderModifier, IOccupySpace, IRadarSignature
|
||||
public class Building : INotifyDamage, IResolveOrder, ITick, IRenderModifier, IOccupySpace, IRadarSignature, IRevealShroud
|
||||
{
|
||||
readonly Actor self;
|
||||
public readonly BuildingInfo Info;
|
||||
|
||||
@@ -23,13 +23,23 @@ namespace OpenRA.Traits
|
||||
public object Create( ActorInitializer init ) { return new Unit(); }
|
||||
}
|
||||
|
||||
public class Unit : INotifyDamage, IRadarSignature
|
||||
public class Unit : INotifyDamage, IRadarSignature, IRevealShroud, ITick
|
||||
{
|
||||
[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)
|
||||
{
|
||||
if (e.DamageState == DamageState.Dead)
|
||||
|
||||
@@ -67,11 +67,8 @@ namespace OpenRA.Traits
|
||||
if (a.traits.WithInterface<IRevealShroud>().Count() == 0)
|
||||
return;
|
||||
|
||||
bool shareShroud = true; // Todo: make this a server flag
|
||||
|
||||
if (a.Owner == null || a.Owner.World.LocalPlayer == null
|
||||
|| a.Owner.Stances[a.Owner.World.LocalPlayer] != Stance.Ally) return;
|
||||
if (!shareShroud && a.Owner != a.Owner.World.LocalPlayer) return;
|
||||
|
||||
if (vis.ContainsKey(a))
|
||||
{
|
||||
|
||||
@@ -183,7 +183,6 @@
|
||||
<Compile Include="Crates\SpeedUpgradeCrateAction.cs" />
|
||||
<Compile Include="Reservable.cs" />
|
||||
<Compile Include="ReturnOnIdle.cs" />
|
||||
<Compile Include="RevealsShroud.cs" />
|
||||
<Compile Include="SeedsResource.cs" />
|
||||
<Compile Include="SelfHealing.cs" />
|
||||
<Compile Include="ShroudPalette.cs" />
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
#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
|
||||
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.RA
|
||||
{
|
||||
class RevealsShroudInfo : TraitInfo<RevealsShroud> { }
|
||||
|
||||
class RevealsShroud : ITick, IRevealShroud
|
||||
{
|
||||
int2 previousLocation;
|
||||
|
||||
public void Tick(Actor self)
|
||||
{
|
||||
if (!self.IsIdle && previousLocation != self.Location)
|
||||
{
|
||||
previousLocation = self.Location;
|
||||
self.World.WorldActor.traits.Get<Shroud>().UpdateActor(self);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,6 @@
|
||||
Passenger:
|
||||
IronCurtainable:
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
GainsExperience:
|
||||
GivesExperience:
|
||||
DrawLineToTarget:
|
||||
@@ -32,7 +31,6 @@
|
||||
Passenger:
|
||||
IronCurtainable:
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
GainsExperience:
|
||||
GivesExperience:
|
||||
DrawLineToTarget:
|
||||
@@ -44,7 +42,6 @@
|
||||
Selectable:
|
||||
Voice: VehicleVoice
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
GainsExperience:
|
||||
GivesExperience:
|
||||
MobileAir:
|
||||
@@ -67,7 +64,6 @@
|
||||
Passenger:
|
||||
HiddenUnderFog:
|
||||
PoisonedByTiberium:
|
||||
RevealsShroud:
|
||||
GainsExperience:
|
||||
GivesExperience:
|
||||
# SharesCell:
|
||||
@@ -80,7 +76,6 @@
|
||||
Selectable:
|
||||
Voice: GenericVoice
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
GainsExperience:
|
||||
GivesExperience:
|
||||
DrawLineToTarget:
|
||||
@@ -186,7 +181,6 @@
|
||||
Selectable:
|
||||
Priority: -1
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
Burns:
|
||||
|
||||
^Bridge:
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
Passenger:
|
||||
IronCurtainable:
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
GainsExperience:
|
||||
GivesExperience:
|
||||
DrawLineToTarget:
|
||||
@@ -33,7 +32,6 @@
|
||||
Passenger:
|
||||
IronCurtainable:
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
GainsExperience:
|
||||
GivesExperience:
|
||||
DrawLineToTarget:
|
||||
@@ -53,7 +51,6 @@
|
||||
AutoTarget:
|
||||
Passenger:
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
TeslaInstantKills:
|
||||
GainsExperience:
|
||||
GivesExperience:
|
||||
@@ -68,7 +65,6 @@
|
||||
Selectable:
|
||||
Voice: ShipVoice
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
GainsExperience:
|
||||
GivesExperience:
|
||||
DrawLineToTarget:
|
||||
@@ -80,7 +76,6 @@
|
||||
Selectable:
|
||||
Voice: GenericVoice
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
GainsExperience:
|
||||
GivesExperience:
|
||||
DrawLineToTarget:
|
||||
@@ -164,7 +159,6 @@
|
||||
Selectable:
|
||||
Priority: -1
|
||||
HiddenUnderFog:
|
||||
RevealsShroud:
|
||||
Burns:
|
||||
|
||||
^Bridge:
|
||||
|
||||
Reference in New Issue
Block a user