Frame 2
ifFrameLoaded (15) {
gotoAndStop (4);
}
loaded = int((this.getBytesLoaded() / this.getBytesTotal()) * 100);
loaded = loaded + "%";
Frame 3
gotoAndPlay(_currentframe - 1);
Frame 4
fscommand ("allowscale", "false");
stop();
Frame 5
function playSound() {
effect1.start();
}
function playWind() {
effect2.start();
}
function cheer() {
effect3.start();
}
function bells() {
effect4.start();
}
function swish() {
effect5.setPan(0);
effect5.start();
}
function swishLeft() {
effect5.setPan(-50);
effect5.start();
}
function swishRight() {
effect5.setPan(50);
effect5.start();
}
function pause() {
main.translated_x = 0;
main.translated_z = 0;
main.keyControl.playing = false;
main.keyControl.translateIncr = 0;
main.keyControl.translateIncrFast = 0;
main.keyControl.straffeIncr = 0;
main.keyControl.straffeSlow = 0;
main.keyControl.straffeFast = 0;
}
function disqualify(flagNum) {
miss.miss++;
playSound();
if (miss.miss >= 3) {
pause();
bells();
disqualified.gotoAndPlay(2);
}
}
function levelComplete() {
pause();
cheer();
if (stage < 5) {
gameOver.gotoAndPlay(2);
} else {
endGame.gotoAndPlay(2);
}
}
function outOfTime() {
pause();
playSound();
bells();
timeOut.gotoAndPlay(2);
}
function reStart() {
cheer();
bells();
stageNumber.gotoAndPlay(1);
timeOut.gotoAndStop(1);
gameOver.gotoAndStop(1);
disqualified.gotoAndStop(1);
cover.gotoAndStop(1);
mountains.reset();
ground.reset();
miss.miss = 0;
gotoAndPlay (5);
}
function nextStage() {
stage++;
stageNumber.nextFrame();
stageNumber.play();
cheer();
bells();
timeOut.gotoAndStop(1);
gameOver.gotoAndStop(1);
disqualified.gotoAndStop(1);
cover.gotoAndStop(1);
mountains.reset();
ground.reset();
if (stage == 2) {
mountains.gotoAndStop(2);
ground._y = 184;
} else if (stage == 3) {
mountains.gotoAndStop(3);
ground.gotoAndStop(2);
ground._y = 184;
} else if (stage == 4) {
mountains.gotoAndStop(4);
ground.gotoAndStop(3);
cover.gotoAndStop(2);
} else if (stage == 5) {
mountains.gotoAndStop(5);
ground.gotoAndStop(1);
cover.gotoAndStop(3);
}
miss.miss = 0;
gotoAndPlay (6);
}
_quality = "low";
effect1 = new Sound("gameSound1");
effect1.attachSound("missSound");
effect2 = new Sound("gameSound2");
effect2.attachSound("wind");
effect3 = new Sound("gameSound3");
effect3.attachSound("cheer");
effect4 = new Sound("gameSound4");
effect4.attachSound("cowbells");
effect5 = new Sound("gameSound5");
effect5.attachSound("swish");
stage = 1;
score = 0;
cheer();
bells();
Instance of Symbol 44 MovieClip "mountains" in Frame 5
onClipEvent (load) {
function reset() {
this._x = startX;
this._y = startY;
this.gotoAndStop(1);
}
startX = this._x;
startY = this._y;
}
Instance of Symbol 48 MovieClip "ground" in Frame 5
onClipEvent (load) {
function reset() {
this._rotation = startRotation;
this._y = startY;
this.gotoAndStop(1);
}
startRotation = this._rotation;
startY = this._y;
}
Instance of Symbol 60 MovieClip "miss" in Frame 5
onClipEvent (load) {
miss = 0;
}
Frame 14
stop();
Symbol 17 Button
on (release) {
_root.instructions.gotoAndStop(1);
gotoAndPlay (5);
}
Symbol 21 Button
on (release) {
getURL ("http://www.artifactinteractive.com.au", "_top");
}
Symbol 22 Button
on (release) {
instructions.nextFrame();
instructions.play();
}
Symbol 24 MovieClip Frame 28
stop();
Symbol 37 MovieClip Frame 1
stop();
Symbol 37 MovieClip Frame 10
stop();
Symbol 44 MovieClip Frame 1
stop();
Symbol 48 MovieClip Frame 1
stop();
Symbol 48 MovieClip Frame 2
stop();
Symbol 54 MovieClip Frame 1
stop();
Symbol 54 MovieClip Frame 2
stop();
Symbol 66 Button
on (release, releaseOutside) {
_root.instructions.gotoAndStop(1);
_root.reStart();
}
Symbol 85 MovieClip Frame 21
stop();
Symbol 85 MovieClip Frame 42
stop();
Symbol 85 MovieClip Frame 63
stop();
Symbol 85 MovieClip Frame 84
stop();
Symbol 85 MovieClip Frame 105
stop();
Symbol 91 MovieClip Frame 1
stop();
Symbol 91 MovieClip Frame 10
stop();
Symbol 99 MovieClip Frame 1
stop();
Symbol 114 MovieClip Frame 1
stop();
Symbol 115 MovieClip Frame 1
function track1() {
yctr = 150;
flagRed[1] = 40;
flagBlue[1] = 0;
flagRed[2] = 20;
flagBlue[2] = -20;
flagRed[3] = 80;
flagBlue[3] = 40;
flagRed[4] = -40;
flagBlue[4] = -80;
flagRed[5] = 100;
flagBlue[5] = 60;
flagRed[6] = -80;
flagBlue[6] = -120;
flagRed[7] = 40;
flagBlue[7] = 0;
flagRed[8] = 60;
flagBlue[8] = 20;
flagRed[9] = -50;
flagBlue[9] = -90;
flagRed[10] = 0;
flagBlue[10] = -40;
flagRed[11] = 40;
flagBlue[11] = 0;
flagRed[12] = 60;
flagBlue[12] = 20;
flagRed[13] = -80;
flagBlue[13] = -120;
flagRed[14] = 0;
flagBlue[14] = -40;
flagRed[15] = 40;
flagBlue[15] = 0;
flagRed[16] = 100;
flagBlue[16] = 60;
flagRed[17] = -20;
flagBlue[17] = -60;
flagRed[18] = 120;
flagBlue[18] = 80;
flagRed[19] = -40;
flagBlue[19] = -80;
flagRed[20] = 20;
flagBlue[20] = -20;
flagRed[21] = -50;
flagBlue[21] = -90;
flagRed[22] = 40;
flagBlue[22] = 0;
flagRed[23] = -40;
flagBlue[23] = -80;
flagRed[24] = 100;
flagBlue[24] = 60;
flagRed[25] = 20;
flagBlue[25] = -20;
flagRed[26] = 20;
flagBlue[26] = -20;
}
function track2() {
yctr = 165;
flagRed[1] = 49;
flagBlue[1] = 9;
flagRed[2] = 77;
flagBlue[2] = 37;
flagRed[3] = -42;
flagBlue[3] = -82;
flagRed[4] = -114;
flagBlue[4] = -154;
flagRed[5] = -92;
flagBlue[5] = -132;
flagRed[6] = 94;
flagBlue[6] = 54;
flagRed[7] = -77;
flagBlue[7] = -117;
flagRed[8] = -78;
flagBlue[8] = -118;
flagRed[9] = 93;
flagBlue[9] = 53;
flagRed[10] = 69;
flagBlue[10] = 29;
flagRed[11] = 146;
flagBlue[11] = 106;
flagRed[12] = -116;
flagBlue[12] = -156;
flagRed[13] = -113;
flagBlue[13] = -153;
flagRed[14] = 62;
flagBlue[14] = 22;
flagRed[15] = -94;
flagBlue[15] = -134;
flagRed[16] = -86;
flagBlue[16] = -126;
flagRed[17] = 88;
flagBlue[17] = 48;
flagRed[18] = 39;
flagBlue[18] = -1;
flagRed[19] = -55;
flagBlue[19] = -95;
flagRed[20] = -6;
flagBlue[20] = -46;
flagRed[21] = 68;
flagBlue[21] = 28;
flagRed[22] = -51;
flagBlue[22] = -91;
flagRed[23] = 81;
flagBlue[23] = 41;
flagRed[24] = -10;
flagBlue[24] = -50;
flagRed[25] = 148;
flagBlue[25] = 108;
flagRed[26] = 117;
flagBlue[26] = 77;
}
function track3() {
yctr = 165;
flagRed[1] = -4;
flagBlue[1] = -44;
flagRed[2] = 119;
flagBlue[2] = 79;
flagRed[3] = -65;
flagBlue[3] = -105;
flagRed[4] = -2;
flagBlue[4] = -42;
flagRed[5] = 24;
flagBlue[5] = -16;
flagRed[6] = 61;
flagBlue[6] = 21;
flagRed[7] = 146;
flagBlue[7] = 106;
flagRed[8] = -97;
flagBlue[8] = -137;
flagRed[9] = -61;
flagBlue[9] = -101;
flagRed[10] = -103;
flagBlue[10] = -143;
flagRed[11] = 132;
flagBlue[11] = 92;
flagRed[12] = -6;
flagBlue[12] = -46;
flagRed[13] = 112;
flagBlue[13] = 72;
flagRed[14] = 142;
flagBlue[14] = 102;
flagRed[15] = -82;
flagBlue[15] = -122;
flagRed[16] = -102;
flagBlue[16] = -142;
flagRed[17] = 34;
flagBlue[17] = -6;
flagRed[18] = -112;
flagBlue[18] = -152;
flagRed[19] = -34;
flagBlue[19] = -74;
flagRed[20] = -91;
flagBlue[20] = -131;
flagRed[21] = -4;
flagBlue[21] = -44;
flagRed[22] = 42;
flagBlue[22] = 2;
flagRed[23] = 158;
flagBlue[23] = 118;
flagRed[24] = 123;
flagBlue[24] = 83;
flagRed[25] = 54;
flagBlue[25] = 14;
flagRed[26] = 33;
flagBlue[26] = -7;
}
function track4() {
yctr = 150;
flagRed[1] = 61;
flagBlue[1] = 21;
flagRed[2] = -55;
flagBlue[2] = -95;
flagRed[3] = 66;
flagBlue[3] = 26;
flagRed[4] = -48;
flagBlue[4] = -88;
flagRed[5] = -36;
flagBlue[5] = -76;
flagRed[6] = -53;
flagBlue[6] = -93;
flagRed[7] = 19;
flagBlue[7] = -21;
flagRed[8] = -44;
flagBlue[8] = -84;
flagRed[9] = 82;
flagBlue[9] = 42;
flagRed[10] = 16;
flagBlue[10] = -24;
flagRed[11] = 70;
flagBlue[11] = 30;
flagRed[12] = -58;
flagBlue[12] = -98;
flagRed[13] = -9;
flagBlue[13] = -49;
flagRed[14] = -16;
flagBlue[14] = -56;
flagRed[15] = 13;
flagBlue[15] = -27;
flagRed[16] = -40;
flagBlue[16] = -80;
flagRed[17] = 58;
flagBlue[17] = 18;
flagRed[18] = 70;
flagBlue[18] = 30;
flagRed[19] = -40;
flagBlue[19] = -80;
flagRed[20] = -6;
flagBlue[20] = -46;
flagRed[21] = 41;
flagBlue[21] = 1;
flagRed[22] = 87;
flagBlue[22] = 47;
flagRed[23] = 83;
flagBlue[23] = 43;
flagRed[24] = 92;
flagBlue[24] = 52;
flagRed[25] = -49;
flagBlue[25] = -89;
flagRed[26] = -15;
flagBlue[26] = -55;
}
function track5() {
yctr = 150;
flagRed[1] = 24;
flagBlue[1] = -14;
flagRed[2] = -53;
flagBlue[2] = -93;
flagRed[3] = 81;
flagBlue[3] = 41;
flagRed[4] = -104;
flagBlue[4] = -144;
flagRed[5] = 53;
flagBlue[5] = 13;
flagRed[6] = -39;
flagBlue[6] = -79;
flagRed[7] = 153;
flagBlue[7] = 113;
flagRed[8] = 148;
flagBlue[8] = 108;
flagRed[9] = -45;
flagBlue[9] = -85;
flagRed[10] = 30;
flagBlue[10] = -10;
flagRed[11] = 131;
flagBlue[11] = 91;
flagRed[12] = 40;
flagBlue[12] = 0;
flagRed[13] = -36;
flagBlue[13] = -76;
flagRed[14] = 142;
flagBlue[14] = 102;
flagRed[15] = -18;
flagBlue[15] = -58;
flagRed[16] = 80;
flagBlue[16] = 40;
flagRed[17] = 139;
flagBlue[17] = 99;
flagRed[18] = 147;
flagBlue[18] = 107;
flagRed[19] = -98;
flagBlue[19] = -138;
flagRed[20] = 91;
flagBlue[20] = 51;
flagRed[21] = -11;
flagBlue[21] = -51;
flagRed[22] = 75;
flagBlue[22] = 35;
flagRed[23] = 5;
flagBlue[23] = -35;
flagRed[24] = 113;
flagBlue[24] = 73;
flagRed[25] = 148;
flagBlue[25] = 108;
flagRed[26] = -93;
flagBlue[26] = -133;
}
function sineCosine(rotationInc) {
_root.main.sb = Math.sin(rotationInc * degtorad);
_root.main.cb = Math.cos(rotationInc * degtorad);
}
numFlags = 5;
flagSeperation = 800;
var flagRed = new Array();
var flagBlue = new Array();
if (_root.stage == 1) {
track1();
} else if (_root.stage == 2) {
track2();
} else if (_root.stage == 3) {
track3();
} else if (_root.stage == 4) {
track4();
} else {
track5();
}
var flagCount = 1;
while (numFlags >= flagCount) {
line.duplicateMovieClip("lineRed" + flagCount, flagCount);
objectRef = this["lineRed" + flagCount];
objectRef.x = flagRed[flagCount];
objectRef.z = (flagSeperation * flagCount) + 700;
objectRef.tree1._visible = false;
objectRef.tree2._visible = true;
objectRef.tree3._visible = false;
objectRef.flagNum = flagCount;
objectRef.type = "Red";
line.duplicateMovieClip("lineBlue" + flagCount, flagCount + numFlags);
objectRef = this["lineBlue" + flagCount];
objectRef.x = flagBlue[flagCount];
objectRef.z = (flagSeperation * flagCount) + 700;
objectRef.tree1._visible = true;
objectRef.tree2._visible = false;
objectRef.tree3._visible = false;
objectRef.flagNum = flagCount;
objectRef.type = "Blue";
flagCount++;
}
flagCOuntRed = flagCount;
flagCountBlue = flagCount;
var i = 1;
while (10 >= i) {
j = i + 40;
line.duplicateMovieClip("line" + j, j);
objectRef = this["line" + j];
randomRef = random(2);
objectRef.x = (randomRef * 400) - 200;
objectRef.z = 1600 * i;
objectRef.tree1._visible = false;
objectRef.tree2._visible = false;
objectRef.tree3._visible = true;
i++;
}
rotationInc = 0;
translated_z = 0;
height = 35;
degtorad = (Math.PI/180);
sineCosine(rotationInc);
stop();
Instance of Symbol 94 MovieClip "keyControl" in Symbol 115 MovieClip Frame 1
onClipEvent (load) {
function hitPole() {
_parent.translated_z = -translateIncr;
}
if (_root.stage == 1) {
rotationIncr = 1;
translateIncr = 15;
translateIncrFast = 70;
straffeSlow = 4;
straffeFast = 6;
straffeIncr = straffeSlow;
mountainMoveY = 0.02;
mountainMoveX = 1;
groundRotation = 0.05;
counter = 750;
} else if (_root.stage == 2) {
rotationIncr = 1;
translateIncr = 45;
translateIncrFast = 90;
straffeSlow = 12;
straffeFast = 15;
straffeIncr = straffeSlow;
mountainMoveY = 0.2;
mountainMoveX = 0.01;
groundRotation = 0.05;
counter = 500;
} else if (_root.stage == 3) {
rotationIncr = 1;
translateIncr = 35;
translateIncrFast = 80;
straffeSlow = 10;
straffeFast = 13;
straffeIncr = straffeSlow;
mountainMoveY = 0.1;
mountainMoveX = 1;
groundRotation = 0.05;
counter = 550;
} else if (_root.stage == 4) {
rotationIncr = 1;
translateIncr = 25;
translateIncrFast = 70;
straffeSlow = 8;
straffeFast = 10;
straffeIncr = straffeSlow;
mountainMoveY = 0.1;
mountainMoveX = 1;
groundRotation = 0.05;
counter = 450;
} else if (_root.stage == 5) {
rotationIncr = 1;
translateIncr = 25;
translateIncrFast = 70;
straffeSlow = 8;
straffeFast = 10;
straffeIncr = straffeSlow;
mountainMoveY = 0.1;
mountainMoveX = 1;
groundRotation = 0.05;
counter = 450;
}
_parent.xOffset = 0;
playing = true;
firstkeypress = true;
}
onClipEvent (enterFrame) {
if (random(100) == 5) {
_root.playWind();
}
if (playing) {
counter--;
_root.timer.time = counter;
if (0 >= counter) {
playing = false;
_root.outOfTime();
}
_root.mountains._y = _root.mountains._y - mountainMoveY;
if (Key.isDown(Key.LEFT) and (-6 < _root.ground._rotation)) {
_root.main.translated_x = straffeIncr;
_parent.xOffset = _parent.xOffset + straffeIncr;
_root.mountains._x = _root.mountains._x + mountainMoveX;
_root.ground._rotation = _root.ground._rotation - groundRotation;
_parent.player.gotoAndStop(2);
if (firstkeypress) {
_root.swishLeft();
firstkeypress = false;
}
} else if (Key.isDown(Key.RIGHT) and (_root.ground._rotation < 6)) {
_root.main.translated_x = -straffeIncr;
_parent.xOffset = _parent.xOffset - straffeIncr;
_root.mountains._x = _root.mountains._x - mountainMoveX;
_root.ground._rotation = _root.ground._rotation + groundRotation;
_parent.player.gotoAndStop(3);
if (firstkeypress) {
_root.swishRight();
firstkeypress = false;
}
} else {
_root.main.translated_x = 0;
_parent.player.gotoAndStop(1);
}
if (Key.isDown(Key.UP)) {
straffeIncr = straffeFast;
if ((translateIncrFast * -1) < _parent.translated_z) {
_parent.translated_z = _parent.translated_z - 1;
}
} else {
straffeIncr = straffeSlow;
_parent.translated_z = -translateIncr;
}
}
}
onClipEvent (keyUp) {
if (Key.getCode() == Key.LEFT) {
_parent.translated_x = 0;
firstkeypress = true;
}
if (Key.getCode() == Key.RIGHT) {
_parent.translated_x = 0;
firstkeypress = true;
}
if (Key.getCode() == Key.UP) {
_parent.translated_z = -translateIncr;
straffeIncr = straffeSlow;
}
}
Instance of Symbol 99 MovieClip "line" in Symbol 115 MovieClip Frame 1
onClipEvent (load) {
enabled = true;
flagenabled = true;
if (this._name == "line") {
this._visible = false;
}
d = 600;
behindPoint = -520;
flagPoint = -460;
xctr = 250;
yctr = _parent.yctr;
size = 50;
}
onClipEvent (enterFrame) {
z = z + (_root.main.translated_z - d);
x = x + _root.main.translated_x;
if (z < flagPoint) {
if (flagenabled) {
flagenabled = false;
if (type == "Red") {
if (x < -3) {
_root.disqualify(flagNum);
} else if (x < 5) {
_parent.keyControl.hitPole();
this.gotoAndPlay(2);
}
} else if (type == "Blue") {
if (3 < x) {
_root.disqualify(flagNum);
} else if (-5 < x) {
_parent.keyControl.hitPole();
this.gotoAndPlay(2);
}
}
}
}
if (z < behindPoint) {
if (enabled) {
this.gotoAndStop(1);
if (type == "Red") {
if (x < 0) {
}
_parent.flagCountRed++;
if (_parent.flagCountRed < 26) {
z = _parent.flagSeperation * _parent.numFlags;
x = _parent.flagRed[_parent.flagCountRed] + _parent.xOffset;
flagenabled = true;
} else {
this._visible = false;
enabled = false;
}
} else if (type == "Blue") {
if (0 < x) {
}
_parent.flagCountBlue++;
if (_parent.flagCountBlue < 26) {
z = _parent.flagSeperation * _parent.numFlags;
x = _parent.flagBlue[_parent.flagCountBlue] + _parent.xOffset;
flagenabled = true;
} else {
this._visible = false;
enabled = false;
}
} else {
this._visible = false;
}
}
} else {
pers = d / (z + d);
xp = x * pers;
scale = Math.abs(pers * size);
if ((((xctr + xp) + (scale / 2)) < 0) || (550 < ((xctr + xp) - (scale / 2)))) {
this._visible = false;
} else {
yp = _root.main.height * pers;
this._visible = true;
this._x = xctr + xp;
this._y = yctr + yp;
this._height = (this._width = scale);
if (z != -460) {
this.swapDepths(-z);
}
}
}
z = z + d;
}
Instance of Symbol 103 MovieClip in Symbol 115 MovieClip Frame 1
onClipEvent (load) {
x = 0;
z = 23000;
d = 600;
behindPoint = -500;
xctr = 250;
yctr = _parent.yctr;
dissable = 0;
size = 50;
}
onClipEvent (enterFrame) {
z = z + (_root.main.translated_z - d);
x = x + _root.main.translated_x;
if (z < behindPoint) {
this._visible = false;
if (dissable != 1) {
dissable = 1;
_root.levelComplete();
}
} else {
pers = d / (z + d);
xp = x * pers;
scale = Math.abs(pers * size);
if ((((xctr + xp) + (scale / 2)) < 0) || (550 < ((xctr + xp) - (scale / 2)))) {
this._visible = false;
} else {
yp = _root.main.height * pers;
this._visible = true;
this._x = xctr + xp;
this._y = yctr + yp;
this._height = (this._width = scale);
if (z != -480) {
this.swapDepths(-z);
}
}
}
z = z + d;
}
Instance of Symbol 106 MovieClip in Symbol 115 MovieClip Frame 1
onClipEvent (load) {
x = 0;
z = 400;
d = 600;
behindPoint = -500;
xctr = 250;
yctr = _parent.yctr;
dissable = 0;
size = 50;
}
onClipEvent (enterFrame) {
z = z + (_root.main.translated_z - d);
x = x + _root.main.translated_x;
if (z < behindPoint) {
this._visible = false;
} else {
pers = d / (z + d);
xp = x * pers;
scale = Math.abs(pers * size);
if ((((xctr + xp) + (scale / 2)) < 0) || (550 < ((xctr + xp) - (scale / 2)))) {
this._visible = false;
} else {
yp = _root.main.height * pers;
this._visible = true;
this._x = xctr + xp;
this._y = yctr + yp;
this._height = (this._width = scale);
if (z != -480) {
this.swapDepths(-z);
}
}
}
z = z + d;
}
Instance of Symbol 114 MovieClip "player" in Symbol 115 MovieClip Frame 1
onClipEvent (load) {
this.swapDepths(460);
_parent.playerX = this._x;
}
Symbol 132 Button
on (release, releaseOutside, keyPress "<Enter>") {
_root.reStart();
}
Symbol 133 MovieClip Frame 1
stop();
Symbol 133 MovieClip Frame 36
stop();
Symbol 141 MovieClip Frame 1
stop();
Symbol 141 MovieClip Frame 36
stop();
Symbol 162 Button
on (release, releaseOutside, keyPress "<Enter>") {
_root.nextStage();
}
Symbol 163 MovieClip Frame 1
stop();
Symbol 163 MovieClip Frame 27
_root.score = _root.score + (((_root.main.flagCOuntRed + 5) - _root.miss.miss) * 100);
Symbol 163 MovieClip Frame 28
_root.score = _root.score + (_root.timer.time * 30);
Symbol 163 MovieClip Frame 45
stop();
Symbol 173 MovieClip Frame 1
stop();
Symbol 173 MovieClip Frame 27
_root.score = _root.score + (((_root.main.flagCOuntRed + 5) - _root.miss.miss) * 100);
Symbol 173 MovieClip Frame 28
_root.score = _root.score + (_root.timer.time * 30);
Symbol 173 MovieClip Frame 45
stop();