There are no things that run at the same time in warcraft.
Variables can be overriden if a trigger runs, before the first trigger has finished.
Example: When a unit takes damage, Damage_Event becomes equal to 1.
You have two triggers, that both have the event.
-
Events
-

Game - Damage_Event becomes Equal to 1.00
So they both would fire at the same time. However this is not possible in warcraft. The second trigger can only run, once the first trigger is finished/paused.
Using wait/timer (also 0 seconds duration) pauses the first trigger and the second trigger can run, so be careful when using this, as it will cause problems with triggers that basically run at the same time.
When something happens in trigger, an event can be fired because of this. This causes the trigger to stop, run the new trigger fired by the event and then continuing with the first trigger.
This means, that if you deal damage in one of the triggers, you will fire a new trigger, because of the damage event, that can potentially override variables. So be careful that none of the actions you do, fires a trigger, that may override variables.
P.S. Using JASS allows you to use local variables and you won't have to deal with these problems.
