From 4aba64cc0fd507ab4c8d65236d57f0df846d28af Mon Sep 17 00:00:00 2001 From: Zimmermann Gyula Date: Mon, 31 Aug 2015 17:26:53 +0200 Subject: [PATCH] Fix armors. --- OpenRA.Mods.Common/Warheads/DamageWarhead.cs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/OpenRA.Mods.Common/Warheads/DamageWarhead.cs b/OpenRA.Mods.Common/Warheads/DamageWarhead.cs index 5cbac65fe5..0039082b31 100644 --- a/OpenRA.Mods.Common/Warheads/DamageWarhead.cs +++ b/OpenRA.Mods.Common/Warheads/DamageWarhead.cs @@ -37,15 +37,11 @@ namespace OpenRA.Mods.Common.Warheads public int DamageVersus(Actor victim) { - var armor = victim.TraitsImplementing().Where(a => !a.IsTraitDisabled && a.Info.Type != null); - foreach (var a in armor) - { - int versus; - if (Versus.TryGetValue(a.Info.Type, out versus)) - return versus; - } + var armor = victim.TraitsImplementing() + .Where(a => !a.IsTraitDisabled && a.Info.Type != null && Versus.ContainsKey(a.Info.Type)) + .Select(a => Versus[a.Info.Type]); - return 100; + return Util.ApplyPercentageModifiers(100, armor); } public override void DoImpact(Target target, Actor firedBy, IEnumerable damageModifiers)