- Joined
- Nov 14, 2008
- Messages
- 3,256
Hey.
I just had to bring this crap up for discussion.
As most people are aware of, our spell section requires a spell to be "Fully MUI" to be accepted. However what is "MUI"? Let's break it down.
MUI follows:
Every single unit should be able to have one instance running without clashing with another's.
Now the fun part:
So each and every unit should be able to have ONE instance running. So what about having 2 instances running from the same unit?
Example.
By using an unitindexer we made our example. Basically it's a missile traveling 800 units and then exploads.
The index of our arrays is the "UnitID".
We cast the spell once and once only. Looking good so far, the missile travels 800 units and then exploads. Now we cast it once and before the first instance ends, we cast it AGAIN. Now the arrays are being overwritten by new values and we loose our first instance (leaks it). You see the brilliance here? The spell is MUI but it still bugs the shit out (pardon my use of words).
We can also use the same example and situation, using a hashtable with the unit's ID (using GetHandleID on the unit) as parentkey. Same leak will occour but it's still MUI by definition? This can however be easily prevented using the missiledummy's handle ID instead of the caster to make it fully able to run unlimited instances. But that's not the case anyway.
So can I upload a spell, doing this one-instance-per-unit shit and still get accepted (not that I would, indexing for life)? Ooooooooooooooooooooor will it get rejected when I followed the rules?
Regards,
~baassee
I just had to bring this crap up for discussion.
As most people are aware of, our spell section requires a spell to be "Fully MUI" to be accepted. However what is "MUI"? Let's break it down.
MUI follows:
Every single unit should be able to have one instance running without clashing with another's.
Now the fun part:
So each and every unit should be able to have ONE instance running. So what about having 2 instances running from the same unit?
Example.
By using an unitindexer we made our example. Basically it's a missile traveling 800 units and then exploads.
The index of our arrays is the "UnitID".
We cast the spell once and once only. Looking good so far, the missile travels 800 units and then exploads. Now we cast it once and before the first instance ends, we cast it AGAIN. Now the arrays are being overwritten by new values and we loose our first instance (leaks it). You see the brilliance here? The spell is MUI but it still bugs the shit out (pardon my use of words).
We can also use the same example and situation, using a hashtable with the unit's ID (using GetHandleID on the unit) as parentkey. Same leak will occour but it's still MUI by definition? This can however be easily prevented using the missiledummy's handle ID instead of the caster to make it fully able to run unlimited instances. But that's not the case anyway.
So can I upload a spell, doing this one-instance-per-unit shit and still get accepted (not that I would, indexing for life)? Ooooooooooooooooooooor will it get rejected when I followed the rules?
Regards,
~baassee