diff --git a/OpenRA.Mods.Common/Warheads/GrantUpgradeWarhead.cs b/OpenRA.Mods.Common/Warheads/GrantUpgradeWarhead.cs index d06509ec11..9a7d222fbc 100644 --- a/OpenRA.Mods.Common/Warheads/GrantUpgradeWarhead.cs +++ b/OpenRA.Mods.Common/Warheads/GrantUpgradeWarhead.cs @@ -29,6 +29,10 @@ namespace OpenRA.Mods.Common.Warheads public readonly WRange Range = WRange.FromCells(1); + // TODO: This can be removed after the legacy and redundant 0% = not targetable + // assumption has been removed from the yaml definitions + public override bool CanTargetActor(ActorInfo victim, Actor firedBy) { return true; } + public override void DoImpact(Target target, Actor firedBy, IEnumerable damageModifiers) { var actors = target.Type == TargetType.Actor ? new[] { target.Actor } : @@ -36,6 +40,9 @@ namespace OpenRA.Mods.Common.Warheads foreach (var a in actors) { + if (!IsValidAgainst(a, firedBy)) + continue; + var um = a.TraitOrDefault(); if (um == null) continue; diff --git a/mods/ts/weapons/superweapons.yaml b/mods/ts/weapons/superweapons.yaml index 465a09d39b..324eea7cd1 100644 --- a/mods/ts/weapons/superweapons.yaml +++ b/mods/ts/weapons/superweapons.yaml @@ -84,13 +84,8 @@ EMPulseCannon: Shadow: true Angle: 62 Image: pulsball - Warhead@2Eff: CreateEffect + Warhead@1Eff: CreateEffect Explosion: pulse_explosion -# Dummy warhead to allow targeting - Warhead@target: SpreadDamage - Spread: 0 - Damage: 0 - ValidTargets: Vehicle Warhead@emp: GrantUpgrade Range: 3c0 Duration: 250