From 00c6260ec2a069e82b29213e2f17ebc90756f292 Mon Sep 17 00:00:00 2001 From: abcdefg30 Date: Mon, 18 Jul 2016 11:58:56 +0200 Subject: [PATCH] Extract duplicated code to a SetupHuntTrigger function --- mods/ra/maps/survival01/survival01.lua | 45 +++++++++++--------------- 1 file changed, 18 insertions(+), 27 deletions(-) diff --git a/mods/ra/maps/survival01/survival01.lua b/mods/ra/maps/survival01/survival01.lua index b38a661be7..65a64ec63c 100644 --- a/mods/ra/maps/survival01/survival01.lua +++ b/mods/ra/maps/survival01/survival01.lua @@ -69,37 +69,12 @@ IdleTrigger = function(units, dest) Trigger.OnIdle(unit, function() local bool = Utils.All(units, function(unit) return unit.IsIdle end) if bool then - Utils.Do(units, function(unit) - if not unit.IsDead then - Trigger.ClearAll(unit) - Trigger.AfterDelay(0, function() - if not unit.IsDead then - if dest then unit.AttackMove(dest, 3) end - Trigger.OnIdle(unit, unit.Hunt) - Trigger.OnCapture(unit, function() - Trigger.ClearAll(unit) - end) - end - end) - end - end) + SetupHuntTrigger(units) end end) Trigger.OnDamaged(unit, function() - Utils.Do(units, function(unit) - if not unit.IsDead then - Trigger.ClearAll(unit) - Trigger.AfterDelay(0, function() - if not unit.IsDead then - Trigger.OnIdle(unit, unit.Hunt) - Trigger.OnCapture(unit, function() - Trigger.ClearAll(unit) - end) - end - end) - end - end) + SetupHuntTrigger(units) end) Trigger.OnCapture(unit, function() @@ -108,6 +83,22 @@ IdleTrigger = function(units, dest) end) end +SetupHuntTrigger = function(units) + Utils.Do(units, function(unit) + if not unit.IsDead then + Trigger.ClearAll(unit) + Trigger.AfterDelay(0, function() + if not unit.IsDead then + Trigger.OnIdle(unit, unit.Hunt) + Trigger.OnCapture(unit, function() + Trigger.ClearAll(unit) + end) + end + end) + end + end) +end + ticked = TimerTicks Tick = function() if KillObj and soviets.HasNoRequiredUnits() then