Extract duplicated code to a SetupHuntTrigger function
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user