Flow control
Sequences, parallel branches, loops, switches, cooldowns, and visual rerouting.
Sequence
Fires outputs 0, 1, 2 in order.
In: exec In
Out: exec 0, 1, 2
Sequence → first Screenshot, then Log, then Click.
Parallel
Runs each exec-out branch on its own thread and joins them.
In: exec In
Out: exec A, exec B, ... (add branches in the inspector)
For independent parallel actions / checks.
A checks HP, B checks enemy, C checks timer.
Random
Pick one of several outputs at random.
In: exec In (weights configurable per output in inspector)
Out: exec 0, 1, 2, ...
Random → three different attack combos.
For Each Detection
Loops over every object in a detection result.
In: Detections:DetectionResult
Out: exec Body (per item), exec Done, Item, Index
Objects → For Each Detection → click each.
For Each Memory Object
Loops over every object in a memory list.
In: List:Any
Out: exec Body, exec Done, Item, Index
Pro. Pair with Memory Object List.
mem.object_list → For Each Memory Object → read HP field.
Switch
Multi-way branch by a number or a text value.
In: Value:Any, Cases (added in inspector)
Out: exec Case 1..N, exec Default
Switch(mode) → farm / heal / retreat.
Cooldown
Allow through only once every N seconds; otherwise the "blocked" output fires.
In: Seconds:Float
Out: exec Allowed, exec Blocked
Cooldown(3) around a potion click.
Repeat Until
Loops until a yes/no condition becomes true.
In: Condition:Bool
Out: exec Body, exec Done, Iterations:Int
Repeat Until(Found) → attack.
Repeat Times
Loops a fixed number of times.
In: Times:Int
Out: exec Body, exec Done, Index:Int
Repeat Times(5) → send greetings.
Break
Stops the current branch immediately.
In: —
Out: —
On emergency → Break current branch.
Reroute
Visually re-routes an exec wire.
In: exec In
Out: exec Out
Use for neat routing of long wires.
Block Thread
Blocks a Parallel branch by label.
In: Branch:String
Out: exec Out
Branch must match the A / B / C label of a Parallel branch.
Block Thread("B") temporarily pauses branch B.
Unblock Thread
Resumes a Parallel branch by label.
In: Branch:String
Out: exec Out
Called from another branch or later in the scenario.
Unblock Thread("B") continues branch B.