Frame 1
function launchFusionURL() {
getURL (link, "_blank");
}
stop();
link = "http://www.flowgo.com/page.cfm?lk=40334";
Frame 2
function initLevelChart() {
if (level == 1) {
chartLevel = [3, 5, 4, 50, 2, 2, 1];
}
if (level == 2) {
chartLevel = [4, 6, 3.8, 65, 2, 4, 2];
}
if (level == 3) {
chartLevel = [5, 6, 3.6, 80, 2, 6, 3];
}
if (level == 4) {
chartLevel = [6, 6, 3.4, 100, 3, 6, 4];
}
setTileColorRange = chartLevel[0];
setStartingRowSize = chartLevel[1];
cycleTimer = chartLevel[2];
setLevelTileQuota = chartLevel[3];
multiplier = chartLevel[4];
numberOfBonuses = chartLevel[5];
wallHits = chartLevel[6];
}
function openMenu() {
gameState = "menu";
menu.gotoAndStop("menu");
table._visible = false;
bonusRoundBanner._visible = false;
_root.newBonusBubble._visible = false;
message.removeMovieClip();
TRbubble._visible = false;
TR._visible = false;
}
function startGame() {
gameTilesPopped = 0;
_root.modeLabel.survivalTilesPopped = 0;
survivalTileQuota = 0;
puzzleNewRowCounter = 0;
bonusRoundHintFlag = "off";
gameState = "game";
menu.gotoAndStop(1);
_root.hints.gotoAndStop("hint1");
}
function initGameVars() {
var _local1 = _root;
bonusRound = false;
level = 1;
score = 0;
_local1.levelBonusTally = 0;
_local1.clearedTheGridTally = 0;
_local1.levelsCompletedTally = 0;
_local1.totalTilesClearedTally = 0;
initLevelVars();
}
function initLevelVars() {
var _local1 = _root;
_local1.SGRATimerStartLevel();
initLevelChart();
turnOffLights();
nukeSpent = false;
shooting = false;
userControl = "ready";
fusionCheck = false;
gravitySwitch = "off";
tempDirCount = 0;
puzzleNewRowCounter = 0;
puzzleNewRowQuota = 1;
_local1.table.gotoAndStop(1);
levelDisplay = level;
bonusRoundBanner._visible = false;
bonusBubble._visible = false;
initRowCount = setStartingRowSize;
initRowfactor = 0;
levelTileQuota = setLevelTileQuota;
tilesPopped = 0;
tilesRemaining = levelTileQuota - tilesPopped;
_local1.TRBubble.LQBubble._visible = true;
TRbubble._visible = true;
TR._visible = true;
table._visible = true;
nextMusicLoop();
}
function startNextLevel() {
bonusRound = false;
level = level + 1;
initLevelVars();
buildIsoMap();
startMainLoop();
}
function StartMainLoop() {
var _local1 = _root;
removeMovieClip(_local1.pauseBanner);
inPlay = true;
tick = 0;
_local1.sfx1.attachsound("effect101");
_local1.sfx1.start(0, 1);
cycle = (1000 / gravTimer) * cycleTimer;
gravDir = row;
newRowDir = row;
newRowEnd = "R";
MainTimer = setInterval(mainLoop, gravTimer);
}
function mainLoop() {
if (gravDir == row) {
gravDir = 1;
} else if (gravDir == 1) {
gravDir = row;
}
lightsControl();
gravity(gravDir);
shooterTileMoving(shootDirA, shootDirB, shootEndA, shootEndB);
}
function gravity(gravDir) {
var _local1 = _root;
var _local2 = gravDir;
tick = tick + 1;
if ((tick == Math.floor(cycle / setBonusPeriod)) and (shooting == false)) {
generateBonusItem();
}
if (((tick > cycle) and (gravitySwitch == "off")) and (mode != "puzzle")) {
if (shooting == false) {
tick = 1;
if (newRowDir == row) {
newRowDir = 1;
newRowEnd = "L";
} else if (newRowDir == 1) {
newRowDir = row;
newRowEnd = "R";
}
generateBonusItem();
if (bonusRound == false) {
newRow(newRowDir, newRowEnd);
}
}
} else if (gravitySwitch == "on") {
emptyGridCount = 81;
gravityContinue = 0;
i = 0;
while (i <= 99) {
if (_local1["cell" add i].edge == false) {
if ((_local1["cell" add i].state == 1) and (_local1["cell" add (i + _local2)].state == 2)) {
_local1["cell" add i].gotoAndStop(2);
_local1["cell" add i].state = 2;
_local1["cell" add i].tile.gotoAndStop(_local1["cell" add (i + _local2)].C);
_local1["cell" add (i + _local2)].gotoAndStop(1);
_local1["cell" add (i + _local2)].state = 1;
gravityContinue = gravityContinue + 1;
} else if ((_local1["cell" add i].state == 1) and (_local1["cell" add (i + _local2)].state == 1)) {
emptyGridCount = emptyGridCount - 1;
if (emptyGridCount == 0) {
if ((bonusRound == false) and (zeroCheck == false)) {
zeroCheck = true;
_local1.attachMovie("clearGridBonus", "message", 10000);
message._x = 375;
message._y = 260;
gravitySwitch = "off";
_local1.clearedTheGridTally = _local1.clearedTheGridTally + 1;
sfx9.attachSound("space-portal");
sfx9.start(0, 1);
} else if (_local1.bonusRound == true) {
tilesRemaining = 0;
inPlay = false;
stopMainLoop();
clearInterval(bonusTimerTick);
_local1.attachMovie("bonusRoundWinBanner", "message", 10000);
message._x = 375;
message._y = 260;
gravitySwitch = "off";
_local1.clearedTheGridTally = _local1.clearedTheGridTally + 1;
sfx9.attachSound("space-portal");
sfx9.start(0, 1);
BonusCounter();
}
}
}
}
i++;
}
if (gravityContinue == 0) {
tempDirCount = tempDirCount + 1;
if (tempDirCount == 4) {
tempDirCount = 0;
gravitySwitch = "off";
userControl = "ready";
mouseOverLogic(mouseDirNum);
}
}
}
}
function newRow(newRowDir, newRowEnd) {
var _local1 = _root;
var _local2 = newRowDir;
var _local3 = newRowEnd;
if (_local2 == 1) {
sfx1.attachSound("tile-push-in2");
}
if (_local2 == row) {
sfx1.attachSound("tile-push-in1");
}
resetLights();
sfx1.start(0, 1);
loseFlag = false;
i = 99;
while (i >= 0) {
if ((_local1["cell" add (i + _local2)].edge == true) and (_local1["cell" add i].state == 2)) {
_local1["cell" add (i + _local2)].lose.play();
_local1["cell" add (i + _local2)]._alpha = 50;
loseFlag = true;
}
if (_local1["cell" add (i - _local2)].state == 2) {
_local1["cell" add i].gotoAndStop(2);
_local1["cell" add i].tile.gotoAndStop(_local1["cell" add (i - _local2)].C);
}
if ((_local1["cell" add i]["end" add _local3] == true) and (_local1["cell" add i].state == 2)) {
_local1["cell" add i].gotoAndStop(2);
_local1["cell" add i].tile.gotoAndStop(Math.floor((Math.random() * setTileColorRange) + 1));
}
i--;
}
if (loseFlag == true) {
gameOver();
}
}
function shooterTileMoving(shootDirA, shootDirB, shootEndA, shootEndB) {
var _local1 = _root;
var _local2 = shootDirA;
var _local3 = shootDirB;
if (shooting == true) {
if (_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType != "none") {
if (_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType == "star") {
_local1["cell" add (currentShooterCell - _local2)].starHeroAnim.play();
score = score + scoreStarBonusValue;
sfx6.attachSound("space-warble-low");
sfx6.start(0, 1);
}
if (_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType == "bigstar") {
_local1["cell" add (currentShooterCell - _local2)].bigstarHeroAnim.play();
score = score + scoreBigStarBonusValue;
sfx6.attachSound("space-warble-low");
sfx6.start(0, 1);
}
if (_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType == "missle") {
superPower = "missle";
sfx6.attachSound("food-beer-bottle-open1");
sfx6.start(0, 1);
}
if (_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType == "crazyMissle") {
superPower = "crazyMissle";
sfx6.attachSound("food-beer-bottle-open1");
sfx6.start(0, 1);
}
if (_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType == "radiusBomb") {
superPower = "radiusBomb";
sfx6.attachSound("food-beer-bottle-open1");
sfx6.start(0, 1);
}
if (_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType == "wildColor") {
superPower = "wildColor";
sfx6.attachSound("food-beer-bottle-open1");
sfx6.start(0, 1);
}
if ((_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType == "bomb") or (_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType == "nuke")) {
sfx6.attachSound("effect102");
sfx6.start(0, 1);
v = 0;
i = 0;
while (i < gridsize) {
if (_local1["cell" add i].C == currentShooterColor) {
_local1["cell" add i].explodeNow = true;
}
if ((_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType == "nuke") and (_local1["cell" add i].state != 1)) {
_local1["cell" add i].explodeNow = true;
}
i++;
}
explodeResult();
_local1["cell" add currentShooterCell].gotoAndStop(1);
_local1["cell" add (currentShooterCell - _local2)].lose.play();
_local1["cell" add (currentShooterCell - _local2)].bonusItem.gotoAndStop(1);
shooting = false;
gravitySwitchTimer.play();
return;
}
if (_local1["cell" add (currentShooterCell - _local2)].bonusItem.bonusType == "wall") {
superPower = "";
sfx6.attachSound("effect200");
sfx6.start(0, 1);
_local1["cell" add currentShooterCell].lose.play();
_local1["cell" add currentShooterCell].gotoAndStop(1);
_local1["cell" add (currentShooterCell - _local2)].bonusItem.cracks.nextFrame();
shooting = false;
userControl = "ready";
mouseOverLogic(mouseDirNum);
} else if ((_local1["cell" add (currentShooterCell - _local2)].state == 1) and (_local1["cell" add currentShooterCell]["end" add shootEndA] == false)) {
_local1["cell" add (currentShooterCell - _local2)].gotoAndStop(3);
_local1["cell" add (currentShooterCell - _local2)].tile.gotoAndStop(currentShooterColor);
_local1["cell" add (currentShooterCell - _local2)].shooterBonusMarker.gotoAndStop(superPower);
_local1["cell" add currentShooterCell].gotoAndStop(1);
currentShooterCell = currentShooterCell - _local2;
} else if ((fusionCheck == false) and (_local1["cell" add (currentShooterCell - _local2)].state == 2)) {
fusionCheck = true;
fusionDirNum = _local2;
fusion(fusionDirNum);
} else if ((_local1["cell" add (currentShooterCell - _local3)].state == 1) and (_local1["cell" add currentShooterCell]["end" add shootEndB] == false)) {
_local1["cell" add (currentShooterCell - _local3)].gotoAndStop(3);
_local1["cell" add (currentShooterCell - _local3)].tile.gotoAndStop(currentShooterColor);
_local1["cell" add currentShooterCell].gotoAndStop(1);
currentShooterCell = currentShooterCell - _local3;
} else {
_local1["cell" add currentShooterCell].gotoAndStop(2);
shooting = false;
userControl = "ready";
fusionCheck = false;
mouseOverLogic(mouseDirNum);
TRbubble.TRbubbleColor.gotoAndStop(nextNextColor);
}
} else if ((_local1["cell" add (currentShooterCell - _local2)].state == 1) and (_local1["cell" add currentShooterCell]["end" add shootEndA] == false)) {
_local1["cell" add (currentShooterCell - _local2)].gotoAndStop(3);
_local1["cell" add (currentShooterCell - _local2)].tile.gotoAndStop(currentShooterColor);
_local1["cell" add (currentShooterCell - _local2)].shooterBonusMarker.gotoAndStop(superPower);
_local1["cell" add currentShooterCell].gotoAndStop(1);
currentShooterCell = currentShooterCell - _local2;
} else if ((fusionCheck == false) and (_local1["cell" add (currentShooterCell - _local2)].state == 2)) {
fusionCheck = true;
fusionDirNum = _local2;
fusion(fusionDirNum);
} else if ((_local1["cell" add (currentShooterCell - _local3)].state == 1) and (_local1["cell" add currentShooterCell]["end" add shootEndB] == false)) {
_local1["cell" add (currentShooterCell - _local3)].gotoAndStop(3);
_local1["cell" add (currentShooterCell - _local3)].tile.gotoAndStop(currentShooterColor);
_local1["cell" add currentShooterCell].gotoAndStop(1);
currentShooterCell = currentShooterCell - _local3;
} else {
_local1["cell" add currentShooterCell].gotoAndStop(2);
shooting = false;
userControl = "ready";
fusionCheck = false;
mouseOverLogic(mouseDirNum);
TRbubble.TRbubbleColor.gotoAndStop(nextNextColor);
}
}
}
function fusion(FusionDirNum) {
var _local1 = _root;
var _local2 = FusionDirNum;
v = 0;
tempDirCount = 0;
if (superPower == "missle") {
_local1["cell" add currentShooterCell].explodeNow = true;
_local1["cell" add (currentShooterCell - _local2)].explodeNow = true;
targetTile = currentShooterCell;
missleExplode();
gravitySwitchTimer.play();
shooting = false;
} else if (superPower == "crazyMissle") {
_local1["cell" add currentShooterCell].explodeNow = true;
_local1["cell" add (currentShooterCell - _local2)].explodeNow = true;
targetTile = currentShooterCell - _local2;
crazyMissleExplode();
gravitySwitchTimer.play();
shooting = false;
} else if (superPower == "radiusBomb") {
_local1["cell" add currentShooterCell].explodeNow = true;
_local1["cell" add (currentShooterCell - _local2)].explodeNow = true;
targetTile = currentShooterCell;
radiusBombExplode();
gravitySwitchTimer.play();
shooting = false;
} else if ((_local1["cell" add (currentShooterCell - _local2)].C == currentShooterColor) or (superPower == "wildColor")) {
if (superPower == "double") {
sfx1.attachSound("effect32");
sfx1.start(0, 1);
}
currentShooterColor = _local1["cell" add (currentShooterCell - _local2)].C;
EC = currentShooterColor;
_local1["cell" add currentShooterCell].explodeNow = true;
targetTile = currentShooterCell;
explode();
gravitySwitchTimer.play();
shooting = false;
}
}
function explode() {
virus = new Array();
e = targetTile;
v = 0;
_root["cell" add e].explodeNow = true;
virus[v] = e;
vcount = 0;
explodeSubRoutine();
}
function explodeSubRoutine() {
var _local1 = _root;
if ((_local1["cell" add (e - row)].C == EC) and (_local1["cell" add (e - row)].explodeNow == false)) {
if ((_local1["cell" add (e - row)].edge == false) and (_local1["cell" add (e - row)].cell >= 0)) {
_local1["cell" add (e - row)].explodeNow = true;
v = v + 1;
virus[v] = e - row;
}
}
if ((_local1["cell" add (e + 1)].C == EC) and (_local1["cell" add (e + 1)].explodeNow == false)) {
if ((_local1["cell" add (e + 1)].edge == false) and (_local1["cell" add (e + 1)].cell >= 0)) {
_local1["cell" add (e + 1)].explodeNow = true;
v = v + 1;
virus[v] = e + 1;
}
}
if ((_local1["cell" add (e + row)].C == EC) and (_local1["cell" add (e + row)].explodeNow == false)) {
if ((_local1["cell" add (e + row)].edge == false) and (_local1["cell" add (e + row)].cell >= 0)) {
_local1["cell" add (e + row)].explodeNow = true;
v = v + 1;
virus[v] = e + row;
}
}
if ((_local1["cell" add (e - 1)].C == EC) and (_local1["cell" add (e - 1)].explodeNow == false)) {
if ((_local1["cell" add (e - 1)].edge == false) and (_local1["cell" add (e - 1)].cell >= 0)) {
_local1["cell" add (e - 1)].explodeNow = true;
v = v + 1;
virus[v] = e - 1;
}
}
if (vcount < virus.length) {
vcount = vcount + 1;
if (virus[vcount] != null) {
e = virus[vcount];
explodeSubRoutine();
} else {
explodeResult();
}
} else {
explodeResult();
}
}
function missleExplode() {
var _local1 = _root;
sfx5.attachSound("space-airlock2");
sfx5.start(0, 1);
m = targetTile;
while (m >= 0) {
if (_local1["cell" add m].edge == true) {
m = 0;
} else {
_local1["cell" add m].explodeNow = true;
_local1["cell" add m].misslePath.play();
}
m = m - FusionDirNum;
}
explodeResult();
}
function crazyMissleExplode() {
var _local1 = _root;
sfx5.attachSound("space-disintegrate");
sfx5.start(0, 1);
m = targetTile;
while (m >= 0) {
if ((_local1["cell" add (m - FusionDirNum)].edge == true) and (FusionDirNum == 1)) {
FusionDirNum = row;
} else if ((m < 10) and (FusionDirNum == row)) {
FusionDirNum = 1;
} else if ((((((((((m > 10) and (m != 20)) and (m != 30)) and (m != 40)) and (m != 50)) and (m != 60)) and (m != 70)) and (m != 80)) and (m != 90)) and (_local1["cell" add (m - FusionDirNum)].edge != true)) {
ranCrazyDir = Math.random();
if (ranCrazyDir < 0.5) {
FusionDirNum = 1;
} else {
FusionDirNum = row;
}
}
_local1["cell" add m].explodeNow = true;
_local1["cell" add m].crazyMisslePath.play();
m = m - FusionDirNum;
}
explodeResult();
}
function radiusBombExplode() {
var _local1 = _root;
sfx5.attachSound("thunder");
sfx5.start(0, 1);
_local1["cell" add targetTile].explodeNow = true;
_local1["cell" add targetTile].bombPath.play();
if ((_local1["cell" add (targetTile - 2)].edge != true) and (_local1["cell" add (targetTile - 1)].edge != true)) {
_local1["cell" add (targetTile - 2)].explodeNow = true;
_local1["cell" add (targetTile - 2)].bombPath.play();
}
if (_local1["cell" add (targetTile - 1)].edge != true) {
_local1["cell" add (targetTile - 1)].explodeNow = true;
_local1["cell" add (targetTile - 1)].bombPath.play();
}
if ((_local1["cell" add (targetTile - (2 * row))].edge != true) and (_local1["cell" add (targetTile - row)].edge != true)) {
_local1["cell" add (targetTile - (2 * row))].explodeNow = true;
_local1["cell" add (targetTile - (2 * row))].bombPath.play();
}
if (_local1["cell" add (targetTile - row)].edge != true) {
_local1["cell" add (targetTile - row)].explodeNow = true;
_local1["cell" add (targetTile - row)].bombPath.play();
}
if ((_local1["cell" add (targetTile - (row + 2))].edge != true) and (_local1["cell" add (targetTile - (row + 1))].edge != true)) {
_local1["cell" add (targetTile - (row + 2))].explodeNow = true;
_local1["cell" add (targetTile - (row + 2))].bombPath.play();
}
if (_local1["cell" add (targetTile - (row + 1))].edge != true) {
_local1["cell" add (targetTile - (row + 1))].explodeNow = true;
_local1["cell" add (targetTile - (row + 1))].bombPath.play();
}
if ((_local1["cell" add (targetTile - ((2 * row) + 2))].edge != true) and (_local1["cell" add (targetTile - (row + 1))].edge != true)) {
_local1["cell" add (targetTile - ((2 * row) + 2))].explodeNow = true;
_local1["cell" add (targetTile - ((2 * row) + 2))].bombPath.play();
}
if (_local1["cell" add (targetTile - ((2 * row) + 1))].edge != true) {
_local1["cell" add (targetTile - ((2 * row) + 1))].explodeNow = true;
_local1["cell" add (targetTile - ((2 * row) + 1))].bombPath.play();
}
explodeResult();
}
function explodeResult() {
var _local1 = _root;
if (((superPower != "missle") and (superPower != "crazyMissle")) and (superPower != "radiusBomb")) {
if ((_local1.v > 3) and (_local1.v < 8)) {
_local1["cell" add currentShooterCell].bonus1000.play();
score = score + 1000;
sfx10.attachSound("explode2");
sfx10.start(0, 1);
fscommand ("flashstudio.shake", "\"10\"");
}
if (_local1.v > 7) {
_local1["cell" add currentShooterCell].bonus5000.play();
score = score + 5000;
sfx11.attachSound("explode3");
sfx11.start(0, 1);
fscommand ("flashstudio.shake", "\"40\"");
}
if ((_local1.v > 0) and (_local1.v < 4)) {
sfx5.attachSound("explode1");
sfx5.start(0, 1);
}
}
j = 0;
while (j <= gridsize) {
if (_local1["cell" add j].explodeNow == true) {
_local1["cell" add j].explodeNow = false;
_local1["cell" add j].gotoAndStop(1);
_local1["cell" add j].state = 1;
_local1.totalTilesClearedTally = _local1.totalTilesClearedTally + 1;
if (((superPower != "missle") and (superPower != "crazyMissle")) and (superPower != "radiusBomb")) {
if (_local1.v < 4) {
_local1["cell" add j].fusionPath.gotoAndStop(currentShooterColor + 1);
} else if (_local1.v < 8) {
_local1["cell" add j].fusionPathMedium.gotoAndStop(currentShooterColor + 1);
} else {
_local1["cell" add j].fusionPathLarge.gotoAndStop(currentShooterColor + 1);
}
}
gameTilesPopped = gameTilesPopped + 1;
if (mode != "survival") {
tilesRemaining = tilesRemaining - 1;
}
if (mode == "survival") {
_local1.modeLabel.survivalTilesPopped = _local1.modeLabel.survivalTilesPopped + 1;
survivalTileQuota = survivalTileQuota + 1;
if (survivalTileQuota == survivalLevelUp) {
survivalTileQuota = 0;
level = level + 1;
initLevelChart();
_local1.SGRATimerEndLevel();
_local1.SGRATimerStartLevel();
clearInterval(MainTimer);
_local1.cell88.bonusItem.gotoAndStop(9);
sfx4.attachSound("bonus-appear2");
sfx4.start(0, 1);
cycle = (1000 / gravTimer) * cycleTimer;
MainTimer = setInterval(mainLoop, gravTimer);
}
}
score = score + scorePointValue;
}
j++;
}
if (((tilesRemaining <= 0) and (bonusRound == false)) and (mode != "survival")) {
tilesRemaining = 0;
inPlay = false;
stopMainLoop();
attachMovie("levelComplete", "message", 10000);
message._x = 375;
message._y = 260;
_local1.levelsCompletedTally = _local1.levelsCompletedTally + 1;
_local1.helpSpecialFlag = "on";
BonusCounter();
}
TRbubble.TRbubbleColor.gotoAndStop(nextNextColor);
v = 0;
}
function gameOver() {
var _local1 = _root;
_local1.helpSpecialFlag = "on";
turnOffLights();
stopMainLoop();
getURL ("http://www.gamerival.com/game.cfm", "_self", "POST");
attachMovie("gameOverBanner", "message", 10000);
message._x = 375;
message._y = 260;
sfx1.attachSound("effect20");
sfx1.start(0, 1);
_local1.musicLoop.stop();
_local1.musicLoop.attachSound("betweenRound01");
_local1.musicLoop.start(0, 1000);
}
function stopMainLoop() {
clearInterval(MainTimer);
if (inPlay == true) {
musicLoop.stop();
}
inPlay = false;
}
function clearLevel() {
var _local1 = _root;
stopMainLoop();
turnOffLights();
_local1.SGRATimerEndLevel();
i = 0;
while (i < gridsize) {
_local1["cell" add i].removeMovieClip();
i++;
}
}
function BonusCounter() {
var _local1 = _root;
gravitySwitch = "off";
i = gridsize;
_local1.levelBonusTally = 0;
_local1.musicLoop.stop();
_local1.musicLoop.attachSound("betweenRound01");
_local1.musicLoop.start(0, 100);
sfx3.attachSound("end-of-rnd-countup");
bonusCounterTimer = setInterval(bonusCounterInterval, 40);
}
function bonusCounterInterval() {
var _local1 = _root;
if (((_local1["cell" add i].state == 1) and (_local1["cell" add i].edge == false)) and (_local1["cell" add i].bonusItem.bonusType == "none")) {
_local1["cell" add i].bonusAnim.play();
sfx3.start(0, 1);
score = score + ScoreEndRoundBonusPerOpenCell;
_local1.levelBonusTally = _local1.levelBonusTally + ScoreEndRoundBonusPerOpenCell;
}
i--;
if (i < -18) {
clearInterval(bonusCounterTimer);
sfx3.stop();
_local1.message.removeMovieClip();
_local1.attachMovie("endRoundStats", "endRoundStats", 11000);
endRoundStats._x = 385;
endRoundStats._y = 260;
}
}
function generateBonusItem() {
var _local1 = _root;
if (_local1.inPlay == true) {
pickCell = Math.floor(Math.random() * gridsize);
pickType = Math.floor((Math.random() * numberOfBonuses) + 2);
if (bonusRound == true) {
wallException = Math.random();
if (wallException < 0.65) {
pickType = 3;
}
}
if ((_local1["cell" add pickCell].state == 1) and (_local1["cell" add pickCell].edge == false)) {
if ((pickType != 10) and (pickType != 6)) {
_local1["cell" add pickCell].bonusItem.gotoAndStop(pickType);
sfx4.attachSound("bonus-appear2");
sfx4.start(0, 1);
} else if ((pickType == 6) and (_local1.level <= 8)) {
_local1["cell" add pickCell].bonusItem.gotoAndStop(pickType);
sfx4.attachSound("bonus-appear2");
sfx4.start(0, 1);
} else if ((pickType == 10) and (bonusRound == false)) {
nukeBuffer = Math.random();
if ((nukeBuffer >= 0.9) and (nukeSpent == false)) {
nukeSpent = true;
_local1["cell" add pickCell].bonusItem.gotoAndStop(pickType);
sfx4.attachSound("bonus-appear2");
sfx4.start(0, 1);
}
}
}
}
}
function resetLights() {
var _local1 = _root;
i = 0;
while (i <= 10) {
if (_local1.newRowDir == 1) {
_local1.table["L" add i].gotoAndStop(1);
} else if (_local1.newRowDir == row) {
_local1.table["R" add i].gotoAndStop(1);
}
i++;
}
}
function turnOffLights() {
var _local1 = _root;
i = 0;
while (i <= 10) {
_local1.table["L" add i].gotoAndStop(1);
_local1.table["R" add i].gotoAndStop(1);
i++;
}
}
function lightsControl() {
var _local1 = _root;
if ((_local1.inPlay == true) and (bonusRound == false)) {
if (_local1.newRowDir == 1) {
tempScaleR = Math.floor(Math.abs(100 - ((_local1.tick * 100) / _local1.cycle)) / 10) * 10;
_local1.table["R" add (tempScaleR / 10)].gotoAndStop(2);
} else if (_local1.newRowDir == _local1.row) {
tempScaleL = Math.floor((Math.abs(_local1.tick * 100) / _local1.cycle) / 10) * 10;
_local1.table["L" add (10 - (tempScaleL / 10))].gotoAndStop(2);
}
}
}
version = 1;
_root.winFlag = false;
table._visible = false;
menu.gotoAndStop("menu");
gameState = "menu";
inPlay = false;
_root.showHints = true;
music = "on";
soundFX = "on";
_root.qualityGood = "on";
_root.fullscreen = "off";
TRbubble._visible = false;
TR._visible = false;
bonusLevelInterval = 10;
setBonusStartingRowSize = 5;
gravTimer = 40;
setBonusPeriod = 2;
scoreEndRoundBonusPerOpenCell = 100;
scoreStarBonusValue = 1000;
scoreBigStarBonusValue = 5000;
scorePointValue = 10;
survivalLevelUp = 50;
function buildIsoMap() {
var _local1 = _root;
_local1.zeroCheck = false;
row = 10;
gridsize = row * row;
plotxsize = 36;
plotysize = 24;
x = 1;
y = 1;
deep = 0;
plotxoffset = 374;
y_Replot = 0;
i = 0;
while (i < gridsize) {
attachMovie("cell", "cell" add i, deep);
deep = deep + 10;
_local1["cell" add i].gotoAndStop(1);
_local1["cell" add i].edge = false;
_local1["cell" add i].endL = false;
_local1["cell" add i].endR = false;
_local1["cell" add i].state = 1;
_local1["cell" add i].cell = i;
_local1["cell" add i].explodeNow = false;
plotx = (plotxoffset + (x * plotxsize)) - (y * plotxsize);
ploty = (x * plotysize) + (y * plotysize);
_local1["cell" add i]._x = plotx;
_local1["cell" add i]._y = ploty + y_replot;
x = x + 1;
if (x > row) {
x = 1;
y = y + 1;
}
i++;
}
nextColor = Math.floor((Math.random() * setTileColorRange) + 1);
if ((bonusRound == true) and (nextColor == 4)) {
nextColor = 6;
}
nextNextColor = Math.floor((Math.random() * setTileColorRange) + 1);
if ((bonusRound == true) and (nextNextColor == 4)) {
nextNextColor = 6;
}
TRbubble.TRbubbleColor.gotoAndStop(nextNextColor);
defineEdge();
defineEndR();
defineEndL();
initLevel(initRowCount, initRowfactor);
}
function initNextCellColors() {
nextColor = nextNextColor;
nextNextColor = Math.floor((Math.random() * setTileColorRange) + 1);
if ((bonusRound == true) and (nextNextColor == 4)) {
nextNextColor = 6;
}
}
function defineEdge() {
var _local1 = _root;
edgeCount = row - 1;
while (edgeCount < gridsize) {
_local1["cell" add edgeCount].edge = true;
_local1["cell" add edgeCount].edgeMarker.gotoAndStop("edge");
edgeCount = edgeCount + row;
}
edgeCount = gridsize - row;
while (edgeCount < gridsize) {
_local1["cell" add edgeCount].edge = true;
_local1["cell" add edgeCount].edgeMarker.gotoAndStop("edge");
edgeCount++;
}
}
function defineEndR() {
var _local1 = _root;
endCount = 0;
while (endCount < (row - 1)) {
_local1["cell" add endCount].endR = true;
endCount++;
}
}
function defineEndL() {
var _local1 = _root;
endCount = 0;
while (endCount < (gridsize - row)) {
_local1["cell" add endCount].endL = true;
endCount = endCount + row;
}
}
function initLevel(initRowCount, initRowfactor) {
var _local1 = initRowfactor;
var _local2 = initRowCount;
var _local3 = _root;
i = _local1;
while (i < (_local2 + _local1)) {
_local3["cell" add i].gotoAndStop(2);
initCell();
i++;
}
_local2 = _local2 - 1;
if (_local2 > 0) {
_local1 = _local1 + 10;
initLevel(_local2, _local1);
}
}
function initCell() {
var _local1 = _root;
_local1["cell" add i].gotoAndStop(2);
_local1["cell" add i].state = 1;
randomTileColor = Math.floor((Math.random() * setTileColorRange) + 1);
if ((bonusRound == true) and (randomTileColor == 4)) {
randomTileColor = 6;
}
_local1["cell" add i].tile.gotoAndStop(randomTileColor);
}
function mouseOverLogic(mouseDirNum) {
var _local1 = mouseDirNum;
var _local2 = _root;
if ((userControl == "ready") and (inPlay == true)) {
_local2.table.aim.gotoAndStop(aimNum + 1);
_local2["cell" add activeButton].tempCell.gotoAndStop(2);
_local2["cell" add activeButton].tempCell.tempTile.gotoAndStop(nextColor);
h = activeButton - _local1;
while (h > (activeButton - (10 * _local1))) {
_local2["cell" add h].path.gotoAndStop(2);
h = h - _local1;
}
}
}
function mouseOffLogic(mouseDirNum) {
var _local1 = mouseDirNum;
var _local2 = _root;
_local2["cell" add activeButton].tempCell.gotoAndStop(1);
h = activeButton - _local1;
while (h > (activeButton - (10 * _local1))) {
_local2.table.aim.gotoAndStop(1);
_local2["cell" add h].path.gotoAndStop(1);
h = h - _local1;
}
}
function mouseHitLogic(mouseDirNum) {
var _local1 = _root;
var _local2 = mouseDirNum;
if ((((userControl == "ready") and (_local1["cell" add (activeButton - _local2)].state == 1)) and (_local1["cell" add (activeButton - _local2)].bonusItem.bonusType != "wall")) and (inPlay == true)) {
if (mode == "puzzle") {
puzzleNewRowCounter = puzzleNewRowCounter + 1;
_local1.bonusBubble.bonusTimer = _local1.bonusBubble.bonusTimer - 1;
}
shooting = true;
userControl = "locked";
superPower = "";
fusionCheck = false;
_local1["cell" add activeButton].tempCell.gotoAndStop(1);
_local1.table.aim.gotoAndStop(1);
if (_local1["cell" add (activeButton - _local2)].bonusItem.bonusType == "missle") {
superPower = "missle";
sfx6.attachSound("food-beer-bottle-open1");
sfx6.start(0, 1);
}
if (_local1["cell" add (activeButton - _local2)].bonusItem.bonusType == "crazyMissle") {
superPower = "crazyMissle";
sfx6.attachSound("food-beer-bottle-open1");
sfx6.start(0, 1);
}
if (_local1["cell" add (activeButton - _local2)].bonusItem.bonusType == "radiusBomb") {
superPower = "radiusBomb";
sfx6.attachSound("food-beer-bottle-open1");
sfx6.start(0, 1);
}
if (_local1["cell" add (activeButton - _local2)].bonusItem.bonusType == "wildColor") {
superPower = "wildColor";
sfx6.attachSound("food-beer-bottle-open1");
sfx6.start(0, 1);
}
if (_local1["cell" add (activeButton - _local2)].bonusItem.bonusType == "star") {
_local1["cell" add (activeButton - _local2)].starHeroAnim.play();
sfx6.attachSound("space-warble-low");
sfx6.start(0, 1);
score = score + scoreStarBonusValue;
}
if (_local1["cell" add (activeButton - _local2)].bonusItem.bonusType == "bigstar") {
_local1["cell" add (activeButton - _local2)].bigstarHeroAnim.play();
sfx6.attachSound("space-warble-low");
sfx6.start(0, 1);
score = score + scoreBigStarBonusValue;
}
if (_local1["cell" add (activeButton - _local2)].bonusItem.bonusType == "bomb") {
superPower = "bomb";
sfx6.attachSound("effect102");
sfx6.start(0, 1);
v = 0;
}
if (_local1["cell" add (activeButton - _local2)].bonusItem.bonusType == "nuke") {
superPower = "nuke";
sfx6.attachSound("effect102");
sfx6.start(0, 1);
v = 0;
}
_local1["cell" add (activeButton - _local2)].gotoAndStop(3);
currentShooterCell = activeButton - _local2;
_local1["cell" add (activeButton - _local2)].tile.gotoAndStop(nextColor);
if (_local2 == 1) {
shootDirA = 1;
shootDirB = row;
shootEndA = "L";
shootEndB = "R";
} else if (_local2 == row) {
shootDirA = row;
shootDirB = 1;
shootEndA = "R";
shootEndB = "L";
}
currentShooterColor = nextColor;
sfx1.attachSound("tile-launch");
sfx1.start(0, 1);
if ((superPower == "bomb") or (superPower == "nuke")) {
i = 0;
while (i < gridsize) {
if (_local1["cell" add i].C == currentShooterColor) {
_local1["cell" add i].explodeNow = true;
}
if ((superPower == "nuke") and (_local1["cell" add i].state != 1)) {
_local1["cell" add i].explodeNow = true;
}
i++;
}
explodeResult();
_local1["cell" add currentShooterCell].gotoAndStop(1);
_local1["cell" add (currentShooterCell - shootDirA)].lose.play();
_local1["cell" add (currentShooterCell - shootDirA)].bonusItem.gotoAndStop(1);
shooting = false;
gravitySwitchTimer.play();
mouseOverLogic(_local2);
} else {
initNextCellColors();
}
}
}
function initSFX() {
sfx1 = new Sound(soundContainerB);
sfx2 = new Sound(soundContainerC);
sfx2.attachSound("button-press3");
sfx3 = new Sound(soundContainerD);
sfx4 = new Sound(soundContainerE);
sfx5 = new Sound(soundContainerF);
sfx6 = new Sound(soundContainerG);
sfx7 = new Sound(soundContainerH);
sfx8 = new Sound(soundContaineri);
sfx9 = new Sound(soundContainerJ);
sfx10 = new Sound(soundContainerK);
sfx11 = new Sound(soundContainerL);
if (soundFX == "on") {
sfx1.setVolume(50);
sfx2.setVolume(50);
sfx3.setVolume(50);
sfx4.setVolume(50);
sfx5.setVolume(60);
sfx6.setVolume(50);
sfx7.setVolume(50);
sfx8.setVolume(50);
sfx9.setVolume(50);
sfx10.setVolume(60);
sfx11.setVolume(60);
sfx12.setVolume(50);
}
if (soundFX == "off") {
sfx1.setVolume(0);
sfx2.setVolume(0);
sfx3.setVolume(0);
sfx4.setVolume(0);
sfx5.setVolume(0);
sfx6.setVolume(0);
sfx7.setVolume(0);
sfx8.setVolume(0);
sfx9.setVolume(0);
sfx10.setVolume(0);
sfx11.setVolume(0);
sfx12.setVolume(0);
}
}
function initMusicLoop() {
musicLoop = new Sound(soundContainerA);
musicTrackCounter = 0;
if (music == "on") {
musicLoop.stop();
musicLoop.attachSound("classicLoop4");
musicLoop.setVolume(100);
musicLoop.start(0, 1000);
}
if (music == "off") {
musicLoop.setVolume(0);
}
}
function nextMusicLoop() {
musicLoop.stop();
musicTrackCounter = musicTrackCounter + 1;
musicLoop.attachSound("classicLoop4");
musicLoop.start(0, 1000);
}
Frame 3
stop();
initMusicLoop();
initSFX();
openMenu();
Frame 4
stop();
Symbol 34 MovieClip Frame 1
stop();
_parent.C = 1;
Symbol 34 MovieClip Frame 2
_parent.C = 2;
Symbol 34 MovieClip Frame 3
_parent.C = 3;
Symbol 34 MovieClip Frame 4
_parent.C = 4;
Symbol 34 MovieClip Frame 5
_parent.C = 5;
Symbol 34 MovieClip Frame 6
_parent.C = 6;
Symbol 35 MovieClip Frame 1
stop();
Symbol 39 MovieClip Frame 15
stop();
_parent.gotoAndStop(1);
Symbol 43 MovieClip Frame 15
stop();
_parent.gotoAndStop(1);
Symbol 47 MovieClip Frame 15
stop();
_parent.gotoAndStop(1);
Symbol 51 MovieClip Frame 15
stop();
_parent.gotoAndStop(1);
Symbol 55 MovieClip Frame 15
stop();
_parent.gotoAndStop(1);
Symbol 59 MovieClip Frame 15
stop();
_parent.gotoAndStop(1);
Symbol 60 MovieClip Frame 1
stop();
Symbol 74 MovieClip Frame 1
stop();
Symbol 90 MovieClip Frame 1
stop();
Symbol 98 MovieClip Frame 1
stop();
Symbol 107 MovieClip Frame 1
stop();
Symbol 114 MovieClip Frame 1
stop();
Symbol 118 MovieClip Frame 8
stop();
Symbol 120 MovieClip Frame 4
stop();
Symbol 125 MovieClip Frame 5
stop();
Symbol 129 MovieClip Frame 1
stop();
Symbol 129 MovieClip Frame 2
if (_root.wallHits == 1) {
_root["cell" add (_root.currentShooterCell - _root.shootDirA)].destroyWallBonus.play();
_parent._parent.gotoAndStop(1);
_parent.gotoAndStop(1);
}
Symbol 129 MovieClip Frame 3
if (_root.wallHits == 2) {
_root["cell" add (_root.currentShooterCell - _root.shootDirA)].destroyWallBonus.play();
_parent._parent.gotoAndStop(1);
_parent.gotoAndStop(1);
}
Symbol 129 MovieClip Frame 4
if (_root.wallHits == 3) {
_root["cell" add (_root.currentShooterCell - _root.shootDirA)].destroyWallBonus.play();
_parent._parent.gotoAndStop(1);
_parent.gotoAndStop(1);
}
Symbol 129 MovieClip Frame 5
if (_root.wallHits >= 4) {
_root["cell" add (_root.currentShooterCell - _root.shootDirA)].destroyWallBonus.play();
_parent._parent.gotoAndStop(1);
_parent.gotoAndStop(1);
}
Symbol 133 MovieClip Frame 9
stop();
Symbol 136 MovieClip Frame 8
stop();
Symbol 140 MovieClip Frame 8
stop();
Symbol 143 MovieClip Frame 9
stop();
Symbol 148 MovieClip Frame 9
stop();
Symbol 153 MovieClip Frame 8
stop();
Symbol 155 MovieClip Frame 8
stop();
Symbol 156 MovieClip Frame 1
stop();
bonustype = "none";
Symbol 156 MovieClip Frame 2
bonustype = "radiusBomb";
Symbol 156 MovieClip Frame 3
bonustype = "wall";
Symbol 156 MovieClip Frame 4
bonustype = "wildColor";
Symbol 156 MovieClip Frame 5
bonustype = "missle";
Symbol 156 MovieClip Frame 6
bonustype = "star";
Symbol 156 MovieClip Frame 7
bonustype = "crazyMissle";
Symbol 156 MovieClip Frame 8
bonustype = "bomb";
Symbol 156 MovieClip Frame 9
bonustype = "bigstar";
Symbol 156 MovieClip Frame 10
bonustype = "nuke";
Symbol 159 MovieClip Frame 1
stop();
Symbol 163 MovieClip Frame 1
stop();
Symbol 165 MovieClip Frame 1
stop();
Symbol 167 MovieClip Frame 1
stop();
Symbol 169 MovieClip Frame 1
stop();
Symbol 169 MovieClip Frame 2
_root.sfx7.attachSound("wall-destroyed");
_root.sfx7.start(0, 1);
Symbol 171 MovieClip Frame 1
stop();
Symbol 175 MovieClip Frame 3
Symbol 175 MovieClip Frame 4
stop();
Symbol 176 MovieClip Frame 1
stop();
Symbol 176 MovieClip Frame 2
stop();
Symbol 178 MovieClip Frame 1
stop();
_parent.C = 1;
Symbol 178 MovieClip Frame 2
_parent.C = 2;
Symbol 178 MovieClip Frame 3
_parent.C = 3;
Symbol 178 MovieClip Frame 4
_parent.C = 4;
Symbol 178 MovieClip Frame 5
_parent.C = 5;
Symbol 178 MovieClip Frame 6
_parent.C = 6;
Symbol 180 MovieClip Frame 8
stop();
Symbol 182 MovieClip Frame 10
stop();
Symbol 184 MovieClip Frame 10
stop();
Symbol 186 MovieClip Frame 10
stop();
Symbol 188 MovieClip Frame 10
stop();
Symbol 189 MovieClip Frame 1
stop();
Symbol 190 MovieClip Frame 1
stop();
Instance of Symbol 189 MovieClip "multiplyValue" in Symbol 190 MovieClip Frame 2
onClipEvent (load) {
this.gotoAndStop(_root.multiplier);
}
Symbol 191 MovieClip [cell] Frame 1
stop();
state = 1;
C = 0;
Symbol 191 MovieClip [cell] Frame 2
stop();
state = 2;
Symbol 191 MovieClip [cell] Frame 3
stop();
state = 3;
Symbol 194 MovieClip [bonusRoundWinBanner] Frame 30
_root.message.removeMovieClip();
Symbol 197 MovieClip [levelComplete] Frame 8
stop();
Symbol 197 MovieClip [levelComplete] Frame 9
_root.message.removeMovieClip();
Symbol 200 MovieClip [timesUp] Frame 25
_root.levelBonusTally = 0;
_root.attachMovie("endRoundStats", "endRoundStats", 11000);
_root.endRoundStats._x = 385;
_root.endRoundStats._y = 260;
_root.message.removeMovieClip();
Symbol 210 Button
on (press) {
_root.sfx2.start(0, 1);
}
on (release) {
_root.musicLoop.stop();
clearInterval(_root.bonusCounterTimer);
clearInterval(_root.bonusTimerTick);
_root.helpSpecialFlag = "off";
_root.clearLevel();
_root.initMusicLoop();
_root.initSFX();
_root.openMenu();
}
Symbol 224 MovieClip Frame 1
stop();
Symbol 237 Button
on (release) {
_root.launchFusionURL();
}
Symbol 238 MovieClip [gameOverBanner] Frame 1
stop();
_root.sfx7.attachSound("effect21");
_root.sfx7.start(0, 1);
Instance of Symbol 213 MovieClip in Symbol 238 MovieClip [gameOverBanner] Frame 1
onClipEvent (enterFrame) {
levelBonusStat = _root.levelBonusTally;
gameScoreStat = _root.score;
clearedTheGridStat = _root.clearedTheGridTally;
levelsCompletedStat = _root.levelsCompletedTally;
totalTilesClearedStat = _root.totalTilesClearedTally;
}
Instance of Symbol 224 MovieClip in Symbol 238 MovieClip [gameOverBanner] Frame 1
onClipEvent (load) {
if (_root.winFlag == true) {
this.gotoAndStop(2);
}
}
Symbol 241 MovieClip [bonusRoundBannerIntro] Frame 1
Symbol 241 MovieClip [bonusRoundBannerIntro] Frame 21
_root.message.removeMovieClip();
Symbol 243 MovieClip [clearGridBonus] Frame 1
Symbol 243 MovieClip [clearGridBonus] Frame 21
_root.score = _root.score + 10000;
_root.sfx1.attachsound("effect101");
_root.sfx1.start(0, 1);
_root.cell0.gotoAndStop(2);
_root.cell0.tile.gotoAndStop(Math.floor((Math.random() * _root.setTileColorRange) + 1));
_root.cell1.gotoAndStop(2);
_root.cell1.tile.gotoAndStop(Math.floor((Math.random() * _root.setTileColorRange) + 1));
_root.cell2.gotoAndStop(2);
_root.cell2.tile.gotoAndStop(Math.floor((Math.random() * _root.setTileColorRange) + 1));
_root.cell3.gotoAndStop(2);
_root.cell3.tile.gotoAndStop(Math.floor((Math.random() * _root.setTileColorRange) + 1));
_root.cell10.gotoAndStop(2);
_root.cell10.tile.gotoAndStop(Math.floor((Math.random() * _root.setTileColorRange) + 1));
_root.cell11.gotoAndStop(2);
_root.cell11.tile.gotoAndStop(Math.floor((Math.random() * _root.setTileColorRange) + 1));
_root.cell12.gotoAndStop(2);
_root.cell12.tile.gotoAndStop(Math.floor((Math.random() * _root.setTileColorRange) + 1));
_root.cell20.gotoAndStop(2);
_root.cell20.tile.gotoAndStop(Math.floor((Math.random() * _root.setTileColorRange) + 1));
_root.cell21.gotoAndStop(2);
_root.cell21.tile.gotoAndStop(Math.floor((Math.random() * _root.setTileColorRange) + 1));
_root.cell30.gotoAndStop(2);
_root.cell30.tile.gotoAndStop(Math.floor((Math.random() * _root.setTileColorRange) + 1));
_root.zeroCheck = false;
_root.userControl = "ready";
_root.mouseOverLogic(_root.mouseDirNum);
_root.message.removeMovieClip();
Symbol 250 Button
on (release) {
if (_root.music == "on") {
_root.musicLoop.setVolume(100);
}
if ((_root.gameState == "game") and (_root.helpSpecialFlag == "off")) {
_root.menu.gotoAndStop(1);
_root.StartMainLoop();
} else if (_root.gameState == "menu") {
_root.menu.gotoAndStop(2);
}
_root.helpPopUp.removeMovieClip();
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 273 MovieClip Frame 1
stop();
Symbol 276 Button
on (release) {
helpText.gotoAndStop(2);
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 277 Button
on (release) {
helpText.gotoAndStop(1);
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 281 MovieClip [helpPopUp] Frame 1
_root.guiState = "help";
Symbol 289 Button
on (release) {
if (_root.level == 4) {
_root.winFlag = true;
_root.gameOver();
_root.clearLevel();
removeMovieClip(_root.endRoundStats);
} else if (_root.showHints == true) {
_root.hints.gotoAndStop(_root.level + 2);
_root.sfx7.attachSound("effect21");
_root.sfx7.start(0, 1);
_root.clearLevel();
removeMovieClip(_root.endRoundStats);
} else {
_root.musicLoop.stop();
_root.clearLevel();
_root.startNextLevel();
_root.helpSpecialFlag = "off";
removeMovieClip(_root.endRoundStats);
}
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 292 MovieClip Frame 1
_root.sfx9.attachSound("each-score-appears");
_root.sfx9.start(0, 1);
Symbol 292 MovieClip Frame 10
stop();
Symbol 294 MovieClip Frame 10
_root.sfx10.attachSound("each-score-appears");
_root.sfx10.start(0, 1);
Symbol 294 MovieClip Frame 20
stop();
Symbol 296 MovieClip Frame 21
_root.sfx11.attachSound("each-score-appears");
_root.sfx11.start(0, 1);
Symbol 296 MovieClip Frame 30
stop();
Symbol 302 MovieClip Frame 30
stop();
Symbol 307 MovieClip Frame 1
stop();
Symbol 307 MovieClip Frame 2
if (_root.mode == "classic") {
specialTitle = "time bonus";
timeRemainingBonus = _root.bonusBubble.bonusTimer * 100;
_root.score = _root.score + (_root.bonusBubble.bonusTimer * 100);
_parent.gameScoreStat = _root.score;
}
if (_root.mode == "puzzle") {
specialTitle = "shot bonus";
timeRemainingBonus = _root.bonusBubble.bonusTimer * 100;
_root.score = _root.score + (_root.bonusBubble.bonusTimer * 100);
_parent.gameScoreStat = _root.score;
}
Symbol 308 MovieClip [endRoundStats] Frame 1
stop();
_root.sfx7.attachSound("effect21");
_root.sfx7.start(0, 1);
_root.sfx1.attachSound("applause");
_root.sfx1.start(0, 1);
_root.newBonusBubble._visible = false;
Instance of Symbol 302 MovieClip in Symbol 308 MovieClip [endRoundStats] Frame 1
onClipEvent (load) {
levelBonusStat = _root.levelBonusTally;
gameScoreStat = _root.score;
clearedTheGridStat = _root.clearedTheGridTally;
levelsCompletedStat = _root.levelsCompletedTally;
totalTilesClearedStat = _root.totalTilesClearedTally;
}
onClipEvent (enterFrame) {
levelBonusStat = _root.levelBonusTally;
gameScoreStat = _root.score;
clearedTheGridStat = _root.clearedTheGridTally;
levelsCompletedStat = _root.levelsCompletedTally;
totalTilesClearedStat = _root.totalTilesClearedTally;
}
Instance of Symbol 307 MovieClip "SpecialBonusStat" in Symbol 308 MovieClip [endRoundStats] Frame 1
onClipEvent (load) {
if (_root.bonusRound == true) {
this.gotoAndStop(2);
}
}
Symbol 315 Button
on (release) {
_root.difficulty = "easy";
_root.musicLoop.stop();
_root.initGameVars();
_root.buildIsoMap();
_root.startMainLoop();
_root.generateBonusItem();
_root.generateBonusItem();
_root.generateBonusItem();
_root.helpSpecialFlag = "off";
_root.hints.gotoAndStop(1);
}
on (press) {
_root.sfx12.stop();
_root.sfx2.start(0, 1);
}
Symbol 320 Button
on (release) {
_root.showHints = false;
this.gotoAndStop(2);
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 321 Button
on (release) {
_root.showHints = true;
this.gotoAndStop(1);
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 323 MovieClip Frame 1
stop();
Symbol 329 MovieClip Frame 1
stop();
Symbol 330 Button
on (release) {
_root.startNextLevel();
_root.helpSpecialFlag = "off";
_root.generateBonusItem();
_root.generateBonusItem();
_root.hints.gotoAndStop(1);
}
Symbol 343 MovieClip [hints] Frame 1
stop();
Symbol 343 MovieClip [hints] Frame 2
_root.helpSpecialFlag = "on";
_root.score = 0;
_root.levelDisplay = 1;
_root.tilesRemaining = 50;
_root.table._visible = true;
_root.sfx7.attachSound("effect21");
_root.sfx7.start(0, 1);
Instance of Symbol 329 MovieClip in Symbol 343 MovieClip [hints] Frame 2
onClipEvent (load) {
this.gotoAndStop(_root.mode);
}
Instance of Symbol 346 MovieClip "sunLight" in Symbol 350 MovieClip Frame 1
onClipEvent (load) {
totalFileSize = _root.getBytesTotal();
this._xscale = 0;
}
onClipEvent (enterFrame) {
bytesLoaded = _root.getBytesLoaded();
amountLoaded = bytesLoaded / totalFileSize;
percentLoaded = int(100 * amountLoaded);
this._xscale = percentLoaded;
if (percentLoaded == 100) {
_root.play();
}
}
Symbol 373 MovieClip Frame 10
stop();
Symbol 374 MovieClip Frame 1
stop();
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 2
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 3
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 4
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 5
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 6
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 7
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 8
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 9
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 10
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 11
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 12
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 13
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 14
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 15
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 16
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 17
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 18
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 374 MovieClip Frame 19
if (_root.inPlay == false) {
this.gotoAndStop(1);
}
stop();
Symbol 379 MovieClip Frame 1
stop();
Symbol 380 MovieClip Frame 1
stop();
Symbol 382 Button
on (rollOver, dragOver) {
mouseDirNum = row;
activeButton = 98;
aimNum = 9;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 383 Button
on (rollOver, dragOver) {
mouseDirNum = row;
activeButton = 97;
aimNum = 8;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 384 Button
on (rollOver, dragOver) {
mouseDirNum = row;
activeButton = 96;
aimNum = 7;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 385 Button
on (rollOver, dragOver) {
mouseDirNum = row;
activeButton = 95;
aimNum = 6;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 386 Button
on (rollOver, dragOver) {
mouseDirNum = row;
activeButton = 94;
aimNum = 5;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 387 Button
on (rollOver, dragOver) {
mouseDirNum = row;
activeButton = 93;
aimNum = 4;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 388 Button
on (rollOver, dragOver) {
mouseDirNum = row;
activeButton = 92;
aimNum = 3;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 389 Button
on (rollOver, dragOver) {
mouseDirNum = row;
activeButton = 91;
aimNum = 2;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 390 Button
on (rollOver, dragOver) {
mouseDirNum = row;
activeButton = 90;
aimNum = 1;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 391 Button
on (rollOver, dragOver) {
mouseDirNum = 1;
activeButton = 9;
aimNum = 18;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 392 Button
on (rollOver, dragOver) {
mouseDirNum = 1;
activeButton = 19;
aimNum = 17;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 393 Button
on (rollOver, dragOver) {
mouseDirNum = 1;
activeButton = 29;
aimNum = 16;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 394 Button
on (rollOver, dragOver) {
mouseDirNum = 1;
activeButton = 39;
aimNum = 15;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 395 Button
on (rollOver, dragOver) {
mouseDirNum = 1;
activeButton = 49;
aimNum = 14;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 396 Button
on (rollOver, dragOver) {
mouseDirNum = 1;
activeButton = 59;
aimNum = 13;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 397 Button
on (rollOver, dragOver) {
mouseDirNum = 1;
activeButton = 69;
aimNum = 12;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 398 Button
on (rollOver, dragOver) {
mouseDirNum = 1;
activeButton = 79;
aimNum = 11;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 399 Button
on (rollOver, dragOver) {
mouseDirNum = 1;
activeButton = 89;
aimNum = 10;
mouseOverLogic(mouseDirNum);
}
on (press) {
mouseHitLogic(mouseDirNum);
}
on (rollOut, dragOut) {
mouseOffLogic(mouseDirNum);
}
Symbol 412 Button
on (release) {
if (_root.gameState == "menu") {
_root.menu.gotoAndStop("helpMenu");
}
_root.attachMovie("helpPopUp", "helpPopUp", 50000);
_root.helpPopUp._x = 365;
_root.helpPopUp._y = 250;
_root.pauseButton.gotoAndStop(1);
removeMovieClip(_root.pauseBanner);
if (_root.inPlay == true) {
clearInterval(_root.MainTimer);
_root.inPlay = false;
if (_root.music == "on") {
_root.musicLoop.setVolume(0);
}
}
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 419 MovieClip Frame 1
stop();
Symbol 424 Button
on (rollOver) {
if (_root.logoAnim == "off") {
_root.logoBig.logoShine.play();
}
}
Symbol 429 MovieClip Frame 1
_root.logoAnim = "off";
Symbol 429 MovieClip Frame 2
_root.logoAnim = "on";
Symbol 429 MovieClip Frame 21
stop();
_root.shineNow.play();
Symbol 433 MovieClip Frame 13
stop();
_root.logoAnim = "off";
Symbol 444 Button
on (release) {
_root.SGRATimerEndLevel();
if (_root.gameState == "game") {
_root.gameState = "gameOver";
musicloop.stop();
sfx12.stop();
_root.hints.gotoAndStop(1);
_root.message.removeMovieClip();
_root.helpPopUp.removeMovieClip();
_root.pauseButton.gotoAndStop(1);
_root.pauseBanner.removeMovieClip();
_root.endRoundStats.removeMovieClip();
clearInterval(bonusCounterTimer);
clearInterval(bonusTimerTick);
clearInterval(MainTimer);
_root.helpSpecialFlag = "off";
_root.gameOver();
}
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 457 MovieClip Frame 1
Symbol 457 MovieClip Frame 36
_parent.nextFrame();
Symbol 458 MovieClip Frame 1
stop();
Symbol 458 MovieClip Frame 8
this.gotoAndStop(1);
Symbol 468 Button
on (release) {
_root.mode = "classic";
_root.winFlag = false;
_root.musicLoop.stop();
_root.musicLoop.attachSound("betweenRound01");
_root.musicLoop.start(0, 100);
_root.sfx2.start(0, 1);
_root.startGame();
}
Symbol 470 Button
on (release) {
_root.launchFusionURL();
}
Symbol 473 Button
on (release) {
this.gotoAndStop(2);
}
on (press) {
_root.music = "on";
_root.musicLoop.setVolume(100);
_root.sfx2.start(0, 1);
}
Symbol 476 Button
on (release) {
this.gotoAndStop(1);
}
on (press) {
_root.music = "off";
_root.musicLoop.setVolume(0);
_root.sfx2.start(0, 1);
}
Symbol 478 MovieClip Frame 1
stop();
Symbol 479 Button
on (release) {
this.gotoAndStop(2);
}
on (press) {
_root.soundFX = "on";
_root.sfx2.start(0, 1);
_root.sfx1.setVolume(50);
_root.sfx2.setVolume(50);
_root.sfx3.setVolume(50);
_root.sfx4.setVolume(50);
_root.sfx5.setVolume(60);
_root.sfx6.setVolume(50);
_root.sfx7.setVolume(50);
_root.sfx8.setVolume(50);
_root.sfx9.setVolume(50);
_root.sfx10.setVolume(60);
_root.sfx11.setVolume(60);
}
Symbol 482 Button
on (release) {
this.gotoAndStop(1);
}
on (press) {
_root.soundFX = "off";
_root.sfx1.setVolume(0);
_root.sfx2.setVolume(0);
_root.sfx3.setVolume(0);
_root.sfx4.setVolume(0);
_root.sfx5.setVolume(0);
_root.sfx6.setVolume(0);
_root.sfx7.setVolume(0);
_root.sfx8.setVolume(0);
_root.sfx9.setVolume(0);
_root.sfx10.setVolume(0);
_root.sfx11.setVolume(0);
}
Symbol 483 MovieClip Frame 1
stop();
Symbol 484 Button
on (release) {
fscommand ("flashstudio.maximize");
_root.fullScreen = "on";
this.gotoAndStop(2);
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 487 Button
on (release) {
fscommand ("flashstudio.restore");
_root.fullScreen = "off";
this.gotoAndStop(1);
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 488 MovieClip Frame 1
stop();
Symbol 489 Button
on (release) {
_root.qualityGood = "on";
_quality = "BEST";
this.gotoAndStop(2);
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 492 Button
on (release) {
_root.qualityGood = "off";
_quality = "MEDIUM";
this.gotoAndStop(1);
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 493 MovieClip Frame 1
stop();
Symbol 500 Button
on (release) {
name1 = (_root.entry[0][0] = "---");
name2 = (_root.entry[1][0] = "---");
name3 = (_root.entry[2][0] = "---");
name4 = (_root.entry[3][0] = "---");
name5 = (_root.entry[4][0] = "---");
name6 = (_root.entry[5][0] = "---");
name7 = (_root.entry[6][0] = "---");
name8 = (_root.entry[7][0] = "---");
score1 = (_root.entry[0][1] = 0);
score2 = (_root.entry[1][1] = 0);
score3 = (_root.entry[2][1] = 0);
score4 = (_root.entry[3][1] = 0);
score5 = (_root.entry[4][1] = 0);
score6 = (_root.entry[5][1] = 0);
score7 = (_root.entry[6][1] = 0);
score8 = (_root.entry[7][1] = 0);
tileCount1 = (_root.entry[0][2] = 0);
tileCount2 = (_root.entry[1][2] = 0);
tileCount3 = (_root.entry[2][2] = 0);
tileCount4 = (_root.entry[3][2] = 0);
tileCount5 = (_root.entry[4][2] = 0);
tileCount6 = (_root.entry[5][2] = 0);
tileCount7 = (_root.entry[6][2] = 0);
tileCount8 = (_root.entry[7][2] = 0);
_root.fusionHighScores.data.entry = _root.entry;
_root.highLevelEntry = 0;
_root.fusionHighLevel.data.highLevelEntry = _root.highLevelEntry;
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 518 Button
on (release) {
_root.menu.gotoAndStop("menu");
}
on (press) {
_root.sfx2.start(0, 1);
}
Symbol 533 MovieClip Frame 1
stop();
_root.menuState = "blank";
Symbol 533 MovieClip Frame 2
stop();
_root.menu.highscore = _root.entry[0][1];
_root.menu.highLevelDisplay = _root.highLevelEntry;
_root.menu.totalTilesDisplay = _root.tilesEntry;
_root.guiState = "menu";
_root.menuState = "menu";
_root.modeLabel._visible = false;
_root.bonusBubble._visible = false;
Symbol 533 MovieClip Frame 3
stop();
_root.guiState = "options";
_root.menuState = "options";
name1 = _root.entry[0][0];
name2 = _root.entry[1][0];
name3 = _root.entry[2][0];
name4 = _root.entry[3][0];
name5 = _root.entry[4][0];
name6 = _root.entry[5][0];
name7 = _root.entry[6][0];
name8 = _root.entry[7][0];
score1 = _root.entry[0][1];
score2 = _root.entry[1][1];
score3 = _root.entry[2][1];
score4 = _root.entry[3][1];
score5 = _root.entry[4][1];
score6 = _root.entry[5][1];
score7 = _root.entry[6][1];
score8 = _root.entry[7][1];
tileCount1 = _root.entry[0][2];
tileCount2 = _root.entry[1][2];
tileCount3 = _root.entry[2][2];
tileCount4 = _root.entry[3][2];
tileCount5 = _root.entry[4][2];
tileCount6 = _root.entry[5][2];
tileCount7 = _root.entry[6][2];
tileCount8 = _root.entry[7][2];
_root.fusionHighScores.data.entry = _root.entry;
_root.menu.highLevelDisplay = _root.highLevelEntry;
Instance of Symbol 478 MovieClip in Symbol 533 MovieClip Frame 3
onClipEvent (load) {
if (_root.music == "on") {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Instance of Symbol 483 MovieClip in Symbol 533 MovieClip Frame 3
onClipEvent (load) {
if (_root.soundFX == "on") {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Instance of Symbol 488 MovieClip in Symbol 533 MovieClip Frame 3
onClipEvent (load) {
if (_root.fullScreen == "on") {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Instance of Symbol 493 MovieClip in Symbol 533 MovieClip Frame 3
onClipEvent (load) {
if (_root.qualityGood == "on") {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Symbol 533 MovieClip Frame 4
stop();
_root.guiState = "help";
_root.menuState = "help";
Symbol 536 MovieClip Frame 1
stop();
Symbol 536 MovieClip Frame 11
_root.gravitySwitch = "on";