From 08ed7f031621863d42786ad7c7d4b363ae1887d7 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 27 Jul 2011 20:09:29 +1200 Subject: [PATCH] Hook up empty/full harvester husk variants in RA. --- OpenRA.Game/Traits/TraitsInterfaces.cs | 1 + OpenRA.Mods.RA/HarvesterHuskModifier.cs | 39 ++++++++++++++++++++++++ OpenRA.Mods.RA/LeavesHusk.cs | 20 +++++++++--- OpenRA.Mods.RA/OpenRA.Mods.RA.csproj | 1 + mods/ra/bits/hhusk2.shp | Bin 0 -> 75230 bytes mods/ra/rules/vehicles.yaml | 14 +++++++-- mods/ra/sequences.yaml | 5 +++ 7 files changed, 74 insertions(+), 6 deletions(-) create mode 100644 OpenRA.Mods.RA/HarvesterHuskModifier.cs create mode 100644 mods/ra/bits/hhusk2.shp diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs index 4abc737c77..9320f9204e 100755 --- a/OpenRA.Game/Traits/TraitsInterfaces.cs +++ b/OpenRA.Game/Traits/TraitsInterfaces.cs @@ -73,6 +73,7 @@ namespace OpenRA.Traits public interface IDisable { bool Disabled { get; } } public interface IExplodeModifier { bool ShouldExplode(Actor self); } + public interface IHuskModifier { string HuskActor(Actor self); } public interface INudge { void OnNudge(Actor self, Actor nudger, bool force); } public interface IRadarSignature diff --git a/OpenRA.Mods.RA/HarvesterHuskModifier.cs b/OpenRA.Mods.RA/HarvesterHuskModifier.cs new file mode 100644 index 0000000000..47150ca1e5 --- /dev/null +++ b/OpenRA.Mods.RA/HarvesterHuskModifier.cs @@ -0,0 +1,39 @@ +#region Copyright & License Information +/* + * Copyright 2007-2011 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 COPYING. + */ +#endregion + +using OpenRA.FileFormats; +using OpenRA.Traits; +using OpenRA.Mods.RA.Move; + +namespace OpenRA.Mods.RA +{ + public class HarvesterHuskModifierInfo : ITraitInfo, Requires + { + [ActorReference] + public readonly string FullHuskActor = null; + public readonly int FullnessThreshold = 50; + + public object Create( ActorInitializer init ) { return new HarvesterHuskModifier(this); } + } + + public class HarvesterHuskModifier : IHuskModifier + { + HarvesterHuskModifierInfo Info; + public HarvesterHuskModifier(HarvesterHuskModifierInfo info) + { + Info = info; + } + + public string HuskActor(Actor self) + { + return self.Trait().Fullness > Info.FullnessThreshold ? Info.FullHuskActor : null; + } + } +} diff --git a/OpenRA.Mods.RA/LeavesHusk.cs b/OpenRA.Mods.RA/LeavesHusk.cs index 2fbbeb1460..060fda54e7 100644 --- a/OpenRA.Mods.RA/LeavesHusk.cs +++ b/OpenRA.Mods.RA/LeavesHusk.cs @@ -8,25 +8,33 @@ */ #endregion +using System.Linq; using OpenRA.FileFormats; using OpenRA.Traits; using OpenRA.Mods.RA.Move; namespace OpenRA.Mods.RA { - class LeavesHuskInfo : TraitInfo + public class LeavesHuskInfo : ITraitInfo { [ActorReference] public readonly string HuskActor = null; + + public object Create( ActorInitializer init ) { return new LeavesHusk(this); } } - class LeavesHusk : INotifyKilled + public class LeavesHusk : INotifyKilled { + LeavesHuskInfo Info; + public LeavesHusk(LeavesHuskInfo info) + { + Info = info; + } + public void Killed(Actor self, AttackInfo e) { self.World.AddFrameEndTask(w => { - var info = self.Info.Traits.Get(); var td = new TypeDictionary() { new LocationInit( self.Location ), @@ -43,7 +51,11 @@ namespace OpenRA.Mods.RA if (mobile != null) td.Add(new HuskSpeedInit(mobile.MovementSpeedForCell(self, self.Location))); - var husk = w.CreateActor(info.HuskActor, td); + var huskActor = self.TraitsImplementing() + .Select(ihm => ihm.HuskActor(self)) + .FirstOrDefault(a => a != null); + + var husk = w.CreateActor(huskActor ?? Info.HuskActor, td); var turreted = self.TraitOrDefault(); if (turreted != null) foreach (var p in husk.TraitsImplementing()) diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index 84006c9143..a99a7ed269 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -357,6 +357,7 @@ + diff --git a/mods/ra/bits/hhusk2.shp b/mods/ra/bits/hhusk2.shp new file mode 100644 index 0000000000000000000000000000000000000000..32ef803bdcbda3a3bb7a17cd5999b47b783d81be GIT binary patch literal 75230 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 yhD;|+DM^*dew literal 0 HcmV?d00001 diff --git a/mods/ra/rules/vehicles.yaml b/mods/ra/rules/vehicles.yaml index 98812e075c..f9bc022a5b 100644 --- a/mods/ra/rules/vehicles.yaml +++ b/mods/ra/rules/vehicles.yaml @@ -229,7 +229,10 @@ HARV: GpsDot: String:Harvester LeavesHusk: - HuskActor: HARV.Husk + HuskActor: HARV.EmptyHusk + HarvesterHuskModifier: + FullHuskActor: HARV.FullHusk + FullnessThreshold: 50 MCV: Inherits: ^Vehicle @@ -468,13 +471,20 @@ TRUK: Speed: 6 AnimKey: turret -HARV.Husk: +HARV.FullHusk: Inherits: ^Husk Tooltip: Name: Husk (Harvester) RenderUnit: Image: hhusk +HARV.EmptyHusk: + Inherits: ^Husk + Tooltip: + Name: Husk (Harvester) + RenderUnit: + Image: hhusk2 + MCV.Husk: Inherits: ^Husk Tooltip: diff --git a/mods/ra/sequences.yaml b/mods/ra/sequences.yaml index c1bbe2f75a..583d1865bf 100644 --- a/mods/ra/sequences.yaml +++ b/mods/ra/sequences.yaml @@ -437,6 +437,11 @@ hhusk: Start: 0 Facings: 32 +hhusk2: + idle: + Start: 0 + Facings: 32 + 1tnk: idle: Start: 0