Frame 1
function my_menu() {
_root.gotoAndStop("menuScreen");
}
function myHigh() {
game_quality = "HIGH";
}
function myMed() {
game_quality = "MEDIUM";
}
function myLow() {
game_quality = "LOW";
}
function myKill() {
sound_on = false;
bgSound.stop();
}
function myStart() {
sound_on = true;
bgSound = new Sound(this);
bgSound.attachSound("track_" + _root.currentLevel);
bgSound.start(0, 99);
}
function mySite() {
getURL ("http://www.chromeshark.com");
}
function mySponsor() {
getURL ("http://www.maxgames.com");
}
function removeAllClips() {
_quality = "HIGH";
bgSound.stop();
removeMovieClip(drawLine);
removeMovieClip(starSpin1);
removeMovieClip(starSpin2);
removeMovieClip(barLeft);
removeMovieClip(barRight);
removeMovieClip(barTop);
removeMovieClip(barBase);
removeMovieClip(background1);
removeMovieClip(background2);
removeMovieClip(background3);
removeMovieClip(ballBounce);
removeMovieClip(topMask);
removeMovieClip(mapHolder);
removeMovieClip(powerUp);
var _local1 = 1;
while (_local1 <= 20) {
removeMovieClip("bit" + _local1);
_local1++;
}
}
stop();
local_data = SharedObject.getLocal("user_data");
var i = 1;
while (i <= 5) {
_root["stage_score" + i] = _root.local_data.data["stage_score" + i];
if (_root["stage_score" + i] == undefined) {
_root["stage_score" + i] = 0;
}
i++;
}
var myContextMenu = new ContextMenu();
myContextMenu.hideBuiltInItems();
var my_menu = new ContextMenuItem("Go To Menu", my_menu);
myContextMenu.customItems.push(my_menu);
var myHigh = new ContextMenuItem("Quality: High", myHigh);
myContextMenu.customItems.push(myHigh);
var myMed = new ContextMenuItem("Quality: Medium", myMed);
myContextMenu.customItems.push(myMed);
var myLow = new ContextMenuItem("Quality: Low", myLow);
myContextMenu.customItems.push(myLow);
var myKill = new ContextMenuItem("Kill Music", myKill);
myContextMenu.customItems.push(myKill);
var myStart = new ContextMenuItem("Start Music", myStart);
myContextMenu.customItems.push(myStart);
var mySite = new ContextMenuItem("Chrome Shark Media", mySite);
myContextMenu.customItems.push(mySite);
var mySponsor = new ContextMenuItem("Max Games", mySponsor);
myContextMenu.customItems.push(mySponsor);
_root.menu = myContextMenu;
score_level1 = 4000;
score_level2 = 3750;
score_level3 = 3500;
score_level4 = 3250;
score_level5 = 3000;
score_level6 = 2500;
sound_on = true;
game_quality = "MEDIUM";
Instance of Symbol 78 MovieClip in Frame 1
on (press) {
getURL ("http://www.maxgames.com", "_blank");
}
Frame 10
stop();
Frame 20
stop();
tutorial.buttonBack.onPress = function () {
_root.tutorial.prevFrame();
};
tutorial.buttonNext.onPress = function () {
_root.tutorial.nextFrame();
};
tutorial.buttonBegin.onPress = function () {
_root.gotoAndStop("menuScreen");
};
tutorial.buttonSkip.onPress = function () {
_root.gotoAndStop("menuScreen");
};
Frame 31
stop();
removeAllClips();
alpha1 = 0;
alpha2 = 0;
alpha3 = 0;
alpha4 = 0;
alphaTime = 0;
back3._alpha = 0;
back2._alpha = 0;
back1._alpha = 0;
_root.onEnterFrame = function () {
if (alpha4 == 100) {
} else if (alpha3 == 100) {
alpha4 = alpha4 + 10;
} else if (alpha2 == 100) {
alpha3 = alpha3 + 10;
} else if (alpha1 == 100) {
alpha2 = alpha2 + 10;
} else if (alphaTime == 100) {
alpha1 = alpha1 + 10;
} else {
alphaTime = alphaTime + 10;
}
back3._x = -440 + (_xmouse / 1.5);
back2._x = -300 + (_xmouse / 4);
back1._x = -230 + (_xmouse / 8);
back3._alpha = alpha3;
back2._alpha = alpha2;
back1._alpha = alpha1;
tutorialBox._alpha = alpha4;
tutorialBox.onRollOver = function () {
this._xscale = 120;
this._yscale = 120;
};
tutorialBox.onRollOut = function () {
this._xscale = 100;
this._yscale = 100;
};
tutorialBox.onPress = function () {
_root.gotoAndStop("tutorial");
};
max_games._alpha = alpha4;
max_games.onRollOver = function () {
this._xscale = 120;
this._yscale = 120;
};
max_games.onRollOut = function () {
this._xscale = 100;
this._yscale = 100;
};
max_games.onPress = function () {
getURL ("http://www.maxgames.com", "_blank");
};
};
var i = 1;
while (i <= 3) {
_root["menu" + i].menuText.gotoAndStop(i);
_root["menu" + i]._xscale = 80;
_root["menu" + i]._yscale = 80;
_root["menu" + i]._alpha = 0;
_root["menu" + i].j = i;
_root["menu" + i].onPress = function () {
if (this.j == 1) {
_root.gotoAndStop("gameOptions");
}
if (this.j == 2) {
_root.gotoAndStop("levelSelect");
}
if (this.j == 3) {
_root.gotoAndStop("gameCredits");
}
};
_root["menu" + i].onRollOver = function () {
this.play();
this._xscale = 110;
this._yscale = 110;
};
_root["menu" + i].onRollOut = function () {
this._xscale = 80;
this._yscale = 80;
};
_root["menu" + i].onEnterFrame = function () {
this._alpha = alpha4;
};
i++;
}
Frame 40
stop();
removeAllClips();
_root.onEnterFrame = function () {
back3._x = -440 + (_xmouse / 1.5);
back2._x = -300 + (_xmouse / 4);
back1._x = -230 + (_xmouse / 8);
};
menuButton.onRollOver = function () {
this._xscale = 120;
this._yscale = 120;
};
menuButton.onRollOut = function () {
this._xscale = 100;
this._yscale = 100;
};
menuButton.onPress = function () {
_root.gotoAndStop("menuScreen");
};
sound_button_on.onPress = function () {
_root.sound_on = true;
};
sound_button_off.onPress = function () {
_root.sound_on = false;
};
sound_button_on.onEnterFrame = function () {
if (_root.sound_on == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
};
sound_button_off.onEnterFrame = function () {
if (_root.sound_on == true) {
this._alpha = 25;
} else {
this._alpha = 100;
}
};
quality_button_low.onPress = function () {
_root.game_quality = "LOW";
};
quality_button_low.onEnterFrame = function () {
if (_root.game_quality == "LOW") {
this._alpha = 100;
} else {
this._alpha = 25;
}
};
quality_button_medium.onPress = function () {
_root.game_quality = "MEDIUM";
};
quality_button_medium.onEnterFrame = function () {
if (_root.game_quality == "MEDIUM") {
this._alpha = 100;
} else {
this._alpha = 25;
}
};
quality_button_high.onPress = function () {
_root.game_quality = "HIGH";
};
quality_button_high.onEnterFrame = function () {
if (_root.game_quality == "HIGH") {
this._alpha = 100;
} else {
this._alpha = 25;
}
};
Frame 50
stop();
removeAllClips();
_root.onEnterFrame = function () {
back3._x = -440 + (_xmouse / 1.5);
back2._x = -300 + (_xmouse / 4);
back1._x = -230 + (_xmouse / 8);
};
master_score = 0;
var c = 1;
while (c <= 5) {
master_score = master_score + _root["stage_score" + c];
c++;
}
master_rank = master_score / 5;
if (_root.master_rank > _root.score_level1) {
overall_rank.crush_rank.gotoAndStop("r_m");
} else if (_root.master_rank > _root.score_level2) {
overall_rank.crush_rank.gotoAndStop("r_a");
} else if (_root.master_rank > _root.score_level3) {
overall_rank.crush_rank.gotoAndStop("r_b");
} else if (_root.master_rank > _root.score_level4) {
overall_rank.crush_rank.gotoAndStop("r_c");
} else if (_root.master_rank > _root.score_level5) {
overall_rank.crush_rank.gotoAndStop("r_d");
} else if (_root.master_rank > _root.score_level6) {
overall_rank.crush_rank.gotoAndStop("r_e");
} else if (_root.master_rank > 0) {
overall_rank.crush_rank.gotoAndStop("r_f");
} else {
overall_rank.crush_rank.gotoAndStop("r_n");
}
menuButton.onRollOver = function () {
this._xscale = 120;
this._yscale = 120;
};
menuButton.onRollOut = function () {
this._xscale = 100;
this._yscale = 100;
};
menuButton.onPress = function () {
_root.gotoAndStop("menuScreen");
};
var i = 1;
while (i <= 5) {
_root["levelSelect" + i].j = i;
_root["levelSelect" + i]._xscale = 9;
_root["levelSelect" + i]._yscale = 9;
_root["levelSelect" + i].lineMap.gotoAndStop(i);
_root["levelSelect" + i].houseMap.gotoAndStop(i);
_root["levelSelect" + i].caveBackground._alpha = 100;
if ((_root["stage_score" + (i - 1)] > 0) || (i == 1)) {
_root["levelSelect" + i].black_mask._alpha = 0;
} else {
_root["levelSelect" + i].black_mask._alpha = 50;
}
_root["levelSelect" + i].onPress = function () {
if ((_root["stage_score" + (this.j - 1)] > 0) || (this.j == 1)) {
_root.currentLevel = this.j;
_root.gotoAndStop("levelStart");
}
};
_root["levelSelect" + i].onRollOver = function () {
this.play();
this._xscale = 10;
this._yscale = 10;
if ((_root["stage_score" + this.j] > 0) || (this.j == 1)) {
_root.stage_score = _root["stage_score" + this.j];
_root.stage_select.gotoAndStop("stage_detail");
if (_root.stage_score > _root.score_level1) {
_root.stage_select.crush_rank.gotoAndStop("r_m");
} else if (_root.stage_score > _root.score_level2) {
_root.stage_select.crush_rank.gotoAndStop("r_a");
} else if (_root.stage_score > _root.score_level3) {
_root.stage_select.crush_rank.gotoAndStop("r_b");
} else if (_root.stage_score > _root.score_level4) {
_root.stage_select.crush_rank.gotoAndStop("r_c");
} else if (_root.stage_score > _root.score_level5) {
_root.stage_select.crush_rank.gotoAndStop("r_d");
} else if (_root.stage_score > _root.score_level6) {
_root.stage_select.crush_rank.gotoAndStop("r_e");
} else {
_root.stage_select.crush_rank.gotoAndStop("r_f");
}
} else if ((_root["stage_score" + (this.j - 1)] > 0) || (this.j == 1)) {
_root.stage_select.gotoAndStop("stage_click");
} else {
_root.stage_select.gotoAndStop("stage_locked");
}
};
_root["levelSelect" + i].onRollOut = function () {
this._xscale = 9;
this._yscale = 9;
_root.stage_select.gotoAndStop("stage_roll");
};
i = i + 1;
}
Frame 60
stop();
removeAllClips();
_root.onEnterFrame = function () {
back3._x = -440 + (_xmouse / 1.5);
back2._x = -300 + (_xmouse / 4);
back1._x = -230 + (_xmouse / 8);
};
menuButton.onRollOver = function () {
this._xscale = 120;
this._yscale = 120;
};
menuButton.onRollOut = function () {
this._xscale = 100;
this._yscale = 100;
};
menuButton.onPress = function () {
_root.gotoAndStop("menuScreen");
};
Frame 70
function bombField(xPos, yPos, blastRadius) {
var _local2 = new flash.geom.Matrix();
_local2.translate(xPos, yPos);
_root.hole_mc.holeResize._xscale = blastRadius;
_root.hole_mc.holeResize._yscale = blastRadius;
myBmp.draw(hole_mc, _local2, myCT, "erase");
myHouseBmp.draw(hole_mc, _local2, myCT, "erase");
}
function cleanSweep(xStart) {
var _local1 = 0;
while (_local1 < 50) {
xTest = xStart - majorX;
yTest = (250 + (_local1 * 5)) + majorY;
if (myBmp.getPixel(xTest, yTest) != 0) {
if ((myBmp.getPixel(xTest + 5, yTest) == 0) && (myBmp.getPixel(xTest - 5, yTest) == 0)) {
if ((myBmp.getPixel(xTest, yTest + 5) == 0) && (myBmp.getPixel(xTest, yTest - 5) == 0)) {
bombField(xTest, yTest, 20);
}
}
}
_local1 = _local1 + 1;
}
}
function cleanSweepVert(yStart) {
var _local1 = 0;
while (_local1 < 80) {
xTest = (_local1 * 5) + majorX;
yTest = yStart - majorY;
if (myBmp.getPixel(xTest, yTest) != 0) {
if ((myBmp.getPixel(xTest + 5, yTest) == 0) && (myBmp.getPixel(xTest - 5, yTest) == 0)) {
if ((myBmp.getPixel(xTest, yTest + 5) == 0) && (myBmp.getPixel(xTest, yTest - 5) == 0)) {
bombField(xTest, yTest, 20);
}
}
}
_local1 = _local1 + 1;
}
}
function speedRush() {
ballBounce.play();
if (Math.abs(xSpeed) > Math.abs(ySpeed)) {
ySpeed = (maxSpeed / Math.abs(xSpeed)) * ySpeed;
xSpeed = xSpeed * 50;
} else {
xSpeed = (maxSpeed / Math.abs(ySpeed)) * xSpeed;
ySpeed = ySpeed * 50;
}
}
function bombDrop() {
if (ballFreeze == false) {
if (bombTimer <= 0) {
bombTimer = bombTimegap;
attachMovie("bombDrop", "bombDrop" + bombID, 750 + bombID);
_root["bombDropMove" + bombID] = 0;
_root["bombDropX" + bombID] = 200 - majorX;
_root["bombDropY" + bombID] = 300 + majorY;
_root["bombDrop" + bombID]._x = 200;
_root["bombDrop" + bombID]._y = 300;
_root["bombDrop" + bombID].exploded = false;
bombID = bombID + 1;
if (bombID >= 20) {
bombID = 1;
}
}
}
}
function makeMap() {
attachMovie("map1", "map1", 110);
map1.gotoAndStop(_root.currentLevel);
myBmp.draw("map1", myMatrix, myCT, "layer");
removeMovieClip("map1");
}
function makeHouseMap() {
attachMovie("map2", "map2", 105);
map2.gotoAndStop(_root.currentLevel);
myHouseBmp.draw("map2", myMatrix, myCT, "layer");
removeMovieClip("map2");
}
function removeLine() {
removeMovieClip(drawLine);
removeMovieClip(starSpin1);
removeMovieClip(starSpin2);
removeMovieClip(mapHolder.starSpin1);
removeMovieClip(mapHolder.starSpin2);
removeMovieClip(mapHolder.drawLine);
}
_quality = _root.game_quality;
if (sound_on == true) {
bgSound = new Sound(this);
bgSound.attachSound("track_" + currentLevel);
bgSound.start(0, 99);
}
attachMovie("barSide", "barLeft", 151);
attachMovie("barSide", "barRight", 152);
attachMovie("barTop", "barTop", 153);
attachMovie("barTop", "barBase", 154);
attachMovie("background1", "background1", 1);
attachMovie("background2", "background2", 2);
attachMovie("background3", "background3", 3);
attachMovie("ballBounce", "ballBounce", 300);
ballBounce._x = 200;
ballBounce._y = 275;
attachMovie("topMask", "topMask", 900);
topMask._x = 0;
topMask._y = 0;
topMask.mapDisplay.attachMovie("ballSymbol", "ballSymbol", 2000);
bitNumber = 20;
bitCount = 0;
var i = 1;
while (i <= bitNumber) {
attachMovie("bit", "bit" + i, 600 + i);
bitCount = bitCount + 1;
topMask.mapDisplay.attachMovie("bitMarker", "bitMarker" + i, 1950 + i);
_root["bit" + i].id = i;
_root["bitStartX" + i] = (Math.random() * 1800) + 100;
_root["bitStartY" + i] = (Math.random() * 600) + 100;
_root["bitSpeedX" + i] = -2;
_root["bitAlive" + i] = true;
_root["bitDirectionX" + i] = (2 * Math.round(Math.random())) - 1;
_root["bitMoveX" + i] = 0;
_root["bitMoveY" + i] = 0;
i++;
}
var myMatrix = (new flash.geom.Matrix());
var myCT = (new flash.geom.ColorTransform(1, 1, 1, 1, 0, 0, 0, 0));
var myBmp = (new flash.display.BitmapData(2500, 1000, true, 0));
var myHouseBmp = (new flash.display.BitmapData(2500, 1000, true, 0));
createEmptyMovieClip("mapHolder", 709);
mapHolder.attachBitmap(myBmp, 10, "never", false);
topMask.mapDisplay.displayMapHolder.attachBitmap(myBmp, 11, "never", false);
myMatrix.translate(0, 120);
attachMovie("hole", "hole_mc", 450);
hole_mc._visible = false;
attachMovie("bloodMark", "bloodMark", 451);
bloodMark._visible = false;
makeMap();
mapHolder.attachBitmap(myHouseBmp, 8, "never", false);
topMask.mapDisplay.displayMapHolder.attachBitmap(myHouseBmp, 9, "never", false);
makeHouseMap();
array = new Array(360);
ballRadius = ballBounce.innerBall._width / 2;
startDraw = false;
lineStartPointX = 0;
lineStartPoint = 0;
lineEndPointX = 0;
lineEndPointY = 0;
majorX = -800;
majorY = -200;
xSpeed = 0;
ySpeed = 10;
bombID = 1;
bombTimer = 0;
powerUpTimer = 0;
fireSpin = false;
laser = false;
laserShoot = false;
laserDir = 1;
abilityTimer = 0;
powerUpState = false;
poweredUp = false;
chainCrush = 1;
chainLink = 0;
chainLinkMax = 100;
ballFreeze = false;
spaceDown = false;
ballFreeze = true;
bitValue = 90 + (currentLevel * 10);
scoreDecreaseTimer = 0;
totalScore = 1000;
abilityTimerMax = 500;
powerUpTimerMax = 700;
maxSpeed = 12;
gravity = 0.4;
speedNudge = 0.8;
bombPower = 60;
bombTimegap = 20;
var mouseListener = new Object();
mouseListener.onMouseWheel = function (delta) {
bombDrop();
};
topMask.bombGauge.bombSymbol.onPress = function () {
bombDrop();
};
topMask.menuButton.onRollOver = function () {
this._xscale = 120;
this._yscale = 120;
};
topMask.menuButton.onRollOut = function () {
this._xscale = 100;
this._yscale = 100;
};
topMask.menuButton.onPress = function () {
_root.gotoAndStop("menuScreen");
};
topMask.music_toggle.onRollOver = function () {
this._xscale = 120;
this._yscale = 120;
};
topMask.music_toggle.onRollOut = function () {
this._xscale = 100;
this._yscale = 100;
};
topMask.music_toggle.onPress = function () {
if (sound_on == true) {
sound_on = false;
bgSound.stop();
} else {
sound_on = true;
bgSound = new Sound(this);
bgSound.attachSound("track_" + _root.currentLevel);
bgSound.start(0, 99);
}
};
topMask.music_toggle.onEnterFrame = function () {
if (sound_on == true) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
};
Mouse.addListener(mouseListener);
onMouseDown = function () {
if (ballFreeze == false) {
if (_ymouse > 150) {
if (ballBounce.innerBall.hitTest(_xmouse, _ymouse, true)) {
speedRush();
} else {
removeLine();
attachMovie("attachLine", "attachLine", 850);
}
}
}
};
onMouseUp = function () {
if (startDraw == true) {
startDraw = false;
drawAllowed = true;
mapHolder.attachMovie("attachLine", "drawLine", 850);
mapHolder.drawLine._alpha = 100;
mapHolder.drawLine._x = attachLine._x - majorX;
mapHolder.drawLine._y = attachLine._y + majorY;
mapHolder.drawLine._rotation = drawAngle;
bounceAngle = drawAngle;
removeMovieClip(attachLine);
lineAngle = mapHolder.drawLine._rotation;
} else if (!ballBounce.innerBall.hitTest(_xmouse, _ymouse, true)) {
removeLine();
} else {
removeMovieClip(attachLine);
}
};
_root.onEnterFrame = function () {
_quality = _root.game_quality;
if (Key.isDown(32)) {
if (spaceDown == false) {
spaceDown = true;
bombDrop();
}
} else {
spaceDown = false;
}
removeMovieClip(mapHolder.starSpinFade1);
removeMovieClip(mapHolder.starSpinFade2);
mapHolder.drawLine2.clear();
baseCollision = false;
topCollision = false;
leftCollision = false;
rightCollision = false;
drawCollision = 1;
ballLineCollision = false;
if ((xSpeed * ySpeed) < 0) {
minLoop = 360;
maxLoop = 0;
inc = -10;
} else {
minLoop = 0;
maxLoop = 360;
inc = 10;
}
lineCollision = false;
i = minLoop;
while (i != maxLoop) {
xPos = ballBounce._x + (ballRadius * Math.cos((i / 180) * Math.PI));
yPos = ballBounce._y - (ballRadius * Math.sin((i / 180) * Math.PI));
if (_root.barLeft.hitTest(xPos, yPos, true)) {
leftCollision = true;
chainLink = chainLink - 1;
}
if (_root.barRight.hitTest(xPos, yPos, true)) {
rightCollision = true;
chainLink = chainLink - 1;
}
if (_root.barBase.hitTest(xPos, yPos, true)) {
baseCollision = true;
chainLink = chainLink - 1;
}
if (_root.barTop.hitTest(xPos, yPos, true)) {
topCollision = true;
}
if (_root.drawLine.hitTest(xPos, yPos, true)) {
ballLineCollision = true;
}
if (_root.mapHolder.drawLine.hitTest(xPos, yPos, true)) {
Array[i] = 1;
lineCollision = true;
} else if (myBmp.getPixel(xPos - majorX, yPos + majorY) != 0) {
Array[i] = 1;
} else if (myHouseBmp.getPixel(xPos - majorX, yPos + majorY) != 0) {
Array[i] = 1;
} else {
Array[i] = 0;
}
i = i + inc;
}
startNode = 0;
endNode = 0;
i = minLoop;
while (i != maxLoop) {
if ((lastCheck > 0) && (Array[i] > 0)) {
startNode = i;
}
if ((lastCheck > 0) && (Array[i] == 0)) {
endNode = i;
}
lastCheck = Array[i];
i = i + inc;
}
if (((endNode - startNode) > 180) || ((endNode - startNode) < -180)) {
angle = 0;
} else {
angle = (startNode + endNode) / 2;
}
speed = Math.sqrt((xSpeed * xSpeed) + (ySpeed * ySpeed));
currentAngle = Math.atan(ySpeed / xSpeed) / (Math.PI/180);
if (xSpeed > 0) {
currentAngle = currentAngle + 180;
}
if (startNode != endNode) {
if (lineCollision == true) {
if (drawAllowed == true) {
drawAllowed = false;
xSpeed = maxSpeed * Math.sin(((bounceAngle + 90) / 180) * Math.PI);
ySpeed = maxSpeed * Math.cos(((bounceAngle + 90) / 180) * Math.PI);
}
} else {
xSpeed = speed * Math.sin(((angle + 90) / 180) * Math.PI);
ySpeed = (-speed) * Math.cos(((angle + 90) / 180) * Math.PI);
}
} else {
ySpeed = ySpeed + gravity;
}
if (startDraw == true) {
lineEndPointX = _xmouse;
lineEndPointY = _ymouse;
drawLine.clear();
drawLine.lineStyle(8, 0, 100);
drawLine.moveTo(lineStartPointX, lineStartPointY);
drawLine.lineTo(lineEndPointX, lineEndPointY);
}
if (xSpeed > maxSpeed) {
xSpeed = maxSpeed;
}
if (xSpeed < (-maxSpeed)) {
xSpeed = -maxSpeed;
}
if (ySpeed > maxSpeed) {
ySpeed = maxSpeed;
}
if (ySpeed < (-maxSpeed)) {
ySpeed = -maxSpeed;
}
if (baseCollision == true) {
ySpeed = -7;
}
if (topCollision == true) {
ySpeed = 7;
}
if (leftCollision == true) {
xSpeed = -7;
}
if (rightCollision == true) {
xSpeed = 7;
}
if (ballFreeze == false) {
majorX = majorX + (xSpeed * speedNudge);
majorY = majorY + (ySpeed * speedNudge);
}
if (myBmp.getPixel(ballBounce._x - majorX, ballBounce._y + majorY) != 0) {
bombField(ballBounce._x - majorX, ballBounce._y + majorY, 50);
}
background1._x = 0 + (majorX / 16);
background1._y = 152;
background2._x = -100 + (majorX / 4);
background2._y = 80 - (majorY / 4);
background3._x = -200 + (majorX / 1.3);
background3._y = -50 - (majorY / 1.3);
mapHolder._x = 0 + majorX;
mapHolder._y = -majorY;
barTop._x = 0 + majorX;
barTop._y = -majorY;
barBase._x = 0 + majorX;
barBase._y = 1000 - majorY;
barLeft._x = 0 + majorX;
barLeft._y = -majorY;
barRight._x = 1990 + majorX;
barRight._y = -majorY;
powerUp._x = powerUpX + majorX;
powerUp._y = powerUpY - majorY;
var i = 1;
while (i <= 30) {
if (myHouseBmp.getPixel(_root["bit" + i]._x - majorX, (_root["bit" + i]._y - 20) + majorY) != 0) {
if (myHouseBmp.getPixel((_root["bit" + i]._x - 25) - majorX, (_root["bit" + i]._y - 20) + majorY) == 0) {
_root["bitDirectionX" + i] = -1;
}
if (myHouseBmp.getPixel((_root["bit" + i]._x + 25) - majorX, (_root["bit" + i]._y - 20) + majorY) == 0) {
_root["bitDirectionX" + i] = 1;
}
} else if (ballFreeze == false) {
if (_root["bit" + i].hitTest(ballBounce.hitZone) && (_root["bitAlive" + i] == true)) {
_root["bitAlive" + i] = false;
_root["bit" + i].gotoAndPlay("death");
}
if (laserShoot == true) {
if (_root["bit" + i].hitTest(laserShot)) {
_root["bitAlive" + i] = false;
_root["bit" + i].gotoAndPlay("death");
laserShot.removeMovieClip();
laserShoot = false;
}
} else if (laser == true) {
if (_root["bit" + i].hitTest(ballBounce.laserLineR)) {
laserShoot = true;
attachMovie("laserShot", "laserShot", 780);
laserDir = 1;
laserShot._x = ballBounce._x + 35;
laserShot._y = ballBounce._y;
}
if (_root["bit" + i].hitTest(ballBounce.laserLineL)) {
laserShoot = true;
attachMovie("laserShot", "laserShot", 780);
laserDir = -1;
laserShot._x = ballBounce._x - 35;
laserShot._y = ballBounce._y;
}
}
}
if ((_root["bit" + i]._y + majorY) < 900) {
if (myBmp.getPixel((_root["bit" + i]._x - 5) - majorX, (_root["bit" + i]._y - 25) + majorY) != 0) {
_root["bitDirectionX" + i] = 1;
}
if (myBmp.getPixel((_root["bit" + i]._x + 5) - majorX, (_root["bit" + i]._y - 25) + majorY) != 0) {
_root["bitDirectionX" + i] = -1;
}
if (myBmp.getPixel((_root["bit" + i]._x - 5) - majorX, (_root["bit" + i]._y + 20) + majorY) == 0) {
_root["bitDirectionX" + i] = -1;
}
if (myBmp.getPixel((_root["bit" + i]._x + 5) - majorX, (_root["bit" + i]._y + 20) + majorY) == 0) {
_root["bitDirectionX" + i] = 1;
}
}
if (_root["bit" + i].hitTest(barLeft)) {
_root["bitDirectionX" + i] = -1;
}
if (_root["bit" + i].hitTest(barRight)) {
_root["bitDirectionX" + i] = 1;
}
_root["bit" + i]._xscale = _root["bitDirectionX" + i] * 100;
_root["bitMoveX" + i] = _root["bitMoveX" + i] + (_root["bitDirectionX" + i] * _root["bitSpeedX" + i]);
var _local3 = {x:_root["bit" + i].dirtPoint._x, y:_root["bit" + i].dirtPoint._y};
_root["bit" + i].dirtPoint.localToGlobal(_local3);
_root["bit" + i]._x = (_root["bitStartX" + i] + majorX) + _root["bitMoveX" + i];
_root["bit" + i]._y = (_root["bitStartY" + i] - majorY) + _root["bitMoveY" + i];
if ((myBmp.getPixel(_root["bit" + i]._x - majorX, _local3.y + majorY) == 0) && (myBmp.getPixel(_root["bit" + i]._x - majorX, (_root["bit" + i]._y - 0) + majorY) == 0)) {
if (_root["bit" + i]._y >= barBase._y) {
_root["bit" + i]._y = barBase._y;
} else {
_root["bitMoveY" + i] = _root["bitMoveY" + i] + 5;
}
} else if (myBmp.getPixel(_root["bit" + i]._x - majorX, _local3.y + majorY) != 0) {
_root["bitMoveY" + i] = _root["bitMoveY" + i] - 5;
}
var _local4 = {x:_root["bit" + i].basePointLeft._x, y:_root["bit" + i].basePointLeft._y};
_root["bit" + i].basePointLeft.localToGlobal(_local4);
var _local2 = {x:_root["bit" + i].basePointRight._x, y:_root["bit" + i].basePointRight._y};
_root["bit" + i].basePointRight.localToGlobal(_local2);
if (myBmp.getPixel(_local4.x - majorX, _local4.y + majorY) == 0) {
if (myBmp.getPixel(_local2.x - majorX, _local2.y + majorY) == 0) {
_root["bit" + i]._rotation = 0;
} else {
_root["bit" + i]._rotation = _root["bit" + i]._rotation - (5 * _root["bitDirectionX" + i]);
}
} else if (myBmp.getPixel(_local2.x - majorX, _local2.y + majorY) == 0) {
_root["bit" + i]._rotation = _root["bit" + i]._rotation + (5 * _root["bitDirectionX" + i]);
}
i++;
}
topMask.mapDisplay.ballSymbol._x = (majorX / -10) + 20;
topMask.mapDisplay.ballSymbol._y = (majorY / 10) + 27;
var i = 1;
while (i <= 30) {
topMask.mapDisplay["bitMarker" + i]._x = (_root["bitStartX" + i] + _root["bitMoveX" + i]) / 10;
topMask.mapDisplay["bitMarker" + i]._y = (_root["bitStartY" + i] + _root["bitMoveY" + i]) / 10;
i++;
}
cleanSweep(0);
cleanSweep(-5);
cleanSweep(400);
cleanSweep(405);
cleanSweepVert(250);
cleanSweepVert(245);
cleanSweepVert(500);
cleanSweepVert(505);
xDistance = 200 - majorX;
do {
if (xDistance > 300) {
xDistance = xDistance - 300;
}
} while (xDistance > 300);
ballFrame = Math.ceil(xDistance / 10);
ballBounce.innerBall.gotoAndStop(ballFrame);
var i = 1;
while (i < 20) {
_root["bombDrop" + i]._x = _root["bombDropX" + i] + majorX;
_root["bombDrop" + i]._y = (_root["bombDropY" + i] - majorY) + _root["bombDropMove" + i];
bombDropX = _root["bombDrop" + i]._x - majorX;
bombDropY = _root["bombDrop" + i]._y + majorY;
if ((myBmp.getPixel(bombDropX, bombDropY) != 0) || (myHouseBmp.getPixel(bombDropX, bombDropY) != 0)) {
blastArea = bombPower;
bombField(bombDropX, bombDropY, blastArea);
_root["bombDrop" + i].play();
} else if (_root["bombDrop" + i].hitTest(_root.barBase)) {
_root["bombDrop" + i].play();
} else if (_root["bombDrop" + i].exploded == false) {
_root["bombDropMove" + i] = _root["bombDropMove" + i] + 5;
}
i++;
}
if (bombTimer > 0) {
bombTimer = bombTimer - 1;
}
displayX = xSpeed;
displayY = ySpeed;
if (drawAllowed == false) {
mapHolder.drawLine.gotoAndStop(2);
mapHolder.drawLine._alpha = mapHolder.drawLine._alpha - 20;
}
xStart = _xmouse;
yStart = _ymouse;
attachLine._x = xStart;
attachLine._y = yStart;
lineX = xStart - 200;
lineY = yStart - 275;
lineDistance = Math.sqrt((lineX * lineX) + (lineY * lineY));
if (lineDistance < 15) {
attachLine._alpha = 0;
startDraw = false;
} else {
attachLine._alpha = 50;
startDraw = true;
}
drawAngle = Math.atan((xStart - 200) / (yStart - 275)) / (Math.PI/180);
if (yStart >= 275) {
drawAngle = 90 - drawAngle;
} else {
drawAngle = 270 - drawAngle;
}
if ((xStart > 200) && ((drawAngle < 190) && (drawAngle > 170))) {
drawAngle = 0;
}
if ((xStart < 200) && ((drawAngle < 10) || (drawAngle > 350))) {
drawAngle = 180;
}
attachLine._rotation = drawAngle;
tracevar = (xStart + " ") + drawAngle;
if ((fireSpin == true) || (laser == true)) {
poweredUp = true;
} else {
poweredUp = false;
}
powerUpX = powerUpX + 3;
if (powerUpX >= 2000) {
powerUpX = 0;
powerUpY = (Math.random() * 900) + 50;
}
topMask.mapDisplay.powerUpMarker._x = powerUpX / 10;
topMask.mapDisplay.powerUpMarker._y = powerUpY / 10;
if ((poweredUp == false) && (powerUpState == false)) {
powerUpX = Math.random() * 2000;
powerUpY = (Math.random() * 900) + 50;
if (myBmp.getPixel(powerUpX, powerUpY) == 0) {
attachMovie("powerUp", "powerUp", 750);
powerUpChoose = Math.random() * 100;
if (powerUpChoose > 75) {
powerUpType = "blastRadius";
} else if (powerUpChoose > 50) {
powerUpType = "bombFreq";
} else if (powerUpChoose > 25) {
powerUpType = "laser";
} else if (powerUpChoose > 0) {
powerUpType = "fireSpin";
}
powerUp.symbol.gotoAndStop(powerUpType);
powerUpState = true;
topMask.mapDisplay.attachMovie("powerUpMarker", "powerUpMarker", 2050);
}
}
if (ballBounce.innerBall.hitTest(powerUp)) {
if (powerUpState == true) {
powerUpState = false;
powerUp.gotoAndPlay("removePowerUp");
if (powerUpType == "blastRadius") {
topMask.powerUpDisplay.gotoAndPlay("blastRadius");
bombPower = bombPower + 20;
} else if (powerUpType == "bombFreq") {
topMask.powerUpDisplay.gotoAndPlay("bombFreq");
if (bombTimegap > 5) {
bombTimegap = bombTimegap - 5;
} else {
bombTimegap = 5;
}
} else if (powerUpType == "laser") {
topMask.powerUpDisplay.gotoAndStop("laser");
laser = true;
fireSpin = false;
abilityTimer = abilityTimerMax;
} else if (powerUpType == "fireSpin") {
topMask.powerUpDisplay.gotoAndStop("fireSpin");
fireSpin = true;
laser = false;
abilityTimer = abilityTimerMax;
}
}
}
if (fireSpin == true) {
ballBounce.hitZone._xscale = 150;
ballBounce.hitZone._yscale = 180;
ballBounce.fireSpin._alpha = 100;
} else {
ballBounce.hitZone._xscale = 55;
ballBounce.hitZone._yscale = 70;
ballBounce.fireSpin._alpha = 0;
}
if (laser == true) {
ballBounce.laser._alpha = 50;
} else {
ballBounce.laser._alpha = 0;
}
if (laserShoot == true) {
laserShot._x = laserShot._x + (20 * laserDir);
if (((myHouseBmp.getPixel(laserShot._x - majorX, laserShot._y + majorY) != 0) || (laserShot._x < -50)) || (laserShot._x > 450)) {
laserShot.removeMovieClip();
laserShoot = false;
}
}
if (poweredUp == true) {
abilityTimer = abilityTimer - 1;
if (abilityTimer == 0) {
topMask.powerUpDisplay.gotoAndStop("none");
topMask.timeBar._alpha = 0;
fireSpin = false;
laser = false;
} else {
topMask.timeBar._alpha = 100;
topMask.timeBar.powerMask._xscale = (abilityTimer / abilityTimerMax) * 100;
}
}
topMask.chainDisplay.gotoAndStop(chainCrush);
if (chainLink > 0) {
chainLink = chainLink - 1;
topMask.chainTimeBar._alpha = 100;
topMask.chainTimeBar.powerMask._xscale = (chainLink / chainLinkMax) * 100;
} else {
topMask.chainTimeBar._alpha = 0;
chainCrush = 1;
}
if (bitCount == 0) {
if (ballFreeze == false) {
ballBounce.gotoAndPlay("explode");
topMask.finishDisplay.play();
}
removeLine();
ballFreeze = true;
} else {
scoreDecreaseTimer = scoreDecreaseTimer + 1;
if (scoreDecreaseTimer == 30) {
scoreDecreaseTimer = 0;
totalScore = totalScore - 10;
}
}
};
Symbol 8 MovieClip [box] Frame 1
stop();
Symbol 8 MovieClip [box] Frame 2
stop();
Symbol 33 MovieClip [bit] Frame 25
gotoAndPlay ("walk");
Symbol 33 MovieClip [bit] Frame 26
_root.totalScore = (_root.totalScore + _root.bitValue) + (_root.chainCrush * 30);
if (_root.chainLink > 0) {
_root.chainCrush = _root.chainCrush + 1;
}
_root.chainLink = _root.chainLinkMax;
if (_root.sound_on == true) {
boomSound = new Sound(this);
boomSound.attachSound("fxSquish");
boomSound.start(0, 1);
}
Symbol 33 MovieClip [bit] Frame 29
_root.bitCount = _root.bitCount - 1;
_root.topMask.mapDisplay["bitMarker" + id].removeMovieClip();
removeMovieClip(this);
Symbol 75 MovieClip Frame 1
_root.stop();
PercentLoaded = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100;
if (PercentLoaded != 100) {
setProperty(bar, _xscale , PercentLoaded);
} else {
gotoAndStop ("loaded");
}
Symbol 75 MovieClip Frame 2
gotoAndPlay (1);
Instance of Symbol 74 MovieClip in Symbol 75 MovieClip Frame 3
on (rollOver) {
this._xscale = 120;
this._yscale = 120;
}
on (rollOut) {
this._xscale = 100;
this._yscale = 100;
}
on (release) {
_root.play();
}
Symbol 92 MovieClip Frame 1
stop();
Symbol 102 MovieClip Frame 1
stop();
Symbol 105 MovieClip [powerUp] Frame 1
stop();
Symbol 105 MovieClip [powerUp] Frame 100
removeMovieClip(_root.topMask.mapDisplay.powerUpMarker);
removeMovieClip(this);
Symbol 108 MovieClip [attachLine] Frame 1
stop();
Symbol 124 MovieClip [map2] Frame 1
stop();
Symbol 143 MovieClip [map1] Frame 1
stop();
Symbol 155 MovieClip Frame 1
stop();
Symbol 155 MovieClip Frame 2
stop();
Symbol 172 MovieClip Frame 1
stop();
Instance of Symbol 172 MovieClip "box" in Symbol 177 MovieClip Frame 1
onClipEvent (enterFrame) {
maxWidth = 100 / _root.maxSpeed;
if (_root.displayX < 0) {
_root.displayX = -_root.displayX;
}
if (_root.displayY < 0) {
_root.displayY = -_root.displayY;
}
currentSpeed = Math.sqrt((_root.displayX * _root.displayX) + (_root.displayY * _root.displayY));
this._xscale = currentSpeed * maxWidth;
}
Instance of Symbol 172 MovieClip "box" in Symbol 183 MovieClip Frame 1
onClipEvent (enterFrame) {
maxWidth = 100 / _root.bombTimegap;
this._xscale = 100 - (_root.bombTimer * maxWidth);
}
Symbol 190 MovieClip Frame 1
stop();
Symbol 190 MovieClip Frame 71
gotoAndStop ("none");
Symbol 190 MovieClip Frame 127
gotoAndStop ("none");
Symbol 214 MovieClip Frame 1
stop();
Symbol 220 MovieClip Frame 1
stop();
Symbol 220 MovieClip Frame 21
if (_root.totalScore > _root.score_level1) {
crushRank.gotoAndStop("r_m");
crushRating.gotoAndStop("r_m");
} else if (_root.totalScore > _root.score_level2) {
crushRank.gotoAndStop("r_a");
crushRating.gotoAndStop("r_a");
} else if (_root.totalScore > _root.score_level3) {
crushRank.gotoAndStop("r_b");
crushRating.gotoAndStop("r_b");
} else if (_root.totalScore > _root.score_level4) {
crushRank.gotoAndStop("r_c");
crushRating.gotoAndStop("r_c");
} else if (_root.totalScore > _root.score_level5) {
crushRank.gotoAndStop("r_d");
crushRating.gotoAndStop("r_d");
} else if (_root.totalScore > _root.score_level6) {
crushRank.gotoAndStop("r_e");
crushRating.gotoAndStop("r_e");
} else {
crushRank.gotoAndStop("r_f");
crushRating.gotoAndStop("r_f");
}
if (_root.totalScore > _root["stage_score" + _root.currentLevel]) {
_root["stage_score" + _root.currentLevel] = _root.totalScore;
}
_root.local_data.data["stage_score" + _root.currentLevel] = _root["stage_score" + _root.currentLevel];
_root.local_data.flush();
Symbol 220 MovieClip Frame 41
stop();
levelSelect.onRollOver = function () {
this.play();
this._xscale = 110;
this._yscale = 110;
};
levelSelect.onRollOut = function () {
this._xscale = 100;
this._yscale = 100;
};
levelSelect.onPress = function () {
_root.gotoAndStop("levelSelect");
};
max_games.onRollOver = function () {
this.play();
this._xscale = 110;
this._yscale = 110;
};
max_games.onRollOut = function () {
this._xscale = 100;
this._yscale = 100;
};
max_games.onPress = function () {
getURL ("http://www.maxgames.com", "_blank");
};
Symbol 235 MovieClip Frame 80
stop();
_root.ballFreeze = false;
Symbol 239 MovieClip Frame 80
stop();
Instance of Symbol 153 MovieClip in Symbol 240 MovieClip [topMask] Frame 1
on (press) {
getURL ("http://www.maxgames.com", "_blank");
}
Instance of Symbol 253 MovieClip in Symbol 254 MovieClip Frame 1
onClipEvent (load) {
if (_root.xSpeed < 0) {
this._xscale = 100;
} else {
this._xscale = -100;
}
}
Symbol 262 MovieClip [ballBounce] Frame 1
stop();
Symbol 262 MovieClip [ballBounce] Frame 7
gotoAndStop (1);
Symbol 262 MovieClip [ballBounce] Frame 14
stop();
Symbol 268 MovieClip [bombDrop] Frame 1
stop();
Symbol 268 MovieClip [bombDrop] Frame 2
this._rotation = Math.random() * 360;
this.exploded = true;
if (_root.sound_on == true) {
trapDiffY = 275 - this._y;
if (trapDiffY < 0) {
trapDiffY = -trapDiffY;
}
trapDiffY = trapDiffY / 10;
trapDiffX = 200 - this._x;
if (trapDiffX < 0) {
trapDiffX = -trapDiffX;
}
trapDiffX = trapDiffX / 10;
trapVolume = (100 - trapDiffX) - trapDiffY;
if (trapVolume < 10) {
trapVolume = 10;
}
boomSound = new Sound(this);
boomSound.attachSound("fxExplode");
boomSound.start(0, 1);
boomSound.setVolume(trapVolume);
}
Symbol 268 MovieClip [bombDrop] Frame 80
removeMovieClip(this);
Symbol 284 MovieClip Frame 50
stop();
Symbol 293 Button
on (release) {
getURL ("http://www.maxgames.com", "_blank");
}
Symbol 299 MovieClip Frame 60
stop();
Symbol 313 MovieClip Frame 14
stop();
Symbol 314 MovieClip Frame 1
sharkSound = new Sound(this);
sharkSound.attachSound("fxShark");
sharkSound.start(0, 1);
Symbol 314 MovieClip Frame 353
_root.gotoAndStop("tutorial");
Instance of Symbol 153 MovieClip in Symbol 325 MovieClip Frame 1
on (press) {
getURL ("http://www.maxgames.com", "_blank");
}
Symbol 326 MovieClip Frame 30
stop();
Symbol 366 MovieClip Frame 1
stop();
Symbol 366 MovieClip Frame 7
stop();
Symbol 372 MovieClip Frame 1
stop();
Symbol 378 MovieClip Frame 30
stop();
Symbol 380 MovieClip Frame 1
stop();
if (_root.stage_score1 > 0) {
play();
}
Symbol 380 MovieClip Frame 8
stop();
if (_root.stage_score2 > 0) {
play();
}
Symbol 380 MovieClip Frame 14
stop();
if (_root.stage_score3 > 0) {
play();
}
Symbol 380 MovieClip Frame 20
stop();
if (_root.stage_score4 > 0) {
play();
}
Symbol 380 MovieClip Frame 26
stop();
if (_root.stage_score5 > 0) {
play();
}
Symbol 380 MovieClip Frame 30
stop();
Symbol 391 MovieClip Frame 1
stop();
Instance of Symbol 8 MovieClip [box] in Symbol 395 MovieClip Frame 1
on (release) {
getURL ("http://www.ekarlsson.se/", "_blank");
}
Instance of Symbol 8 MovieClip [box] in Symbol 395 MovieClip Frame 1
on (press) {
getURL ("http://www.newgrounds.com", "_blank");
}
Instance of Symbol 8 MovieClip [box] in Symbol 395 MovieClip Frame 1
on (press) {
getURL ("http://www.maxgames.com", "_blank");
}