Frame 1
tellTarget ("_level0") {
lbLoadingGame = "";
};
Frame 2
if (_framesloaded >= _totalframes) {
gotoAndPlay (3);
} else {
gotoAndPlay (1);
}
Frame 3
function RColor() {
var i;
var j;
j = random(6) + 1;
i = 0;
while (i < 7) {
CCC[i] = 0;
i++;
}
i = 0;
while (i < 255) {
CCC[BBL[i].C] = BBL[i].C;
i++;
}
i = j;
while (i < (j + 7)) {
if (0 < CCC[i % 7]) {
return(i % 7);
}
i++;
}
return(random(6) + 1);
}
function SplashPlay() {
var i;
if (vSplash) {
return(undefined);
}
i = random(255);
if (BBL[i].N != "") {
vSplashN = eval (BBL[i].N);
vSplash = 1;
vSplashN.gotoAndPlay("B");
}
}
function InitAll() {
var r;
var c;
vEffects = 0;
cbEff.gotoAndStop(2);
line.stop();
gun.stop();
BBL = new Array();
RB = new Array();
CCC = new Array();
r = 0;
while (r < 15) {
c = 0;
while (c < 17) {
BBL[(r * 17) + c] = new BB(r, c, 0, "");
c++;
}
r++;
}
}
function StartGame() {
var r;
vMove = 4;
CNT = 0;
vLevel = 0;
vLevelM = 6;
r = 1;
while (r < 8) {
eval ("l" + r).gotoAndStop(1);
r++;
}
vGE = 0;
vDPT = 1;
r = 0;
while (r < 255) {
BBL[r].C = 0;
if (BBL[r].N != "") {
removeMovieClip(eval (BBL[r].N));
BBL[r].N = "";
}
r++;
}
if (vBubble != "") {
removeMovieClip(eval (vBubble));
}
if (vBNext != "") {
removeMovieClip(eval (vBNext));
}
removeMovieClip("EG");
r = 0;
while (r < 153) {
BBL[r].C = random(6) + 1;
BBL[r].N = "_b" + r;
attachMovie("_b" + BBL[r].C, BBL[r].N, vDPT);
vDPT++;
eval (BBL[r].N)._x = BBL[r].X;
eval (BBL[r].N)._y = BBL[r].Y;
r++;
}
BMakeNext();
BubbleMake();
gotoAndPlay (4);
vMove = 0;
}
function BB(ARow, ACol, AColor, AN) {
this.Y = ((ARow * cR) * 2) + (cR * 2);
if (((ARow + 2) % 2) == 0) {
this.X = (ACol * cD) + cD;
} else {
this.X = (ACol * cD) + (cR * 3);
}
this.C = AColor;
this.N = AN;
this.F = 0;
}
function BRemoveC(AR, AC, ACol) {
var i;
var j;
j = (AR * 17) + AC;
i = 0;
while (i < vRBC) {
if (RB[i] == j) {
return(undefined);
}
i++;
}
if (BBL[j].C == ACol) {
RB[vRBC] = j;
vRBC++;
} else {
return(undefined);
}
if (((AR + 2) % 2) == 0) {
if (0 < AR) {
BRemoveC(AR - 1, AC, ACol);
if (0 < AC) {
BRemoveC(AR - 1, AC - 1, ACol);
}
}
if (AR < 14) {
BRemoveC(AR + 1, AC, ACol);
if (0 < AC) {
BRemoveC(AR + 1, AC - 1, ACol);
}
}
} else {
if (0 < AR) {
BRemoveC(AR - 1, AC, ACol);
if (AC < 16) {
BRemoveC(AR - 1, AC + 1, ACol);
}
}
if (AR < 14) {
BRemoveC(AR + 1, AC, ACol);
if (AC < 16) {
BRemoveC(AR + 1, AC + 1, ACol);
}
}
}
if (0 < AC) {
BRemoveC(AR, AC - 1, ACol);
}
if (AC < 16) {
BRemoveC(AR, AC + 1, ACol);
}
}
function BRemove() {
var i;
if ((vRBC == 0) && (vRemoveLN != "")) {
removeMovieClip(vRemoveLN);
vRemoveLN = "";
vRemoveBA = 0;
if (vBubbleFR == 0) {
BubbleFreeRemove();
}
if (vRBC == 0) {
vMove = 0;
BubbleMake();
} else {
vMove = 2;
}
return(undefined);
}
if (vRemoveLN != "") {
if ((vSplashN = vRemoveLN)) {
vSplash = 0;
}
removeMovieClip(vRemoveLN);
}
if (vBubbleFR == 0) {
CNT = CNT + ((int(vC3 / 3) + 1) * 10);
} else if (vBubbleFR == 1) {
CNT = CNT + ((int(vC3 / 3) + 1) * 100);
}
vC3++;
i = RB.Shift();
vRBC--;
vRemoveBA = 1;
vRemoveLN = eval (BBL[i].N);
vRemoveLN.gotoAndPlay("H");
BBL[i].C = 0;
BBL[i].N = "";
}
function BMakeNext() {
var r;
vBNext = "_b" + vDPT;
vBNextC = RColor();
attachMovie("_b" + vBNextC, vBNext, vDPT);
vDPT++;
with (eval (vBNext)) {
_x = cR * 35;
_y = cR * 32;
}
}
function BubbleMake() {
if (EndGameCheck()) {
return(undefined);
}
vBubble = vBNext;
vBubbleC = vBNextC;
with (eval (vBubble)) {
_x = cR * 18;
_y = cR * 32;
}
BMakeNext();
}
function BCalcDelta(AAng) {
var t;
t = Math.tan((AAng * 3.141592) / 180);
if (0 < AAng) {
if (AAng >= 45) {
vDX = vDelta;
vDY = (-vDelta) / t;
} else {
vDY = -vDelta;
vDX = vDelta * t;
}
} else if (-45 >= AAng) {
vDX = -vDelta;
vDY = vDelta / t;
} else {
vDY = -vDelta;
vDX = vDelta * t;
}
}
function BubbleMove() {
var s;
if (vGE) {
GameOver();
return(undefined);
}
if ((vMove == 2) && (vRemoveBA != 1)) {
BRemove();
} else if (vMove == 1) {
s = eval (vBubble);
s._x = s._x + vDX;
s._y = s._y + vDY;
if ((s._x < (cR * 2)) || ((cR * 35) < s._x)) {
vDX = -vDX;
}
BubbleMoveCheck();
}
}
function BubbleMoveCheck() {
var s;
var r;
var c;
s = eval (vBubble);
r = int((s._y - cR) / cD);
if (((r + 2) % 2) == 0) {
c = int((s._x - cR) / cD);
} else {
c = int(((s._x - cR) - cR) / cD);
}
if (((((vRR == r) && (vCC == c)) || (14 < r)) || (16 < c)) || (c < 0)) {
return(undefined);
}
if ((0 >= r) && (cR >= (s._y - cR))) {
_BMC(vRR, vCC, s);
return(undefined);
}
if (0 < BBL[(r * 17) + c].C) {
_BMC(vRR, vCC, s);
return(undefined);
}
if (((0 < c) && (0 < BBL[((r * 17) + c) - 1].C)) && ((0.9 * cD) >= (s._x - BBL[((r * 17) + c) - 1].X))) {
_BMC(r, c, s);
return(undefined);
}
if (((c < 16) && (0 < BBL[((r * 17) + c) + 1].C)) && ((0.9 * cD) >= (BBL[((r * 17) + c) + 1].X - s._x))) {
_BMC(r, c, s);
return(undefined);
}
vRR = r;
vCC = c;
}
function _BMC(AR, AC, AS) {
vMove = 4;
vBubbleFR = 0;
BBL[(AR * 17) + AC].C = vBubbleC;
BBL[(AR * 17) + AC].N = vBubble;
AS._x = BBL[(AR * 17) + AC].X;
AS._y = BBL[(AR * 17) + AC].Y;
vRBC = 0;
BRemoveC(AR, AC, vBubbleC);
if (vRBC >= 3) {
vC3 = 0;
vMove = 2;
} else {
vMove = 0;
if (LevelAdd()) {
BubbleMake();
}
}
}
function BubbleFreeRemove() {
var i;
var r;
var c;
if (vBubbleFR) {
return(undefined);
}
vBubbleFR = 1;
vC3 = 0;
i = 0;
while (i < 255) {
BBL[i].F = 0;
i++;
}
i = 0;
while (i < 17) {
if ((0 < BBL[i].C) && (BBL[i].F == 0)) {
_BFR(0, i);
}
i++;
}
vRBC = 0;
i = 0;
while (i < 255) {
if ((0 < BBL[i].C) && (BBL[i].F == 0)) {
RB[vRBC] = i;
vRBC++;
}
i++;
}
return(vRBC);
}
function _BFR(AR, AC) {
if ((BBL[(AR * 17) + AC].C == 0) || (BBL[(AR * 17) + AC].F == 1)) {
return(undefined);
}
BBL[(AR * 17) + AC].F = 1;
if (((AR + 2) % 2) == 0) {
if (0 < AR) {
_BFR(AR - 1, AC);
if (0 < AC) {
_BFR(AR - 1, AC - 1);
}
}
if (AR < 14) {
_BFR(AR + 1, AC);
if (0 < AC) {
_BFR(AR + 1, AC - 1);
}
}
} else {
if (0 < AR) {
_BFR(AR - 1, AC);
if (AC < 16) {
_BFR(AR - 1, AC + 1);
}
}
if (AR < 14) {
_BFR(AR + 1, AC);
if (AC < 16) {
_BFR(AR + 1, AC + 1);
}
}
}
if (0 < AC) {
_BFR(AR, AC - 1);
}
if (AC < 16) {
_BFR(AR, AC + 1);
}
}
function LevelAdd() {
var r;
var c;
var i;
var j;
vLevel++;
if (vLevel < vLevelM) {
eval ("l" + vLevel).gotoAndStop(2);
return(1);
}
vMove = 4;
vLevelM--;
if (0 >= vLevelM) {
vLevelM = 6;
} else {
eval ("l" + vLevelM).gotoAndStop(3);
}
vLevel = 0;
r = 1;
while (r < vLevelM) {
eval ("l" + r).gotoAndStop(1);
r++;
}
r = 13;
while (r >= 0) {
c = 0;
while (c < 17) {
j = ((r + 1) * 17) + c;
i = (r * 17) + c;
BBL[j].N = BBL[i].N;
BBL[j].C = BBL[i].C;
eval (BBL[j].N)._x = BBL[j].X;
eval (BBL[j].N)._y = BBL[j].Y;
c++;
}
r--;
}
i = 0;
while (i < 7) {
CCC[i] = 0;
i++;
}
i = 0;
while (i < 255) {
CCC[BBL[i].C] = BBL[i].C;
i++;
}
c = 0;
while (c < 17) {
BBL[c].N = "_b" + vDPT;
BBL[c].C = RC();
attachMovie("_b" + BBL[c].C, BBL[c].N, vDPT);
vDPT++;
eval (BBL[c].N)._x = BBL[c].X;
eval (BBL[c].N)._y = BBL[c].Y;
c++;
}
vBubbleFR = 0;
BubbleFreeRemove();
if (0 < vRBC) {
vBubbleFR = 2;
vMove = 2;
return(0);
}
vMove = 0;
return(1);
}
function RC() {
var i;
var j;
j = random(6) + 1;
i = j;
while (i < (j + 7)) {
if (0 < CCC[i % 7]) {
return(i % 7);
}
i++;
}
return(random(6) + 1);
}
function EndGameCheck() {
var i;
i = 238;
while (i < 255) {
if (0 < BBL[i].C) {
vBONUS = 0;
vGE = 1;
return(1);
}
i++;
}
i = 0;
while (i < 255) {
if (0 < BBL[i].C) {
return(0);
}
i++;
}
vBONUS = 10000;
vGE = 1;
return(1);
}
function GameOver() {
attachMovie("_EG", "EG", 16000);
EG._x = cR;
EG._y = cR;
EG.S = CNT;
EG.B = vBonus;
EG.T = EG.S + EG.B;
gotoAndPlay (6);
}
function Crypto(st) {
var sum1 = 0;
var sum2 = 0;
var i = 0;
while (i < st.length) {
sum1 = sum1 + st.charCodeAt(i);
sum2 = sum2 + (st.charCodeAt(i) ^ 175);
i++;
}
sum1 = sum1 % 256;
sum2 = sum2 % 256;
st = (String.fromCharCode(sum1) + String.fromCharCode(sum2)) + st;
var cryptSt = "";
var b0 = 193;
var i = 0;
while (i < st.length) {
var b = st.charCodeAt(i);
var CryptB = (b ^ b0);
CryptB = CryptB.toString();
var len = CryptB.length;
var j = 0;
while (j < (3 - len)) {
CryptB = "0" + CryptB;
j++;
}
cryptSt = cryptSt + CryptB;
b0 = b;
i++;
}
return(cryptSt);
}
if (!initialized) {
initialized = true;
} else {
return(undefined);
}
fscommand ("showmenu", false);
cR = 13;
cD = cR * 2;
cDD = (0.64 * cD) * cD;
vRBC = 0;
vRemoveBA = 0;
vRemoveLN = "";
vBubbleFR = 0;
vBNext = "";
vBubble = "";
vBNextC = 0;
vBubbleC = 0;
vDelta = 4;
vMove = 0;
vDX = 0;
vDY = 0;
vDPT = 1;
vRR = 0;
vCC = 0;
vCB = 0;
vC3 = 0;
vLevel = 0;
vLevelM = 6;
vGE = 0;
vBONUS = 0;
vEffects = 0;
vRool = 0;
vSplash = 0;
vSplashN = 0;
InitAll();
StartGame();
Instance of Symbol 52 MovieClip "mF" in Frame 3
onClipEvent (mouseMove) {
var r;
if (_parent.vGE) {
return(undefined);
}
r = 90 + ((Math.atan2(this._ymouse, this._xmouse) * 180) / Math.PI);
if (-85 >= r) {
r = -85;
} else if (r >= 85) {
r = 85;
}
_parent.gun._rotation = r;
}
onClipEvent (enterFrame) {
}
onClipEvent (mouseDown) {
if ((_parent.vMove == 0) && (_parent.vRool == 0)) {
_parent.vRR = -1;
_parent.vCC = -1;
_parent.BCalcDelta(_parent.gun._rotation);
_parent.vMove = 1;
} else {
_parent.vCB++;
}
}
Frame 4
BubbleMove();
Frame 5
BubbleMove();
if (vEffects) {
SplashPlay();
}
gotoAndPlay (4);
Frame 6
stop();
Symbol 5 MovieClip [_b6] Frame 1
stop();
Symbol 5 MovieClip [_b6] Frame 14
_root.vSplash = 0;
gotoAndStop (1);
Symbol 5 MovieClip [_b6] Frame 15
play();
Symbol 5 MovieClip [_b6] Frame 18
removeMovieClip(eval (this._name));
_root.vRemoveBA = 0;
Symbol 10 MovieClip [_b5] Frame 1
stop();
Symbol 10 MovieClip [_b5] Frame 14
_root.vSplash = 0;
gotoAndStop (1);
Symbol 10 MovieClip [_b5] Frame 15
play();
Symbol 10 MovieClip [_b5] Frame 18
removeMovieClip(eval (this._name));
_root.vRemoveBA = 0;
Symbol 15 MovieClip [_b4] Frame 1
stop();
Symbol 15 MovieClip [_b4] Frame 14
_root.vSplash = 0;
gotoAndStop (1);
Symbol 15 MovieClip [_b4] Frame 15
play();
Symbol 15 MovieClip [_b4] Frame 18
removeMovieClip(eval (this._name));
_root.vRemoveBA = 0;
Symbol 20 MovieClip [_b3] Frame 1
stop();
Symbol 20 MovieClip [_b3] Frame 14
_root.vSplash = 0;
gotoAndStop (1);
Symbol 20 MovieClip [_b3] Frame 15
play();
Symbol 20 MovieClip [_b3] Frame 18
removeMovieClip(eval (this._name));
_root.vRemoveBA = 0;
Symbol 25 MovieClip [_b2] Frame 1
stop();
Symbol 25 MovieClip [_b2] Frame 14
_root.vSplash = 0;
gotoAndStop (1);
Symbol 25 MovieClip [_b2] Frame 15
play();
Symbol 25 MovieClip [_b2] Frame 18
removeMovieClip(eval (this._name));
_root.vRemoveBA = 0;
Symbol 30 MovieClip [_b1] Frame 1
stop();
Symbol 30 MovieClip [_b1] Frame 14
_root.vSplash = 0;
gotoAndStop (1);
Symbol 30 MovieClip [_b1] Frame 15
play();
Symbol 30 MovieClip [_b1] Frame 18
removeMovieClip(eval (this._name));
_root.vRemoveBA = 0;
Symbol 46 Button
on (release) {
var stSend = ((((((((Number(T) + "\t") + 0) + "\t") + itName) + "\t") + "bub") + "\t") + "out");
getURL ("http://absolutist.com/cgi-bin/gameres.pl?e=" + _root.Crypto(stSend), "_top");
_parent.StartGame();
removeMovieClip("");
}
Symbol 59 MovieClip Frame 1
stop();
Symbol 60 MovieClip Frame 1
stop();
Symbol 63 Button
on (release) {
StartGame();
}
on (rollOver) {
vRool = 1;
}
on (rollOver) {
vRool = 0;
}
Symbol 73 Button
on (release) {
if (_level1.vMove != 0) {
return(undefined);
}
_level1.vMove = 10;
getURL ("http://absolutist.com", "_self");
_level1.vMove = 0;
}
on (rollOver) {
_level1.vRool = 1;
}
on (rollOut) {
_level1.vRool = 0;
}
Symbol 78 Button
on (release) {
if (vMove != 0) {
return(undefined);
}
vMove = 10;
if (vEffects) {
vEffects = 0;
cbEff.gotoAndStop(2);
line.stop();
gun.stop();
} else {
vEffects = 1;
cbEff.gotoAndStop(1);
line.play();
gun.play();
}
vMove = 0;
}
on (rollOver) {
vRool = 1;
}
on (rollOut) {
vRool = 0;
}
Symbol 81 MovieClip Frame 1
stop();
Symbol 84 Button
on (release) {
getURL ("http://absolutist.com/games.html", "_blank");
}