Extract duplicated code to a SetupHuntTrigger function

This commit is contained in:
abcdefg30
2016-07-18 11:58:56 +02:00
parent c2ec0d3cbc
commit 00c6260ec2

View File

@@ -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