Change C4Demolition from minutes to ticks; actually use this value.

This commit is contained in:
Paul Chote
2011-03-23 21:07:11 +13:00
parent 6ecf8aaf20
commit 8c18949861
4 changed files with 21 additions and 9 deletions

View File

@@ -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;
}

View File

@@ -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));
}
}

View File

@@ -175,7 +175,7 @@ RMBO:
AutoTarget:
ScanRadius: 5
C4Demolition:
C4Delay: .03
C4Delay: 45
AttackFrontal:
PrimaryWeapon: Sniper
RenderInfantryProne:

View File

@@ -218,7 +218,7 @@ E7:
RevealsShroud:
Range: 6
C4Demolition:
C4Delay: .03
C4Delay: 45
Passenger:
PipType: Red
AttackFrontal: