Frame 1
Object.prototype.gameMC = this;
Object.prototype.containerMC = _parent;
if (containerMC != null) {
containerMC.init();
_root.gDebug = "InContainer\n";
}
gameMC.gLoadInit = false;
gameMC.gGameState = "INIT";
gameMC.gLoadStartTime = 0;
gameMC.gVersionNum = "1.0";
gameMC.gPaused = false;
gameMC.gInitGame = null;
gameMC.min_score = -1;
trace("GameParent: " + _parent);
if (gameMC.gGameID eq "") {
gameMC.gGameID = "hp_galleon";
}
if (gameMC.gHSRoot_swf eq "") {
gameMC.gHSRoot_swf = "/games/med/";
}
if (gameMC.gHSRoot_jsp eq "") {
gameMC.gHSRoot_jsp = "/web/load_variables/games/";
}
if (gameMC.gHSRoot_top100 eq "") {
gameMC.gHSRoot_top100 = "/web/games/";
}
function getScore() {
return(gameMC.gScore);
}
function showDebugWindow() {
gameMC.debug_clip.showDebug();
}
function hideDebugWindow() {
gameMC.debug_clip.hideDebug();
}
function pause() {
gameMC.gPaused = true;
}
function unPause() {
gameMC.gPaused = false;
}
function restart() {
containerMC.resetContainer();
containerMC.init();
gameMC.gScore = 0;
gameMC.gLevel = 1;
}
gameMC.HSLoading = function () {
if (gameMC.gLoadInit != true) {
gameMC.gGameState = "LOADING";
gameMC.gLoadStartTime = int(getTimer() / 1000);
gameMC.gLoadInit = true;
}
};
gameMC.HSLoaded = function () {
tellTarget (gameMC.hs_scripts) {
call("mLoaded");
};
};
gameMC.HSPlay = function () {
tellTarget (gameMC.hs_scripts) {
call("mPlay");
};
};
gameMC.HSLevelStart = function () {
tellTarget (gameMC.hs_scripts) {
call("mLevelStart");
};
};
gameMC.HSGameOver = function () {
gameMC.gScore = Number(_root.gScore);
gameMC.gLevel = Number(_root.gLevel);
gameMC.attachMovie("hs_placeholder", "hs_placeholder", _root.HIGH_SCORE_DIALOG_DEPTH);
if (containerMC != null) {
containerMC.hs_placeholder._x = 25;
containerMC.hs_placeholder._y = 60;
} else {
gameMC.hs_placeholder._x = 25;
gameMC.hs_placeholder._y = 60;
}
tellTarget (gameMC.hs_scripts) {
call("mGameOver");
};
};
function GameBoard() {
this.cols = 8;
this.ballMatrix = new Array();
this.gateDropSpeed = 10;
this.gate = _root.main_mc.gate;
this.gate._y = -349.5;
this.chain = _root.main_mc.chain;
this.roller1 = _root.main_mc.roller1;
this.roller2 = _root.main_mc.roller2;
this.roller3 = _root.main_mc.roller3;
this.roller4 = _root.main_mc.roller4;
this.startXPos = 150;
this.startYPos = this.gate._y + (this.gate._height + 30);
this.ticker = 0;
this.paused = false;
if (_root.gLevel == 1) {
this.startBalls = 23;
this.numberOfGemTypes = 4;
this.moveRate = 144;
} else if (_root.gLevel == 2) {
this.startBalls = 30;
this.numberOfGemTypes = 4;
this.moveRate = 144;
} else if (_root.gLevel == 3) {
this.startBalls = 38;
this.numberOfGemTypes = 5;
this.moveRate = 144;
} else if (_root.gLevel == 4) {
this.startBalls = 45;
this.numberOfGemTypes = 6;
this.moveRate = 144;
} else if (_root.gLevel >= 5) {
this.startBalls = 53;
this.numberOfGemTypes = 7;
this.moveRate = 48;
}
this.ballsShimmering = false;
}
GameBoard.prototype.moveAllBallsDown = function (count) {
this.ticker++;
if (this.ticker >= this.moveRate) {
_root.board.gate._y = _root.board.gate._y + this.gateDropSpeed;
_root.wall_top._y = _root.wall_top._y + this.gateDropSpeed;
var i = 0;
while (i < this.ballMatrix.length) {
this.ballMatrix[i].moveY(1);
this.roller1.gotoAndPlay("roll");
this.roller2.gotoAndPlay("roll");
this.roller3.gotoAndPlay("roll");
this.roller4.gotoAndPlay("roll");
i++;
}
this.ticker = 0;
this.ballsShimmering = false;
var i = 0;
while (i < this.ballMatrix.length) {
this.ballMatrix[i].id.gem.clip.gotoAndPlay("still");
i++;
}
} else if ((!this.ballsShimmering) && (this.ticker >= (this.moveRate * 0.666))) {
this.ballsShimmering = true;
var i = 0;
while (i < this.ballMatrix.length) {
this.ballMatrix[i].id.gem.clip.gotoAndPlay("shimmer");
i++;
}
}
};
GameBoard.prototype.moveAllBallsUp = function (count) {
_root.board.gate._y = _root.board.gate._y - 10;
var i = 0;
while (i < this.ballMatrix.length) {
this.ballMatrix[i].moveY(-1);
this.roller1.gotoAndPlay("unroll");
this.roller2.gotoAndPlay("unroll");
this.roller3.gotoAndPlay("unroll");
this.roller4.gotoAndPlay("unroll");
i++;
}
this.ticker = 0;
};
GameBoard.prototype.checklevelComplete = function () {
if (this.ballMatrix.length == 0) {
this.levelComplete();
} else {
this.checkGameOver();
}
};
GameBoard.prototype.checkGameOver = function () {
i = 0;
while (i < this.ballMatrix.length) {
if (((this.ballMatrix[i].id._y + 15) > 300) && (!this.ballMatrix[i].destroyed)) {
_root.gameOver = true;
this.playGameOver();
}
i++;
}
};
GameBoard.prototype.rebuildMatrix = function () {
var newMatrix = new Array();
var i = 0;
while (i < this.ballMatrix.length) {
if (this.ballMatrix[i].totallyDestroyed) {
this.ballMatrix[i].kill();
} else {
newMatrix.push(this.ballMatrix[i]);
}
i++;
}
this.ballMatrix = newMatrix;
};
GameBoard.prototype.levelComplete = function () {
_root.tracerActivate = false;
_root.tracerPowerUp.destroy();
delete _root.tracerPowerUp;
_root.traceTimer = false;
_root.gotoAndPlay("LevelComplete");
};
GameBoard.prototype.playGameOver = function () {
_root.tracerPowerUp.destroy();
delete _root.tracerPowerUp;
_root.ballHopper.hideMagicBalls();
_root.ballHopper.hideBalls();
Mouse.removeListener(mouseListener);
_root.gotoAndPlay("GameOver");
};
GameBoard.prototype.cleanUpBoard = function () {
var i = 0;
while (i < this.ballMatrix.length) {
this.ballMatrix[i].id._visible = false;
i++;
}
if (_root.shooterBall) {
_root.shooterBall.kill();
_root.shooterBall = null;
}
};
GameBoard.prototype.getRandomBall = function (action) {
var gemIndex = 0;
var gemType = "";
if (action == "random") {
gemIndex = Math.ceil(Math.random() * this.numberOfGemTypes);
switch (gemIndex) {
case 0 :
gemType = "obj_purple";
break;
case 1 :
gemType = "obj_purple";
break;
case 2 :
gemType = "obj_red";
break;
case 3 :
gemType = "obj_silver";
break;
case 4 :
gemType = "obj_blue";
break;
case 5 :
gemType = "obj_bronze";
break;
case 6 :
gemType = "obj_green";
break;
case 7 :
gemType = "obj_gold";
break;
default :
gemType = "na";
}
return(gemType);
}
if (action == "existing") {
var foundArray = this.findExistingGems();
if (foundArray.length > 0) {
gemIndex = Math.floor(Math.random() * foundArray.length);
gemType = foundArray[gemIndex];
} else {
gemType = "na";
}
return(gemType);
}
};
GameBoard.prototype.initializeLevel = function () {
var xPos = this.startXPos;
var yPos = this.startYPos;
var colMgr = this.cols;
var count = this.cols;
var rowbit = 0;
var i = 0;
while (i < this.startBalls) {
new Ball(this.getRandomBall("random"), xPos, yPos, true, 100, 100);
xPos = xPos + 30;
if ((i > 1) && ((i % (count - 1)) == 0)) {
yPos = yPos + 30;
if (colMgr == 7) {
colMgr++;
} else {
colMgr--;
}
count = count + colMgr;
if (colMgr == 7) {
xPos = this.startXpos + 15;
} else {
xPos = this.startXPos;
}
}
i++;
}
this.refreshBallHittingArrays();
};
GameBoard.prototype.refreshBallHittingArrays = function () {
var i = 0;
while (i < this.ballMatrix.length) {
this.ballMatrix[i].refreshHittingArray();
i++;
}
};
GameBoard.prototype.findExistingGems = function () {
var foundGems = new Object();
var foundType = "";
var foundArray = new Array();
var i = 0;
while (i < this.ballMatrix.length) {
if (!this.ballMatrix[i].destroyed) {
foundType = this.ballMatrix[i].clip_type;
foundArray.push(foundType);
}
i++;
}
return(foundArray);
};
function Ball(clip_type, x, y, inMatrix, xScale, yScale) {
this.clip_type = clip_type;
this.initClip(x, y, xScale, yScale);
this.shooting = false;
this.velocity = 20;
this.dropVel = 10;
this.checkSideHit = true;
this.topCheckHit = true;
this.adjusted = false;
this.match_index = 0;
this.matched = false;
this.hitting = new Array();
this.matching = new Array();
if (inMatrix) {
this.addBallToBoard();
}
this.destroyed = false;
this.totallyDestroyed = false;
this.score = 10 * _root.gLevel;
}
Ball.prototype.initClip = function (x, y, xScale, yScale) {
this.clip_depth = _root.ball_clip_depth;
this.name = "ball" + this.clip_depth;
_root.attachMovie("gem_clip", this.name, this.clip_depth);
this.id = _root[this.name];
_root.ball_clip_depth++;
this.id.gotoAndPlay(this.clip_type);
this.id.parent = this;
this.id._x = x;
this.id._y = y;
this.id._xscale = xScale;
this.id._yscale = yScale;
};
Ball.prototype.shoot = function (angle) {
this.shooting = true;
this.angle = angle;
};
Ball.prototype.move = function () {
yspeed = this.velocity * Math.cos(this.angle * (Math.PI/180));
xspeed = this.velocity * Math.sin(this.angle * (Math.PI/180));
this.checkBallCollision();
this.checkWallCollision();
if (this.shooting) {
this.id._y = this.id._y - yspeed;
this.id._x = this.id._x + xspeed;
}
};
Ball.prototype.moveY = function (direction) {
this.id._y = this.id._y + (this.dropVel * direction);
};
Ball.prototype.checkWallCollision = function () {
if (this.checkSideHit) {
if (this.id.hit_target.hitTest(_root.wall_left) || (this.id.hit_target.hitTest(_root.wall_right))) {
this.angle = -this.angle;
this.checkSideHit = false;
}
}
if (this.topCheckHit) {
if (this.id.hit_target.hitTest(_root.wall_top) && (this.clip_type == "pu_key")) {
this.shooting = false;
this.topCheckHit = false;
this.destroy();
_root.board.moveAllBallsUp();
}
if (this.id.hit_target.hitTest(_root.wall_top) && (this.clip_type == "pu_sorting_star")) {
this.shooting = false;
this.topCheckHit = false;
this.destroy();
}
if (this.id.hit_target.hitTest(_root.wall_top) && (this.clip_type == "pu_wild_ball")) {
this.shooting = false;
this.topCheckHit = false;
this.destroy();
}
if (this.id.hit_target.hitTest(_root.wall_top)) {
this.topCheckHit = false;
this.AdjustTopBall();
this.prepCollision();
this.handleBasicCollision();
}
}
};
Ball.prototype.AdjustTopBall = function () {
this.id._y = _root.wall_top._y + 12.7;
if (((this.id._x / 30) - Math.floor(this.id._x / 30)) > 0.5) {
this.id._x = Math.ceil(this.id._x / 30) * 30;
} else {
this.id._x = Math.floor(this.id._x / 30) * 30;
}
var i = 0;
while (i < _root.board.ballMatrix.length) {
if (this.id != _root.board.ballMatrix[i].id) {
if ((this.id._x == _root.board.ballMatrix[i].id._x) && (this.id._y == _root.board.ballMatrix[i].id._y)) {
this.SearchForPosition();
}
}
i++;
}
};
Ball.prototype.getMatches = function (ball, ball_type, _match_index) {
var matchArray = new Array();
var i = 0;
while (i < ball.hitting.length) {
if ((ball.hitting[i].clip_type == ball_type) && (ball.hitting[i].match_index != _match_index)) {
ball.hitting[i].match_index = _match_index;
ball.hitting[i].matched = true;
matchArray.push(ball.hitting[i]);
matchArray = matchArray.concat(this.getMatches(ball.hitting[i], ball_type, _match_index));
}
i++;
}
return(matchArray);
};
Ball.prototype.refreshHittingArray = function () {
this.hitting = new Array();
var i = 0;
while (i < _root.board.ballMatrix.length) {
_root.board.ballMatrix[i].matched = false;
_root.board.ballMatrix[i].match_index = 0;
if (this.id != _root.board.ballMatrix[i].id) {
if (TestArea(this, _root.board.ballMatrix[i])) {
this.hitting.push(_root.board.ballMatrix[i]);
}
}
i++;
}
};
Ball.prototype.checkBallCollision = function () {
var i = 0;
while (i < _root.board.ballMatrix.length) {
var testBall = _root.board.ballMatrix[i];
if (((!testBall.destroyed) && (testBall.id.hit_target.hitTest(this.id.hit_target))) && (this.id != testBall.id)) {
this.adjustOffset(testBall);
this.prepCollision();
if (this.clip_type == "pu_wild_ball") {
_root.ballballSound.start();
this.clip_type = testBall.clip_type;
this.id.gotoAndPlay(this.clip_type);
this.handleBasicCollision();
} else if (this.clip_type == "pu_sorting_star") {
_root.ballballSound.start();
this.destroySimilar(testBall);
this.destroy();
} else if (this.clip_type == "pu_key") {
_root.ballClearSound.start();
this.destroy();
_root.board.moveAllBallsUp();
} else if (this.clip_type == "pu_tracer") {
_root.ballClearSound.start();
_root.tracerActivate = true;
_root.iTracerTimer.restartTimer();
this.destroy();
} else {
this.handleBasicCollision();
}
}
i++;
}
};
Ball.prototype.prepCollision = function () {
this.addBallToBoard();
this.refreshHittingArray();
var i = 0;
while (i < this.hitting.length) {
this.hitting[i].refreshHittingArray();
i++;
}
this.shooting = false;
};
Ball.prototype.handleBasicCollision = function () {
_root.ballballSound.start();
this.matching = this.getMatches(this, this.clip_type, ++_root.matchIndex);
if (this.matching.length >= 3) {
this.destroyAllMatches(this);
this.destroy();
}
};
Ball.prototype.destroyAllMatches = function (ball) {
var i = 0;
while (i < ball.matching.length) {
ball.matching[i].destroy();
i++;
}
_root.ballClearSound.start();
};
Ball.prototype.destroySimilar = function (ball) {
i = 0;
while (i < _root.board.ballMatrix.length) {
if (_root.board.ballMatrix[i].clip_type == ball.clip_type) {
_root.board.ballMatrix[i].destroy();
}
i++;
}
};
Ball.prototype.SearchForPosition = function () {
while (true) {
if (this.TestDown(_root.board.ballMatrix[i], !PreferXP)) {
return(undefined);
}
if (this.TestDown(_root.board.ballMatrix[i], PreferXP)) {
return(undefined);
}
if (this.TestLeft(_root.board.ballMatrix[i])) {
return(undefined);
}
if (this.TestRight(_root.board.ballMatrix[i])) {
return(undefined);
}
if (this.TestUp(_root.board.ballMatrix[i], PreferXP)) {
return(undefined);
}
if (this.TestUp(_root.board.ballMatrix[i], !PreferXP)) {
return(undefined);
}
if (PreferXP) {
this.id._x = this.id._x + 15;
if (this.id._x > 360) {
this.id._x = this.id._x - 30;
}
} else {
this.id._x = this.id._x - 15;
if (this.id._x < 120) {
this.id._x = this.id._x + 30;
}
}
this.id._y = this.id._y + 30;
}
};
Ball.prototype.adjustOffset = function (targetBall) {
var PreferXP = false;
var PreferYP = false;
if (this.shooting && (!this.adjusted)) {
if (this.id._x > targetBall.id._x) {
if (targetBall.id._x < 354) {
this.id._x = targetBall.id._x + 15;
PreferXP = true;
} else {
this.id._x = targetBall.id._x - 15;
}
} else if (targetBall.id._x > 140) {
this.id._x = targetBall.id._x - 15;
} else {
this.id._x = targetBall.id._x + 15;
PreferXP = true;
}
if (this.id._y > targetBall.id._y) {
this.id._y = targetBall.id._y + 30;
PreferYP = true;
} else if (_root.wall_top._y < (targetBall.id._y - 30)) {
this.id._y = targetBall.id._y - 30;
} else if (PreferXP) {
this.id._x = this.id._x - 15;
} else {
this.id._x = this.id._x + 15;
}
var i = 0;
while (i < _root.board.ballMatrix.length) {
if (this.id != _root.board.ballMatrix[i].id) {
if ((this.id._x == _root.board.ballMatrix[i].id._x) && (this.id._y == _root.board.ballMatrix[i].id._y)) {
trace("Logic Error Active search algorithm");
this.SearchForPosition();
}
}
i++;
}
this.adjusted = true;
}
};
Ball.prototype.TestLeft = function (targetBall) {
this.id._x = this.id._x - 30;
if (this.id._x < 120) {
trace("Left Failed");
this.id._x = this.id._x + 30;
return(false);
}
var i = 0;
while (i < _root.board.ballMatrix.length) {
if (this.id != _root.board.ballMatrix[i].id) {
if ((this.id._x == _root.board.ballMatrix[i].id._x) && (this.id._y == _root.board.ballMatrix[i].id._y)) {
trace("Left Failed");
this.id._x = this.id._x + 30;
return(false);
}
}
i++;
}
trace("Left Succeeded");
return(true);
};
Ball.prototype.TestDown = function (targetBall, PreferXP) {
this.id._y = this.id._y + 30;
var ChangeX = false;
if (PreferXP) {
this.id._x = this.id._x + 15;
if (this.id._x > 360) {
this.id._x = this.id._x - 30;
ChangeX = true;
}
} else {
this.id._x = this.id._x - 15;
if (this.id._x < 120) {
this.id._x = this.id._x + 30;
ChangeX = true;
}
}
var i = 0;
while (i < _root.board.ballMatrix.length) {
if (this.id != _root.board.ballMatrix[i].id) {
if ((this.id._x == _root.board.ballMatrix[i].id._x) && (this.id._y == _root.board.ballMatrix[i].id._y)) {
trace("Down Failed");
this.id._y = this.id._y - 30;
if (PreferXP) {
this.id._x = this.id._x - 15;
if (ChangeX) {
this.id._x = this.id._x + 30;
}
} else {
this.id._x = this.id._x + 15;
if (ChangeX) {
this.id._x = this.id._x - 30;
}
}
return(false);
}
}
i++;
}
trace("Down Succeeded");
return(true);
};
Ball.prototype.TestRight = function (targetBall) {
this.id._x = this.id._x + 30;
if (this.id._x > 360) {
trace("Right Failed");
this.id._x = this.id._x - 30;
return(false);
}
var i = 0;
while (i < _root.board.ballMatrix.length) {
if (this.id != _root.board.ballMatrix[i].id) {
if ((this.id._x == _root.board.ballMatrix[i].id._x) && (this.id._y == _root.board.ballMatrix[i].id._y)) {
trace("Right Failed");
this.id._x = this.id._x - 30;
return(false);
}
}
i++;
}
trace("Right Succeeded");
return(true);
};
Ball.prototype.TestUp = function (targetBall, PreferXP) {
this.id._y = this.id._y - 30;
var ChangeX = false;
if (this.id._y < (_root.wall_top._y + 12.7)) {
this.id._y = this.id._y + 30;
return(false);
}
if (PreferXP) {
this.id._x = this.id._x + 15;
if (this.id._x > 354) {
this.id._x = this.id._x - 30;
ChangeX = true;
}
} else {
this.id._x = this.id._x - 15;
if (this.id._x < 140) {
this.id._x = this.id._x + 30;
ChangeX = true;
}
}
var i = 0;
while (i < _root.board.ballMatrix.length) {
if (this.id != _root.board.ballMatrix[i].id) {
if ((this.id._x == _root.board.ballMatrix[i].id._x) && (this.id._y == _root.board.ballMatrix[i].id._y)) {
trace("Up Failed");
this.id._y = this.id._y + 30;
if (!PreferXP) {
this.id._x = this.id._x + 15;
if (ChangeX) {
this.id._x = this.id._x - 30;
}
} else {
this.id._x = this.id._x - 15;
if (ChangeX) {
this.id._x = this.id._x + 30;
}
}
return(false);
}
}
i++;
}
trace("Up Succeeded");
return(true);
};
Ball.prototype.addBallToBoard = function () {
if (!this.inMatrix) {
_root.board.ballMatrix.push(this);
this.inMatrix = true;
_root.shooterBall = null;
}
};
Ball.prototype.destroy = function () {
if (!this.destroyed) {
this.destroyed = true;
this.id.gem.gotoAndPlay("implode");
if ((((this.clip_type != "pu_tracer") && (this.clip_type != "pu_sorting_star")) && (this.clip_type != "pu_key")) && (this.clip_type != "pu_wild_ball")) {
powerUpUpdate(this.clip_type);
}
}
};
Ball.prototype.remove = function (tally) {
if (tally) {
_root.gScore = _root.gScore + (this.score * _root.gLevel);
}
this.id._visible = false;
this.totallyDestroyed = true;
};
Ball.prototype.kill = function () {
this.id.removeMovieClip();
delete this.hitting;
delete this.matching;
};
function TestArea(Object1, Object2) {
if (Math.abs(Object1.id._y - Object2.id._y) < _root.hitTolerance) {
if (Math.abs((Object1.id._x + 30) - Object2.id._x) < _root.hitTolerance) {
return(true);
}
if (Math.abs((Object1.id._x - 30) - Object2.id._x) < _root.hitTolerance) {
return(true);
}
} else if (Math.abs((Object1.id._y + 30) - Object2.id._y) < _root.hitTolerance) {
if (Math.abs((Object1.id._x + 15) - Object2.id._x) < _root.hitTolerance) {
return(true);
}
if (Math.abs((Object1.id._x - 15) - Object2.id._x) < _root.hitTolerance) {
return(true);
}
} else if (Math.abs((Object1.id._y - 30) - Object2.id._y) < _root.hitTolerance) {
if (Math.abs((Object1.id._x + 15) - Object2.id._x) < _root.hitTolerance) {
return(true);
}
if (Math.abs((Object1.id._x - 15) - Object2.id._x) < _root.hitTolerance) {
return(true);
}
}
return(false);
}
function putShooterballInChamber() {
pointConv.x = _root.aim.barrol.aim_target._x;
pointConv.y = _root.aim.barrol.aim_target._y;
_root.aim.barrol.localToGlobal(pointConv);
_root.shooterBall.id._x = _root.pointConv.x;
_root.shooterBall.id._y = _root.pointConv.y;
}
var mouseListener = new Object();
mouseListener.onMouseDown = function () {
if ((_root._xmouse <= 100) && (_root._ymouse >= 335)) {
return(undefined);
}
if (!_root.shooterBall.shooting) {
_root.putShooterballInChamber();
_root.shooterBall.shoot(_root.aim.barrol._rotation);
_root.shootSound.start();
}
if (!(_root.shooterBall.clip_type === "pu_tracer")) {
} else {
_root.spaceKeyPressed = false;
}
};
mouseListener.onMouseMove = function () {
var x = mscr._xmouse;
var y = (mscr._ymouse * -1);
var angle = (Math.atan(y / x) / (Math.PI/180));
if (x < 0) {
angle = angle + 180;
}
if ((angle > -45) && (angle < 45)) {
if (_root.tracerActivate) {
_root.tracerPowerUp.m_fnUpdate(-angle);
}
_root.aim.barrol._rotation = angle * -1;
_root.aim.alt_clip._rotation = angle * -1;
}
};
function Hopper() {
this.currentBalls = new Array();
this.positions = new Array(280, 250);
this.magicBalls = new Array();
this.mbPositions = new Array(216, 192);
}
Hopper.prototype.init = function () {
while (this.currentBalls.length < 1) {
var randomBallType = _root.board.getRandomBall("existing");
if (randomBallType == "na") {
randomBallType = "obj_blue";
trace("Hopper: init: invalid ball type");
}
this.currentBalls.push(new Ball(randomBallType, this.positions[this.currentBalls.length - i], 358, false, 100, 100));
}
};
Hopper.prototype.nextBall = function () {
var temp = this.currentBalls.pop();
if (this.currentBalls.length < 1) {
var randomBallType = _root.board.getRandomBall("existing");
if (randomBallType == "na") {
randomBallType = "obj_blue";
trace("Hopper: nextBall: invalid ball type");
}
this.currentBalls.splice(0, 0, new Ball(randomBallType, this.positions[0], 358, false, 75, 75));
}
var i = 1;
while (i < this.currentBalls.length) {
this.currentBalls[i].id._x = this.positions[i];
i++;
}
temp.id._xscale = 100;
temp.id._yscale = 100;
return(temp);
};
Hopper.prototype.getPowerUpBall = function (powerUpType) {
this.powerUpType = powerUpType;
if (this.magicBalls.length == 0) {
this.magicBalls.push(new Ball(this.powerUpType, this.mbPositions[0], 358, false, 75, 75));
} else if (this.magicBalls.length == 1) {
this.magicBalls.push(new Ball(this.powerUpType, this.mbPositions[1], 358, false, 75, 75));
}
};
Hopper.prototype.armMagicBall = function () {
if (this.magicBalls.length == 2) {
this.magicBalls.reverse();
var temp = this.magicBalls.pop();
this.magicBalls[0].id._x = this.mbPositions[0];
} else if (this.magicBalls.length == 1) {
var temp = this.magicBalls.pop();
}
var i = 1;
while (i < this.magicBalls.length) {
this.currentBalls[i].id._x = this.positions[i];
i++;
}
temp.id._xscale = 100;
temp.id._yscale = 100;
return(temp);
};
Hopper.prototype.destroy = function () {
this.killBalls();
this.killMagicBalls();
};
Hopper.prototype.showMagicBalls = function () {
this.magicBalls[0].id._visible = true;
this.magicBalls[1].id._visible = true;
};
Hopper.prototype.hideMagicBalls = function () {
this.magicBalls[0].id._visible = false;
this.magicBalls[1].id._visible = false;
};
Hopper.prototype.hideBalls = function () {
this.currentBalls[0].id._visible = false;
this.currentBalls[1].id._visible = false;
};
Hopper.prototype.killBalls = function () {
var i = 0;
while (i < this.currentBalls.length) {
this.currentBalls[i].id.removeMovieClip();
i++;
}
this.currentBalls = null;
};
Hopper.prototype.killMagicBalls = function () {
k = 0;
while (k < this.magicBalls.length) {
this.magicBalls[k].id.removeMovieClip();
k++;
}
this.magicBalls = null;
};
var STAGE_X = 500;
var STAGE_Y = 375;
var TRACER_START_X = 248;
var TRACER_START_Y = 355;
var TRACER_DEPTH = 1000;
var TRACER_NAME = "tracer";
var X = 0;
var Y = 1;
var SLOPE_X = 2;
var SLOPE_Y = 3;
var DIST = 2;
var lineTop = new Array(0, 0, 1, 0);
var lineLeft = new Array(110, STAGE_Y, 0, 1);
var lineRight = new Array(384, STAGE_Y, 0, 1);
function Tracer() {
this.m_clip = createEmptyMovieClip(TRACER_NAME + loop, TRACER_DEPTH + loop);
this.m_clip._alpha = 35;
this.m_startX = TRACER_START_X;
this.m_startY = TRACER_START_Y;
this.m_lineStyle = 5;
this.m_lineColor = 16777215 /* 0xFFFFFF */;
}
function fnIntersectLineWithLine(line1, line2, retImpact) {
var Vd = ((line1[SLOPE_Y] * line2[SLOPE_X]) - (line1[SLOPE_X] * line2[SLOPE_Y]));
var Vn = (-(((line1[SLOPE_Y] * line2[X]) - (line1[SLOPE_X] * line2[Y])) - line1[X]));
if (Vd == 0) {
retImpact[DIST] = 2147483647 /* 0x7FFFFFFF */;
return(undefined);
}
var t = (Vn / Vd);
retImpact[X] = line2[X] + (t * line2[SLOPE_X]);
retImpact[Y] = line2[Y] + (t * line2[SLOPE_Y]);
retImpact[DIST] = Math.abs(t);
}
function fnDrawLine(movie, startPt, endPt, lineStyle, lineColor) {
movie.moveTo(startPt[X] - movie._x, startPt[Y] - movie._y);
movie.lineStyle(lineStyle, lineColor);
movie.lineTo(endPt[X] - movie._x, endPt[Y] - movie._y);
}
function fnFireRay(movie, start, angle, lineStyle, lineColor) {
var slope_x = Math.cos(angle);
var slope_y = Math.sin(angle);
if (Math.abs(slope_x) < 1E-10) {
slope_x = 0;
}
if (Math.abs(slope_y) < 1E-10) {
slope_y = 0;
}
var lineFire = new Array(start[X], start[Y], slope_x, slope_y);
if (slope_y <= 0) {
trace("invalid and unhandled line going horizontal or down");
return(undefined);
}
var impactPt = new Array(2);
var impactTop = new Array(3);
var impactWall = new Array(3);
fnIntersectLineWithLine(lineTop, lineFire, impactTop);
var bounceAngle = 0;
if (slope_x > 0) {
fnIntersectLineWithLine(lineLeft, lineFire, impactWall);
} else if (slope_x < 0) {
fnIntersectLineWithLine(lineRight, lineFire, impactWall);
} else {
impactWall[DIST] = impactTop[DIST];
}
if (impactTop[DIST] <= impactWall[DIST]) {
impactPt[X] = impactTop[X];
impactPt[Y] = impactTop[Y];
fnDrawLine(movie, lineFire, impactPt, lineStyle, lineColor);
} else {
impactPt[X] = impactWall[X];
impactPt[Y] = impactWall[Y];
fnDrawLine(movie, lineFire, impactPt, lineStyle, lineColor);
fnFireRay(movie, impactPt, Math.PI - angle, lineStyle, lineColor);
}
}
Tracer.prototype.m_fnUpdate = function (angle) {
angle = angle + 90;
var angleRadians = ((angle * Math.PI) / 180);
var startPt = new Array(this.m_startX, this.m_startY);
this.m_clip.clear();
fnFireRay(this.m_clip, startPt, angleRadians, this.m_lineStyle, this.m_lineColor);
};
Tracer.prototype.destroy = function () {
this.m_clip.clear();
delete this;
};
function powerUpUpdate(clipType) {
this.clipType = clipType;
switch (this.clipType) {
case "obj_blue" :
powerUpUpdate_Blue();
return;
case "obj_green" :
powerUpUpdate_Green();
return;
case "obj_red" :
powerUpUpdate_Red();
return;
case "obj_purple" :
powerUpUpdate_Purple();
return;
default :
return(undefined);
}
}
function powerUpReset(clipType) {
this.clipType = clipType;
switch (this.clipType) {
case "pu_wild_ball" :
_root.blueMeter = 0;
_root.main_mc.blue_powerUp.blue_meter._height = 0;
_root.blueMeterMax = false;
return;
case "pu_sorting_star" :
_root.redMeter = 0;
_root.main_mc.red_powerUp.red_meter._height = 0;
_root.redMeterMax = false;
return;
case "pu_tracer" :
_root.greenMeter = 0;
_root.main_mc.green_powerUp.green_meter._height = 0;
_root.greenMeterMax = false;
return;
case "pu_key" :
_root.purpleMeter = 0;
_root.main_mc.purple_powerUp.purple_meter._height = 0;
_root.purpleMeterMax = false;
}
}
function powerUpUpdate_Purple() {
if (_root.main_mc.purple_powerUp.purple_meter._height < 220) {
_root.main_mc.purple_powerUp.purple_meter._height = _root.main_mc.purple_powerUp.purple_meter._height + 20;
_root.purpleMeter = _root.main_mc.purple_powerUp.purple_meter._height;
} else if ((_root.main_mc.purple_powerUp.purple_meter._height >= 210) && (_root.purpleMeterMax != true)) {
_root.purpleMeterMax = true;
_root.ballHopper.getPowerUpBall("pu_key");
}
}
function powerUpUpdate_Green() {
if (_root.main_mc.green_powerUp.green_meter._height < 220) {
_root.main_mc.green_powerUp.green_meter._height = _root.main_mc.green_powerUp.green_meter._height + 20;
_root.greenMeter = _root.main_mc.green_powerUp.green_meter._height;
} else if ((_root.main_mc.green_powerUp.green_meter._height >= 210) && (_root.greenMeterMax != true)) {
_root.greenMeterMax = true;
_root.ballHopper.getPowerUpBall("pu_tracer");
}
}
function powerUpUpdate_Red() {
if (_root.main_mc.red_powerUp.red_meter._height < 220) {
_root.main_mc.red_powerUp.red_meter._height = _root.main_mc.red_powerUp.red_meter._height + 20;
_root.redMeter = _root.main_mc.red_powerUp.red_meter._height;
} else if ((_root.main_mc.red_powerUp.red_meter._height >= 210) && (_root.redMeterMax != true)) {
_root.redMeterMax = true;
_root.ballHopper.getPowerUpBall("pu_sorting_star");
}
}
function powerUpUpdate_Blue() {
if (_root.main_mc.blue_powerUp.blue_meter._height < 210) {
_root.main_mc.blue_powerUp.blue_meter._height = _root.main_mc.blue_powerUp.blue_meter._height + 20;
_root.blueMeter = _root.main_mc.blue_powerUp.blue_meter._height;
} else if ((_root.main_mc.blue_powerUp.blue_meter._height >= 210) && (_root.blueMeterMax != true)) {
_root.blueMeterMax = true;
_root.ballHopper.getPowerUpBall("pu_wild_ball");
}
}
function soundController(name, repeat, action, linkageName) {
if (action == "play") {
name.start(0, repeat);
} else {
name.stop(linkageName);
}
}
function cTimer() {
this.startTime = getTimer();
}
cTimer.prototype.restartTimer = function () {
this.startTime = getTimer();
};
cTimer.prototype.milliseconds = function () {
return(getTimer() - this.startTime);
};
cTimer.prototype.seconds = function () {
return(int((getTimer() - this.startTime) / 1000));
};
iLevelPauseTimer = new cTimer();
iTracerTimer = new cTimer();
Frame 4
Set("_level0:gWTE_FL", _framesloaded);
Set("_level0:gWTE_PL", int((_level0:gWTE_FL / _level0:gWTE_TF) * 100));
Set("_level0:gWTE_PLtxt", _level0:gWTE_PL add "%");
ifFrameLoaded (67) {
gotoAndPlay (9);
}
gameMC.HSLoading();
Instance of Symbol 322 MovieClip "debug_clip" in Frame 4
onClipEvent (load) {
function showDebug() {
_visible = true;
_x = 200;
}
function hideDebug() {
_visible = false;
_x = -200;
}
function displayDebugSettings() {
_root.gDebug = "Settings:\n";
_root.gDebug = _root.gDebug + (("ID: " + gameMC.gGameID) + newline);
_root.gDebug = _root.gDebug + (("DB: " + gameMC.gDB_domain) + newline);
_root.gDebug = _root.gDebug + (("SWF: " + gameMC.gHSRoot_swf) + newline);
_root.gDebug = _root.gDebug + (("JSP: " + gameMC.gHSRoot_jsp) + newline);
_root.gDebug = _root.gDebug + (("TOP: " + gameMC.gHSRoot_top100) + newline);
}
_visible = false;
_root.gDebug = _root.gDebug + "Loaded";
if (gameMC.gDebugMode == true) {
showDebug();
}
}
Frame 6
gotoAndPlay (4);
Frame 9
var ballClearSound = new Sound();
ballClearSound.attachSound("ball_clear");
var loopSound = new Sound();
loopSound.attachSound("music_loop");
var shootSound = new Sound();
shootSound.attachSound("shoot_ball");
var buttonSound = new Sound();
buttonSound.attachSound("button_click");
var ballwallSound = new Sound();
ballwallSound.attachSound("ball_wall");
var ballballSound = new Sound();
ballballSound.attachSound("ball_ball_stay");
var loseSound = new Sound();
loseSound.attachSound("lose");
var winSound = new Sound();
winSound.attachSound("Win");
_root.attachMovie("screen_game_over", "game_over_mc", 5500);
_root.game_over_mc._x = 246.3;
_root.game_over_mc._y = 188.2;
_root.attachMovie("screen_level_complete", "level_complete_mc", 5000);
_root.level_complete_mc._x = 246.3;
_root.level_complete_mc._y = 188.2;
_root.level_complete_mc._visible = false;
_root.game_over_mc._visible = false;
_root.HIGH_SCORE_DIALOG_DEPTH = 6000;
gameMC.HSLoaded();
Frame 15
soundController(loopSound, 999, "play", "music_loop");
_root.level_complete_mc._visible = false;
_root.game_over_mc._visible = false;
_root.ballHopper = new Hopper();
_root.tracerPowerUp = new Tracer();
_root.tracerActivate = false;
_root.gameOver = false;
_root.paused = false;
_root.gLevel = 1;
_root.gScore = 0;
_root.bonus = 1000;
var pointConv = new Object();
_root.traceTimer = false;
_root.shooterBall = null;
_root.matrixLength = -1;
_root.ball_clip_depth = 500;
_root.matchIndex = 0;
_root.hitTolerance = 30;
Instance of Symbol 439 MovieClip "Cr_clip" in Frame 15
onClipEvent (load) {
function mKeyStroke() {
var i;
var key_down = -1;
if ((getTimer() - pCrTimer) > 400) {
i = 1;
while (i < 91) {
if (Key.isDown(i)) {
key_down = i;
}
i++;
}
if (key_down >= 48) {
pCrCheck = (pCrCheck + key_down) + ":";
trace("CrCheck: " + pCrCheck);
pCrTimer = getTimer();
if (pCrCheck == "87:66:67:72:48:52:") {
trace("OK");
pCrCheck = "";
pCrOn = true;
mCr();
}
} else if ((key_down == 13) || (key_down == 32)) {
pCrCheck = "";
pCrTimer = getTimer();
}
}
}
function mCr() {
trace("mCr");
this.gotoAndPlay("show");
gameMC.debug_clip.showDebug();
gameMC.debug_clip.displayDebugSettings();
}
}
onClipEvent (enterFrame) {
mKeyStroke();
}
Frame 16
stop();
Frame 22
gameMC.HSPlay();
Frame 30
_root.greenCount = 0;
_root.redCount = 0;
_root.purplecount = 0;
_root.blueCount = 0;
_root.goldCount = 0;
_root.bronzeCount = 0;
_root.silverCount = 0;
powerUpReset("pu_wild_ball");
powerUpReset("pu_sorting_star");
powerUpReset("pu_tracer");
powerUpReset("pu_key");
_root.board = new _root.GameBoard();
Mouse.addListener(mouseListener);
_root.board.initializeLevel();
_root.ballHopper.showMagicBalls();
_root.spaceKeyPressed = false;
_root.main_mc.mouse_blockers_mc.gotoAndPlay("show");
gameMC.HSLevelStart();
Frame 38
_root.board.moveAllBallsDown();
_root.board.rebuildMatrix();
_root.board.checklevelComplete();
if (Key.isDown(81)) {
_root.gameOver = true;
_root.board.playGameOver();
}
if (!_root.gameOver) {
if ((Key.isDown(16) && (Key.isDown(17))) && (Key.isDown(87))) {
_root.ballHopper.getPowerUpBall("pu_wild_ball");
}
if ((Key.isDown(16) && (Key.isDown(17))) && (Key.isDown(84))) {
_root.ballHopper.getPowerUpBall("pu_tracer");
}
if ((!_root.shooterBall) || (_root.shooterBall.destroyed)) {
_root.shooterBall = _root.ballHopper.nextBall();
} else {
if (Key.isDown(32) && (_root.ballHopper.magicBalls.length > 0)) {
if (!_root.shooterBall.shooting) {
_root.shooterBall.kill();
_root.shooterBall = _root.ballHopper.armMagicBall();
powerUpReset(_root.shooterBall.clip_type);
_root.putShooterballInChamber();
_root.shooterBall.shoot(_root.aim.barrol._rotation);
_root.shootSound.start();
}
}
if (_root.shooterBall.shooting) {
_root.shooterBall.move();
} else {
_root.putShooterballInChamber();
}
}
if (_root.tracerActivate) {
if (_root.iTracerTimer.seconds() >= 0) {
_root.tracerPowerUp.m_clip._alpha = 35;
}
if (_root.iTracerTimer.seconds() == 11) {
_root.tracerPowerUp.m_clip._alpha = 30;
}
if (_root.iTracerTimer.seconds() == 12) {
_root.tracerPowerUp.m_clip._alpha = 25;
}
if (_root.iTracerTimer.seconds() == 13) {
_root.tracerPowerUp.m_clip._alpha = 20;
}
if (_root.iTracerTimer.seconds() == 14) {
_root.tracerPowerUp.m_clip._alpha = 15;
}
if (_root.iTracerTimer.seconds() >= 15) {
trace("we have expired our time");
_root.tracerActivate = false;
_root.tracerPowerUp.m_clip._alpha = 0;
}
}
if (_root.blueMeter != 0) {
_root.main_mc.blue_powerUp.blue_meter._height = _root.blueMeter;
}
if (_root.redMeter != 0) {
_root.main_mc.red_powerUp.red_meter._height = _root.redMeter;
}
if (_root.greenMeter != 0) {
_root.main_mc.green_powerUp.green_meter._height = _root.greenMeter;
}
if (_root.purpleMeter != 0) {
_root.main_mc.purple_powerUp.purple_meter._height = _root.purpleMeter;
}
}
_root.matrixLength = _root.board.ballMatrix.length;
Frame 39
gotoAndPlay(_currentframe - 1);
Frame 45
_root.iLevelPauseTimer.restartTimer();
_root.shooterBall.kill();
_root.shooterBall = null;
_root.level_complete_mc._visible = true;
Frame 46
if (_root.iLevelPauseTimer.seconds() > 3) {
_root.gLevel = _root.gLevel + 1;
_root.gScore = _root.gScore + _root.bonus;
_root.board.cleanUpBoard();
_root.board = null;
_root.level_complete_mc._visible = false;
_root.gotoAndPlay("NextLevel");
}
Frame 47
_root.gotoAndPlay(_currentframe - 1);
Frame 54
gameMC.HSGameOver();
Frame 56
_root.loseSound.start();
_root.ballHopper.destroy();
_root.ballHopper = null;
_root.shooterBall.kill();
_root.shooterBall = null;
soundController(loopSound, 0, "stop", "music_loop");
_root.game_over_mc._visible = true;
stop();
Frame 75
stop();
Symbol 18 MovieClip Frame 3
stop();
Symbol 18 MovieClip Frame 12
gotoAndPlay (4);
Symbol 28 MovieClip Frame 3
stop();
Symbol 28 MovieClip Frame 11
gotoAndPlay (4);
Symbol 36 MovieClip Frame 3
stop();
Symbol 36 MovieClip Frame 7
gotoAndPlay (4);
Symbol 44 MovieClip Frame 3
stop();
Symbol 44 MovieClip Frame 7
gotoAndPlay (4);
Symbol 54 MovieClip Frame 3
stop();
Symbol 54 MovieClip Frame 12
gotoAndPlay (4);
Symbol 62 MovieClip Frame 3
stop();
Symbol 62 MovieClip Frame 7
gotoAndPlay (4);
Symbol 70 MovieClip Frame 3
stop();
Symbol 70 MovieClip Frame 7
gotoAndPlay (4);
Symbol 82 Button
on (release) {
_root.gLevel = _root.gLevel + 1;
_root.gScore = _root.gScore + _root.bonus;
_root.board.cleanUpBoard();
_root.board = null;
_root.level_complete_mc._visible = false;
_root.gotoAndPlay("NextLevel");
}
Symbol 91 MovieClip [screen_level_complete] Frame 1
_visible = false;
Symbol 95 Button
on (release) {
stopAllSounds();
_root.game_over_mc._visible = false;
_root.board.cleanUpBoard();
_root.board = null;
_root.gotoAndPlay("title");
}
Symbol 106 MovieClip [screen_game_over] Frame 1
_visible = false;
Symbol 131 MovieClip [pu_wild_ball] Frame 10
gotoAndPlay (1);
Symbol 131 MovieClip [pu_wild_ball] Frame 20
_root.gScore = _root.gScore + 90;
this.parent.remove(true);
stop();
Symbol 144 MovieClip [pu_tracer] Frame 15
gotoAndPlay (1);
Symbol 144 MovieClip [pu_tracer] Frame 28
this.parent.remove(true);
stop();
Symbol 172 MovieClip [pu_sorting_star] Frame 12
gotoAndPlay (1);
Symbol 172 MovieClip [pu_sorting_star] Frame 25
_root.gScore = _root.gScore + 90;
this.parent.remove(true);
stop();
Symbol 208 MovieClip [pu_key] Frame 18
gotoAndPlay (1);
Symbol 208 MovieClip [pu_key] Frame 30
_root.gScore = _root.gScore + 90;
this.parent.remove(true);
stop();
Symbol 212 MovieClip [obj_silver] Frame 8
stop();
Symbol 212 MovieClip [obj_silver] Frame 20
_root.gScore = _root.gScore + 40;
this.parent.remove(true);
stop();
Symbol 216 MovieClip [obj_red] Frame 3
stop();
Symbol 216 MovieClip [obj_red] Frame 15
this.parent.remove(true);
stop();
Symbol 220 MovieClip [obj_purple] Frame 3
stop();
Symbol 220 MovieClip [obj_purple] Frame 15
this.parent.remove(true);
stop();
Symbol 224 MovieClip [obj_green] Frame 3
stop();
Symbol 224 MovieClip [obj_green] Frame 15
this.parent.remove(true);
stop();
Symbol 228 MovieClip [obj_gold] Frame 8
stop();
Symbol 228 MovieClip [obj_gold] Frame 20
_root.gScore = _root.gScore + 65;
this.parent.remove(true);
stop();
Symbol 232 MovieClip [obj_bronze] Frame 8
stop();
Symbol 232 MovieClip [obj_bronze] Frame 20
_root.gScore = _root.gScore + 15;
this.parent.remove(true);
stop();
Symbol 236 MovieClip [obj_blue] Frame 3
stop();
Symbol 236 MovieClip [obj_blue] Frame 15
this.parent.remove(true);
stop();
Symbol 244 MovieClip [gem_clip] Frame 1
this.gem.parent = this.parent;
this.hitting._visible = false;
this.matching._visible = false;
Symbol 244 MovieClip [gem_clip] Frame 9
stop();
Symbol 244 MovieClip [gem_clip] Frame 10
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 19
stop();
Symbol 244 MovieClip [gem_clip] Frame 20
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 29
stop();
Symbol 244 MovieClip [gem_clip] Frame 30
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 39
stop();
Symbol 244 MovieClip [gem_clip] Frame 40
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 49
stop();
Symbol 244 MovieClip [gem_clip] Frame 50
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 59
stop();
Symbol 244 MovieClip [gem_clip] Frame 60
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 69
stop();
Symbol 244 MovieClip [gem_clip] Frame 70
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 79
stop();
Symbol 244 MovieClip [gem_clip] Frame 80
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 89
stop();
Symbol 244 MovieClip [gem_clip] Frame 90
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 99
stop();
Symbol 244 MovieClip [gem_clip] Frame 100
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 109
stop();
Symbol 244 MovieClip [gem_clip] Frame 110
this.gem.parent = this.parent;
Symbol 244 MovieClip [gem_clip] Frame 119
stop();
Symbol 248 MovieClip [hs_placeholder] Frame 1
_visible = false;
Symbol 248 MovieClip [hs_placeholder] Frame 5
stop();
Symbol 257 MovieClip Frame 1
stop();
Symbol 257 MovieClip Frame 5
gotoAndStop (1);
Symbol 257 MovieClip Frame 9
gotoAndStop (1);
Symbol 264 MovieClip Frame 2
stop();
Symbol 264 MovieClip Frame 6
gotoAndStop (1);
Symbol 264 MovieClip Frame 10
gotoAndStop (1);
Symbol 302 Button
on (rollOver) {
Mouse.show();
}
on (release) {
if (!_root.paused) {
_root.stop();
_root.paused = true;
} else {
_root.play();
_root.paused = false;
}
}
Symbol 317 MovieClip Frame 1
this.loadMovie(gameMC.gHSRoot_swf + "HSScripts.swf");
Symbol 317 MovieClip Frame 4
stop();
Symbol 320 Button
on (press) {
startDrag ("");
}
on (release) {
stopDrag();
}
Symbol 321 Button
on (release) {
gameMC.gDebug = "";
}
Symbol 322 MovieClip Frame 5
stop();
Symbol 327 MovieClip Frame 1
play();
Symbol 335 Button
on (release) {
_root.buttonSound.start();
_root.gotoAndPlay("Play");
}
Symbol 340 Button
on (release) {
_root.buttonSound.start();
_level0.intro_screen.logo._alpha = 0;
_parent.play();
}
Symbol 341 Button
on (release) {
_root.buttonSound.start();
_root.gotoAndPlay("Play");
}
Symbol 348 MovieClip Frame 5
stop();
Symbol 352 MovieClip Frame 8
stop();
Symbol 408 MovieClip Frame 13
stop();
Symbol 409 MovieClip Frame 1
stop();
Symbol 409 MovieClip Frame 5
stop();
Symbol 410 MovieClip Frame 8
stop();
Symbol 413 MovieClip Frame 5
bg1.clouds.play();
stop();
Symbol 431 Button
on (release) {
_root.gameOver = true;
_root.board.playGameOver();
}
Symbol 439 MovieClip Frame 4
stop();
Symbol 439 MovieClip Frame 9
stop();
Instance of Symbol 430 MovieClip "cannon" in Symbol 445 MovieClip Frame 1
/* no clip actions */
Symbol 446 MovieClip Frame 11
stop();