This project has been canceled. I suppose this was one of those ideas that was better in theory than in actuality. It was fun playing with ACS scripting though (sort of). Here are the scripts from this map if anybody is interested:
Code: Select all
#include "zcommon.acs"
#define scripts_x 6
int scripts[6]={2,3,4,7,8,9};
#define lights_off_x 13
int lights_off[13]={1,2,3,15,16,17,18,19,20,21,22,23,24};
script 1 open{
for (int i=0;i<lights_off_x;i++) thing_deactivate(lights_off[i]);
for (i=0;i<scripts_x;i++) acs_execute(scripts[i],0);
for (i=153;i<297;i++) sector_setcolor(i, 192, 0, 0);
}
#define del 6
script 2 (void){ //color changing lights in main area
thing_deactivate(3);
thing_activate(1); //red
changeceiling(5,"j_cl_r");
delay(del);
thing_deactivate(1);
thing_activate(2); //blue
changeceiling(5,"j_cl_b");
delay(del);
thing_deactivate(2);
thing_activate(3); //green
changeceiling(5,"j_cl_g");
delay(del);
restart;
}
script 3 (void){ //random lift 1
delay(35*random(1,15)); floor_raisetonearest(3, 12);
delay(35*random(1,15)); floor_lowertonearest(3, 12);
restart;
}
script 4 (void){ //random lift 2
delay(35*random(1,15)); floor_raisetonearest(4, 12);
delay(35*random(1,15)); floor_lowertonearest(4, 12);
restart;
}
script 5 (void){ //jump pads
thrustthingz(activatortid(), 64, 0, 1);
}
script 6 enter{
thing_changetid(0, 1001+playernumber());
}
//Every other tile
int broken_tiles[2][72]={{153,155,157,159,161,163,
166,168,170,172,174,176,
177,179,181,183,185,187,
190,192,194,196,198,200,
201,203,205,207,209,211,
214,216,218,220,222,224,
225,227,229,231,233,235,
238,240,242,244,246,248,
249,251,253,255,257,259,
262,264,266,268,270,272,
273,275,277,279,281,283,
286,288,290,292,294,296},
{154,156,158,160,162,164,
165,167,169,171,173,175,
178,180,182,184,186,188,
189,191,193,195,197,199,
202,204,206,208,210,212,
213,215,217,219,221,223,
226,228,230,232,234,236,
237,239,241,243,245,247,
250,252,254,256,258,260,
261,263,265,267,269,271,
274,276,278,280,282,284,
285,287,289,291,293,295}};
int circular_tiles[88]={153,154,155,156,157,158,
159,160,161,162,163,164,
176,188,200,212,224,236,
248,260,272,284,296,295,
294,293,292,291,290,289,
288,287,286,285,273,261,
249,237,225,213,201,189,
177,165,179,180,181,182,
183,184,185,186,198,210,
222,234,246,258,270,269,
268,267,266,265,264,263,
251,239,227,215,203,191,
241,229,217,205,206,207,
208,220,232,224,243,242,
241,229,217,244};
script 7 (void){ //disco floor loop
for (int ii=0;ii<6;ii++){
//green outer circle
for (int i=153;i<297;i++) sector_setcolor(i, 0, 192, 0);
//Red inner circle
for (i=0;i<88;i++) sector_setcolor(circular_tiles[i], 192, 0, 0);
delay(25);
//red outer circle
for (i=153;i<297;i++) sector_setcolor(i, 192, 0, 0);
//blue inner circle
for (i=0;i<88;i++) sector_setcolor(circular_tiles[i], 0, 0, 192);
delay(25);
//blue outer circle
for (i=153;i<297;i++) sector_setcolor(i, 0, 0, 192);
//green inner circle
for (i=0;i<88;i++) sector_setcolor(circular_tiles[i], 0, 192, 0);
delay(25);
}
//blue + green inverse
for (ii=0;ii<6;ii++){
for ( i=0;i<72;i++){
sector_setcolor(broken_tiles[0][i], 0, 0, 192);
sector_setcolor(broken_tiles[1][i], 0, 192, 0);
}
delay(25);
for (i=0;i<72;i++){
sector_setcolor(broken_tiles[1][i], 0, 0, 192);
sector_setcolor(broken_tiles[0][i], 0, 192, 0);
}
delay(25);
}
//to green sequentially
for (i=153;i<297;i++){
sector_setcolor(i, 0, 192, 0);
delay(1);
}
//red + green inverse
for (ii=0;ii<6;ii++){
for (i=0;i<72;i++){
sector_setcolor(broken_tiles[0][i], 192, 0, 0);
sector_setcolor(broken_tiles[1][i], 0, 192, 0);
}
delay(25);
for (i=0;i<72;i++){
sector_setcolor(broken_tiles[1][i], 192, 0, 0);
sector_setcolor(broken_tiles[0][i], 0, 192, 0);
}
delay(25);
}
//to red sequentially
for (i=153;i<297;i++){
sector_setcolor(i, 192, 0, 0);
delay(1);
}
//red + blue inverse
for (ii=0;ii<6;ii++){
for (i=0;i<72;i++){
sector_setcolor(broken_tiles[0][i], 192, 0, 0);
sector_setcolor(broken_tiles[1][i], 0, 0, 192);
}
delay(25);
for (i=0;i<72;i++){
sector_setcolor(broken_tiles[1][i], 192, 0, 0);
sector_setcolor(broken_tiles[0][i], 0, 0, 192);
}
delay(25);
}
//to blue sequentially
for (i=153;i<297;i++){
sector_setcolor(i, 0, 0, 192);
delay(1);
}
restart;
}
script 8 (void){ //random door 1
ceiling_raisebyvalue(8, 24, 128); floor_lowerbyvalue(8, 24, 120);
tagwait(8);
delay(35*random(1,3));
ceiling_lowerbyvalue(8, 24, 128); floor_raisebyvalue(8, 24, 120);
tagwait(8);
delay(35*random(3,22));
restart;
}
int projectile_info[4][10]={{1,2,3,4,5,6,7,8,9,10}, //Line IDs
{5,6,7,8,9,10,11,12,13,14}, //Spawn points
{ang_e,ang_e,ang_e,ang_e,ang_e,ang_w,ang_w,ang_w,ang_w,ang_w}, //projectile angle
{15,16,17,18,19,20,21,22,23,24}};
script 9 (void){ //projectiles in main area
int rand = random(0,9);
delay(35*random(1, 10));
thing_activate(projectile_info[3][rand]);
setlinetexture(projectile_info[0][rand], side_front, texture_middle, "SW2Lion");
thing_projectilegravity(projectile_info[1][rand], 255, projectile_info[2][rand], 128, 8);
delay(20);
thing_deactivate(projectile_info[3][rand]);
setlinetexture(projectile_info[0][rand], side_front, texture_middle, "SW1Lion");
restart;
}