Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
The timers do not interfear with globals and other long term storage methods of MUI. Equally well the TriggerSleepAction mid function pause did not interfear with locals and such.
I have absolutly no clue how you can blame the lack of MUI in spells on it. The fault lies on the maker for not coding them correcty.
the main problem with spells and waits is that waits are inaccurate
with locals (or probably even shadowed globals?) it MIGHT be possible to make spells on a totally different way
and IF this is possible the performance might be worse but I didn't make any tests regarding this yet
PS: is it only me or does it always take 2 minutes to load a map?
If waits were MUI in wc3, we would never be using timers in spells for pauses. Even if the wait is inaccurate, making a trigger like this:
Code:
scope random initializer Init
private function actions takes nothing returns nothing
call TriggerSleepAction(5.00)
endfunction
private function Init takes nothing returns nothing
//insert events here
endfunction
endscope
A spell using that action would not be able to be casted by another unit for the next 5 seconds without screwing up (the wait would not be called in the spell used while the first wait is being executed). Does that rule still apply in sc2? (there is a reason spells aren't submitted in wc3 with waits in them. They stop the spell from being MUI or MPI)
Timers are no more "MUI" than TSA, the only advantages are that they're more accurate and can be used outside of trigger actions. The reason a spell stops being MUI when you use a wait and global variables is that if another instance of the spell runs it will change the globals. The following trigger actions would be perfectly fine for an MUI spell:
JASS:
function Actions takes nothing returns nothing
local unit u = CreateUnit(Player(0), 'hpea', 0., 0., 0.)
call TriggerSleepActions(10.)
call RemoveUnit(u)
set u = null
endfunction
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.