Change mechanics to repair ally-owned husks.
Now uses the goldwrench cursor and keeps the original owner.
This commit is contained in:
committed by
Oliver Brakmann
parent
89161b61ec
commit
8a95241fd5
@@ -18,11 +18,14 @@ using OpenRA.Traits;
|
|||||||
|
|
||||||
namespace OpenRA.Mods.Cnc.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
|
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 int ForceHealthPercentage = 0;
|
||||||
|
|
||||||
public readonly bool SkipMakeAnims = true;
|
public readonly bool SkipMakeAnims = true;
|
||||||
|
|
||||||
public readonly BitSet<TargetableType> Types = default(BitSet<TargetableType>);
|
public readonly BitSet<TargetableType> Types = default(BitSet<TargetableType>);
|
||||||
@@ -46,10 +49,17 @@ namespace OpenRA.Mods.Cnc.Traits
|
|||||||
if (!info.Types.Overlaps(types))
|
if (!info.Types.Overlaps(types))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
var transform = new Transform(self, info.IntoActor)
|
||||||
|
{
|
||||||
|
ForceHealthPercentage = info.ForceHealthPercentage,
|
||||||
|
Faction = faction,
|
||||||
|
SkipMakeAnims = info.SkipMakeAnims
|
||||||
|
};
|
||||||
|
|
||||||
var facing = self.TraitOrDefault<IFacing>();
|
var facing = self.TraitOrDefault<IFacing>();
|
||||||
var transform = new Transform(self, info.IntoActor) { ForceHealthPercentage = info.ForceHealthPercentage, Faction = faction };
|
if (facing != null)
|
||||||
if (facing != null) transform.Facing = facing.Facing;
|
transform.Facing = facing.Facing;
|
||||||
transform.SkipMakeAnims = info.SkipMakeAnims;
|
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
self.QueueActivity(transform);
|
self.QueueActivity(transform);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -185,6 +185,7 @@ PBOX:
|
|||||||
Image: 4TNK
|
Image: 4TNK
|
||||||
-Capturable:
|
-Capturable:
|
||||||
-TransformOnCapture:
|
-TransformOnCapture:
|
||||||
|
-InfiltrateForTransform:
|
||||||
|
|
||||||
DOME.NoInfiltrate:
|
DOME.NoInfiltrate:
|
||||||
Inherits: DOME
|
Inherits: DOME
|
||||||
|
|||||||
@@ -961,9 +961,12 @@
|
|||||||
CaptureManager:
|
CaptureManager:
|
||||||
Capturable:
|
Capturable:
|
||||||
Types: husk
|
Types: husk
|
||||||
ValidStances: Enemy, Neutral, Ally
|
ValidStances: Enemy, Neutral
|
||||||
TransformOnCapture:
|
TransformOnCapture:
|
||||||
ForceHealthPercentage: 25
|
ForceHealthPercentage: 25
|
||||||
|
InfiltrateForTransform:
|
||||||
|
Types: Husk
|
||||||
|
ForceHealthPercentage: 25
|
||||||
WithColoredOverlay@IDISABLE:
|
WithColoredOverlay@IDISABLE:
|
||||||
Palette: disabled
|
Palette: disabled
|
||||||
Targetable:
|
Targetable:
|
||||||
|
|||||||
@@ -6,6 +6,8 @@
|
|||||||
Anim: turret
|
Anim: turret
|
||||||
TransformOnCapture:
|
TransformOnCapture:
|
||||||
IntoActor: 1tnk
|
IntoActor: 1tnk
|
||||||
|
InfiltrateForTransform:
|
||||||
|
IntoActor: 1tnk
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
Image: 1tnk.destroyed
|
Image: 1tnk.destroyed
|
||||||
|
|
||||||
@@ -17,6 +19,8 @@
|
|||||||
Anim: turret
|
Anim: turret
|
||||||
TransformOnCapture:
|
TransformOnCapture:
|
||||||
IntoActor: 2tnk
|
IntoActor: 2tnk
|
||||||
|
InfiltrateForTransform:
|
||||||
|
IntoActor: 2tnk
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
Image: 2tnk.destroyed
|
Image: 2tnk.destroyed
|
||||||
|
|
||||||
@@ -28,6 +32,8 @@
|
|||||||
Anim: turret
|
Anim: turret
|
||||||
TransformOnCapture:
|
TransformOnCapture:
|
||||||
IntoActor: 3tnk
|
IntoActor: 3tnk
|
||||||
|
InfiltrateForTransform:
|
||||||
|
IntoActor: 3tnk
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
Image: 3tnk.destroyed
|
Image: 3tnk.destroyed
|
||||||
|
|
||||||
@@ -39,6 +45,8 @@
|
|||||||
Anim: turret
|
Anim: turret
|
||||||
TransformOnCapture:
|
TransformOnCapture:
|
||||||
IntoActor: 4tnk
|
IntoActor: 4tnk
|
||||||
|
InfiltrateForTransform:
|
||||||
|
IntoActor: 4tnk
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
Image: 4tnk.destroyed
|
Image: 4tnk.destroyed
|
||||||
|
|
||||||
@@ -48,6 +56,8 @@ HARV.FullHusk:
|
|||||||
Name: Husk (Ore Truck)
|
Name: Husk (Ore Truck)
|
||||||
TransformOnCapture:
|
TransformOnCapture:
|
||||||
IntoActor: harv
|
IntoActor: harv
|
||||||
|
InfiltrateForTransform:
|
||||||
|
IntoActor: harv
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
Image: hhusk
|
Image: hhusk
|
||||||
|
|
||||||
@@ -57,6 +67,8 @@ HARV.EmptyHusk:
|
|||||||
Name: Husk (Ore Truck)
|
Name: Husk (Ore Truck)
|
||||||
TransformOnCapture:
|
TransformOnCapture:
|
||||||
IntoActor: harv
|
IntoActor: harv
|
||||||
|
InfiltrateForTransform:
|
||||||
|
IntoActor: harv
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
Image: hhusk2
|
Image: hhusk2
|
||||||
|
|
||||||
@@ -66,6 +78,8 @@ MCV.Husk:
|
|||||||
Name: Husk (Mobile Construction Vehicle)
|
Name: Husk (Mobile Construction Vehicle)
|
||||||
TransformOnCapture:
|
TransformOnCapture:
|
||||||
IntoActor: mcv
|
IntoActor: mcv
|
||||||
|
InfiltrateForTransform:
|
||||||
|
IntoActor: mcv
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
Image: mcvhusk
|
Image: mcvhusk
|
||||||
|
|
||||||
@@ -78,6 +92,8 @@ MGG.Husk:
|
|||||||
Offset: -299,0,171
|
Offset: -299,0,171
|
||||||
TransformOnCapture:
|
TransformOnCapture:
|
||||||
IntoActor: mgg
|
IntoActor: mgg
|
||||||
|
InfiltrateForTransform:
|
||||||
|
IntoActor: mgg
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
Image: mgg.destroyed
|
Image: mgg.destroyed
|
||||||
|
|
||||||
@@ -112,6 +128,7 @@ TRAN.Husk1:
|
|||||||
Image: tran1husk
|
Image: tran1husk
|
||||||
-Capturable:
|
-Capturable:
|
||||||
-TransformOnCapture:
|
-TransformOnCapture:
|
||||||
|
-InfiltrateForTransform:
|
||||||
|
|
||||||
TRAN.Husk2:
|
TRAN.Husk2:
|
||||||
Inherits: ^Husk
|
Inherits: ^Husk
|
||||||
@@ -121,6 +138,7 @@ TRAN.Husk2:
|
|||||||
Image: tran2husk
|
Image: tran2husk
|
||||||
-Capturable:
|
-Capturable:
|
||||||
-TransformOnCapture:
|
-TransformOnCapture:
|
||||||
|
-InfiltrateForTransform:
|
||||||
|
|
||||||
BADR.Husk:
|
BADR.Husk:
|
||||||
Inherits: ^PlaneHusk
|
Inherits: ^PlaneHusk
|
||||||
|
|||||||
@@ -450,6 +450,11 @@ MECH:
|
|||||||
Captures:
|
Captures:
|
||||||
CaptureTypes: husk
|
CaptureTypes: husk
|
||||||
PlayerExperience: 25
|
PlayerExperience: 25
|
||||||
|
Infiltrates:
|
||||||
|
Types: Husk
|
||||||
|
ValidStances: Ally
|
||||||
|
EnterCursor: goldwrench
|
||||||
|
PlayerExperience: 25
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
IdleSequences: idle
|
IdleSequences: idle
|
||||||
DefaultAttackSequence: repair
|
DefaultAttackSequence: repair
|
||||||
|
|||||||
Reference in New Issue
Block a user