never heal enemies

fixes #3597
This commit is contained in:
Matthias Mailänder
2013-09-21 07:37:20 +02:00
parent 38dcd857dd
commit a5b954a563
2 changed files with 9 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
#region Copyright & License Information #region Copyright & License Information
/* /*
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS) * Copyright 2007-2013 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made * This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License * available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information, * as published by the Free Software Foundation. For more information,
@@ -8,9 +8,9 @@
*/ */
#endregion #endregion
using OpenRA.Mods.RA.Move;
using OpenRA.Mods.RA.Render; using OpenRA.Mods.RA.Render;
using OpenRA.Traits; using OpenRA.Traits;
using OpenRA.Mods.RA.Move;
namespace OpenRA.Mods.RA.Activities namespace OpenRA.Mods.RA.Activities
{ {
@@ -18,11 +18,11 @@ namespace OpenRA.Mods.RA.Activities
public class Heal : Attack public class Heal : Attack
{ {
public Heal(Target target, WRange range, bool allowMovement) public Heal(Target target, WRange range, bool allowMovement)
: base(target, range, allowMovement) {} : base(target, range, allowMovement) { }
protected override Activity InnerTick(Actor self, AttackBase attack) protected override Activity InnerTick(Actor self, AttackBase attack)
{ {
if (!Target.IsValidFor(self)) if (!Target.IsValidFor(self) || !self.Owner.IsAlliedWith(Target.Actor.Owner))
return NextActivity; return NextActivity;
if (Target.Type == TargetType.Actor && Target.Actor.GetDamageState() == DamageState.Undamaged) if (Target.Type == TargetType.Actor && Target.Actor.GetDamageState() == DamageState.Undamaged)

View File

@@ -1,6 +1,6 @@
#region Copyright & License Information #region Copyright & License Information
/* /*
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS) * Copyright 2007-2013 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made * This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License * available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information, * as published by the Free Software Foundation. For more information,
@@ -9,8 +9,8 @@
#endregion #endregion
using System; using System;
using OpenRA.Traits;
using OpenRA.FileFormats; using OpenRA.FileFormats;
using OpenRA.Traits;
namespace OpenRA.Mods.RA namespace OpenRA.Mods.RA
{ {
@@ -19,13 +19,13 @@ namespace OpenRA.Mods.RA
"heal process then. It also won't work with buildings (use RepairsUnits: for them)")] "heal process then. It also won't work with buildings (use RepairsUnits: for them)")]
public class AttackMedicInfo : AttackFrontalInfo public class AttackMedicInfo : AttackFrontalInfo
{ {
public override object Create( ActorInitializer init ) { return new AttackMedic( init.self, this ); } public override object Create(ActorInitializer init) { return new AttackMedic(init.self, this); }
} }
public class AttackMedic : AttackFrontal public class AttackMedic : AttackFrontal
{ {
public AttackMedic(Actor self, AttackMedicInfo info) public AttackMedic(Actor self, AttackMedicInfo info)
: base( self, info ) {} : base(self, info) { }
public override Activity GetAttackActivity(Actor self, Target newTarget, bool allowMove) public override Activity GetAttackActivity(Actor self, Target newTarget, bool allowMove)
{ {
@@ -34,7 +34,7 @@ namespace OpenRA.Mods.RA
return null; return null;
// TODO: Define weapon ranges as WRange // TODO: Define weapon ranges as WRange
var range = new WRange(Math.Max(0,(int)(1024*a.Weapon.Range))); var range = new WRange(Math.Max(0, (int)(1024 * a.Weapon.Range)));
return new Activities.Heal(newTarget, range, allowMove); return new Activities.Heal(newTarget, range, allowMove);
} }
} }