From fa4c5c3feab188ffda5f60b8a434fb4e203ae689 Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 2 Apr 2010 21:27:48 +1200 Subject: [PATCH] cleaning up pip colors on APC/LST/TRAN --- OpenRA.Game/Traits/Cargo.cs | 11 +---------- OpenRA.Game/Traits/Harvester.cs | 6 ++---- OpenRA.Game/Traits/Passenger.cs | 10 +++++++++- mods/ra/rules.yaml | 10 +++++++++- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/OpenRA.Game/Traits/Cargo.cs b/OpenRA.Game/Traits/Cargo.cs index 3f524e2097..67200a0b87 100644 --- a/OpenRA.Game/Traits/Cargo.cs +++ b/OpenRA.Game/Traits/Cargo.cs @@ -92,16 +92,7 @@ namespace OpenRA.Traits static PipType GetPipForPassenger(Actor a) { - // probably not actually right yet; fix to match real-ra - - if (a.traits.Contains()) - return PipType.Yellow; - if (!a.traits.Contains()) - return PipType.Yellow; // noncombat [E6,SPY,THF] - - // todo: fix E7 color again. - - return PipType.Green; + return a.traits.Get().ColorOfCargoPip( a ); } public void Load(Actor self, Actor a) diff --git a/OpenRA.Game/Traits/Harvester.cs b/OpenRA.Game/Traits/Harvester.cs index c4a15a2d7d..f810e5d8bb 100644 --- a/OpenRA.Game/Traits/Harvester.cs +++ b/OpenRA.Game/Traits/Harvester.cs @@ -100,11 +100,9 @@ namespace OpenRA.Traits { // todo: pip colors based on ResourceTypeInfo if (n * 1.0f / self.Info.Traits.Get().Capacity > i * 1.0f / numPips) - { yield return PipType.Yellow; - continue; - } - yield return PipType.Transparent; + else + yield return PipType.Transparent; } } } diff --git a/OpenRA.Game/Traits/Passenger.cs b/OpenRA.Game/Traits/Passenger.cs index da8ac8f967..d00c53a106 100644 --- a/OpenRA.Game/Traits/Passenger.cs +++ b/OpenRA.Game/Traits/Passenger.cs @@ -23,7 +23,10 @@ using OpenRA.Traits.Activities; namespace OpenRA.Traits { - class PassengerInfo : StatelessTraitInfo {} + class PassengerInfo : StatelessTraitInfo + { + public readonly PipType ColorOfCargoPip = PipType.Green; + } class Passenger : IIssueOrder, IResolveOrder { @@ -55,5 +58,10 @@ namespace OpenRA.Traits self.QueueActivity(new EnterTransport(self, order.TargetActor)); } } + + public PipType ColorOfCargoPip( Actor self ) + { + return self.Info.Traits.Get().ColorOfCargoPip; + } } } diff --git a/mods/ra/rules.yaml b/mods/ra/rules.yaml index bd37a9afcd..b5e7c4946f 100755 --- a/mods/ra/rules.yaml +++ b/mods/ra/rules.yaml @@ -2510,6 +2510,8 @@ E6: Unit: HP: 25 Speed: 4 + Passenger: + ColorOfCargoPip: Yellow EngineerCapture: TakeCover: -AutoTarget: @@ -2530,6 +2532,8 @@ SPY: HP: 25 Sight: 5 Speed: 4 + Passenger: + ColorOfCargoPip: Yellow RenderSpy: TakeCover: Spy: @@ -2552,6 +2556,8 @@ THF: HP: 25 Sight: 5 Speed: 4 + Passenger: + ColorOfCargoPip: Yellow TakeCover: Thief: -AutoTarget: @@ -2594,6 +2600,8 @@ MEDI: HP: 80 Sight: 3 Speed: 4 + Passenger: + ColorOfCargoPip: Yellow AutoHeal: AttackBase: PrimaryWeapon: Heal @@ -2666,4 +2674,4 @@ WOOD: CAMERA: Unit: HP:1000 - Sight: 10 \ No newline at end of file + Sight: 10