diff --git a/OpenRA.Mods.RA/Activities/RepairBuilding.cs b/OpenRA.Mods.RA/Activities/RepairBuilding.cs index 149801cf2c..2810bc9db2 100644 --- a/OpenRA.Mods.RA/Activities/RepairBuilding.cs +++ b/OpenRA.Mods.RA/Activities/RepairBuilding.cs @@ -14,25 +14,25 @@ namespace OpenRA.Mods.RA.Activities { class RepairBuilding : IActivity { - Actor target; + Target target; - public RepairBuilding(Actor target) { this.target = target; } + public RepairBuilding(Actor target) { this.target = Target.FromActor(target); } public IActivity NextActivity { get; set; } public IActivity Tick(Actor self) { - if (target == null || target.IsDead()) return NextActivity; - var health = target.Trait(); + if (!target.IsValid) return NextActivity; + var health = target.Actor.Trait(); if (health.DamageState == DamageState.Undamaged) return NextActivity; - target.InflictDamage(self, -health.MaxHP, null); + target.Actor.InflictDamage(self, -health.MaxHP, null); self.Destroy(); return NextActivity; } - public void Cancel(Actor self) { target = null; NextActivity = null; } + public void Cancel(Actor self) { target = Target.None; NextActivity = null; } } }