<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://staredit.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Hyper_Triggers</id>
		<title>Hyper Triggers - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://staredit.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Hyper_Triggers"/>
		<link rel="alternate" type="text/html" href="https://staredit.net/wiki/index.php?title=Hyper_Triggers&amp;action=history"/>
		<updated>2026-04-09T13:27:23Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>https://staredit.net/wiki/index.php?title=Hyper_Triggers&amp;diff=559&amp;oldid=prev</id>
		<title>Zurg: add categ ref</title>
		<link rel="alternate" type="text/html" href="https://staredit.net/wiki/index.php?title=Hyper_Triggers&amp;diff=559&amp;oldid=prev"/>
				<updated>2015-08-03T02:52:08Z</updated>
		
		<summary type="html">&lt;p&gt;add categ ref&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 02:52, 3 August 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l131&quot; &gt;Line 131:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 131:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:StarCraft]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:StarCraft]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Tutorials]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Tutorials]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Reference]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zurg</name></author>	</entry>

	<entry>
		<id>https://staredit.net/wiki/index.php?title=Hyper_Triggers&amp;diff=558&amp;oldid=prev</id>
		<title>Zurg: complex hypers example had an error in it</title>
		<link rel="alternate" type="text/html" href="https://staredit.net/wiki/index.php?title=Hyper_Triggers&amp;diff=558&amp;oldid=prev"/>
				<updated>2015-08-03T02:48:43Z</updated>
		
		<summary type="html">&lt;p&gt;complex hypers example had an error in it&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 02:48, 3 August 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Hyper triggers''' (often shortened to &amp;quot;'''hypers'''&amp;quot;) are ''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/del&gt;StarCraft&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/del&gt;'' [[triggers]] that use game glitches to speed up the rate at which trigger cycles are executed. Under normal circumstances, triggers are checked every two game seconds; hyper triggers cause triggers to be checked every other frame of animation (about twelve times per real-time second on the fastest game speed). &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Hyper triggers''' (often shortened to &amp;quot;'''hypers'''&amp;quot;) are ''StarCraft'' [[triggers]] that use game glitches to speed up the rate at which trigger cycles are executed. Under normal circumstances, triggers are checked every two game seconds; hyper triggers cause triggers to be checked every other frame of animation (about twelve times per real-time second on the fastest game speed). &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Basic hyper triggers ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Basic hyper triggers ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The basic hyper trigger method uses Wait actions. To avoid [[wait &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;block&lt;/del&gt;]]&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;s&lt;/del&gt;, the player that owns these triggers cannot own any other triggers that use Waits -- unless there is another player also running hyper triggers. Furthermore, these triggers must be placed at the bottom of the trigger list. This is for several reasons, firstly that (so long as you have at least two players running hyper triggers), one of them will be able to run a Wait action and the map hyper triggers will not pause (because there will be another player still properly running hyper triggers). If no computer players are available to run hyper triggers, hyper triggers must be included in the trigger lists of every player, thus ensuring that there will always be at least one set of hyper triggers running.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The basic hyper trigger method uses Wait actions. To avoid [[wait &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;blocks&lt;/ins&gt;]], the player that owns these triggers cannot own any other triggers that use Waits -- unless there is another player also running hyper triggers. Furthermore, these triggers must be placed at the bottom of the trigger list. This is for several reasons, firstly that (so long as you have at least two players running hyper triggers), one of them will be able to run a Wait action and the map hyper triggers will not pause (because there will be another player still properly running hyper triggers). If no computer players are available to run hyper triggers, hyper triggers must be included in the trigger lists of every player, thus ensuring that there will always be at least one set of hyper triggers running.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following trigger is a hyper trigger. It is strongly recommended that you use multiple copies of it in your map; generally, about four of them will do.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following trigger is a hyper trigger. It is strongly recommended that you use multiple copies of it in your map; generally, about four of them will do.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l82&quot; &gt;Line 82:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 82:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== How it works ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== How it works ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;These hyper triggers cause ''StarCraft'' to check the map's trigger list about 11.904761904761904761904761904762 times per second. This happens because ''StarCraft'' checks all trigger conditions &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;before a Wait action &lt;/del&gt;in any trigger for any player. Thus, by stacking very short wait periods in a single trigger, ''StarCraft'' is forced to check all triggers many times per second.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;These hyper triggers cause ''StarCraft'' to check the map's trigger list about 11.904761904761904761904761904762 times per second. This happens because &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;before a Wait action, &lt;/ins&gt;''StarCraft'' checks all trigger conditions in any trigger for any player. Thus, by stacking very short wait periods in a single trigger, ''StarCraft'' is forced to check all triggers many times per second.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The reason that multiple copies of the trigger are needed is because once ''StarCraft'' has finished running through all hyper triggers in a map (which does happen eventually), there will be a gap (known as an '''NEO''', or '''Next Ending Occurrence''') of approximately two seconds -- the normal cycle time. This gap can cause problems with timing. However, the more hyper triggers there are in a map, the longer the period between gaps will be, via the following formula:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The reason that multiple copies of the trigger are needed is because once ''StarCraft'' has finished running through all hyper triggers in a map (which does happen eventually), there will be a gap (known as an '''NEO''', or '''Next Ending Occurrence''') of approximately two seconds -- the normal cycle time. This gap can cause problems with timing. However, the more hyper triggers there are in a map, the longer the period between gaps will be, via the following formula:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l101&quot; &gt;Line 101:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 101:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Complex Hyper Triggers ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Complex Hyper Triggers ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Complex hyper triggers are a rather ironically-named pair of triggers that are fairly easy to implement. They may be placed anywhere on the trigger list and do not cause wait blocks, making them more convenient than basic hypers. Furthermore, they rely on [[switch]]es or [[death counters]] (either may be used), so they can be activated or deactivated with ease. However, they are trickier to set up, because the two triggers must be assigned to two different players.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Complex hyper triggers are a rather ironically-named pair of triggers that are fairly easy to implement. They may be placed anywhere on the trigger list and do not cause wait blocks, making them more convenient than basic hypers. Furthermore, they rely on [[switch]]es or [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Death Counters|&lt;/ins&gt;death counters]] (either may be used), so they can be activated or deactivated with ease. However, they are trickier to set up, because the two triggers must be assigned to two different players&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. As a note of trivia, complex hypers also have no NEOs&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Here are the triggers for complex hypers that use a switch. To convert them over to death counters, simply use the Deaths condition and Set Deaths action.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Here are the triggers for complex hypers that use a switch. To convert them over to death counters, simply use the Deaths condition and Set Deaths action.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l108&quot; &gt;Line 108:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 108:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|description=Complex Hyper 1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|description=Complex Hyper 1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|players=*Player 1 ''[can be any player, but the hypers must use different players]''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|players=*Player 1 ''[can be any player, but the hypers must use different players]''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|conditions=*Switch 1 is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Set&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|conditions=*Switch 1 is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Cleared&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|actions=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|actions=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wait 0 milliseconds.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wait 0 milliseconds.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Clear &lt;/del&gt;Switch 1.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Set &lt;/ins&gt;Switch 1.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wait 0 milliseconds.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wait 0 milliseconds.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Preserve trigger.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Preserve trigger.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l119&quot; &gt;Line 119:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 119:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|description=Complex Hyper 2&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|description=Complex Hyper 2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|players=*Player 2 ''[can be any player, but the hypers must use different players]''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|players=*Player 2 ''[can be any player, but the hypers must use different players]''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|conditions=*Switch 1 is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Cleared&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|conditions=*Switch 1 is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Set&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|actions=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|actions=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wait 0 milliseconds.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wait 0 milliseconds.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Set &lt;/del&gt;Switch 1.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Clear &lt;/ins&gt;Switch 1.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wait 0 milliseconds.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wait 0 milliseconds.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Preserve trigger.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Preserve trigger.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l128&quot; &gt;Line 128:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 128:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Nonzero waits ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Nonzero waits ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Should hyper triggers ever noticeably lag the map, the amount waited can be increased, which will delay each trigger cycle by an additional frame past multiples of 42 on fastest.&amp;#160; On other speeds, there are different breakpoints for waits (faster is multiples of 48).&amp;#160; Therefore, wait 0-42 will produce 2 frame hyper triggers, wait 43-84 will produce 3 frame hyper triggers, wait 85-126 will produce 4 frame hyper triggers, and so on.&amp;#160; In practice, this has little use, as hypers should always be on wait 0 for speed.&amp;#160; If you want any sort of delay, it's best to use [[death &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;counters&lt;/del&gt;]] as a timer.&amp;#160; 3 frame hypers are peculiar, since they allow you to run triggers on frames which 2 frame hypers can't (ie frame 0, 3, 6, 9 vs frame 0, 2, 4, 6, 8).&amp;#160; By utilizing complex hyper triggers, it is also possible to change the speed of hyper triggers from 2 or 3 frame on the fly.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Should hyper triggers ever noticeably lag the map, the amount waited can be increased, which will delay each trigger cycle by an additional frame past multiples of 42 on fastest.&amp;#160; On other speeds, there are different breakpoints for waits (faster is multiples of 48).&amp;#160; Therefore, wait 0-42 will produce 2 frame hyper triggers, wait 43-84 will produce 3 frame hyper triggers, wait 85-126 will produce 4 frame hyper triggers, and so on.&amp;#160; In practice, this has little use, as hypers should always be on wait 0 for speed.&amp;#160; If you want any sort of delay, it's best to use [[death &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Counters&lt;/ins&gt;]] as a timer.&amp;#160; 3 frame hypers are peculiar, since they allow you to run triggers on frames which 2 frame hypers can't (ie frame 0, 3, 6, 9 vs frame 0, 2, 4, 6, 8).&amp;#160; By utilizing complex hyper triggers, it is also possible to change the speed of hyper triggers from 2 or 3 frame on the fly.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:StarCraft]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:StarCraft]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Tutorials]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Tutorials]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zurg</name></author>	</entry>

	<entry>
		<id>https://staredit.net/wiki/index.php?title=Hyper_Triggers&amp;diff=168&amp;oldid=prev</id>
		<title>DevliN: 1 revision imported: Restoring SC1 backup</title>
		<link rel="alternate" type="text/html" href="https://staredit.net/wiki/index.php?title=Hyper_Triggers&amp;diff=168&amp;oldid=prev"/>
				<updated>2015-03-21T04:33:19Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision imported: Restoring SC1 backup&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 04:33, 21 March 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='en'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>DevliN</name></author>	</entry>

	<entry>
		<id>https://staredit.net/wiki/index.php?title=Hyper_Triggers&amp;diff=167&amp;oldid=prev</id>
		<title>DevliN at 10:50, 23 November 2012</title>
		<link rel="alternate" type="text/html" href="https://staredit.net/wiki/index.php?title=Hyper_Triggers&amp;diff=167&amp;oldid=prev"/>
				<updated>2012-11-23T10:50:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Hyper triggers''' (often shortened to &amp;quot;'''hypers'''&amp;quot;) are ''[[StarCraft]]'' [[triggers]] that use game glitches to speed up the rate at which trigger cycles are executed. Under normal circumstances, triggers are checked every two game seconds; hyper triggers cause triggers to be checked every other frame of animation (about twelve times per real-time second on the fastest game speed). &lt;br /&gt;
&lt;br /&gt;
== Basic hyper triggers ==&lt;br /&gt;
The basic hyper trigger method uses Wait actions. To avoid [[wait block]]s, the player that owns these triggers cannot own any other triggers that use Waits -- unless there is another player also running hyper triggers. Furthermore, these triggers must be placed at the bottom of the trigger list. This is for several reasons, firstly that (so long as you have at least two players running hyper triggers), one of them will be able to run a Wait action and the map hyper triggers will not pause (because there will be another player still properly running hyper triggers). If no computer players are available to run hyper triggers, hyper triggers must be included in the trigger lists of every player, thus ensuring that there will always be at least one set of hyper triggers running.&lt;br /&gt;
&lt;br /&gt;
The following trigger is a hyper trigger. It is strongly recommended that you use multiple copies of it in your map; generally, about four of them will do.&lt;br /&gt;
&lt;br /&gt;
If you wish to add a Comment action, simply remove one Wait action to make room for it. (The number of actions in the trigger should be sixty-four -- the maximum amount of actions a trigger can hold. So without a Comment, you should have 63 Waits; with a Comment, you should have 62. Do ''not'' forget the Preserve Trigger action.)&lt;br /&gt;
&lt;br /&gt;
{{StarCraft Trigger&lt;br /&gt;
|description=A basic hyper trigger.&lt;br /&gt;
|players=*''[any player following the above recommendations]''&lt;br /&gt;
|conditions=*Always&lt;br /&gt;
|actions=&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Preserve trigger.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Multiple copies of this trigger (at least four) are strongly recommended.&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
These hyper triggers cause ''StarCraft'' to check the map's trigger list about 11.904761904761904761904761904762 times per second. This happens because ''StarCraft'' checks all trigger conditions before a Wait action in any trigger for any player. Thus, by stacking very short wait periods in a single trigger, ''StarCraft'' is forced to check all triggers many times per second.&lt;br /&gt;
&lt;br /&gt;
The reason that multiple copies of the trigger are needed is because once ''StarCraft'' has finished running through all hyper triggers in a map (which does happen eventually), there will be a gap (known as an '''NEO''', or '''Next Ending Occurrence''') of approximately two seconds -- the normal cycle time. This gap can cause problems with timing. However, the more hyper triggers there are in a map, the longer the period between gaps will be, via the following formula:&lt;br /&gt;
&lt;br /&gt;
(''x'' + 1)&amp;lt;sup&amp;gt;''n''&amp;lt;/sup&amp;gt; * 0.084 = number of seconds until NEO&lt;br /&gt;
&lt;br /&gt;
where ''x'' is the number of Wait actions in a hyper trigger, and ''n'' is the total number of separate hyper triggers in your map. Using the example of four copies with 63 wait actions in each:&lt;br /&gt;
&lt;br /&gt;
(63 + 1)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; * 0.084 seconds&lt;br /&gt;
&lt;br /&gt;
(64)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; * 0.084 seconds&lt;br /&gt;
&lt;br /&gt;
16777216 * 0.084 seconds&lt;br /&gt;
&lt;br /&gt;
1409286.144 seconds&lt;br /&gt;
&lt;br /&gt;
Therefore, the time between NEOs will be approximately 391.5 hours, or about 16 days. All maps last considerably less time than this, and so this number of hyper triggers will be sufficient in all situations. Bear in mind, however, that there will be one NEO at the beginning of the map, which happens because ''StarCraft'' does not cycle triggers at the beginning of the game, instead waiting for a standard cycle period and then running through the trigger lists.  As soon as the first cycle has been completed, however, you need not worry about NEOs.&lt;br /&gt;
&lt;br /&gt;
== Complex Hyper Triggers ==&lt;br /&gt;
Complex hyper triggers are a rather ironically-named pair of triggers that are fairly easy to implement. They may be placed anywhere on the trigger list and do not cause wait blocks, making them more convenient than basic hypers. Furthermore, they rely on [[switch]]es or [[death counters]] (either may be used), so they can be activated or deactivated with ease. However, they are trickier to set up, because the two triggers must be assigned to two different players.&lt;br /&gt;
&lt;br /&gt;
Here are the triggers for complex hypers that use a switch. To convert them over to death counters, simply use the Deaths condition and Set Deaths action.&lt;br /&gt;
&lt;br /&gt;
{{StarCraft Trigger&lt;br /&gt;
|description=Complex Hyper 1&lt;br /&gt;
|players=*Player 1 ''[can be any player, but the hypers must use different players]''&lt;br /&gt;
|conditions=*Switch 1 is Set.&lt;br /&gt;
|actions=&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Clear Switch 1.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Preserve trigger.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{StarCraft Trigger&lt;br /&gt;
|description=Complex Hyper 2&lt;br /&gt;
|players=*Player 2 ''[can be any player, but the hypers must use different players]''&lt;br /&gt;
|conditions=*Switch 1 is Cleared.&lt;br /&gt;
|actions=&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Set Switch 1.&lt;br /&gt;
*Wait 0 milliseconds.&lt;br /&gt;
*Preserve trigger.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Nonzero waits ==&lt;br /&gt;
Should hyper triggers ever noticeably lag the map, the amount waited can be increased, which will delay each trigger cycle by an additional frame past multiples of 42 on fastest.  On other speeds, there are different breakpoints for waits (faster is multiples of 48).  Therefore, wait 0-42 will produce 2 frame hyper triggers, wait 43-84 will produce 3 frame hyper triggers, wait 85-126 will produce 4 frame hyper triggers, and so on.  In practice, this has little use, as hypers should always be on wait 0 for speed.  If you want any sort of delay, it's best to use [[death counters]] as a timer.  3 frame hypers are peculiar, since they allow you to run triggers on frames which 2 frame hypers can't (ie frame 0, 3, 6, 9 vs frame 0, 2, 4, 6, 8).  By utilizing complex hyper triggers, it is also possible to change the speed of hyper triggers from 2 or 3 frame on the fly.&lt;br /&gt;
[[Category:StarCraft]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>DevliN</name></author>	</entry>

	</feed>