Skip to content

EUD Tutorial: Hyper and Antihyper Triggers

Ar3sgice edited this page Sep 16, 2020 · 2 revisions

The Hyper Trigger

In starcraft map editing, people often use a series of weird Wait(0) triggers to accelerate trigger execution.

This is called the Hyper Trigger.

EUD Hyper Trigger

TL;DR: to make trigger run twice as fast as regular hyper triggers,

MemoryAddr(0x006509a0, Set To, 0); // Trigger Execution Timer
Preserve Trigger();

You can also find this in the EUD Editor trigger editor called "EUDTurbo".

Trigger Execution Timer is a timer value measured in frames. It decreases by 1 each frame, and triggers execute when it reaches 0.

After each trigger cycle, this value always gets set back to 30.

Wait Triggers

However, the way normal Hyper Trigger works is slightly different. There are also a series of 8 timers called Trigger Wait Timers.

They behave just like the Trigger Execution Timer. When any of them reach 0, all triggers will also execute (and triggers awaiting the timer will be activated).

Normal Hyper Triggers use Wait(0) to set one of these timers to 1 (not 0 because 1 is the minimum value). This makes all triggers execute every 2 frames.

Unfortunately, the current EUD does not support editing these addresses.

Antihyper Triggers

In order to achieve antihyper, i.e. slow down trigger execution, we need to keep both Trigger Wait Timers and Trigger Execution Timer inactive.

Since we cannot edit Trigger Wait Timers, we must make sure we never use the Wait action in triggers.

Additionally, set the Trigger Execution Timer to a large value like

MemoryAddr(0x006509a0, Set To, 60);
Preserve Trigger();

All triggers will run at half the speed as normal.