Can you stack scarabs normally?
Yes. The collection system featured in the DDS wiki uses a horizontal 39-tile location for scarabs to move along, but for my purposes I have found it sufficient to store the scarabs in a 1x1 tile surrounded by water, and this trigger:
Conditions:
Always
Actions:
Move all Protoss Scarab owned by All Players at 'Holding Location' to 'Holding Location'
preserve trigger.
They stack fine for me.
The tests I ran showed that proper stacking is
not possible without the Random Suicide AI. And by proper I mean the scarabs being able to move stacked in the storage location. Yes, they can be stacked by the move command and exist at the same coordinate while stationary, but in motion they block each other.
The issue with set generic command and make these units patrol is that it only works on a small portion of scarabs. The rest will blow up. To store these scarabs, you'd have to perform the two AI scripts, wait however long it takes for the failed ones to blow up, move the successful ones, then repeat the process until you have enough stored. It's basically impractical if there are spells that can be cast repeatedly in a short period of time.
The only problem with that is the time it takes to generate enough eternal scarabs. If you have N seconds while the map loads, provides intro credits, runs through a tutorial, etc, you can use that time to get those scarabs. I'll make a test map for this, as it is clearly the best option - it will not eat up too many weapon sprites and once it finishes making the scarabs, the laggy create/move/remove actions do not run at all.
IMPORTANT INFORMATION:
The map attached shows that there is something fishy going on with the 'move' order for human-owned scarabs. To see it for yourself, check the triggers, which function the same way as the old DDS example map, and guess what will happen. Play the map (you'll also see that human scarabs do not stack properly). Then, remove two reavers for P2, which will essentially cut the scarab production by half. Play the map. It will work as it should. Then remove two reavers for P1 - it should do the same thing, right? Play the map. Witness the difference. Hence:
If we move a scarab from location A to location B, then check whether there is a scarab in location A in the same trigger cycle...
-For P2, that condition
will not be met.
-For P1, that condition
will be met.
This means that for P1, there is a move order update delay, just like we know of 'kill' update delays. I do not know whether it has something to do with the Random Suicide AI, P1 being human, P1's triggers runnig first or any other factor yet. I will keep you guys updated.
Further Update: Random Suicide AI and it's effect
Remove two reavers for P2 and remove the Random Suicide AI command (the 'Const' trigger under P2's triggers). Play the map; pay strict attention to the rightmost reaver. It shoots and gets removed very rarely, hence all 4 triggers for the CPU DDS fire at the first reaver. Now, turn the Random Suicide AI on again, but leave the tow reavers as they are. Playe the map. You will see that the leftmost reaver shoots equally fast (as it should).
Hence, the Random Suicide AI is removes the 'move' update delay from the player it runs for (for scarabs at least). Which is why the Human DDS map was such a buggy pain to make - the unit checking mechanics in it were different.
Attachments:
Post has been edited 6 time(s), last time on Aug 19 2009, 3:35 pm by JaFF.
None.