From ade85f897740704b6961a3f494f5f58d094b4a10 Mon Sep 17 00:00:00 2001 From: reaperrr Date: Thu, 20 Sep 2018 16:04:02 +0200 Subject: [PATCH] Skip DamageWarhead armor lookups if no Versus defined - directly return 100 when no Versus values are defined (meaning the warhead would have 100% efficiency vs. all armor types anyway) --- OpenRA.Mods.Common/Warheads/DamageWarhead.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OpenRA.Mods.Common/Warheads/DamageWarhead.cs b/OpenRA.Mods.Common/Warheads/DamageWarhead.cs index e8805ce0a7..1d3af899c5 100644 --- a/OpenRA.Mods.Common/Warheads/DamageWarhead.cs +++ b/OpenRA.Mods.Common/Warheads/DamageWarhead.cs @@ -38,6 +38,10 @@ namespace OpenRA.Mods.Common.Warheads public int DamageVersus(Actor victim) { + // If no Versus values are defined, DamageVersus would return 100 anyway, so we might as well do that early. + if (Versus.Count == 0) + return 100; + var armor = victim.TraitsImplementing() .Where(a => !a.IsTraitDisabled && a.Info.Type != null && Versus.ContainsKey(a.Info.Type)) .Select(a => Versus[a.Info.Type]);