Instead of using waits, death counters is the best option. Death counters are now usually a better alternative for switches and timer. If you are making spells, you should use death counters along with hyper triggers.
1000 milliseconds is known to be one second
11.8 (or 12) death counters with hyper triggers is 1 second.
So about 120 deaths of a certain unit = 1 second in a game speed of fastest with hyper triggers.
Here is an example of a simple spell from my map.
Collapse Box
//-----------------------------------------------------------------//
Trigger("Player 1","Player 2","Player 3","Player 4","Player 5","Player 6"){
Conditions:
Bring("Current Player", "Protoss Scout", "Cast", At least, 1);
Command("Current Player", "Terran Ghost", At least, 1);
Bring("Current Player", "Protoss Scout", "Cast buffer", Exactly, 0);
Actions:
Move Unit("Current Player", "Protoss Scout", 1, "Cast", "Cast buffer");
Create Unit with Properties("Current Player", "Protoss Observer", 1, "HDesolator", 1);
Kill Unit At Location("Current Player", "Protoss Observer", All, "HDesolator");
Display Text Message(Always Display, "\r\n\r\n\x003>>> \x004Evasion\r\n\r\n");
Preserve Trigger();
Comment("SDesolator");
}
//-----------------------------------------------------------------//
Trigger("Player 1","Player 2","Player 3","Player 4","Player 5"){
Conditions:
Command("Current Player", "Terran Ghost", At least, 1);
Bring("Current Player", "Protoss Scout", "Cast buffer", At least, 1);
Actions:
Set Invincibility("Current Player", "Terran Ghost", "Anywhere", enabled);
Preserve Trigger();
Comment(" ");
}
//-----------------------------------------------------------------//
Trigger("Player 1","Player 2","Player 3","Player 4","Player 5"){
Conditions:
Command("Current Player", "Terran Ghost", At least, 1);
Bring("Current Player", "Protoss Scout", "Cast buffer", At least, 1);
Actions:
Set Deaths("Current Player", "Cave", Add, 1);
Preserve Trigger();
Comment(" ");
}
//-----------------------------------------------------------------//
Trigger("Player 1","Player 2","Player 3","Player 4","Player 5"){
Conditions:
Command("Current Player", "Terran Ghost", At least, 1);
Bring("Current Player", "Protoss Scout", "Cast buffer", At least, 1);
Deaths("Current Player", "Cave", At least, 10);
Actions:
Remove Unit At Location("Current Player", "Protoss Scout", All, "Cast buffer");
Set Invincibility("Current Player", "Terran Ghost", "Anywhere", disabled);
Set Deaths("Current Player", "Cave", Set To, 0);
Preserve Trigger();
Comment(" ");
}
//-----------------------------------------------------------------//
While it might take more than 1 trigger to make a spell and takes a lot of organization, it is the best way. Organization is really important and you should never use the same death counter as the wait for each spell, unless you allow only 1 spell casting at a time.