Change C4Demolition from minutes to ticks; actually use this value.
This commit is contained in:
@@ -18,8 +18,13 @@ namespace OpenRA.Mods.RA.Activities
|
||||
class Demolish : CancelableActivity
|
||||
{
|
||||
Actor target;
|
||||
|
||||
public Demolish( Actor target ) { this.target = target; }
|
||||
int delay;
|
||||
|
||||
public Demolish( Actor target, int delay )
|
||||
{
|
||||
this.target = target;
|
||||
this.delay = delay;
|
||||
}
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
{
|
||||
@@ -29,7 +34,7 @@ namespace OpenRA.Mods.RA.Activities
|
||||
if( !target.Trait<IOccupySpace>().OccupiedCells().Any( x => x.First == self.Location ) )
|
||||
return NextActivity;
|
||||
|
||||
self.World.AddFrameEndTask(w => w.Add(new DelayedAction(25 * 2,
|
||||
self.World.AddFrameEndTask(w => w.Add(new DelayedAction(delay,
|
||||
() => { if (target.IsInWorld) target.Kill(self); })));
|
||||
return NextActivity;
|
||||
}
|
||||
|
||||
@@ -19,13 +19,21 @@ using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.RA
|
||||
{
|
||||
class C4DemolitionInfo : TraitInfo<C4Demolition>
|
||||
class C4DemolitionInfo : ITraitInfo
|
||||
{
|
||||
public readonly float C4Delay = 0;
|
||||
public readonly int C4Delay = 45; // 1.8 seconds
|
||||
public object Create(ActorInitializer init) { return new C4Demolition(this); }
|
||||
}
|
||||
|
||||
class C4Demolition : IIssueOrder, IResolveOrder, IOrderVoice
|
||||
{
|
||||
readonly C4DemolitionInfo Info;
|
||||
|
||||
public C4Demolition(C4DemolitionInfo info)
|
||||
{
|
||||
Info = info;
|
||||
}
|
||||
|
||||
public IEnumerable<IOrderTargeter> Orders
|
||||
{
|
||||
get { yield return new UnitTraitOrderTargeter<Building>( "C4", 6, "c4", true, false ); }
|
||||
@@ -48,8 +56,7 @@ namespace OpenRA.Mods.RA
|
||||
var mobile = self.Trait<Mobile>();
|
||||
self.CancelActivity();
|
||||
self.QueueActivity(new Enter(order.TargetActor));
|
||||
//self.QueueActivity(new Move(order.TargetActor.Location, order.TargetActor));
|
||||
self.QueueActivity(new Demolish(order.TargetActor));
|
||||
self.QueueActivity(new Demolish(order.TargetActor, Info.C4Delay));
|
||||
self.QueueActivity(mobile.MoveTo(self.Location, 0));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,7 +175,7 @@ RMBO:
|
||||
AutoTarget:
|
||||
ScanRadius: 5
|
||||
C4Demolition:
|
||||
C4Delay: .03
|
||||
C4Delay: 45
|
||||
AttackFrontal:
|
||||
PrimaryWeapon: Sniper
|
||||
RenderInfantryProne:
|
||||
|
||||
@@ -218,7 +218,7 @@ E7:
|
||||
RevealsShroud:
|
||||
Range: 6
|
||||
C4Demolition:
|
||||
C4Delay: .03
|
||||
C4Delay: 45
|
||||
Passenger:
|
||||
PipType: Red
|
||||
AttackFrontal:
|
||||
|
||||
Reference in New Issue
Block a user