Fix e6
This commit is contained in:
@@ -33,16 +33,16 @@ namespace OpenRA.Mods.RA.Activities
|
||||
public IActivity Tick(Actor self)
|
||||
{
|
||||
if (target == null || target.IsDead) return NextActivity;
|
||||
|
||||
var damage = -self.Info.Traits.Get<EngineerCaptureInfo>().EngineerDamage;
|
||||
if (self.Owner.Stances[ target.Owner ] == Stance.Ally)
|
||||
{
|
||||
if (target.Health == target.Info.Traits.Get<OwnedActorInfo>().HP)
|
||||
return NextActivity;
|
||||
target.InflictDamage(self, -EngineerCapture.EngineerDamage, null);
|
||||
target.InflictDamage(self, damage, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (target.Health - EngineerCapture.EngineerDamage <= 0)
|
||||
if (target.Health - damage <= 0)
|
||||
{
|
||||
target.World.AddFrameEndTask(w =>
|
||||
{ // momentarily remove from world so the ownership queries don't get confused
|
||||
@@ -54,10 +54,10 @@ namespace OpenRA.Mods.RA.Activities
|
||||
t.OnCapture(target, self);
|
||||
});
|
||||
|
||||
target.InflictDamage(self, target.Health - EngineerCapture.EngineerDamage, null);
|
||||
target.InflictDamage(self, target.Health - damage, null);
|
||||
}
|
||||
else
|
||||
target.InflictDamage(self, EngineerCapture.EngineerDamage, null);
|
||||
target.InflictDamage(self, damage, null);
|
||||
}
|
||||
|
||||
// the engineer is sacrificed.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#region Copyright & License Information
|
||||
#region Copyright & License Information
|
||||
/*
|
||||
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
|
||||
* This file is part of OpenRA.
|
||||
@@ -24,11 +24,13 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA
|
||||
{
|
||||
class EngineerCaptureInfo : TraitInfo<EngineerCapture> { }
|
||||
class EngineerCaptureInfo : TraitInfo<EngineerCapture>
|
||||
{
|
||||
public readonly int EngineerDamage = 300;
|
||||
}
|
||||
|
||||
class EngineerCapture : IIssueOrder, IResolveOrder
|
||||
{
|
||||
public const int EngineerDamage = 300; // todo: push into rules, as a weapon
|
||||
|
||||
public Order IssueOrder(Actor self, int2 xy, MouseInput mi, Actor underCursor)
|
||||
{
|
||||
@@ -39,7 +41,7 @@ namespace OpenRA.Mods.RA
|
||||
// todo: other bits
|
||||
if (underCursor.Owner == null) return null; // don't allow capturing of bridges, etc.
|
||||
|
||||
var isCapture = underCursor.Health <= EngineerDamage &&
|
||||
var isCapture = underCursor.Health <= self.Info.Traits.Get<EngineerCaptureInfo>().EngineerDamage &&
|
||||
self.Owner.Stances[underCursor.Owner] != Stance.Ally;
|
||||
|
||||
return new Order(isCapture ? "Capture" : "Infiltrate",
|
||||
|
||||
@@ -120,14 +120,11 @@ E6:
|
||||
Unit:
|
||||
HP: 25
|
||||
Speed: 4
|
||||
AttackBase:
|
||||
PrimaryWeapon: Chemspray
|
||||
PrimaryOffset: 0,0,0,-5
|
||||
FireDelay: 3
|
||||
TakeCover:
|
||||
Passenger:
|
||||
ColorOfCargoPip: Yellow
|
||||
EngineerCapture:
|
||||
EngineerDamage: 9999999
|
||||
-AutoTarget:
|
||||
|
||||
RMBO:
|
||||
|
||||
Reference in New Issue
Block a user