Combined Code
movieClip 3 {
frame 1 {
if (this.gamename != '' && this.countname != '') {
this.preventcache = getTime();
this.gamename = this.gamename;
this.countername = this.countname;
this.formaction = 'sethits';
if (_url.indexOf('file:///') == -1 || _url.indexOf('http://64.239.33.252') == 1 || _url.indexOf('http://www.playcount.com') == 1) {
proxyurl = 'proxy.' + this.scriptType.toLowerCase();
loadVariables(proxyurl, this._target, 'GET');
} else {
loadVariables('http://64.239.33.252/stats/flashdata.php', this._target, 'GET');
}
} else {
trace('HIT COUNTER HAS NO PROPERTYS SET: _root' + this._target);
}
stop();
}
}
instance of movieClip 3 {
onClipEvent (load) {
scriptType = 'PHP';
countname = 'Detonator';
gamename = 'Detonator';
}
}
movieClip 16 {
frame 99 {
stop();
}
}
frame 98 {
gotoAndPlay(99);
}
button 29 {
on (release) {
getURL('http://www.miniclip.com/Homepage.htm', '_blank');
}
}
frame 100 {
if (loadperc == 100) {
gotoAndPlay(102);
}
loadperc = int((_framesloaded / _totalframes) * 100);
perc = loadperc add '%';
}
frame 101 {
gotoAndPlay(100);
}
frame 103 {
levelnumber = 1;
gamelevel = 1;
endlevel = 15;
cratefactor = 500;
bonusdelay = 5;
score = 0;
lives = 3;
counter = getTimer();
array1 = 1;
array2 = 3;
array3 = 4;
array4 = 5;
array5 = 8;
array6 = 20;
array7 = 21;
array8 = 1;
array9 = 1;
array10 = 1;
array11 = 1;
array12 = 23;
array13 = 24;
ptr = 1;
duplicateMovieClip('/sbomb', 'sbomb1', 90);
duplicateMovieClip('/sbomb', 'sbomb2', 91);
duplicateMovieClip('/sabomb', 'sabomb1', 92);
duplicateMovieClip('/sabomb', 'sabomb2', 93);
}
movieClip 34 {
}
movieClip 37 {
}
frame 104 {
current = getTimer();
delay = (current - counter) / 1000;
if (1 < Number(delay) and Number(delay) < 1.5) {
/tiles._visible = false;
/tiles2._visible = false;
} else {
/tiles._visible = true;
/tiles2._visible = true;
}
if (4.5 < Number(delay)) {
ptr = Number(ptr) + 1;
if (13 < Number(ptr)) {
ptr = 1;
}
temp = eval('array' add ptr);
tellTarget ('/tiles') {
gotoAndStop(_level0:temp);
}
tellTarget ('/tiles2') {
gotoAndStop(_level0:temp);
}
tellTarget ('/tilehelp') {
play();
}
counter = getTimer();
}
if (Number(ptr) >= 8 and 10 >= Number(ptr)) {
if (Number(ptr) == 8) {
scale = 100;
}
if (Number(ptr) == 9) {
scale = 130;
}
if (Number(ptr) == 10) {
scale = 160;
}
/sbomb1._x = 216;
/sbomb1._y = '410';
/sbomb1._xscale = scale;
/sbomb1._yscale = scale;
/sbomb1._visible = true;
/sbomb2._x = 560;
/sbomb2._y = '410';
/sbomb2._xscale = scale;
/sbomb2._yscale = scale;
/sbomb2._visible = true;
} else {
/sbomb1._visible = false;
/sbomb2._visible = false;
}
if (Number(ptr) == 11) {
scale = 130;
/sabomb1._x = 216;
/sabomb1._y = '410';
/sabomb1._xscale = scale;
/sabomb1._yscale = scale;
/sabomb1._visible = true;
/sabomb2._x = 560;
/sabomb2._y = '410';
/sabomb2._xscale = scale;
/sabomb2._yscale = scale;
/sabomb2._visible = true;
} else {
/sabomb1._visible = false;
/sabomb2._visible = false;
}
}
movieClip 68 {
frame 1 {
stop();
}
frame 2 {
stop();
}
frame 3 {
stop();
}
frame 4 {
stop();
}
frame 5 {
stop();
}
frame 6 {
stop();
}
frame 7 {
stop();
}
frame 8 {
stop();
}
frame 9 {
stop();
}
frame 10 {
stop();
}
frame 11 {
stop();
}
frame 12 {
stop();
}
frame 13 {
stop();
}
frame 14 {
stop();
}
frame 15 {
stop();
}
frame 16 {
stop();
}
frame 17 {
stop();
}
frame 18 {
stop();
}
frame 19 {
stop();
}
frame 20 {
stop();
}
frame 21 {
stop();
}
frame 22 {
stop();
}
frame 23 {
stop();
}
frame 24 {
stop();
}
frame 61 {
stop();
}
}
movieClip 69 {
frame 1 {
stop();
}
frame 2 {
stop();
}
frame 3 {
stop();
}
frame 4 {
stop();
}
frame 5 {
stop();
}
frame 6 {
stop();
}
frame 7 {
stop();
}
frame 8 {
stop();
}
frame 9 {
stop();
}
frame 10 {
stop();
}
frame 11 {
stop();
}
frame 12 {
stop();
}
frame 13 {
stop();
}
frame 14 {
stop();
}
frame 15 {
stop();
}
frame 16 {
stop();
}
frame 17 {
stop();
}
frame 18 {
stop();
}
frame 19 {
stop();
}
frame 20 {
stop();
}
frame 21 {
stop();
}
frame 22 {
stop();
}
frame 23 {
stop();
}
frame 24 {
stop();
}
frame 61 {
stop();
}
}
movieClip 83 {
frame 1 {
stop();
}
frame 2 {
stop();
}
frame 3 {
stop();
}
frame 4 {
stop();
}
frame 5 {
stop();
}
frame 6 {
stop();
}
frame 7 {
stop();
}
frame 8 {
stop();
}
frame 9 {
stop();
}
frame 10 {
stop();
}
frame 11 {
stop();
}
frame 12 {
stop();
}
frame 13 {
stop();
}
}
button 86 {
on (press) {
gotoAndPlay(110);
}
}
button 87 {
on (release) {
getURL('http://www.miniclip.com/signup.htm', '_blank');
}
}
button 88 {
on (release) {
getURL('http://www.miniclip.com/download_detonator.htm', '_blank');
}
}
button 89 {
on (release) {
gotoAndPlay(109);
}
}
frame 107 {
gotoAndPlay(104);
}
frame 108 {
gotoAndPlay(104);
}
frame 109 {
stop();
}
button 92 {
on (release) {
gotoAndPlay(104);
}
}
frame 110 {
stopAllSounds();
tilex = 45;
tiley = 26;
moviex = 640;
moviey = 480;
removeMovieClip('/comp');
removeMovieClip('/crate2');
removeMovieClip('/manx');
count = 1;
while (100 >= Number(count)) {
removeMovieClip('/tile' add count);
removeMovieClip('/explode' add count);
removeMovieClip('/sbomb' add count);
eval('teleport' add count) = count;
count = Number(count) + 1;
}
if (Number(levelnumber) == 0) {
gridx = 5;
gridy = 5;
grid = '!!!!!!!!!!!!!!!!!!!!!!!!!';
grid2 = '6000000000000000000014';
manx = 2;
many = 2;
xoffs = 275;
yoffs = 100;
}
if (Number(levelnumber) == 1) {
gridx = 5;
gridy = 4;
grid = '!!$!!!! !!!! !!! !';
grid2 = '11010000011100110000';
manx = 5;
many = 4;
}
if (Number(levelnumber) == 2) {
gridx = 5;
gridy = 4;
grid = '!$!%! !$! !!$%!%!$';
grid2 = '11000001010020001001';
manx = 5;
many = 1;
}
if (Number(levelnumber) == 3) {
gridx = 5;
gridy = 4;
grid = '$!!!%$%$!!$!%!!!\'++)';
grid2 = '02020013100202200001';
manx = 2;
many = 1;
}
if (Number(levelnumber) == 4) {
gridx = 6;
gridy = 5;
grid = '%%! ! !%%%%!!,+)! !( !! !!%%!!';
grid2 = '000010100000100200300000000000';
manx = 1;
many = 5;
}
if (Number(levelnumber) == 5) {
gridx = 6;
gridy = 5;
grid = '!!$$!! !$ !! $#% !!!!!!';
grid2 = '010010000000001000000020010120';
manx = 1;
many = 1;
}
if (Number(levelnumber) == 6) {
gridx = 5;
gridy = 5;
grid = '!$#$$4 &$!!#1)%!#(!!!#4!';
grid2 = '0000000000022300000110001';
manx = 1;
many = 1;
teleport6 = 13;
teleport24 = 10;
}
if (Number(levelnumber) == 7) {
gridx = 5;
gridy = 5;
grid = '\'+++)$ \'+++) $!!!!!';
grid2 = '2000000000102000000000002';
manx = 5;
many = 1;
}
if (Number(levelnumber) == 8) {
gridx = 6;
gridy = 5;
grid = '!%%%%!%%4!%!%!%%!%!%%!%!%4!%%4';
grid2 = '000001000000010010000100001000';
teleport9 = 27;
teleport26 = 6;
teleport30 = 17;
manx = 1;
many = 1;
}
if (Number(levelnumber) == 9) {
gridx = 5;
gridy = 5;
grid = '!!!!5 5!!!! !!!!!';
grid2 = '0100000000000010000001200';
switch5 = '!!!!6 ! 5!!!! !!!!!';
switch11 = '!!!!6 6!!!! !!!!!!';
manx = 1;
many = 1;
}
if (Number(levelnumber) == 10) {
gridx = 5;
gridy = 5;
grid = '4! !4!! !! !! !!4! !4';
grid2 = '0201000001000000000202000';
teleport1 = 19;
teleport5 = 6;
teleport21 = 4;
teleport25 = 16;
manx = 1;
many = 2;
}
if (Number(levelnumber) == 11) {
gridx = 5;
gridy = 5;
grid = ' & !*! \'+2!! !*! ( ';
grid2 = '0020000200003000010000000';
manx = 1;
many = 3;
}
if (Number(levelnumber) == 12) {
gridx = 5;
gridy = 4;
grid = '!! !!!! !!!! !!!!!!!';
grid2 = '11010000011100112220';
manx = 5;
many = 4;
}
if (Number(levelnumber) == 13) {
gridx = 4;
gridy = 4;
grid = ' # 4$$!!!!$ ! ';
grid2 = '0100010130100010';
manx = 3;
many = 4;
teleport5 = 2;
}
if (Number(levelnumber) == 14) {
gridx = 5;
gridy = 6;
grid = '!! %$!! $! !$! $! 5!!% !! ';
grid2 = '020001100102000010021000100000';
switch1 = '6! %$!! $! !$! $! 5!!%!!! !';
switch19 = '5! %$!! $! !$! $! 6!!%!!! ';
manx = 1;
many = 1;
}
if (Number(levelnumber) == 15) {
gridx = 9;
gridy = 4;
grid = '!5%%%! 4 ! ! !! ! ! !!!!!!!!$!';
grid2 = '100003000001000003202002003000001001';
switch2 = '!6!%%! 4 ! ! !! ! ! !!!!!!!!$!';
teleport9 = 19;
manx = 1;
many = 4;
}
oldmanx = manx;
oldmany = many;
depthlevels = 5;
falloff = false;
countdownon = false;
levelfinished = false;
slotmode = false;
moves = 99999;
bombtotal = 99;
maxx = (gridx - 1) * tilex;
minx = tilex - gridy * tilex;
width = maxx - minx;
offset1 = (moviex - width) / 2;
xoffs = offset1 - minx - 5;
miny = tiley * 2;
maxy = Number(gridx * tiley) + Number(gridy * tiley);
width = maxy - miny;
offset1 = (moviey - width) / 2;
yoffs = offset1 - miny;
bonus = 1000 + Number(gamelevel * 100);
bonustart = getTimer();
}
movieClip 96 {
frame 1 {
stop();
}
frame 2 {
stop();
}
frame 3 {
stop();
}
frame 4 {
stop();
}
}
movieClip 109 {
frame 10 {
stop();
}
}
movieClip 113 {
}
movieClip 116 {
}
movieClip 119 {
}
movieClip 120 {
}
movieClip 121 {
}
movieClip 124 {
frame 1 {
stop();
}
frame 21 {
gotoAndPlay(2);
}
}
movieClip 128 {
}
button 130 {
on (keyPress '<Up>') {
if (1 < Number(moves)) {
oldmany = many;
oldmanx = manx;
direction = 3;
many -= 1;
plotman = true;
moves -= 1;
}
}
on (keyPress '<Down>') {
if (1 < Number(moves)) {
oldmany = many;
oldmanx = manx;
direction = 2;
many = Number(many) + 1;
plotman = true;
moves -= 1;
}
}
on (release, keyPress '<Right>') {
if (1 < Number(moves)) {
oldmany = many;
oldmanx = manx;
direction = 1;
manx = Number(manx) + 1;
plotman = true;
moves -= 1;
}
}
on (keyPress '<Left>') {
if (1 < Number(moves)) {
oldmany = many;
oldmanx = manx;
direction = 4;
manx -= 1;
plotman = true;
moves -= 1;
}
}
on (keyPress '<Space>') {
if (Number(slotmode) == Number(false)) {
gridpos = Number(manx) + Number((many - 1) * gridx);
tile = substring(grid2, gridpos, 1);
tile2 = substring(grid, gridpos, 1);
tile2 = ord(tile2) - 32;
if (Number(tile2) == 21) {
tellTarget ('/sound6') {
gotoAndPlay(2);
}
grid = eval('switch' add gridpos);
gotoAndPlay(111);
}
if (Number(countdownon) == Number(false) and Number(tile) != 0) {
tellTarget ('/sound2') {
gotoAndPlay(2);
}
countdown = getTimer();
countdownon = true;
detx = manx;
dety = many;
moves = 2;
} else {
if (Number(tile2) >= 6 and 19 >= Number(tile2) and Number(countdownon) == Number(true) and Number(manx) == Number(detx) and Number(many) == Number(dety)) {
countdownon = false;
slotmode = true;
slotx = manx;
sloty = many;
moves = 99999;
}
}
} else {
slotmode = false;
}
}
}
movieClip 145 {
frame 1 {
stop();
}
}
movieClip 147 {
frame 1 {
stop();
}
}
movieClip 149 {
frame 1 {
stop();
}
}
movieClip 151 {
frame 1 {
stop();
}
}
movieClip 153 {
frame 1 {
stop();
}
}
movieClip 155 {
frame 1 {
stop();
}
}
movieClip 157 {
frame 1 {
stop();
}
}
movieClip 159 {
frame 1 {
stop();
}
}
frame 111 {
count = 1;
x = 1;
y = 1;
while (Number(gridx * gridy) >= Number(count)) {
temp = substring(grid, count, 1);
temp = ord(temp) - 32;
temp2 = substring(grid2, count, 1);
xplot = Number(xoffs) + Number(x * tilex) - y * tilex;
yplot = Number(Number(yoffs) + Number(x * tiley)) + Number(y * tiley);
gridpos = Number(x) + Number((y - 1) * gridx);
depth = Number((gridpos - 1) * depthlevels) + 1;
if (Number(temp) != 0) {
duplicateMovieClip('/tile', 'tile' add count, depth);
eval('/tile' add count)._x = xplot;
eval('/tile' add count)._y = yplot;
tellTarget (''/tile' add count') {
gotoAndPlay(_level0:temp);
}
}
if (Number(temp2) != 0) {
if (Number(temp2) < 4) {
duplicateMovieClip('/sbomb', 'sbomb' add count, Number(depth) + 2);
} else {
duplicateMovieClip('/sabomb', 'sbomb' add count, Number(depth) + 2);
}
eval('/sbomb' add count)._x = xplot;
eval('/sbomb' add count)._y = yplot - tiley / 2;
if (Number(temp2) == 1 or Number(temp2) == 4) {
bombscale = 70;
}
if (Number(temp2) == 2 or Number(temp2) == 5) {
bombscale = 100;
}
if (Number(temp2) == 3 or Number(temp2) == 6) {
bombscale = 130;
}
eval('/sbomb' add count)._xscale = bombscale;
eval('/sbomb' add count)._yscale = bombscale;
}
count = Number(count) + 1;
x = Number(x) + 1;
if (Number(gridx) < Number(x)) {
x = 1;
y = Number(y) + 1;
}
}
duplicateMovieClip('/man', 'manx', Number(depth) + 1);
plotman = true;
}
frame 112 {
if (Number(plotman) == Number(true) and Number(falloff) == Number(false) and Number(levelfinished) == Number(false)) {
if (Number(slotmode) == Number(true)) {
gridpos = Number(manx) + Number((many - 1) * gridx);
tile = substring(grid, gridpos, 1);
bomb = substring(grid2, gridpos, 1);
tile = ord(tile) - 32;
if (Number(tile) >= 6 and 19 >= Number(tile) and Number(bomb) == 0) {
bombpos = Number(slotx) + Number((sloty - 1) * gridx);
bomb = substring(grid2, bombpos, 1);
tempgrid = substring(grid2, 1, bombpos - 1);
tempgrid2 = substring(grid2, Number(bombpos) + 1, Number(gridx * gridy - bombpos) + 1);
grid2 = tempgrid add '0' add tempgrid2;
removeMovieClip('/sbomb' add bombpos);
bombpos = Number(manx) + Number((many - 1) * gridx);
tempgrid = substring(grid2, 1, bombpos - 1);
tempgrid2 = substring(grid2, Number(bombpos) + 1, Number(gridx * gridy - bombpos) + 1);
grid2 = tempgrid add bomb add tempgrid2;
depth = Number((bombpos - 1) * depthlevels) + 1;
xplot = Number(xoffs) + Number(manx * tilex) - many * tilex;
yplot = Number(Number(yoffs) + Number(manx * tiley)) + Number(many * tiley);
if (3 >= Number(bomb)) {
duplicateMovieClip('/sbomb', 'sbomb' add bombpos, Number(depth) + 2);
} else {
duplicateMovieClip('/sabomb', 'sbomb' add bombpos, Number(depth) + 2);
}
eval('/sbomb' add bombpos)._x = xplot;
eval('/sbomb' add bombpos)._y = yplot - tiley / 2;
if (Number(bomb) == 1 or Number(bomb) == 4) {
bombscale = 70;
}
if (Number(bomb) == 2 or Number(bomb) == 5) {
bombscale = 100;
}
if (Number(bomb) == 3 or Number(bomb) == 6) {
bombscale = 130;
}
eval('/sbomb' add bombpos)._xscale = bombscale;
eval('/sbomb' add bombpos)._yscale = bombscale;
slotx = manx;
sloty = many;
} else {
slotmode = false;
}
}
xplot = Number(xoffs) + Number(manx * tilex) - many * tilex;
yplot = Number(Number(yoffs) + Number(manx * tiley)) + Number(many * tiley);
gridpos = Number(manx) + Number((many - 1) * gridx);
depth = Number((gridpos - 1) * depthlevels) + 1;
if (Number(depth) < 0) {
depth = 0;
}
removeMovieClip('/manx');
if (Number(direction) == 3 or Number(direction) == 4) {
duplicateMovieClip('/man', 'manx', Number(depth) + 3);
} else {
duplicateMovieClip('/man', 'manx', Number(depth) + 1);
}
/manx._x = Number(xplot) + 5;
/manx._y = yplot - 30;
tellTarget ('/manx') {
gotoAndPlay(_level0:direction);
}
plotman = false;
gridpos = Number(oldmanx) + Number((oldmany - 1) * gridx);
tile = substring(grid, gridpos, 1);
tile = ord(tile) - 32;
if (Number(tile) == 4) {
tellTarget (''/tile' add gridpos') {
gotoAndPlay('dissolve');
}
tempgrid = substring(grid, 1, gridpos - 1);
tempgrid2 = substring(grid, Number(gridpos) + 1, Number(gridx * gridy - gridpos) + 1);
grid = tempgrid add ' ' add tempgrid2;
}
gridpos = Number(manx) + Number((many - 1) * gridx);
tile = substring(grid, gridpos, 1);
tile = ord(tile) - 32;
if (Number(tile) == 0 or Number(gridx) < Number(manx) or Number(manx) < 1 or Number(gridy) < Number(many) or Number(many) < 1) {
falloff = true;
tellTarget ('/sound1') {
gotoAndPlay(2);
}
fallxplot = Number(xoffs) + Number(manx * tilex) - many * tilex;
fallyplot = Number(Number(yoffs) + Number(manx * tiley)) + Number(many * tiley);
fallscale = 50;
}
if (Number(tile) == 23) {
detonate = true;
mine = true;
detx = manx;
dety = many;
}
if (Number(tile) == 20) {
currentpos = Number(manx) + Number((many - 1) * gridx);
temppos = eval('teleport' add currentpos);
newy = int(temppos / gridx);
newx = temppos - newy * gridx;
if (Number(newx) == 0) {
newx = gridx;
} else {
newy = Number(newy) + 1;
}
manx = newx;
many = newy;
plotman = true;
tellTarget ('/sound5') {
gotoAndPlay(2);
}
}
if (Number(tile) == 5) {
plotman = true;
}
if (Number(tile) == 5 and 1 < Number(moves)) {
tellTarget ('/sound4') {
gotoAndPlay(2);
}
plotman = true;
oldmanx = manx;
oldmany = many;
if (Number(direction) == 1) {
manx = Number(manx) + 1;
}
if (Number(direction) == 2) {
many = Number(many) + 1;
}
if (Number(direction) == 3) {
many -= 1;
}
if (Number(direction) == 4) {
manx -= 1;
}
}
}
if (Number(falloff) == Number(true)) {
tellTarget ('/manx') {
gotoAndPlay(_level0:direction);
}
direction = Number(direction) + 1;
if (4 < Number(direction)) {
direction -= 4;
}
/manx._x = Number(fallxplot) + 5;
/manx._y = fallyplot - 30;
/manx._xscale = fallscale;
/manx._yscale = fallscale;
fallyplot = Number(fallyplot) + 10;
fallscale -= 0.5;
if (600 < Number(fallyplot) or Number(fallscale) < 5) {
lives -= 1;
if (0 < Number(lives)) {
gotoAndPlay(110);
} else {
gotoAndPlay(114);
}
}
}
if (Number(detonate) == Number(true)) {
bombqueue = 1;
eval('bq' add bombqueue) = Number((dety - 1) * gridx) + Number(detx);
gridpos = Number(detx) + Number((dety - 1) * gridx);
eval('btype' add bombqueue) = substring(grid2, gridpos, 1);
qptr = 1;
while (Number(bombqueue) >= Number(qptr)) {
temppos = eval('bq' add qptr);
dety = int(temppos / gridx);
detx = temppos - dety * gridx;
if (Number(detx) == 0) {
detx = gridx;
} else {
dety = Number(dety) + 1;
}
gridpos = Number(detx) + Number((dety - 1) * gridx);
tile = substring(grid2, gridpos, 1);
tile = eval('btype' add qptr);
if (3 < Number(tile)) {
zcount = 1;
while (Number(gridx * gridy) >= Number(zcount)) {
ztile = substring(grid2, zcount, 1);
if (3 < Number(ztile)) {
tempgrid = substring(grid2, 1, zcount - 1);
tempgrid2 = substring(grid2, Number(zcount) + 1, Number(gridx * gridy - zcount) + 1);
grid2 = tempgrid add '0' add tempgrid2;
bombqueue = Number(bombqueue) + 1;
eval('bq' add bombqueue) = zcount;
eval('btype' add bombqueue) = ztile;
}
zcount = Number(zcount) + 1;
}
}
if (Number(tile) == 1 or Number(mine) == Number(true) or Number(tile) == 4) {
xcheck1 = detx;
ycheck1 = dety - 1;
xcheck2 = detx - 1;
ycheck2 = dety;
xcheck3 = detx;
ycheck3 = dety;
xcheck4 = Number(detx) + 1;
ycheck4 = dety;
xcheck5 = detx;
ycheck5 = Number(dety) + 1;
maxcheck = 5;
}
if (Number(tile) == 2 or Number(tile) == 5) {
xcheck1 = detx;
ycheck1 = dety - 1;
xcheck2 = detx - 1;
ycheck2 = dety;
xcheck3 = detx;
ycheck3 = dety;
xcheck4 = Number(detx) + 1;
ycheck4 = dety;
xcheck5 = detx;
ycheck5 = Number(dety) + 1;
xcheck6 = detx;
ycheck6 = dety - 2;
xcheck7 = detx - 1;
ycheck7 = dety - 1;
xcheck8 = Number(detx) + 1;
ycheck8 = dety - 1;
xcheck9 = detx - 2;
ycheck9 = dety;
xcheck10 = Number(detx) + 2;
ycheck10 = dety;
xcheck11 = detx - 1;
ycheck11 = Number(dety) + 1;
xcheck12 = Number(detx) + 1;
ycheck12 = Number(dety) + 1;
xcheck13 = detx;
ycheck13 = Number(dety) + 2;
maxcheck = 13;
}
if (Number(tile) == 3 or Number(tile) == 6) {
xcheck1 = detx;
ycheck1 = dety - 1;
xcheck2 = detx - 1;
ycheck2 = dety;
xcheck3 = detx;
ycheck3 = dety;
xcheck4 = Number(detx) + 1;
ycheck4 = dety;
xcheck5 = detx;
ycheck5 = Number(dety) + 1;
xcheck6 = detx;
ycheck6 = dety - 2;
xcheck7 = detx - 1;
ycheck7 = dety - 1;
xcheck8 = Number(detx) + 1;
ycheck8 = dety - 1;
xcheck9 = detx - 2;
ycheck9 = dety;
xcheck10 = Number(detx) + 2;
ycheck10 = dety;
xcheck11 = detx - 1;
ycheck11 = Number(dety) + 1;
xcheck12 = Number(detx) + 1;
ycheck12 = Number(dety) + 1;
xcheck13 = detx;
ycheck13 = Number(dety) + 2;
xcheck14 = detx;
ycheck14 = dety - 3;
xcheck15 = detx - 1;
ycheck15 = dety - 2;
xcheck16 = Number(detx) + 1;
ycheck16 = dety - 2;
xcheck17 = detx - 2;
ycheck17 = dety - 1;
xcheck18 = Number(detx) + 1;
ycheck18 = dety - 1;
xcheck19 = detx - 3;
ycheck19 = dety;
xcheck20 = Number(detx) + 3;
ycheck20 = dety;
xcheck21 = detx - 2;
ycheck21 = Number(dety) + 1;
xcheck22 = Number(detx) + 2;
ycheck22 = Number(dety) + 1;
xcheck23 = detx - 1;
ycheck23 = Number(dety) + 2;
xcheck24 = Number(detx) + 1;
ycheck24 = Number(dety) + 2;
xcheck25 = detx;
ycheck25 = Number(dety) + 3;
maxcheck = 25;
}
count = 1;
while (Number(maxcheck) >= Number(count)) {
tempx = eval('xcheck' add count);
tempy = eval('ycheck' add count);
if (0 < Number(tempx) and Number(gridx) >= Number(tempx) and 0 < Number(tempy) and Number(gridy) >= Number(tempy)) {
temppos = Number(tempx) + Number((tempy - 1) * gridx);
check = substring(grid2, temppos, 1);
} else {
check = 0;
}
if (Number(check) != 0) {
tempgrid = substring(grid2, 1, temppos - 1);
tempgrid2 = substring(grid2, Number(temppos) + 1, Number(gridx * gridy - temppos) + 1);
grid2 = tempgrid add '0' add tempgrid2;
bombqueue = Number(bombqueue) + 1;
eval('bq' add bombqueue) = temppos;
eval('btype' add bombqueue) = check;
}
count = Number(count) + 1;
}
qptr = Number(qptr) + 1;
}
detonate = false;
qptr = 1;
while (Number(bombqueue) >= Number(qptr)) {
temppos = eval('bq' add qptr);
dety = int(temppos / gridx);
detx = temppos - dety * gridx;
if (Number(detx) == 0) {
detx = gridx;
} else {
dety = Number(dety) + 1;
}
tile = eval('btype' add qptr);
if (Number(tile) == 1 or Number(mine) == Number(true) or Number(tile) == 4) {
blastx1 = detx;
blasty1 = dety;
blast = 1;
}
if (Number(tile) == 2 or Number(tile) == 5) {
blastx1 = detx;
blasty1 = dety - 1;
blastx2 = detx - 1;
blasty2 = dety;
blastx3 = detx;
blasty3 = dety;
blastx4 = Number(detx) + 1;
blasty4 = dety;
blastx5 = detx;
blasty5 = Number(dety) + 1;
blast = 5;
}
if (Number(tile) == 3 or Number(tile) == 6) {
blastx1 = detx;
blasty1 = dety - 1;
blastx2 = detx - 1;
blasty2 = dety;
blastx3 = detx;
blasty3 = dety;
blastx4 = Number(detx) + 1;
blasty4 = dety;
blastx5 = detx;
blasty5 = Number(dety) + 1;
blastx6 = detx;
blasty6 = dety - 2;
blastx7 = detx - 1;
blasty7 = dety - 1;
blastx8 = Number(detx) + 1;
blasty8 = dety - 1;
blastx9 = detx - 2;
blasty9 = dety;
blastx10 = Number(detx) + 2;
blasty10 = dety;
blastx11 = detx - 1;
blasty11 = Number(dety) + 1;
blastx12 = Number(detx) + 1;
blasty12 = Number(dety) + 1;
blastx13 = detx;
blasty13 = Number(dety) + 2;
blast = 13;
}
count = 1;
while (Number(blast) >= Number(count)) {
blastx = eval('blastx' add count);
blasty = eval('blasty' add count);
if (Number(blastx) == Number(manx) and Number(blasty) == Number(many) and Number(falloff) == Number(false)) {
falloff = true;
tellTarget ('/sound1') {
gotoAndPlay(2);
}
fallxplot = Number(xoffs) + Number(manx * tilex) - many * tilex;
fallyplot = Number(Number(yoffs) + Number(manx * tiley)) + Number(many * tiley);
fallscale = 50;
}
if (0 < Number(blastx) and Number(gridx) >= Number(blastx) and 0 < Number(blasty) and Number(gridy) >= Number(blasty)) {
gridpos = Number(blastx) + Number((blasty - 1) * gridx);
tile = substring(grid, gridpos, 1);
tile = ord(tile) - 32;
if (Number(tile) != 3) {
removeMovieClip('/tile' add gridpos);
tempgrid = substring(grid, 1, gridpos - 1);
tempgrid2 = substring(grid, Number(gridpos) + 1, Number(gridx * gridy - gridpos) + 1);
grid = tempgrid add ' ' add tempgrid2;
}
removeMovieClip('/sbomb' add gridpos);
duplicateMovieClip('/explode', 'explode' add gridpos, 900 + Number(gridpos));
xplot = Number(xoffs) + Number(blastx * tilex) - blasty * tilex;
yplot = Number(Number(yoffs) + Number(blastx * tiley)) + Number(blasty * tiley);
eval('/explode' add gridpos)._x = xplot;
eval('/explode' add gridpos)._y = yplot - tiley / 2;
tellTarget (''/explode' add gridpos') {
gotoAndPlay(2);
}
tellTarget ('/sound3') {
gotoAndPlay(2);
}
}
count = Number(count) + 1;
}
qptr = Number(qptr) + 1;
}
mine = false;
moves = 99999;
total = 0;
tempscore = 0;
count = 1;
while (Number(gridx * gridy) >= Number(count)) {
tile = substring(grid, count, 1);
tile = ord(tile) - 32;
bomb = substring(grid2, count, 1);
total = Number(total) + Number(bomb);
if (Number(tile) != 0) {
tempscore = Number(tempscore) + 10;
}
count = Number(count) + 1;
}
bombtotal = total;
plotman = true;
}
if (Number(bombtotal) == 0 and Number(falloff) == Number(false) and Number(plotman) == Number(false)) {
score = Number(score) + Number(tempscore);
score = Number(score) + Number(bonus);
duplicateMovieClip('/completed', 'comp', 999);
/comp._x = moviex / 2;
/comp._y = moviey / 2 - 50;
tellTarget ('/comp') {
gotoAndPlay(2);
}
levelfinished = true;
finishtimer = getTimer();
bombtotal = 99;
}
if (15 < Number(gamelevel) and Number(random(cratefactor)) == 10 and Number(levelfinished) == Number(false) and Number(cratefalling) == Number(false)) {
x = manx;
y = many;
cratex = manx;
cratey = many;
gridpos = Number(x) + Number((y - 1) * gridx);
depth = Number((gridpos - 1) * depthlevels) + 1;
cratexplot = Number(xoffs) + Number(x * tilex) - y * tilex;
finalcrateyplot = Number(Number(yoffs) + Number(x * tiley)) + Number(y * tiley);
crateyplot = finalcrateyplot - 300;
duplicateMovieClip('/crate', 'crate2', Number(depth) + 4);
/crate2._x = cratexplot;
/crate2._y = crateyplot;
cratefall = false;
fallspeed = 1;
cratefalling = true;
tellTarget ('/sound7') {
gotoAndPlay(2);
}
}
if (Number(cratefalling) == Number(true)) {
crateyplot = Number(crateyplot) + Number(fallspeed);
fallspeed = Number(fallspeed) + 1;
distance = finalcrateyplot - crateyplot;
if (Number(distance) < 55) {
if (Number(cratex) == Number(manx) and Number(cratey) == Number(many)) {
mine = true;
detonate = true;
detx = manx;
dety = many;
cratefalling = false;
}
}
if (Number(crateyplot) >= Number(finalcrateyplot)) {
tellTarget ('/sound8') {
gotoAndPlay(2);
}
cratefalling = false;
cratepause = true;
cratedelay = 0;
crateyplot = finalcrateyplot;
}
/crate2._x = cratexplot;
/crate2._y = crateyplot;
}
if (Number(cratepause) == Number(true)) {
if (20 < Number(cratedelay)) {
removeMovieClip('/crate2');
cratepause = false;
} else {
cratedelay = Number(cratedelay) + 1;
}
}
}
frame 113 {
current = (getTimer() - bonustart) / 1000;
if (Number(bonusdelay) < Number(current)) {
bonustart = getTimer();
bonus -= 50;
if (0 >= Number(bonus)) {
detonate = true;
mine = true;
detx = manx;
dety = many;
}
}
if (Number(countdownon) == Number(true)) {
current = getTimer();
delay = (current - countdown) / 1000;
if (1.5 < Number(delay)) {
detonate = true;
countdownon = false;
}
}
tempgoto = true;
if (Number(levelfinished) == Number(true)) {
current = getTimer();
delay = (current - finishtimer) / 1000;
if (3.5 < Number(delay)) {
levelnumber = Number(levelnumber) + 1;
bonusdelay -= 0.1;
if (Number(bonusdelay) < 1) {
bonusdelay = 1;
}
cratefactor -= 15;
if (Number(cratefactor) < 30) {
cratefactor = 30;
}
gamelevel = Number(gamelevel) + 1;
if (Number(endlevel) < Number(levelnumber)) {
levelnumber = 1;
}
tempgoto = false;
}
}
if (Number(tempgoto) == Number(true)) {
gotoAndPlay(112);
} else {
tempgoto = true;
gotoAndPlay(110);
}
}
frame 114 {
removeMovieClip('/comp');
removeMovieClip('/crate2');
removeMovieClip('/manx');
count = 1;
while (100 >= Number(count)) {
removeMovieClip('/tile' add count);
removeMovieClip('/explode' add count);
removeMovieClip('/sbomb' add count);
eval('teleport' add count) = count;
count = Number(count) + 1;
}
count = 5;
newrecord = false;
if (Number(newrecord) == Number(true)) {
result = 'Well done! That\'s a new high score!';
} else {
result = 'You didn\'t manage to get a high-score';
}
stop();
}
button 160 {
on (press) {
if (Number(newrecord) == Number(false)) {
gotoAndPlay(103);
} else {
gotoAndPlay(115);
}
}
}
button 161 {
on (release) {
gotoAndPlay(103);
}
}