First, when you create a scout or whatever to activate the spell you would convert the X and Y position death counters to another death counter, A and B. This is so you keep the X and Y death counter values and so you can change the A and B counters for other purposes. Next, you need to center the location 10 pixels above your unit. To do this subtract 10 from B and create an output. Do this in a series of triggers by centering the main trigger on the burrowed unit and then center the appropriate location, called L, on main location and then the main location on location L.
Note: You may need to go higher than 8 for the binary countoffs.
Convert
Trigger("Anything") {
Conditions:
Actions:
Comment("Convert x to a");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "xPosition", At Least, 8);
Actions:
Set Deaths("Current Player", "xPosition", Subtract, 8);
Set Deaths("Current Player", "Storage", Add, 8);
Set Deaths("Current Player", "aPosition", Add, 8);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "xPosition", At Least, 4);
Actions:
Set Deaths("Current Player", "xPosition", Subtract, 4);
Set Deaths("Current Player", "Storage", Add, 4);
Set Deaths("Current Player", "aPosition", Add, 4);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "xPosition", At Least, 2);
Actions:
Set Deaths("Current Player", "xPosition", Subtract, 2);
Set Deaths("Current Player", "Storage", Add, 2);
Set Deaths("Current Player", "aPosition", Add, 2);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "xPosition", At Least, 1);
Actions:
Set Deaths("Current Player", "xPosition", Subtract, 1);
Set Deaths("Current Player", "Storage", Add, 1);
Set Deaths("Current Player", "aPosition", Add, 1);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Actions:
Comment("Restore");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "Storage", At Least, 8);
Actions:
Set Deaths("Current Player", "Storage", Subtract, 8);
Set Deaths("Current Player", "xPosition", Add, 8);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "Storage", At Least, 4);
Actions:
Set Deaths("Current Player", "Storage", Subtract, 4);
Set Deaths("Current Player", "xPosition", Add, 4);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "Storage", At Least, 2);
Actions:
Set Deaths("Current Player", "Storage", Subtract, 2);
Set Deaths("Current Player", "xPosition", Add, 2);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "Storage", At Least, 1);
Actions:
Set Deaths("Current Player", "Storage", Subtract, 1);
Set Deaths("Current Player", "xPosition", Add, 1);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Actions:
Comment("Convert y to b");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "yPosition", At Least, 8);
Actions:
Set Deaths("Current Player", "yPosition", Subtract, 8);
Set Deaths("Current Player", "Storage", Add, 8);
Set Deaths("Current Player", "bPosition", Add, 8);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "yPosition", At Least, 4);
Actions:
Set Deaths("Current Player", "yPosition", Subtract, 4);
Set Deaths("Current Player", "Storage", Add, 4);
Set Deaths("Current Player", "bPosition", Add, 4);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "yPosition", At Least, 2);
Actions:
Set Deaths("Current Player", "yPosition", Subtract, 2);
Set Deaths("Current Player", "Storage", Add, 2);
Set Deaths("Current Player", "bPosition", Add, 2);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "yPosition", At Least, 1);
Actions:
Set Deaths("Current Player", "yPosition", Subtract, 1);
Set Deaths("Current Player", "Storage", Add, 1);
Set Deaths("Current Player", "bPosition", Add, 1);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Actions:
Comment("Restore");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "Storage", At Least, 8);
Actions:
Set Deaths("Current Player", "Storage", Subtract, 8);
Set Deaths("Current Player", "yPosition", Add, 8);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "Storage", At Least, 4);
Actions:
Set Deaths("Current Player", "Storage", Subtract, 4);
Set Deaths("Current Player", "yPosition", Add, 4);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "Storage", At Least, 2);
Actions:
Set Deaths("Current Player", "Storage", Subtract, 2);
Set Deaths("Current Player", "yPosition", Add, 2);
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "Storage", At Least, 1);
Actions:
Set Deaths("Current Player", "Storage", Subtract, 1);
Set Deaths("Current Player", "yPosition", Add, 1);
Preserve trigger();
Comment("");
}
Centering(Output)
Trigger("Anything") {
Conditions:
Deaths("Current Player", "bPosition", Exactly, 20); //Copy for each Y, one through max Y
Actions:
Move Location("Player 8", "Zerg Zergling", "Anywhere", "Main"); // Unit and/or player will change according to the what unit means what coordinate
Preserve trigger();
Comment("");
}
Trigger("Anything") {
Conditions:
Deaths("Current Player", "aPosition", Exactly, 20); // Copy for each X coordinate, one through max X
Actions:
Move Location("Player 12", "Map Revealer", "Main", "Grid X20");
Move Location("Player 12", "Map Revealer", "Grid X20", "Main");
Preserve trigger();
Comment("");
}
Post has been edited 1 time(s), last time on Nov 2 2009, 10:37 pm by Morphling.
None.