This forum has code tags, to make your stuff more readable. They're to the left of the quote button on the post editor, or just typing "code" in brackets.
Firstly, you only want one Waitframe in your global. You could also condense all of this to a function, to make it look cleaner and to make combining it with other things easier. What everybody means by "Misc" is an array that the NPC pointer has. You'd use it like this.
eexe->Misc[0] = 1;
Each enemy has their own copy of this array, so you could set it along with the stat changes, and then check it in your conditional so that any enemy that already had its Misc value set won't go through the stat change again. The way you've implemented the multipliers will also make every enemy have the same stats. You should do something like
eexe->Damage *= enepow;
instead of setting it directly equal to it.
Some other things: you don't need to declare variables as arguments to run() in a global script, that feature is only used in item and FFC scripts. You also don't need to manage the for loop's counter variable yourself, it can be reinitialized every time the code hits the loop by just declaring it inside the parentheses. zscript.txt, std.txt, and std_constants.zh have a lot of the stuff you'd need to know about ZScript. They're all found in the base ZC directory.