Frame 1
_quality = "HIGH";
_root.sound_on = true;
Stage.scaleMode = "noScale";
fscommand ("trapallkeys", true);
fscommand ("showmenu", "false");
_root.game_id = "1480";
_root.main_link = "http://www.2DPlay.com/index.php?gameid=" + _root.game_id;
_root.download_link = "http://www.2DPlay.com/downloadgame.php?gameid=" + _root.game_id;
_root.get_game_link = "http://www.2DPlay.com/freecontent.htm";
_root.scores_link = ("http://www.2Dplay.com/highscores.php?gameid=" + _root.game_id) + "&hiscore=";
_root.viewscores_link = "http://www.2Dplay.com/showscores.php?gameid=" + _root.game_id;
Frame 2
stop();
Frame 4
function GameInit() {
var _local1 = _root;
_local1.game_level = 1;
_local1.score = 0;
_local1.mana = 100;
}
function SetButtonStr() {
var _local1 = _root;
switch (_quality) {
case "HIGH" :
_local1.quality_str = "SET GRAPHICS QUALITY TO LOW";
break;
case "MEDIUM" :
_local1.quality_str = "SET GRAPHICS QUALITY TO HIGH";
break;
case "LOW" :
_local1.quality_str = "SET GRAPHICS QUALITY TO MED";
}
switch (_local1.sound_on) {
case true :
_local1.sound_str = "SWITCH SOUND OFF";
return;
case false :
_local1.sound_str = "SWITCH SOUND ON";
}
}
function hex_md5(s) {
return(binl2hex(core_md5(str2binl(s), s.length * chrsz)));
}
function b64_md5(s) {
return(binl2b64(core_md5(str2binl(s), s.length * chrsz)));
}
function str_md5(s) {
return(binl2str(core_md5(str2binl(s), s.length * chrsz)));
}
function hex_hmac_md5(key, data) {
return(binl2hex(core_hmac_md5(key, data)));
}
function b64_hmac_md5(key, data) {
return(binl2b64(core_hmac_md5(key, data)));
}
function str_hmac_md5(key, data) {
return(binl2str(core_hmac_md5(key, data)));
}
function md5_vm_test() {
return(hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72");
}
function core_md5(x, len) {
x[len >> 5] = x[len >> 5] | (128 << (len % 32));
x[(((len + 64) >>> 9) << 4) + 14] = len;
var a = 1732584193;
var _local3 = -271733879;
var _local2 = -1732584194;
var _local1 = 271733878 /* 0x10325476 */;
var i = 0;
while (i < x.length) {
var olda = a;
var oldb = _local3;
var oldc = _local2;
var oldd = _local1;
a = md5_ff(a, _local3, _local2, _local1, x[i + 0], 7, -680876936);
_local1 = md5_ff(_local1, a, _local3, _local2, x[i + 1], 12, -389564586);
_local2 = md5_ff(_local2, _local1, a, _local3, x[i + 2], 17, 606105819);
_local3 = md5_ff(_local3, _local2, _local1, a, x[i + 3], 22, -1044525330);
a = md5_ff(a, _local3, _local2, _local1, x[i + 4], 7, -176418897);
_local1 = md5_ff(_local1, a, _local3, _local2, x[i + 5], 12, 1200080426);
_local2 = md5_ff(_local2, _local1, a, _local3, x[i + 6], 17, -1473231341);
_local3 = md5_ff(_local3, _local2, _local1, a, x[i + 7], 22, -45705983);
a = md5_ff(a, _local3, _local2, _local1, x[i + 8], 7, 1770035416);
_local1 = md5_ff(_local1, a, _local3, _local2, x[i + 9], 12, -1958414417);
_local2 = md5_ff(_local2, _local1, a, _local3, x[i + 10], 17, -42063);
_local3 = md5_ff(_local3, _local2, _local1, a, x[i + 11], 22, -1990404162);
a = md5_ff(a, _local3, _local2, _local1, x[i + 12], 7, 1804603682);
_local1 = md5_ff(_local1, a, _local3, _local2, x[i + 13], 12, -40341101);
_local2 = md5_ff(_local2, _local1, a, _local3, x[i + 14], 17, -1502002290);
_local3 = md5_ff(_local3, _local2, _local1, a, x[i + 15], 22, 1236535329);
a = md5_gg(a, _local3, _local2, _local1, x[i + 1], 5, -165796510);
_local1 = md5_gg(_local1, a, _local3, _local2, x[i + 6], 9, -1069501632);
_local2 = md5_gg(_local2, _local1, a, _local3, x[i + 11], 14, 643717713);
_local3 = md5_gg(_local3, _local2, _local1, a, x[i + 0], 20, -373897302);
a = md5_gg(a, _local3, _local2, _local1, x[i + 5], 5, -701558691);
_local1 = md5_gg(_local1, a, _local3, _local2, x[i + 10], 9, 38016083);
_local2 = md5_gg(_local2, _local1, a, _local3, x[i + 15], 14, -660478335);
_local3 = md5_gg(_local3, _local2, _local1, a, x[i + 4], 20, -405537848);
a = md5_gg(a, _local3, _local2, _local1, x[i + 9], 5, 568446438);
_local1 = md5_gg(_local1, a, _local3, _local2, x[i + 14], 9, -1019803690);
_local2 = md5_gg(_local2, _local1, a, _local3, x[i + 3], 14, -187363961);
_local3 = md5_gg(_local3, _local2, _local1, a, x[i + 8], 20, 1163531501);
a = md5_gg(a, _local3, _local2, _local1, x[i + 13], 5, -1444681467);
_local1 = md5_gg(_local1, a, _local3, _local2, x[i + 2], 9, -51403784);
_local2 = md5_gg(_local2, _local1, a, _local3, x[i + 7], 14, 1735328473);
_local3 = md5_gg(_local3, _local2, _local1, a, x[i + 12], 20, -1926607734);
a = md5_hh(a, _local3, _local2, _local1, x[i + 5], 4, -378558);
_local1 = md5_hh(_local1, a, _local3, _local2, x[i + 8], 11, -2022574463);
_local2 = md5_hh(_local2, _local1, a, _local3, x[i + 11], 16, 1839030562);
_local3 = md5_hh(_local3, _local2, _local1, a, x[i + 14], 23, -35309556);
a = md5_hh(a, _local3, _local2, _local1, x[i + 1], 4, -1530992060);
_local1 = md5_hh(_local1, a, _local3, _local2, x[i + 4], 11, 1272893353);
_local2 = md5_hh(_local2, _local1, a, _local3, x[i + 7], 16, -155497632);
_local3 = md5_hh(_local3, _local2, _local1, a, x[i + 10], 23, -1094730640);
a = md5_hh(a, _local3, _local2, _local1, x[i + 13], 4, 681279174);
_local1 = md5_hh(_local1, a, _local3, _local2, x[i + 0], 11, -358537222);
_local2 = md5_hh(_local2, _local1, a, _local3, x[i + 3], 16, -722521979);
_local3 = md5_hh(_local3, _local2, _local1, a, x[i + 6], 23, 76029189);
a = md5_hh(a, _local3, _local2, _local1, x[i + 9], 4, -640364487);
_local1 = md5_hh(_local1, a, _local3, _local2, x[i + 12], 11, -421815835);
_local2 = md5_hh(_local2, _local1, a, _local3, x[i + 15], 16, 530742520);
_local3 = md5_hh(_local3, _local2, _local1, a, x[i + 2], 23, -995338651);
a = md5_ii(a, _local3, _local2, _local1, x[i + 0], 6, -198630844);
_local1 = md5_ii(_local1, a, _local3, _local2, x[i + 7], 10, 1126891415);
_local2 = md5_ii(_local2, _local1, a, _local3, x[i + 14], 15, -1416354905);
_local3 = md5_ii(_local3, _local2, _local1, a, x[i + 5], 21, -57434055);
a = md5_ii(a, _local3, _local2, _local1, x[i + 12], 6, 1700485571);
_local1 = md5_ii(_local1, a, _local3, _local2, x[i + 3], 10, -1894986606);
_local2 = md5_ii(_local2, _local1, a, _local3, x[i + 10], 15, -1051523);
_local3 = md5_ii(_local3, _local2, _local1, a, x[i + 1], 21, -2054922799);
a = md5_ii(a, _local3, _local2, _local1, x[i + 8], 6, 1873313359);
_local1 = md5_ii(_local1, a, _local3, _local2, x[i + 15], 10, -30611744);
_local2 = md5_ii(_local2, _local1, a, _local3, x[i + 6], 15, -1560198380);
_local3 = md5_ii(_local3, _local2, _local1, a, x[i + 13], 21, 1309151649);
a = md5_ii(a, _local3, _local2, _local1, x[i + 4], 6, -145523070);
_local1 = md5_ii(_local1, a, _local3, _local2, x[i + 11], 10, -1120210379);
_local2 = md5_ii(_local2, _local1, a, _local3, x[i + 2], 15, 718787259);
_local3 = md5_ii(_local3, _local2, _local1, a, x[i + 9], 21, -343485551);
a = safe_add(a, olda);
_local3 = safe_add(_local3, oldb);
_local2 = safe_add(_local2, oldc);
_local1 = safe_add(_local1, oldd);
i = i + 16;
}
return(Array(a, _local3, _local2, _local1));
}
function md5_cmn(q, a, b, x, s, t) {
return(safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b));
}
function md5_ff(a, b, c, d, x, s, t) {
var _local1 = b;
return(md5_cmn((_local1 & c) | ((~_local1) & d), a, _local1, x, s, t));
}
function md5_gg(a, b, c, d, x, s, t) {
return(md5_cmn((b & d) | (c & (~d)), a, b, x, s, t));
}
function md5_hh(a, b, c, d, x, s, t) {
return(md5_cmn((b ^ c) ^ d, a, b, x, s, t));
}
function md5_ii(a, b, c, d, x, s, t) {
return(md5_cmn(c ^ (b | (~d)), a, b, x, s, t));
}
function core_hmac_md5(key, data) {
var _local2 = str2binl(key);
if (_local2.length > 16) {
_local2 = core_md5(_local2, key.length * chrsz);
}
var _local3 = Array(16);
var opad = Array(16);
var _local1 = 0;
while (_local1 < 16) {
_local3[_local1] = _local2[_local1] ^ 909522486;
opad[_local1] = _local2[_local1] ^ 1549556828;
_local1++;
}
var hash = core_md5(_local3.concat(str2binl(data)), 512 + (data.length * chrsz));
return(core_md5(opad.concat(hash), 640));
}
function safe_add(x, y) {
var _local1 = (x & 65535) + (y & 65535);
var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16);
return((_local2 << 16) | (_local1 & 65535));
}
function bit_rol(num, cnt) {
return((num << cnt) | (num >>> (32 - cnt)));
}
function str2binl(str) {
var _local2 = str;
var _local3 = Array();
var mask = ((1 << chrsz) - 1);
var _local1 = 0;
while (_local1 < (_local2.length * chrsz)) {
_local3[_local1 >> 5] = _local3[_local1 >> 5] | ((_local2.charCodeAt(_local1 / chrsz) & mask) << (_local1 % 32));
_local1 = _local1 + chrsz;
}
return(_local3);
}
function binl2str(bin) {
var _local2 = bin;
var _local3 = "";
var mask = ((1 << chrsz) - 1);
var _local1 = 0;
while (_local1 < (_local2.length * 32)) {
_local3 = _local3 + String.fromCharCode((_local2[_local1 >> 5] >>> (_local1 % 32)) & mask);
_local1 = _local1 + chrsz;
}
return(_local3);
}
function binl2hex(binarray) {
var _local2 = binarray;
var _local3 = (hexcase ? "0123456789ABCDEF" : "0123456789abcdef");
var str = "";
var _local1 = 0;
while (_local1 < (_local2.length * 4)) {
str = str + (_local3.charAt((_local2[_local1 >> 2] >> (((_local1 % 4) * 8) + 4)) & 15) + _local3.charAt((_local2[_local1 >> 2] >> ((_local1 % 4) * 8)) & 15));
_local1++;
}
return(str);
}
function binl2b64(binarray) {
var _local3 = binarray;
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var str = "";
var _local2 = 0;
while (_local2 < (_local3.length * 4)) {
var triplet = (((((_local3[_local2 >> 2] >> (8 * (_local2 % 4))) & 255) << 16) | (((_local3[(_local2 + 1) >> 2] >> (8 * ((_local2 + 1) % 4))) & 255) << 8)) | ((_local3[(_local2 + 2) >> 2] >> (8 * ((_local2 + 2) % 4))) & 255));
var _local1 = 0;
while (_local1 < 4) {
if (((_local2 * 8) + (_local1 * 6)) > (_local3.length * 32)) {
str = str + b64pad;
} else {
str = str + tab.charAt((triplet >> (6 * (3 - _local1))) & 63);
}
_local1++;
}
_local2 = _local2 + 3;
}
return(str);
}
var levels_data = new Array();
var level_temp = new Array(7, 1, 4, 0, 7, 1, 4, 2, 7, 1, 5, 1, 7, 1, 4, 1, 7, 1, 3, 1, 5, 1, 1, 2, 5, 1, 0, 3, 5, 1, 1, 4, 4, 1, 4, 4, 4, 1, 3, 5, 4, 1, 4, 6, 7, 1, 1, 9, 7, 1, 2, 9, 7, 1, 1, 10, 7, 1, 2, 10, 7, 1, 3, 9, 7, 1, 2, 8, 7, 1, 1, 8, 7, 1, 0, 9, 7, 1, 4, 11, 7, 1, 5, 12, 7, 1, 6, 11, 7, 1, 5, 10, 7, 1, 5, 11, 5, 1, 2, 4, 5, 1, 1, 3, 5, 1, 2, 3, 5, 1, 3, 3, 5, 1, 2, 2, 4, 1, 4, 5, 4, 1, 5, 6, 4, 1, 5, 5, 4, 1, 6, 5, 4, 1, 5, 4, 0.5, 1);
levels_data.push(level_temp);
var level_temp = new Array(3, 1, 6, 2, 3, 1, 5, 2, 3, 1, 4, 2, 3, 1, 3, 2, 3, 1, 2, 2, 3, 1, 1, 2, 3, 1, 0, 2, 6, 1, 0, 3, 6, 1, 1, 3, 6, 1, 5, 3, 6, 1, 6, 3, 6, 1, 4, 4, 6, 1, 2, 4, 6, 1, 1, 4, 6, 1, 5, 4, 6, 1, 2, 5, 6, 1, 4, 5, 6, 1, 3, 6, 6, 1, 3, 5, 5, 1, 0, 9, 5, 1, 1, 9, 5, 1, 2, 9, 5, 1, 3, 9, 5, 1, 4, 9, 5, 1, 5, 9, 5, 1, 6, 9, 4, 1, 0, 8, 4, 1, 1, 8, 4, 1, 2, 8, 4, 1, 3, 8, 4, 1, 4, 8, 4, 1, 5, 8, 4, 1, 6, 8, 3, 1, 0, 1, 3, 1, 1, 1, 3, 1, 2, 1, 3, 1, 3, 1, 3, 1, 4, 1, 3, 1, 5, 1, 3, 1, 6, 1, 6, 1, 3, 7, 0.2, 3);
levels_data.push(level_temp);
var level_temp = new Array(7, 1, 5, 3, 7, 1, 4, 3, 7, 1, 2, 3, 7, 1, 1, 3, 7, 1, 0, 4, 7, 1, 1, 4, 7, 1, 2, 5, 7, 1, 0, 6, 7, 1, 0, 5, 7, 1, 1, 6, 7, 1, 6, 4, 7, 1, 6, 5, 7, 1, 6, 6, 7, 1, 5, 6, 7, 1, 5, 4, 7, 1, 4, 5, 1, 1, 3, 0, 2, 1, 3, 2, 2, 1, 3, 1, 3, 1, 3, 3, 3, 1, 3, 5, 3, 1, 3, 4, 4, 1, 0, 3, 4, 1, 6, 3, 4, 1, 1, 5, 4, 1, 5, 5, 4, 1, 2, 6, 4, 1, 4, 6, 5, 1, 2, 4, 5, 1, 4, 4, 5, 1, 3, 6, 8, 2, 6, 9, 8, 2, 5, 9, 8, 2, 4, 9, 8, 2, 3, 9, 8, 2, 2, 9, 8, 2, 1, 9, 8, 2, 0, 9, 0.2, 2);
levels_data.push(level_temp);
var level_temp = new Array(1, 1, 3, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 2, 1, 1, 1, 3, 1, 1, 2, 4, 1, 1, 4, 2, 1, 1, 5, 1, 1, 1, 6, 2, 1, 1, 5, 3, 1, 1, 4, 4, 1, 1, 3, 5, 3, 1, 0, 6, 3, 1, 2, 6, 3, 1, 4, 6, 3, 1, 6, 6, 5, 1, 5, 6, 5, 1, 3, 6, 5, 1, 1, 6, 2, 1, 6, 7, 2, 1, 5, 7, 2, 1, 4, 7, 2, 1, 3, 7, 2, 1, 2, 7, 2, 1, 1, 7, 2, 1, 0, 7, 2, 1, 6, 9, 2, 1, 5, 9, 2, 1, 4, 9, 2, 1, 3, 9, 2, 1, 2, 9, 2, 1, 1, 9, 2, 1, 0, 9, 3, 1, 5, 8, 3, 1, 3, 8, 3, 1, 1, 8, 5, 2, 0, 8, 5, 2, 2, 8, 5, 2, 4, 8, 5, 2, 6, 8, 3, 1, 6, 10, 3, 1, 4, 10, 3, 1, 2, 10, 3, 1, 0, 10, 5, 3, 5, 10, 5, 3, 3, 10, 5, 3, 1, 10, 0.2, 3);
levels_data.push(level_temp);
var level_temp = new Array(8, 2, 6, 1, 8, 2, 5, 1, 8, 2, 4, 1, 8, 2, 3, 1, 8, 2, 2, 1, 8, 2, 1, 1, 8, 2, 0, 1, 8, 2, 6, 8, 8, 2, 5, 8, 8, 2, 4, 8, 8, 2, 3, 8, 8, 2, 2, 8, 8, 2, 1, 8, 8, 2, 0, 8, 3, 1, 5, 7, 3, 1, 5, 6, 3, 1, 5, 2, 3, 1, 5, 3, 3, 1, 5, 4, 3, 1, 5, 5, 1, 1, 3, 2, 1, 1, 3, 3, 1, 1, 3, 4, 1, 1, 3, 6, 1, 1, 3, 5, 1, 1, 3, 7, 5, 1, 1, 7, 5, 1, 1, 6, 5, 1, 1, 5, 5, 1, 1, 4, 5, 1, 1, 2, 5, 1, 1, 3, 0.2, 2);
levels_data.push(level_temp);
var level_temp = new Array(6, 1, 4, 3, 6, 1, 6, 3, 6, 1, 5, 0, 6, 1, 3, 0, 6, 1, 1, 0, 6, 1, 2, 3, 6, 1, 0, 3, 6, 1, 0, 1, 6, 1, 1, 2, 6, 1, 2, 1, 6, 1, 6, 1, 6, 1, 5, 2, 6, 1, 4, 1, 6, 1, 3, 2, 9, 1, 3, 4, 6, 1, 0, 4, 6, 1, 1, 4, 6, 1, 2, 4, 6, 1, 6, 4, 6, 1, 4, 4, 6, 1, 5, 4, 6, 1, 5, 7, 6, 1, 1, 10, 6, 1, 4, 7, 6, 1, 3, 7, 6, 1, 2, 7, 6, 1, 1, 7, 6, 1, 0, 7, 6, 1, 2, 10, 6, 1, 3, 10, 6, 1, 4, 10, 6, 1, 5, 10, 6, 1, 6, 10, 0.2, 1);
levels_data.push(level_temp);
var level_temp = new Array(1, 2, 0, 9, 1, 2, 1, 8, 1, 2, 2, 7, 1, 2, 6, 3, 1, 2, 5, 4, 1, 2, 4, 5, 1, 2, 6, 9, 1, 2, 5, 8, 1, 2, 4, 7, 1, 2, 3, 6, 1, 2, 2, 5, 1, 2, 1, 4, 1, 2, 0, 3, 9, 1, 0, 5, 9, 1, 0, 7, 9, 1, 1, 6, 9, 1, 0, 6, 9, 1, 6, 5, 9, 1, 6, 7, 9, 1, 6, 6, 9, 1, 5, 6, 7, 1, 0, 8, 7, 1, 1, 7, 7, 1, 0, 10, 7, 1, 1, 9, 7, 1, 2, 8, 7, 1, 5, 5, 7, 1, 6, 4, 7, 1, 4, 4, 7, 1, 5, 3, 7, 1, 6, 2, 7, 1, 0, 2, 7, 1, 0, 4, 7, 1, 1, 5, 7, 1, 1, 3, 7, 1, 2, 4, 7, 1, 3, 5, 7, 1, 4, 6, 7, 1, 5, 7, 7, 1, 6, 8, 7, 1, 2, 6, 7, 1, 3, 7, 7, 1, 4, 8, 7, 1, 5, 9, 7, 1, 6, 10, 0.2, 3);
levels_data.push(level_temp);
var level_temp = new Array(2, 1, 1, 2, 2, 1, 2, 3, 2, 1, 3, 2, 2, 1, 2, 1, 1, 1, 3, 5, 1, 1, 4, 6, 1, 1, 5, 5, 1, 1, 4, 4, 4, 3, 3, 9, 6, 3, 4, 5, 3, 3, 2, 2, 4, 1, 3, 11, 4, 1, 4, 10, 4, 1, 5, 9, 4, 1, 4, 8, 4, 1, 3, 7, 4, 1, 2, 8, 4, 1, 1, 9, 4, 1, 2, 10, 6, 1, 6, 5, 6, 1, 5, 6, 6, 1, 4, 7, 6, 1, 3, 6, 6, 1, 2, 5, 6, 1, 3, 4, 6, 1, 4, 3, 6, 1, 5, 4, 3, 1, 2, 4, 3, 1, 3, 3, 3, 1, 4, 2, 3, 1, 3, 1, 3, 1, 1, 3, 3, 1, 0, 2, 3, 1, 1, 1, 3, 1, 2, 0, 5, 1, 4, 9, 5, 1, 3, 10, 5, 1, 2, 9, 5, 1, 3, 8, 7, 1, 1, 10, 7, 1, 0, 11, 7, 1, 1, 12, 7, 1, 2, 11, 7, 1, 0, 13, 7, 1, 1, 11, 7, 1, 0, 12, 7, 1, 0, 14, 0.2, 1);
levels_data.push(level_temp);
var level_temp = new Array(1, 1, 3, 13, 1, 1, 1, 13, 1, 1, 2, 12, 1, 1, 2, 11, 1, 1, 2, 10, 3, 1, 5, 6, 3, 1, 5, 5, 3, 1, 6, 4, 3, 1, 4, 0, 3, 1, 4, 1, 3, 1, 3, 2, 3, 1, 3, 3, 3, 1, 2, 4, 3, 1, 1, 5, 3, 1, 0, 6, 3, 1, 2, 5, 3, 1, 0, 7, 3, 1, 1, 7, 3, 1, 1, 9, 3, 1, 1, 8, 3, 1, 2, 8, 3, 1, 2, 7, 3, 1, 2, 6, 3, 1, 3, 7, 3, 1, 4, 6, 3, 1, 4, 7, 3, 1, 3, 8, 3, 1, 2, 9, 3, 1, 3, 9, 7, 1, 3, 10, 7, 1, 1, 10, 1, 1, 1, 6, 1, 1, 3, 6, 3, 1, 3, 5, 3, 1, 4, 5, 3, 1, 5, 4, 3, 1, 6, 3, 3, 1, 6, 2, 3, 1, 5, 2, 3, 1, 5, 3, 3, 1, 4, 3, 3, 1, 4, 4, 3, 1, 3, 4, 3, 1, 4, 2, 3, 1, 5, 1, 3, 1, 6, 1, 3, 1, 6, 0, 3, 1, 5, 0, 0.2, 1);
levels_data.push(level_temp);
var level_temp = new Array(1, 1, 5, 1, 1, 1, 4, 1, 1, 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 2, 1, 1, 1, 2, 1, 1, 0, 3, 1, 1, 1, 3, 1, 1, 2, 3, 1, 1, 2, 2, 1, 1, 3, 2, 1, 1, 5, 3, 1, 1, 6, 3, 1, 1, 4, 3, 1, 1, 4, 2, 1, 1, 5, 2, 1, 1, 6, 2, 1, 1, 6, 1, 1, 1, 6, 0, 1, 1, 5, 0, 1, 1, 4, 0, 1, 1, 3, 0, 1, 1, 2, 0, 1, 1, 1, 0, 1, 1, 0, 0, 2, 1, 1, 5, 2, 1, 3, 3, 2, 1, 2, 4, 2, 1, 3, 4, 2, 1, 4, 4, 2, 1, 5, 5, 2, 1, 3, 7, 2, 1, 3, 5, 2, 1, 4, 5, 2, 1, 4, 6, 2, 1, 3, 6, 2, 1, 2, 6, 2, 1, 2, 5, 5, 1, 0, 10, 5, 1, 1, 10, 5, 1, 2, 10, 5, 1, 3, 10, 5, 1, 4, 10, 5, 1, 5, 10, 5, 1, 6, 10, 5, 1, 0, 8, 5, 1, 1, 9, 5, 1, 2, 9, 5, 1, 3, 9, 5, 1, 4, 9, 5, 1, 5, 9, 5, 1, 6, 9, 5, 1, 6, 8, 5, 1, 5, 8, 5, 1, 4, 8, 5, 1, 3, 8, 5, 1, 2, 8, 5, 1, 1, 8, 5, 1, 0, 9, 5, 1, 0, 7, 5, 1, 1, 7, 5, 1, 2, 7, 5, 1, 4, 7, 5, 1, 5, 7, 5, 1, 6, 7, 0.2, 3);
levels_data.push(level_temp);
var level_temp = new Array();
levels_data.push(level_temp);
var level_temp = new Array(1, 1, 1, 8, 1, 1, 6, 12, 1, 1, 1, 9, 1, 1, 2, 10, 7, 1, 2, 1, 1, 1, 3, 2, 1, 1, 3, 1, 1, 1, 2, 0, 1, 1, 0, 3, 1, 1, 0, 2, 1, 1, 1, 0, 7, 1, 1, 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 3, 1, 1, 1, 4, 1, 1, 1, 5, 1, 1, 2, 5, 1, 1, 6, 10, 1, 1, 6, 9, 1, 1, 6, 8, 1, 1, 5, 7, 1, 1, 3, 4, 1, 1, 3, 5, 1, 1, 3, 6, 1, 1, 4, 5, 1, 1, 5, 6, 1, 1, 6, 6, 1, 1, 5, 5, 1, 1, 6, 11, 1, 1, 5, 9, 1, 1, 4, 8, 1, 1, 4, 7, 1, 1, 3, 8, 1, 1, 4, 4, 1, 1, 2, 3, 1, 1, 2, 2, 1, 1, 2, 7, 1, 1, 2, 9, 1, 1, 2, 8, 1, 1, 5, 10, 1, 1, 4, 9, 1, 1, 3, 9, 2, 1, 2, 6, 2, 1, 3, 7, 2, 1, 4, 6, 2, 1, 5, 8, 2, 1, 6, 7, 2, 1, 2, 4, 0.2, 1);
levels_data.push(level_temp);
var level_temp = new Array(7, 1, 3, 12, 7, 1, 3, 11, 7, 1, 4, 11, 7, 1, 4, 10, 7, 1, 3, 10, 7, 1, 1, 6, 7, 1, 6, 9, 7, 1, 5, 10, 7, 1, 6, 10, 7, 1, 5, 9, 7, 1, 4, 8, 7, 1, 3, 7, 7, 1, 3, 8, 7, 1, 4, 9, 7, 1, 2, 6, 7, 1, 1, 5, 7, 1, 0, 4, 7, 1, 1, 2, 7, 1, 0, 3, 7, 1, 2, 2, 7, 1, 2, 1, 7, 1, 3, 1, 7, 1, 4, 2, 7, 1, 3, 3, 7, 1, 2, 3, 7, 1, 2, 4, 7, 1, 1, 4, 7, 1, 4, 3, 7, 1, 2, 7, 7, 1, 2, 8, 7, 1, 1, 8, 7, 1, 2, 9, 7, 1, 1, 9, 7, 1, 1, 10, 7, 1, 0, 9, 7, 1, 3, 6, 7, 1, 4, 5, 7, 1, 5, 3, 7, 1, 5, 4, 7, 1, 5, 5, 7, 1, 6, 4, 7, 1, 6, 5, 7, 1, 6, 6, 7, 1, 6, 7, 7, 1, 6, 8, 7, 1, 5, 7, 7, 1, 5, 8, 7, 1, 4, 7, 7, 1, 5, 6, 7, 1, 4, 6, 1, 4, 3, 2, 1, 4, 1, 3, 9, 1, 2, 5, 9, 1, 3, 5, 9, 1, 3, 4, 9, 1, 4, 4, 0.2, 3);
levels_data.push(level_temp);
var level_temp = new Array(8, 2, 0, 6, 8, 2, 1, 6, 4, 1, 1, 2, 4, 1, 5, 2, 1, 1, 3, 11, 1, 1, 3, 9, 1, 1, 3, 7, 1, 1, 3, 5, 1, 1, 3, 3, 1, 1, 3, 1, 3, 1, 0, 0, 3, 1, 1, 0, 3, 1, 2, 0, 3, 1, 3, 0, 3, 1, 4, 0, 3, 1, 5, 0, 3, 1, 6, 0, 4, 1, 4, 2, 4, 1, 3, 2, 4, 1, 2, 2, 3, 1, 0, 4, 3, 1, 1, 4, 3, 1, 2, 4, 3, 1, 6, 4, 3, 1, 5, 4, 3, 1, 4, 4, 3, 1, 3, 4, 3, 1, 0, 8, 3, 1, 1, 8, 3, 1, 2, 8, 3, 1, 3, 8, 3, 1, 6, 8, 3, 1, 5, 8, 3, 1, 4, 8, 4, 1, 2, 6, 4, 1, 3, 6, 4, 1, 4, 6, 4, 1, 3, 10, 8, 2, 5, 6, 8, 2, 6, 6, 8, 2, 6, 2, 8, 2, 0, 2, 8, 2, 4, 10, 8, 2, 5, 10, 8, 2, 6, 10, 8, 2, 2, 10, 8, 2, 1, 10, 8, 2, 0, 10, 1, 1, 3, 12, 1, 1, 3, 13, 0.5, 1);
levels_data.push(level_temp);
var level_temp = new Array(9, 1, 6, 6, 9, 1, 0, 2, 9, 1, 3, 9, 9, 1, 5, 3, 9, 1, 1, 7, 9, 1, 3, 5, 9, 1, 6, 10, 7, 1, 0, 9, 7, 1, 1, 10, 7, 1, 2, 11, 7, 1, 3, 10, 7, 1, 4, 9, 7, 1, 5, 10, 7, 1, 6, 11, 1, 1, 0, 1, 1, 1, 1, 2, 1, 1, 2, 3, 1, 1, 3, 2, 1, 1, 4, 1, 1, 1, 5, 2, 1, 1, 6, 3, 3, 1, 0, 3, 3, 1, 1, 4, 3, 1, 2, 5, 3, 1, 3, 4, 3, 1, 4, 3, 3, 1, 5, 4, 3, 1, 6, 5, 5, 1, 0, 5, 5, 1, 1, 6, 5, 1, 2, 7, 5, 1, 3, 6, 5, 1, 4, 5, 5, 1, 5, 6, 5, 1, 6, 7, 6, 1, 0, 7, 6, 1, 1, 8, 6, 1, 2, 9, 6, 1, 3, 8, 6, 1, 4, 7, 6, 1, 5, 8, 6, 1, 6, 9, 0.6, 2);
levels_data.push(level_temp);
var level_temp = new Array(8, 2, 1, 3, 8, 2, 2, 5, 8, 2, 3, 2, 8, 2, 4, 3, 8, 2, 4, 4, 8, 2, 6, 5, 8, 2, 6, 4, 8, 2, 1, 7, 8, 2, 1, 8, 8, 2, 4, 8, 8, 2, 4, 9, 2, 2, 0, 6, 1, 1, 0, 5, 1, 1, 0, 4, 2, 2, 3, 8, 1, 1, 3, 7, 1, 1, 3, 6, 2, 2, 5, 7, 1, 1, 5, 6, 1, 1, 5, 5, 1, 1, 6, 1, 1, 1, 6, 2, 2, 1, 6, 3, 1, 1, 4, 5, 1, 1, 4, 6, 2, 1, 4, 7, 1, 1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 4, 1, 1, 0, 7, 1, 1, 0, 8, 2, 2, 0, 9, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2, 0, 3, 1, 1, 3, 9, 1, 1, 3, 10, 2, 2, 3, 11, 1, 1, 2, 6, 1, 1, 2, 7, 2, 2, 2, 8, 1, 1, 4, 0, 1, 1, 4, 1, 2, 1, 4, 2, 1, 1, 5, 8, 1, 1, 5, 9, 2, 2, 5, 10, 1, 1, 6, 6, 1, 1, 6, 7, 2, 2, 6, 8, 1, 1, 5, 2, 1, 1, 5, 3, 2, 1, 5, 4, 1, 1, 1, 4, 1, 1, 1, 5, 2, 2, 1, 6, 1, 1, 3, 4, 1, 1, 3, 3, 2, 2, 3, 5, 1, 1, 1, 0, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 9, 1, 1, 1, 10, 2, 2, 1, 11, 1, 1, 3, 0, 2, 2, 3, 1, 1, 1, 4, 10, 1, 1, 4, 11, 2, 2, 4, 12, 0.4, 3);
levels_data.push(level_temp);
var level_temp = new Array(4, 1, 4, 5, 4, 1, 3, 5, 4, 1, 2, 4, 4, 1, 3, 3, 4, 1, 4, 4, 4, 1, 3, 4, 4, 1, 2, 5, 4, 1, 3, 7, 1, 1, 4, 6, 1, 1, 3, 6, 1, 1, 2, 6, 7, 1, 4, 7, 7, 1, 2, 7, 1, 1, 4, 3, 1, 1, 2, 3, 4, 1, 5, 4, 4, 1, 5, 5, 4, 1, 6, 11, 4, 1, 5, 11, 4, 1, 5, 10, 4, 1, 5, 9, 4, 1, 0, 11, 4, 1, 1, 11, 4, 1, 1, 10, 4, 1, 1, 9, 4, 1, 5, 6, 4, 1, 4, 8, 4, 1, 3, 8, 4, 1, 2, 8, 4, 1, 1, 7, 4, 1, 1, 6, 4, 1, 5, 7, 4, 1, 0, 7, 4, 1, 6, 5, 4, 1, 6, 4, 4, 1, 5, 3, 4, 1, 5, 2, 4, 1, 5, 1, 4, 1, 4, 2, 4, 1, 3, 2, 4, 1, 2, 1, 4, 1, 2, 2, 4, 1, 1, 3, 4, 1, 1, 5, 4, 1, 1, 4, 4, 1, 0, 6, 0.2, 1);
levels_data.push(level_temp);
var level_temp = new Array(7, 1, 2, 8, 3, 1, 1, 7, 3, 1, 1, 8, 3, 1, 3, 9, 3, 2, 0, 12, 3, 2, 2, 9, 3, 2, 1, 10, 3, 2, 3, 8, 3, 2, 2, 7, 3, 2, 1, 6, 3, 2, 1, 5, 3, 2, 1, 4, 3, 2, 2, 3, 3, 2, 3, 2, 3, 2, 4, 3, 3, 2, 5, 3, 3, 2, 6, 4, 3, 2, 6, 5, 3, 2, 5, 6, 3, 2, 6, 7, 3, 2, 5, 8, 3, 2, 4, 8, 3, 2, 4, 9, 3, 2, 5, 10, 3, 2, 5, 11, 3, 2, 6, 12, 3, 2, 1, 11, 1, 1, 3, 4, 7, 1, 6, 6, 7, 1, 5, 7, 3, 2, 4, 4, 3, 2, 3, 3, 3, 2, 3, 5, 3, 2, 2, 4, 3, 2, 2, 5, 3, 2, 2, 6, 3, 2, 3, 6, 3, 2, 4, 6, 3, 2, 4, 5, 3, 2, 5, 4, 1, 1, 5, 5, 7, 1, 4, 7, 7, 1, 3, 7, 3, 1, 5, 12, 3, 1, 1, 12, 7, 1, 6, 11, 7, 1, 0, 11, 0.2, 2);
levels_data.push(level_temp);
var level_temp = new Array(5, 1, 5, 9, 5, 1, 4, 10, 5, 1, 2, 9, 5, 1, 1, 9, 5, 1, 0, 10, 6, 1, 5, 8, 6, 1, 5, 6, 6, 1, 5, 7, 6, 1, 4, 7, 6, 1, 4, 6, 6, 1, 5, 5, 6, 1, 5, 3, 6, 1, 5, 4, 6, 1, 6, 2, 6, 1, 4, 2, 6, 1, 4, 1, 6, 1, 6, 4, 6, 1, 6, 3, 6, 1, 3, 2, 6, 1, 3, 7, 6, 1, 2, 6, 6, 1, 1, 4, 6, 1, 0, 4, 6, 1, 1, 3, 6, 1, 1, 6, 6, 1, 0, 5, 6, 1, 0, 6, 6, 1, 2, 5, 6, 1, 4, 8, 6, 1, 4, 9, 6, 1, 3, 9, 6, 1, 3, 8, 6, 1, 4, 3, 6, 1, 0, 7, 6, 1, 1, 8, 6, 1, 1, 7, 6, 1, 2, 7, 6, 1, 2, 8, 7, 1, 0, 8, 1, 1, 1, 5, 5, 1, 1, 11, 5, 1, 2, 11, 5, 1, 3, 11, 5, 1, 4, 11, 5, 1, 5, 11, 5, 1, 6, 10, 5, 1, 1, 10, 5, 1, 6, 12, 5, 1, 5, 12, 5, 1, 4, 12, 5, 1, 2, 12, 5, 1, 1, 12, 5, 1, 0, 12, 4, 2, 6, 9, 4, 2, 6, 11, 4, 2, 5, 10, 4, 2, 3, 10, 4, 2, 2, 10, 4, 2, 3, 12, 4, 2, 0, 11, 5, 1, 1, 0, 5, 1, 5, 0, 5, 1, 6, 6, 0.2, 1);
levels_data.push(level_temp);
var level_temp = new Array(5, 3, 2, 8, 5, 3, 2, 7, 5, 3, 2, 6, 5, 3, 4, 7, 5, 3, 4, 6, 5, 3, 3, 4, 5, 3, 3, 5, 5, 3, 3, 6, 5, 3, 3, 7, 5, 3, 4, 8, 5, 3, 3, 8, 3, 1, 1, 8, 3, 1, 5, 8, 3, 1, 1, 9, 3, 1, 2, 9, 3, 1, 3, 9, 3, 1, 4, 9, 3, 1, 5, 9, 3, 1, 4, 4, 3, 1, 4, 5, 3, 1, 5, 6, 3, 1, 5, 7, 3, 1, 6, 9, 3, 1, 6, 8, 3, 1, 3, 2, 3, 1, 3, 3, 3, 1, 1, 6, 3, 1, 2, 4, 3, 1, 2, 5, 3, 1, 1, 7, 3, 1, 0, 9, 3, 1, 0, 8, 3, 1, 0, 10, 3, 1, 1, 10, 3, 1, 2, 10, 3, 1, 6, 10, 3, 1, 5, 10, 3, 1, 4, 10, 3, 1, 3, 10, 0.3, 3);
levels_data.push(level_temp);
var level_temp = new Array(1, 1, 0, 10, 1, 1, 1, 10, 1, 1, 2, 10, 1, 1, 3, 10, 1, 1, 4, 10, 1, 1, 5, 10, 1, 1, 6, 10, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, 4, 1, 1, 1, 5, 1, 1, 1, 6, 1, 5, 1, 0, 3, 4, 1, 0, 5, 4, 1, 0, 4, 4, 1, 1, 4, 4, 1, 1, 3, 4, 1, 2, 3, 5, 1, 0, 7, 5, 1, 0, 6, 5, 1, 1, 6, 5, 1, 1, 5, 5, 1, 2, 5, 5, 1, 2, 4, 5, 1, 3, 4, 5, 1, 3, 3, 5, 1, 4, 3, 5, 1, 6, 8, 5, 1, 3, 8, 5, 1, 2, 8, 5, 1, 6, 4, 5, 1, 6, 5, 5, 1, 5, 5, 5, 1, 5, 6, 5, 1, 4, 6, 5, 1, 4, 7, 5, 1, 3, 7, 4, 1, 5, 7, 4, 1, 4, 8, 4, 1, 6, 7, 4, 1, 6, 6, 4, 1, 5, 8, 2, 1, 6, 9, 2, 1, 5, 9, 2, 1, 4, 9, 2, 1, 3, 9, 2, 1, 2, 9, 2, 1, 1, 9, 2, 1, 0, 9, 4, 1, 0, 8, 4, 1, 1, 8, 4, 1, 6, 3, 4, 1, 5, 4, 4, 1, 4, 5, 4, 1, 3, 6, 2, 1, 0, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 3, 2, 2, 1, 4, 2, 2, 1, 5, 2, 2, 1, 6, 2, 4, 1, 5, 3, 4, 1, 4, 4, 4, 1, 3, 5, 4, 1, 2, 6, 4, 1, 1, 7, 4, 1, 2, 7, 0.2, 3);
levels_data.push(level_temp);
var level_temp = new Array();
levels_data.push(level_temp);
var level_temp = new Array(8, 2, 2, 9, 8, 2, 4, 9, 8, 2, 3, 9, 8, 2, 3, 1, 8, 2, 3, 0, 8, 2, 3, 2, 4, 5, 3, 5, 4, 1, 4, 5, 4, 1, 3, 4, 4, 1, 2, 5, 4, 1, 3, 6, 9, 1, 1, 1, 9, 1, 5, 1, 9, 1, 0, 1, 9, 1, 5, 9, 9, 1, 1, 9, 8, 2, 3, 7, 8, 2, 4, 6, 8, 2, 5, 5, 8, 2, 4, 4, 8, 2, 3, 3, 8, 2, 2, 4, 8, 2, 1, 5, 8, 2, 2, 6, 8, 2, 3, 8, 8, 2, 4, 7, 8, 2, 5, 6, 8, 2, 5, 4, 8, 2, 4, 3, 8, 2, 2, 7, 8, 2, 1, 6, 8, 2, 1, 4, 8, 2, 2, 3, 9, 1, 6, 5, 9, 1, 0, 5, 9, 1, 6, 7, 9, 1, 6, 9, 9, 1, 6, 3, 9, 1, 6, 1, 9, 1, 0, 7, 9, 1, 0, 9, 9, 1, 0, 3, 9, 1, 5, 0, 9, 1, 6, 0, 9, 1, 1, 0, 9, 1, 0, 0, 5, 1, 5, 7, 5, 1, 5, 3, 5, 1, 1, 7, 5, 1, 1, 3, 8, 2, 6, 8, 8, 2, 6, 6, 8, 2, 6, 4, 8, 2, 6, 2, 8, 2, 4, 1, 8, 2, 4, 0, 8, 2, 2, 1, 8, 2, 2, 0, 8, 2, 0, 2, 8, 2, 0, 4, 8, 2, 0, 6, 8, 2, 0, 8, 0.2, 3);
levels_data.push(level_temp);
var level_temp = new Array(2, 1, 3, 0, 2, 1, 3, 1, 2, 1, 3, 2, 2, 1, 3, 3, 2, 1, 3, 4, 2, 1, 3, 5, 2, 1, 3, 6, 2, 1, 3, 7, 2, 1, 3, 8, 2, 1, 3, 9, 2, 1, 3, 10, 2, 1, 3, 11, 2, 1, 3, 12, 2, 1, 3, 13, 2, 1, 3, 14, 5, 1, 5, 1, 5, 1, 6, 3, 5, 1, 5, 5, 5, 1, 4, 7, 5, 1, 5, 9, 5, 1, 6, 11, 5, 1, 5, 13, 5, 1, 1, 0, 5, 1, 2, 1, 5, 1, 1, 2, 5, 1, 0, 3, 5, 1, 1, 4, 5, 1, 2, 5, 5, 1, 1, 6, 5, 1, 0, 7, 5, 1, 1, 8, 5, 1, 2, 9, 5, 1, 1, 10, 5, 1, 0, 11, 5, 1, 1, 12, 5, 1, 2, 13, 0.6, 1);
levels_data.push(level_temp);
var level_temp = new Array(1, 1, 0, 6, 1, 1, 1, 7, 1, 1, 2, 8, 1, 1, 0, 4, 1, 1, 1, 5, 1, 1, 2, 6, 1, 1, 3, 7, 1, 1, 4, 8, 1, 1, 2, 4, 1, 1, 3, 5, 1, 1, 4, 4, 1, 1, 4, 6, 1, 1, 5, 5, 1, 1, 0, 8, 1, 1, 5, 7, 1, 1, 6, 4, 1, 1, 6, 6, 1, 1, 6, 8, 8, 2, 6, 7, 8, 2, 5, 6, 8, 2, 6, 5, 8, 2, 4, 5, 8, 2, 5, 4, 8, 2, 3, 4, 8, 2, 3, 8, 8, 2, 4, 7, 8, 2, 5, 8, 8, 2, 3, 6, 8, 2, 1, 8, 8, 2, 2, 7, 8, 2, 1, 6, 8, 2, 0, 7, 8, 2, 2, 5, 8, 2, 1, 4, 8, 2, 0, 5, 3, 1, 0, 3, 3, 1, 1, 3, 3, 1, 2, 3, 3, 1, 3, 3, 3, 1, 4, 3, 3, 1, 5, 3, 3, 1, 6, 3, 3, 1, 6, 9, 3, 1, 5, 9, 3, 1, 4, 9, 3, 1, 3, 9, 3, 1, 2, 9, 3, 1, 1, 9, 3, 1, 0, 9, 0.7, 2);
levels_data.push(level_temp);
var level_temp = new Array(5, 1, 4, 4, 7, 1, 5, 5, 1, 1, 5, 2, 5, 1, 5, 4, 5, 1, 5, 3, 5, 1, 4, 3, 5, 1, 4, 2, 5, 1, 3, 3, 5, 1, 2, 3, 5, 1, 1, 3, 5, 1, 0, 4, 5, 1, 0, 5, 5, 1, 1, 6, 5, 1, 2, 6, 5, 1, 3, 6, 5, 1, 4, 7, 5, 1, 5, 9, 5, 1, 5, 8, 5, 1, 4, 10, 5, 1, 3, 11, 5, 1, 2, 11, 5, 1, 1, 11, 5, 1, 0, 10, 5, 1, 1, 9, 2, 3, 2, 9, 5, 1, 1, 8, 5, 1, 0, 9, 5, 1, 1, 12, 5, 1, 2, 12, 5, 1, 0, 11, 5, 1, 3, 12, 2, 3, 2, 8, 5, 1, 4, 11, 5, 1, 5, 10, 5, 1, 4, 8, 5, 1, 3, 7, 5, 1, 2, 5, 5, 1, 1, 5, 5, 1, 0, 3, 5, 1, 1, 2, 5, 1, 2, 2, 5, 1, 3, 2, 5, 1, 4, 1, 5, 1, 5, 1, 0.3, 3);
levels_data.push(level_temp);
var level_temp = new Array(1, 1, 2, 14, 1, 1, 4, 13, 1, 1, 2, 11, 1, 1, 4, 11, 7, 1, 2, 10, 7, 1, 4, 10, 7, 1, 2, 8, 7, 1, 4, 8, 7, 1, 4, 9, 7, 1, 2, 9, 1, 1, 5, 4, 1, 1, 4, 3, 1, 1, 4, 4, 1, 1, 4, 5, 1, 1, 2, 5, 1, 1, 1, 4, 1, 1, 2, 3, 1, 1, 2, 4, 5, 1, 3, 0, 5, 1, 4, 0, 5, 1, 5, 1, 5, 1, 6, 2, 5, 1, 2, 0, 5, 1, 1, 1, 5, 1, 0, 2, 5, 1, 6, 8, 5, 1, 5, 9, 5, 1, 3, 9, 5, 1, 1, 9, 5, 1, 0, 8, 8, 2, 4, 6, 8, 2, 5, 5, 8, 2, 6, 4, 8, 2, 5, 3, 8, 2, 4, 2, 8, 2, 3, 3, 8, 2, 3, 4, 8, 2, 3, 5, 8, 2, 2, 6, 8, 2, 1, 5, 8, 2, 0, 4, 8, 2, 1, 3, 8, 2, 2, 2, 0.2, 2);
levels_data.push(level_temp);
var level_temp = new Array(8, 2, 1, 5, 8, 2, 0, 6, 8, 2, 1, 7, 8, 2, 2, 6, 8, 2, 2, 5, 8, 2, 3, 4, 8, 2, 2, 3, 8, 2, 1, 4, 8, 2, 0, 2, 8, 2, 1, 1, 8, 2, 2, 2, 8, 2, 1, 3, 8, 2, 3, 2, 8, 2, 4, 1, 8, 2, 5, 2, 8, 2, 4, 3, 1, 1, 6, 11, 1, 1, 2, 11, 1, 1, 5, 11, 1, 1, 6, 10, 2, 1, 4, 6, 1, 1, 4, 10, 2, 1, 3, 11, 1, 1, 3, 10, 1, 1, 1, 11, 2, 1, 0, 11, 1, 1, 1, 10, 1, 1, 6, 9, 1, 1, 6, 7, 1, 1, 5, 9, 1, 1, 4, 9, 1, 1, 5, 8, 1, 1, 6, 6, 2, 1, 6, 8, 2, 1, 5, 10, 2, 1, 2, 10, 2, 1, 3, 9, 2, 1, 5, 7, 1, 1, 4, 8, 1, 1, 5, 6, 1, 1, 6, 5, 2, 1, 1, 2, 1, 1, 1, 6, 2, 1, 4, 2, 1, 1, 2, 4, 1, 1, 6, 4, 1, 1, 0, 10, 1, 1, 1, 9, 1, 1, 2, 9, 1, 1, 3, 8, 1, 1, 4, 7, 1, 1, 4, 11, 1, 1, 5, 5, 1, 1, 5, 4, 1, 1, 6, 3, 1, 1, 6, 2, 0.3, 1);
levels_data.push(level_temp);
var level_temp = new Array(3, 1, 4, 12, 3, 1, 3, 12, 3, 1, 2, 12, 1, 4, 1, 9, 1, 4, 2, 10, 1, 4, 2, 7, 1, 4, 2, 8, 1, 4, 5, 9, 1, 4, 4, 10, 1, 4, 3, 10, 1, 4, 2, 9, 1, 4, 3, 9, 1, 4, 4, 9, 1, 4, 3, 8, 1, 4, 4, 8, 1, 4, 4, 7, 1, 4, 3, 7, 3, 1, 1, 5, 3, 1, 1, 10, 3, 1, 2, 6, 3, 1, 4, 6, 3, 1, 5, 8, 3, 1, 5, 10, 3, 1, 2, 3, 3, 1, 2, 4, 3, 1, 2, 5, 3, 1, 1, 6, 3, 1, 1, 7, 3, 1, 0, 9, 3, 1, 0, 8, 3, 1, 4, 3, 3, 1, 4, 4, 3, 1, 4, 5, 3, 1, 4, 2, 3, 1, 2, 2, 3, 1, 5, 6, 3, 1, 5, 7, 3, 1, 6, 8, 3, 1, 6, 9, 3, 1, 6, 10, 3, 1, 5, 11, 3, 1, 4, 11, 3, 1, 3, 11, 3, 1, 2, 11, 3, 1, 0, 10, 3, 1, 1, 11, 1, 4, 1, 8, 1, 4, 3, 5, 1, 4, 3, 6, 1, 4, 3, 4, 1, 4, 3, 3, 1, 4, 3, 2, 1, 1, 3, 1, 1, 1, 4, 1, 1, 1, 5, 2, 1, 1, 5, 3, 1, 1, 6, 3, 1, 1, 6, 4, 1, 1, 6, 6, 0.7, 2);
levels_data.push(level_temp);
var level_temp = new Array(8, 2, 0, 4, 8, 2, 0, 5, 8, 2, 1, 5, 8, 2, 1, 6, 8, 2, 2, 4, 8, 2, 2, 5, 8, 2, 3, 3, 8, 2, 3, 4, 8, 2, 4, 4, 8, 2, 4, 5, 8, 2, 5, 5, 8, 2, 5, 6, 8, 2, 6, 5, 8, 2, 6, 4, 4, 1, 3, 2, 4, 1, 2, 3, 4, 1, 4, 3, 4, 1, 5, 4, 4, 1, 1, 4, 4, 1, 3, 6, 4, 1, 2, 7, 4, 1, 4, 7, 4, 1, 3, 8, 4, 1, 1, 8, 4, 1, 5, 8, 4, 1, 6, 9, 4, 1, 0, 9, 4, 1, 1, 10, 4, 1, 5, 10, 4, 1, 6, 3, 4, 1, 0, 3, 4, 1, 3, 0, 4, 1, 4, 1, 4, 1, 5, 2, 4, 1, 6, 1, 4, 1, 1, 2, 4, 1, 2, 1, 4, 1, 0, 1, 4, 1, 6, 7, 4, 1, 0, 7, 4, 1, 4, 9, 4, 1, 2, 9, 6, 5, 0, 2, 6, 5, 1, 3, 6, 5, 2, 2, 6, 5, 3, 1, 6, 5, 4, 2, 6, 5, 5, 3, 6, 5, 6, 2, 6, 5, 0, 8, 6, 5, 1, 9, 6, 5, 2, 8, 6, 5, 3, 7, 6, 5, 4, 8, 6, 5, 5, 9, 6, 5, 6, 8, 8, 2, 0, 10, 8, 2, 1, 11, 8, 2, 2, 10, 8, 2, 3, 9, 8, 2, 4, 10, 8, 2, 5, 11, 8, 2, 6, 10, 9, 1, 6, 6, 9, 1, 5, 7, 9, 1, 4, 6, 9, 1, 3, 5, 9, 1, 2, 6, 9, 1, 1, 7, 9, 1, 0, 6, 0.3, 3);
levels_data.push(level_temp);
var level_temp = new Array(3, 4, 2, 5, 3, 4, 2, 6, 3, 4, 4, 6, 3, 4, 4, 5, 2, 1, 3, 10, 2, 1, 3, 9, 6, 1, 0, 8, 6, 1, 0, 9, 6, 1, 6, 8, 6, 1, 6, 9, 2, 1, 0, 7, 2, 1, 6, 7, 2, 1, 6, 6, 2, 1, 6, 5, 2, 1, 0, 6, 2, 1, 5, 7, 2, 1, 5, 8, 2, 1, 1, 8, 2, 1, 1, 7, 2, 1, 0, 5, 6, 1, 5, 10, 6, 1, 5, 9, 6, 1, 1, 10, 6, 1, 1, 9, 2, 1, 6, 0, 2, 1, 6, 1, 2, 1, 6, 2, 2, 1, 6, 3, 2, 1, 6, 4, 2, 1, 5, 5, 2, 1, 5, 6, 2, 1, 4, 7, 2, 1, 3, 8, 2, 1, 2, 7, 2, 1, 1, 6, 2, 1, 1, 5, 2, 1, 0, 4, 2, 1, 0, 3, 2, 1, 0, 2, 2, 1, 0, 1, 2, 1, 0, 0, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 4, 1, 1, 1, 5, 1, 7, 1, 4, 8, 7, 1, 4, 9, 7, 1, 4, 10, 7, 1, 4, 11, 7, 1, 2, 8, 7, 1, 2, 9, 7, 1, 2, 10, 7, 1, 2, 11, 1, 1, 2, 3, 1, 1, 3, 3, 1, 1, 4, 3, 3, 4, 3, 5, 3, 4, 3, 7, 3, 4, 3, 6, 3, 4, 4, 4, 3, 4, 3, 4, 3, 4, 2, 4, 3, 4, 5, 3, 3, 4, 5, 2, 3, 4, 4, 2, 3, 4, 3, 2, 3, 4, 3, 1, 3, 4, 5, 0, 3, 4, 4, 0, 3, 4, 3, 0, 3, 4, 2, 0, 3, 4, 1, 0, 3, 4, 2, 2, 3, 4, 1, 2, 3, 4, 1, 3, 3, 4, 5, 4, 3, 4, 1, 4, 8, 2, 6, 10, 8, 2, 5, 11, 8, 2, 4, 12, 8, 2, 3, 12, 8, 2, 2, 12, 8, 2, 1, 11, 8, 2, 0, 10, 0.6, 3);
levels_data.push(level_temp);
var level_temp = new Array(6, 3, 0, 3, 6, 3, 6, 2, 6, 3, 6, 3, 6, 3, 4, 2, 6, 3, 6, 11, 7, 3, 0, 12, 7, 3, 1, 12, 7, 2, 2, 12, 7, 1, 3, 12, 7, 2, 4, 12, 7, 3, 5, 12, 7, 3, 6, 12, 8, 2, 0, 7, 8, 2, 1, 7, 8, 2, 2, 7, 8, 2, 3, 7, 8, 2, 4, 7, 8, 2, 5, 7, 8, 2, 6, 7, 1, 3, 0, 10, 1, 3, 1, 10, 1, 3, 5, 10, 1, 3, 6, 10, 1, 3, 6, 9, 1, 3, 3, 10, 1, 3, 1, 9, 1, 3, 4, 9, 1, 3, 4, 6, 1, 3, 0, 5, 1, 3, 0, 4, 1, 3, 0, 2, 2, 3, 1, 0, 1, 3, 3, 0, 1, 3, 6, 0, 1, 3, 5, 5, 1, 3, 5, 4, 1, 3, 6, 6, 1, 3, 3, 5, 1, 3, 2, 4, 1, 3, 2, 5, 1, 3, 2, 0, 1, 3, 1, 1, 1, 3, 0, 0, 4, 3, 6, 1, 4, 3, 5, 0, 4, 3, 4, 1, 4, 3, 3, 3, 4, 3, 2, 2, 4, 3, 1, 3, 4, 3, 2, 8, 4, 3, 0, 8, 6, 3, 3, 8, 6, 3, 5, 8, 6, 3, 3, 11, 6, 3, 2, 10, 6, 3, 1, 11, 5, 3, 2, 6, 5, 3, 1, 5, 5, 3, 0, 6, 5, 3, 6, 8, 5, 3, 4, 8, 5, 3, 6, 4, 5, 3, 5, 3, 5, 3, 4, 4, 3, 3, 3, 4, 3, 3, 2, 3, 3, 3, 1, 4, 3, 3, 2, 9, 3, 3, 1, 8, 3, 3, 0, 9, 3, 3, 5, 1, 3, 3, 4, 0, 3, 3, 3, 1, 3, 3, 4, 11, 2, 5, 5, 9, 2, 5, 4, 10, 2, 5, 3, 9, 2, 5, 5, 2, 2, 5, 4, 3, 2, 5, 3, 2, 2, 5, 3, 6, 2, 5, 1, 6, 2, 5, 2, 1, 2, 5, 1, 2, 2, 5, 0, 1, 2, 5, 4, 5, 2, 5, 5, 6, 2, 5, 6, 5, 2, 5, 2, 11, 2, 5, 5, 11, 2, 5, 0, 11, 0.9, 3);
levels_data.push(level_temp);
var level_temp = new Array();
levels_data.push(level_temp);
_root.game_cheat = false;
_root.ball_count = 100;
_root.glimpse_count = 300;
_root.shot_count = 500;
_root.new_ball_mana = -25;
_root.spider_hit_mana = -3;
_root.bat_hit_mana = -5;
_root.ghost_hit_mana = -7;
_root.enemy_appear_delay = 200;
_root.boss_bat_hit = -10;
_root.boss_bat_life = 15;
_root.boss_spider_hit_1 = -10;
_root.boss_spider_hit_2 = -7;
_root.boss_spider_life = 15;
_root.boss_demon_hit_1 = -15;
_root.boss_demon_hit_2 = -10;
_root.demon_shot_speed = 10;
_root.boss_demon_life = 20;
_root.powerup_mana = 25;
_root.brick_pts = 2;
_root.powerup_pts = 10;
_root.enemy_pts = 20;
_root.boss_bat_pts = 150;
_root.boss_spider_pts = 250;
_root.boss_demon_pts = 500;
_root.bat_cry_sfx = new Sound();
_root.bat_cry_sfx.attachSound("bat_cry.wav");
_root.bomb_expl_sfx = new Sound();
_root.bomb_expl_sfx.attachSound("bomb_expl.wav");
_root.boss_bat_wing_sfx = new Sound();
_root.boss_bat_wing_sfx.attachSound("boss_bat_wing.wav");
_root.boss_spider_attack_sfx = new Sound();
_root.boss_spider_attack_sfx.attachSound("boss_spider_attack.wav");
_root.boss_spider_shot_sfx = new Sound();
_root.boss_spider_shot_sfx.attachSound("boss_spider_shot.wav");
_root.brick_break_sfx = new Sound();
_root.brick_break_sfx.attachSound("brick_break.wav");
_root.brick_unbreakable_sfx = new Sound();
_root.brick_unbreakable_sfx.attachSound("brick_unbreakable.wav");
_root.demon_appear_sfx = new Sound();
_root.demon_appear_sfx.attachSound("demon_appear.wav");
_root.demon_away_sfx = new Sound();
_root.demon_away_sfx.attachSound("demon_away.wav");
_root.demon_bat_attack_sfx = new Sound();
_root.demon_bat_attack_sfx.attachSound("demon_bat_attack.wav");
_root.demon_shot_sfx = new Sound();
_root.demon_shot_sfx.attachSound("demon_shot.wav");
_root.enemy_hit_sfx = new Sound();
_root.enemy_hit_sfx.attachSound("enemy_hit.wav");
_root.fire_sfx = new Sound();
_root.fire_sfx.attachSound("fire.wav");
_root.fire_small_sfx = new Sound();
_root.fire_small_sfx.attachSound("fire_small.wav");
_root.powerup_sfx = new Sound();
_root.powerup_sfx.attachSound("powerup.wav");
_root.spider_died_sfx = new Sound();
_root.spider_died_sfx.attachSound("spider_died.wav");
_root.wall_hit_sfx = new Sound();
_root.wall_hit_sfx.attachSound("wall_hit.wav");
_root.brick_hit_sfx = new Sound();
_root.brick_hit_sfx.attachSound("brick_hit.wav");
_root.skull_shoot_sfx = new Sound();
_root.skull_shoot_sfx.attachSound("skull_shoot.wav");
_root.ghost_disappear_sfx = new Sound();
_root.ghost_disappear_sfx.attachSound("ghost_disappear.wav");
_root.level_music = new Sound();
_root.level_music.attachSound("mortanoid_level_main");
_root.end_level_music = new Sound();
_root.end_level_music.attachSound("mortanoid_level_end");
_root.mortanoid_vox = new Sound();
_root.mortanoid_vox.attachSound("mortanoid_vox.04");
_root.menu_music = new Sound();
_root.menu_music.attachSound("mortanoid_splash.01");
_root.boss_die_sfx = new Sound();
_root.boss_die_sfx.attachSound("boss_end_vox.02");
_root.evil_laugh_sfx = new Sound();
_root.evil_laugh_sfx.attachSound("evil_laugh.wav");
_root.mortanoid_vox.start(0, 1);
_root.mortanoid_vox.onSoundComplete = function () {
_root.menu_music.start(0, 99999);
};
var hexcase = 0;
var b64pad = "";
var chrsz = 8;
Frame 5
_root.SetButtonStr();
stop();
Instance of Symbol 428 MovieClip in Frame 5
onClipEvent (load) {
if (!_root.game_cheat) {
_visible = false;
}
}
Frame 6
_root.SetButtonStr();
stop();
Frame 7
stop();
Frame 8
_root.evil_laugh_sfx.start(0, 1);
for (var s in _root) {
_root[s].removeMovieClip();
}
stop();
Frame 10
for (var s in _root) {
_root[s].removeMovieClip();
}
_root.level_music.stop();
_root.menu_music.start(0, 99999);
stop();
Frame 12
for (var s in _root) {
_root[s].removeMovieClip();
}
Frame 13
function BuildLevel(level_num) {
var _local2 = _root;
_local2.attachMovie("fade_out", "fade_out", 20000);
_local2.mc_depths = 5000;
_local2.level_finished = false;
switch (level_num) {
case 11 :
_local2.level_str = "BOSS\rBAT";
_local2.attachMovie("boss_life_bar", "boss_life", 9999, {_x:230, _y:32});
_local2.boss_level = true;
_local2.attachMovie("boss_bat_mc", "enemy", 10000);
break;
case 22 :
_local2.level_str = "BOSS\rSPIDER";
_local2.attachMovie("boss_life_bar", "boss_life", 9999, {_x:230, _y:32});
_local2.boss_level = true;
_local2.bricks.attachMovie("web_mc", "web_mc", 1, {_x:21, _y:21});
_local2.attachMovie("boss_spider_mc", "enemy", 10000);
break;
case 33 :
_local2.level_str = "BOSS\rDEMON";
_local2.attachMovie("boss_life_bar", "boss_life", 9999, {_x:230, _y:32});
_local2.boss_level = true;
_local2.attachMovie("boss_demon_mc", "enemy", 10000);
break;
default :
_local2.level_str = "LEVEL\r" + _local2.game_level;
_local2.boss_level = false;
_local2.total_bricks = 0;
_local2.prize_on_screen = false;
var _local3 = _local2.levels_data[level_num - 1];
var total_bricks = ((_local3.length - 2) / 4);
_local2.prize_appearance = _local2.levels_data[level_num - 1][total_bricks * 4];
_local2.enemy_type = _local2.levels_data[level_num - 1][(total_bricks * 4) + 1];
var _local1 = 0;
while (_local1 < total_bricks) {
var type = _local3[_local1 * 4];
if (type != 9) {
_local2.total_bricks = _local2.total_bricks + 1;
}
var row = _local3[(_local1 * 4) + 3];
var col = _local3[(_local1 * 4) + 2];
var init_object = {type:type, hitsInit:_local3[(_local1 * 4) + 1], _x:(col * 60) + 20, _y:(row * 20) + 20};
_local2.bricks.attachMovie("brick", (("brick_" + row) + "_") + col, 10 + _local1, init_object);
_local1++;
}
switch (_local2.enemy_type) {
case 1 :
_local2.attachMovie("bat_mc", "enemy", 10000);
break;
case 2 :
_local2.attachMovie("spider_mc", "enemy", 10000);
break;
case 3 :
_local2.attachMovie("ghost_mc", "enemy", 10000);
}
}
_local2.paused = false;
}
BuildLevel(_root.game_level);
_root.onEnterFrame = function () {
if (!_root.paused) {
_root.batty.Update();
_root.enemy.Update();
for (var i in _root.balls) {
eval ("_root.balls." + i).Update();
}
}
};
stop();
Symbol 481 MovieClip [__Packages.Bat] Frame 0
class Bat extends MovieClip
{
var set_color, invulnerability, blank, onMouseDown, _x;
function Bat () {
super();
_root.skull_eyes._alpha = 0;
set_color = new Color(this);
invulnerability = 0;
blank = blank;
onMouseDown = function () {
if ((this.powerup == 1) && (!_root.player_shot)) {
_root.attachMovie("shot", "player_shot", 9999, {_x:_root.batty._x, _y:370});
}
var balls_total = 0;
for (var s in _root.balls) {
if (typeof(eval ("_root.balls." + s)) == "movieclip") {
balls_total = balls_total + 1;
}
}
if (((balls_total == 0) && (this.control)) && (_root.mana >= Math.abs(_root.new_ball_mana))) {
this.AttachBall();
}
};
}
function Scoring(score) {
_root.score = _root.score + score;
}
function ManaControl(mana, ball_attach) {
var _local1 = _root;
_local1.mana = _local1.mana + mana;
if ((_local1.mana < Math.abs(_local1.new_ball_mana)) && (!ball_attach)) {
_local1.mana = 0;
Die();
}
if (_local1.mana > 100) {
_local1.mana = 100;
}
_local1.flask.mana._y = 100 - _local1.mana;
}
function AttachBall() {
var _local1 = _root;
var _local2 = this;
_local1.skull_shoot_sfx.start(0, 1);
if (!_local1.boss_level) {
_local1.balls.attachMovie("ball", "ball_" + _local1.ball_count, _local1.ball_count, {_x:_local2._x, _y:363, dx:(Math.random() * 6) - 3, dy:-5});
} else {
_local1.balls.attachMovie("boss_ball", "ball_" + _local1.ball_count, _local1.ball_count, {_x:_local2._x, _y:363, dx:(Math.random() * 6) - 3, dy:-5});
}
_local1.ball_count = _local1.ball_count + 1;
_local2.ManaControl(_local1.new_ball_mana, true);
}
function Die() {
control = false;
}
function Update() {
var _local1 = this;
if (_local1.invulnerability > 0) {
_local1.invulnerability = _local1.invulnerability - 2;
var color_transform = {ra:"100", rb:_local1.invulnerability, ga:"100", gb:"0", ba:"100", bb:"0", aa:"100", ab:"0"};
_local1.set_color.setTransform(color_transform);
} else {
_local1.invulnerability = 0;
}
if (_local1.control) {
var _local3 = _local1._width / 2;
_local1.dx = (_root._xmouse - _local1._x) / 3;
var _local2 = _local1._x + _local1.dx;
if (_local2 < _local3) {
_local2 = _local3;
}
if (_local2 > (460 - _local3)) {
_local2 = 460 - _local3;
}
_local1._x = _local2;
if (Math.abs(_local1.dx) < 45) {
_local1._rotation = _local1.dx;
}
if (_local1.powerup >= 0) {
_local1.powerup_time = _local1.powerup_time - 1;
if (_local1.powerup_time < 0) {
_local1.powerup = -1;
}
}
} else if (!_local1.dead) {
_local1._y = _local1._y + 2;
if (_local1._y > 440) {
_root.attachMovie("enemy_burn", "e_burn" + _root.mc_depths, _root.mc_depths, {_x:_local1._x, _y:400});
_root.mc_depths = _root.mc_depths + 1;
_root.attachMovie("game_over_fade_in", "game_over_fade_in", 20011);
_local1.dead = true;
}
}
}
function Destroy(mana_dec) {
var _local1 = this;
if (_local1.invulnerability == 0) {
_root.enemy_hit_sfx.start(0, 1);
_local1.invulnerability = 100;
_local1.ManaControl(mana_dec);
}
}
function PrizeTaken(type) {
_root.powerup_sfx.start(0, 1);
var eyes_color = new Color(_root.skull_eyes);
eyes_color.setRGB(prize_color_matrix[type]);
_root.skull_eyes.gotoAndPlay(1);
_root.skull_eyes._alpha = 100;
switch (type) {
case 0 :
blank.attachMovie("enhancer", "enhancer", 1);
break;
case 1 :
powerup_time = 500;
break;
case 2 :
ManaControl(_root.powerup_mana);
break;
case 3 :
var balls_total = 0;
for (var s in _root.balls) {
var ball = eval ("_root.balls." + s);
balls_total = balls_total + 1;
}
if (balls_total == 0) {
_root.balls.attachMovie("ball", "ball_" + _root.ball_count, _root.ball_count, {_x:_x, _y:363, dx:(Math.random() * 6) - 3, dy:-5});
} else {
_root.balls.attachMovie("ball", "ball_" + _root.ball_count, _root.ball_count, {_x:ball._x, _y:ball._y, dx:(-ball.dx) * 2, dy:ball.dy / 2});
}
_root.ball_count = _root.ball_count + 1;
break;
case 4 :
_root.bricks.attachMovie("wall", "wall", 100000, {_x:20, _y:380});
break;
case 5 :
_root.balls.attachMovie("bomb", "ball_" + _root.ball_count, _root.ball_count, {_x:_root.prize_mc._x, _y:_root.prize_mc._y, dy:-_root.prize_mc.dy});
_root.ball_count = _root.ball_count + 1;
break;
case 6 :
for (var s in _root.balls) {
var ball = eval ("_root.balls." + s);
if (typeof(ball) == "movieclip") {
_root.balls.attachMovie("fireball", "ball_" + _root.ball_count, _root.ball_count, {_x:ball._x, _y:ball._y, dx:ball.dx, dy:ball.dy});
_root.ball_count = _root.ball_count + 1;
ball.removeMovieClip();
}
}
}
powerup = type;
_root.prize_mc.removeMovieClip();
_root.prize_on_screen = false;
}
var powerup = -1;
var powerup_time = 0;
var control = true;
var dead = false;
var prize_color_matrix = [52479, 16776960, 65280, 16777164, 16750899, 255, 16711935, 16711680];
}
Symbol 482 MovieClip [__Packages.Bomb] Frame 0
class Bomb extends MovieClip
{
var dy, _x, _y, dx, x1, y1, removeMovieClip, gotoAndPlay;
function Bomb () {
var _local1 = this;
super();
_local1.dx = Math.tan((_root.batty._rotation * Math.PI) / 180) * 10;
if (_local1.dx < -8) {
_local1.dx = -8;
}
if (_local1.dx > 8) {
_local1.dx = 8;
}
}
function Update() {
if (active) {
dy = dy + 0.09;
if (_root.batty.hitTest(_x, _y, true) && (dy > 0)) {
dy = -1.15 * dy;
dx = dx + ((Math.tan((_root.batty._rotation * Math.PI) / 180) * 10) + (_root.batty.dx / 2));
if (dx < -8) {
dx = -8;
}
if (dx > 8) {
dx = 8;
}
}
if (dy < -8) {
dy = -8;
}
x1 = _x + dx;
y1 = _y + dy;
for (var i in _root.bricks) {
var brick = eval ("_root.bricks." + i);
if (brick.hitTest(_x, _y)) {
Explode();
}
}
if (x1 < limit_1) {
dx = -dx;
x1 = limit_1;
y1 = _y;
}
if (x1 > limit_2) {
dx = -dx;
x1 = limit_2;
y1 = _y;
}
if (y1 < 30) {
dy = -dy;
x1 = _x;
y1 = 30;
}
if (y1 > 410) {
(removeMovieClip());// not popped
}
_x = x1;
_y = y1;
}
}
function Explode() {
_root.bomb_expl_sfx.start(0, 1);
active = false;
(gotoAndPlay(2));// not popped
}
var active = true;
var limit_1 = 30;
var limit_2 = 430;
var timer = 150;
}
Symbol 483 MovieClip [__Packages.BossBall] Frame 0
class BossBall extends MovieClip
{
var dy, _x, _y, dx, x1, y1, removeMovieClip, _rotation;
function BossBall () {
super();
}
function Update() {
dy = dy + 0.075;
if (_root.batty.hitTest(_x, _y, true) && (dy > 0)) {
_root.wall_hit_sfx.start(0, 1);
dy = -1.15 * dy;
dx = dx + (Math.tan((_root.batty._rotation * Math.PI) / 180) * 10);
if (dx < -8) {
dx = -8;
}
if (dx > 8) {
dx = 8;
}
}
if (dy < -7) {
dy = -7;
}
x1 = _x + dx;
y1 = _y + dy;
if (_root.enemy.hitTest(_x, _y, true)) {
_root.enemy.Destroy(this);
}
if (x1 < limit_1) {
_root.wall_hit_sfx.start(0, 1);
dx = -dx;
x1 = limit_1;
y1 = _y;
}
if (x1 > limit_2) {
_root.wall_hit_sfx.start(0, 1);
dx = -dx;
x1 = limit_2;
y1 = _y;
}
if (y1 < 30) {
_root.wall_hit_sfx.start(0, 1);
dy = -dy;
x1 = _x;
y1 = 30;
}
if (y1 > 410) {
var balls_total = 0;
for (var s in _root.balls) {
if (typeof(eval ("_root.balls." + s)) == "movieclip") {
balls_total = balls_total + 1;
}
}
if (balls_total == 1) {
if ((_root.mana < Math.abs(_root.new_ball_mana)) || (_root.mana <= 0)) {
_root.batty.Die();
}
}
_root.attachMovie("ball_burn", "b_burn" + _root.mc_depths, _root.mc_depths, {_x:_x, _y:400});
(removeMovieClip());// not popped
}
_x = x1;
_y = y1;
_rotation = _rotation + dx;
}
var limit_1 = 30;
var limit_2 = 430;
}
Symbol 484 MovieClip [__Packages.BossBat] Frame 0
class BossBat extends MovieClip
{
function BossBat () {
var _local1 = this;
super();
_local1.set_color = new Color(_local1);
_local1.life = (_local1.init_life = _root.boss_bat_life);
_local1.Init();
}
function Init() {
var _local1 = this;
_local1.invulnerability = 0;
var _local2 = {ra:"100", rb:"0", ga:"100", gb:"0", ba:"100", bb:"0", aa:"100", ab:"0"};
_local1.set_color.setTransform(_local2);
_local1.action = -1;
_local1.timer = 50;
_local1.variant = Math.random() - 2;
_local1._x = 230;
_local1._y = -90;
}
function Update() {
var _local1 = this;
var _local2 = _root;
if (_local1.invulnerability > 0) {
_local1.invulnerability = _local1.invulnerability - 2;
var color_transform = {ra:"100", rb:_local1.invulnerability, ga:"100", gb:"0", ba:"100", bb:"0", aa:"100", ab:"0"};
_local1.set_color.setTransform(color_transform);
} else {
_local1.invulnerability = 0;
}
if ((_local1.action != 0) && (_local1.hitTest(_local2.batty._x, _local2.batty._y, true))) {
_local2.batty.Destroy(_local2.boss_bat_hit);
}
switch (_local1.action) {
case -1 :
_local1._rotation = 0;
_local1.timer = _local1.timer - 1;
if (_local1.timer < 0) {
_local1.action = 2;
}
return;
case 3 :
var _local3 = (_local1.to_x - _local1._x) / 100;
_local1._x = _local1._x + _local3;
_local1.dy = _local1.dy + 0.3;
_local1._y = _local1._y + _local1.dy;
if (_local1._y > 500) {
_local1.Init();
}
return;
case 2 :
_local1.dy = _local1._y - 150;
if (Math.abs(_local1.dy) < 10) {
_local1.timer = 150;
_local1.action = 1;
}
_local1._y = _local1._y - (_local1.dy / 40);
return;
case 1 :
_local1.variant = _local1.variant + 0.01;
if (Math.abs(_local1.variant) > 5) {
_local1.variant = -_local1.variant;
}
_local1._x = _local1._x + (Math.sin(_local1.sinusangle / 6) * _local1.variant);
_local1._y = _local1._y + ((Math.cos(_local1.sinusangle / 6) * _local1.variant) * 2);
_local1._rotation = _local1.variant * 4;
if ((((_local1._x < 40) || (_local1._x > 420)) || (_local1._y < 20)) || (_local1._y > 280)) {
if (_local1._x < 40) {
_local1._x = 40;
}
if (_local1._x > 420) {
_local1._x = 420;
}
if (_local1._y < 20) {
_local1._y = 20;
}
if (_local1._y > 280) {
_local1._y = 280;
}
_local1.variant = -_local1.variant;
}
_local1.sinusangle = _local1.sinusangle + 0.2;
_local1.timer = _local1.timer - 1;
if ((_local1._y < 130) && (_local1.timer <= 0)) {
_local1.to_x = ((Math.random() < 0.5) ? 90 : 370);
_local1.dy = -5;
_local2.bat_cry_sfx.start(0, 1);
_local1.action = 3;
}
return;
case 0 :
_local1.dy = _local1.dy + 0.2;
_local1._y = _local1._y + _local1.dy;
_local1._rotation = _local1._rotation + _local1.dy;
if (_local1._y <= 500) {
break;
}
_local2.score = _local2.score + _local2.boss_bat_pts;
_local2.attachMovie("enemy_burn", "e_burn" + _local2.mc_depths, _local2.mc_depths, {_x:_local1._x, _y:400});
_local2.boss_die_sfx.start(0, 1);
_local2.mc_depths = _local2.mc_depths + 1;
_local2.attachMovie("level_end_fade_in", "level_end_fade_in", 20010);
_local1.removeMovieClip();
}
}
function Destroy(ball_mc) {
var _local1 = this;
var _local2 = ball_mc;
var _local3 = _root;
if ((_local1.invulnerability == 0) && (_local1.life > 0)) {
_local1.variant = -_local1.variant;
_local1.invulnerability = 100;
_local1.life = _local1.life - 1;
_local3.enemy_hit_sfx.start(0, 1);
_local3.boss_life.bar._xscale = (_local1.life / _local1.init_life) * 100;
if (_local1.action != 0) {
if ((_local2._x < (_local1._x + (_local1._width / 2))) && (_local2._x > (_local1._x - (_local1._width / 2)))) {
_local2.dy = -_local2.dy;
} else {
_local2.dx = -_local2.dx;
}
if (_local1.life == 0) {
_local3.bat_cry_sfx.start(0, 1);
_local1.dy = -5;
_local1.action = 0;
}
}
}
}
var animated = true;
var sinusangle = 0;
}
Symbol 485 MovieClip [__Packages.BossDemon] Frame 0
class BossDemon extends MovieClip
{
function BossDemon () {
var _local1 = this;
var _local2 = _root;
super();
_local1.left_claw = _local2.attachMovie("demon_claw_mc", "left_claw", 10001, {_xscale:-100});
_local1.right_claw = _local2.attachMovie("demon_claw_mc", "right_claw", 10002);
_local1.set_color = new Color(_local1);
_local1.life = (_local1.init_life = _local2.boss_demon_life);
_local1.Init();
}
function Init() {
var _local1 = this;
_local1._x = 230;
_local1._y = -90;
_local1.sinus = Math.random() * 0.5;
_local1.invulnerability = 0;
var _local2 = {ra:"100", rb:"0", ga:"100", gb:"0", ba:"100", bb:"0", aa:"100", ab:"0"};
_local1.set_color.setTransform(_local2);
_local1.action = -1;
_local1.timer = 50;
}
function Update() {
var _local1 = this;
var _local2 = _root;
_local1.left_claw._x = (_local1._x - 50) + (Math.cos(_local1.sinus) * 20);
_local1.left_claw._y = (_local1._y + 40) + (Math.sin(_local1.sinus) * 10);
_local1.right_claw._x = (_local1._x + 50) + (Math.cos(-_local1.sinus) * 20);
_local1.right_claw._y = (_local1._y + 40) + (Math.sin(-_local1.sinus) * 10);
_local1._rotation = Math.sin(_local1.sinus / 2) * 4;
_local1.sinus = _local1.sinus + 0.1;
if ((_local1.action != 0) && (_local1.left_claw.hotspot.hitTest(_local2.batty._x, _local2.batty._y, true) || (_local1.right_claw.hotspot.hitTest(_local2.batty._x, _local2.batty._y, true)))) {
_local2.batty.Destroy(_local2.boss_demon_hit_1);
}
if (_local1.invulnerability > 0) {
_local1.invulnerability = _local1.invulnerability - 2;
var _local3 = {ra:"100", rb:_local1.invulnerability, ga:"100", gb:"0", ba:"100", bb:"0", aa:"100", ab:"0"};
_local1.set_color.setTransform(_local3);
} else {
_local1.invulnerability = 0;
}
switch (_local1.action) {
case -1 :
_local1.timer = _local1.timer - 1;
if (_local1.timer < 0) {
_local1.timer = 50;
_local1.action = 1;
_local2.demon_appear_sfx.start(0, 1);
}
return;
case 1 :
_local1.dy = _local1._y - 180;
_local1._x = _local1._x + (Math.cos(_local1.sinus / 2) * 2);
_local1._y = _local1._y + (Math.sin(_local1.sinus / 2) * 2);
if (Math.abs(_local1.dy) < 10) {
_local1.timer = 300;
_local1.action = 2;
}
_local1._y = _local1._y - (_local1.dy / 20);
return;
case 2 :
_local1._x = _local1._x + (Math.cos(_local1.sinus / 2) * 2);
_local1._y = _local1._y + (Math.sin(_local1.sinus / 2) * 2);
if (((((Math.random() < 0.02) && (_local1.left_claw._currentframe == 1)) && (_local1.right_claw._currentframe == 1)) && (_local1.left_claw._y > 170)) && (_local1.right_claw._y > 170)) {
_local2.demon_bat_attack_sfx.start(0, 1);
if (Math.random() < 0.5) {
_local1.left_claw.play();
} else {
_local1.right_claw.play();
}
}
_local1.timer = _local1.timer - 1;
if (_local1.timer < 0) {
_local1.Shot();
_local1.action = 3;
_local2.demon_away_sfx.start(0, 1);
}
return;
case 3 :
_local1.dy = _local1._y + 90;
if (Math.abs(_local1.dy) < 10) {
_local1.timer = 50;
_local1.Init();
}
_local1._y = _local1._y - (_local1.dy / 20);
return;
case 0 :
_local1.dy = _local1.dy + 0.2;
_local1._y = _local1._y + _local1.dy;
if (_local1._y <= 500) {
break;
}
_local2.score = _local2.score + _local2.boss_demon_pts;
_local2.boss_die_sfx.start(0, 1);
_local2.attachMovie("enemy_burn", "e_burn" + _local2.mc_depths, _local2.mc_depths, {_x:_local1._x, _y:400});
_local2.mc_depths = _local2.mc_depths + 1;
_local2.attachMovie("level_end_fade_in", "level_end_fade_in", 20010);
_local1.removeMovieClip();
}
}
function Shot() {
var _local1 = _root;
var _local3 = this;
var _local2 = Math.atan2((_local1.batty._y - _local3._y) + 90, _local1.batty._x - _local3._x);
var shot_dx = (_local1.demon_shot_speed * Math.cos(_local2));
var shot_dy = (_local1.demon_shot_speed * Math.sin(_local2));
_local1.demon_shot_sfx.start(0, 1);
_local1.attachMovie("demon_shot", "demon_shot" + _local1.shot_count, 10000 + _local1.shot_count, {dx:shot_dx, dy:shot_dy, _x:_local3._x, _y:_local3._y - 90, _rotation:((_local2 * 180) / Math.PI) - 90});
_local1.shot_count = _local1.shot_count + 1;
}
function Destroy(ball_mc) {
var _local1 = this;
var _local2 = ball_mc;
var _local3 = _root;
if ((_local1.invulnerability == 0) && (_local1.life > 0)) {
_local1.invulnerability = 100;
_local1.life = _local1.life - 1;
_local3.enemy_hit_sfx.start(0, 1);
_local3.boss_life.bar._xscale = (_local1.life / _local1.init_life) * 100;
if (_local1.action != 0) {
if ((_local2._x < (_local1._x + (_local1._width / 2))) && (_local2._x > (_local1._x - (_local1._width / 2)))) {
_local2.dy = -_local2.dy;
} else {
_local2.dx = -_local2.dx;
}
if (_local1.life == 0) {
_local3.demon_away_sfx.start(0, 1);
_local1.dy = -5;
_local1.action = 0;
}
}
}
}
var animated = true;
}
Symbol 486 MovieClip [__Packages.Shot] Frame 0
class Shot extends MovieClip
{
var onEnterFrame, _y, removeMovieClip, _x;
function Shot () {
super();
_root.fire_small_sfx.start(0, 1);
onEnterFrame = function () {
if (!_root.paused) {
this.Update();
}
};
}
function Update() {
_y = _y - dy;
if (_y < -20) {
removeMovieClip();
}
var col = Math.floor((_x - 20) / 60);
var row = Math.floor((_y - 20) / 20);
var brick = eval ((("_root.bricks.brick_" + row) + "_") + col);
if (brick.hitTest(_x, _y)) {
brick.Destroy(0);
removeMovieClip();
}
if (_root.enemy.hotspot.hitTest(_x, _y)) {
_root.enemy.Destroy();
removeMovieClip();
}
dy = dy + 0.2;
}
var dy = 2;
}
Symbol 487 MovieClip [__Packages.DemonShot] Frame 0
class DemonShot extends MovieClip
{
var onEnterFrame;
function DemonShot () {
super();
onEnterFrame = function () {
if (!_root.paused) {
this.Update();
}
};
}
function Update() {
var _local1 = this;
var _local2 = _root;
_local1._x = _local1._x + _local1.dx;
_local1._y = _local1._y + _local1.dy;
if (_local2.batty.hitTest(_local1._x, _local1._y)) {
_local2.batty.Destroy(_local2.boss_demon_hit_2);
}
if (_local1._y > 420) {
_local1.removeMovieClip();
}
}
}
Symbol 488 MovieClip [__Packages.BossSpider] Frame 0
class BossSpider extends MovieClip
{
function BossSpider () {
var _local1 = this;
super();
_local1.direction_array = [[23.6, -40, 26, 140], [-10.4, -72.3, 41.1, 260], [-23.5, -106.4, 56.5, 330], [5, -134.1, 77.2, 330]];
_local1.set_color = new Color(_local1);
_local1.life = (_local1.init_life = _root.boss_spider_life);
_local1.Init();
}
function Init() {
var _local1 = this;
_local1._xscale = -100;
_local1.invulnerability = 0;
var _local3 = {ra:"100", rb:"0", ga:"100", gb:"0", ba:"100", bb:"0", aa:"100", ab:"0"};
_local1.set_color.setTransform(_local3);
_local1.action = -1;
_local1.timer = 50;
_local1.speed = 0;
var _local2 = Math.floor(Math.random() * 4);
_local1._x = _local1.direction_array[_local2][0];
_local1._y = _local1.direction_array[_local2][1];
_local1._rotation = _local1.direction_array[_local2][2];
_local1.y_limit = _local1.direction_array[_local2][3];
_local1.dx = Math.cos((_local1._rotation * Math.PI) / 180) * 2;
_local1.dy = Math.sin((_local1._rotation * Math.PI) / 180) * 2;
}
function Update() {
var _local1 = this;
var _local2 = _root;
if ((_local1.action != 0) && (_local1.hitTest(_local2.batty._x, _local2.batty._y, true))) {
_local2.batty.Destroy(_local2.boss_spider_hit_1);
}
if (_local1.invulnerability > 0) {
_local1.invulnerability = _local1.invulnerability - 2;
var _local3 = {ra:"100", rb:_local1.invulnerability, ga:"100", gb:"0", ba:"100", bb:"0", aa:"100", ab:"0"};
_local1.set_color.setTransform(_local3);
} else {
_local1.invulnerability = 0;
}
switch (_local1.action) {
case -1 :
_local1.timer = _local1.timer - 1;
if (_local1.timer < 0) {
_local2.boss_spider_attack_sfx.start(0, 1);
_local1.timer = 50;
_local1.action = 1;
}
return;
case 1 :
_local1.speed = _local1.speed + 0.03;
_local1._x = _local1._x + (_local1.dx * _local1.speed);
_local1._y = _local1._y + (_local1.dy * _local1.speed);
_local1.Shot();
if (_local1._y >= _local1.y_limit) {
_local1.speed = 0;
_local1.action = 2;
}
return;
case 2 :
_local1.speed = _local1.speed - 0.03;
_local1._x = _local1._x + (_local1.dx * _local1.speed);
_local1._y = _local1._y + (_local1.dy * _local1.speed);
_local1.Shot();
if ((_local1._y <= -150) || (_local1._x <= -50)) {
_local1.Init();
}
return;
case 0 :
_local1.dy = _local1.dy + 0.2;
_local1._y = _local1._y + _local1.dy;
if (_local1._y <= 500) {
break;
}
_local2.score = _local2.score + _local2.boss_spider_pts;
_local2.boss_die_sfx.start(0, 1);
_local2.attachMovie("enemy_burn", "e_burn" + _local2.mc_depths, _local2.mc_depths, {_x:_local1._x, _y:400});
_local2.mc_depths = _local2.mc_depths + 1;
_local2.attachMovie("level_end_fade_in", "level_end_fade_in", 20010);
_local1.removeMovieClip();
}
}
function Shot() {
var _local1 = this;
var _local2 = _root;
_local1.timer = _local1.timer - 1;
if (_local1.timer < 0) {
_local2.boss_spider_shot_sfx.start(0, 1);
_local2.attachMovie("poison_ball", "p_ball" + _local2.shot_count, _local2.shot_count, {_x:_local1._x + (Math.cos((_local1._rotation * Math.PI) / 180) * 40), _y:_local1._y + (Math.sin((_local1._rotation * Math.PI) / 180) * 40)});
_local2.shot_count = _local2.shot_count + 1;
_local1.timer = 40;
}
}
function Destroy(ball_mc) {
var _local1 = this;
var _local2 = ball_mc;
var _local3 = _root;
if ((_local1.invulnerability == 0) && (_local1.life > 0)) {
_local1.invulnerability = 100;
_local1.life = _local1.life - 1;
_local3.enemy_hit_sfx.start(0, 1);
_local3.boss_life.bar._xscale = (_local1.life / _local1.init_life) * 100;
if (_local1.action != 0) {
if ((_local2._x < (_local1._x + (_local1._width / 2))) && (_local2._x > (_local1._x - (_local1._width / 2)))) {
_local2.dy = -_local2.dy;
} else {
_local2.dx = -_local2.dx;
}
if (_local1.life == 0) {
_local3.spider_died_sfx.start(0, 1);
_local1.dy = -5;
_local1.action = 0;
}
}
}
}
var animated = true;
}
Symbol 489 MovieClip [__Packages.PoisonBall] Frame 0
class PoisonBall extends MovieClip
{
var onEnterFrame;
function PoisonBall () {
super();
onEnterFrame = function () {
if (!_root.paused) {
this.Update();
}
};
}
function Update() {
var _local1 = this;
var _local2 = _root;
_local1._y = _local1._y + _local1.dy;
if (_local2.batty.hitTest(_local1._x, _local1._y)) {
_local2.batty.Destroy(_local2.boss_spider_hit_2);
}
if (_local1._y > 410) {
_local1.removeMovieClip();
}
_local1.dy = _local1.dy + 0.15;
}
var dy = 1;
}
Symbol 490 MovieClip [__Packages.Brick] Frame 0
class Brick extends MovieClip
{
function Brick () {
var _local1 = this;
super();
_local1.mask = _local1.mask;
if (Math.random() < 0.5) {
var _local2 = (Math.random() * 60) + 20;
_local1.mask.attachMovie("rune", "rune", 2, {_x:(Math.random() * 40) - 20, _y:(Math.random() * 20) - 10, _xscale:_local2, _yscale:_local2, _rotation:Math.random() * 360});
}
_local1.hits = _local1.hitsInit;
if (_local1.type == 9) {
_local1.animated = true;
} else {
_local1.animated = false;
}
var _local2 = _local1.gotoAndStop(_local1.type);
_local1 = _local2;
}
function Destroy(dx) {
var _local1 = this;
var _local2 = _root;
_local1.hits = _local1.hits - 1;
_local1._parent.attachMovie("glimpse", "glimpse" + _local2.glimpse_count, _local2.glimpse_count, {_x:_local1._x, _y:_local1._y});
_local2.glimpse_count = _local2.glimpse_count + 1;
switch (_local1.type) {
case 8 :
if (_local1.hits == 1) {
_local2.brick_hit_sfx.start(0, 1);
(_local1.gotoAndStop(10));// not popped
} else {
_local1.Kill(dx);
}
return;
case 9 :
_local2.brick_unbreakable_sfx.start(0, 1);
_local1.unbreak_mc = _local1.unbreak_mc;
_local1.unbreak_mc.gotoAndPlay(2);
return;
default :
if (_local1.hits == 0) {
_local1.Kill(dx);
} else {
_local2.brick_hit_sfx.start(0, 1);
}
_local1._alpha = (100 / ((_local1.hitsInit - _local1.hits) + 1)) + 10;
}
}
function Kill(dx) {
var _local1 = _root;
var _local2 = this;
_local1.total_bricks = _local1.total_bricks - 1;
if (_local1.total_bricks == 4) {
_local1.level_music.stop();
_local1.end_level_music.start(0, 99999);
}
if (_local1.total_bricks == 0) {
_local1.enemy.removeMovieClip();
_local1.level_finished = true;
_local1.mana = _local1.mana + Math.abs(_local1.new_ball_mana);
_local1.attachMovie("level_end_fade_in", "level_end_fade_in", 20010);
_local1.end_level_music.stop();
_local1.level_music.start(0, 99999);
}
if ((!_local1.prize_on_screen) && (Math.random() < _local1.prize_appearance)) {
_local1.prize_on_screen = true;
_local1.attachMovie("prize_mc", "prize_mc", 1001, {_x:_local2._x + 30, _y:_local2._y + 10, dx:dx});
}
_local1.score = _local1.score + _local1.brick_pts;
_local1.brick_break_sfx.start(0, 1);
_local2 = _local2.removeMovieClip();
_local1 = _local2;
}
}
Symbol 491 MovieClip [__Packages.EnemyBat] Frame 0
class EnemyBat extends MovieClip
{
function EnemyBat () {
super();
Init();
}
function Init() {
var _local1 = this;
_local1.action = -1;
_local1.timer = _root.enemy_appear_delay;
_local1.variant = Math.random() - 2;
_local1._x = ((Math.random() * 100) - 50) + 230;
_local1._y = -90;
}
function Update() {
var _local1 = this;
var _local2 = _root;
switch (_local1.action) {
case -1 :
_local1._rotation = 0;
_local1.timer = _local1.timer - 1;
if (_local1.timer < 0) {
_local1.action = 2;
}
return;
case 2 :
_local1.dy = _local1._y - 300;
if (Math.abs(_local1.dy) < 10) {
_local1.action = 1;
}
_local1._y = _local1._y - (_local1.dy / 40);
return;
case 1 :
_local1.variant = _local1.variant + 0.01;
if (Math.abs(_local1.variant) > 5) {
_local1.variant = -_local1.variant;
}
_local1._x = _local1._x + (Math.sin(_local1.sinusangle / 6) * _local1.variant);
_local1._y = _local1._y + ((Math.cos(_local1.sinusangle / 6) * _local1.variant) * 2);
_local1._rotation = _local1.variant * 3;
if ((((_local1._x < 20) || (_local1._x > 440)) || (_local1._y < 20)) || (_local1._y > 400)) {
if (_local1._x < 20) {
_local1._x = 20;
}
if (_local1._x > 440) {
_local1._x = 440;
}
if (_local1._y < 20) {
_local1._y = 20;
}
if (_local1._y > 400) {
_local1._y = 400;
}
_local1.variant = -_local1.variant;
}
_local1.sinusangle = _local1.sinusangle + 0.2;
if (_local2.batty.hitTest(_local1._x, _local1._y)) {
_local2.batty.Destroy(_local2.bat_hit_mana);
}
return;
case 0 :
_local1.dy = _local1.dy + 0.2;
_local1._y = _local1._y + _local1.dy;
if (_local1._y > 450) {
_local2.attachMovie("enemy_burn", "e_burn" + _local2.mc_depths, _local2.mc_depths, {_x:_local1._x, _y:400});
_local2.mc_depths = _local2.mc_depths + 1;
_local1.Init();
}
_local1._rotation = _local1._rotation + _local1.dy;
}
}
function Destroy(ball_mc) {
var _local1 = this;
var _local2 = ball_mc;
var _local3 = _root;
if (_local1.action != 0) {
if ((_local2._x < (_local1._x + (_local1._width / 2))) && (_local2._x > (_local1._x - (_local1._width / 2)))) {
_local2.dy = -_local2.dy;
} else {
_local2.dx = -_local2.dx;
}
_local1.dy = -5;
_local3.bat_cry_sfx.start(0, 1);
_local3.score = _local3.score + _local3.enemy_pts;
_local1.action = 0;
}
}
var animated = true;
var sinusangle = 0;
}
Symbol 492 MovieClip [__Packages.Ghost] Frame 0
class Ghost extends MovieClip
{
function Ghost () {
super();
Init();
}
function Init() {
var _local1 = this;
_local1._x = 0;
_local1._y = -100;
_local1._alpha = 0;
_local1.dy = 0;
_local1.action = 0;
_local1.timer = _root.enemy_appear_delay;
}
function Destroy() {
var _local1 = this;
var _local2 = _root;
if (_local1.action != 3) {
_local2.ghost_disappear_sfx.start(0, 1);
_local2.score = _local2.score + _local2.enemy_pts;
_local1.dy = -3;
_local1.action = 3;
}
}
function Update() {
var _local1 = this;
var _local2 = _root;
switch (_local1.action) {
case 0 :
_local1.timer = _local1.timer - 1;
if (_local1.timer < 0) {
_local1._y = 100;
if (Math.random() < 0.5) {
_local1._xscale = 100;
_local1._x = (Math.random() * 190) + 40;
} else {
_local1._xscale = -100;
_local1._x = (Math.random() * 190) + 230;
}
_local1.action = 1;
}
return;
case 1 :
_local1._x = _local1._x + ((Math.cos(_local1.sinus) * _local1._alpha) / 35);
_local1._y = _local1._y + ((Math.sin(_local1.sinus) * _local1._alpha) / 35);
_local1.sinus = _local1.sinus + 0.03;
_local1._alpha = _local1._alpha + 0.5;
if (_local1._alpha > 100) {
_local1.timer = 100;
_local1.action = 2;
}
return;
case 2 :
if (_local2.batty.hitTest(_local1._x, _local1._y)) {
_local2.batty.Destroy(_local2.ghost_hit_mana);
}
if (Math.abs(_local1._x - _local2.batty._x) > 5) {
var _local3 = ((_local1._x > _local2.batty._x) ? -3 : 3);
} else {
var _local3 = 0;
}
_local1._x = _local1._x + _local3;
_local1._y = _local1._y + _local1.dy;
_local1.dy = _local1.dy + 0.1;
if (_local1._y > 450) {
_local1.Init();
}
return;
case 3 :
_local1._alpha = _local1._alpha - 3;
_local1._y = _local1._y + _local1.dy;
_local1.dy = _local1.dy + 0.1;
if (_local1._alpha >= 0) {
break;
}
_local1.Init();
}
}
var animated = true;
var sinus = 0;
}
Symbol 493 MovieClip [__Packages.EnemySpider] Frame 0
class EnemySpider extends MovieClip
{
function EnemySpider () {
super();
Init();
}
function Init() {
var _local1 = this;
_local1.dy = 0;
_local1._alpha = 100;
_local1.to_y = 100;
_local1.timer = _root.enemy_appear_delay;
_local1.action = -1;
_local1._x = 60 + (Math.random() * 340);
_local1._y = -70;
}
function Destroy(ball_mc) {
var _local1 = this;
var _local2 = ball_mc;
var _local3 = _root;
if (_local1.action != 0) {
if ((_local2._x < (_local1._x + (_local1._width / 2))) && (_local2._x > (_local1._x - (_local1._width / 2)))) {
_local2.dy = -_local2.dy;
} else {
_local2.dx = -_local2.dx;
}
_local1.dy = 0;
_local3.spider_died_sfx.start(0, 1);
_local3.score = _local3.score + _local3.enemy_pts;
_local1.action = 0;
}
}
function Update() {
var _local1 = this;
var _local2 = _root;
_local1._y = _local1._y + Math.sin(_local1.sinus);
_local1.sinus = _local1.sinus + 0.1;
if ((_local1.action != 0) && (_local1.hitTest(_local2.batty._x, _local2.batty._y, true))) {
_local2.batty.Destroy(_local2.boss_spider_hit_1);
}
switch (_local1.action) {
case -1 :
_local1.timer = _local1.timer - 1;
if (_local1.timer < 0) {
_local1.action = 2;
}
return;
case 2 :
_local1.dy = _local1._y - _local1.to_y;
if (Math.abs(_local1.dy) < 10) {
switch (_local1.to_y) {
case 100 :
_local1.to_y = 400;
break;
case 400 :
_local1.to_y = -70;
break;
case -70 :
_local1.Init();
}
}
_local1._y = _local1._y - (_local1.dy / 40);
return;
case 0 :
_local1.dy = _local1.dy + 0.2;
_local1._y = _local1._y + _local1.dy;
if (_local1._y > 400) {
_local1._alpha = _local1._alpha - 2;
}
if (_local1._y <= 500) {
break;
}
_local2.attachMovie("enemy_burn", "e_burn" + _local2.mc_depths, _local2.mc_depths, {_x:_local1._x, _y:400});
_local2.mc_depths = _local2.mc_depths + 1;
_local1.Init();
}
}
var animated = true;
var dy = 0;
var sinus = 0;
}
Symbol 494 MovieClip [__Packages.FireBall] Frame 0
class FireBall extends MovieClip
{
var dy, dx, _y, _x, removeMovieClip, x1, y1, _rotation;
function FireBall () {
super();
_root.fire_small_sfx.start(0, 1);
}
function Update() {
timer = timer - 1;
if (timer < 0) {
_root.balls.attachMovie("ball", "ball_" + _root.ball_count, _root.ball_count, {_x:_x, _y:_y, dx:dx, dy:dy});
_root.ball_count = _root.ball_count + 1;
removeMovieClip();
}
dy = dy + 0.09;
if (_root.batty.hitTest(_x, _y, true) && (dy > 0)) {
_root.wall_hit_sfx.start(0, 1);
dy = -1.15 * dy;
dx = dx + (Math.tan((_root.batty._rotation * Math.PI) / 180) * 10);
if (dx < -8) {
dx = -8;
}
if (dx > 8) {
dx = 8;
}
}
if (dy < -8) {
dy = -8;
}
x1 = _x + dx;
y1 = _y + dy;
var col = Math.floor((_x - 20) / 60);
var row = Math.floor((_y - 20) / 20);
var brick = eval ((("_root.bricks.brick_" + row) + "_") + col);
if (brick.hitTest(this)) {
brick.Destroy(dx);
}
if (_root.enemy.hotspot.hitTest(_x, _y)) {
_root.enemy.Destroy(this);
}
if (x1 < limit_1) {
_root.wall_hit_sfx.start(0, 1);
dx = -dx;
x1 = limit_1;
y1 = _y;
}
if (x1 > limit_2) {
_root.wall_hit_sfx.start(0, 1);
dx = -dx;
x1 = limit_2;
y1 = _y;
}
if (y1 < 30) {
_root.wall_hit_sfx.start(0, 1);
dy = -dy;
x1 = _x;
y1 = 30;
}
if (y1 > 370) {
if (_root.bricks.wall) {
_root.wall_hit_sfx.start(0, 1);
_y = 370;
dy = -Math.abs(dy);
}
if (y1 > 410) {
var balls_total = 0;
for (var s in _root.balls) {
if (typeof(eval ("_root.balls." + s)) == "movieclip") {
balls_total = balls_total + 1;
}
}
if (balls_total == 1) {
if ((_root.mana < Math.abs(_root.new_ball_mana)) || (_root.mana <= 0)) {
_root.batty.Die();
}
}
_root.attachMovie("ball_burn", "b_burn" + _root.mc_depths, _root.mc_depths, {_x:_x, _y:400});
_root.mc_depths = _root.mc_depths + 1;
(removeMovieClip());// not popped
}
}
_x = x1;
_y = y1;
_rotation = _rotation + dx;
}
var limit_1 = 30;
var limit_2 = 430;
var timer = 150;
}
Symbol 495 MovieClip [__Packages.Prize] Frame 0
class Prize extends MovieClip
{
var onEnterFrame;
function Prize () {
super();
onEnterFrame = function () {
if (!_root.paused) {
this.Update();
}
};
}
function Update() {
var _local1 = this;
var _local3 = _root;
if (_local3.batty.hitTest(_local1._x, _local1._y, true)) {
_local3.score = _local3.score + _local3.powerup_pts;
_local3.batty.PrizeTaken(_local1.type);
}
var _local2 = _local1._x + (_local1.dx / 3);
if (_local2 > _local1.limit_2) {
_local2 = _local1.limit_2;
_local1.dx = -_local1.dx;
}
if (_local2 < _local1.limit_1) {
_local2 = _local1.limit_1;
_local1.dx = -_local1.dx;
}
if (_local1._y > 410) {
_local3.prize_on_screen = false;
_local1.removeMovieClip();
}
_local1._x = _local2;
_local1._y = _local1._y + _local1.dy;
_local1.dy = _local1.dy + 0.15;
}
var dy = -2;
var limit_1 = 30;
var limit_2 = 430;
}
Symbol 496 MovieClip [__Packages.Ball] Frame 0
class Ball extends MovieClip
{
var dy, _x, _y, dx, x1, y1, removeMovieClip, _rotation;
function Ball () {
super();
}
function Update() {
dy = dy + 0.075;
if (_root.batty.hitTest(_x, _y, true) && (dy > 0)) {
_root.wall_hit_sfx.start(0, 1);
dy = -1.15 * dy;
dx = dx + ((Math.tan((_root.batty._rotation * Math.PI) / 180) * 10) + (_root.batty.dx / 2));
if (dx < -8) {
dx = -8;
}
if (dx > 8) {
dx = 8;
}
}
if (dy < -8) {
dy = -8;
}
var bumped = false;
var dist = (Math.floor(Math.sqrt((dx * dx) + (dy * dy))) + 2);
var ddx = (dx / dist);
var ddy = (dy / dist);
var b = 1;
while (b < dist) {
var x2 = (_x + (ddx * b));
var y2 = (_y + (ddy * b));
var col = Math.floor((x2 - 20) / 60);
var row = Math.floor((y2 - 20) / 20);
var brick = eval ((("_root.bricks.brick_" + row) + "_") + col);
if (brick.hitTest(x2, y2)) {
if ((_x <= brick._x) || (_x >= (brick._x + 60))) {
x1 = _x;
y1 = _y;
dx = -dx;
brick.Destroy(dx);
bumped = true;
break;
}
x1 = _x;
y1 = _y;
dy = -dy;
brick.Destroy(dx);
bumped = true;
break;
}
b++;
}
if (!bumped) {
x1 = _x + dx;
y1 = _y + dy;
}
if (_root.enemy.hotspot.hitTest(_x, _y)) {
_root.enemy.Destroy(this);
}
if (x1 < limit_1) {
_root.wall_hit_sfx.start(0, 1);
dx = -dx;
x1 = limit_1;
y1 = _y;
}
if (x1 > limit_2) {
_root.wall_hit_sfx.start(0, 1);
dx = -dx;
x1 = limit_2;
y1 = _y;
}
if (y1 < 30) {
_root.wall_hit_sfx.start(0, 1);
dy = -dy;
x1 = _x;
y1 = 30;
}
if (y1 > 370) {
if (_root.bricks.wall) {
_root.wall_hit_sfx.start(0, 1);
_y = 370;
dy = -Math.abs(dy);
}
if (y1 > 410) {
var balls_total = 0;
for (var s in _root.balls) {
if (typeof(eval ("_root.balls." + s)) == "movieclip") {
balls_total = balls_total + 1;
}
}
if (balls_total == 1) {
if ((_root.mana < Math.abs(_root.new_ball_mana)) || (_root.mana <= 0)) {
_root.batty.Die();
}
}
_root.attachMovie("ball_burn", "b_burn" + _root.mc_depths, _root.mc_depths, {_x:_x, _y:400});
_root.mc_depths = _root.mc_depths + 1;
(removeMovieClip());// not popped
}
}
_x = x1;
_y = y1;
_rotation = _rotation + dx;
}
var limit_1 = 30;
var limit_2 = 430;
}
Symbol 7 MovieClip Frame 1
var gameBytesTotal = 0;
var gameBytesLoaded = 0;
var percent = 0;
Symbol 7 MovieClip Frame 3
gameBytesTotal = _root.getBytesTotal();
gameBytesLoaded = _root.getBytesLoaded();
percent = Math.round((gameBytesLoaded / gameBytesTotal) * 100);
bar.loadbar._xscale = percent;
if (((gameBytesLoaded >= gameBytesTotal) && (gameBytesTotal > 0)) && (_root.logo._currentframe >= _root.logo._totalframes)) {
_root.gotoAndPlay("game_init");
stop();
} else {
gotoAndPlay ("preload");
}
Symbol 10 Button
on (press) {
getURL (_root.main_link, "_blank");
}
Symbol 80 MovieClip Frame 1
_root.loading._visible = false;
Symbol 80 MovieClip Frame 207
_root.loading._visible = true;
stop();
Symbol 85 MovieClip [ball] Frame 1
#initclip 32
Object.registerClass("ball", Ball);
#endinitclip
Symbol 89 MovieClip [bat] Frame 1
#initclip 17
Object.registerClass("bat", Bat);
#endinitclip
Symbol 112 MovieClip [bomb] Frame 1
#initclip 18
Object.registerClass("bomb", Bomb);
#endinitclip
stop();
Symbol 112 MovieClip [bomb] Frame 2
var sfx = new Sound(this);
sfx.attachSound("explode");
sfx.start(0, 1);
this.onEnterFrame = function () {
for (var s in _root.bricks) {
var brick = eval ("_root.bricks." + s);
if (this.hitTest(brick)) {
brick.Destroy(dx);
}
}
if (_root.enemy.hotspot.hitTest(this)) {
_root.enemy.Destroy();
}
};
Symbol 112 MovieClip [bomb] Frame 20
this.removeMovieClip();
Symbol 113 MovieClip [boss_ball] Frame 1
#initclip 19
Object.registerClass("boss_ball", BossBall);
#endinitclip
Symbol 120 MovieClip [boss_bat_mc] Frame 1
#initclip 20
Object.registerClass("boss_bat_mc", BossBat);
#endinitclip
_root.boss_bat_wing_sfx.start(0, 1);
Symbol 126 MovieClip [boss_demon_mc] Frame 1
#initclip 21
Object.registerClass("boss_demon_mc", BossDemon);
#endinitclip
Symbol 133 MovieClip [demon_claw_mc] Frame 1
stop();
Symbol 135 MovieClip [demon_shot] Frame 1
#initclip 22
Object.registerClass("demon_shot", DemonShot);
#endinitclip
Symbol 182 MovieClip [boss_spider_mc] Frame 1
#initclip 23
Object.registerClass("boss_spider_mc", BossSpider);
#endinitclip
Symbol 191 MovieClip [poison_ball] Frame 1
#initclip 24
Object.registerClass("poison_ball", PoisonBall);
#endinitclip
Symbol 215 MovieClip Frame 1
stop();
Symbol 218 MovieClip [brick] Frame 1
#initclip 25
Object.registerClass("brick", Brick);
#endinitclip
Symbol 224 MovieClip [glimpse] Frame 11
removeMovieClip(this);
Symbol 242 MovieClip [rune] Frame 1
gotoAndStop(Math.floor(Math.random() * 18) + 2);
Symbol 243 MovieClip [bricks_remover] Frame 1
this.onEnterFrame = function () {
for (var i in _root.bricks) {
var brick = eval ("_root.bricks." + i);
if (!brick.animated) {
brick.Destroy();
}
}
};
Symbol 249 MovieClip [bat_mc] Frame 1
#initclip 26
Object.registerClass("bat_mc", EnemyBat);
#endinitclip
Symbol 264 MovieClip [ghost_mc] Frame 1
#initclip 27
Object.registerClass("ghost_mc", Ghost);
#endinitclip
Symbol 278 MovieClip [spider_mc] Frame 1
#initclip 28
Object.registerClass("spider_mc", EnemySpider);
#endinitclip
Symbol 281 MovieClip [enhancer] Frame 350
this.removeMovieClip();
Symbol 290 MovieClip [fireball] Frame 1
#initclip 29
Object.registerClass("fireball", FireBall);
#endinitclip
Symbol 303 MovieClip [prize_mc] Frame 1
#initclip 30
Object.registerClass("prize_mc", Prize);
#endinitclip
type = Math.floor(Math.random() * 7);
gotoAndStop(type + 2);
Symbol 303 MovieClip [prize_mc] Frame 2
stop();
Symbol 303 MovieClip [prize_mc] Frame 3
stop();
Symbol 303 MovieClip [prize_mc] Frame 4
stop();
Symbol 303 MovieClip [prize_mc] Frame 5
stop();
Symbol 303 MovieClip [prize_mc] Frame 6
stop();
Symbol 303 MovieClip [prize_mc] Frame 7
stop();
Symbol 303 MovieClip [prize_mc] Frame 8
stop();
Symbol 304 MovieClip [shot] Frame 1
#initclip 31
Object.registerClass("shot", Shot);
#endinitclip
Symbol 306 MovieClip [wall] Frame 351
this.removeMovieClip();
Symbol 322 Button
on (press) {
switch (_quality) {
case "HIGH" :
_quality = "LOW";
break;
case "MEDIUM" :
_quality = "HIGH";
break;
case "LOW" :
_quality = "MEDIUM";
}
_root.SetButtonStr();
}
Symbol 325 Button
on (press) {
if (_root.sound_on) {
_root.sound_on = false;
_root.powerup_sfx.setVolume(0);
} else {
_root.sound_on = true;
_root.powerup_sfx.setVolume(100);
}
_root.SetButtonStr();
}
Symbol 328 Button
on (press) {
getURL (_root.viewscores_link, "_blank");
}
Symbol 331 Button
on (press) {
getURL (_root.main_link, "_blank");
}
Symbol 334 Button
on (press) {
getURL (_root.get_game_link, "_blank");
}
Symbol 337 Button
on (press) {
getURL (_root.download_link, "_blank");
}
Symbol 340 Button
on (press) {
_root.level_music.stop();
_root.mortanoid_vox.start(0, 1);
_root.mortanoid_vox.onSoundComplete = function () {
_root.menu_music.start(0, 99999);
};
for (var s in _root) {
if (_root[s] != this) {
_root[s].removeMovieClip();
}
}
_root.gotoAndPlay("main_menu");
this.removeMovieClip();
}
Symbol 343 Button
on (press) {
_root.paused = false;
this.removeMovieClip();
}
Symbol 353 MovieClip [fade_out] Frame 25
this.removeMovieClip();
Symbol 355 MovieClip [level_end_fade_in] Frame 40
_root.game_level = _root.game_level + 1;
if (_root.game_level == 34) {
_root.gotoAndPlay("game_fin");
} else {
_root.gotoAndPlay("start_level");
}
this.removeMovieClip();
Symbol 357 MovieClip [game_over_fade_in] Frame 45
_root.gotoAndPlay("game_over");
this.removeMovieClip();
Symbol 365 MovieClip [ball_burn] Frame 1
_root.fire_small_sfx.start(0, 1);
Symbol 365 MovieClip [ball_burn] Frame 16
this.removeMovieClip();
Symbol 368 MovieClip [enemy_burn] Frame 1
_root.fire_small_sfx.start(0, 1);
Symbol 368 MovieClip [enemy_burn] Frame 16
this.removeMovieClip();
Symbol 369 MovieClip Frame 1
stop();
Symbol 397 MovieClip Frame 1
stop();
Symbol 403 Button
on (press) {
_root.GameInit();
_root.game_level = Number(_root.test_level);
_root.menu_music.stop();
_root.level_music.start(0, 99999);
_root.gotoAndPlay("start_game");
}
Symbol 406 Button
on (press) {
_root.gotoAndPlay("options");
}
Symbol 409 Button
on (press) {
_root.gotoAndPlay("story");
}
Symbol 412 Button
on (press) {
getURL (_root.main_link, "_blank");
}
Symbol 415 Button
on (press) {
getURL (_root.viewscores_link, "_blank");
}
Symbol 420 Button
on (press) {
getURL (_root.main_link, "_blank");
}
Symbol 429 Button
on (press) {
getURL (_root.main_link, "_blank");
}
Symbol 430 Button
on (press) {
getURL (_root.get_game_link, "_blank");
}
Symbol 431 Button
on (press) {
getURL (_root.download_link, "_blank");
}
Symbol 434 Button
on (press) {
_root.gotoAndPlay("main_menu");
}
Symbol 438 Button
on (press) {
_root.gotoAndPlay("main_menu");
}
Symbol 444 Button
on (press) {
_root.level_music.stop();
_root.mortanoid_vox.start(0, 1);
_root.menu_music.start(0, 99999);
_root.gotoAndPlay("main_menu");
}
Symbol 447 Button
on (press) {
var hashkey = _root.hex_md5(((("gameid=" + _root.game_id) + "&hiscore=") + _root.score) + "2DPlay.com/");
getURL (String(((_root.scores_link + _root.score) + "&hash=") + hashkey), "_blank");
}
Symbol 454 Button
on (press) {
_root.gotoAndPlay("main_menu");
}
Symbol 465 Button
on (press) {
getURL (_root.main_link, "_blank");
}
Symbol 478 Button
on (press) {
if (!_root.paused) {
_root.paused = true;
_root.attachMovie("pause_clip", "pause_mc", 10010);
}
}
Symbol 480 MovieClip Frame 11
_alpha = (_alpha - 10);