Change mechanics to repair ally-owned husks.

Now uses the goldwrench cursor and keeps the
original owner.
This commit is contained in:
Paul Chote
2018-11-25 09:56:38 +00:00
committed by Oliver Brakmann
parent 89161b61ec
commit 8a95241fd5
5 changed files with 43 additions and 6 deletions

View File

@@ -18,11 +18,14 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Cnc.Traits
{
[Desc("This structure can be infiltrated causing funds to be stolen.")]
[Desc("Transform into a different actor type.")]
class InfiltrateForTransformInfo : ITraitInfo
{
[ActorReference, FieldLoader.Require] public readonly string IntoActor = null;
[ActorReference, FieldLoader.Require]
public readonly string IntoActor = null;
public readonly int ForceHealthPercentage = 0;
public readonly bool SkipMakeAnims = true;
public readonly BitSet<TargetableType> Types = default(BitSet<TargetableType>);
@@ -46,10 +49,17 @@ namespace OpenRA.Mods.Cnc.Traits
if (!info.Types.Overlaps(types))
return;
var transform = new Transform(self, info.IntoActor)
{
ForceHealthPercentage = info.ForceHealthPercentage,
Faction = faction,
SkipMakeAnims = info.SkipMakeAnims
};
var facing = self.TraitOrDefault<IFacing>();
var transform = new Transform(self, info.IntoActor) { ForceHealthPercentage = info.ForceHealthPercentage, Faction = faction };
if (facing != null) transform.Facing = facing.Facing;
transform.SkipMakeAnims = info.SkipMakeAnims;
if (facing != null)
transform.Facing = facing.Facing;
self.CancelActivity();
self.QueueActivity(transform);
}

View File

@@ -185,6 +185,7 @@ PBOX:
Image: 4TNK
-Capturable:
-TransformOnCapture:
-InfiltrateForTransform:
DOME.NoInfiltrate:
Inherits: DOME

View File

@@ -961,9 +961,12 @@
CaptureManager:
Capturable:
Types: husk
ValidStances: Enemy, Neutral, Ally
ValidStances: Enemy, Neutral
TransformOnCapture:
ForceHealthPercentage: 25
InfiltrateForTransform:
Types: Husk
ForceHealthPercentage: 25
WithColoredOverlay@IDISABLE:
Palette: disabled
Targetable:

View File

@@ -6,6 +6,8 @@
Anim: turret
TransformOnCapture:
IntoActor: 1tnk
InfiltrateForTransform:
IntoActor: 1tnk
RenderSprites:
Image: 1tnk.destroyed
@@ -17,6 +19,8 @@
Anim: turret
TransformOnCapture:
IntoActor: 2tnk
InfiltrateForTransform:
IntoActor: 2tnk
RenderSprites:
Image: 2tnk.destroyed
@@ -28,6 +32,8 @@
Anim: turret
TransformOnCapture:
IntoActor: 3tnk
InfiltrateForTransform:
IntoActor: 3tnk
RenderSprites:
Image: 3tnk.destroyed
@@ -39,6 +45,8 @@
Anim: turret
TransformOnCapture:
IntoActor: 4tnk
InfiltrateForTransform:
IntoActor: 4tnk
RenderSprites:
Image: 4tnk.destroyed
@@ -48,6 +56,8 @@ HARV.FullHusk:
Name: Husk (Ore Truck)
TransformOnCapture:
IntoActor: harv
InfiltrateForTransform:
IntoActor: harv
RenderSprites:
Image: hhusk
@@ -57,6 +67,8 @@ HARV.EmptyHusk:
Name: Husk (Ore Truck)
TransformOnCapture:
IntoActor: harv
InfiltrateForTransform:
IntoActor: harv
RenderSprites:
Image: hhusk2
@@ -66,6 +78,8 @@ MCV.Husk:
Name: Husk (Mobile Construction Vehicle)
TransformOnCapture:
IntoActor: mcv
InfiltrateForTransform:
IntoActor: mcv
RenderSprites:
Image: mcvhusk
@@ -78,6 +92,8 @@ MGG.Husk:
Offset: -299,0,171
TransformOnCapture:
IntoActor: mgg
InfiltrateForTransform:
IntoActor: mgg
RenderSprites:
Image: mgg.destroyed
@@ -112,6 +128,7 @@ TRAN.Husk1:
Image: tran1husk
-Capturable:
-TransformOnCapture:
-InfiltrateForTransform:
TRAN.Husk2:
Inherits: ^Husk
@@ -121,6 +138,7 @@ TRAN.Husk2:
Image: tran2husk
-Capturable:
-TransformOnCapture:
-InfiltrateForTransform:
BADR.Husk:
Inherits: ^PlaneHusk

View File

@@ -450,6 +450,11 @@ MECH:
Captures:
CaptureTypes: husk
PlayerExperience: 25
Infiltrates:
Types: Husk
ValidStances: Ally
EnterCursor: goldwrench
PlayerExperience: 25
WithInfantryBody:
IdleSequences: idle
DefaultAttackSequence: repair