From bb1d5f1d5ce662d289f84f7218eb3459945adf90 Mon Sep 17 00:00:00 2001 From: reaperrr Date: Thu, 12 Dec 2019 19:54:34 +0100 Subject: [PATCH] Fix ReloadAmmoPool.ResetFire ignoring multipliers --- OpenRA.Mods.Common/Traits/ReloadAmmoPool.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/ReloadAmmoPool.cs b/OpenRA.Mods.Common/Traits/ReloadAmmoPool.cs index aa3bf84632..de805d4746 100644 --- a/OpenRA.Mods.Common/Traits/ReloadAmmoPool.cs +++ b/OpenRA.Mods.Common/Traits/ReloadAmmoPool.cs @@ -58,14 +58,18 @@ namespace OpenRA.Mods.Common.Traits { ammoPool = self.TraitsImplementing().Single(ap => ap.Info.Name == Info.AmmoPool); modifiers = self.TraitsImplementing().ToArray(); - remainingTicks = Info.Delay; base.Created(self); + + self.World.AddFrameEndTask(w => + { + remainingTicks = Util.ApplyPercentageModifiers(Info.Delay, modifiers.Select(m => m.GetReloadAmmoModifier())); + }); } void INotifyAttack.Attacking(Actor self, Target target, Armament a, Barrel barrel) { if (Info.ResetOnFire) - remainingTicks = Info.Delay; + remainingTicks = Util.ApplyPercentageModifiers(Info.Delay, modifiers.Select(m => m.GetReloadAmmoModifier())); } void INotifyAttack.PreparingAttack(Actor self, Target target, Armament a, Barrel barrel) { }