fixing up engineer behavior

This commit is contained in:
Chris Forbes
2009-12-28 20:24:06 +13:00
parent e80d59e851
commit 7b8a3c4968
2 changed files with 10 additions and 4 deletions

View File

@@ -21,19 +21,21 @@ namespace OpenRa.Game.Traits.Activities
{
if (target.Health == target.Info.Strength)
return NextActivity;
target.Health += EngineerCapture.EngineerDamage;
target.InflictDamage(self, -EngineerCapture.EngineerDamage, Rules.WarheadInfo["Super"]);
}
else
{
target.Health -= EngineerCapture.EngineerDamage;
if (target.Health <= 0)
if (target.Health - EngineerCapture.EngineerDamage <= 0)
{
target.Owner = self.Owner;
target.Health = EngineerCapture.EngineerDamage;
target.InflictDamage(self, target.Health - EngineerCapture.EngineerDamage, Rules.WarheadInfo["Super"]);
}
else
target.InflictDamage(self, EngineerCapture.EngineerDamage, Rules.WarheadInfo["Super"]);
}
// the engineer is sacrificed.
self.Health = 0;
Game.world.AddFrameEndTask(w => w.Remove(self));
return NextActivity;