Frame 2
stop();
_global.level = new Array();
level[0] = {};
level[0].timeLimit = 400;
level[0].snakeLength = 20;
level[0].tips = "MISSION 1: Welcome to Snake Ball! The objective is to hit balls into the goal in the middle with your snake. Press the start button to begin the first level, or press the next button to skip ahead to more difficult levels.";
level[0].minScore = 1000;
level[0].waves = new Array();
with (level[0]) {
waves[0] = {};
waves[0].startTime = 30;
waves[0].length = 350;
waves[0].delay = 7;
waves[0].wait = false;
waves[0].color = "green";
waves[0].aim = "misses";
}
level[1] = {};
level[1].timeLimit = 520;
level[1].snakeLength = 20;
level[1].tips = "MISSION 2: Red balls are worth twice as many points as green balls. The catch: they slowly drive your snake insane!";
level[1].minScore = 1400;
level[1].waves = new Array();
with (level[1]) {
waves[0] = {};
waves[0].startTime = 20;
waves[0].length = 480;
waves[0].delay = 11;
waves[0].wait = false;
waves[0].color = "red";
waves[0].aim = "misses";
}
level[2] = {};
level[2].timeLimit = 800;
level[2].snakeLength = 20;
level[2].tips = "MISSION 3: Green balls are necessary to stay sane. Red balls are worth a lot of points, but it's much easier to play when you balance them out with green ones.";
level[2].minScore = 2000;
level[2].waves = new Array();
with (level[2]) {
waves[0] = {};
waves[0].startTime = 10;
waves[0].length = 750;
waves[0].delay = 19;
waves[0].wait = false;
waves[0].color = "green";
waves[0].aim = "misses";
waves[1] = {};
waves[1].startTime = 15;
waves[1].length = 750;
waves[1].delay = 19;
waves[1].wait = false;
waves[1].color = "red";
waves[1].aim = "misses";
}
level[3] = {};
level[3].timeLimit = 800;
level[3].snakeLength = 20;
level[3].tips = "MISSION 4: Under sane circumstances, the most effective way to nab of balls is to make a sharp arc around them, and then whip the snake head back around to the other side of the goal. This mission is like the previous one, but harder. Test your skills here before moving on.";
level[3].minScore = 2400;
level[3].waves = new Array();
with (level[3]) {
waves[0] = {};
waves[0].startTime = 10;
waves[0].length = 750;
waves[0].delay = 25;
waves[0].wait = false;
waves[0].color = "green";
waves[0].aim = "misses";
waves[1] = {};
waves[1].startTime = 15;
waves[1].length = 750;
waves[1].delay = 50;
waves[1].wait = false;
waves[1].color = "red";
waves[1].aim = "misses";
}
level[4] = {};
level[4].timeLimit = 1000;
level[4].snakeLength = 25;
level[4].tips = "MISSION 5: Pink balls enter the field, then turn right back around. If you drag one into the goal, they won't even give you any points! However, they triple the score bonus of the next ball that you drag into the hole. A green ball after a pink ball is worth 300 points, and a red ball, 600.";
level[4].minScore = 4000;
level[4].waves = new Array();
with (level[4]) {
waves[0] = {};
waves[0].startTime = 10;
waves[0].length = 950;
waves[0].delay = 25;
waves[0].wait = false;
waves[0].color = "green";
waves[0].aim = "misses";
waves[1] = {};
waves[1].startTime = 15;
waves[1].length = 950;
waves[1].delay = 35;
waves[1].wait = false;
waves[1].color = "red";
waves[1].aim = "misses";
waves[2] = {};
waves[2].startTime = 50;
waves[2].length = 910;
waves[2].delay = 50;
waves[2].wait = false;
waves[2].color = "pink";
waves[2].aim = "hits";
}
level[5] = {};
level[5].timeLimit = 800;
level[5].snakeLength = 25;
level[5].tips = "MISSION 6: There is a second kind of green ball that glows brightly. It's tricky to catch, but it converts all of your insanity into points. Depending on how insane you were before you collect a glowing green ball, it can be worth anywhere from 100 to 2000 points!";
level[5].minScore = 7000;
level[5].waves = new Array();
with (level[5]) {
waves[0] = {};
waves[0].startTime = 10;
waves[0].length = 750;
waves[0].delay = 35;
waves[0].wait = false;
waves[0].color = "green";
waves[0].aim = "misses";
waves[1] = {};
waves[1].startTime = 15;
waves[1].length = 750;
waves[1].delay = 22;
waves[1].wait = false;
waves[1].color = "red";
waves[1].aim = "misses";
waves[2] = {};
waves[2].startTime = 50;
waves[2].length = 710;
waves[2].delay = 90;
waves[2].wait = false;
waves[2].color = "pink";
waves[2].aim = "hits";
waves[3] = {};
waves[3].startTime = 70;
waves[3].length = 710;
waves[3].delay = 50;
waves[3].wait = false;
waves[3].color = "whitegreen";
waves[3].aim = "hits";
}
level[6] = {};
level[6].timeLimit = 1200;
level[6].snakeLength = 6;
level[6].tips = "MISSION 7: When your snake is insane, the most precise way to aim balls is bumping them with the head of the snake. Kick the balls into the goal!";
level[6].minScore = 2000;
level[6].waves = new Array();
with (level[6]) {
waves[0] = {};
waves[0].startTime = 10;
waves[0].length = 1170;
waves[0].delay = 14;
waves[0].wait = false;
waves[0].color = "red";
waves[0].aim = "misses";
}
level[7] = {};
level[7].timeLimit = 1400;
level[7].snakeLength = 15;
level[7].tips = "MISSION 8: Dark red balls are nothing but trouble. They make your snake completely insane, but they don't give you any points! Defend yourself from the attack by hitting them back. And if you let them through, remember to head-butt the greens into the hole to recover.";
level[7].minScore = 2200;
level[7].waves = new Array();
with (level[7]) {
waves[0] = {};
waves[0].startTime = 20;
waves[0].length = 1360;
waves[0].delay = 20;
waves[0].wait = false;
waves[0].color = "green";
waves[0].aim = "misses";
waves[1] = {};
waves[1].startTime = 10;
waves[1].length = 1340;
waves[1].delay = 150;
waves[1].wait = false;
waves[1].color = "darkred";
waves[1].aim = "hits";
}
level[8] = {};
level[8].timeLimit = "inf";
level[8].snakeLength = 19;
level[8].tips = "MISSION 9: This level has no time limit, but you still need to be speedy to win. Your score slowly drains away, so you have to fill it back up with more balls as rapidly as you can... or just use a clever combination of balls for a major bonus!";
level[8].minScore = 5000;
level[8].waves = new Array();
with (level[8]) {
waves[0] = {};
waves[0].startTime = 300;
waves[0].length = "inf";
waves[0].delay = 250;
waves[0].wait = true;
waves[0].color = "whitegreen";
waves[0].aim = "hits";
waves[1] = {};
waves[1].startTime = 100;
waves[1].length = "inf";
waves[1].delay = 200;
waves[1].wait = true;
waves[1].color = "darkred";
waves[1].aim = "misses";
waves[2] = {};
waves[2].startTime = 10;
waves[2].length = "inf";
waves[2].delay = 9;
waves[2].wait = true;
waves[2].color = "green";
waves[2].aim = "misses";
waves[3] = {};
waves[3].startTime = 15;
waves[3].length = "inf";
waves[3].delay = 12;
waves[3].wait = true;
waves[3].color = "green";
waves[3].aim = "misses";
waves[4] = {};
waves[4].startTime = 20;
waves[4].length = "inf";
waves[4].delay = 18;
waves[4].wait = true;
waves[4].color = "green";
waves[4].aim = "misses";
waves[5] = {};
waves[5].startTime = 25;
waves[5].length = "inf";
waves[5].delay = 24;
waves[5].wait = true;
waves[5].color = "green";
waves[5].aim = "misses";
waves[6] = {};
waves[6].startTime = 30;
waves[6].length = "inf";
waves[6].delay = 29;
waves[6].wait = true;
waves[6].color = "green";
waves[6].aim = "misses";
waves[7] = {};
waves[7].startTime = 35;
waves[7].length = "inf";
waves[7].delay = 34;
waves[7].wait = true;
waves[7].color = "green";
waves[7].aim = "misses";
waves[8] = {};
waves[8].startTime = 15;
waves[8].length = "inf";
waves[8].delay = 16;
waves[8].wait = true;
waves[8].color = "red";
waves[8].aim = "random";
waves[9] = {};
waves[9].startTime = 20;
waves[9].length = "inf";
waves[9].delay = 20;
waves[9].wait = true;
waves[9].color = "red";
waves[9].aim = "random";
waves[10] = {};
waves[10].startTime = 25;
waves[10].length = "inf";
waves[10].delay = 24;
waves[10].wait = true;
waves[10].color = "red";
waves[10].aim = "random";
waves[11] = {};
waves[11].startTime = 30;
waves[11].length = "inf";
waves[11].delay = 28;
waves[11].wait = true;
waves[11].color = "red";
waves[11].aim = "random";
waves[12] = {};
waves[12].startTime = 35;
waves[12].length = "inf";
waves[12].delay = 32;
waves[12].wait = true;
waves[12].color = "green";
waves[12].aim = "random";
waves[13] = {};
waves[13].startTime = 40;
waves[13].length = "inf";
waves[13].delay = 36;
waves[13].wait = true;
waves[13].color = "green";
waves[13].aim = "misses";
waves[14] = {};
waves[14].startTime = 50;
waves[14].length = "inf";
waves[14].delay = 50;
waves[14].wait = true;
waves[14].color = "pink";
waves[14].aim = "hits";
}
level[9] = {};
level[9].timeLimit = 1800;
level[9].snakeLength = 20;
level[9].tips = "MISSION 10: In this level, there are some blue balls. Alone, blue balls aren't worth anything, but each time you collect one, the point value of all subsequent balls is raised by 5!";
level[9].minScore = 6250;
level[9].waves = new Array();
with (level[9]) {
waves[0] = {};
waves[0].startTime = 0;
waves[0].length = 700;
waves[0].delay = 0;
waves[0].wait = true;
waves[0].color = "blue";
waves[0].aim = "misses";
waves[1] = {};
waves[1].startTime = 800;
waves[1].length = 900;
waves[1].delay = 24;
waves[1].wait = false;
waves[1].color = "red";
waves[1].aim = "misses";
waves[2] = {};
waves[2].startTime = 800;
waves[2].length = 900;
waves[2].delay = 19;
waves[2].wait = false;
waves[2].color = "green";
waves[2].aim = "misses";
waves[3] = {};
waves[3].startTime = 200;
waves[3].length = 500;
waves[3].delay = 0;
waves[3].wait = true;
waves[3].color = "blue";
waves[3].aim = "misses";
}
level[10] = {};
level[10].timeLimit = 1400;
level[10].snakeLength = 19;
level[10].tips = "MISSION 11: Gray balls do pretty much nothing at all. They don't give you any points, and they don't have any new side effects. However, they do receive the usual bonuses from blue balls and pink balls...";
level[10].minScore = 3300;
level[10].waves = new Array();
with (level[10]) {
waves[0] = {};
waves[0].startTime = 15;
waves[0].length = 1360;
waves[0].delay = 9;
waves[0].wait = false;
waves[0].color = "gray";
waves[0].aim = "hits";
waves[1] = {};
waves[1].startTime = 30;
waves[1].length = 1300;
waves[1].delay = 0;
waves[1].wait = true;
waves[1].color = "blue";
waves[1].aim = "misses";
}
level[11] = {};
level[11].timeLimit = 3010;
level[11].snakeLength = 20;
level[11].tips = "MISSION 12: Keep track of your insanity. If you see a bright green ball, it might be useful to be insane. Also, those blue balls can be very effective if you collect enough of them.";
level[11].minScore = 18000;
level[11].waves = new Array();
with (level[11]) {
waves[0] = {};
waves[0].startTime = 20;
waves[0].length = 2980;
waves[0].delay = 37;
waves[0].wait = false;
waves[0].color = "green";
waves[0].aim = "random";
waves[1] = {};
waves[1].startTime = 25;
waves[1].length = 2975;
waves[1].delay = 39;
waves[1].wait = false;
waves[1].color = "red";
waves[1].aim = "misses";
waves[2] = {};
waves[2].startTime = 800;
waves[2].length = 2200;
waves[2].delay = 250;
waves[2].wait = false;
waves[2].color = "whitegreen";
waves[2].aim = "hits";
waves[3] = {};
waves[3].startTime = 200;
waves[3].length = 2800;
waves[3].delay = 25;
waves[3].wait = true;
waves[3].color = "blue";
waves[3].aim = "misses";
waves[4] = {};
waves[4].startTime = 1000;
waves[4].length = 2000;
waves[4].delay = 200;
waves[4].wait = true;
waves[4].color = "darkred";
waves[4].aim = "misses";
}
level[12] = {};
level[12].timeLimit = 1500;
level[12].snakeLength = 15;
level[12].tips = "MISSION 13: Yellow balls briefly cause the goal to glow yellow. While the goal is glowing, the point values of all balls are increased by 100 points. Collecting balls while the goal is glowing will also extend how long it glows, and collecting extra yellow balls increases the bonus. ";
level[12].minScore = 10000;
level[12].waves = new Array();
with (level[12]) {
waves[0] = {};
waves[0].startTime = 15;
waves[0].length = 1400;
waves[0].delay = 90;
waves[0].wait = false;
waves[0].color = "yellow";
waves[0].aim = "random";
waves[1] = {};
waves[1].startTime = 30;
waves[1].length = 1450;
waves[1].delay = 15;
waves[1].wait = false;
waves[1].color = "green";
waves[1].aim = "misses";
}
level[13] = {};
level[13].timeLimit = 1500;
level[13].snakeLength = 20;
level[13].tips = "MISSION 14: Yellow balls and gray balls. Keep the fire burning!";
level[13].minScore = 10000;
level[13].waves = new Array();
with (level[13]) {
waves[0] = {};
waves[0].startTime = 15;
waves[0].length = 1400;
waves[0].delay = 86;
waves[0].wait = false;
waves[0].color = "yellow";
waves[0].aim = "hits";
waves[1] = {};
waves[1].startTime = 30;
waves[1].length = 1450;
waves[1].delay = 13;
waves[1].wait = false;
waves[1].color = "gray";
waves[1].aim = "misses";
}
level[14] = {};
level[14].timeLimit = 3000;
level[14].snakeLength = 15;
level[14].tips = "MISSION 15: You'll need to use the blue balls again in this level.";
level[14].minScore = 18000;
level[14].waves = new Array();
with (level[14]) {
waves[0] = {};
waves[0].startTime = 15;
waves[0].length = 2480;
waves[0].delay = 9;
waves[0].wait = false;
waves[0].color = "darkred";
waves[0].aim = "hits";
waves[1] = {};
waves[1].startTime = 30;
waves[1].length = 2460;
waves[1].delay = 0;
waves[1].wait = true;
waves[1].color = "blue";
waves[1].aim = "misses";
waves[2] = {};
waves[2].startTime = 300;
waves[2].length = 2200;
waves[2].delay = 300;
waves[2].wait = true;
waves[2].color = "whitegreen";
waves[2].aim = "hits";
waves[3] = {};
waves[3].startTime = 2550;
waves[3].length = 450;
waves[3].delay = 7;
waves[3].wait = false;
waves[3].color = "green";
waves[3].aim = "misses";
}
level[15] = {};
level[15].timeLimit = "inf";
level[15].snakeLength = 19;
level[15].tips = "MISSION 16: This mission has no time limit. However, the higher your yellow bonus is, the less time you have to keep a chain reaction going. Find the right balance for you, and then see if you can multiply the entire bonus by 3 with a pink ball.";
level[15].minScore = 10500;
level[15].numWaves = 15;
level[15].waves = new Array();
with (level[15]) {
waves[0] = {};
waves[0].startTime = 800;
waves[0].length = "inf";
waves[0].delay = 250;
waves[0].wait = true;
waves[0].color = "yellow";
waves[0].aim = "hits";
waves[1] = {};
waves[1].startTime = 300;
waves[1].length = "inf";
waves[1].delay = 200;
waves[1].wait = true;
waves[1].color = "pink";
waves[1].aim = "misses";
waves[2] = {};
waves[2].startTime = 10;
waves[2].length = "inf";
waves[2].delay = 9;
waves[2].wait = true;
waves[2].color = "yellow";
waves[2].aim = "misses";
waves[3] = {};
waves[3].startTime = 15;
waves[3].length = "inf";
waves[3].delay = 12;
waves[3].wait = true;
waves[3].color = "green";
waves[3].aim = "misses";
waves[4] = {};
waves[4].startTime = 20;
waves[4].length = "inf";
waves[4].delay = 18;
waves[4].wait = true;
waves[4].color = "green";
waves[4].aim = "misses";
waves[5] = {};
waves[5].startTime = 25;
waves[5].length = "inf";
waves[5].delay = 24;
waves[5].wait = true;
waves[5].color = "green";
waves[5].aim = "misses";
waves[6] = {};
waves[6].startTime = 30;
waves[6].length = "inf";
waves[6].delay = 29;
waves[6].wait = true;
waves[6].color = "green";
waves[6].aim = "misses";
waves[7] = {};
waves[7].startTime = 35;
waves[7].length = "inf";
waves[7].delay = 34;
waves[7].wait = true;
waves[7].color = "green";
waves[7].aim = "misses";
waves[8] = {};
waves[8].startTime = 15;
waves[8].length = "inf";
waves[8].delay = 16;
waves[8].wait = true;
waves[8].color = "red";
waves[8].aim = "random";
waves[9] = {};
waves[9].startTime = 20;
waves[9].length = "inf";
waves[9].delay = 20;
waves[9].wait = true;
waves[9].color = "yellow";
waves[9].aim = "random";
waves[10] = {};
waves[10].startTime = 25;
waves[10].length = "inf";
waves[10].delay = 24;
waves[10].wait = true;
waves[10].color = "red";
waves[10].aim = "random";
waves[11] = {};
waves[11].startTime = 30;
waves[11].length = "inf";
waves[11].delay = 28;
waves[11].wait = true;
waves[11].color = "red";
waves[11].aim = "random";
waves[12] = {};
waves[12].startTime = 35;
waves[12].length = "inf";
waves[12].delay = 32;
waves[12].wait = true;
waves[12].color = "yellow";
waves[12].aim = "random";
waves[13] = {};
waves[13].startTime = 40;
waves[13].length = "inf";
waves[13].delay = 36;
waves[13].wait = true;
waves[13].color = "green";
waves[13].aim = "misses";
waves[14] = {};
waves[14].startTime = 50;
waves[14].length = "inf";
waves[14].delay = 50;
waves[14].wait = true;
waves[14].color = "yellow";
waves[14].aim = "misses";
}
level[16] = {};
level[16].timeLimit = 1500;
level[16].snakeLength = 30;
level[16].tips = "MISSION 17: Try to unwind your snake, or else the balls will keep hitting your knots.";
level[16].minScore = 6600;
level[16].waves = new Array();
with (level[16]) {
waves[0] = {};
waves[0].startTime = 30;
waves[0].length = 1550;
waves[0].delay = 30;
waves[0].wait = false;
waves[0].color = "green";
waves[0].aim = "misses";
waves[1] = {};
waves[1].startTime = 30;
waves[1].length = 1530;
waves[1].delay = 40;
waves[1].wait = false;
waves[1].color = "red";
waves[1].aim = "misses";
waves[2] = {};
waves[2].startTime = 100;
waves[2].length = 1300;
waves[2].delay = 150;
waves[2].wait = false;
waves[2].color = "darkred";
waves[2].aim = "misses";
waves[3] = {};
waves[3].startTime = 400;
waves[3].length = 800;
waves[3].delay = 0;
waves[3].wait = true;
waves[3].color = "pink";
waves[3].aim = "hits";
}
level[17] = {};
level[17].timeLimit = 1200;
level[17].snakeLength = 20;
level[17].tips = "MISSION 18: White balls are a clean 1000 points. They have no insanity effects, and they have no confusing requirements or bonuses. The only problem is that they're a pain to control.";
level[17].minScore = 27000;
level[17].waves = new Array();
with (level[17]) {
waves[0] = {};
waves[0].startTime = 10;
waves[0].length = 1160;
waves[0].delay = 14;
waves[0].wait = false;
waves[0].color = "white";
waves[0].aim = "hits";
}
level[18] = {};
level[18].timeLimit = 1600;
level[18].snakeLength = 20;
level[18].tips = "MISSION 19: What are pink balls good for? They certainly don't help you deal with with gray balls. ";
level[18].minScore = 19000;
level[18].waves = new Array();
with (level[18]) {
waves[0] = {};
waves[0].startTime = 30;
waves[0].length = 1560;
waves[0].delay = 150;
waves[0].wait = false;
waves[0].color = "white";
waves[0].aim = "hits";
waves[1] = {};
waves[1].startTime = 10;
waves[1].length = 1560;
waves[1].delay = 20;
waves[1].wait = true;
waves[1].color = "gray";
waves[1].aim = "hits";
waves[2] = {};
waves[2].startTime = 15;
waves[2].length = 1560;
waves[2].delay = 0;
waves[2].wait = true;
waves[2].color = "pink";
waves[2].aim = "hits";
waves[3] = {};
waves[3].startTime = 15;
waves[3].length = 1560;
waves[3].delay = 50;
waves[3].wait = false;
waves[3].color = "green";
waves[3].aim = "misses";
}
level[19] = {};
level[19].timeLimit = "inf";
level[19].snakeLength = 20;
level[19].tips = "MISSION 20: Again, this level has no time limit. ";
level[19].minScore = 13254;
level[19].waves = new Array();
with (level[19]) {
waves[0] = {};
waves[0].startTime = 10;
waves[0].length = "inf";
waves[0].delay = 5;
waves[0].wait = true;
waves[0].color = "whitegreen";
waves[0].aim = "hits";
waves[1] = {};
waves[1].startTime = 18;
waves[1].length = "inf";
waves[1].delay = 15;
waves[1].wait = true;
waves[1].color = "whitegreen";
waves[1].aim = "hits";
waves[2] = {};
waves[2].startTime = 25;
waves[2].length = "inf";
waves[2].delay = 25;
waves[2].wait = true;
waves[2].color = "whitegreen";
waves[2].aim = "hits";
waves[3] = {};
waves[3].startTime = 100;
waves[3].length = "inf";
waves[3].delay = 65;
waves[3].wait = true;
waves[3].color = "white";
waves[3].aim = "hits";
waves[4] = {};
waves[4].startTime = 50;
waves[4].length = "inf";
waves[4].delay = 55;
waves[4].wait = true;
waves[4].color = "darkred";
waves[4].aim = "misses";
waves[5] = {};
waves[5].startTime = 10;
waves[5].length = "inf";
waves[5].delay = 15;
waves[5].wait = true;
waves[5].color = "pink";
waves[5].aim = "hits";
}
level[20] = {};
level[20].timeLimit = 1100;
level[20].snakeLength = 25;
level[20].tips = "MISSION 21: These balls are all aimed at the hole, and you don't have to worry... except the balls don't quite travel fast enough on their own. New balls won't appear in this level until you clear out the balls that are already there, so give those balls a good push to keep them coming.";
level[20].minScore = 10000;
level[20].waves = new Array();
with (level[20]) {
waves[0] = {};
waves[0].startTime = 10;
waves[0].length = 1090;
waves[0].delay = 0;
waves[0].wait = true;
waves[0].color = "green";
waves[0].aim = "hits";
waves[1] = {};
waves[1].startTime = 11;
waves[1].length = 1080;
waves[1].delay = 0;
waves[1].wait = true;
waves[1].color = "green";
waves[1].aim = "hits";
waves[2] = {};
waves[2].startTime = 12;
waves[2].length = 1070;
waves[2].delay = 0;
waves[2].wait = true;
waves[2].color = "green";
waves[2].aim = "hits";
waves[3] = {};
waves[3].startTime = 13;
waves[3].length = 1070;
waves[3].delay = 0;
waves[3].wait = true;
waves[3].color = "blue";
waves[3].aim = "hits";
waves[4] = {};
waves[4].startTime = 14;
waves[4].length = 1060;
waves[4].delay = 0;
waves[4].wait = true;
waves[4].color = "blue";
waves[4].aim = "hits";
waves[5] = {};
waves[5].startTime = 15;
waves[5].length = 1050;
waves[5].delay = 0;
waves[5].wait = true;
waves[5].color = "blue";
waves[5].aim = "hits";
waves[6] = {};
waves[6].startTime = 16;
waves[6].length = 1050;
waves[6].delay = 0;
waves[6].wait = true;
waves[6].color = "blue";
waves[6].aim = "hits";
waves[7] = {};
waves[7].startTime = 17;
waves[7].length = 1050;
waves[7].delay = 0;
waves[7].wait = true;
waves[7].color = "blue";
waves[7].aim = "hits";
}
level[21] = {};
level[21].timeLimit = 750;
level[21].snakeLength = 20;
level[21].tips = "MISSION 22: This level just has 30 green balls. The catch: you can't miss a single one. Remember that you can press the spacebar to start over if you screw up.";
level[21].minScore = 3000;
level[21].waves = new Array();
with (level[21]) {
waves[0] = {};
waves[0].startTime = 20;
waves[0].length = 750;
waves[0].delay = 24;
waves[0].wait = false;
waves[0].color = "green";
waves[0].aim = "misses";
}
level[22] = {};
level[22].timeLimit = 5400;
level[22].snakeLength = 20;
level[22].tips = "MISSION 23: Have fun.";
level[22].minScore = 54321;
level[22].waves = new Array();
with (level[22]) {
waves[0] = {};
waves[0].startTime = 0;
waves[0].length = 5300;
waves[0].delay = 34;
waves[0].wait = false;
waves[0].color = "green";
waves[0].aim = "misses";
waves[1] = {};
waves[1].startTime = 0;
waves[1].length = 5300;
waves[1].delay = 35;
waves[1].wait = false;
waves[1].color = "red";
waves[1].aim = "misses";
waves[2] = {};
waves[2].startTime = 800;
waves[2].length = 4500;
waves[2].delay = 258;
waves[2].wait = true;
waves[2].color = "whitegreen";
waves[2].aim = "hits";
waves[3] = {};
waves[3].startTime = 200;
waves[3].length = 5100;
waves[3].delay = 44;
waves[3].wait = true;
waves[3].color = "blue";
waves[3].aim = "misses";
waves[4] = {};
waves[4].startTime = 1000;
waves[4].length = 4300;
waves[4].delay = 300;
waves[4].wait = true;
waves[4].color = "red";
waves[4].aim = "hits";
waves[5] = {};
waves[5].startTime = 300;
waves[5].length = 5000;
waves[5].delay = 205;
waves[5].wait = false;
waves[5].color = "darkred";
waves[5].aim = "misses";
}
_global.ln = 0;
_global.pause = false;
_global.scores = new Array();
_global.progress = level.length;
_global.state = "title";
_root.createEmptyMovieClip("track1_mv", _root.getNextHighestDepth());
_root.track1 = new Sound(track1_mv);
_root.track1.attachSound("snake_sane.mp3");
_root.track1.start(0, 999999);
_root.track1.setVolume(100);
_root.createEmptyMovieClip("track2_mv", _root.getNextHighestDepth());
_root.track2 = new Sound(track2_mv);
_root.track2.attachSound("snake_insane.mp3");
_root.track2.start(0, 999999);
_root.track2.setVolume(0);
_root.createEmptyMovieClip("track3_mv", _root.getNextHighestDepth());
_root.track3 = new Sound(track3_mv);
_root.track3.attachSound("snake_melody.mp3");
_root.track3.start(0, 999999);
_root.track3.setVolume(0);
myLocalSO = SharedObject.getLocal("snakeballdata_version_0_5");
if (myLocalSO.data.progress != null) {
progress = myLocalSO.data.progress;
ln = myLocalSO.data.ln;
i = 0;
while (i < level.length) {
scores[i] = myLocalSO.data.scores[i];
i++;
}
} else {
progress = 8;
ln = 0;
myLocalSO.data.ln = 0;
myLocalSO.data.progress = 8;
myLocalSO.data.scores = new Array();
i = 0;
while (i < level.length) {
scores[i] = 0;
myLocalSO.data.scores[i] = 0;
i++;
}
}
var KeyListener = {};
KeyListener.onKeyDown = function () {
if (Key.isDown(32)) {
if ((state != "menu") || (ln <= progress)) {
play();
}
}
if (Key.isDown(9)) {
pause = !pause;
}
if (Key.isDown(37) && (state == "menu")) {
if (ln > 0) {
ln--;
}
if (ln > progress) {
locked1._visible = true;
} else {
locked1._visible = false;
}
}
if (Key.isDown(39) && (state == "menu")) {
if (ln < (level.length - 1)) {
ln++;
}
if (ln > progress) {
locked1._visible = true;
} else {
locked1._visible = false;
}
}
};
Key.addListener(KeyListener);
Frame 31
state = "menu";
stop();
if (ln > progress) {
locked1._visible = true;
} else {
locked1._visible = false;
}
empty1.onEnterFrame = function () {
intro = level[ln].tips;
scoredisplay = (("Minimum Score: " + level[ln].minScore) + "\rHigh Score: ") + scores[ln];
};
Frame 32
state = "transition";
Frame 46
stop();
state = "game";
pause = false;
var snakeLength = level[ln].snakeLength;
var snake = new Array();
var snake2 = new Array();
var snake3 = new Array();
var wave = new Array();
var increment = 0;
var insanity = 0;
var bonus = 0;
var mdown = false;
var multiplier = 0;
var scorefuse = 0;
var currentscore = 0;
var pinkEffect = false;
var ballCount = 0;
var top = 50;
var bottom = 450;
var left = 50;
var right = 600;
var middleX = 325;
var middleY = 250;
var won = 0;
jove_sprite.gotoAndStop(1);
var comboTimer = 0;
pause1._visible = false;
wingraphic2._visible = false;
multiplier = 1;
_global.points = 0;
var goal = {};
goal._x = 275;
goal._y = 200;
var mouseLoc = {};
var reflect = function (a, b) {
var _local3 = Math.cos(a);
var _local2 = Math.sin(a);
var _local4 = (_local3 * Math.cos(2 * b)) + (_local2 * Math.sin(2 * b));
var _local5 = (_local3 * Math.sin(2 * b)) - (_local2 * Math.cos(2 * b));
return(Math.atan2(_local5, _local4));
};
var distance = function (a, b) {
var _local2 = a._x - b._x;
var _local1 = a._y - b._y;
return(Math.sqrt((_local2 * _local2) + (_local1 * _local1)));
};
var minDistance = function (a, b, c) {
var _local2 = a._x - b._x;
if ((_local2 > c) || ((-_local2) > c)) {
return(false);
}
var _local1 = a._y - b._y;
if ((_local1 > c) || ((-_local1) > c)) {
return(false);
}
return(Math.sqrt((_local2 * _local2) + (_local1 * _local1)) < c);
};
var i = 0;
while (i < snakeLength) {
snake2[i] = empty1.attachMovie("ball2", "ball2" + i, empty1.getNextHighestDepth());
snake2[i]._x = 275;
snake2[i]._y = 200;
snake2[i].a = 0;
i++;
}
snake[0] = empty2.attachMovie("snakehead", "ball0", empty1.getNextHighestDepth());
snake[0]._x = 275;
snake[0]._y = 200;
snake[0].a = 0;
snake[0]._height = 18;
var i = 1;
while (i < snakeLength) {
snake[i] = empty2.attachMovie("ball", "ball" + i, empty2.getNextHighestDepth());
snake[i]._x = 275;
snake[i]._y = 200;
snake[i].a = 0;
snake[i]._height = 18 - (i / 2.5);
i++;
}
var i = 0;
while (i < snakeLength) {
snake3[i] = empty2.attachMovie("ball_shiny", "ball_shiny" + i, empty2.getNextHighestDepth());
snake3[i]._x = 275;
snake3[i]._y = 200;
snake3[i].a = 0;
snake3[i]._height = 18 - (i / 2.5);
i++;
}
var i = 0;
while (i < level[ln].waves.length) {
wave[i] = {};
wave[i].startTime = level[ln].waves[i].startTime;
wave[i].length = level[ln].waves[i].length;
wave[i].delay = 0;
wave[i].wait = level[ln].waves[i].wait;
wave[i].color = level[ln].waves[i].color;
wave[i].aim = level[ln].waves[i].aim;
i++;
}
fallingBallAct = function () {
if (!pause) {
this.timer--;
this._x = this._x + (Math.cos(this.a) * this.v);
this._y = this._y + (Math.sin(this.a) * this.v);
this.v = this.v * 0.85;
this._width = this._width * 0.75;
this._height = this._height * 0.75;
if (this.timer == 0) {
ballCount--;
this.removeMovieClip();
}
}
};
showScore = function (x, y, text, color) {
it = empty2.attachMovie("text", ("scoreincrement" + x) + y, empty2.getNextHighestDepth());
it.asdf.text = text;
it._x = x;
it._y = y;
it.a = Math.atan2(it._y - 200, it._x - 275);
it.timer = 36;
it._width = 125 + (text * 0.22);
it._height = 17 + (text * 0.028);
it.onEnterFrame = function () {
if (!pause) {
this._x = this._x + (Math.cos(this.a) * 0.4);
this._y = this._y + (Math.sin(this.a) * 0.4);
this.timer--;
if (this.timer <= 0) {
this.removeMovieClip();
}
}
};
};
standardBallAct = function () {
if (!pause) {
var _local3 = true;
this._x = this._x + (Math.cos(this.a) * this.v);
this._y = this._y + (Math.sin(this.a) * this.v);
this.a = this.a + this.da;
this.v = this.v + this.dv;
if (minDistance(this, snake[0], 26)) {
head_x = snake[0]._x - (Math.cos(snake[0].a) * 28);
head_y = snake[0]._y - (Math.sin(snake[0].a) * 28);
this.a = Math.atan2(this._y - head_y, this._x - head_x);
this.v = (this.v + 4) / 1.6;
a = this.a;
while (minDistance(this, snake[0], 24)) {
this._x = this._x + (Math.cos(a) * 1);
this._y = this._y + (Math.sin(a) * 1);
}
}
var _local2 = 1;
while (_local2 < snakeLength) {
if (minDistance(this, snake[_local2], 19)) {
dis = distance(this, snake[_local2]);
a = Math.atan2(this._y - snake[_local2]._y, this._x - snake[_local2]._x);
b = snake[_local2].a - a;
while (b < -3.14159265358979) {
b = b + (Math.PI*2);
}
while (b > Math.PI) {
b = b - (Math.PI*2);
}
if (b < 0) {
a = snake[_local2].a + (Math.PI/2);
} else {
a = snake[_local2].a - (Math.PI/2);
}
c = this.a - a;
while (c < -3.14159265358979) {
c = c + (Math.PI*2);
}
while (c > Math.PI) {
c = c - (Math.PI*2);
}
if ((c < -1.5707963267949) || (c > (Math.PI/2))) {
a = reflect(this.a, snake[_local2].a);
} else {
snake[_local2]._x = snake[_local2]._x - (Math.cos(a) * (18 - dis));
snake[_local2]._y = snake[_local2]._y - (Math.sin(a) * (18 - dis));
while (minDistance(this, snake[_local2], 19)) {
this._x = this._x + (Math.cos(a) * 1);
this._y = this._y + (Math.sin(a) * 1);
}
}
this.a = a;
this.v = (this.v + 1) / 1.1;
}
_local2++;
}
if (this._x < 0) {
_local3 = false;
} else if (this._x > 550) {
_local3 = false;
} else if (this._y < 0) {
_local3 = false;
} else if (this._y > 400) {
_local3 = false;
} else if (minDistance(this, goal, 40)) {
if (comboTimer <= 0) {
multiplier = 0;
}
var _local4 = ((this.points + (this.insanePoints * insanity)) + bonus) + multiplier;
if (pinkeffect) {
_local4 = _local4 * 3;
}
points = points + _local4;
insanity = insanity + this.ds;
if (insanity < 0) {
insanity = 0;
}
if (insanity > 100) {
insanity = 100;
}
showScore(this._x, this._y, _local4, wave[this.wave].color);
multiplier = multiplier + this.combo;
if (multiplier > 1000) {
multiplier = 1000;
}
if (this.pinkeffect) {
jove_sprite.gotoAndStop(55);
} else {
jove_sprite.gotoAndPlay(1 + Math.round(((multiplier / 40) * 100) / 100));
}
comboTimer = 50 - (multiplier / 40);
bonus = bonus + this.bonus;
pinkeffect = this.pinkeffect;
this.v = this.v * 0.8;
if (this.v < 0) {
this.v = this.v * -1;
}
this.a = Math.atan2((-this._y) + 200, (-this._x) + 275);
this.onEnterFrame = fallingBallAct;
this.timer = 20;
if (wave[this.wave].wait == true) {
wave[this.wave].delay = level[ln].waves[this.wave].delay;
}
}
if (_local3 == false) {
ballCount--;
if (wave[this.wave].wait == true) {
wave[this.wave].delay = level[ln].waves[this.wave].delay;
}
this.removeMovieClip();
}
}
};
makeBall = function (color, aim, parentWave) {
var _local1 = empty1.attachMovie(color, "a", empty1.getNextHighestDepth());
if (aim == "hits") {
if (Math.random() < 0.6) {
_local1._x = 50 + (Math.random() * 450);
if (Math.random() < 0.5) {
_local1._y = 0;
} else {
_local1._y = 400;
}
} else {
_local1._y = 50 + (Math.random() * 300);
if (Math.random() < 0.5) {
_local1._x = 0;
} else {
_local1._x = 550;
}
}
var _local3 = (Math.random() * 2) * Math.PI;
var _local5 = 275 + (30 * Math.cos(_local3));
var _local4 = 200 + (30 * Math.sin(_local3));
_local1.a = Math.atan2(_local4 - _local1._y, _local5 - _local1._x);
} else if (aim == "misses") {
if (Math.random() < 0.6) {
_local1._x = 50 + (Math.random() * 450);
if (Math.random() < 0.5) {
_local1._y = 0;
} else {
_local1._y = 400;
}
} else {
_local1._y = 50 + (Math.random() * 300);
if (Math.random() < 0.5) {
_local1._x = 0;
} else {
_local1._x = 550;
}
}
_local1.a = Math.atan2(200 - _local1._y, 275 - _local1._x);
if (Math.random() < 0.5) {
_local1.a = _local1.a + (0.275 + (Math.random() * 0.425));
} else {
_local1.a = _local1.a - (0.275 + (Math.random() * 0.425));
}
} else {
if (Math.random() < 0.6) {
_local1._x = 50 + (Math.random() * 450);
if (Math.random() < 0.5) {
_local1._y = 0;
} else {
_local1._y = 400;
}
} else {
_local1._y = 50 + (Math.random() * 300);
if (Math.random() < 0.5) {
_local1._x = 0;
} else {
_local1._x = 550;
}
}
_local1.a = Math.atan2(200 - _local1._y, 275 - _local1._x);
if (Math.random() < 0.5) {
_local1.a = _local1.a + (Math.random() * 0.7);
} else {
_local1.a = _local1.a - (Math.random() * 0.7);
}
}
if (color == "red") {
_local1.points = 200;
_local1.insanePoints = 0;
_local1.ds = 14;
_local1.v = 2;
_local1.dv = 0;
_local1.da = 0;
_local1.bonus = 0;
_local1.combo = 0;
_local1.pinkeffect = false;
} else if (color == "green") {
_local1.points = 100;
_local1.insanePoints = 0;
_local1.ds = -10;
_local1.v = 2;
_local1.dv = 0;
_local1.da = 0;
_local1.bonus = 0;
_local1.combo = 0;
_local1.pinkeffect = false;
} else if (color == "blue") {
_local1.points = 0;
_local1.insanePoints = 0;
_local1.ds = 0;
_local1.v = 1.4;
_local1.dv = 0;
_local1.da = 0;
_local1.bonus = 5;
_local1.combo = 0;
_local1.pinkeffect = false;
} else if (color == "whitegreen") {
_local1.points = 100;
_local1.insanePoints = 19;
_local1.ds = -100;
_local1.v = 3.5;
_local1.dv = 0;
_local1.da = -0.034;
_local1.a = _local1.a + 0.2;
_local1.bonus = 0;
_local1.combo = 0;
_local1.pinkeffect = false;
} else if (color == "darkred") {
_local1.points = 0;
_local1.insanePoints = 0;
_local1.ds = 100;
_local1.v = 4;
_local1.dv = 0;
_local1.da = 0;
_local1.bonus = 0;
_local1.combo = 0;
_local1.pinkeffect = false;
} else if (color == "yellow") {
_local1.points = 100;
_local1.insanePoints = 0;
_local1.ds = 0;
_local1.v = 2;
_local1.dv = 0;
_local1.da = 0;
_local1.bonus = 0;
_local1.combo = 100;
_local1.pinkeffect = false;
} else if (color == "pink") {
_local1.points = 0;
_local1.insanePoints = 0;
_local1.ds = 0;
_local1.v = 6;
_local1.dv = -0.2;
_local1.da = 0;
_local1.bonus = 0;
_local1.combo = 0;
_local1.pinkeffect = true;
} else if (color == "gray") {
_local1.points = 0;
_local1.insanePoints = 0;
_local1.ds = 0;
_local1.v = 3;
_local1.dv = 0;
_local1.da = 0;
_local1.bonus = 0;
_local1.combo = 0;
_local1.pinkeffect = false;
} else if (color == "white") {
_local1.points = 1000;
_local1.insanePoints = 0;
_local1.ds = 0;
_local1.v = 9;
_local1.dv = -0.18;
_local1.da = 0.11;
_local1.a = _local1.a - 0.5;
_local1.bonus = 0;
_local1.combo = 0;
_local1.pinkeffect = false;
}
_local1.wave = parentWave;
_local1.onEnterFrame = standardBallAct;
ballCount++;
};
empty1.onEnterFrame = function () {
if (!pause) {
x = ((points / level[ln].minScore) * 250) - 150;
if (x < 0) {
x = 0;
}
if (x > 100) {
x = 100;
}
y = (insanity * 0.75) - (x * 0.15);
if (y < 0) {
y = 0;
}
_root.track1.setVolume((100 - (insanity * 0.3)) - (x * 0.3));
_root.track2.setVolume(y);
y = (x * 0.75) - (insanity * 0.15);
if (y < 0) {
y = 0;
}
_root.track3.setVolume((x * 0.75) - (insanity * 0.15));
insanitybar._width = insanity * 1.2;
if (comboTimer > 0) {
comboTimer--;
}
x = (points / level[ln].minScore) * 120;
scorebar._width = x;
x = (scores[ln] / level[ln].minScore) * 120;
if (x < 120) {
x = 120;
}
scorebacking._width = x;
scoreshiny._width = x;
if (points > scores[ln]) {
scores[ln] = Math.round((points * 100) / 100);
}
if (level[ln].timeLimit == "inf") {
mytext = "HIGH SCORE: " + scores[ln];
points = points * 0.9985;
timebar2._visible = false;
} else {
mytext = "POINTS: " + points;
timebar2._visible = true;
x = (increment / level[ln].timeLimit) * 120;
timebar2.progressbar._width = ((x > 120) ? 120 : (x));
}
var _local2 = 0;
while (_local2 < level[ln].waves.length) {
if ((wave[_local2].startTime == 0) && (wave[_local2].length != 0)) {
if (wave[_local2].delay == 0) {
makeBall(wave[_local2].color, wave[_local2].aim, _local2);
if (wave[_local2].wait) {
wave[_local2].delay--;
} else {
wave[_local2].delay = level[ln].waves[_local2].delay;
}
} else {
wave[_local2].delay--;
}
wave[_local2].length--;
} else {
wave[_local2].startTime--;
}
_local2++;
}
mouseLoc._x = _xmouse - left;
mouseLoc._y = _ymouse - top;
var _local4 = 0;
if (!minDistance(mouseLoc, snake[0], 2)) {
var _local3 = Math.atan2(mouseLoc._y - snake[0]._y, mouseLoc._x - snake[0]._x);
_local4 = distance(mouseLoc, snake[0]);
if (_local4 > 60) {
_local4 = 30;
} else {
_local4 = _local4 / 2;
}
if (mdown) {
_local4 = _local4 / 5;
}
snake[0]._x = snake[0]._x + (Math.cos(_local3) * _local4);
snake[0]._y = snake[0]._y + (Math.sin(_local3) * _local4);
snake[0].a = _local3;
snake[0]._rotation = (_local3 * 180) / Math.PI;
if (snake[0]._x < -5) {
snake[0]._x = -5;
}
if (snake[0]._x > 555) {
snake[0]._x = 555;
}
if (snake[0]._y < -5) {
snake[0]._y = -5;
}
if (snake[0]._y > 405) {
snake[0]._y = 405;
}
snake2[0]._x = snake[0]._x;
snake2[0]._y = snake[0]._y;
snake2[0]._rotation = snake[0]._rotation;
}
var _local5 = 0;
if (mdown) {
_local2 = 1;
while (_local2 < snakeLength) {
b = snake[_local2 - 1].a - snake[_local2].a;
if (b < -3.14159265358979) {
b = b + (Math.PI*2);
} else if (b > Math.PI) {
b = b - (Math.PI*2);
}
_local5 = _local5 + b;
_local2++;
}
}
_local2 = 1;
while (_local2 < snakeLength) {
snake[_local2]._x = snake[_local2]._x + (Math.cos(snake[_local2].a) * ((-10 + (insanity * 0.242)) + ((_local4 * insanity) * 0.005)));
snake[_local2]._y = snake[_local2]._y + (Math.sin(snake[_local2].a) * ((-10 + (insanity * 0.242)) + ((_local4 * insanity) * 0.005)));
if (mdown) {
var _local3 = Math.atan2(snake[_local2 - 1]._y - snake[_local2]._y, snake[_local2 - 1]._x - snake[_local2]._x);
b = (snake[_local2 - 1].a - _local3) + ((0.5 + ((_local2 / snakeLength) / 2)) * ((_local5 < 0) ? 1 : -1));
while (b < -3.14159265358979) {
b = b + (Math.PI*2);
}
while (b > Math.PI) {
b = b - (Math.PI*2);
}
_local3 = _local3 + ((((_local2 * (_local2 + 10)) * b) / (1000 + insanity)) * (21 / snakeLength));
} else {
var _local3 = Math.atan2(snake[_local2 - 1]._y - snake[_local2]._y, snake[_local2 - 1]._x - snake[_local2]._x);
}
if (_local2 > 1) {
b = snake[_local2 - 1].a - _local3;
mina = 0.7;
if (((b < (-mina)) && (b > -3.14159265358979)) || ((b < ((Math.PI*2) - mina)) && (b > Math.PI))) {
var _local3 = snake[_local2 - 1].a + mina;
}
if (((b > mina) && (b < Math.PI)) || ((b > (-6.28318530717959 + mina)) && (b < -3.14159265358979))) {
var _local3 = snake[_local2 - 1].a - mina;
}
}
snake[_local2]._x = snake[_local2 - 1]._x - (Math.cos(_local3) * 15);
snake[_local2]._y = snake[_local2 - 1]._y - (Math.sin(_local3) * 15);
snake[_local2].a = Math.atan2(snake[_local2 - 1]._y - snake[_local2]._y, snake[_local2 - 1]._x - snake[_local2]._x);
snake[_local2]._rotation = (_local3 * 180) / Math.PI;
_local2++;
}
_local2 = 0;
while (_local2 < snakeLength) {
snake3[_local2]._x = snake[_local2]._x;
snake3[_local2]._y = snake[_local2]._y;
snake3[_local2]._rotation = snake[_local2]._rotation;
snake2[_local2]._x = snake[_local2]._x;
snake2[_local2]._y = snake[_local2]._y;
snake2[_local2]._rotation = snake[_local2]._rotation;
_local2++;
}
increment++;
if (((level[ln].timeLimit != "inf") && (increment >= level[ln].timeLimit)) && (ballCount == 0)) {
play();
}
pause1._visible = false;
} else {
pause1._visible = true;
}
if (((points >= level[ln].minScore) && (level[ln].timeLimit == "inf")) && (won == 0)) {
wingraphic2._visible = true;
wingraphic2.play();
won++;
}
if (won > 0) {
won++;
if (won >= 105) {
wingraphic2._visible = false;
}
}
};
var MouseListener = {};
MouseListener.onMouseDown = function () {
mdown = true;
};
MouseListener.onMouseUp = function () {
mdown = false;
};
Mouse.addListener(MouseListener);
Frame 47
state = "transition";
myLocalSO.data.scores[ln] = scores[ln];
if (level[ln].timeLimit == "inf") {
mytext2 = "High Score: " + scores[ln];
} else {
mytext2 = "Score: " + points;
}
if ((points >= level[ln].minScore) || ((level[ln].timeLimit == "inf") && (scores[ln] > level[ln].minScore))) {
_root.track1.setVolume(70);
_root.track2.setVolume(0);
_root.track3.setVolume(75);
mytext = "Excellent!";
if (progress == ln) {
progress++;
myLocalSO.data.progress = progress;
}
if ((ln < (level.length - 1)) && (ln < progress)) {
ln++;
myLocalSO.data.ln = ln;
}
halo1._visible = true;
spiral1._visible = true;
} else {
_root.track1.setVolume(100);
_root.track2.setVolume(0);
_root.track3.setVolume(0);
mytext = "";
halo1._visible = false;
spiral1._visible = false;
}
stop();
Frame 61
points = 0;
gotoAndStop (31);
Symbol 25 MovieClip [darkred] Frame 9
Symbol 63 MovieClip [wingraphic2] Frame 1
stop();
Symbol 63 MovieClip [wingraphic2] Frame 106
this.removeMovieClip();
Symbol 84 MovieClip [jove_sprite] Frame 2
stop();
Symbol 84 MovieClip [jove_sprite] Frame 54
gotoAndStop (1);
Symbol 103 Button
on (release) {
play();
}
Symbol 111 MovieClip Frame 1
stop();
Symbol 115 Button
on (release) {
if (ln > 0) {
ln--;
}
if (ln > progress) {
locked1._visible = true;
} else {
locked1._visible = false;
}
}
Symbol 116 Button
on (release) {
if (ln < (level.length - 1)) {
ln++;
}
if (ln > progress) {
locked1._visible = true;
} else {
locked1._visible = false;
}
}
Symbol 117 Button
on (release) {
if (ln <= progress) {
play();
}
}