Add Actor.Guard

This commit is contained in:
Oliver Brakmann
2014-02-09 15:56:29 +01:00
parent bfc34df581
commit e65626cc6b
3 changed files with 26 additions and 4 deletions

View File

@@ -27,13 +27,19 @@ namespace OpenRA.Mods.RA
if (order.OrderString == "Guard")
{
var target = Target.FromActor(order.TargetActor);
self.SetTargetLine(target, Color.Yellow);
var range = WRange.FromCells(target.Actor.Info.Traits.Get<GuardableInfo>().Range);
self.QueueActivity(false, new AttackMove.AttackMoveActivity(self, self.Trait<IMove>().MoveFollow(self, target, range)));
GuardTarget(self, target);
}
}
public void GuardTarget(Actor self, Target target)
{
self.SetTargetLine(target, Color.Yellow);
var range = WRange.FromCells(target.Actor.Info.Traits.Get<GuardableInfo>().Range);
self.QueueActivity(false, new AttackMove.AttackMoveActivity(self, self.Trait<IMove>().MoveFollow(self, target, range)));
}
public string VoicePhraseForOrder(Actor self, Order order)
{
return order.OrderString == "Guard" ? "Move" : null;
@@ -100,4 +106,4 @@ namespace OpenRA.Mods.RA
}
class Guardable { }
}
}