Frame 1
function visitAA() {
getURL ("http://www.arcticarcade.net/", "_blank");
}
function load_SO(mySO) {
delete this.onEnterFrame;
SO_capable = true;
clear_SO();
if (SO_capable) {
if (mySO.getSize() == 0) {
nextFrame();
} else {
sound_on = mySO.data.sound_var;
gotoAndStop ("intro");
}
}
gotoAndStop ("menu");
}
function flush_SO() {
if (SO_capable) {
my_info.data.set_var = my_set;
my_info.data.stage_var = stage_num;
my_info.data.lives_var = lives;
my_info.data.score_var = my_score;
my_info.flush();
}
}
function read_SO() {
if (SO_capable) {
my_set = my_info.data.set_var;
stage_num = my_info.data.stage_var;
lives = my_info.data.lives_var;
my_score = my_info.data.score_var;
}
}
function clear_SO() {
my_info.clear();
if (sound_on != undefined) {
my_info.data.sound_var = sound_on;
}
my_info.flush();
}
function display_options(clip) {
if (sound_on) {
this[clip].sound_toggle.gotoAndStop(1);
} else {
this[clip].sound_toggle.gotoAndStop(2);
}
}
function toggle_sound() {
if (sound_on) {
sound_on = false;
} else {
sound_on = true;
}
if (SO_capable) {
my_info.data.sound_var = sound_on;
my_info.flush();
}
}
function do_sound(sound) {
if (sfx == undefined) {
_root.createEmptyMovieClip("sfx", _root.getNextHighestDepth());
}
if ((sound_on && (sound != undefined)) && (sound != "")) {
var _local2 = new Sound(sfx);
_local2.attachSound(sound);
_local2.start(0, 1);
}
}
function do_loop(sound) {
if (((sound_on && (sound != undefined)) && (sound != "")) && (sound != my_loop)) {
loop_sound.stop();
my_loop = sound;
sound_fade_var = undefined;
loop_sound = new Sound(this);
loop_sound.attachSound(sound);
loop_sound.setVolume(60);
loop_sound.start(0, 1000);
}
}
function end_loop() {
loop_sound.stop();
my_loop = undefined;
}
function fade_loop() {
if (sound_fade_var != undefined) {
sound_fade_var = sound_fade_var - 2;
if (sound_fade_var == 0) {
loop_sound.setVolume(0);
sound_fade_var = undefined;
} else {
loop_sound.setVolume(sound_fade_var);
}
}
}
function toggle_sound() {
if (sound_on) {
sound_on = false;
stopAllSounds();
} else {
sound_on = true;
do_sound("lever_sound");
var _local1 = my_loop;
my_loop = undefined;
do_loop(_local1);
}
}
function start_game(stage_var, cx, cy, cpvv) {
stopAllSounds();
cn = 2;
if (cpvv != undefined) {
cpv = cpvv;
} else {
cpv = 1;
}
my_flag = undefined;
spoken = undefined;
anim_var = undefined;
p1w = "sword";
p2w = "sword";
p1wt = _root[p1w + "_type"];
p2wt = _root[p2w + "_type"];
bonus_stage = 0;
on_fs_1 = false;
on_fs_2 = false;
my_floor_switch_1 = undefined;
my_floor_switch_2 = undefined;
firing = true;
up_down = (down_down = (right_down = (left_down = (enter_down = false))));
my_health_1 = 100;
my_health_2 = 100;
if (_root._currentframe != 4) {
Key.removeListener(keyListener);
}
gotoAndStop ("game");
default_player = "player";
my_set = "map";
money = 0;
max_health = 0;
if (SO_capable && (my_info.data.stage_var != undefined)) {
read_SO();
} else {
stage_num = 0;
lives = 3;
my_score = 0;
}
jump_hor = 5;
jump_vert = 10;
spring_vert = 14;
jump_max = 0;
jump_ratio = 0;
gravity = 0.6;
friction = 0;
max_x_speed = 5;
fwd_x = 0;
fwd_y = 0;
fwd_max = my_stage_width / 6;
fwd_speed = 3;
ladder_speed = 2;
recoil_speed = 4;
recoil_duration = 6;
pos_var = 100;
lever_array = new Array();
door_array = new Array();
target_array = new Array();
mover_array = new Array();
move_speed = 2;
item_array = new Array();
character_array = new Array();
character_hurt_array = new Array();
character_defeated_array = new Array();
item_collect_array = new Array();
bullet_array = new Array();
init_weapon_vars();
if (stage_var == undefined) {
stage_var = 0;
}
stage_num = stage_var;
init_stage(stage_num, cx, cy);
}
function init_inventory() {
inv = new Array();
inventory = new Array((inventory[0] = ["Artifact(y)", 4, 10, 100, 1, "Ancient artifact(yellow)"]), (inventory[1] = ["Artifact(b)", 4, 10, 120, 1, "Ancient artifact(blue)"]), (inventory[2] = ["Artifact(r)", 4, 10, 150, 1, "Ancient artifact(red)"]), (inventory[3] = ["Gold Artifact", 3, 10, 150, 1, "Priceless artifact"]), (inventory[4] = ["Gem1", 1, 5, 500, 1, "Precious Gem"]), (inventory[5] = ["Gem2", 2, 5, 500, 1, "Precious Gem"]), (inventory[6] = ["Gem3", 2, 5, 500, 1, "Precious Gem"]), (inventory[7] = ["Gem4", 1, 5, 500, 1, "Precious Gem"]), (inventory[8] = ["Gem5", 1, 5, 500, 1, "Precious Gem"]), (inventory[9] = ["Gem6", 1, 5, 500, 1, "Precious Gem"]), (inventory[10] = ["Gem7", 1, 5, 500, 1, "Precious Gem"]), (inventory[11] = ["Gem8", 1, 5, 500, 1, "Precious Gem"]), (inventory[12] = ["Gem9", 1, 5, 500, 1, "Precious Gem"]), (inventory[13] = ["Gem10", 1, 5, 500, 1, "Precious Gem"]), (inventory[14] = ["Key", 1, 3, 0, 0, "Old key"]));
}
function init_weapon_vars() {
sva = new Array(1, 0.8, 0.7, 0.6, 0.5, 0.4);
bow_start_amount = 10;
bow_collect_amount = 10;
bow_speed = 10;
bow_power = 25;
bow_delay = 16;
bow_sound = "gun105mm.wav";
bow_charge = 0;
bow_type = "projectile";
bow_frames = 12;
sword_power = new Array(10, 20, 25, 30);
sword_delay = 10;
sword_charge = 0;
sword_sound = "gun105mm.wav";
sword_volume = 100;
sword_type = "strike";
sword_frames = 6;
}
function init_stage(num, cx, cy) {
stage_num = num;
var _local9 = _root[my_set][num][0];
door_array.length = 0;
item_array.length = 0;
character_array.length = 0;
mover_array.length = 0;
x_speed = 0;
y_speed = 0;
p1xs = 0;
p1ys = 10;
p2xs = 0;
p2ys = 10;
climbing = false;
right_down = false;
left_down = false;
up_down = false;
enter_down = false;
jump_active = true;
map_length = _root[my_set][num][1][0].length;
map_height = _root[my_set][num][1].length;
map_total = map_length * map_height;
b = (map_total * 4) + 2;
eb = map_total * 3;
s = 0;
p1rd = undefined;
p2rd = undefined;
var _local12 = false;
if ((my_stage_width < Stage.width) || (my_stage_height < Stage.height)) {
_local12 = true;
}
this.createEmptyMovieClip("game", -2);
game._x = (Stage.width / 2) - (my_stage_width / 2);
game._y = (Stage.height / 2) - (my_stage_height / 2);
_root.my_stage = game.createEmptyMovieClip("my_stage", -1);
if (_local12) {
var _local11 = game.attachMovie("my_solid", "my_mask", map_total * 8);
_local11._width = my_stage_width;
_local11._height = my_stage_height;
my_stage.setMask(_local11);
}
my_stage.createEmptyMovieClip("tile_holder", 0);
my_stage.createEmptyMovieClip("item_holder", map_total);
my_stage.createEmptyMovieClip("character_holder", map_total * 2);
set_screens();
hpw = 16;
if (cx != undefined) {
if (cpv == 1) {
p1 = my_stage.tile_holder.attachMovie("player_1", "player_1", (map_total * 4) + 1);
p1x = (cx * tileWidth) + hpw;
p1y = (cy * tileHeight) + (p1._height / 2);
p1s = num;
p1sx = cx;
p1sy = cy;
if (p1f == undefined) {
p1f = "right";
}
if (p2s == num) {
p2 = my_stage.tile_holder.attachMovie("player_2", "player_2", map_total * 4);
game_state_2 = "wait";
} else {
p2 = undefined;
}
game_state_1 = "playing";
} else {
p2 = my_stage.tile_holder.attachMovie("player_2", "player_2", (map_total * 4) + 1);
p2x = (cx * tileWidth) + hpw;
p2y = (cy * tileHeight) + (p2._height / 2);
p2s = num;
p2sx = cx;
p2sy = cy;
if (p2f == undefined) {
p2f = "right";
}
if (p1s == num) {
p1 = my_stage.tile_holder.attachMovie("player_1", "player_1", map_total * 4);
game_state_1 = "wait";
} else {
p1 = undefined;
}
game_state_2 = "playing";
}
} else {
if (cpv == undefined) {
cpv = 1;
}
if (cpv == 1) {
var _local14 = 1;
var _local13 = 0;
game_state_1 = "playing";
game_state_2 = "wait";
} else {
var _local14 = 0;
var _local13 = 1;
game_state_1 = "wait";
game_state_2 = "playing";
}
p1 = my_stage.tile_holder.attachMovie("player_1", "player_1", (map_total * 4) + _local14);
p2 = my_stage.tile_holder.attachMovie("player_2", "player_2", (map_total * 4) + _local13);
p1x = _local9[1] + hpw;
p1y = (_local9[2] + tileHeight) - 10;
p2x = _local9[3] + hpw;
p2y = (_local9[4] + tileHeight) - 10;
p1f = "right";
p2f = "right";
p1s = num;
p2s = num;
p1sx = cx;
p1sy = cy;
p2sx = cx;
p2sy = cy;
}
speech(0);
p1og = true;
p2og = true;
p1._x = p1x;
p1._y = p1y + 10;
p2._x = p2x;
p2._y = p2y + 10;
p1.s = 0;
p2.s = 0;
scroll_type = 1;
loop_width = Math.ceil(my_stage_width / tileWidth) + 2;
loop_height = Math.ceil(my_stage_height / tileHeight) + 1;
do_stage_background("col", _local9[0]);
down_down = (up_down = (right_down = (left_down = (enter_down = false))));
p1xs = 0;
p1ys = 10;
p2xs = 0;
p2ys = 10;
p1r = false;
p2r = false;
caving = false;
pause_menu.block_1.gotoAndStop(1);
pause_menu.block_2.gotoAndStop(1);
switch (stage_num) {
case 0 :
case 5 :
case 12 :
rsn = stage_num;
break;
case 13 :
case 14 :
caving = true;
pause_menu.block_1.gotoAndStop(2);
break;
default :
caving = false;
}
if ((((p1s == 6) || (p1s == 17)) || (p1s == 28)) || (p1s == 29)) {
game_state_1 = "swimming";
p.gotoAndStop("swim_static");
pause_menu.block_2.gotoAndStop(2);
x_speed = 0;
y_speed = 0;
p1ys = 0;
do_loop("water_loop");
} else {
do_loop("main_loop");
}
th = Math.floor(p._height / tileHeight);
init_attack(1);
init_attack(2);
this.onEnterFrame = null;
this.onEnterFrame = function () {
enter_frame_walk();
};
flush_SO();
do_animation();
loop_sound.setVolume(100);
water_frame = 1;
if (stage_num == 32) {
if (my_loop == "main_loop") {
sound_fade_var = 100;
}
completion = false;
boss_step = 0;
boss_hits = 0;
set_boss_delay();
character_array.length = 0;
var _local5 = pause_menu.createEmptyMovieClip("character_life", pause_menu.getNextHighestDepth());
var _local7 = 22;
_local5.cells = _local7;
_local5.curr = 22;
var _local3 = 0;
while (_local3 < _local7) {
var _local4 = _local5.attachMovie("bar_cell", "b" + _local3, _local3);
_local4._x = (_local3 * _local4._width) + (_local3 * 3);
_local3++;
}
_local5._x = (Stage.width / 2) - (_local5._width / 2);
_local5._y = 24;
}
}
function do_stage_background(my_type, my_var) {
if (my_type == "col") {
var _local1 = game.createEmptyMovieClip("my_background", -3);
_local1.beginFill(my_var, 100);
_local1.moveTo(0, 0);
_local1.lineTo(0, my_stage_height);
_local1.lineTo(my_stage_width, my_stage_height);
_local1.lineTo(my_stage_width, 0);
_local1.lineTo(0, 0);
_local1.endFill();
} else {
var _local2 = game.attachMovie(my_var, "my_background", -4);
_local2._width = my_stage_width;
_local2._height = my_stage_height;
}
}
function set_screens() {
var _local3 = _root.attachMovie("message_window", "message_window", map_total * 7);
var _local2 = _root.attachMovie("pause_menu", "pause_menu", (map_total * 7) + 1);
_local2._x = game._x;
_local2._y = game._y;
_local3._x = game._x;
_local3._y = game._y;
_local2.my_money.text = "$" + money;
_local2.my_health_1.gotoAndStop(Math.ceil(my_health_1 / 20) + 1);
_local2.my_health_2.gotoAndStop(Math.ceil(my_health_2 / 20) + 1);
pause_menu["face_" + cpv]._alpha = 100;
if (cpv == 1) {
pause_menu.face_2._alpha = 50;
} else {
pause_menu.face_1._alpha = 50;
}
if (p1w == "bow") {
_local2.arrow_clip_1.gotoAndStop(2);
_local2.arrow_clip_1.my_num.text = "x" + bow_amount_1;
}
if (p2w == "bow") {
_local2.arrow_clip_2.gotoAndStop(2);
_local2.arrow_clip_2.my_num.text = "x" + bow_amount_2;
}
}
function speech(speech_num, speech_v) {
var _local2 = false;
speech_var = 1;
switch (speech_num) {
case 0 :
if (spoken == undefined) {
switch (stage_num) {
case 0 :
_local2 = true;
spoken = true;
var _local3 = "use arrow keys to walk and jump";
break;
case 5 :
_local2 = true;
spoken = true;
if (cpv == 1) {
_local3 = "Steve can't swim, but I can!";
} else {
_local3 = "I can't swim, but Sir Valliant can";
}
break;
case 12 :
_local2 = true;
spoken = true;
if (cpv == 1) {
_local3 = "I can't enter caves, but Steve can!";
} else {
_local3 = "Sir Valliant can't enter caves, but I can";
}
break;
}
}
break;
case 1 :
if (stage_num == 0) {
_local2 = true;
if ((_root["my_floor_switch_" + cpv] == "t11_6") && (cpv == 1)) {
var _local3 = "press 'z' to change character";
} else if ((_root["my_floor_switch_" + cpv] == "t7_16") && (cpv == 2)) {
var _local3 = "press 'z' to change character";
}
}
break;
case 2 :
spoken = undefined;
if (speech_v == 0) {
_local2 = false;
} else if (speech_v == cpv) {
speech_var = 2;
_local2 = true;
var _local3 = "both must reach the flag to proceed";
}
break;
case 3 :
if (stage_num == 0) {
_local2 = true;
var _local3 = "you can't change on moving blocks";
} else if ((stage_num == 2) && (_root[("p" + cpv) + "m"]._name == "m11_11")) {
_local2 = true;
var _local3 = "press space bar to attack and interact";
}
break;
default :
_local2 = false;
}
if (_local2) {
if (_local3 != undefined) {
var _local4 = _root["p" + cpv].attachMovie("speech_bubble_" + speech_var, "speech_bubble", 0);
_local4.my_text.text = _local3;
} else {
var _local5 = _root["p" + cpv].createEmptyMovieClip("empty", 0);
}
} else {
var _local5 = _root["p" + cpv].createEmptyMovieClip("empty", 0);
}
}
function build_map() {
var _local4 = _root[my_set][stage_num][1];
var _local15 = Math.floor(_root[("p" + cpv) + "x"] / tileWidth);
var _local14 = Math.floor(_root[("p" + cpv) + "y"] / tileHeight);
var _local9 = Math.floor(_local15 - (loop_width / 2));
if (_local9 < 0) {
_local9 = 0;
}
if (_local9 > (map_length - loop_width)) {
_local9 = map_length - loop_width;
}
var _local12 = Math.floor(_local14 - (loop_height / 2));
if (_local12 < 0) {
_local12 = 0;
}
if (_local12 > (map_height - loop_height)) {
_local12 = map_height - loop_height;
}
small_x = false;
small_y = false;
my_stage._x = Math.round(-(_root[("p" + cpv) + "x"] - (my_stage_width / 2)));
if (map_length > (my_stage_width / tileWidth)) {
if (my_stage._x > 0) {
my_stage._x = 0;
} else if (my_stage._x < (my_stage_width - (map_length * tileWidth))) {
my_stage._x = my_stage_width - (map_length * tileWidth);
}
} else {
my_stage._x = Math.round((my_stage_width / 2) - ((map_length * tileWidth) / 2));
small_x = true;
}
if (map_height < (my_stage_height / tileHeight)) {
my_stage._y = Math.round((my_stage_height / 2) - ((map_height * tileHeight) / 2));
small_y = true;
} else if (_root[("p" + cpv) + "y"] > ((map_height * tileHeight) - (my_stage_height / 2))) {
my_stage._y = my_stage_height - (map_height * tileHeight);
} else if (_root[("p" + cpv) + "y"] < (my_stage_height / 2)) {
my_stage._y = 0;
} else {
my_stage._y = Math.round((_local14 * tileHeight) - ((map_height * tileHeight) / 2));
}
var _local6 = _local12;
while (_local6 < (_local12 + loop_height)) {
var _local2 = _local9;
while (_local2 < (_local9 + loop_width)) {
if (_local4[_local6][_local2].length != undefined) {
if (_local4[_local6][_local2][1] != null) {
generate_item(_local2, _local6);
}
if (_local4[_local6][_local2][2] != undefined) {
generate_character(_local2, _local6);
}
if ((_local4[_local6][_local2][0] != 0) && (my_stage.tile_holder[(("t" + _local6) + "_") + _local2] == undefined)) {
set_tile(_local2, _local6);
}
} else if ((_local4[_local6][_local2] != 0) && (my_stage.tile_holder[(("t" + _local6) + "_") + _local2] == undefined)) {
set_tile(_local2, _local6);
}
_local2++;
}
_local6++;
}
var _local3 = _root[my_set][stage_num][2];
var _local10 = _root["mover_array_" + stage_num];
if (_local10 != undefined) {
_local6 = 0;
while (_local6 < _local3.length) {
var _local13 = "m";
var _local11 = _local3[_local6][2];
var _local5 = my_stage.tile_holder.attachMovie("tile_" + _local11, (("m" + _local3[_local6][1]) + "_") + _local3[_local6][0], (_local3[_local6][0] + (_local3[_local6][1] * map_length)) + map_total);
_local5._x = _local10[_local6][0];
_local5._y = _local10[_local6][1];
_local5.my_x = _local3[_local6][0];
_local5.my_y = _local3[_local6][1];
_local5.mover = true;
_local5.falling = _local10[_local6][3];
add_mover(_local5, _local3[_local6], _local10[_local6][2]);
_local6++;
}
_root["mover_array_" + stage_num] = undefined;
} else {
_local6 = 0;
while (_local6 < _local3.length) {
var _local13 = "m";
var _local11 = _local3[_local6][2];
var _local8 = _local3[_local6][0];
var _local7 = _local3[_local6][1];
var _local5 = my_stage.tile_holder.attachMovie("tile_" + _local11, (("m" + _local7) + "_") + _local8, (_local8 + (_local7 * map_length)) + map_total);
_local5._x = _local8 * tileWidth;
_local5._y = _local7 * tileHeight;
_local5.my_x = _local8;
_local5.my_y = _local7;
_local5.mover = true;
add_mover(_local5, _local3[_local6]);
_local6++;
}
}
my_stage.tile_holder[my_floor_switch_1].gotoAndStop(2);
my_stage.tile_holder[my_floor_switch_2].gotoAndStop(2);
}
function set_tile(my_x, my_y) {
var _local10 = _root[my_set][stage_num][1][my_y][my_x];
var _local11 = "";
if ((_local10.length == undefined) || (_local10.length == 1)) {
var _local8 = _local10;
} else {
var _local8 = _local10[0];
}
if (_local8 == "m") {
place_custom(my_x, my_y);
return(undefined);
}
if (_local8 == "t") {
_local11 = "t";
var _local5 = _root[my_set][stage_num][3];
var _local2 = 0;
while (_local2 < _local5.length) {
if ((my_x == _local5[_local2][0]) && (my_y == _local5[_local2][1])) {
var _local6 = _local5[_local2][4];
_local6 = remove_quotes(_local6);
if (lever_state(_local6)) {
var _local8 = _local5[_local2][3];
} else {
var _local8 = _local5[_local2][2];
}
if (_local8 == 0) {
removeMovieClip(my_stage.tile_holder[(("t" + my_y) + "_") + my_x]);
var _local7 = my_stage.tile_holder.createEmptyMovieClip((("t" + my_y) + "_") + my_x, my_x + (my_y * map_length));
_local7.my_target = true;
_local7._x = my_x * tileWidth;
_local7._y = my_y * tileHeight;
add_target((("t" + my_y) + "_") + my_x, _local6);
return(undefined);
}
var _local9 = target_array[_local2];
break;
}
_local2++;
}
}
place_tile(my_x, my_y, _local8);
}
function place_tile(my_x, my_y, my_var) {
var _local1 = my_stage.tile_holder.attachMovie("tile_" + my_var, (("t" + my_y) + "_") + my_x, my_x + (my_y * map_length));
_local1._x = my_x * tileWidth;
_local1._y = my_y * tileHeight;
_local1.my_x = my_x;
_local1.my_y = my_y;
tile_prop(_local1, my_var);
}
function tile_prop(tile, my_var) {
switch (my_var) {
case 1 :
case 33 :
case 35 :
case 36 :
case 37 :
case 38 :
case 39 :
case 40 :
case 43 :
case 48 :
case 59 :
case 60 :
case 62 :
case 72 :
case 73 :
case 85 :
case 89 :
tile.solid = true;
break;
case 21 :
tile.floor_switch = true;
tile.solid = true;
if ((tile._name == my_floor_switch_1) || (tile._name == my_floor_switch_2)) {
tile.gotoAndStop(2);
}
break;
case 28 :
tile.gotoAndPlay(water_frame);
case 9 :
tile.my_sound = "door_sound";
add_door(tile);
break;
case 27 :
add_door(tile);
break;
case 18 :
tile.spring = true;
tile.solid = true;
break;
case 22 :
case 41 :
tile.lever = true;
add_lever(tile);
break;
case 24 :
case 47 :
case 74 :
case 88 :
tile.spike = true;
tile.solid = true;
break;
case 26 :
tile.foreground = true;
break;
case 42 :
my_flag = tile;
break;
case 49 :
case 50 :
tile.solid = true;
tile.breakable = true;
break;
}
if (tile.foreground) {
tile.swapDepths(tile.getDepth() + (map_total * 6));
}
}
function check_hit() {
if (stage_num == 32) {
if (((((completion && (p1og)) && (p2og)) && (!p1om)) && (!p2om)) && (sound_fade_var != 0)) {
flag_position();
return(undefined);
}
if (boss_delay > 0) {
boss_delay--;
if ((boss_delay <= 0) && (character_array.length == 0)) {
spawn_wave();
}
}
}
var _local2 = 0;
while (_local2 < character_array.length) {
var _local3 = my_stage.character_holder[character_array[_local2]];
set_character(_local3);
var _local5 = 1;
while (_local5 <= cn) {
if (_root["game_state_" + _local5] == "playing") {
strike_character(_local3);
shoot_character(_local3);
}
if (_local3.my_hit._x != undefined) {
if (_root["p" + _local5].player_hit.hitTest(_local3.my_hit)) {
var _local6 = _local3._name;
player_collide_character(_local6, _local5);
}
}
_local5++;
}
_local2++;
}
var _local5 = 0;
while (_local5 < item_array.length) {
var _local4 = my_stage.item_holder[item_array[_local5]];
_local2 = 1;
while (_local2 <= cn) {
if (_root["p" + _local2].player_hit.hitTest(_local4.my_hit) || ((_local4.my_hit == undefined) && (_root["p" + _local2].player_hit.hitTest(_local4)))) {
item_collect(_local4, _local5, _local2);
}
_local2++;
}
_local5++;
}
if (my_flag != undefined) {
if (stage_num == 0) {
if (p1.player_hit.hitTest(my_flag.my_hit) && (p1og)) {
speech(2, 1);
if (p2.player_hit.hitTest(my_flag.my_hit) && (p2og)) {
flag_position();
}
} else if (p2.player_hit.hitTest(my_flag.my_hit) && (p2og)) {
speech(2, 2);
}
} else if (((p1.player_hit.hitTest(my_flag.my_hit) && (p1og)) && (p2.player_hit.hitTest(my_flag.my_hit))) && (p2og)) {
flag_position();
}
}
}
function drop_items() {
var _local2 = 0;
while (_local2 < item_array.length) {
var _local1 = my_stage.item_holder[item_array[_local2]];
if (_local1.y_speed != undefined) {
if (_local1.fc >= 120) {
removeMovieClip(_local1);
item_array.splice(_local2, 1);
} else if (_local1.fc > 110) {
_local1._alpha = 50;
} else if (_local1.fc > 100) {
_local1._alpha = 100;
} else if (_local1.fc > 90) {
_local1._alpha = 50;
}
_local1.fc++;
var _local4 = Math.floor(_local1._x / tileWidth);
if (_local1.y_speed > 0) {
var _local5 = Math.floor(((_local1._y - _local1.y_speed) - 10) / tileHeight);
var _local3 = my_stage.tile_holder[(("t" + _local5) + "_") + _local4];
if (_local3.solid) {
_local1._y = (_local3._y + tileHeight) + 10;
_local1.y_speed = 0;
}
} else if (_local1.y_speed < 0) {
var _local5 = Math.floor(((_local1._y - _local1.y_speed) + 10) / tileHeight);
var _local3 = my_stage.tile_holder[(("t" + _local5) + "_") + _local4];
if (_local3.solid) {
_local1._y = _local3._y - 10;
_local1.y_speed = Math.round(_local1.y_speed / 2) * -1;
}
}
if (_local1.x_speed != undefined) {
_local1._x = _local1._x + _local1.x_speed;
}
_local1._y = _local1._y - _local1.y_speed;
if (_local1.y_speed > -20) {
_local1.y_speed--;
}
}
_local2++;
}
}
function switch_char() {
if (cpv == 1) {
cv = 2;
} else {
cv = 1;
}
if (!_root[("p" + cpv) + "og"]) {
return(undefined);
}
if (_root[("p" + cpv) + "om"]) {
return(undefined);
}
if (caving) {
return(undefined);
}
if (_root.fade_in_black != undefined) {
return(undefined);
}
if (!_root["p" + cpv]._visible) {
return(undefined);
}
up_down = (down_down = (enter_down = (left_down = (right_down = false))));
var _local8 = cpv;
var _local7 = _root[("p" + cpv) + "x"];
var _local6 = _root[("p" + cpv) + "y"];
var _local3 = _root[("p" + cpv) + "s"];
cpv = cv;
var _local5 = cpv;
var _local4 = _root[("p" + cpv) + "s"];
_root["game_state_" + _local8] = "wait";
_root["game_state_" + _local5] = "playing";
trans_var = "char";
if (_local3 == _local4) {
var _local2 = 570;
if ((Math.abs(p2x - p1x) <= _local2) && (Math.abs(p2y - p1y) <= _local2)) {
move_position(_local7, _local6, _root[("p" + cpv) + "x"], _root[("p" + cpv) + "y"]);
} else {
fade_out("black");
}
} else {
fade_out("black");
}
}
function remove_all() {
flag_x = undefined;
flag_y = undefined;
character_array.length = 0;
item_array.length = 0;
bullet_array.length = 0;
target_array.length = 0;
mover_array.length = 0;
door_array.length = 0;
bow_amount_1 = undefined;
bow_amount_2 = undefined;
removeMovieClip(my_stage.tile_holder);
removeMovieClip(my_stage.item_holder);
removeMovieClip(my_stage.character_holder);
removeMovieClip(p1);
removeMovieClip(p2);
}
function remove_stage() {
remove_all();
removeMovieClip(pause_menu);
removeMovieClip(my_stage);
game.createEmptyMovieClip("empty", -3);
game.createEmptyMovieClip("empty", -4);
removeMovieClip(game);
}
function flag_position() {
p1._alpha = 100;
p2._alpha = 100;
game_state_1 = "auto_positioning";
game_state_2 = "wait";
switch (stage_num) {
case 0 :
pos1 = 560;
pos2 = 590;
return;
case 1 :
pos1 = 888;
pos2 = 918;
return;
case 2 :
pos1 = 828;
pos2 = 858;
return;
case 5 :
pos1 = 1690;
pos2 = 1720;
return;
case 12 :
pos1 = 1280;
pos2 = 1330;
return;
case 15 :
pos1 = 1726;
pos2 = 1753;
return;
case 18 :
pos1 = 258;
pos2 = 343;
return;
case 19 :
pos1 = 167;
pos2 = 257;
return;
case 20 :
pos1 = 3798;
pos2 = 3858;
return;
case 23 :
pos1 = 3550;
pos2 = 3580;
return;
case 24 :
pos1 = 675;
pos2 = 736;
return;
case 30 :
pos1 = 407;
pos2 = 437;
return;
case 32 :
pos1 = 196;
pos2 = 376;
return;
default :
pass_stage();
}
}
function positioning() {
var _local3 = false;
var _local2 = false;
var _local1 = false;
p1._x = Math.round(p1._x);
p2._x = Math.round(p2._x);
if (p1._x < pos1) {
if (((stage_num == 32) && (p1._x > 120)) && (p1._x < 127)) {
p1.gotoAndStop(p1w + "_jump");
p1._y = p1._y + 5;
if (p1._y > 420) {
p1._y = 420;
}
} else {
p1.gotoAndStop(p1w + "_walk");
if (stage_num == 32) {
p1._y = 420;
}
}
p1f = "right";
p1._x++;
} else if (p1._x > pos1) {
if (((stage_num == 32) && (p1._x > 450)) && (p1._x < 456)) {
p1.gotoAndStop(p1w + "_jump");
p1._y = p1._y + 5;
if (p1._y > 420) {
p1._y = 420;
}
} else {
p1.gotoAndStop(p1w + "_walk");
if (stage_num == 32) {
p1._y = 420;
}
}
p1f = "left";
p1._x--;
} else {
p1.gotoAndStop(p1w + "_static");
p1f = "right";
_local3 = true;
}
dress_char(1);
if (p2._x < pos2) {
if (((stage_num == 32) && (p2._x >= 120)) && (p2._x < 127)) {
p2.gotoAndStop(p2w + "_jump");
p2._y = p2._y + 5;
if (stage_num == 32) {
p2._y = 420;
}
} else {
p2.gotoAndStop(p2w + "_walk");
if (stage_num == 32) {
p2._y = 420;
}
}
p2f = "right";
p2._x++;
} else if (p2._x > pos2) {
if (((stage_num == 32) && (p2._x >= 450)) && (p2._x < 456)) {
p2.gotoAndStop(p2w + "_jump");
p2._y = p2._y + 5;
if (stage_num == 32) {
p2._y = 420;
}
} else {
p2.gotoAndStop(p1w + "_walk");
if (stage_num == 32) {
p2._y = 420;
}
}
p2f = "left";
p2._x--;
} else {
p2.gotoAndStop(p2w + "_static");
p2f = "right";
_local2 = true;
}
dress_char(2);
if (my_stage._x < stage_pos) {
my_stage._x++;
} else if (my_stage._x > stage_pos) {
my_stage._x--;
} else {
_local1 = true;
}
if ((_local1 && (_local3)) && (_local2)) {
pass_stage();
}
}
function pass_stage() {
spoken = undefined;
character_defeated_array = new Array();
item_collect_array = new Array();
game.createEmptyMovieClip("empty", -4);
game.createEmptyMovieClip("empty", -3);
clear_game();
flag_s_1 = (flag_x_1 = (flag_y_1 = (flag_s_2 = (flag_x_2 = (flag_y_2 = undefined)))));
switch (stage_num) {
case 2 :
stage_num = 5;
break;
case 5 :
stage_num = 12;
break;
case 12 :
stage_num = 15;
break;
case 20 :
stage_num = 23;
break;
case 24 :
stage_num = 30;
break;
case 30 :
stage_num = 32;
break;
default :
stage_num++;
}
my_stage._visible = false;
if (stage_num >= map.length) {
_root.attachMovie("completion_anim", "my_anim", _root.getNextHighestDepth());
} else {
init_stage(stage_num);
rsn = stage_num;
}
}
function change_stage(sn, cx, cy) {
_root["flag_x_" + cpv] = cx;
_root["flag_y_" + cpv] = cy;
_root["flag_s_" + cpv] = sn;
up_down = (down_down = (enter_down = (left_down = (right_down = false))));
if (trans_var != "death") {
remember_movers();
}
remove_all();
removeMovieClip(pause_menu);
removeMovieClip(my_stage);
game.createEmptyMovieClip("empty", -4);
removeMovieClip(game);
delete this.onEnterFrame;
game_state = prev_state;
init_stage(sn, cx, cy);
}
function clear_game() {
remove_stage();
delete this.onEnterFrame;
}
function enter_frame_walk() {
fade_loop();
var _local2 = 1;
while (_local2 <= cn) {
switch (_root["game_state_" + _local2]) {
case "playing" :
do_move();
if (cpv.dead) {
return(undefined);
}
set_ground();
attack();
move_bullets();
ladder();
scrolling();
falling();
check_hit();
check_breaks();
drop_items();
water_frame++;
if (water_frame > 30) {
water_frame = 1;
}
break;
case "talking" :
if ((text_num != undefined) && (text_num < text_array.length)) {
message_window.my_text = message_window.my_text + text_array[text_num];
text_num++;
} else if ((curr_block < (block_text.length - 1)) && (message_window.blink == undefined)) {
var _local3 = message_window.attachMovie("blink", "blink", message_window.getNextHighestDepth());
_local3._x = 160;
_local3._y = 195;
}
break;
case "dead" :
_root["p" + _local2].gotoAndStop("die");
if (die_var <= 0) {
init_death();
} else {
die_var--;
}
move_bullets();
break;
case "auto_positioning" :
fade_loop();
positioning();
break;
case "positioning" :
move_camera();
break;
case "bonus" :
bonus_enter_frame();
break;
case "trans" :
bth._x = bth._x - bonus_speed;
break;
case "swimming" :
do_move_swim();
scrolling();
check_roof_hit(cpv);
check_hit();
drop_items();
break;
case "wait" :
break;
case "anim" :
if (my_anim._currentframe >= my_anim._totalframes) {
end_animation();
}
break;
case "death" :
death_enter_frame();
break;
}
_local2++;
}
if (shake_var > 0) {
shake_var--;
var _local3 = Math.floor(shake_var / 5);
if (((_local3 == 0) || (_local3 == 2)) || (_local3 == 4)) {
my_stage._y = my_stage._y - 5;
} else {
my_stage._y = my_stage._y + 5;
}
}
}
function pause_game() {
var _local1 = pause_menu.UI;
lives_text = _local1.lives_output.text;
score_text = _local1.score_output.text;
bullet_text = _local1.bullet_output.text;
bullet_2_text = _local1.bullet_output_2.text;
prev_1 = game_state_1;
prev_2 = game_state_2;
my_stage._visible = false;
message_window._visible = false;
pause_menu.gotoAndStop(2);
game_state_1 = "paused";
game_state_2 = "paused";
}
function unpause_game() {
my_stage._visible = true;
message_window._visible = true;
pause_menu.gotoAndStop(1);
var _local2 = pause_menu.UI;
_local2.lives_output.text = lives_text;
_local2.score_output.text = score_text;
_local2.bullet_output.text = bullet_text;
_local2.bullet_output_2.text = bullet_2_text;
pause_menu.my_health_1.gotoAndStop(Math.ceil(_root.my_health_1 / 20) + 1);
pause_menu.my_health_2.gotoAndStop(Math.ceil(_root.my_health_2 / 20) + 1);
pause_menu.my_money.text = "$" + money;
game_state_1 = prev_1;
game_state_2 = prev_2;
if (game_state == "talking") {
pause_menu._visible = false;
}
}
function do_scroll_x() {
if (small_x) {
return(undefined);
}
my_stage._x = Math.round((-fwd_x) - (_root["p" + cpv]._x - (my_stage_width / 2)));
if (my_stage._x <= (my_stage_width - (map_length * tileWidth))) {
my_stage._x = my_stage_width - (map_length * tileWidth);
}
if (my_stage._x > 0) {
my_stage._x = 0;
}
if (cpv == 1) {
var _local4 = p1f;
if (p1xs < 0) {
_local4 = "left";
} else if (p1xs < 0) {
_local4 = "right";
}
} else {
var _local4 = p2f;
if (p2xs < 0) {
_local4 = "left";
} else if (p2xs < 0) {
_local4 = "right";
}
}
if (((_local4 == "right") && (!(_root[("p" + cpv) + "om"] && (_root[("p" + cpv) + "m"].x_dir == -1)))) || (_root[("p" + cpv) + "om"] && (_root[("p" + cpv) + "m"].x_dir == 1))) {
var _local3 = Math.ceil(((-my_stage._x) + my_stage_width) / tileWidth);
if (_local3 >= map_length) {
_local3 = map_length - 1;
}
var _local5 = _local3 - loop_width;
} else {
var _local3 = Math.floor((-my_stage._x) / tileWidth);
if (_local3 < 0) {
_local3 = 0;
}
var _local5 = _local3 + loop_width;
}
var _local2 = -Math.ceil(my_stage._y / tileHeight);
if (_local2 >= (map_height - loop_height)) {
_local2 = map_height - loop_height;
} else if (_local2 < 0) {
_local2 = 0;
}
add_tiles_x(_local3, _local5, _local2);
}
function add_tiles_x(fwd, my_back, loop_start) {
var _local6 = _root[my_set][stage_num][1];
if (my_stage.call_x != ((loop_start + "x") + fwd)) {
var _local2 = loop_start;
while (_local2 < (loop_start + loop_height)) {
var _local4 = _local6[_local2][fwd];
if (_local4.length > 1) {
if ((my_stage.tile_holder[(("t" + _local2) + "_") + fwd] == undefined) && (_local4[0] != 0)) {
set_tile(fwd, _local2);
}
if (_local4[1] != null) {
generate_item(fwd, _local2);
}
if (_local4[2] != undefined) {
generate_character(fwd, _local2);
}
} else if ((my_stage.tile_holder[(("t" + _local2) + "_") + fwd] == undefined) && (_local4 != 0)) {
set_tile(fwd, _local2);
}
remove_tiles(my_back, _local2);
_local2++;
}
my_stage.call_x = (loop_start + "x") + fwd;
}
}
function do_scroll_y() {
if (small_y) {
return(undefined);
}
if (stage_y == undefined) {
stage_y = my_stage._y;
}
my_stage._y = (-fwd_y) - (_root["p" + cpv]._y - (my_stage_height / 2));
if (my_stage._y <= (my_stage_height - (map_height * tileHeight))) {
my_stage._y = my_stage_height - (map_height * tileHeight);
} else if (my_stage._y >= 0) {
my_stage._y = 0;
}
if (my_stage_height > (tileHeight * map_height)) {
my_stage._y = 0;
}
if (stage_y < my_stage._y) {
var _local7 = -1;
var _local3 = Math.floor((-my_stage._y) / tileHeight);
if (_local3 < 0) {
_local3 = 0;
}
var _local5 = _local3 + loop_height;
} else if (stage_y > my_stage._y) {
var _local7 = 1;
var _local3 = Math.floor((my_stage_height - my_stage._y) / tileHeight);
if (_local3 >= map_height) {
_local3 = map_height - 1;
}
var _local5 = _local3 - loop_height;
} else {
return(undefined);
}
var _local4 = -Math.ceil(my_stage._x / tileWidth);
if (_local4 > (map_length - loop_width)) {
_local4 = map_length - loop_width;
}
if (_local4 < 0) {
_local4 = 0;
}
stage_y = my_stage._y;
if (((_local7 == -1) && (prev_dir == -1)) && (_local3 < (prev_fwd - 1))) {
var _local6 = (prev_fwd - _local3) - 1;
var _local2 = 1;
while (_local2 <= _local6) {
add_tiles_y(_local3 + _local2, _local5 + _local2, _local4);
_local2++;
}
}
add_tiles_y(_local3, _local5, _local4);
prev_fwd = _local3;
prev_dir = _local7;
}
function add_tiles_y(fwd, my_back, loop_start) {
var _local6 = _root[my_set][stage_num][1];
if (my_stage.call_y != ((fwd + "x") + loop_start)) {
var _local2 = loop_start;
while (_local2 < (loop_start + loop_width)) {
var _local4 = _local6[fwd][_local2];
if (_local4.length > 1) {
if ((my_stage.tile_holder[(("t" + fwd) + "_") + _local2] == undefined) && (_local4[0] != 0)) {
set_tile(_local2, fwd);
}
if (_local4[1] != null) {
generate_item(_local2, fwd);
}
if (_local4[2] != undefined) {
generate_character(_local2, fwd);
}
} else if ((my_stage.tile_holder[(("t" + fwd) + "_") + _local2] == undefined) && (_local4 != 0)) {
set_tile(_local2, fwd);
}
remove_tiles(_local2, my_back);
_local2++;
}
my_stage.call_y = (fwd + "x") + loop_start;
}
}
function remove_tiles(t_x, t_y) {
var _local5 = my_stage.tile_holder[(("t" + t_y) + "_") + t_x];
if (_local5 != undefined) {
if (_local5.my_target) {
remove_target(_local5);
}
if (_local5.mover != true) {
removeMovieClip(_local5);
}
}
var _local3 = (("item" + t_y) + "_") + t_x;
if (my_stage.item_holder[_local3] != undefined) {
var _local1 = 0;
while (_local1 < item_array.length) {
if (item_array[_local1] == _local3) {
item_array.splice(_local1, 1);
removeMovieClip(my_stage.item_holder[_local3]);
break;
}
_local1++;
}
}
var _local4 = my_stage.character_holder[(("character" + t_y) + "_") + t_x];
if (_local4 != undefined) {
var _local2 = 0;
while (_local2 < character_array.length) {
switch (_local4.my_type) {
case "follow" :
case "float" :
case "fish" :
break;
}
_local2++;
}
}
}
function do_move() {
if (cpv == 1) {
var _local6 = p1x;
var _local5 = p1y;
} else {
var _local6 = p2x;
var _local5 = p2y;
}
if (_local5 > (map_height * tileHeight)) {
if (((cpv == 1) && (stage_num != 20)) && (stage_num != 23)) {
swim_x = Math.floor(_local6 / tileWidth);
do_sound("puff_sound");
trans_var = "swim";
fade_out("black");
} else {
_root["p" + cpv].s = 0;
change_health(-100, cpv);
}
return(undefined);
}
var _local2 = 1;
while (_local2 <= cn) {
var _local3 = _root["p" + _local2];
if (_local3 != undefined) {
if (_root[("p" + _local2) + "r"]) {
if (_root[("p" + _local2) + "rd"] == "right") {
_root[("p" + _local2) + "xs"] = -recoil_speed;
} else {
_root[("p" + _local2) + "xs"] = recoil_speed;
}
} else if (cpv == _local2) {
if (((!left_down) && (!right_down)) && (_root[("p" + _local2) + "og"] || (_root[("p" + _local2) + "om"]))) {
_local3.gotoAndStop(_root[("p" + _local2) + "w"] + "_static");
dress_char(_local2);
slow_player(_local2);
} else if (left_down && (!_root[("p" + _local2) + "c"])) {
move_hor(-1);
} else if (right_down && (!_root[("p" + _local2) + "c"])) {
move_hor(1);
}
in_game_wall(cpv);
} else {
_local3.gotoAndStop(_root[("p" + _local2) + "w"] + "_static");
dress_char(_local2);
slow_player(_local2);
}
if (_root[("p" + _local2) + "xs"] > max_x_speed) {
_root[("p" + _local2) + "xs"] = max_x_speed;
} else if (_root[("p" + _local2) + "xs"] < (-max_x_speed)) {
_root[("p" + _local2) + "xs"] = -max_x_speed;
}
if (((_local3._x + _root[("p" + _local2) + "xs"]) < hpw) && (_root[("p" + _local2) + "xs"] < 0)) {
_local3._x = hpw;
_root[("p" + _local2) + "xs"] = 0;
} else if (((_local3._x + _root[("p" + _local2) + "xs"]) > ((map_length * tileWidth) - hpw)) && (_root[("p" + _local2) + "xs"] > 0)) {
_local3._x = (map_length * tileWidth) - hpw;
_root[("p" + _local2) + "xs"] = 0;
}
check_roof_hit(_local2);
_local3._x = _root[("p" + _local2) + "x"] + _root[("p" + _local2) + "xs"];
_local3._y = _root[("p" + _local2) + "y"] + _root[("p" + _local2) + "ys"];
_root[("p" + _local2) + "x"] = _root[("p" + _local2) + "x"] + _root[("p" + _local2) + "xs"];
_root[("p" + _local2) + "y"] = _root[("p" + _local2) + "y"] + _root[("p" + _local2) + "ys"];
if (_local3.s > 0) {
_local3.s--;
var _local4 = Math.floor(_local3.s / 5);
if (((_local4 == 0) || (_local4 == 2)) || (_local4 == 4)) {
_local3._alpha = 30;
} else {
_local3._alpha = 100;
}
if ((_local3.s > (25 - recoil_duration)) && (!_root[("p" + _local2) + "c"])) {
_root[("p" + _local2) + "r"] = true;
} else {
_root[("p" + _local2) + "r"] = false;
}
} else {
_local3._alpha = 100;
}
}
_local2++;
}
}
function slow_player(i) {
if (_root[("p" + i) + "og"] && (_root["p" + i] != undefined)) {
_root[("p" + i) + "xs"] = 0;
}
}
function dress_char(i) {
var _local2 = _root["p" + i];
_local2.player_clip.gotoAndStop(_root[("p" + i) + "f"]);
_local2.player_clip.player.weapon_clip.gotoAndStop(_root[("p" + i) + "wv"] + 1);
_local2.player_clip.player.shield_clip.gotoAndStop(_root[("p" + i) + "sv"] + 1);
}
function check_roof_hit(i) {
var _local2 = _root["p" + i];
if ((_root[("p" + i) + "ys"] < 0) && (_local2 != undefined)) {
var _local6 = Math.floor((_root[("p" + i) + "y"] - _local2.player_hit._height) / tileHeight);
var _local8 = Math.floor(((_local2._x - (_local2.player_hit._width / 2)) + 1) / tileWidth);
var _local7 = Math.floor(((_local2._x + (_local2.player_hit._width / 2)) - 1) / tileWidth);
var _local5 = my_stage.tile_holder[(("t" + _local6) + "_") + _local8];
var _local4 = my_stage.tile_holder[(("t" + _local6) + "_") + _local7];
if ((((_local5.solid && (!_local5.ladder)) && (!_local5.cloud)) && (!_local5.mover)) || (((_local4.solid && (!_local4.ladder)) && (!_local4.cloud)) && (!_local4.mover))) {
_root[("p" + i) + "ys"] = 0;
_root[("p" + i) + "y"] = ((_local6 * tileHeight) + tileHeight) + _local2.player_hit._height;
}
if (_local5.spike || (_local4.spike)) {
_root[("p" + i) + "ys"] = 0;
_root[("p" + i) + "y"] = ((_local6 * tileHeight) + tileHeight) + _local2.player_hit._height;
change_health(-10, i);
}
}
}
function set_ground() {
var _local22 = false;
p1om = false;
p1m = undefined;
p2om = false;
p2m = undefined;
var _local8 = 0;
while (_local8 < mover_array.length) {
var _local3 = my_stage.tile_holder[mover_array[_local8]];
if (_local3.path != undefined) {
if (((_local3.lever == null) || (lever_state(_local3.lever))) && (_local3.on_mover != false)) {
var _local16 = false;
var _local17 = false;
var _local19 = _local3.fin[0] * tileWidth;
var _local18 = _local3.fin[1] * tileHeight;
_local3.prevmx = _local3.x_dir;
_local3.prevmy = _local3.y_dir;
if ((((_local3.x_dir == -1) && (_local3._x <= _local19)) || ((_local3.x_dir == 1) && (_local3._x >= _local19))) || (_local3.x_dir == 0)) {
_local16 = true;
}
if ((((_local3.y_dir == -1) && (_local3._y <= _local18)) || ((_local3.y_dir == 1) && (_local3._y >= _local18))) || (_local3.y_dir == 0)) {
_local17 = true;
}
if (_local16 && (_local17)) {
if ((_local3.x_dir != 0) || (_local3.y_dir != 0)) {
_local3.step++;
}
if (_local3.step == _local3.path.length) {
if (_local3.fin_remove) {
_local3.removeMovieClip();
} else {
_local3.step = 0;
if (_local3.fin_stop == undefined) {
change_path(_local3);
}
}
} else {
change_path(_local3);
}
} else {
_local3._x = _local3._x + (move_speed * _local3.x_dir);
_local3._y = _local3._y + (move_speed * _local3.y_dir);
}
} else {
_local3.x_dir = 0;
_local3.y_dir = 0;
}
} else {
if (_local3.falling) {
_local3.y_dir = 1;
var _local21 = _local3._x / tileWidth;
var _local20 = Math.floor(_local3._y / tileHeight) + 1;
var _local13 = map[stage_num][1][_local20][_local21];
if ((_local3._y < ((map_height * tileHeight) - tileHeight)) && ((((_local13 == 0) || (_local13 == 81)) || (_local13 == 90)) || (_local13 == 91))) {
_local3._y = _local3._y + 2;
}
} else {
_local3.y_dir = 0;
}
_local3.x_dir = 0;
}
var _local2 = 1;
while (_local2 <= cn) {
var _local9 = _root["p" + _local2];
if (_root["game_state_" + _local2] != "dead") {
var _local15 = ((_local9.player_hit._width / 2) - Math.abs(_root[("p" + _local2) + "xs"])) - 10;
if ((((((_local9._x + _local15) > _local3._x) && ((_local9._x - _local15) < (_local3._x + _local3._width))) && (_local9._y >= _local3._y)) && ((_local9._y + _root[("p" + _local2) + "ys"]) < (_local3._y + _local3._height))) && (_root[("p" + _local2) + "ys"] > 0)) {
_root[("p" + _local2) + "om"] = true;
_root[("p" + _local2) + "m"] = _local3;
if (_root[("p" + _local2) + "m"].on_mover != undefined) {
_root[("p" + _local2) + "m"].on_mover = true;
}
speech(3);
}
}
_local2++;
}
_local8++;
}
var _local2 = 1;
while (_local2 <= cn) {
var _local9 = _root["p" + _local2];
if ((_root["game_state_" + _local2] != "dead") && (_local9 != undefined)) {
var _local15 = (_local9.player_hit._width / 2) - Math.abs(_root[("p" + _local2) + "xs"]);
var _local12 = Math.floor((_root[("p" + _local2) + "x"] - _local15) / tileWidth);
var _local11 = Math.floor((_root[("p" + _local2) + "x"] + _local15) / tileWidth);
_root[("p" + _local2) + "x"] = _local9._x;
_root[("p" + _local2) + "y"] = _local9._y;
var _local5 = Math.floor(_root[("p" + _local2) + "y"] / tileHeight);
var _local10 = 0;
var _local7 = false;
if (_local2 == cpv) {
if (my_stage.tile_holder[(("t" + _local5) + "_") + _local12].floor_switch) {
on_floor_switch(my_stage.tile_holder[(("t" + _local5) + "_") + _local12], _local2);
} else if (my_stage.tile_holder[(("t" + _local5) + "_") + _local11].floor_switch) {
on_floor_switch(my_stage.tile_holder[(("t" + _local5) + "_") + _local11], _local2);
} else if (_root["on_fs_" + _local2]) {
off_floor_switch(_local2);
}
}
_local8 = _local12;
while (_local8 <= _local11) {
if (!_local7) {
var _local6 = my_stage.tile_holder[(("t" + _local5) + "_") + _local8];
if (_root[("p" + _local2) + "om"]) {
_root[("p" + _local2) + "ys"] = 10;
_root[("p" + _local2) + "og"] = true;
var _local4 = _root[("p" + _local2) + "m"];
if (_local4.prevmx == _local4.x_dir) {
_root[("p" + _local2) + "x"] = _root[("p" + _local2) + "x"] + (move_speed * _local4.x_dir);
_local9._x = _local9._x + (move_speed * _local4.x_dir);
}
if (_local4.path == undefined) {
_local4.falling = true;
var _local14 = 2;
} else if ((_local4.y_dir == -1) && (_local4._y == (_local4.fin[1] * tileHeight))) {
var _local14 = 0;
} else {
var _local14 = move_speed * _local4.y_dir;
}
_root[("p" + _local2) + "y"] = (_local4._y + _local14) - _root[("p" + _local2) + "ys"];
_local7 = true;
} else if ((_local6.solid && (_root[("p" + _local2) + "ys"] >= 0)) && (!_local6.mover)) {
if (_local6.spike) {
_root[("p" + _local2) + "og"] = true;
_root[("p" + _local2) + "y"] = (_local5 * tileHeight) - _root[("p" + _local2) + "ys"];
change_health(-10, _local2);
_local7 = true;
} else if (_local6.spring) {
_root[("p" + _local2) + "og"] = true;
_root[("p" + _local2) + "y"] = (_local5 * tileHeight) - _root[("p" + _local2) + "ys"];
jump(_root[("p" + _local2) + "xs"], -spring_vert, _local2);
_root[("p" + _local2) + "og"] = false;
_local7 = true;
} else if (_local10 == 0) {
_root[("p" + _local2) + "ys"] = 10;
_root[("p" + _local2) + "og"] = true;
_root[("p" + _local2) + "y"] = (_local5 * tileHeight) - _root[("p" + _local2) + "ys"];
_local10++;
}
} else if (_local10 == 0) {
if (cpv != _local2) {
_root[("p" + _local2) + "ys"] = 10;
_root[("p" + _local2) + "og"] = true;
_root[("p" + _local2) + "y"] = (_local5 * tileHeight) - _root[("p" + _local2) + "ys"];
} else {
_root[("p" + _local2) + "og"] = false;
_root[("p" + _local2) + "m"] = null;
}
}
}
_local8++;
}
}
if (_root[("p" + _local2) + "og"]) {
_root[("p" + _local2) + "jv"] = 0;
}
_local2++;
}
}
function in_game_wall(i) {
var _local9 = _root["p" + i];
if (_local9 != undefined) {
var _local7 = Math.floor(_root[("p" + i) + "y"] / tileHeight);
var _local8 = Math.floor(((_root[("p" + i) + "y"] - _local9.player_hit._height) + 10) / tileHeight);
var _local6 = ((_local9.player_hit._width / 2) + Math.abs(_root[("p" + i) + "xs"])) + 5;
if (_root[("p" + i) + "xs"] > 0) {
var _local5 = Math.floor((_root[("p" + i) + "x"] + _local6) / tileWidth);
} else if (_root[("p" + i) + "xs"] < 0) {
var _local5 = Math.floor((_root[("p" + i) + "x"] - _local6) / tileWidth);
} else {
return(undefined);
}
var _local3 = _local8;
while (_local3 <= _local7) {
var _local4 = my_stage.tile_holder[(("t" + _local3) + "_") + _local5];
if ((_local4.solid && (!_local4.mover)) && (!_local4.cloud)) {
if (_root[("p" + i) + "xs"] > 0) {
_root[("p" + i) + "x"] = ((_local5 * tileWidth) - _local6) + 5;
} else if (_root[("p" + i) + "xs"] < 0) {
_root[("p" + i) + "x"] = (((_local5 + 1) * tileWidth) + _local6) - 5;
}
_root[("p" + i) + "xs"] = 0;
}
_local3++;
}
}
}
function ladder() {
var _local2 = _root["p" + cpv];
var _local3 = Math.floor(_root[("p" + cpv) + "x"] / tileWidth);
var _local4 = Math.floor(_root[("p" + cpv) + "y"] / tileHeight);
var _local6 = Math.floor((_root[("p" + cpv) + "y"] - _local2._height) / tileHeight);
var _local8 = Math.floor(_root[("p" + cpv) + "y"] / tileHeight) + 1;
if (up_down) {
var _local10 = Math.floor((_root[("p" + cpv) + "y"] - ladder_speed) / tileHeight);
var _local5 = my_stage.tile_holder[(("t" + _local10) + "_") + _local3];
if ((_local5.my_hit != undefined) && (((_local2.player_hit != undefined) && (!_local2.player_hit.hitTest(_local5.my_hit))) || ((_local2.player_hit == undefined) && (!_local2.hitTest(_local5.my_hit))))) {
_root[("p" + cpv) + "c"] = false;
return(undefined);
}
if (_local5.ladder) {
if (!_root[("p" + cpv) + "c"]) {
_root[("p" + cpv) + "xs"] = 0;
_root[("p" + cpv) + "ys"] = 0;
_root[("p" + cpv) + "c"] = true;
_root[("p" + cpv) + "x"] = (_local3 * tileWidth) + (tileWidth / 2);
} else {
_root[("p" + cpv) + "ys"] = -ladder_speed;
}
} else {
if (_root[("p" + cpv) + "c"]) {
_root[("p" + cpv) + "ys"] = 10;
jump_active = false;
_local2.gotoAndStop(_root[("p" + cpv) + "w"] + "_static");
_local2.player_clip.player.shield_clip.gotoAndStop(_root[("p" + cpv) + "sv"]);
_root[("p" + cpv) + "y"] = (_local4 * tileHeight) - 10;
_root[("p" + cpv) + "og"] = true;
} else {
jump(x_speed, -8, cpv);
}
_root[("p" + cpv) + "c"] = false;
}
} else if (down_down) {
if (_root[("p" + cpv) + "og"] || (_root[("p" + cpv) + "c"])) {
var _local9 = Math.ceil((_local2._y + ladder_speed) / tileHeight);
if (my_stage.tile_holder[(("t" + _local8) + "_") + _local3].ladder && (my_stage.tile_holder[(("t" + _local9) + "_") + _local3].ladder)) {
if (!_root[("p" + cpv) + "c"]) {
_root[("p" + cpv) + "c"] = true;
_root[("p" + cpv) + "xs"] = 0;
_root[("p" + cpv) + "ys"] = ladder_speed;
_root[("p" + cpv) + "x"] = (_local3 * tileWidth) + (tileWidth / 2);
_root[("p" + cpv) + "y"] = _root[("p" + cpv) + "y"] + ladder_speed;
} else {
_root[("p" + cpv) + "ys"] = ladder_speed;
}
} else if (my_stage.tile_holder[(("t" + _local4) + "_") + _local3].ladder && (!_root[("p" + cpv) + "og"])) {
_root[("p" + cpv) + "ys"] = ladder_speed;
} else {
_root[("p" + cpv) + "c"] = false;
if (my_stage.tile_holder[(("t" + _local4) + "_") + _local3].solid) {
_root[("p" + cpv) + "ys"] = ladder_speed;
_local2.gotoAndStop(_root[("p" + cpv) + "w"] + "_static");
_local2.player_clip.player.shield_clip.gotoAndStop(shield_var);
_root[("p" + cpv) + "y"] = (_local4 * tileHeight) - 10;
_root[("p" + cpv) + "og"] = true;
}
}
}
} else if (_root[("p" + cpv) + "c"]) {
_root[("p" + cpv) + "ys"] = 0;
if (left_down) {
if (my_stage.tile_holder[(("t" + _local4) + "_") + _local3].ladder) {
if ((!my_stage.tile_holder[(("t" + _local4) + "_") + _local3].solid) && (!my_stage.tile_holder[(("t" + _local6) + "_") + _local3].solid)) {
var _local7 = Math.floor(((_local2._x - hpw) - 2) / tileWidth);
if (!my_stage.tile_holder[(("t" + _local4) + "_") + _local7].solid) {
_local2._x = _local2._x - (ladder_speed / 2);
}
}
} else {
jump(-jump_hor, jump_vert, cpv);
_root[("p" + cpv) + "c"] = false;
}
} else if (right_down) {
if (my_stage.tile_holder[(("t" + _local4) + "_") + _local3].ladder) {
if ((!my_stage.tile_holder[(("t" + _local4) + "_") + _local3].solid) && (!my_stage.tile_holder[(("t" + _local6) + "_") + _local3].solid)) {
var _local7 = Math.floor(((_local2._x + hpw) + 2) / tileWidth);
if (!my_stage.tile_holder[(("t" + _local4) + "_") + _local7].solid) {
_local2._x = _local2._x + (ladder_speed / 2);
}
}
} else {
jump(jump_hor, jump_vert, cpv);
_root[("p" + cpv) + "c"] = false;
}
}
}
if (_root[("p" + cpv) + "c"]) {
_local2.gotoAndStop("climb");
if (up_down || (down_down)) {
_local2.player_clip.gotoAndStop("climbing");
} else {
_local2.player_clip.gotoAndStop("static");
}
}
}
function scrolling() {
var _local2 = _root["p" + cpv];
if ((_local2._x > (my_stage._x + pos_var)) && (_local2._x < ((map_length * tileWidth) - hpw))) {
do_scroll_x();
}
if (((_local2._y > pos_var) && (down_down)) || (_local2._y < ((map_height * tileHeight) - 30))) {
do_scroll_y();
}
}
function falling() {
var _local2 = 1;
while (_local2 <= cn) {
var _local3 = _root["p" + _local2];
if (((!_root[("p" + _local2) + "og"]) && (!_root[("p" + _local2) + "c"])) && (_root["game_state_" + _local2] != "dead")) {
_root[("p" + _local2) + "xs"] = _root[("p" + _local2) + "xs"] * 0.9;
if (!_root[("p" + _local2) + "r"]) {
_local3.gotoAndStop(_root[("p" + _local2) + "w"] + "_jump");
if (cpv == _local2) {
if (right_down) {
facing = "right";
} else if (left_down) {
facing = "left";
}
}
dress_char(_local2);
}
_root[("p" + _local2) + "ys"] = _root[("p" + _local2) + "ys"] + gravity;
if (_root[("p" + _local2) + "ys"] > 10) {
_root[("p" + _local2) + "ys"] = 10;
}
}
_local2++;
}
}
function move_hor(hor) {
if (_root[("p" + cpv) + "og"]) {
_root[("p" + cpv) + "xs"] = _root[("p" + cpv) + "xs"] + (2 * hor);
jump_active = true;
_root["p" + cpv].gotoAndStop(_root[("p" + cpv) + "w"] + "_walk");
} else {
_root[("p" + cpv) + "xs"] = _root[("p" + cpv) + "xs"] + (hor / 2);
}
if (hor == -1) {
_root[("p" + cpv) + "f"] = "left";
} else if (hor == 1) {
_root[("p" + cpv) + "f"] = "right";
}
dress_char(cpv);
}
function jump(x_speed_var, y_speed_var, i) {
speech(99);
if (i == undefined) {
i = cpv;
}
off_floor_switch(i);
var _local4 = _root["p" + i];
var _local3 = (_local4.player_hit._width / 2) - Math.abs(_root[("p" + i) + "xs"]);
var _local7 = Math.floor((_root[("p" + i) + "x"] - _local3) / tileWidth);
var _local6 = Math.floor((_root[("p" + i) + "x"] + _local3) / tileWidth);
var _local5 = Math.floor(_local4._y / tileHeight);
if (jump_active) {
var _local10 = my_stage.tile_holder[(("t" + _local5) + "_") + _local7];
var _local9 = my_stage.tile_holder[(("t" + _local5) + "_") + _local6];
if (_root[("p" + i) + "og"]) {
if (y_speed_var == (-spring_vert)) {
do_sound("spring_sound");
} else {
do_sound("jump_sound");
}
_root[("p" + i) + "ys"] = y_speed_var;
_root[("p" + i) + "xs"] = x_speed_var;
}
}
}
function do_move_swim() {
if (cpv != 1) {
return(undefined);
}
var _local2 = p1;
if (!_local2._visible) {
return(undefined);
}
if (_root[("p" + cpv) + "r"]) {
_local2.player_clip.gotoAndStop(_root[("p" + cpv) + "rd"]);
_root[("p" + cpv) + "xs"] = 5;
if (_root[("p" + cpv) + "rd"] == "right") {
_root[("p" + cpv) + "xs"] = -recoil_speed;
} else {
_root[("p" + cpv) + "xs"] = recoil_speed;
}
} else {
if ((((!left_down) && (!right_down)) && (!up_down)) && (!down_down)) {
_local2.gotoAndStop("swim_static");
var _local6 = 0.95;
if ((_root[("p" + cpv) + "xs"] > 0.5) || (_root[("p" + cpv) + "xs"] < -0.5)) {
_root[("p" + cpv) + "xs"] = _root[("p" + cpv) + "xs"] * _local6;
}
if ((_root[("p" + cpv) + "ys"] > 0.5) || (_root[("p" + cpv) + "ys"] < -0.5)) {
_root[("p" + cpv) + "ys"] = _root[("p" + cpv) + "ys"] * _local6;
}
} else {
var _local7 = 0.5;
if (left_down) {
_root[("p" + cpv) + "xs"] = _root[("p" + cpv) + "xs"] - _local7;
_root[("p" + cpv) + "f"] = "left";
} else if (right_down) {
_root[("p" + cpv) + "xs"] = _root[("p" + cpv) + "xs"] + _local7;
_root[("p" + cpv) + "f"] = "right";
}
if (up_down) {
_root[("p" + cpv) + "ys"]--;
} else if (down_down) {
_root[("p" + cpv) + "ys"]++;
}
_local2.gotoAndStop("swim_move");
}
_local2.player_clip.gotoAndStop(_root[("p" + cpv) + "f"]);
}
if (_root[("p" + cpv) + "xs"] > max_x_speed) {
_root[("p" + cpv) + "xs"] = max_x_speed;
} else if (_root[("p" + cpv) + "xs"] < (-max_x_speed)) {
_root[("p" + cpv) + "xs"] = -max_x_speed;
}
if (((_local2._x + _root[("p" + cpv) + "xs"]) < hpw) && (_root[("p" + cpv) + "xs"] < 0)) {
_local2._x = hpw;
_root[("p" + cpv) + "xs"] = 0;
} else if (((_local2._x + _root[("p" + cpv) + "xs"]) > ((map_length * tileWidth) - hpw)) && (_root[("p" + cpv) + "xs"] > 0)) {
_local2._x = (map_length * tileWidth) - hpw;
_root[("p" + cpv) + "xs"] = 0;
}
var _local3 = max_x_speed;
if (_root[("p" + cpv) + "ys"] > _local3) {
_root[("p" + cpv) + "ys"] = _local3;
} else if (_root[("p" + cpv) + "ys"] < (-_local3)) {
_root[("p" + cpv) + "ys"] = -_local3;
}
if ((((_local2._y - _local2._height) + _root[("p" + cpv) + "ys"]) < 0) && (_root[("p" + cpv) + "ys"] < 0)) {
_local2._y = _local2._height;
_root[("p" + cpv) + "ys"] = 0;
} else if (((_local2._y + _root[("p" + cpv) + "ys"]) > (map_height * tileHeight)) && (_root[("p" + cpv) + "ys"] > 0)) {
_local2._y = map_height * tileHeight;
_root[("p" + cpv) + "ys"] = 0;
}
in_game_wall(cpv);
set_ground_swim();
_local2._x = _root[("p" + cpv) + "x"] + _root[("p" + cpv) + "xs"];
_local2._y = _root[("p" + cpv) + "y"] + _root[("p" + cpv) + "ys"];
_root[("p" + cpv) + "x"] = _root[("p" + cpv) + "x"] + _root[("p" + cpv) + "xs"];
_root[("p" + cpv) + "y"] = _root[("p" + cpv) + "y"] + _root[("p" + cpv) + "ys"];
if (_local2.s > 0) {
_local2.s--;
var _local4 = Math.floor(_local2.s / 5);
if (((_local4 == 0) || (_local4 == 2)) || (_local4 == 4)) {
_local2._alpha = 30;
} else {
_local2._alpha = 100;
}
if ((_local2.s > (25 - recoil_duration)) && (!_root[("p" + cpv) + "c"])) {
_root[("p" + cpv) + "r"] = true;
} else {
_root[("p" + cpv) + "r"] = false;
}
} else {
_local2._alpha = 100;
}
if (bubble_count == undefined) {
bubble_count = 0;
}
bubble_count++;
if (bubble_count >= 90) {
var _local5 = my_stage.attachMovie("swim_bubble", "swim_bubble", my_stage.getNextHighestDepth());
_local5._x = _local2._x;
_local5._y = _local2._y - 15;
bubble_count = 0;
}
}
function set_ground_swim() {
if ((_root["game_state_" + cpv] != "dead") && (_root[("p" + cpv) + "ys"] > 0)) {
var _local7 = p1;
_root[("p" + cpv) + "x"] = _local7._x;
_root[("p" + cpv) + "y"] = _local7._y;
var _local8 = _local7.player_hit._width / 2;
var _local6 = Math.floor((((_root[("p" + cpv) + "x"] - _local8) + _root[("p" + cpv) + "xs"]) + 5) / tileWidth);
var _local5 = Math.floor(((_root[("p" + cpv) + "x"] + _local8) + _root[("p" + cpv) + "xs"]) / tileWidth);
var _local4 = Math.floor(((_root[("p" + cpv) + "y"] + _root[("p" + cpv) + "ys"]) + 5) / tileHeight);
var _local3 = _local6;
while (_local3 <= _local5) {
var _local2 = my_stage.tile_holder[(("t" + _local4) + "_") + _local3];
if (_local2.solid && (!_local2.mover)) {
if (_local2.spike || (_local2.death)) {
change_health(-100, cpv);
}
_root[("p" + cpv) + "ys"] = 0;
_root[("p" + cpv) + "y"] = (_local4 * tileHeight) - 5;
}
_local3++;
}
}
}
function swim_stage() {
switch (stage_num) {
case 5 :
change_stage(6, swim_x, 2);
return;
case 16 :
change_stage(17, 6, 1);
return;
case 27 :
change_stage(28, 3, 4);
return;
default :
trace("error swimming");
}
}
function lever_state(lever_name) {
if (((on_fs_1 && (my_floor_switch_1 == lever_name)) || (on_fs_2 && (my_floor_switch_2 == lever_name))) || (zombie_on_lever(lever_name))) {
return(true);
}
var _local1 = 0;
while (_local1 < lever_array.length) {
if (lever_name == lever_array[_local1][0]) {
return(lever_array[_local1][1]);
}
_local1++;
}
return(false);
}
function zombie_on_lever(lever_name) {
i = 0;
while (i < character_array.length) {
var _local1 = my_stage.character_holder[character_array[i]];
if (_local1.my_type == "zombie") {
if (_local1.my_lever == lever_name) {
return(true);
}
}
i++;
}
return(false);
}
function add_lever(clip) {
var _local1 = 0;
while (_local1 < lever_array.length) {
if (clip._name == lever_array[_local1][0]) {
if (lever_array[_local1][1]) {
my_stage.tile_holder[clip._name].gotoAndStop(2);
}
return(undefined);
}
_local1++;
}
lever_array.push([clip._name, false]);
}
function check_levers() {
var _local2 = 0;
while (_local2 < lever_array.length) {
var _local4 = _root["p" + cpv];
var _local3 = my_stage.tile_holder[lever_array[_local2][0]];
if (_local3 != undefined) {
if (_local3.my_hit.hitTest(_local4) || ((_local3.my_hit == undefined) && (_local3.hitTest(_local4)))) {
do_sound("lever_sound");
if (!lever_array[_local2][1]) {
_local3.gotoAndStop(2);
lever_array[_local2][1] = true;
} else {
_local3.gotoAndStop(1);
lever_array[_local2][1] = false;
}
change_targets(lever_array[_local2]);
return(undefined);
}
}
_local2++;
}
}
function check_breaks() {
var _local7 = _root[("p" + cpv) + "w"];
if (!firing) {
return(undefined);
}
if ((!_root[_local7 + "_type"]) == "strike") {
return(undefined);
}
var _local3 = _root["p" + cpv];
var _local2 = _local3.player_clip.player.strike_hit;
if (_local2._x == undefined) {
return(undefined);
}
var _local9 = Math.floor((_local3._x + _local2._x) / tileWidth);
var _local8 = Math.floor(((_local3._x + _local2._x) + _local2._width) / tileWidth);
var _local4 = Math.floor((_local3._y + _local2._y) / tileHeight);
var _local6 = my_stage.tile_holder[(("t" + _local4) + "_") + _local9];
var _local5 = my_stage.tile_holder[(("t" + _local4) + "_") + _local8];
if (_local6.breakable) {
break_tile(_local6);
}
if (_local5.breakable) {
break_tile(_local5);
}
}
function add_door(clip) {
door_array.push(clip);
}
function check_doors() {
speech(99);
var _local2 = 0;
while (_local2 < door_array.length) {
var _local3 = door_array[_local2];
if ((_root[("p" + cpv) + "og"] || (_root["game_state_" + cpv] == "swimming")) && (_local3.my_hit.hitTest(_root["p" + cpv]))) {
open_door(_local3);
firing = false;
}
_local2++;
}
}
function open_door(door) {
if (cpv == 1) {
if ((((stage_num == 12) && (door.my_x == 6)) && (door.my_y == 12)) || (((stage_num == 24) && (door.my_x == 3)) && (door.my_y == 17))) {
return(undefined);
}
}
if (_root.fade_in_black != undefined) {
return(undefined);
}
door_var = door._name;
door_boolean = true;
door.gotoAndPlay("open");
if (door.my_sound != undefined) {
do_sound(door.my_sound);
}
my_stage.tile_holder[(("t" + door.my_y) + "_") + (door.my_x + 1)].gotoAndPlay("open");
my_stage.tile_holder[(("t" + (door.my_y + 1)) + "_") + door.my_x].gotoAndPlay("open");
my_stage.tile_holder[(("t" + (door.my_y + 1)) + "_") + (door.my_x + 1)].gotoAndPlay("open");
_root["p" + cpv]._visible = false;
}
function door_result() {
if (door_boolean) {
trans_var = "door";
fade_out("black");
door_boolean = false;
}
}
function go_door(door) {
my_door = my_stage.tile_holder[door];
fwd_x = 0;
fwd_y = 0;
goal_x = -Math.round((my_door._x + tileWidth) - (my_stage_width / 2));
if (goal_x > 0) {
goal_x = 0;
} else if (goal_x < (my_stage_width - (map_length * tileWidth))) {
goal_x = my_stage_width - (map_length * tileWidth);
}
goal_y = (my_door._y + (tileHeight * 2)) + 100;
if (goal_y <= (my_stage_height - (map_height * tileHeight))) {
goal_y = my_stage_height - (map_height * tileHeight);
} else if (goal_y >= 0) {
goal_y = 0;
}
cxs = Math.round((goal_x - my_stage._x) / 10);
cys = Math.round((goal_y - my_stage._y) / 10);
prev_state = _root["game_state_" + cpv];
_root["game_state_" + cpv] = "positioning";
}
function exit_door() {
_root["p" + cpv]._visible = true;
my_door.gotoAndPlay("open");
_root["game_state_" + cpv] = "playing";
}
function fade_out(col) {
fade_col = col;
fade_dir = "out";
if (trans_var != "anim") {
prev_state = _root["game_state_" + cpv];
}
_root["game_state_" + cpv] = "trans";
_root.attachMovie("fade_out_" + col, "fade_out", _root.getNextHighestDepth());
}
function end_fade() {
if (fade_dir == "out") {
switch (trans_var) {
case "shop" :
leave();
break;
case "bonus" :
do_bonus();
break;
case "bonus_out" :
end_bonus();
break;
case "swim" :
swim_stage();
break;
case "death" :
restart_stage();
break;
case "door" :
switch (stage_num) {
case 2 :
switch (door_var) {
case "t8_5" :
change_stage(3, 5, 9);
break;
default :
change_stage(4, 23, 10);
}
break;
case 3 :
switch (door_var) {
case "t2_3" :
change_stage(4, 12, 10);
break;
default :
change_stage(2, 5, 9);
}
break;
case 4 :
switch (door_var) {
case "t9_12" :
change_stage(3, 3, 3);
break;
default :
change_stage(2, 20, 9);
}
break;
case 5 :
switch (door_var) {
case "t2_57" :
change_stage(11, 13, 7);
break;
default :
init_shop();
}
break;
case 6 :
switch (door_var) {
case "t10_16" :
change_stage(7, 4, 5);
break;
case "t8_21" :
change_stage(8, 4, 8);
break;
case "t10_37" :
change_stage(9, 4, 5);
break;
case "t2_39" :
change_stage(10, 3, 6);
break;
case "t2_56" :
change_stage(11, 9, 7);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
}
break;
case 7 :
change_stage(6, 16, 10);
break;
case 8 :
change_stage(6, 21, 8);
break;
case 9 :
change_stage(6, 37, 10);
break;
case 10 :
switch (door_var) {
case "t5_3" :
change_stage(6, 39, 2);
break;
case "t5_7" :
change_stage(11, 18, 3);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
}
break;
case 11 :
switch (door_var) {
case "t6_9" :
change_stage(6, 56, 2);
break;
case "t6_13" :
change_stage(5, 57, 3);
break;
case "t2_18" :
change_stage(10, 7, 5);
default :
trace((("error fading: " + stage_num) + ",") + door_var);
}
break;
case 12 :
switch (door_var) {
case "t12_6" :
change_stage(13, 2, 13);
break;
case "t12_15" :
change_stage(13, 24, 13);
break;
case "t1_20" :
change_stage(12, 24, 13);
break;
case "t12_24" :
change_stage(12, 20, 1);
break;
default :
exit_door();
}
break;
case 13 :
switch (door_var) {
case "t12_24" :
change_stage(12, 15, 13);
break;
case "t3_54" :
change_stage(14, 2, 13);
break;
default :
exit_door();
}
break;
case 14 :
switch (door_var) {
case "t12_1" :
change_stage(13, 54, 4);
break;
default :
}
break;
case 15 :
init_shop();
break;
case 16 :
switch (door_var) {
case "t9_15" :
change_stage(18, 4, 30);
break;
case "t9_3" :
change_stage(18, 14, 30);
break;
case "t5_3" :
change_stage(18, 14, 25);
break;
case "t41_15" :
init_shop();
break;
case "t41_3" :
change_stage(16, 4, 37);
break;
case "t36_4" :
change_stage(16, 3, 42);
break;
case "t22_15" :
change_stage(16, 15, 17);
break;
case "t16_15" :
change_stage(16, 15, 23);
break;
case "t16_3" :
change_stage(18, 4, 6);
}
break;
case 17 :
change_stage(18, 4, 26);
break;
case 18 :
switch (door_var) {
case "t25_4" :
change_stage(17, 17, 3);
break;
case "t30_4" :
change_stage(16, 15, 10);
break;
case "t30_14" :
change_stage(16, 3, 10);
break;
case "t25_14" :
change_stage(16, 3, 6);
break;
case "t5_4" :
change_stage(16, 3, 17);
break;
case "t16_4" :
change_stage(18, 14, 6);
break;
case "t5_14" :
change_stage(18, 4, 17);
}
break;
case 20 :
switch (door_var) {
case "t11_62" :
init_shop();
break;
case "t11_73" :
change_stage(21, 4, 22);
break;
case "t4_73" :
change_stage(21, 6, 3);
break;
case "t11_93" :
change_stage(22, 4, 22);
break;
case "t4_93" :
change_stage(22, 4, 22);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
}
break;
case 21 :
switch (door_var) {
case "t21_4" :
change_stage(20, 73, 12);
break;
case "t2_6" :
change_stage(20, 73, 5);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
}
break;
case 22 :
switch (door_var) {
case "t21_4" :
change_stage(20, 93, 12);
break;
default :
change_stage(20, 93, 5);
}
break;
case 24 :
switch (door_var) {
case "t17_3" :
change_stage(25, 2, 2);
break;
case "t11_15" :
change_stage(27, 15, 13);
break;
case "1_11" :
change_stage(29, 24, 10);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
exit_door();
}
break;
case 25 :
switch (door_var) {
case "t1_2" :
change_stage(24, 3, 18);
break;
case "t12_16" :
change_stage(26, 2, 13);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
exit_door();
}
break;
case 26 :
switch (door_var) {
case "t12_2" :
change_stage(25, 16, 13);
break;
case "t3_2" :
change_stage(27, 2, 4);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
exit_door();
}
break;
case 27 :
switch (door_var) {
case "t3_2" :
change_stage(26, 2, 4);
break;
case "t12_15" :
change_stage(24, 15, 12);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
exit_door();
}
break;
case 28 :
change_stage(29, 1, 10);
break;
case 29 :
switch (door_var) {
case "t10_1" :
change_stage(28, 23, 10);
break;
case "t10_24" :
change_stage(24, 11, 1);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
exit_door();
}
break;
case 30 :
switch (door_var) {
case "t11_4" :
change_stage(31, 1, 13);
break;
case "t5_4" :
change_stage(31, 1, 4);
break;
case "t4_13" :
change_stage(31, 16, 5);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
exit_door();
}
break;
case 31 :
switch (door_var) {
case "t12_1" :
change_stage(30, 4, 12);
break;
case "t4_1" :
change_stage(30, 4, 5);
break;
case "t4_16" :
change_stage(30, 13, 5);
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
exit_door();
}
break;
default :
trace((("error fading: " + stage_num) + ",") + door_var);
exit_door();
}
break;
case "char" :
var _local3 = Math.floor(_root[("p" + cpv) + "x"] / tileWidth);
var _local2 = Math.floor(_root[("p" + cpv) + "y"] / tileHeight);
change_stage(_root[("p" + cpv) + "s"], _local3, _local2);
break;
case "troll" :
change_stage(12, 33, 13);
break;
case "anim" :
end_animation();
break;
default :
trace("error fade: " + trans_var);
}
fade_in();
}
}
function fade_in() {
fade_dir = "in";
_root.attachMovie("fade_in_" + fade_col, "fade_in_" + fade_col, _root.getNextHighestDepth());
}
function move_position(svx, svy, evx, evy) {
fwd_x = 0;
fwd_y = 0;
var _local2 = my_stage_width / 2;
if (svx < _local2) {
svx = _local2;
}
if (evx < _local2) {
evx = _local2;
}
if (svx > ((map_length * tileWidth) - _local2)) {
svx = (map_length * tileWidth) - _local2;
}
if (evx > ((map_length * tileWidth) - _local2)) {
evx = (map_length * tileWidth) - _local2;
}
_local2 = my_stage_height / 2;
if (svy < _local2) {
svy = _local2;
}
if (evy < _local2) {
evy = _local2;
}
if (svy > (((map_height * tileHeight) - _local2) - 10)) {
svy = ((map_height * tileHeight) - _local2) - 10;
}
if (evy > (((map_height * tileHeight) - _local2) - 10)) {
evy = ((map_height * tileHeight) - _local2) - 10;
}
goal_x = -Math.floor(evx - svx);
goal_y = -Math.floor(evy - svy);
if ((((goal_x < 200) && (goal_x > -200)) && (goal_y < 200)) && (goal_y > -200)) {
cam_steps = 10;
} else {
cam_steps = 20;
}
cxs = goal_x / cam_steps;
cys = goal_y / cam_steps;
cam_count = 0;
prev_state = _root["game_state_" + cpv];
_root["game_state_" + cpv] = "positioning";
}
function move_camera() {
var _local4 = false;
var _local5 = false;
if (cxs > 0) {
my_stage._x = my_stage._x + cxs;
var _local3 = Math.ceil(((-my_stage._x) + my_stage_width) / tileWidth);
var _local2 = Math.floor((-my_stage._x) / tileWidth);
} else if (cxs < 0) {
my_stage._x = my_stage._x + cxs;
var _local2 = Math.ceil(((-my_stage._x) + my_stage_width) / tileWidth);
var _local3 = Math.floor((-my_stage._x) / tileWidth) - 1;
}
if (_local2 != undefined) {
var _local1 = -Math.ceil(my_stage._y / tileHeight);
if (_local1 >= (map_height - loop_height)) {
_local1 = map_height - loop_height;
}
if (_local1 < 0) {
_local1 = 0;
}
add_tiles_x(_local2, _local3, _local1);
var _local2;
}
if (cys < 0) {
my_stage._y = my_stage._y + cys;
var _local2 = Math.floor((my_stage_height - my_stage._y) / tileHeight);
var _local3 = _local2 - loop_height;
} else if (cys > 0) {
my_stage._y = my_stage._y + cys;
var _local2 = Math.floor((-my_stage._y) / tileHeight);
var _local3 = _local2 + loop_height;
}
if (_local2 != undefined) {
var _local1 = -Math.ceil(my_stage._x / tileWidth);
if (_local1 > (map_length - loop_width)) {
_local1 = map_length - loop_width;
}
if (_local1 < 0) {
_local1 = 0;
}
add_tiles_y(_local2, _local3, _local1);
prev_fwd = _local2;
prev_dir = dir;
}
cam_count++;
if (cam_count >= (cam_steps - 1)) {
end_camera();
}
}
function end_camera() {
_root["game_state_" + cpv] = prev_state;
_root["p" + cpv].indicator.play();
pause_menu["face_" + cpv]._alpha = 100;
if (cpv == 1) {
pause_menu.face_2._alpha = 50;
} else {
pause_menu.face_1._alpha = 50;
}
}
function do_animation() {
var _local2 = false;
_local2 = true;
if (!_local2) {
return(undefined);
}
prev_state = _root["game_state_" + cpv];
_root["game_state_" + cpv] = "anim";
if (anim_var == undefined) {
anim_var = stage_num;
} else {
if (anim_var >= stage_num) {
end_animation();
return(undefined);
}
anim_var++;
}
my_anim = _root.attachMovie("anim_" + stage_num, "my_anim", _root.getNextHighestDepth());
}
function end_animation() {
build_map();
if (stage_num == 32) {
do_loop("boss_loop");
}
removeMovieClip(my_anim);
_root["game_state_" + cpv] = prev_state;
}
function dress_anim(an) {
my_anim["p" + an].player_clip.player.weapon_clip.gotoAndStop(_root[("p" + an) + "wv"] + 1);
my_anim["p" + an].player_clip.player.shield_clip.gotoAndStop(_root[("p" + an) + "sv"] + 1);
}
function do_bonus() {
prev_state = _root["game_state_" + cpv];
_root["game_state_" + cpv] = "bonus";
prev_loop = my_loop;
do_loop("bonus_loop");
door_var = undefined;
bonus_width = 50;
bonus_playing = true;
bonus_speed = 10;
bonus_var = undefined;
bonus_array = new Array();
bonus_end_var = 0;
up_down = (down_down = (enter_down = (left_down = (right_down = false))));
bonus = _root.createEmptyMovieClip("bonus_container", _root.getNextHighestDepth());
bonus.attachMovie("bonus_back", "bonus_back", bonus.getNextHighestDepth());
bth = bonus.createEmptyMovieClip("bth", bonus.getNextHighestDepth());
bth._x = 800;
bc = bonus.attachMovie("bonus_char", "bonus_char", bonus.getNextHighestDepth());
bc.bonus_head.gotoAndStop(cpv);
bc._x = 100;
bc._y = (my_stage_height / 2) - bc._height;
bonus_bar = bonus.attachMovie("bonus_bar", "bonus_bar", bonus.getNextHighestDepth());
bonus_bar.gotoAndStop(bonus_count);
_root.attachMovie("fade_in_" + fade_col, "fade_in", _root.getNextHighestDepth());
if (bonus_stage == undefined) {
bonus_stage = 0;
}
bonus_count = 300;
if (bonus_stage == 0) {
bonus_count = 500;
}
_root.attachMovie("bonus_header", "bonus_header", _root.getNextHighestDepth());
}
function bonus_enter_frame() {
var _local9 = 5;
if (bonus_playing) {
if (up_down && ((bc._y - _local9) > 30)) {
bc._y = bc._y - _local9;
} else if (down_down && (bc._y < (my_stage_height - 100))) {
bc._y = bc._y + _local9;
}
if (right_down && (bc._x < (my_stage_width - 100))) {
bc._x = bc._x + _local9;
} else if (left_down && (bc._x > 30)) {
bc._x = bc._x - _local9;
}
var _local1 = 0;
while (_local1 < bonus_array.length) {
var _local3 = bonus_array[_local1];
if (bc.my_hit.hitTest(_local3)) {
switch (_local3.my_var) {
case 1 :
var _local6 = Math.floor(Math.random() * 9) + 1;
add_money(_local3, _local6);
do_sound("coin_sound");
break;
case 3 :
bonus_count = 0;
do_sound("bonus_sound");
break;
case 5 :
bonus_count = bonus_count + 20;
do_sound("spring_sound");
break;
}
_local3.removeMovieClip();
}
_local1++;
}
if (bonus_count <= 1) {
bonus_playing = false;
trans_var = "bonus_out";
fade_out("white");
if (bonus_stage > 6) {
bonus_stage++;
if (bonus_stage >= bonus_map.length) {
bonus_stage = 7;
}
}
} else if (bth._x < 0) {
bonus_count--;
}
bonus_bar.gotoAndStop(Math.ceil(bonus_count / 3));
} else {
var _local13 = 100;
var _local10 = (my_stage_height / 2) - bc._height;
var _local8 = 3;
if ((bc._y - _local8) > _local10) {
bc._y = bc._y - _local8;
} else if ((bc._y + _local8) < _local10) {
bc._y = bc._y + _local8;
} else {
var _local11 = true;
}
if ((bc._x + _local8) < _local10) {
bc._x = bc._x + _local8;
} else if ((bc._x - _local8) > _local10) {
bc._x = bc._x - _local8;
} else {
var _local12 = true;
}
if (_local11 && (_local12)) {
if (bonus_end_var == 0) {
if (bth.special == undefined) {
var _local2 = bth.attachMovie("bonus_" + bonus_stage, "special", bth.getNextHighestDepth());
_local2._x = (Math.floor((-bth._x) / bonus_width) * bonus_width) + my_stage_width;
_local2._y = _local10 + tileHeight;
} else if (bth.special.hitTest(bc)) {
bth.special.removeMovieClip();
stopAllSounds();
do_sound("bonus_sound");
bonus_end_var++;
}
} else {
bonus_end_var++;
if (bonus_end_var > 40) {
trans_var = "bonus_out";
fade_out("white");
bonus_end_var++;
bonus_stage++;
}
}
}
}
var _local7 = bonus_map[bonus_stage];
var _local5 = Math.floor((-bth._x) / bonus_width);
if (_local5 != bonus_var) {
var _local1 = 0;
while (_local1 < _local7.length) {
var _local4 = _local7[_local1][_local5];
if (_local4 != 0) {
var _local2 = bth.attachMovie("item_" + _local4, (("i" + _local1) + "_") + _local5, bth.getNextHighestDepth());
_local2.my_var = _local4;
_local2._x = (_local5 * bonus_width) + my_stage_width;
_local2._y = (_local1 * tileHeight) + 50;
bonus_array.push(_local2);
}
_local1++;
}
bonus_var = _local5;
}
if (_local5 >= (_local7[0].length + ((my_stage_width / bonus_width) * 2))) {
bonus_playing = false;
}
bth._x = bth._x - bonus_speed;
}
function end_bonus() {
bonus.removeMovieClip();
bonus = undefined;
up_down = (right_down = (left_down = (down_down = false)));
_root["game_state_" + cpv] = "playing";
do_loop(prev_loop);
}
function init_death() {
prev_loop = my_loop;
do_loop("bonus_loop");
enter_down = false;
_root["on_fs_" + cpv] = false;
_root["game_state_" + cpv] = "death";
death = _root.createEmptyMovieClip("death_container", _root.getNextHighestDepth());
var _local2 = death.attachMovie("bonus_back", "bonus_back", death.getNextHighestDepth());
_local2.c1.stop();
_local2.c2.stop();
_local2.c3.stop();
var _local3 = death.attachMovie("death_char_" + cpv, "p", death.getNextHighestDepth());
dp = death.p.player_clip.player;
dia = new Array();
daa = new Array();
a_count = 10;
_local3.my_text.text = "x " + a_count;
a_hits = 0;
dc = 0;
}
function death_enter_frame() {
var _local4 = false;
var _local3 = 0;
while (_local3 < daa.length) {
var _local1 = daa[_local3];
if (_local1._x != undefined) {
_local4 = true;
if (_local1._x > (_local1._width + Stage.width)) {
_local1.removeMovieClip();
}
var _local2 = 0;
while (_local2 < dia.length) {
var _local5 = dia[_local2];
if (_local1.my_hit.hitTest(_local5.my_hit)) {
_local1.removeMovieClip();
_local5.removeMovieClip();
do_sound("coin_sound");
a_hits++;
}
_local2++;
}
_local1._x = _local1._x + 8;
}
_local3++;
}
_local3 = 0;
while (_local3 < dia.length) {
var _local5 = dia[_local3];
_local5._y = _local5._y - 2;
if (_local5._y < (-_local5._height)) {
_local5.removeMovieClip();
}
_local3++;
}
dc--;
if (dc <= 0) {
var _local5 = death.attachMovie("item_2", "h" + dia.length, death.getNextHighestDepth());
_local5._x = Math.round(Math.random() * 300) + 200;
_local5._y = Stage.height + _local5._height;
dia.push(_local5);
dc = Math.round(Math.random() * 100);
}
if ((!_local4) && (a_count == 0)) {
end_death();
}
if ((dp.bow_clip._currentframe == dp.bow_clip._totalframes) && (dp.bow_clip != undefined)) {
dp.gotoAndStop(1);
}
}
function death_arrow() {
if (a_count <= 0) {
return(undefined);
}
dp.gotoAndStop(2);
dp.bow_clip.gotoAndPlay(1);
var _local1 = death.attachMovie("bow1", "a" + daa.length, death.getNextHighestDepth());
_local1._x = 50;
_local1._y = 160;
daa.push(_local1);
a_count--;
death.p.my_text.text = "x " + a_count;
do_sound("bow_sound");
}
function end_death() {
dia = undefined;
daa = undefined;
dp = undefined;
a_count = undefined;
trans_var = "death";
fade_out("white");
}
function restart_stage() {
death.removeMovieClip();
prev_state = "playing";
if (a_hits == 0) {
a_hits++;
}
a_hits = a_hits * 10;
if (a_hits != undefined) {
change_health(a_hits, cpv);
}
a_hits = undefined;
if (_root["flag_x_" + cpv] != undefined) {
change_stage(_root["flag_s_" + cpv], _root["flag_x_" + cpv], _root["flag_y_" + cpv]);
} else {
init_stage(stage_num);
}
}
function collect_flag(item) {
_root["flag_x_" + cpv] = Math.floor(item._x / tileWidth);
_root["flag_y_" + cpv] = Math.floor(item._y / tileHeight);
_root["flag_s_" + cpv] = _root[("p" + cpv) + "s"];
}
function add_mover(clip, info, my_step) {
if (info[4] != undefined) {
clip.path = new Array();
var _local1 = 0;
while (_local1 < info[4].length) {
clip.path.push(info[4][_local1]);
_local1++;
}
clip.path.push([info[0], info[1]]);
}
clip.lever = info[3];
if (info[5] == 1) {
clip.on_mover = false;
clip.fin_stop = true;
clip.fin_remove = true;
}
if (info[4] != undefined) {
if (my_step == undefined) {
clip.step = clip.path.length - 1;
} else {
clip.step = my_step;
}
change_path(clip);
}
mover_array.push(clip._name);
place_custom(clip.my_x, clip.my_y);
}
function place_custom(cx, cy) {
var _local1 = 0;
switch (stage_num) {
case 3 :
_local1 = 3;
break;
case 16 :
_local1 = 70;
break;
case 21 :
case 22 :
_local1 = 64;
break;
case 24 :
case 30 :
_local1 = 93;
break;
case 31 :
_local1 = 90;
break;
case 32 :
_local1 = 91;
break;
default :
return(undefined);
}
var _local2 = my_stage.tile_holder.attachMovie("tile_" + _local1, (("t" + cy) + "_") + cx, cx + (cy * map_length));
_local2._x = cx * tileWidth;
_local2._y = cy * tileHeight;
}
function change_path(clip) {
if (clip.path.length == 1) {
clip.x_dir = 0;
clip.y_dir = 0;
return(undefined);
}
clip.my_begin = clip.path[clip.step];
if (clip.step < (clip.path.length - 1)) {
clip.fin = clip.path[clip.step + 1];
} else {
clip.fin = clip.path[0];
}
if (clip.my_begin[0] > clip.fin[0]) {
clip.x_dir = -1;
} else if (clip.my_begin[0] < clip.fin[0]) {
clip.x_dir = 1;
} else {
clip.x_dir = 0;
}
if (clip.my_begin[1] > clip.fin[1]) {
clip.y_dir = -1;
} else if (clip.my_begin[1] < clip.fin[1]) {
clip.y_dir = 1;
} else {
clip.y_dir = 0;
}
if ((clip.x_dir == 0) && (clip.y_dir == 0)) {
clip.step++;
if (clip.step == clip.path.length) {
clip.step = 0;
}
change_path(clip);
}
}
function remember_movers() {
if (_root[my_set][stage_num][2].length == 0) {
return(undefined);
}
if (stage_num == 31) {
return(undefined);
}
_root["mover_array_" + stage_num] = new Array();
var _local5 = _root["mover_array_" + stage_num];
var _local4 = _root[my_set][stage_num][2];
var _local3 = 0;
while (_local3 < _local4.length) {
var _local2 = my_stage.tile_holder[(("m" + _local4[_local3][1]) + "_") + _local4[_local3][0]];
_local5.push([_local2._x, _local2._y, _local2.step, _local2.falling]);
_local3++;
}
_root["mover_array_" + stage_num] = _local5;
}
function remove_quotes(s) {
if (s.substring(0, 1) == "'") {
my_string = s;
var _local2 = my_string.substring(1, my_string.length - 1);
return(_local2);
}
return(s);
}
function add_target(clip, lever) {
var _local1 = 0;
while (_local1 < target_array.length) {
if (clip == target_array[_local1][0]) {
return(undefined);
}
_local1++;
}
target_array.push([clip, lever]);
}
function change_targets(my_lever) {
var _local1 = 0;
while (_local1 < target_array.length) {
if (target_array[_local1][1] == my_lever[0]._name) {
var _local2 = my_stage.tile_holder[target_array[_local1][0]];
var _local4 = _local2._x / tileWidth;
var _local3 = _local2._y / tileHeight;
set_tile(_local4, _local3);
}
_local1++;
}
}
function remove_target(clip) {
var _local1 = 0;
while (_local1 < target_array.length) {
if (clip._name == target_array[_local1][0]) {
target_array.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
function on_floor_switch(my_switch, pv) {
if (!_root["on_fs_" + pv]) {
do_sound("lever_sound");
_root["on_fs_" + pv] = true;
_root["my_floor_switch_" + pv] = my_switch._name;
change_targets(_root["my_floor_switch_" + pv]);
my_switch.gotoAndStop(2);
speech(1);
}
}
function off_floor_switch(pv) {
if (_root["on_fs_" + pv]) {
if (pv == 1) {
var _local3 = 2;
} else {
var _local3 = 1;
}
if (_root["my_floor_switch_" + pv] != _root["my_floor_switch_" + _local3]) {
change_targets(_root["my_floor_switch_" + pv]);
my_stage.tile_holder[_root["my_floor_switch_" + pv]].gotoAndStop(1);
}
_root["on_fs_" + pv] = false;
_root["my_floor_switch_" + pv] = undefined;
speech(1);
}
}
function init_attack(i) {
enemies_safe = false;
var _local2 = _root[("p" + i) + "w"];
firing = true;
weapon_delay = _root[_local2 + "_delay"];
weapon_charge = 0;
weapon_frame = _root[_local2 + "_frames"];
if (_root[_local2 + "_type"] == "projectile") {
_root["p" + i].player_clip.player.gotoAndStop(1);
if (_root[(_local2 + "_amount_") + i] == undefined) {
_root[(_local2 + "_amount_") + i] = _root[_local2 + "_start_amount"];
}
pause_menu["arrow_clip_" + i].gotoAndStop(2);
pause_menu["arrow_clip_" + i].my_num.text = "x" + _root[(_local2 + "_amount_") + i];
bullet_array.length = 0;
}
}
function attack() {
if (firing) {
var _local2 = _root[("p" + cpv) + "w"];
if (enter_down) {
if (((_root[_local2 + "_type"] == "projectile") && (weapon_delay > _root[_local2 + "_delay"])) && (_root[(_local2 + "_amount_") + cpv] > 0)) {
do_player_shot("base");
} else if ((_root[_local2 + "_type"] == "strike") && (weapon_delay > _root[_local2 + "_delay"])) {
weapon_delay = 0;
weapon_frame = 0;
do_sound("sword_sound");
}
}
}
weapon_delay++;
if ((weapon_frame < _root[_local2 + "_frames"]) && (!_root[("p" + cpv) + "c"])) {
_root["p" + cpv].player_clip.player.gotoAndStop(2);
} else {
enemies_safe = false;
firing = true;
_root["p" + cpv].player_clip.player.gotoAndStop(1);
}
weapon_frame++;
}
function move_bullets() {
var _local2 = 0;
while (_local2 < bullet_array.length) {
var _local1 = my_stage[bullet_array[_local2]];
if ((_local1._x < ((my_stage._x + _local1.start_x) - _local1._width)) || (_local1._x > (my_stage_width - (my_stage._x + _local1.start_x)))) {
removeMovieClip(_local1);
bullet_array.splice(_local2, 1);
return(undefined);
}
if (_local1.x_speed < 0) {
var _local5 = Math.floor((_local1._x - (_local1._width / 2)) / tileWidth);
} else {
var _local5 = Math.floor((_local1._x + (_local1._width / 2)) / tileWidth);
}
var _local4 = Math.floor(_local1._y / tileHeight);
var _local3 = my_stage.tile_holder[(("t" + _local4) + "_") + _local5];
if (_local3.solid) {
if (_local3.breakable) {
break_tile(_local3);
}
removeMovieClip(_local1);
bullet_array.splice(_local2, 1);
}
_local1._x = _local1._x + _local1.x_speed;
_local1._y = _local1._y - _local1.y_speed;
_local2++;
}
}
function do_player_shot(my_type) {
if (!_root[("p" + cpv) + "c"]) {
do_sound("bow_sound");
var _local4 = _root["p" + cpv];
var _local3 = _root[("p" + cpv) + "w"];
if (_local4.player_clip._currentframe == 1) {
var _local5 = 1;
} else {
var _local5 = -1;
}
if (b >= ((map_total * 5) - 1)) {
b = (map_total * 4) + 2;
}
var _local2 = my_stage.attachMovie((_local3 + "") + _local5, "bullet" + b, ++b);
bullet_array.push("bullet" + b);
_local2.start_x = my_stage._x;
_local2.start_y = my_stage._y;
_local2.my_type = _local3;
switch (_local5) {
case 1 :
_local2.x_dir = 1;
_local2.y_dir = 0;
_local2.x_speed = _root[_local3 + "_speed"];
_local2.y_speed = 0;
_local2._x = _local4._x + hpw;
_local2._y = _local4._y - 20;
break;
case -1 :
_local2.x_dir = -1;
_local2.y_dir = 0;
_local2.x_speed = -_root[_local3 + "_speed"];
_local2.y_speed = 0;
_local2._x = _local4._x - hpw;
_local2._y = _local4._y - 20;
break;
}
if (_root[_local3 + "_start_amount"] != "unlimited") {
_root[(_local3 + "_amount_") + cpv]--;
pause_menu["arrow_clip_" + cpv].my_num.text = "x" + _root[(_local3 + "_amount_") + cpv];
if (_root[(_local3 + "_amount_") + cpv] == 0) {
update_weapon("sword", cpv);
}
}
weapon_frame = 0;
weapon_delay = 0;
}
weapon_charge = 0;
}
function clear_attack() {
_root[_root[("p" + cpv) + "w"] + "_amount"] = null;
pause_menu.UI.bullet_output.text = "";
weapon_delay = null;
weapon_charge = null;
}
function break_tile(t) {
if (t._currentframe == 1) {
t.play();
}
do_sound("hit_sound");
t.solid = false;
t.breakable = false;
}
function change_health(amount, pv, rd) {
if ((_root["p" + pv].s == 0) && (amount < 0)) {
_root["my_health_" + pv] = _root["my_health_" + pv] + amount;
if (rd != undefined) {
recoil_dir = rd;
} else {
recoil_dir = _root[("p" + pv) + "f"];
}
_root[("p" + pv) + "rd"] = recoil_dir;
_root[("p" + pv) + "f"] = recoil_dir;
_root["p" + pv].s = 25;
do_sound("hit_sound");
} else if (amount > 0) {
_root["my_health_" + pv] = _root["my_health_" + pv] + amount;
}
if (_root["my_health_" + pv] <= 0) {
_root["my_health_" + pv] = 0;
dying(pv);
}
pause_menu["my_health_" + pv].gotoAndStop(Math.ceil(_root["my_health_" + pv] / 20) + 1);
}
function dying(pv) {
_root["p" + pv]._alpha = 100;
_root["game_state_" + pv] = "dead";
if (pv != cpv) {
if (pv == 1) {
game_state_2 = "wait";
cpv = 1;
} else {
game_state_1 = "wait";
cpv = 2;
}
}
die_var = 60;
}
function set_boss_delay() {
switch (boss_step) {
case 5 :
case 6 :
case 7 :
case 8 :
boss_delay = 20;
return;
case 14 :
case 15 :
case 16 :
case 17 :
boss_delay = 10;
return;
default :
boss_delay = 50;
}
}
function spawn_wave() {
if (completion) {
return(undefined);
}
switch (boss_step) {
case 0 :
spawn_bat(5, 7, 5, 12, 5, 50);
spawn_bat(9, 7, 9, 12, 5, 50);
spawn_bat(13, 7, 13, 12, 5, 50);
var _local4 = true;
break;
case 1 :
spawn_bat(1, 8, 16, 8, 5, 50);
spawn_bat(1, 10, 16, 10, 5, 50);
_local4 = true;
break;
case 2 :
spawn_bat(8, 7, 13, 12, 5, 50);
spawn_bat(10, 7, 5, 12, 5, 50);
_local4 = true;
break;
case 3 :
spawn_bat(16, 8, 1, 8, 5, 50);
spawn_bat(16, 10, 1, 10, 5, 50);
_local4 = true;
break;
case 4 :
spawn_bat(9, 4, 9, 4, 0, 0);
var _local3 = my_stage.character_holder[character_array[0]];
_local3.vampire = true;
generate_character(9, 13, 15);
break;
case 5 :
generate_character(2, 12, 17);
break;
case 6 :
generate_character(7, 13, 17);
break;
case 7 :
generate_character(11, 13, 17);
break;
case 8 :
boss_hits = 0;
generate_character(16, 12, 17);
break;
case 9 :
spawn_bat(5, 7, 5, 12, 6, 50);
spawn_bat(9, 7, 9, 12, 6, 50);
spawn_bat(13, 7, 13, 12, 6, 50);
_local4 = true;
break;
case 10 :
spawn_bat(1, 8, 16, 8, 6, 50);
spawn_bat(1, 10, 16, 10, 6, 50);
_local4 = true;
break;
case 11 :
spawn_bat(8, 7, 13, 12, 6, 50);
spawn_bat(10, 7, 5, 12, 6, 50);
_local4 = true;
break;
case 12 :
spawn_bat(16, 8, 1, 8, 6, 50);
spawn_bat(16, 10, 1, 10, 6, 50);
_local4 = true;
break;
case 13 :
spawn_bat(9, 4, 9, 4, 0, 0);
_local3 = my_stage.character_holder[character_array[0]];
_local3.vampire = true;
generate_character(9, 3, 14);
break;
case 14 :
boss_hits = 0;
generate_character(16, 12, 17);
break;
case 15 :
generate_character(11, 13, 17);
break;
case 16 :
generate_character(7, 13, 17);
break;
case 17 :
generate_character(2, 12, 17);
break;
case 18 :
spawn_bat(1, 8, 16, 8, 6, 50);
spawn_bat(1, 10, 16, 10, 6, 50);
_local4 = true;
break;
case 19 :
spawn_bat(5, 7, 5, 12, 6, 50);
spawn_bat(9, 7, 9, 12, 6, 50);
spawn_bat(13, 7, 13, 12, 6, 50);
_local4 = true;
break;
case 20 :
spawn_bat(16, 8, 1, 8, 6, 50);
spawn_bat(16, 10, 1, 10, 6, 50);
_local4 = true;
break;
case 21 :
spawn_bat(8, 7, 13, 12, 6, 50);
spawn_bat(10, 7, 5, 12, 6, 50);
_local4 = true;
break;
default :
trace("error boss step");
}
do_sound("puff_sound");
if (_local4) {
var _local5 = Math.floor(Math.random() * character_array.length);
_local3 = my_stage.character_holder[character_array[_local5]];
_local3.vampire = true;
if (cheating || (bonus_stage > 6)) {
var _local1 = 0;
while (_local1 < character_array.length) {
var _local2 = my_stage.character_holder[character_array[_local1]];
if (!_local2.vampire) {
_local2._alpha = 50;
}
_local1++;
}
}
}
boss_step++;
if (boss_hits < 3) {
if (boss_step == 4) {
boss_step = 0;
}
if (boss_step == 13) {
boss_step = 9;
}
if (boss_step == 22) {
boss_step = 18;
}
}
}
function spawn_bat(bx, by, ex, ey, bs, bd) {
var _local1 = my_stage.character_holder.attachMovie("character_16", (("character" + by) + "_") + bx, bx + (by * map_length));
_local1._x = (bx * tileWidth) + (_local1._width / 2);
_local1._y = ((by * tileHeight) + tileHeight) + 2;
var _local4 = (ex * tileWidth) + (_local1._width / 2);
var _local5 = ((ey * tileHeight) + tileHeight) + 2;
_local1.my_x = bx;
_local1.my_y = by;
do_poof(_local1);
if (bx < ex) {
_local1.x_dir = 1;
_local1.my_dist = _local4 - _local1._x;
} else if (bx > ex) {
_local1.x_dir = -1;
_local1.my_dist = _local1._x - _local4;
} else {
_local1.x_dir = 0;
}
if (by < ey) {
_local1.y_dir = 1;
_local1.my_dist = _local5 - _local1._y;
} else {
_local1.y_dir = 0;
}
_local1.my_dir = -1;
_local1.my_type = "vbat";
_local1.speed = bs;
_local1.my_delay = bd;
_local1.delay_reset = _local1.my_delay;
_local1.collide_var = 0;
_local1.player_var = 20;
_local1.start_x = _local1._x;
_local1.start_y = _local1._y;
_local1.facing = "left";
_local1.full_life = 1;
_local1.my_life = _local1.full_life;
character_array.push((("character" + by) + "_") + bx);
}
function hurt_vampire(clip) {
i = character_array.length;
while (i >= 0) {
var _local1 = my_stage.character_holder[character_array[i]];
do_poof(_local1);
remove_character(_local1);
i--;
}
boss_hits++;
var _local2 = pause_menu.character_life;
_local2.curr = _local2.curr - 2;
var i = 0;
while (i < _local2.cells) {
if (i >= _local2.curr) {
_local2["b" + i].gotoAndStop(2);
}
i++;
}
if (boss_hits >= 3) {
if (boss_step < 4) {
boss_step = 4;
}
if ((boss_step > 8) && (boss_step < 13)) {
boss_step = 13;
}
if (boss_step > 17) {
completion = true;
sound_fade_var = 100;
}
}
set_boss_delay();
}
function do_poof(c) {
if (poof_count == undefined) {
poof_count = 0;
}
var _local2 = my_stage.character_holder.attachMovie("poof", "poof" + poof_count, c.getDepth() + 1);
_local2._x = c._x;
switch (c.my_type) {
case "zombie" :
_local2._y = c._y - (tileHeight / 2);
break;
case "scare" :
_local2._y = (c._y - (tileHeight / 2)) - 20;
break;
default :
_local2._y = c._y;
}
poof_count++;
}
function generate_character(j, i, my_var) {
if ((my_stage.character_holder[(("character" + i) + "_") + j]._x == undefined) || (my_var == 8)) {
var _local3 = 0;
while (_local3 < character_defeated_array.length) {
if (character_defeated_array[_local3] == ((("character" + i) + "_") + j)) {
return(undefined);
}
_local3++;
}
if (my_var == undefined) {
my_var = _root[my_set][stage_num][1][i][j][2];
}
var _local8 = my_var;
switch (my_var) {
case 3 :
_local8 = 2;
break;
case 4 :
_local8 = 1;
}
var _local2 = my_stage.character_holder.attachMovie("character_" + _local8, (("character" + i) + "_") + j, j + (i * map_length));
_local2._x = (j * tileWidth) + (_local2._width / 2);
_local2._y = ((i * tileHeight) + tileHeight) + 2;
_local2.my_x = j;
_local2.my_y = i;
_local2.my_dir = -1;
switch (my_var) {
case 0 :
_local2.my_type = "bat";
_local2.speed = 2;
_local2.my_delay = 10;
_local2.delay_reset = _local2.my_delay;
_local2.collide_var = 0;
_local2.player_var = 20;
_local2.my_dist = 120;
_local2.start_x = _local2._x;
_local2.facing = "left";
_local2.full_life = 1;
break;
case 1 :
_local2.my_type = "fish";
_local2.speed = 2;
_local2.my_delay = 0;
_local2.delay_reset = _local2.my_delay;
_local2.collide_var = 0;
_local2.player_var = 20;
_local2.my_dist = 300;
_local2.start_x = _local2._x;
_local2.facing = "left";
_local2.full_life = 1;
break;
case 2 :
_local2.my_type = "shooter";
_local2.my_delay = 70;
_local2.delay_reset = _local2.my_delay;
_local2.weapon = "bubble";
_local2.facing = "left";
_local2._xscale = -100;
_local2.speed = 2;
_local2.full_life = 0;
_local2.collide_var = 0;
_local2.player_var = 0;
_local2.dir_amount = 1;
break;
case 3 :
_local2._x = _local2._x - 15;
_local2.my_type = "shooter";
_local2.my_delay = 70;
_local2.delay_reset = _local2.my_delay;
_local2.weapon = "bubble";
_local2.facing = "right";
_local2.speed = 2;
_local2.full_life = 0;
_local2.collide_var = 0;
_local2.player_var = 0;
_local2.dir_amount = 1;
break;
case 4 :
_local2.my_type = "fish";
_local2.speed = 2;
_local2.my_delay = 0;
_local2.delay_reset = _local2.my_delay;
_local2.collide_var = 0;
_local2.player_var = 20;
_local2.my_dist = 450;
_local2.start_x = _local2._x;
_local2.facing = "left";
_local2.full_life = 1;
break;
case 5 :
case 11 :
_local2.my_type = "crab";
_local2.speed = 2;
_local2.my_delay = 0;
_local2.delay_reset = _local2.my_delay;
_local2.collide_var = 0;
_local2.player_var = 20;
_local2.start_x = _local2._x;
_local2.facing = "left";
_local2.full_life = 1;
_local2.wv = 20;
break;
case 6 :
_local2.my_type = "jfish";
_local2.speed = 8;
_local2.my_delay = 20;
_local2.my_start = 0;
_local2.my_height = 120;
_local2.delay_reset = _local2.my_delay;
_local2.collide_var = 0;
_local2.player_var = 20;
_local2.start_x = _local2._x;
_local2.my_dir = 1;
_local2.full_life = 1;
break;
case 7 :
do_loop("boss_loop");
_local2.my_type = "troll";
_local2.speed = 3;
_local2.jspeed = 6;
_local2.my_delay = 10;
_local2.delay_reset = _local2.my_delay;
_local2.collide_var = 0;
_local2.player_var = 20;
_local2.start_x = _local2._x;
_local2.my_start = 0;
_local2.my_height = 160;
_local2.facing = "left";
_local2.full_life = 200;
_local2.my_dist = 340;
_local2.my_dir = 1;
_local2.my_state = "walk";
_local2.s = 0;
break;
case 8 :
_local2.my_type = "boulder";
_local2.full_life = 0;
_local2.collide_var = 0;
_local2.player_var = 20;
_local2.speed = 10;
_local2._y = _local2._y - (tileHeight * 2);
break;
case 9 :
_local2.my_type = "boulder_spawn";
_local2.full_life = 0;
_local2.collide_var = 0;
_local2.player_var = 0;
_local2.my_delay = 90;
_local2.delay_reset = _local2.my_delay;
break;
case 10 :
_local2.my_type = "bird";
_local2.speed = 5;
_local2.speed2 = 2;
_local2.my_delay = 90;
_local2.delay_reset = _local2.my_delay;
_local2.collide_var = 0;
_local2.player_var = 20;
_local2.my_dist = 120;
_local2.start_y = _local2._y;
_local2.full_life = 1;
_local2.my_dir = 1;
break;
case 12 :
_local2.my_type = "bubble_spawn";
_local2.my_delay = 100;
_local2.delay_reset = _local2.my_delay;
_local2.weapon = "bubble";
_local2.facing = "up";
_local2.speed = 1;
_local2.full_life = 0;
_local2.collide_var = 0;
_local2.player_var = 0;
_local2.dir_amount = 1;
break;
case 13 :
do_loop("boss_loop");
_local2.my_type = "piggy";
_local2.my_speed = 1;
_local2.my_delay = 50;
_local2.delay_reset = _local2.my_delay;
_local2.strike_delay = 10;
_local2.strike_reset = _local2.strike_delay;
_local2.collide_var = 0;
_local2.player_var = 20;
_local2.attack_var = 30;
_local2.start_x = _local2._x;
_local2.facing = "left";
_local2.full_life = 200;
_local2.my_dir = 1;
_local2.my_state = "wait";
_local2.s = 0;
_local2.curr = "none";
_local2.gotoAndStop("static_" + _local2.facing);
_local2.next_state = "walk";
break;
case 14 :
_local2.my_type = "follow";
_local2.full_life = 0;
_local2.collide_var = 0;
_local2.player_var = 1000;
_local2.speed = 1;
break;
case 15 :
_local2.my_type = "zombie";
_local2.speed = 1;
_local2.fall_speed = 5;
_local2.collide_var = 0;
_local2.player_var = 1000;
_local2.facing = "left";
_local2.full_life = 0;
_local2.my_state = "rise";
_local2.wv = 20;
break;
case 17 :
_local2.my_type = "scare";
_local2.collide_var = 0;
_local2.player_var = 20;
_local2.full_life = 0;
break;
default :
_local2.my_type = "static";
_local2.full_life = 1;
_local2.score = 10;
_local2.collide_var = 50;
_local2.player_var = 20;
}
_local2.my_life = _local2.full_life;
if (_local2.full_life > 1) {
add_character_bar(_local2.full_life);
}
var _local6 = false;
l = 0;
while (l < character_array.length) {
if (character_array[l] == ((("character" + i) + "_") + j)) {
_local6 = true;
}
l++;
}
if (_local6 == false) {
character_array.push((("character" + i) + "_") + j);
}
}
}
function set_character(character) {
var _local2 = character;
switch (_local2.my_type) {
case "scare" :
if (_local2._currentframe >= _local2._totalframes) {
remove_character(_local2);
set_boss_delay();
}
break;
case "vbat" :
if (_local2.full_life > 0) {
if (_local2.my_delay > 0) {
_local2.my_delay--;
_local2.gotoAndStop(1);
} else if ((_local2.x_dir == 0) && (_local2.y_dir != 0)) {
_local2._y = _local2._y + _local2.speed;
_local2.gotoAndStop("swoop");
if (_local2._y >= (_local2.start_y + _local2.my_dist)) {
do_poof(_local2);
remove_character(_local2);
set_boss_delay();
}
} else if (_local2.x_dir != 0) {
if (_local2.y_dir == 1) {
_local2._y = _local2._y + _local2.speed;
}
if (_local2.x_dir == -1) {
_local2._x = _local2._x - _local2.speed;
if (_local2._x <= (_local2.start_x - _local2.my_dist)) {
do_poof(_local2);
remove_character(_local2);
set_boss_delay();
}
_local2._xscale = -100;
} else {
_local2._x = _local2._x + _local2.speed;
if (_local2._x >= (_local2.start_x + _local2.my_dist)) {
do_poof(_local2);
remove_character(_local2);
set_boss_delay();
}
_local2._xscale = 100;
}
_local2.gotoAndStop("fly");
} else {
_local2.gotoAndStop("static");
}
}
break;
case "fish" :
case "bat" :
if (_local2.full_life > 0) {
if (_local2.my_delay > 0) {
_local2.my_delay--;
_local2.gotoAndStop(1);
} else {
_local2.gotoAndStop(2);
if (_local2.facing == "left") {
_local2._x = _local2._x - _local2.speed;
if (_local2._x <= (_local2.start_x - _local2.my_dist)) {
_local2.facing = "right";
_local2.my_delay = _local2.delay_reset;
}
_local2._xscale = -100;
} else {
_local2._x = _local2._x + _local2.speed;
if (_local2._x >= _local2.start_x) {
_local2.facing = "left";
_local2.my_delay = _local2.delay_reset;
}
_local2._xscale = 100;
}
}
}
break;
case "crab" :
if (_local2.full_life > 0) {
if (_local2.facing == "left") {
_local2._x = _local2._x - _local2.speed;
if (!my_stage.tile_holder[(("t" + Math.floor(_local2._y / tileHeight)) + "_") + Math.floor((_local2._x - _local2.wv) / tileWidth)].solid) {
if (!my_stage.tile_holder[(("t" + Math.floor(_local2._y / tileHeight)) + "_") + Math.floor(_local2._x / tileWidth)].solid) {
return(undefined);
}
_local2.facing = "right";
}
var _local20 = my_stage.tile_holder[(("t" + Math.floor((_local2._y / tileHeight) - 1)) + "_") + Math.floor((_local2._x - _local2.wv) / tileWidth)];
if (_local20.solid) {
_local2.facing = "right";
}
_local2._xscale = -100;
} else {
_local2._x = _local2._x + _local2.speed;
if (!my_stage.tile_holder[(("t" + Math.floor(_local2._y / tileHeight)) + "_") + Math.floor((_local2._x + _local2.wv) / tileWidth)].solid) {
if (!my_stage.tile_holder[(("t" + Math.floor(_local2._y / tileHeight)) + "_") + Math.floor(_local2._x / tileWidth)].solid) {
return(undefined);
}
_local2.facing = "left";
}
if (my_stage.tile_holder[(("t" + Math.floor((_local2._y / tileHeight) - 1)) + "_") + Math.floor((_local2._x + _local2.wv) / tileWidth)].solid) {
_local2.facing = "left";
}
_local2._xscale = 100;
}
}
break;
case "shooter" :
var _local15 = _local2.my_dir;
_local2.my_delay--;
var _local23 = _local2.my_y;
var _local22 = Math.floor(_local2._x / tileWidth);
if (_local2.my_delay <= 0) {
if (_local2.facing == "right") {
_local15 = 1;
} else {
_local15 = -1;
}
_local2.gotoAndStop("throw");
if ((_local2.my_clip._currentframe == _local2.my_clip._totalframes) || ((_local2._totalframes == 1) && (_local2.my_delay <= 0))) {
if (_local15 == undefined) {
_local15 = _local2.my_dir;
}
_local2.my_delay = _local2.delay_reset;
character_projectile(_local2, _local15);
}
}
break;
case "bubble_spawn" :
_local2.my_delay--;
if (_local2.my_delay <= 0) {
_local2.my_delay = _local2.delay_reset;
character_projectile(_local2, 2);
}
break;
case "projectile" :
switch (character.my_dir) {
case 1 :
_local2._x = _local2._x + _local2.speed;
break;
case -1 :
_local2._x = _local2._x - _local2.speed;
break;
case 2 :
_local2._y = _local2._y - _local2.speed;
break;
case -2 :
_local2._y = _local2._y + _local2.speed;
break;
}
if (_local2.speed != 0) {
if (my_stage.tile_holder[(("t" + Math.floor(_local2._y / tileHeight)) + "_") + Math.floor(_local2._x / tileWidth)].solid) {
_local2.gotoAndPlay("pop");
_local2.speed = 0;
}
}
break;
case "jfish" :
if (_local2.my_delay > 0) {
_local2.my_delay--;
} else if (_local2.my_dir == 1) {
_local2.gotoAndStop(1);
_local2._y = _local2._y - _local2.speed;
_local2.my_start = _local2.my_start + _local2.speed;
if (_local2.my_start >= _local2.my_height) {
_local2.my_start = 0;
_local2.my_dir = 0;
_local2.gotoAndStop(3);
}
} else if (_local2.my_dir == -1) {
_local2._y = _local2._y + _local2.speed;
_local2.my_start = _local2.my_start + _local2.speed;
if (_local2.my_start >= _local2.my_height) {
_local2.my_start = 0;
_local2.my_dir = 1;
_local2.my_delay = _local2.delay_reset;
}
} else if (_local2.my_clip._currentframe == _local2.my_clip._totalframes) {
_local2.gotoAndStop(2);
_local2.my_dir = -1;
}
break;
case "troll" :
if (_local2.full_life > 0) {
switch (_local2.my_state) {
case "walk" :
var _local10 = _local2.speed;
if ((_local2.my_life / _local2.full_life) <= 0.5) {
_local10 = _local10 + 2;
}
if ((_local2.my_life / _local2.full_life) <= 0.2) {
_local10 = _local10 + 2;
}
if (_local2.my_delay > 0) {
_local2.gotoAndStop("stomp");
_local2.my_delay--;
} else {
_local2._y = Math.round(_local2._y / tileHeight) * tileHeight;
_local2.gotoAndStop("walk");
if (_local2.facing == "left") {
_local2._x = _local2._x - _local10;
if (_local2._x <= (_local2.start_x - _local2.my_dist)) {
_local2.facing = "right";
_local2.my_delay = _local2.delay_reset;
_local2.my_state = "jump";
}
} else {
_local2._x = _local2._x + _local10;
if (_local2._x >= _local2.start_x) {
_local2.facing = "left";
_local2.my_delay = _local2.delay_reset;
_local2.my_state = "jump";
}
}
}
break;
case "jump" :
if (_local2.my_delay > 0) {
_local2.gotoAndStop("stomp");
_local2.my_delay--;
} else {
_local2.gotoAndStop("jump");
_local10 = _local2.jspeed;
if ((_local2.my_life / _local2.full_life) <= 0.5) {
_local10++;
}
if ((_local2.my_life / _local2.full_life) <= 0.2) {
_local10++;
}
if (_local2.my_dir == 1) {
_local2._y = _local2._y - _local10;
_local2.my_start = _local2.my_start + _local10;
if (_local2.my_start >= _local2.my_height) {
_local2.my_start = 0;
_local2.my_dir = -1;
}
} else {
if (_local2.my_dir != -1) {
break;
}
_local2._y = _local2._y + _local10;
_local2.my_start = _local2.my_start + _local10;
if (_local2.my_start < _local2.my_height) {
break;
}
do_sound("troll_sound");
generate_character(26, 0, 8);
generate_character(40, 0, 8);
generate_character(Math.round((_root["p" + cpv]._x - (tileWidth / 2)) / tileWidth), 0, 8);
shake_var = 30;
_local2.my_start = 0;
_local2.my_delay = _local2.delay_reset;
_local2.my_dir = 1;
_local2.my_state = "walk";
}
}
}
if (_local2.facing == "left") {
_local2._xscale = -100;
} else if (_local2.facing == "right") {
_local2._xscale = 100;
}
}
break;
case "boulder_spawn" :
if (_local2.my_delay > 0) {
_local2.my_delay--;
} else {
do_sound("troll_sound");
generate_character(_local2.my_x, 0, 8);
generate_character(_local2.my_x - 7, 0, 8);
shake_var = 30;
_local2.my_delay = _local2.delay_reset;
}
if ((((_local2._x + _local2._width) + my_stage._x) < 0) || (((_local2._x - _local2._width) + my_stage._x) > my_stage_width)) {
sound_fade_var = 100;
remove_character(_local2);
}
break;
case "boulder" :
var _local19 = Math.floor(_local2._x / tileWidth);
var _local18 = Math.floor(_local2._y / tileHeight);
if (my_stage.tile_holder[(("t" + (_local18 + 1)) + "_") + _local19].solid) {
if (_local2._currentframe == 1) {
_local2.play();
do_sound("block_sound");
} else if (_local2._currentframe == _local2._totalframes) {
remove_character(_local2);
}
} else {
_local2._y = _local2._y + _local2.speed;
}
break;
case "bird" :
if (_local2.full_life > 0) {
if (_local2.my_delay > 0) {
_local2.my_delay--;
_local2.gotoAndStop(1);
} else if (_local2.my_dir == 1) {
_local2.gotoAndStop(2);
_local2._y = _local2._y + _local2.speed;
if (_local2._y >= (_local2.start_y + _local2.my_dist)) {
_local2.my_dir = -1;
}
} else {
_local2.gotoAndStop(1);
_local2._y = _local2._y - _local2.speed2;
if (_local2._y <= _local2.start_y) {
_local2.my_delay = _local2.delay_reset;
_local2.my_dir = 1;
}
}
}
break;
case "jump" :
var _local14 = false;
if (Math.floor(_local2._y / tileHeight) > _local2.my_y) {
_local14 = true;
}
if (p._x > _local2._x) {
_local2.my_dir = 1;
} else {
_local2.my_dir = -1;
}
if (_local14) {
if ((_local2._y > ((_local2._height + my_stage_height) - my_stage._y)) || ((_local2._y + (_local2._height / 2)) < (-my_stage._y))) {
remove_character(_local2);
} else {
_local2.gotoAndStop("static");
if (_local2.my_dir == 1) {
if (_local2.my_clip._totalframes == 2) {
_local2.my_clip.gotoAndStop("right");
} else {
_local2._xscale = -100;
}
} else if (_local2.my_clip._totalframes == 2) {
_local2.my_clip.gotoAndStop("left");
} else {
_local2._xscale = 100;
}
_local2.my_delay--;
_local2.my_var = 0;
if (_local2.my_delay <= 0) {
_local2.my_var = -_local2.speed;
_local14 = false;
_local2.my_delay = _local2.delay_reset;
}
}
} else {
_local2.gotoAndStop("jump");
if (_local2.my_dir == 1) {
_local2.my_clip.gotoAndStop("right");
} else {
_local2.my_clip.gotoAndStop("left");
}
_local2.my_var++;
}
_local2._y = _local2._y + _local2.my_var;
break;
case "follow" :
var p = _root["p" + cpv];
var _local12 = p._x - _local2._x;
var _local16 = (p._y - _local2._y) * -1;
var _local4 = Math.atan(_local16 / _local12) / (Math.PI/180);
if (_local12 < 0) {
_local4 = _local4 + 180;
}
if ((_local12 >= 0) && (_local16 < 0)) {
_local4 = _local4 + 360;
}
var _local8 = 0;
var _local7 = 0;
var _local6 = 0;
if (_local4 == 0) {
_local8 = _local2.speed;
_local6 = 1;
} else if (_local4 < 45) {
_local8 = Math.abs(Math.cos(_local4) * _local2.speed);
_local7 = Math.abs(Math.sin(_local4) * _local2.speed) * -1;
_local6 = 2;
} else if (_local4 == 45) {
_local8 = _local2.speed / 2;
_local7 = (-_local2.speed) / 2;
_local6 = 3;
} else if (_local4 < 90) {
_local8 = Math.abs(Math.sin(_local4 - 45) * _local2.speed);
_local7 = Math.abs(Math.cos(_local4 - 45) * _local2.speed) * -1;
_local6 = 4;
} else if (_local4 == 90) {
_local7 = -_local2.speed;
_local6 = 5;
} else if (_local4 < 135) {
_local8 = Math.abs(Math.sin(_local4 - 90) * _local2.speed) * -1;
_local7 = Math.abs(Math.cos(_local4 - 90) * _local2.speed) * -1;
_local6 = 6;
} else if (_local4 == 135) {
_local8 = (-_local2.speed) / 2;
_local7 = (-_local2.speed) / 2;
_local6 = 7;
} else if (_local4 < 180) {
_local8 = Math.abs(Math.cos(_local4 - 135) * _local2.speed) * -1;
_local7 = Math.abs(Math.sin(_local4 - 135) * _local2.speed) * -1;
_local6 = 8;
} else if (_local4 == 180) {
_local8 = -_local2.speed;
_local6 = 9;
} else if (_local4 < 225) {
_local8 = Math.abs(Math.cos(_local4 - 180) * _local2.speed) * -1;
_local7 = Math.abs(Math.sin(_local4 - 180) * _local2.speed);
_local6 = 10;
} else if (_local4 == 225) {
_local8 = (-_local2.speed) / 2;
_local7 = _local2.speed / 2;
_local6 = 11;
} else if (_local4 < 270) {
_local8 = Math.abs(Math.sin(_local4 - 225) * _local2.speed) * -1;
_local7 = Math.abs(Math.cos(_local4 - 225) * _local2.speed);
_local6 = 12;
} else if (_local4 == 270) {
_local7 = _local2.speed;
_local6 = 13;
} else if (_local4 < 315) {
_local8 = Math.abs(Math.sin(_local4 - 270) * _local2.speed);
_local7 = Math.abs(Math.cos(_local4 - 270) * _local2.speed);
_local6 = 14;
} else if (_local4 == 315) {
_local8 = _local2.speed / 2;
_local7 = _local2.speed / 2;
_local6 = 15;
} else {
_local8 = Math.abs(Math.cos(_local4 - 315) * _local2.speed);
_local7 = Math.abs(Math.sin(_local4 - 315) * _local2.speed);
_local6 = 16;
}
_local2._x = _local2._x + _local8;
_local2._y = _local2._y + _local7;
if (_local2._x < (p._x - _local2.speed)) {
_local2._xscale = 100;
} else {
_local2._xscale = -100;
}
break;
case "float" :
if ((((((_local2._x + _local2._width) + my_stage._x) < 0) || (((_local2._x - _local2._width) + my_stage._x) > my_stage_width)) || (((_local2._y + _local2._height) + my_stage._y) < 0)) || (((_local2._y - _local2._height) + my_stage._y) > my_stage_height)) {
remove_character(_local2);
} else {
_local2._y = _local2._y + _local2.speed;
}
break;
case "piggy" :
if (_local2.full_life > 0) {
switch (_local2.my_state) {
case "walk" :
var _local10 = _local2.my_speed;
if ((_local2.my_life / _local2.full_life) <= 0.5) {
_local10 = _local10 + 0.5;
}
if ((_local2.my_life / _local2.full_life) <= 0.2) {
_local10 = _local10 + 0.5;
}
if (_local2.facing == "left") {
if (_local2.curr._x > _local2._x) {
_local2.facing = "right";
return(undefined);
}
if (_local2._x < (_local2.curr._x + 60)) {
_local2.next_state = "attack";
_local2.my_state = "static";
} else {
_local2._x = _local2._x - _local10;
}
} else if (_local2.facing == "right") {
if (_local2.curr._x < _local2._x) {
_local2.facing = "left";
return(undefined);
}
if (_local2._x > (_local2.curr._x - 60)) {
_local2.next_state = "attack";
_local2.my_state = "static";
} else {
_local2._x = _local2._x + _local10;
}
}
break;
case "attack" :
_local2.strike_delay--;
if (_root.p1.player_hit.hitTest(_local2.strike_hit)) {
if (_local2._x < _root.p1._x) {
var _local17 = "left";
} else {
var _local17 = "right";
}
change_health(-_local2.attack_var, 1, _local17);
}
if (_root.p2.player_hit.hitTest(_local2.strike_hit)) {
if (_local2._x < _root.p2._x) {
var _local17 = "left";
} else {
var _local17 = "right";
}
change_health(-_local2.attack_var, 2, _local17);
}
if (_local2.strike_delay <= 0) {
_local2.next_state = "walk";
_local2.my_state = "static";
_local2.strike_delay = _local2.strike_reset;
}
break;
case "static" :
_local2.my_delay--;
if (_local2.my_delay <= 0) {
_local2.my_delay = _local2.delay_reset;
_local2.my_state = _local2.next_state;
}
break;
}
_local2.gotoAndStop((_local2.my_state + "_") + _local2.facing);
}
break;
case "zombie" :
switch (_local2.my_state) {
case "rise" :
if (_local2.clip._currentframe == _local2.clip._totalframes) {
_local2.my_state = "walk";
}
break;
case "walk" :
if (_local2.facing == "left") {
if (my_stage.tile_holder[(("t" + Math.floor((_local2._y / tileHeight) - 1)) + "_") + Math.floor((_local2._x - _local2.wv) / tileWidth)].solid) {
_local2.facing = "right";
} else {
var _local9 = false;
var _local5 = 0;
while (_local5 < mover_array.length) {
var _local3 = my_stage.tile_holder[mover_array[_local5]];
if ((((_local3._x < _local2._x) && (_local3._x > ((_local2._x - _local2.wv) - tileWidth))) && (_local3._y < _local2._y)) && (_local3._y > ((_local2._y - _local2._height) - tileHeight))) {
_local9 = true;
}
_local5++;
}
if (_local9) {
_local2.facing = "right";
} else {
_local2._x = _local2._x - _local2.speed;
}
}
} else if (my_stage.tile_holder[(("t" + Math.floor((_local2._y / tileHeight) - 1)) + "_") + Math.floor((_local2._x + _local2.wv) / tileWidth)].solid) {
_local2.facing = "left";
} else {
var _local9 = false;
var _local5 = 0;
while (_local5 < mover_array.length) {
var _local3 = my_stage.tile_holder[mover_array[_local5]];
if ((((_local3._x > _local2._x) && (_local3._x < (_local2._x + _local2.wv))) && (_local3._y < _local2._y)) && (_local3._y > ((_local2._y - _local2._height) - tileHeight))) {
_local9 = true;
}
_local5++;
}
if (_local9) {
_local2.facing = "left";
} else {
_local2._x = _local2._x + _local2.speed;
}
}
var _local11 = my_stage.tile_holder[(("t" + Math.floor(_local2._y / tileHeight)) + "_") + Math.floor(_local2._x / tileWidth)];
if (_local11.spike) {
_local2.my_life = 1;
_local2.full_life = 1;
hurt_character(_local2._name, 1);
} else if (_local11.spring) {
_local2.fall_speed = -18;
_local2.my_state = "fall";
} else if (_local11.floor_switch) {
_local2.my_lever = _local11._name;
change_targets(_local2.my_lever);
_local11.gotoAndStop(2);
} else if (!_local11.solid) {
_local2.fall_speed = 1;
_local2.my_state = "fall";
} else if (_local2.my_lever != undefined) {
my_stage.tile_holder[_local2.my_lever].gotoAndStop(1);
_local2.my_lever = undefined;
}
break;
case "fall" :
if (_local2.facing == "left") {
_local2._x = _local2._x - _local2.speed;
} else {
_local2._x = _local2._x + _local2.speed;
}
if (_local2.fall_speed < 10) {
_local2.fall_speed++;
}
_local2._y = _local2._y + _local2.fall_speed;
if (_local2.fall_speed > 0) {
_local11 = my_stage.tile_holder[(("t" + Math.floor(_local2._y / tileHeight)) + "_") + Math.floor(_local2._x / tileWidth)];
if (_local11.solid) {
_local2._y = _local11._y + 3;
_local2.my_state = "walk";
}
if (_local2._y > (map_height * tileHeight)) {
_local2.my_life = 1;
_local2.full_life = 1;
hurt_character(_local2._name, 1);
}
} else {
_local11 = my_stage.tile_holder[(("t" + Math.floor((_local2._y - _local2._height) / tileHeight)) + "_") + Math.floor(_local2._x / tileWidth)];
if (_local11.spike) {
_local2.my_life = 1;
_local2.full_life = 1;
hurt_character(_local2._name, 1);
} else if (_local11.solid) {
_local2._y = (_local11._y + tileHeight) + _local2._height;
_local2.fall_speed = 0;
}
}
break;
}
_local2.gotoAndStop(_local2.my_state);
if (_local2.facing == "left") {
_local2._xscale = 100;
} else {
_local2._xscale = -100;
}
break;
}
if (_local2.my_type == "vbat") {
return(undefined);
}
if (_local2.s > 0) {
_local2.head.gotoAndStop("hurt");
_local2.s--;
var _local13 = Math.floor(_local2.s / 5);
if (((_local13 == 0) || (_local13 == 2)) || (_local13 == 4)) {
_local2._alpha = 30;
} else {
_local2._alpha = 100;
}
} else {
_local2._alpha = 100;
_local2.head.gotoAndStop(1);
}
}
function check_friends() {
}
function init_talking(char) {
}
function set_text(char) {
}
function create_blocks(text_to_change) {
}
function init_output_block(my_block) {
}
function add_character_bar(full_life) {
var _local3 = pause_menu.createEmptyMovieClip("character_life", pause_menu.getNextHighestDepth());
var _local4 = Math.floor(full_life / 10);
_local3.cells = _local4;
var _local1 = 0;
while (_local1 < _local4) {
var _local2 = _local3.attachMovie("bar_cell", "b" + _local1, _local1);
_local2._x = (_local1 * _local2._width) + (_local1 * 3);
_local1++;
}
_local3._x = (Stage.width / 2) - (_local3._width / 2);
_local3._y = 24;
}
function player_collide_character(character, pv) {
var _local2 = my_stage.character_holder[character];
var _local3 = -(_local2.player_var * sva[_root[("p" + pv) + "sv"]]);
if (s == 0) {
hurt_character(character, _local2.collide_var);
if (_local2._x < _root["p" + pv]._x) {
var _local4 = "left";
} else {
var _local4 = "right";
}
change_health(_local3, pv, _local4);
}
}
function character_projectile(character, my_var) {
var _local4 = character.my_y;
var _local3 = Math.floor(character._x / tileWidth);
character.gotoAndStop("static");
var _local1 = my_stage.character_holder.attachMovie(character.weapon, "bullet" + eb, ++eb);
_local1._x = _local3 * tileWidth;
if (my_var == 1) {
_local1._x = _local1._x + tileWidth;
}
_local1._y = (_local4 * tileHeight) + (tileHeight / 2);
switch (character.weapon) {
case "bubble" :
_local1.my_type = "projectile";
_local1.speed = 5;
_local1.full_life = 1;
_local1.my_dir = my_var;
_local1.collide_var = 1;
_local1.player_var = 20;
break;
default :
}
_local1.my_type = "projectile";
_local1.my_life = 1;
_local1.eb = eb;
character_array.push("bullet" + eb);
}
function strike_character(character) {
if (character.my_type == "boulder") {
return(undefined);
}
var _local3 = _root["p" + cpv];
if (_local3.player_clip.player.strike_hit._totalframes > 1) {
var _local4 = _local3.player_clip.player.strike_hit.my_strike;
} else {
var _local4 = _local3.player_clip.player.strike_hit;
}
if ((_local4 != undefined) && (!enemies_safe)) {
if (_local4.hitTest(character.my_hit) || ((character.my_hit == undefined) && (_local4.hitTest(character)))) {
var _local5 = character._name;
var _local6 = _root[("p" + cpv) + "w"];
if (character.my_type == "piggy") {
if (((_local3._x < character._x) && (character.facing == "right")) || ((_local3._x > character._x) && (character.facing == "left"))) {
hurt_character(_local5, _root[_local6 + "_power"][_root[("p" + cpv) + "wv"]]);
} else {
do_sound("metal_sound");
}
character.curr = _local3;
if (_local3._x < clip._x) {
character.facing = "left";
} else {
character.facing = "right";
}
character.my_state = "walk";
} else {
hurt_character(_local5, _root[_local6 + "_power"][_root[("p" + cpv) + "wv"]]);
}
enemies_safe = true;
}
}
}
function shoot_character(character) {
if (character.my_type == "boulder") {
return(undefined);
}
var _local3 = 0;
while (_local3 < bullet_array.length) {
var _local2 = my_stage[bullet_array[_local3]];
if ((character.my_hit.hitTest(_local2) || ((character.my_hit == undefined) && (character.hitTest(_local2)))) && (character.full_life > 0)) {
var _local5 = character._name;
hurt_character(_local5, _root[_local2.my_type + "_power"]);
removeMovieClip(_local2);
bullet_array.splice(_local3, 1);
}
_local3++;
}
}
function hurt_character(character, my_amount) {
if (enemies_safe) {
return(undefined);
}
if (my_amount == 0) {
return(undefined);
}
var _local2 = my_stage.character_holder[character];
if (_local2.s != undefined) {
if (_local2.s > 0) {
return(undefined);
}
_local2.s = 25;
}
var _local9 = _local2.my_type;
if (_local2.vampire) {
hurt_vampire(_local2);
return(undefined);
}
if (_local9 == "vbat") {
do_poof(_local2);
do_sound("puff_sound");
remove_character(_local2);
return(undefined);
}
do_sound("hit_sound");
if (_local2.my_type == "projectile") {
_local2.gotoAndPlay("pop");
_local2.speed = 0;
} else {
if (_local2.full_life == 0) {
return(undefined);
}
_local2.my_life = _local2.my_life - my_amount;
if ((pause_menu.character_life != undefined) && (stage_num != 32)) {
var _local6 = Math.ceil(_local2.my_life / 10);
var _local1 = 0;
while (_local1 < pause_menu.character_life.cells) {
if (_local1 >= _local6) {
pause_menu.character_life["b" + _local1].gotoAndStop(2);
}
_local1++;
}
if (_local2.my_life <= 0) {
pause_menu.character_life.removeMovieClip();
}
}
var _local5 = false;
if (_local2.my_life <= 0) {
var _local12 = true;
var _local8 = _local2._x;
var _local4 = _local2._y;
var _local13 = _local2.getDepth();
var _local10 = _local2.my_type;
}
var _local1 = 0;
while (_local1 < character_hurt_array.length) {
if (character == character_hurt_array[_local1][0]) {
_local5 = true;
character_hurt_array[_local1][1] = _local2.my_life;
if (character_hurt_array[_local1][1] <= 0) {
character_hurt_array.splice(_local1, 1);
character_defeated_array.push(character);
remove_character(_local2);
}
}
_local1++;
}
if (!_local5) {
if (_local2.my_life > 0) {
var _local11 = new Array(character, _local2.my_life);
character_hurt_array.push(_local11);
} else {
if (_local2.my_type != "zombie") {
character_defeated_array.push(character);
}
removeMovieClip(_local2);
}
}
if (_local12) {
if (poof_count == undefined) {
poof_count = 0;
}
var _local7 = my_stage.character_holder.attachMovie("poof", "poof" + poof_count, _local13);
_local7._x = _local8;
do_sound("puff_sound");
switch (_local9) {
case "zombie" :
case "crab" :
_local7._y = _local4 - (tileHeight / 2);
spawn_item(_local8, _local4, _local10);
break;
case "troll" :
_local7._y = _local4 - tileHeight;
trans_var = "troll";
fade_out("black");
break;
case "piggy" :
_local7._y = _local4 - tileHeight;
flag_position();
break;
case "vbat" :
_local7._y = _local4;
break;
default :
_local7._y = _local4;
spawn_item(_local8, _local4, _local10);
}
poof_count++;
}
}
}
function remove_character(character) {
var _local1 = 0;
while (_local1 < character_array.length) {
if (character_array[_local1] == character._name) {
character_array.splice(_local1, 1);
break;
}
_local1++;
}
removeMovieClip(character);
}
function generate_item(i_x, i_y) {
var _local8 = _root[my_set][stage_num][1][i_y][i_x][1];
var _local3 = 0;
while (_local3 < item_collect_array.length) {
if (item_collect_array[_local3] == ((("item" + i_y) + "_") + i_x)) {
return(undefined);
}
_local3++;
}
var _local7 = my_stage.item_holder.attachMovie("item_" + _local8, (("item" + i_y) + "_") + i_x, i_x + (i_y * map_length));
_local7.my_var = _local8;
_local7._x = (i_x * tileWidth) + (tileWidth / 2);
_local7._y = (i_y * tileHeight) + (tileHeight / 2);
var _local6 = false;
var _local2 = 0;
while (_local2 < item_array.length) {
if (item_array[_local2] == ((("item" + i_y) + "_") + i_x)) {
_local6 = true;
}
_local2++;
}
if (!_local6) {
item_array.push((("item" + i_y) + "_") + i_x);
}
}
function spawn_item(my_x, my_y, my_type) {
var _local4 = Math.floor(my_x / tileWidth);
var _local3 = Math.floor(my_y / tileHeight);
var _local2 = 0;
var _local5 = Math.floor(Math.random() * 10);
if (_local5 > 1) {
_local2 = 1;
} else {
_local2 = 2;
}
var _local1 = my_stage.item_holder.attachMovie("item_" + _local2, (("item" + _local3) + "_") + _local4, _local4 + (_local3 * map_length));
_local1.my_var = _local2;
_local1._x = my_x;
_local1._y = my_y;
_local1.y_speed = 10;
_local1.fc = 0;
item_array.push((("item" + _local3) + "_") + _local4);
}
function add_score(score) {
my_score = my_score + score;
pause_menu.UI.score_output.text = my_score;
}
function item_collect(item, my_var, pv) {
item_collect_array.push(item._name);
switch (item.my_var) {
case 1 :
var _local3 = Math.floor(Math.random() * 9) + stage_num;
add_money(item, _local3);
do_sound("coin_sound");
break;
case 2 :
change_health(5, pv);
do_sound("spring_sound");
break;
case 3 :
do_sparkle(item, pv);
break;
case 4 :
update_weapon("bow", pv);
break;
case 5 :
change_health(50, pv);
break;
case 6 :
add_to_inv("Gem");
break;
case 7 :
add_to_inv("Artifact(b)");
break;
case 8 :
case 9 :
pass_stage();
break;
case 10 :
if (check_inv("Key")) {
remove_inv("Key", 1);
add_score(1000);
break;
}
return(undefined);
case 11 :
add_to_inv("Key");
break;
case 99 :
collect_flag(item);
default :
add_to_inv(item);
}
if (item.my_var != 99) {
item_array.splice(my_var, 1);
removeMovieClip(item);
}
}
function do_sparkle(item, pv) {
door_var = undefined;
if (_root[("p" + pv) + "og"]) {
_root["p" + pv].gotoAndStop(_root[("p" + pv) + "w"] + "_static");
dress_char(pv);
}
stopAllSounds();
do_sound("bonus_sound");
_root["game_state_" + pv] = "trans";
var _local3 = my_stage.attachMovie("sparkle", "sparkle", my_stage.getNextHighestDepth());
_local3._x = item._x;
_local3._y = item._y;
}
function add_money(item, my_amount) {
money = money + my_amount;
pause_menu.my_money.text = "$" + money;
if (float_num == undefined) {
float_num = 0;
}
var _local4 = item._x;
var _local3 = item._y;
if (bonus == undefined) {
var _local1 = my_stage.item_holder.attachMovie("float", "float" + float_num, item.getDepth());
} else {
var _local1 = bth.attachMovie("float", "float" + float_num, item.getDepth());
}
_local1._x = _local4;
_local1._y = _local3;
_local1.clip.gotoAndStop(my_amount);
float_num++;
}
function flag_collect(my_x, my_y) {
flag_x = my_x + hpw;
flag_y = my_y + (_root["p" + cpv]._height / 2);
}
function update_weapon(my_weapon, pv) {
var _local4 = _root[(my_weapon + "_amount_") + pv];
var _local5 = _root[("p" + pv) + "w"];
if (isNaN(weapon_delay)) {
_root[("p" + pv) + "w"] = my_weapon;
init_attack(pv);
} else if (_root[("p" + pv) + "w"] == my_weapon) {
_local4 = _root[(my_weapon + "_amount_") + pv];
_local4 = _local4 + _root[my_weapon + "_collect_amount"];
if (_local4 > _root[my_weapon + "_max_amount"]) {
_local4 = _root[my_weapon + "_max_amount"];
}
} else {
_root[("p" + pv) + "w"] = my_weapon;
_root[(my_weapon + "_amount_") + pv] = _root[my_weapon + "_start_amount"];
}
_root[("p" + pv) + "w"] = my_weapon;
if (my_weapon == "bow") {
pause_menu["arrow_clip_" + pv].gotoAndStop(2);
pause_menu["arrow_clip_" + pv].my_num.text = "x" + _root[(my_weapon + "_amount_") + pv];
} else {
pause_menu["arrow_clip_" + pv].gotoAndStop(1);
}
}
function init_shop() {
_root["game_state_" + cpv] = "shopping";
shop = character;
prev_loop = my_loop;
do_loop("shop_loop");
do_sound("shop_ding");
var _local3 = _root.attachMovie("shopping_clip", "shopping_clip", this.getNextHighestDepth());
_local3._x = game._x;
_local3._y = game._y;
set_shop();
hand_var = 1;
do_hand();
do_text_screen("What would you like?");
}
function set_shop() {
var _local3 = 1;
var _local2 = 1;
var _local5 = 1;
var _local4 = 2;
switch (stage_num) {
case 5 :
if (_root[("p" + cpv) + "wv"] < 1) {
_local3 = 2;
my_cost_1 = 90;
} else {
my_cost_1 = 0;
_local3 = 1;
}
if (_root[("p" + cpv) + "wv"] < 2) {
_local2 = 3;
my_cost_2 = 180;
} else {
_local2 = 1;
my_cost_2 = 0;
}
break;
case 15 :
if (_root[("p" + cpv) + "sv"] < 1) {
_local3 = 6;
my_cost_1 = 380;
} else {
my_cost_1 = 0;
_local3 = 1;
}
if (_root[("p" + cpv) + "sv"] < 2) {
_local2 = 7;
my_cost_2 = 540;
} else {
_local2 = 1;
my_cost_2 = 0;
}
break;
case 16 :
if (_root[("p" + cpv) + "wv"] < 3) {
_local3 = 4;
my_cost_1 = 450;
} else {
my_cost_1 = 0;
_local3 = 1;
}
if (_root[("p" + cpv) + "wv"] < 4) {
_local2 = 5;
my_cost_2 = 630;
} else {
_local2 = 1;
my_cost_2 = 0;
}
_local5 = 3;
_local4 = 4;
break;
case 20 :
if (_root[("p" + cpv) + "sv"] < 3) {
_local3 = 8;
my_cost_1 = 450;
} else {
my_cost_1 = 0;
_local3 = 1;
}
if (_root[("p" + cpv) + "sv"] < 4) {
_local2 = 9;
my_cost_2 = 630;
} else {
_local2 = 1;
my_cost_2 = 0;
}
_local5 = 3;
_local4 = 4;
break;
default :
trace("shop door: " + door_var);
}
if (my_cost_1 > 0) {
shopping_clip.my_cost_1 = "$" + my_cost_1;
} else {
shopping_clip.my_cost_1 = "SOLD";
}
if (my_cost_2 > 0) {
shopping_clip.my_cost_2 = "$" + my_cost_2;
} else {
shopping_clip.my_cost_2 = "SOLD";
}
shopping_clip.my_pic_1.gotoAndStop(_local3);
shopping_clip.my_pic_2.gotoAndStop(_local2);
shopping_clip.my_base_1.gotoAndStop(_local5);
shopping_clip.my_base_2.gotoAndStop(_local4);
shopping_clip.my_money = "$" + money;
}
function do_hand() {
switch (hand_var) {
case 0 :
shopping_clip.hand._x = 76;
return;
case 1 :
shopping_clip.hand._x = 256;
return;
case 2 :
shopping_clip.hand._x = 436;
return;
}
}
function trade_left() {
if (hand_var > 0) {
hand_var--;
do_sound("sword_sound");
do_hand();
}
}
function trade_right() {
if (hand_var < 2) {
hand_var++;
do_sound("sword_sound");
do_hand();
}
}
function do_text_screen(my_mess) {
shopping_clip.gotoAndStop(1);
shopping_clip.my_text = my_mess;
removeMovieClip(shopping_clip.my_list);
}
function trade() {
if (hand_var == 1) {
trans_var = "shop";
fade_out("black");
} else {
select_item();
}
}
function select_item() {
if (hand_var == 0) {
if (my_cost_1 > money) {
do_text_screen("Not enough Money!");
return(undefined);
}
if (my_cost_1 == 0) {
do_text_screen("Sold out!");
return(undefined);
}
do_text_screen("Thanks!");
do_sound("shop_ding");
money = money - my_cost_1;
switch (stage_num) {
case 5 :
_root[("p" + cpv) + "wv"] = 1;
dress_char(cpv);
break;
case 15 :
_root[("p" + cpv) + "sv"] = 1;
dress_char(cpv);
break;
case 16 :
_root[("p" + cpv) + "wv"] = 3;
dress_char(cpv);
break;
case 20 :
_root[("p" + cpv) + "sv"] = 3;
dress_char(cpv);
break;
}
shopping_clip.my_cost_1 = "SOLD";
set_shop();
} else {
if (my_cost_2 > money) {
do_text_screen("Not enough Money!");
return(undefined);
}
if (my_cost_2 == 0) {
do_text_screen("Sold out!");
return(undefined);
}
do_text_screen("Thanks!");
do_sound("shop_ding");
money = money - my_cost_2;
switch (stage_num) {
case 5 :
_root[("p" + cpv) + "wv"] = 2;
dress_char(cpv);
break;
case 15 :
_root[("p" + cpv) + "sv"] = 2;
dress_char(cpv);
break;
case 16 :
_root[("p" + cpv) + "wv"] = 4;
dress_char(cpv);
break;
case 20 :
_root[("p" + cpv) + "sv"] = 4;
dress_char(cpv);
break;
}
set_shop();
}
shopping_clip.my_money = "$" + money;
}
function leave() {
shop.length = 0;
prev_select = "";
exit_door();
removeMovieClip(shopping_clip);
do_loop(prev_loop);
_root["game_state_" + cpv] = "playing";
pause_menu._visible = true;
message_window.gotoAndStop(1);
}
function createEditor() {
if ((Stage.width < 600) || (Stage.height < 500)) {
trace("***WARNING*** Stage size is too small. To view editor correctly, please increase the stage's width and height to 600 in the document settings. ***");
}
_root.createEmptyMovieClip("editor", 0);
var _local5 = editor.createEmptyMovieClip("my_stage", editor.getNextHighestDepth());
var _local17 = _local5.attachMovie("view_window", "view_window", editor.getNextHighestDepth());
_local17.view_button.setMask(_local17.my_mask);
_local17._x = 20;
_local17._y = 20;
var _local6 = editor.my_stage.view_window.createEmptyMovieClip("my_bg", d_window - 100);
mask_width = Math.ceil(300 / tileWidth) * tileWidth;
mask_height = Math.ceil(300 / tileHeight) * tileHeight;
_local5.view_window.screen_view._y = (screenHeight * 2) - 20;
my_right = _local5.view_window.my_mask._width - (tileWidth * map_width);
my_top = _local5.view_window.my_mask._height - (tileHeight * map_height);
my_total_width = tileWidth * map_width;
my_total_height = tileHeight * map_height;
var _local10 = _local5.view_window.view_button.movie_in_button.createEmptyMovieClip("back_solid", editor.my_stage.view_window.view_button.movie_in_button.getNextHighestDepth());
_local10.beginFill(my_bg_colour, 100);
_local10.moveTo(0, 0);
_local10.lineTo(0, my_total_height);
_local10.lineTo(my_total_width, my_total_height);
_local10.lineTo(my_total_width, 0);
_local10.lineTo(0, 0);
_local10.endFill();
var _local16 = editor.my_stage.view_window.view_button.movie_in_button.attachMovie(my_background, "background_img", editor.my_stage.view_window.view_button.movie_in_button.getNextHighestDepth());
if ((my_total_width < 100) || (my_total_height < 100)) {
trace("***WARNING: Map stage is too small to display editor correctly***");
}
var _local11 = _local16._parent.createEmptyMovieClip("back_mask", _local10._parent.getNextHighestDepth());
_local11.beginFill(0, 100);
_local11.moveTo(0, 0);
_local11.lineTo(0, my_total_height);
_local11.lineTo(my_total_width, my_total_height);
_local11.lineTo(my_total_width, 0);
_local11.lineTo(0, 0);
_local11.endFill();
_local16.setMask(_local11);
editor.tile_amount = 0;
editor.item_amount = 0;
editor.enemy_amount = 0;
if (mask_width > 600) {
mask_width = 600;
}
if (mask_height > 500) {
mask_height = 500;
}
if (my_total_width < mask_width) {
mask_width = my_total_width;
}
if (my_total_height < mask_height) {
mask_height = my_total_height;
}
_local5.view_window.my_mask._width = mask_width;
_local5.view_window.my_mask._height = mask_height;
mov = _local5.view_window.view_button.movie_in_button;
var _local29 = mov.attachMovie("my_sel", "my_sel", mov.getNextHighestDepth());
_local29._width = tileWidth;
_local29._height = tileHeight;
var _local18 = _local5.attachMovie("my_stage_head", "my_stage_head", _local5.getNextHighestDepth());
_local18._x = 18;
_local18._y = -6;
_local18.onPress = function () {
editor.my_stage.startDrag();
editor.my_stage.swapDepths(editor.getNextHighestDepth());
};
_local18.onRelease = function () {
editor.my_stage.stopDrag();
};
var _local12 = _local5.attachMovie("nav_2", "nav_2", _local5.getNextHighestDepth());
_local12._x = 96;
_local12._y = -6;
_local12._width = mask_width - 76;
_local12.onPress = function () {
editor.my_stage.startDrag();
editor.my_stage.swapDepths(editor.getNextHighestDepth());
};
_local12.onRelease = function () {
editor.my_stage.stopDrag();
};
var _local13 = _local5.attachMovie("f_play_button", "f_play_button", _local5.getNextHighestDepth());
_local13._x = (_local12._x + _local12._width) - (_local13._width / 1.5);
_local13._y = -2;
_local13._xscale = 60;
_local13._yscale = 60;
_local13.onRelease = function () {
_root.preview_map();
};
_local5._x = -8;
_local5._y = 16;
var _local30 = _local5.attachMovie("nav_3", "nav_3", _local5.getNextHighestDepth());
_local30._x = mask_width + 20;
_local30._y = -6;
var _local22 = _local5.attachMovie("nav_4", "nav_4", _local5.getNextHighestDepth());
_local22._x = 18;
_local22._y = 20;
_local22._height = mask_height;
var _local20 = _local5.attachMovie("nav_5", "nav_5", _local5.getNextHighestDepth());
_local20._x = mask_width + 20;
_local20._y = 20;
_local20._height = mask_height;
var _local28 = _local5.attachMovie("nav_6", "nav_6", _local5.getNextHighestDepth());
_local28._x = 20;
_local28._y = mask_height + 20;
_local28._width = mask_width;
var nav_width = (Stage.width - (mask_width + 60));
if (nav_width > (my_total_width / 2)) {
nav_width = my_total_width / 2;
}
nav_percent = nav_width / my_total_width;
var nav_height = (my_total_height * nav_percent);
if (nav_height > (mask_height / 2)) {
nav_height = mask_height / 2;
nav_percent = nav_height / my_total_height;
nav_width = my_total_width * nav_percent;
}
var _local25 = mask_width * nav_percent;
var _local23 = mask_height * nav_percent;
var nav = editor.createEmptyMovieClip("nav", editor.getNextHighestDepth());
var _local19 = nav.createEmptyMovieClip("nav_base", nav.getNextHighestDepth());
var _local24 = _local19.createEmptyMovieClip("nav_back", -1000);
nav._x = mask_width + 40;
nav._y = 20;
_local24.beginFill(my_bg_colour, 100);
_local24.moveTo(0, 0);
_local24.lineTo(0, nav_height);
_local24.lineTo(nav_width, nav_height);
_local24.lineTo(nav_width, 0);
_local24.lineTo(0, 0);
_local24.endFill();
_local19.onRollOver = function () {
this.useHandCursor = false;
};
_local19.onRelease = function () {
nav.swapDepths(editor.getNextHighestDepth());
};
if (my_background != "") {
_local24 = nav.nav_base.attachMovie(nav_background, "nav_back", nav.getNextHighestDepth());
_local24._width = _local24._width * nav_percent;
_local24._height = _local24._height * nav_percent;
}
var _local8 = nav.createEmptyMovieClip("nav_mask", nav.getNextHighestDepth());
_local8.beginFill(my_bg_colour, 0);
_local8.moveTo(0, 0);
_local8.lineTo(0, nav_height);
_local8.lineTo(nav_width, nav_height);
_local8.lineTo(nav_width, 0);
_local8.lineTo(0, 0);
_local8.endFill();
_local19.setMask(_local8);
var _local7 = nav.createEmptyMovieClip("nav_mask2", nav.getNextHighestDepth());
_local7.beginFill(0, 100);
_local7.moveTo(0, 0);
_local7.lineTo(0, nav_height);
_local7.lineTo(nav_width, nav_height);
_local7.lineTo(nav_width, 0);
_local7.lineTo(0, 0);
_local7.endFill();
var pos = nav.createEmptyMovieClip("pos", nav.getNextHighestDepth());
pos.beginFill(0, 0);
pos.lineStyle(0, 16711680);
pos.moveTo(0, 0);
pos.lineTo(0, _local23);
pos.lineTo(_local25, _local23);
pos.lineTo(_local25, 0);
pos.lineTo(0, 0);
pos.endFill();
pos.setMask(_local7);
pos.onPress = function () {
nav.swapDepths(editor.getNextHighestDepth());
this.startDrag(false, 5 - pos._width, 5 - pos._height, nav_width - 5, nav_height - 5);
update = false;
};
pos.onRelease = function () {
stopDrag();
update = true;
};
pos.onRollOut = (pos.onReleaseOutside = function () {
stopDrag();
update = true;
my_drag = false;
});
if (nav_width >= 66) {
var _local9 = nav.attachMovie("nav_1", "nav_1", editor.nav.getNextHighestDepth());
_local9._x = -2;
_local9._y = -24;
} else {
var _local9 = nav.createEmptyMovieClip("nav_1", editor.nav.getNextHighestDepth());
_local9._x = -2;
_local9._y = -24;
var _local34 = _local9.attachMovie("nav_corner", "c", _local9.getNextHighestDepth());
var _local26 = _local9.attachMovie("nav_2", "nav_2", _local9.getNextHighestDepth());
_local26._x = 2;
_local26._width = nav_width;
}
_local9.onPress = function () {
editor.nav.startDrag();
editor.nav.swapDepths(editor.getNextHighestDepth());
};
_local9.onRelease = function () {
editor.nav.stopDrag();
};
if (nav_width >= 66) {
var _local15 = nav.attachMovie("nav_2", "nav_2", editor.nav.getNextHighestDepth());
_local15._x = 66;
_local15._y = -24;
_local15._width = nav_width - 66;
_local15.onPress = function () {
editor.nav.startDrag();
editor.nav.swapDepths(editor.getNextHighestDepth());
};
_local15.onRelease = function () {
editor.nav.stopDrag();
};
}
_local30 = nav.attachMovie("nav_3", "nav_3", editor.nav.getNextHighestDepth());
_local30._x = nav_width;
_local30._y = -24;
_local22 = nav.attachMovie("nav_4", "nav_4", editor.nav.getNextHighestDepth());
_local22._x = -2;
_local22._y = 2;
_local22._height = nav_height - 2;
_local20 = nav.attachMovie("nav_5", "nav_5", editor.nav.getNextHighestDepth());
_local20._x = nav_width;
_local20._y = 2;
_local20._height = nav_height - 2;
_local28 = nav.attachMovie("nav_6", "nav_6", editor.nav.getNextHighestDepth());
_local28._y = nav_height;
_local28._width = nav_width;
editor.onEnterFrame = function () {
if (update) {
pos._x = -(editor.my_stage.view_window.view_button._x * nav_percent);
pos._y = -(editor.my_stage.view_window.view_button._y * nav_percent);
} else {
editor.my_stage.view_window.view_button._x = (-pos._x) / nav_percent;
editor.my_stage.view_window.view_button._y = (-pos._y) / nav_percent;
}
};
nav._x = mask_width + 30;
nav._y = 34;
_local6.beginFill(14540253, 100);
_local6.moveTo(0, 0);
_local6.lineTo(0, mask_height);
_local6.lineTo(mask_width, mask_height);
_local6.lineTo(mask_width, 0);
_local6.lineTo(0, 0);
_local6.endFill();
_local6.onRollOver = function () {
this.useHandCursor = false;
};
_local6.onRelease = function () {
editor.my_stage.swapDepths(editor.getNextHighestDepth());
};
_local5.view_window.view_button.onPress = function () {
startDrag (editor.my_stage.view_window.view_button, false, 5 - (tileWidth * map_width), 5 - (tileHeight * map_height), mask_width - 5, mask_height - 5);
editor.my_stage.swapDepths(editor.getNextHighestDepth());
};
_local5.view_window.view_button.onRelease = function () {
_root.place_sel();
editor.my_stage.view_window.view_button.stopDrag();
};
var _local21 = new ContextMenu();
_local21.hideBuiltInItems();
_local21.customItems.push(new ContextMenuItem("Define as Target", defineEmptyTarget));
editor.my_stage.view_window.view_button.menu = _local21;
editor.my_stage.view_window.view_button.onEnterFrame = function () {
move_sel();
if (Key.isDown(65)) {
var _local2 = 0;
while (_local2 < map_height) {
var _local3 = 0;
while (_local3 < map_width) {
_root.mov.my_sel._x = _local3 * tileWidth;
_root.mov.my_sel._y = _local2 * tileHeight;
_root.draw_item();
_local3++;
}
_local2++;
}
}
if (((!previewing) && (Key.isDown(32) || (Key.isDown(90)))) && (editor.variable_window._x == undefined)) {
_root.space_pressed = true;
_root.draw_item();
showToolBarItem(_root.my_sel);
}
if ((((!previewing) && (Key.isDown(88))) && (!_root.space_pressed)) && (editor.variable_window._x == undefined)) {
var _local4 = my_var;
var _local5 = my_sel;
my_var = 0;
my_sel = tab_selected;
_root.draw_item();
my_var = _local4;
my_sel = _local5;
}
if ((!Key.isDown(32)) && (!Key.isDown(90))) {
_root.space_pressed = false;
}
if ((Key.isDown(67) && (!move_pressed)) && (!previewing)) {
move_pressed = true;
var _local3 = 0;
while (_local3 < map_width) {
_root.mov.my_sel._x = _local3 * tileWidth;
_root.draw_item();
_local3++;
}
}
if ((Key.isDown(86) && (!move_pressed)) && (!previewing)) {
move_pressed = true;
change_curr(1);
}
if ((!Key.isDown(67)) && (!Key.isDown(86))) {
move_pressed = false;
}
};
var _local14 = _local16._parent.createEmptyMovieClip("border", _local16._parent.getNextHighestDepth());
_local14.lineStyle(1, 10329501, 100);
_local14.moveTo(0, 0);
_local14.lineTo(0, my_total_height);
_local14.lineTo(my_total_width, my_total_height);
_local14.lineTo(my_total_width, 0);
_local14.lineTo(0, 0);
var pb = editor.attachMovie("properties_bar", "properties_bar", d_window++);
pb._y = 370;
pb._x = 10;
pb.scroll_type.text = "Select scroll type";
pb.scroll_speed.text = 1;
my_scroll_type = 1;
pb.scroll_options._visible = false;
var _local27 = _root[types[0] + "Ref"][0];
pb.my_name.text = _local27;
pb.my_type.text = types[0];
_root.my_var = 0;
_root.my_sel = types[0];
var _local31 = pb.curr.attachMovie(_local27, "p_curr", _root.editor.properties_bar.getNextHighestDepth());
_local31._width = 42;
_local31._height = 42;
do_colour(my_bg_colour);
my_background_type = "col";
if (my_background_type == "col") {
my_background_var = my_bg_colour;
} else {
my_background_var = "my_image";
}
pb.drag_button.onPress = function () {
pb.swapDepths(editor.getNextHighestDepth());
this._parent.startDrag();
};
pb.drag_button.onRelease = function () {
this._parent.stopDrag();
};
pb.drag_button.onRollOut = function () {
this._parent.stopDrag();
};
pb.drag_button.onDragOver = function () {
this._parent.stopDrag();
};
pb.back.onRollOver = function () {
this.useHandCursor = false;
};
pb.back.onRelease = function () {
pb.swapDepths(editor.getNextHighestDepth());
};
generateGrid();
createToolbar();
}
function removeEditor() {
removeMovieClip(editor);
my_menu.gotoAndStop(1);
}
function do_help() {
if (editor.my_help != undefined) {
editor.my_help.swapDepths(editor.getNextHighestDepth());
} else {
var _local1 = editor.attachMovie("my_help", "my_help", editor.getNextHighestDepth());
_local1._x = (Stage.width / 2) - (_local1._width / 2);
_local1._y = (Stage.height / 2) - (_local1._height / 2);
_local1.my_back.onRelease = function () {
};
_local1.my_back.useHandCursor = false;
}
}
function do_colour(my_colour) {
removeMovieClip(editor.properties_bar.col);
removeMovieClip(editor.properties_bar.img);
var _local1 = editor.properties_bar.createEmptyMovieClip("col", editor.getNextHighestDepth());
var _local3 = 219;
var _local4 = 15;
var _local2 = 41;
var _local5 = 12;
_local1.beginFill(my_colour, 100);
_local1.lineStyle(0, 16711935, 0);
_local1.moveTo(_local3, _local2);
_local1.lineTo(_local3, _local2 + _local5);
_local1.lineTo(_local3 + _local4, _local2 + _local5);
_local1.lineTo(_local3 + _local4, _local2);
_local1.lineTo(_local3, _local2);
_local1.endFill();
_local1.onRelease = function () {
do_colour_picker();
};
}
function do_colour_picker() {
var picker = editor.properties_bar.attachMovie("colour_picker", "colour_picker", editor.properties_bar.getNextHighestDepth());
picker._x = 216;
picker._y = 38;
if (my_background_type == "img") {
picker.img = my_background_var;
} else {
picker.img = "<Enter background>";
}
picker.my_back.onRelease = function () {
removeMovieClip(this._parent);
};
picker.onMouseUp = function () {
if ((((this._x > this._parent._xmouse) || (this._x < (this._parent._xmouse - this._width))) || (this._y > this._parent._ymouse)) || (this._y < (this._parent._ymouse - this._height))) {
removeMovieClip(this);
}
};
var _local3 = picker.createEmptyMovieClip("curr", picker.getNextHighestDepth());
_local3.beginFill(my_bg_colour, 100);
_local3.lineStyle(0, 16711935, 0);
_local3.moveTo(0, 0);
_local3.lineTo(0, 20);
_local3.lineTo(20, 20);
_local3.lineTo(20, 0);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._x = 2;
_local3._y = 2;
var _local5 = new Array("0x000033", "0x000066", "0x000099", "0x0000CC", "0x0000FF", "0x0000FF", "0x0033FF", "0x0066FF", "0x0099FF", "0x00CCFF", "0xCC00FF", "0xCC33FF", "0xCC66FF", "0xCC99FF", "0xCCCCFF", "0xFF00FF", "0xFF33FF", "0xFF66FF", "0xFF99FF", "0xFFCCFF", "0x006600", "0x009900", "0x00CC00", "0x00FF00", "0x66FF66", "0x6B4500", "0x815300", "0x996600", "0xBA7000", "0xCC9966", "0X000000", "0x666666", "0x999999", "0xCCCCCC", "0xFFFFFF", "0xFF6666", "0xFF6600", "0xFF9900", "0xFFCC00", "0xFFFF00");
var _local4 = 0;
while (_local4 < _local5.length) {
var _local2 = picker.createEmptyMovieClip("swatch" + _local4, picker.getNextHighestDepth());
_local2.beginFill(_local5[_local4], 100);
_local2.lineStyle(0, 16711935, 0);
_local2.moveTo(0, 0);
_local2.lineTo(0, 20);
_local2.lineTo(20, 20);
_local2.lineTo(20, 0);
_local2.lineTo(0, 0);
_local2.endFill();
_local2.my_col = _local5[_local4];
_local2.onRollOver = function () {
removeMovieClip(picker.curr);
var _local2 = picker.createEmptyMovieClip("curr", picker.getNextHighestDepth());
_local2.beginFill(this.my_col, 100);
_local2.lineStyle(0, 16711935, 0);
_local2.moveTo(0, 0);
_local2.lineTo(0, 20);
_local2.lineTo(20, 20);
_local2.lineTo(20, 0);
_local2.lineTo(0, 0);
_local2.endFill();
_local2._x = 2;
_local2._y = 2;
};
_local2.onRelease = function () {
do_bg_colour(this.my_col);
removeMovieClip(editor.properties_bar.colour_picker);
};
_local2._x = (22 * (_local4 % 10)) + 2;
_local2._y = (Math.floor(_local4 / 10) * 22) + 24;
_local4++;
}
}
function pick_img(img) {
if ((img == "") || (img == "<Enter background>")) {
do_prompt("\nInvalid background linkage name.");
var _local3 = editor.my_prompt;
_local3.my_button.onRelease = function () {
removeMovieClip(editor.my_prompt);
};
return(false);
}
my_background_type = "img";
my_background_var = img;
removeMovieClip(editor.properties_bar.colour_picker);
var _local1 = editor.properties_bar.attachMovie("img", "img", editor.properties_bar.getNextHighestDepth());
_local1._x = 219;
_local1._y = 41;
}
function do_bg_colour(colour_var) {
my_bg_colour = colour_var;
my_background_type = "col";
my_background_var = colour_var;
do_colour(colour_var);
var _local6 = mov.back_solid.getDepth();
var _local2 = mov.createEmptyMovieClip("back_solid", _local6);
_local2.beginFill(my_bg_colour, 100);
_local2.moveTo(0, 0);
_local2.lineTo(0, my_total_height);
_local2.lineTo(my_total_width, my_total_height);
_local2.lineTo(my_total_width, 0);
_local2.lineTo(0, 0);
_local2.endFill();
removeMovieClip(editor.nav.nav_base.nav_back);
var _local3 = my_total_width * nav_percent;
var _local4 = my_total_height * nav_percent;
var _local1 = editor.nav.nav_base.createEmptyMovieClip("nav_back", -1000);
_local1.beginFill(my_bg_colour, 100);
_local1.moveTo(0, 0);
_local1.lineTo(0, _local4);
_local1.lineTo(_local3, _local4);
_local1.lineTo(_local3, 0);
_local1.lineTo(0, 0);
_local1.endFill();
}
function defineEmptyTarget(obj, menuItem) {
if (defining == "none") {
var _local5 = Math.floor(obj._xmouse / tileWidth);
var _local4 = Math.floor(obj._ymouse / tileHeight);
var _local1 = mov.my_sel;
_local1._x = _local5 * tileWidth;
_local1._y = _local4 * tileHeight;
_local1.swapDepths(mov.getNextHighestDepth());
obj.menu = null;
var _local2 = new ContextMenu();
_local2.hideBuiltInItems();
_local2.customItems.push(new ContextMenuItem("Please select a lever", empty_function));
obj.menu = _local2;
defining = "target";
draw_empty_tile(_local5, _local4);
do_target_prompt();
} else {
trace("***Error: \"defining\" variable is already set. Please complete current action first.***");
}
}
function display_scroll_options() {
if (editor.properties_bar.scroll_options._visible) {
editor.properties_bar.scroll_options._visible = false;
if (my_scroll_type > 1) {
editor.properties_bar.speed._visible = true;
} else {
editor.properties_bar.speed._visible = false;
}
} else {
editor.properties_bar.scroll_options._visible = true;
}
}
function generateGrid() {
var _local1 = editor.my_stage.view_window.view_button.createEmptyMovieClip("grid", editor.my_stage.view_window.view_button.getNextHighestDepth);
i = 0;
while (i <= map_width) {
_local1.lineStyle(0, 0, 100);
_local1.moveTo(tileWidth * i, 0);
_local1.lineTo(tileWidth * i, tileHeight * map_height);
i++;
}
i = 0;
while (i <= map_height) {
_local1.lineStyle(0, 0, 100);
_local1.moveTo(0, i * tileHeight);
_local1.lineTo(map_width * tileWidth, i * tileHeight);
i++;
}
_local1._visible = false;
}
function place_sel() {
var _local1 = mov.my_sel;
_local1._x = Math.round((_local1._parent._xmouse - (tileWidth / 2)) / tileWidth) * tileWidth;
_local1._y = Math.round((_local1._parent._ymouse - (tileHeight / 2)) / tileHeight) * tileHeight;
}
function move_sel() {
move_sel_stage = editor.my_stage.view_window.view_button;
var _local1 = mov.my_sel;
if ((((((!previewing) && (Key.isDown(39))) && (!keyPressed)) && (my_prompt._x == undefined)) && (editor.variable_window._x == undefined)) && (_local1._x < ((map_width * tileWidth) - _local1._width))) {
if ((_local1._x + (tileWidth * 2)) < (mask_width - move_sel_stage._x)) {
_local1._x = _local1._x + tileWidth;
} else {
move_sel_stage._x = move_sel_stage._x - tileWidth;
_local1._x = _local1._x + tileWidth;
}
keyPressed = true;
} else if ((((((!previewing) && (Key.isDown(37))) && (!keyPressed)) && (my_prompt._x == undefined)) && (editor.variable_window._x == undefined)) && (_local1._x > 0)) {
if (_local1._x > 0) {
_local1._x = _local1._x - tileWidth;
if ((_local1._x + move_sel_stage._x) < tileWidth) {
move_sel_stage._x = move_sel_stage._x + tileWidth;
}
}
keyPressed = true;
} else if ((((((!previewing) && (Key.isDown(40))) && (!keyPressed)) && (my_prompt._x == undefined)) && (editor.variable_window._x == undefined)) && (_local1._y < ((map_height * tileHeight) - _local1._height))) {
if ((_local1._y + (tileHeight * 2)) < (mask_height - move_sel_stage._y)) {
_local1._y = _local1._y + tileHeight;
} else {
move_sel_stage._y = move_sel_stage._y - tileHeight;
_local1._y = _local1._y + tileHeight;
}
keyPressed = true;
} else if ((((((!previewing) && (Key.isDown(38))) && (!keyPressed)) && (my_prompt._x == undefined)) && (editor.variable_window._x == undefined)) && (_local1._y > 0)) {
if (_local1._y > 0) {
_local1._y = _local1._y - tileHeight;
if ((_local1._y + move_sel_stage._y) < tileHeight) {
move_sel_stage._y = move_sel_stage._y + tileHeight;
}
}
keyPressed = true;
}
if ((((!Key.isDown(39)) && (!Key.isDown(40))) && (!Key.isDown(37))) && (!Key.isDown(38))) {
keyPressed = false;
}
}
function createToolbar() {
var tools = editor.attachMovie("toolbar_main", "toolbar", editor.getNextHighestDepth());
tools._x = editor.nav._x - 1;
tools._y = editor.nav._height + 22;
tools.toolbar_base.onPress = function () {
tools.startDrag();
tools.swapDepths(editor.getNextHighestDepth());
};
tools.toolbar_base.onRelease = function () {
stopDrag();
};
tools.toolbar_base.onReleaseOutside = function () {
stopDrag();
};
tools.my_back.useHandCursor = false;
tools.my_back.onRelease = function () {
tools.swapDepths(editor.getNextHighestDepth());
};
d = d + 10;
tile_list = editor.toolbar.createEmptyMovieClip("tile_menu_item", d++);
generateToolList("tile", 0);
item_list = editor.toolbar.createEmptyMovieClip("item_menu_item", d++);
generateToolList("item", 1);
enemy_list = editor.toolbar.createEmptyMovieClip("character_menu_item", d++);
generateToolList("character", 2);
player_list = editor.toolbar.createEmptyMovieClip("player_menu_item", d++);
generateToolList("player", 3);
showToolBarItem("tile");
}
function showToolBarItem(my_type) {
var _local1 = editor.toolbar;
if (defining != "none") {
if (my_type == "tile") {
_local1.toolbar_base.gotoAndStop(1);
_local1.tile_menu_item._visible = true;
_local1.item_menu_item._visible = false;
_local1.character_menu_item._visible = false;
_local1.player_menu_item._visible = false;
}
} else {
tab_selected = my_type;
if (my_type == "tile") {
_local1.toolbar_base.gotoAndStop(1);
_local1.tile_menu_item._visible = true;
_local1.item_menu_item._visible = false;
_local1.character_menu_item._visible = false;
_local1.player_menu_item._visible = false;
} else if (my_type == "item") {
_local1.toolbar_base.gotoAndStop(2);
_local1.tile_menu_item._visible = false;
_local1.item_menu_item._visible = true;
_local1.character_menu_item._visible = false;
_local1.player_menu_item._visible = false;
} else if (my_type == "character") {
_local1.tile_menu_item._visible = false;
_local1.toolbar_base.gotoAndStop(3);
_local1.item_menu_item._visible = false;
_local1.character_menu_item._visible = true;
_local1.player_menu_item._visible = false;
} else if (my_type == "player") {
_local1.tile_menu_item._visible = false;
_local1.toolbar_base.gotoAndStop(4);
_local1.item_menu_item._visible = false;
_local1.character_menu_item._visible = false;
_local1.player_menu_item._visible = true;
}
}
}
function generateToolList(my_type, my_var) {
var base = editor.toolbar[my_type + "_menu_item"];
my_list = base.createEmptyMovieClip("my_list", d++);
my_list._y = 1;
base._x = 4;
base._y = 27;
var lw = 5;
var i = 0;
while (i < _root[my_type + "Ref"].length) {
var item = my_list.attachMovie("item_back_mov", (my_type + "_sel_") + i, d++);
item._x = my_list._x + (38 * (i % lw));
item._y = 38 * Math.floor(i / lw);
item.my_name = eval (my_type + "Ref")[i];
item.my_title = item.my_name;
item.my_var = i;
item.my_sel = my_type;
var img = item.attachMovie(eval (my_type + "Ref")[i], ((my_type + "_sel_") + i) + "_img", d++);
if ((my_type == "tile") || (my_type == "item")) {
img._x = 2;
img._y = 2;
if (img._width > 32) {
img._width = 32;
}
if (img._height > 32) {
img._height = 32;
}
} else {
adjust_size(img, 32);
img._x = 18;
img._y = 34;
}
item.onRelease = function () {
_root.my_name = this.my_name;
var _local3 = _root.editor.properties_bar;
_local3.my_name.text = this.my_name;
_local3.my_type.text = my_type;
_root.my_var = this.my_var;
_root.my_sel = my_type;
change_selection();
editor.toolbar.swapDepths(editor.getNextHighestDepth());
};
i++;
}
if (_root[my_type + "Ref"].length > 30) {
var my_mask = base.attachMovie("my_solid", "my_mask", base.getNextHighestDepth());
my_mask._width = 420;
my_mask._height = 112;
my_list.setMask(my_mask);
var s = base.attachMovie("my_scroll", "my_scroll", base.getNextHighestDepth());
s._x = 206;
s._y = 2;
s.list_move = 10;
s.list_diff = my_list._height - my_mask._height;
s.scroll_diff = s.drag_back._height - s.dragger._height;
s.scroll_move = s.list_move * (s.scroll_diff / s.list_diff);
s.scrolling = "";
s.scroll_up.onPress = function () {
s.scrolling = "up";
};
s.scroll_up.onRelease = (s.scroll_up.onReleaseOutside = (s.scroll_up.dragOut = function () {
if (s.scrolling == "up") {
s.scrolling = "";
}
}));
s.scroll_down.onPress = function () {
s.scrolling = "down";
};
s.scroll_down.onRelease = (s.scroll_down.onReleaseOutside = (s.scroll_down.dragOut = function () {
if (s.scrolling == "down") {
s.scrolling = "";
}
}));
s.dragger.onPress = function () {
do_drag(my_type);
};
s.dragger.onRelease = (s.dragger.onReleaseOutside = (s.dragger.dragOut = function () {
stop_drag(my_type);
}));
s.drag_back.onPress = function () {
s.scrolling = "back";
};
s.drag_back.onRelease = (s.drag_back.onReleaseOutside = (s.drag_back.dragOut = function () {
if (s.scrolling == "back") {
s.scrolling = "";
}
}));
s.onEnterFrame = function () {
if (this.scrolling == "up") {
scroll_up(my_type);
} else if (this.scrolling == "down") {
scroll_down(my_type);
} else if (this.scrolling == "back") {
drag_back(my_type);
}
};
}
base._visible = false;
editor.toolbar[my_type + "_footer"]._visible = false;
}
function scroll_up(my_type) {
var _local3 = editor.toolbar[my_type + "_menu_item"];
var _local2 = _local3.my_list;
var _local1 = _local3.my_scroll;
_local2._y = _local2._y + _local1.list_move;
if (_local2._y > 1) {
_local2._y = 1;
}
_local1.dragger._y = _local1.dragger._y - _local1.scroll_move;
if (_local1.dragger._y < 16) {
_local1.dragger._y = 16;
}
}
function scroll_down(my_type) {
var _local3 = editor.toolbar[my_type + "_menu_item"];
var _local2 = _local3.my_list;
var _local1 = _local3.my_scroll;
_local2._y = _local2._y - _local1.list_move;
if (_local2._y < (_local3.my_mask._height - _local2._height)) {
_local2._y = _local3.my_mask._height - _local2._height;
}
_local1.dragger._y = _local1.dragger._y + _local1.scroll_move;
if (_local1.dragger._y > (_local1.scroll_down._y - _local1.dragger._height)) {
_local1.dragger._y = _local1.scroll_down._y - _local1.dragger._height;
}
}
function do_drag(my_type) {
var _local1 = editor.toolbar[my_type + "_menu_item"];
var list = _local1.my_list;
var s = _local1.my_scroll;
startDrag (s.dragger, false, 1, 16, 1, s.scroll_down._y - s.dragger._height);
s.dragger.onEnterFrame = function () {
list._y = -((s.dragger._y - 15) * (s.list_diff / s.scroll_diff));
if (s.dragger._y <= 16) {
list._y = 1;
}
};
}
function stop_drag(my_type) {
var _local1 = editor.toolbar[my_type + "_menu_item"];
var _local3 = _local1.my_list;
var _local2 = _local1.my_scroll;
stopDrag();
delete _local2.dragger.onEnterFrame;
}
function drag_back(my_type) {
var _local2 = editor.toolbar[my_type + "_menu_item"];
var _local4 = _local2.my_list;
var _local1 = _local2.my_scroll;
if (_local1._ymouse < (_local1.dragger._y - 1)) {
scroll_up(my_type);
} else if (_local1._ymouse > ((_local1.dragger._y + _local1.dragger._height) + 1)) {
scroll_down(my_type);
}
}
function change_selection() {
removeMovieClip(_root.editor.properties_bar.curr.p_curr);
var _local2 = _root.editor.properties_bar.curr.attachMovie(_root.my_name, "p_curr", _root.editor.properties_bar.getNextHighestDepth());
var _local4 = _local2._width;
var _local3 = _local2._height;
if ((_local4 <= tileWidth) || (_local3 <= tileHeight)) {
_local2._width = (_local4 / tileWidth) * 42;
_local2._height = (_local3 / tileHeight) * 42;
} else if (_local4 > _local3) {
_local2._width = 42;
_local2._yscale = _local2._xscale;
} else if (_local3 > _local4) {
_local2._height = 42;
_local2._xscale = _local2._yscale;
} else {
_local2._width = 42;
_local2._height = 42;
}
if ((_root.my_sel == "player") || (_root.my_sel == "character")) {
_local2._x = 21;
_local2._y = 42;
}
}
function change_curr(move_var) {
var next_tile = (_root.my_var + move_var);
if (next_tile == _root[_root.my_sel + "Ref"].length) {
next_tile = 0;
} else if (next_tile < 0) {
next_tile = _root[_root.my_sel + "Ref"].length - 1;
}
_root.my_var = next_tile;
_root.my_name = eval (_root.my_sel + "Ref")[_root.my_var];
var pb = _root.editor.properties_bar;
pb.my_name.text = _root.my_name;
pb.my_type.text = _root.my_sel;
change_selection(_root.my_name);
}
function adjust_size(clip, my_size) {
if (clip != undefined) {
if (clip._width > clip._height) {
var _local3 = my_size / clip._width;
clip._width = my_size;
clip._height = clip._height * _local3;
} else {
var _local3 = my_size / clip._height;
clip._width = clip._width * _local3;
clip._height = my_size;
}
}
}
function definePlayerVariables(my_x, my_y, clip) {
if (editor.playerVar_window._x == undefined) {
var _local2 = editor.attachMovie("playerVar_window", "playerVar_window", editor.getNextHighestDepth());
_local2.drag_button.onPress = function () {
this._parent.startDrag();
this._parent.swapDepths(editor.getNextHighestDepth());
};
_local2.drag_button.onRelease = function () {
stopDrag();
};
var _local4 = mov.player;
if (_local4.my_weapon == undefined) {
_local2.my_weapon.text = "Enter weapon";
} else {
_local2.my_weapon.text = _local4.my_weapon;
}
if (_local4.my_var == undefined) {
_local2.my_var.text = "Enter health";
} else {
_local2.my_var.text = _local4.my_var;
}
_local2._x = (Stage.width / 2) - (_local2._width / 2);
_local2._y = (Stage.height / 2) - (_local2._height / 2);
var _local3 = editor.createEmptyMovieClip("my_back", editor.getNextHighestDepth());
_local3.beginFill(0, 30);
_local3.lineStyle(1, 16711935, 0);
_local3.moveTo(-2000, -2000);
_local3.lineTo(-2000, 2000);
_local3.lineTo(2000, 2000);
_local3.lineTo(2000, -2000);
_local3.lineTo(-2000, -2000);
_local3.endFill();
_local3.onRelease = function () {
};
_local3.useHandCursor = false;
_local2.swapDepths(editor.getNextHighestDepth());
_local2.my_x = my_x;
_local2.my_y = my_y;
}
}
function setPlayerVars() {
removeMovieClip(editor.my_back);
var _local1 = editor.playerVar_window;
mov.player.my_weapon = _local1.my_weapon.text;
mov.player.my_var = _local1.my_var.text;
removeMovieClip(_local1);
}
function draw_empty_tile(my_x, my_y) {
var _local5 = editor.nav.nav_base;
var _local1 = mov.createEmptyMovieClip((("tile" + my_y) + "_") + my_x, mov.getNextHighestDepth());
_local1.beginFill(16777215, 30);
_local1.lineStyle(0, 16711935, 0);
_local1.moveTo(0, 0);
_local1.lineTo(0, tileHeight);
_local1.lineTo(tileWidth, tileHeight);
_local1.lineTo(tileWidth, 0);
_local1.lineTo(0, 0);
_local1._x = my_x * tileWidth;
_local1._y = my_y * tileHeight;
my_target = _local1;
var _local2 = _local5.createEmptyMovieClip((("tile" + my_y) + "_") + my_x, _local5.getNextHighestDepth());
_local2.beginFill(16777215, 30);
_local2.lineStyle(0, 16711935, 0);
_local2.moveTo(0, 0);
_local2.lineTo(0, tileHeight * nav_percent);
_local2.lineTo(tileWidth * nav_percent, tileHeight * nav_percent);
_local2.lineTo(tileWidth * nav_percent, 0);
_local2.lineTo(0, 0);
_local2._x = (my_x * tileWidth) * nav_percent;
_local2._y = (my_y * tileHeight) * nav_percent;
mov.my_sel.swapDepths(mov.getNextHighestDepth());
}
function mask_tile_1(my_x, my_y) {
var _local7 = editor.nav.nav_base;
var _local3 = mov.createEmptyMovieClip(((("tile" + my_y) + "_") + my_x) + "_mask_1", mov.getNextHighestDepth());
var _local1 = my_x * tileWidth;
var _local2 = my_y * tileHeight;
_local3.beginFill(0, 100);
_local3.moveTo(_local1, _local2);
_local3.lineTo(_local1, _local2 + tileHeight);
_local3.lineTo(_local1 + tileWidth, _local2);
_local3.lineTo(_local1, _local2);
_local3.endFill();
mov[(("tile" + my_y) + "_") + my_x].setMask(_local3);
var _local4 = _local7.createEmptyMovieClip(((("tile" + my_y) + "_") + my_x) + "_mask_1", _local7.getNextHighestDepth());
_local4.beginFill(0, 100);
_local4.moveTo(_local1 * nav_percent, _local2 * nav_percent);
_local4.lineTo(_local1 * nav_percent, (_local2 + tileHeight) * nav_percent);
_local4.lineTo((_local1 + tileWidth) * nav_percent, _local2 * nav_percent);
_local4.lineTo(_local1 * nav_percent, _local2 * nav_percent);
_local4.endFill();
_local7[(("tile" + my_y) + "_") + my_x].setMask(_local4);
}
function draw_empty_tile_2(my_x, my_y) {
var _local3 = editor.nav.nav_base;
var _local1 = mov.createEmptyMovieClip(((("tile" + my_y) + "_") + my_x) + "_second", mov.getNextHighestDepth());
_local1.beginFill(16777215, 30);
_local1.lineStyle(0, 16711935, 0);
_local1.moveTo(0, 0);
_local1.lineTo(0, tileHeight);
_local1.lineTo(tileWidth, tileHeight);
_local1.lineTo(tileWidth, 0);
_local1.lineTo(0, 0);
var _local2 = _local3.createEmptyMovieClip(((("tile" + my_y) + "_") + my_x) + "_second", _local3.getNextHighestDepth());
_local2.beginFill(16777215, 30);
_local2.lineStyle(0, 16711935, 0);
_local2.moveTo(0, 0);
_local2.lineTo(tileWidth * nav_percent, 0);
_local2.lineTo(0, tileHeight * nav_percent);
_local2.lineTo(tileWidth * nav_percent, tileHeight * nav_percent);
_local2.lineTo(tileWidth * nav_percent, 0);
}
function mask_tile_2(my_x, my_y) {
var _local7 = editor.nav.nav_base;
var _local4 = mov.createEmptyMovieClip(((("tile" + my_y) + "_") + my_x) + "_mask_2", mov.getNextHighestDepth());
var _local1 = my_x * tileWidth;
var _local2 = my_y * tileHeight;
_local4.beginFill(0, 100);
_local4.moveTo(_local1, _local2 + tileHeight);
_local4.lineTo(_local1 + tileWidth, _local2 + tileHeight);
_local4.lineTo(_local1 + tileWidth, _local2);
_local4.lineTo(_local1, _local2 + tileHeight);
_local4.endFill();
mov[((("tile" + my_y) + "_") + my_x) + "_second"].setMask(_local4);
var _local3 = _local7.createEmptyMovieClip(((("tile" + my_y) + "_") + my_x) + "_mask_2", _local7.getNextHighestDepth());
_local3.beginFill(0, 100);
_local3.moveTo(_local1 * nav_percent, (_local2 + tileHeight) * nav_percent);
_local3.lineTo((_local1 + tileWidth) * nav_percent, (_local2 + tileHeight) * nav_percent);
_local3.lineTo((_local1 + tileWidth) * nav_percent, _local2 * nav_percent);
_local3.lineTo(_local1 * nav_percent, (_local2 + tileHeight) * nav_percent);
_local3.endFill();
_local7[((("tile" + my_y) + "_") + my_x) + "_second"].setMask(_local3);
}
function draw_item() {
if (editor.my_prompt != undefined) {
return(undefined);
}
var _local7 = _root[my_sel + "Ref"][my_var];
var _local13 = mov.my_sel._x;
var _local3 = _local13 / tileWidth;
var _local12 = mov.my_sel._y;
var _local2 = _local12 / tileHeight;
var _local5 = editor.nav.nav_base;
if ((defining == "mover") || (defining == "add_path")) {
my_mover.menu = null;
var _local14 = new ContextMenu();
_local14.hideBuiltInItems();
_local14.customItems.push(new ContextMenuItem("Add to Path", addToPath));
if (my_mover.my_lever == undefined) {
_local14.customItems.push(new ContextMenuItem("Define as Target", defineMovingTarget));
_local14.customItems.push(new ContextMenuItem("Remove Moving Tile", removeMovingTile));
} else {
_local14.customItems.push(new ContextMenuItem("Remove Attributes", removeAttributes));
}
my_mover.menu = _local14;
my_mover.my_path.push([_local3, _local2]);
removeMovieClip(my_mover.my_target);
var _local9 = my_mover.attachMovie("my_mover", "my_mover", my_mover.getNextHighestDepth());
_local9._x = tileWidth - _local9._width;
_local9._y = tileHeight - _local9._height;
removeMovieClip(editor.my_solid);
defining = "none";
return(undefined);
}
if (defining == "add_target_to_mover") {
my_mover.menu = null;
var _local14 = new ContextMenu();
_local14.hideBuiltInItems();
_local14.customItems.push(new ContextMenuItem("Add to Path", addToPath));
_local14.customItems.push(new ContextMenuItem("Remove Attributes", removeAttributes));
my_mover.menu = _local14;
my_mover.my_lever = (("t" + _local2) + "_") + _local3;
removeMovieClip(editor.my_solid);
defining = "none";
return(undefined);
}
if (defining == "add_mover_to_target") {
my_mover.menu = null;
var _local14 = new ContextMenu();
_local14.hideBuiltInItems();
_local14.customItems.push(new ContextMenuItem("Add to Path", addToPath));
_local14.customItems.push(new ContextMenuItem("Remove Attributes", removeAttributes));
my_mover.menu = _local14;
my_mover.my_target.removeMovieClip();
if (my_mover.my_target._x != undefined) {
removeMovieClip(my_mover.my_target);
}
var _local9 = my_mover.attachMovie("my_mover", "my_mover", my_mover.getNextHighestDepth());
_local9._x = tileWidth - _local9._width;
_local9._y = tileHeight - _local9._height;
my_mover.my_path.push([_local3, _local2]);
removeMovieClip(editor.my_solid);
defining = "none";
return(undefined);
}
if (defining == "target") {
my_target.menu = null;
var _local14 = new ContextMenu();
_local14.hideBuiltInItems();
_local14.customItems.push(new ContextMenuItem("Select Secondary Tile", selectSecondaryTile));
if (my_target.my_var != undefined) {
_local14.customItems.push(new ContextMenuItem("Define as Moving Tile", defineMovingTarget));
}
_local14.customItems.push(new ContextMenuItem("Remove Target", removeTarget));
my_target.menu = _local14;
var _local9 = my_target.attachMovie("my_target", "my_target", my_target.getNextHighestDepth());
_local9._x = tileWidth - _local9._width;
_local9._y = tileHeight - _local9._height;
removeMovieClip(editor.my_solid);
my_target.my_lever = (("t" + _local2) + "_") + _local3;
defining = "none";
_local14 = new ContextMenu();
_local14.hideBuiltInItems();
_local14.customItems.push(new ContextMenuItem("Define as Target", defineEmptyTarget));
mov.menu = _local14;
return(undefined);
}
if (defining == "second_tile") {
var _local14 = new ContextMenu();
_local14.hideBuiltInItems();
_local14.customItems.push(new ContextMenuItem("Remove Target", removeTarget));
my_target.menu = _local14;
removeMovieClip(my_target.my_target);
mask_tile_1(my_target._x / tileWidth, my_target._y / tileHeight);
if (my_var == 0) {
draw_empty_tile_2(_local3, _local2);
var _local8 = mov[((("tile" + _local2) + "_") + _local3) + "_second"];
var _local10 = _local5[((("tile" + _local2) + "_") + _local3) + "_second"];
} else {
var _local8 = mov.attachMovie(_local7, my_target._name + "_second", mov.getNextHighestDepth());
var _local10 = _local5.attachMovie(_local7, my_target._name + "_second", _local5.getNextHighestDepth());
_local10._width = _local10._width * nav_percent;
_local10._height = _local10._height * nav_percent;
}
_local8._x = my_target._x;
_local8._y = my_target._y;
_local10._x = my_target._x * nav_percent;
_local10._y = my_target._y * nav_percent;
mask_tile_2(_local3, _local2);
_local14 = new ContextMenu();
_local14.hideBuiltInItems();
_local14.customItems.push(new ContextMenuItem("Remove Target", removeTarget));
_local8.menu = _local14;
removeMovieClip(editor.my_solid);
var _local9 = _local8.attachMovie("my_target", "my_target", _local8.getNextHighestDepth());
_local9._x = tileWidth - _local9._width;
_local9._y = tileHeight - _local9._height;
mov.my_sel.swapDepths(mov.getNextHighestDepth());
if (my_target.my_var == undefined) {
my_target.my_var = 0;
}
my_target.target_data = [_local3, _local2, my_target.my_var, my_var, my_target.my_lever];
var _local4 = 1;
while (_local4 < types.length) {
if (mov[((types[_local4] + _local2) + "_") + _local3] != undefined) {
mov[((types[_local4] + _local2) + "_") + _local3].swapDepths(mov.getNextHighestDepth());
_local5[((types[_local4] + _local2) + "_") + _local3].swapDepths(editor.nav.nav_base.getNextHighestDepth());
}
_local4++;
}
defining = "none";
return(undefined);
}
if (my_sel == "player") {
newPlayer = true;
if (mov.player._x != undefined) {
removeMovieClip(mov.player);
removeMovieClip(editor.nav.nav_base.player);
}
my_player = _local7;
var _local6 = mov.attachMovie(_local7, "player", mov.getNextHighestDepth());
mov.my_sel.swapDepths(mov.getNextHighestDepth());
_local6.my_x = _local3;
_local6.my_y = _local2;
_local6._x = _local13 + (tileWidth / 2);
_local6._y = _local12 + tileHeight;
_local6.my_var = my_var;
_local6.my_sel = my_sel;
if (!reading_input) {
definePlayerVariables(_local3, _local2);
} else {
reading_input = false;
}
openPlayerProp();
var _local11 = editor.nav.nav_base.attachMovie(_local7, "player", editor.nav.nav_base.getNextHighestDepth());
_local11._width = _local11._width * nav_percent;
_local11._height = _local11._height * nav_percent;
_local11._x = _local6._x * nav_percent;
_local11._y = _local6._y * nav_percent;
return(undefined);
}
if ((mov[((("tile" + _local2) + "_") + _local3) + "_second"] != undefined) && (my_sel == "tile")) {
mov[(("tile" + _local2) + "_") + _local3].setMask(null);
mov[((("tile" + _local2) + "_") + _local3) + "_second"].setMask(null);
removeMovieClip(mov[((("tile" + _local2) + "_") + _local3) + "_mask_1"]);
removeMovieClip(mov[((("tile" + _local2) + "_") + _local3) + "_second"]);
removeMovieClip(mov[((("tile" + _local2) + "_") + _local3) + "_mask_2"]);
_local5[(("tile" + _local2) + "_") + _local3].setMask(null);
_local5[((("tile" + _local2) + "_") + _local3) + "_second"].setMask(null);
removeMovieClip(_local5[((("tile" + _local2) + "_") + _local3) + "_mask_1"]);
removeMovieClip(_local5[((("tile" + _local2) + "_") + _local3) + "_second"]);
removeMovieClip(_local5[((("tile" + _local2) + "_") + _local3) + "_mask_2"]);
}
if (my_var == 0) {
removeMovieClip(_local5[(((my_sel + "") + _local2) + "_") + _local3]);
}
if ((((_local3 >= 0) && (_local2 >= 0)) && (_local3 < map_width)) && (_local2 < map_height)) {
if (((my_sel != "tile") && (my_sel != "")) && (my_var == 0)) {
removeMovieClip(mov[((my_sel + _local2) + "_") + _local3]);
} else {
removeMovieClip(mov[((my_sel + _local2) + "_") + _local3]);
removeMovieClip(editor.nav.nav_base[((my_sel + _local2) + "_") + _local3]);
var _local6 = mov.attachMovie(_local7, ((my_sel + _local2) + "_") + _local3, mov.getNextHighestDepth());
_local6.my_x = _local3;
_local6.my_y = _local2;
if (_root.my_sel == "character") {
_local6._x = _local13 + (tileWidth / 2);
_local6._y = _local12 + tileHeight;
} else {
_local6._x = _local13;
_local6._y = _local12;
}
_local6.my_var = my_var;
var _local11 = _local5.attachMovie(_local7, ((my_sel + _local2) + "_") + _local3, _local5.getNextHighestDepth());
_local11._width = _local11._width * nav_percent;
_local11._height = _local11._height * nav_percent;
_local11._x = _local6._x * nav_percent;
_local11._y = _local6._y * nav_percent;
mov.my_sel.swapDepths(mov.getNextHighestDepth());
if (my_sel == "tile") {
var _local4 = 1;
while (_local4 < types.length) {
if (mov[((types[_local4] + _local2) + "_") + _local3] != undefined) {
mov[((types[_local4] + _local2) + "_") + _local3].swapDepths(mov.getNextHighestDepth());
_local5[((types[_local4] + _local2) + "_") + _local3].swapDepths(_local5.getNextHighestDepth());
}
_local4++;
}
}
if (my_sel == "tile") {
setTileProp(_local6);
} else if (my_sel == "item") {
_local6.menu = null;
}
editor[my_sel + "_amount"]++;
}
}
}
function clear_all() {
var _local3 = 0;
while (_local3 < types.length) {
var _local2 = 0;
while (_local2 < map_height) {
var _local1 = 0;
while (_local1 < map_width) {
removeMovieClip(mov[((types[_local3] + _local2) + "_") + _local1]);
removeMovieClip(editor.nav.nav_base[((types[_local3] + _local2) + "_") + _local1]);
_local1++;
}
_local2++;
}
_local3++;
}
}
function output_map() {
if (editor.output_window._x == undefined) {
var output = editor.attachMovie("output_window", "output_window", editor.getNextHighestDepth());
output._x = (Stage.width / 2) - (output._width / 2);
output._y = (Stage.height / 2) - (output._height / 2);
} else {
var output = editor.output_window;
}
output.swapDepths(editor.getNextHighestDepth());
output.output_text.text = "";
var _local2 = "map[*NUM*] = new Array(\n\t//stage info\n\t";
if (mov.player.my_x != undefined) {
_local2 = _local2 + ((("[" + (mov.player.my_x * tileWidth)) + ",") + (mov.player.my_y * tileHeight));
} else {
_local2 = _local2 + "[30,30";
}
if ((mov.player.my_var != undefined) && (mov.player.my_var != "Enter health")) {
_local2 = _local2 + (("," + mov.player.my_var) + ",");
} else {
_local2 = _local2 + ",null,";
}
if (my_player != undefined) {
_local2 = _local2 + (("'" + my_player) + "'");
} else {
_local2 = _local2 + (("'" + def_player) + "'");
}
if (my_scroll_type == undefined) {
_local2 = _local2 + ",1,";
} else {
_local2 = _local2 + (("," + my_scroll_type) + ",");
}
if ((my_scroll_speed == undefined) || (isNaN(my_scroll_speed))) {
_local2 = _local2 + "1,";
} else {
_local2 = _local2 + (my_scroll_speed + ",");
}
_local2 = _local2 + (((("'" + my_background_type) + "','") + my_background_var) + "',");
if ((mov.player.my_weapon != undefined) && (mov.player.my_weapon != "Enter weapon")) {
_local2 = _local2 + (("'" + mov.player.my_weapon) + "'");
} else {
_local2 = _local2 + "0";
}
_local2 = _local2 + "],\n\n\t//map data\n\t[";
var _local8 = new Array();
var _local9 = new Array();
var _local7 = 0;
while (_local7 < map_height) {
_local2 = _local2 + "\n\t\t[";
var _local6 = 0;
while (_local6 < map_width) {
var _local4 = mov[(("item" + _local7) + "_") + _local6].my_var;
var _local5 = mov[(("character" + _local7) + "_") + _local6].my_var;
if ((_local4 != undefined) || (_local5 != undefined)) {
_local2 = _local2 + "[";
}
if (mov[(("tile" + _local7) + "_") + _local6].my_var != undefined) {
if (mov[(("tile" + _local7) + "_") + _local6].target_data != undefined) {
_local2 = _local2 + "'t'";
_local8.push(mov[(("tile" + _local7) + "_") + _local6].target_data);
} else if (mov[(("tile" + _local7) + "_") + _local6].my_path != undefined) {
_local2 = _local2 + "'m'";
_local9.push([_local7, _local6]);
} else {
_local2 = _local2 + mov[(("tile" + _local7) + "_") + _local6].my_var;
}
} else {
_local2 = _local2 + "0";
}
if ((_local4 != undefined) || (_local5 != undefined)) {
if (_local4 != undefined) {
_local2 = _local2 + ("," + _local4);
} else {
_local2 = _local2 + ",null";
}
if (_local5 != undefined) {
_local2 = _local2 + ("," + (_local5 - 1));
}
_local2 = _local2 + "]";
}
if (_local6 < (map_width - 1)) {
_local2 = _local2 + ",";
}
_local6++;
}
_local2 = _local2 + "]";
if (_local7 < (map_height - 1)) {
_local2 = _local2 + ",";
}
_local7++;
}
_local2 = _local2 + "\n\t],\n";
_local2 = _local2 + "\n\t//mover data\n\t[";
_local7 = 0;
while (_local7 < _local9.length) {
var _local3 = mov[(("tile" + _local9[_local7][0]) + "_") + _local9[_local7][1]];
_local2 = _local2 + (((((("\n\t\t[" + _local3.my_x) + ",") + _local3.my_y) + ",") + _local3.my_var) + ",");
if (_local3.my_lever != undefined) {
_local2 = _local2 + _local3.my_lever;
} else {
_local2 = _local2 + "null";
}
_local2 = _local2 + ",[";
var _local6 = 0;
while (_local6 < _local3.my_path.length) {
_local2 = _local2 + (("[" + _local3.my_path[_local6]) + "]");
if (_local6 < (_local3.my_path.length - 1)) {
_local2 = _local2 + ",";
}
_local6++;
}
_local2 = _local2 + "]]";
if (_local7 < (_local9.length - 1)) {
_local2 = _local2 + ",";
}
_local7++;
}
_local2 = _local2 + "\n\t],\n";
_local2 = _local2 + "\n\t//target data\n\t[";
_local7 = 0;
while (_local7 < _local8.length) {
_local8[_local7][4] = ("'" + _local8[_local7][4]) + "'";
_local2 = _local2 + (("\n\t\t[" + _local8[_local7]) + "]");
if (_local7 < (_local8.length - 1)) {
_local2 = _local2 + ",";
}
_local7++;
}
_local2 = _local2 + "\n\t]\n);";
output.output_text.text = _local2;
output.drag_button.onPress = function () {
output.swapDepths(editor.getNextHighestDepth());
this._parent.startDrag();
};
output.drag_button.onRelease = function () {
stopDrag();
};
output.refresh_button.onRelease = function () {
output_map();
};
output.close_button.onRelease = function () {
removeMovieClip(editor.output_window);
};
output.back.onRollOver = function () {
this.useHandCursor = false;
};
output.back.onRelease = function () {
output.swapDepths(editor.getNextHighestDepth());
};
}
function show_input() {
if (editor.input_window._x == undefined) {
var input = editor.attachMovie("input_window", "input_window", editor.getNextHighestDepth());
input._x = (Stage.width / 2) - (input._width / 2);
input._y = (Stage.height / 2) - (input._height / 2);
input.drag_button.onPress = function () {
input.swapDepths(editor.getNextHighestDepth());
input.startDrag();
};
input.drag_button.onRelease = function () {
input.stopDrag();
};
input.close_button.onRelease = function () {
removeMovieClip(input);
};
input.back.onRollOver = function () {
this.useHandCursor = false;
};
input.back.onRelease = function () {
input.swapDepths(editor.getNextHighestDepth());
};
input.input_button.onRelease = function () {
read_input();
};
} else {
var input = editor.input_window;
}
input.swapDepths(editor.getNextHighestDepth());
}
function read_input() {
clear_editor();
reading_input = true;
var _local38 = editor.input_window.my_text.text;
var _local23 = editor.nav.nav_base;
var _local32 = _local38.split("(");
_local32.splice(0, 1);
var _local31 = _local32[0].split(")");
_local31.splice(1, 1);
var _local40 = _local31[0];
var _local34 = _local40.split("//map data");
var _local20 = _local34[0].split("[");
var _local25 = _local20[1].split("]");
var _local28 = _local25[0].split(",");
var _local36 = _local28[0];
var _local35 = _local28[1];
my_sel = "player";
my_var = 1;
mov.my_sel._x = Math.round(_local36 / tileWidth) * tileWidth;
mov.my_sel._y = Math.round(_local35 / tileHeight) * tileHeight;
draw_item();
mov.player.my_weapon = remove_quotes(_local28[8]);
mov.player.my_var = _local28[2];
my_scroll_type = parseInt(_local28[4]);
my_scroll_speed = parseInt(_local28[5]);
var _local29 = editor.properties_bar;
switch (my_scroll_type) {
case 1 :
_local29.scroll_type.text = "Fixed";
_local29.speed._visible = false;
break;
case 2 :
_local29.scroll_type.text = "Auto Horizontal";
_local29.speed._visible = true;
break;
case 3 :
_local29.scroll_type.text = "Auto Vertical";
_local29.speed._visible = true;
break;
}
_local29.scroll_speed = parseInt(_local28[5]);
my_background_type = remove_quotes(_local28[6]);
my_background_var = remove_quotes(_local28[7]);
if (my_background_type == "col") {
do_colour(my_background_var);
} else {
pick_img(my_background_var);
}
var _local33 = _local34[1].split("//mover data");
var _local39 = _local33[0];
var _local8 = _local39.split("");
count = 0;
cell = false;
var _local22 = 0;
var _local7 = 0;
var _local15 = 0;
var _local5 = new Array();
var _local19 = "";
var _local17 = 0;
while (_local17 < _local8.length) {
var _local24 = parseInt(_local8[_local17]);
if (isNaN(_local24)) {
if (_local19 != "") {
var _local21 = parseInt(_local19);
if (!cell) {
_local5[_local7].push(_local21);
} else {
_local5[_local7][cell_x].push(_local21);
}
if (count == 2) {
_local15++;
if (_local7 == 0) {
_local22++;
}
}
_local19 = "";
}
} else {
_local19 = _local19 + _local8[_local17];
}
if (_local8[_local17] == "[") {
count++;
if (count == 1) {
} else if (count == 2) {
_local5[_local7] = new Array();
_local15 = 0;
} else if (count == 3) {
var cell_x = _local15;
_local5[_local7][cell_x] = new Array();
_local15++;
if (_local7 == 0) {
_local22++;
}
cell = true;
}
}
if (_local8[_local17] == "]") {
count--;
if (count == 2) {
cell = false;
} else if (count == 1) {
_local7++;
} else if (count == 0) {
}
}
if ((_local8[_local17] == "m") || (_local8[_local17] == "t")) {
if (count == 2) {
_local5[_local7].push(_local8[_local17]);
_local15++;
if (_local7 == 0) {
_local22++;
}
} else {
_local5[_local7][cell_x].push(_local8[_local17]);
}
}
if ((_local8[_local17] == "n") && (cell)) {
_local5[_local7][cell_x].push("null");
}
_local17++;
}
_local17 = 0;
while (_local17 < _local5.length) {
var _local6 = 0;
while (_local6 < _local5[0].length) {
var _local3 = _local5[_local17][_local6];
if (((_local3.length == undefined) && (_local3 != 0)) && (!isNaN(parseInt(_local3)))) {
mov.my_sel._x = _local6 * tileWidth;
mov.my_sel._y = _local17 * tileHeight;
my_sel = "tile";
my_var = _local3;
draw_item();
} else {
if ((!isNaN(parseInt(_local3[0]))) && (parseInt(_local3[0]) != 0)) {
mov.my_sel._x = _local6 * tileWidth;
mov.my_sel._y = _local17 * tileHeight;
my_sel = "tile";
my_var = _local3[0];
draw_item();
}
if (((!isNaN(_local3[1])) && (_local3[1] != 0)) && (_local3[1] != "null")) {
mov.my_sel._x = _local6 * tileWidth;
mov.my_sel._y = _local17 * tileHeight;
my_sel = "item";
my_var = _local3[1];
draw_item();
}
if (_local3[2] != undefined) {
mov.my_sel._x = _local6 * tileWidth;
mov.my_sel._y = _local17 * tileHeight;
my_sel = "character";
my_var = _local3[2] + 1;
draw_item();
}
}
_local6++;
}
_local17++;
}
var _local30 = _local33[1].split("//target data");
var _local37 = _local30[0];
var _local26 = _local37.split("]]]");
_local26.splice(_local26.length - 1, 1);
_local17 = 0;
while (_local17 < _local26.length) {
this["move_data_" + _local17] = _local26[_local17].split("[[");
_local20 = this["move_data_" + _local17][0].split("[");
_local25 = _local20[_local20.length - 1];
var _local4 = _local25.split(",");
_local4.splice(_local4.length - 1, 1);
mov.my_sel._x = parseInt(_local4[0]) * tileWidth;
mov.my_sel._y = parseInt(_local4[1]) * tileHeight;
my_sel = "tile";
my_var = parseInt(_local4[2]);
draw_item();
var _local10 = this["move_data_" + _local17][1].split("],[");
var _local6 = 0;
while (_local6 < _local10.length) {
var _local14 = _local10[_local6].split(",");
_local10[_local6] = _local14;
_local6++;
}
var _local9 = mov[(("tile" + _local4[1]) + "_") + _local4[0]];
_local9.my_path = _local10;
if (_local4[3] != "null") {
_local9.my_lever = _local4[3];
}
var _local12 = _local9.attachMovie("my_mover", "my_mover", _local9.getNextHighestDepth());
_local12._x = tileWidth - _local12._width;
_local12._y = tileHeight - _local12._height;
var _local16 = new ContextMenu();
_local16.hideBuiltInItems();
_local16.customItems.push(new ContextMenuItem("Add to Path", addToPath));
if (_local4[3] != "null") {
_local16.customItems.push(new ContextMenuItem("Remove Attributes", removeAttributes));
} else {
_local16.customItems.push(new ContextMenuItem("Define as Target", defineMovingTarget));
_local16.customItems.push(new ContextMenuItem("Remove Moving Tile", removeMovingTile));
}
_local9.menu = _local16;
if (mov[(("item" + _local4[1]) + "_") + _local4[0]] != undefined) {
mov[(("item" + _local4[1]) + "_") + _local4[0]].swapDepths(mov.getNextHighestDepth());
}
if (mov[(("character" + _local4[1]) + "_") + _local4[0]] != undefined) {
mov[(("character" + _local4[1]) + "_") + _local4[0]].swapDepths(mov.getNextHighestDepth());
}
_local17++;
}
var _local2 = _local30[1];
var _local27 = _local2.split("]");
_local27.splice(_local27.length - 2, 2);
_local17 = 0;
while (_local17 < _local27.length) {
_local20 = _local27[_local17].split("[");
_local25 = _local20[_local20.length - 1];
_local2 = _local25.split(",");
mov.my_sel._x = _local2[0] * tileWidth;
mov.my_sel._y = _local2[1] * tileHeight;
my_sel = "tile";
my_var = parseInt(_local2[2]);
if (my_var == 0) {
draw_empty_tile(_local2[0], _local2[1]);
} else {
draw_item();
}
var _local9 = mov[(("tile" + _local2[1]) + "_") + _local2[0]];
_local2[4] = remove_quotes(_local2[4]);
_local9.my_lever = _local2[4];
_local9.target_data = _local2;
_local9.my_var = my_var;
mask_tile_1(_local2[0], _local2[1]);
var _local18 = parseInt(_local2[3]);
if (_local18 == 0) {
draw_empty_tile_2(_local2[0], _local2[1]);
var _local11 = mov[((("tile" + _local2[1]) + "_") + _local2[0]) + "_second"];
var _local13 = _local23[((("tile" + _local2[1]) + "_") + _local2[0]) + "_second"];
} else {
var _local11 = mov.attachMovie(tileRef[_local18], ((("tile" + _local2[1]) + "_") + _local2[0]) + "_second", mov.getNextHighestDepth());
var _local13 = _local23.attachMovie(tileRef[_local18], ((("tile" + _local2[1]) + "_") + _local2[0]) + "_second", _local23.getNextHighestDepth());
_local13._width = _local13._width * nav_percent;
_local13._height = _local13._height * nav_percent;
}
_local11._x = _local9._x;
_local11._y = _local9._y;
var _local12 = _local11.attachMovie("my_target", "my_target", _local11.getNextHighestDepth());
_local12._x = tileWidth - _local12._width;
_local12._y = tileHeight - _local12._height;
_local13._x = _local9._x * nav_percent;
_local13._y = _local9._y * nav_percent;
mask_tile_2(_local2[0], _local2[1]);
var _local16 = new ContextMenu();
_local16.hideBuiltInItems();
_local16.customItems.push(new ContextMenuItem("Remove Target", removeTarget));
_local9.menu = _local16;
_local16 = new ContextMenu();
_local16.hideBuiltInItems();
_local16.customItems.push(new ContextMenuItem("Remove Target", removeTarget));
_local11.menu = _local16;
if (mov[(("item" + _local2[1]) + "_") + _local2[0]] != undefined) {
mov[(("item" + _local2[1]) + "_") + _local2[0]].swapDepths(mov.getNextHighestDepth());
}
if (mov[(("character" + _local2[1]) + "_") + _local2[0]] != undefined) {
mov[(("character" + _local2[1]) + "_") + _local2[0]].swapDepths(mov.getNextHighestDepth());
}
_local17++;
}
removeMovieClip(editor.input_window);
}
function empty_function() {
}
function do_prompt(my_mess) {
var _local2 = editor.attachMovie("my_prompt", "my_prompt", editor.getNextHighestDepth());
_local2._x = (Stage.width / 2) - (_local2._width / 2);
_local2._y = (Stage.height / 2) - (_local2._height / 2);
_local2.my_output = my_mess;
_local2.my_back._x = (_local2._width / 2) - (Stage.width / 2);
_local2.my_back._y = (_local2._height / 2) - (Stage.height / 2);
_local2.my_back._width = Stage.width;
_local2.my_back._height = Stage.height;
_local2.my_back.onRollOver = function () {
this.useHandCursor = false;
};
_local2.my_back.onRelease = function () {
};
}
function do_boolean_prompt(my_mess) {
var _local2 = editor.attachMovie("my_boolean_prompt", "my_prompt", editor.getNextHighestDepth());
_local2._x = (Stage.width / 2) - (_local2._width / 2);
_local2._y = (Stage.height / 2) - (_local2._height / 2);
_local2.my_output = my_mess;
_local2.my_back._x = (_local2._width / 2) - (Stage.width / 2);
_local2.my_back._y = (_local2._height / 2) - (Stage.height / 2);
_local2.my_back._width = Stage.width;
_local2.my_back._height = Stage.height;
_local2.my_back.onRollOver = function () {
this.useHandCursor = false;
};
_local2.my_back.onRelease = function () {
};
}
function do_input_prompt(my_mess) {
var _local2 = editor.attachMovie("my_input_prompt", "my_prompt", editor.getNextHighestDepth());
_local2._x = (Stage.width / 2) - (_local2._width / 2);
_local2._y = (Stage.height / 2) - (_local2._height / 2);
_local2.my_output = my_mess;
_local2.my_back._x = (_local2._width / 2) - (Stage.width / 2);
_local2.my_back._y = (_local2._height / 2) - (Stage.height / 2);
_local2.my_back._width = Stage.width;
_local2.my_back._height = Stage.height;
_local2.my_back.onRollOver = function () {
this.useHandCursor = false;
};
_local2.my_back.onRelease = function () {
};
}
function do_solid() {
var _local2 = editor.attachMovie("my_solid", "my_solid", editor.getNextHighestDepth());
_local2._width = Stage.width;
_local2._height = Stage.height;
_local2._alpha = 15;
_local2.onRollOver = function () {
this.useHandCursor = false;
};
_local2.onRelease = function () {
};
}
function prompt_new() {
do_boolean_prompt("Any changes will be lost. Are you sure?");
editor.my_prompt.my_button_1.onRelease = function () {
clear_editor();
my_name = "";
removeMovieClip(editor.my_prompt);
};
editor.my_prompt.my_button_2.onRelease = function () {
removeMovieClip(editor.my_prompt);
};
}
function prompt_clear() {
do_boolean_prompt("Any changes will be lost.\n Are you sure?");
editor.my_prompt.my_button_1.onRelease = function () {
clear_editor();
removeMovieClip(editor.my_prompt);
};
editor.my_prompt.my_button_2.onRelease = function () {
removeMovieClip(editor.my_prompt);
};
}
function clear_editor() {
var _local4 = editor.nav.nav_base;
removeMovieClip(mov.player);
removeMovieClip(_local4.player);
var _local2 = 0;
while (_local2 < map_height) {
var _local1 = 0;
while (_local1 < map_width) {
removeMovieClip(mov[((("tile" + _local2) + "_") + _local1) + "_mask_1"]);
removeMovieClip(mov[((("tile" + _local2) + "_") + _local1) + "_second"]);
removeMovieClip(mov[((("tile" + _local2) + "_") + _local1) + "_mask_2"]);
removeMovieClip(_local4[((("tile" + _local2) + "_") + _local1) + "_mask_1"]);
removeMovieClip(_local4[((("tile" + _local2) + "_") + _local1) + "_second"]);
removeMovieClip(_local4[((("tile" + _local2) + "_") + _local1) + "_mask_2"]);
var _local3 = 0;
while (_local3 < types.length) {
removeMovieClip(mov[(((types[_local3] + "") + _local2) + "_") + _local1]);
removeMovieClip(_local4[(((types[_local3] + "") + _local2) + "_") + _local1]);
_local3++;
}
_local1++;
}
_local2++;
}
}
function preview_map() {
if (mov.player._x == undefined) {
do_prompt("\nPlease add a player.");
var _local14 = editor.my_prompt;
_local14.my_button.onRelease = function () {
removeMovieClip(editor.my_prompt);
};
return(false);
}
previewing = true;
test = new Array();
test[0] = new Array();
flag_x = undefined;
flag_y = undefined;
if (mov.player.my_var == "null") {
mov.player.my_var = null;
}
test[0][0] = [mov.player.my_x * tileWidth, mov.player.my_y * tileHeight, mov.player.my_var, "player", my_scroll_type, my_scroll_speed, my_background_type, my_background_var, mov.player.my_weapon];
test[0][1] = new Array();
test[0][2] = new Array();
test[0][3] = new Array();
var _local6 = new Array();
var _local5 = 0;
while (_local5 < map_height) {
test[0][1][_local5] = new Array();
var _local2 = 0;
while (_local2 < map_width) {
var _local3 = mov[(("item" + _local5) + "_") + _local2].my_var;
var _local4 = mov[(("character" + _local5) + "_") + _local2].my_var;
if ((_local3 == undefined) && (_local4 == undefined)) {
if (mov[(("tile" + _local5) + "_") + _local2].target_data != undefined) {
test[0][1][_local5][_local2] = "t";
test[0][3].push(mov[(("tile" + _local5) + "_") + _local2].target_data);
} else if (mov[(("tile" + _local5) + "_") + _local2].my_path != undefined) {
test[0][1][_local5][_local2] = "m";
_local6.push([_local5, _local2]);
} else if (mov[(("tile" + _local5) + "_") + _local2].my_var != undefined) {
test[0][1][_local5][_local2] = mov[(("tile" + _local5) + "_") + _local2].my_var;
} else {
test[0][1][_local5][_local2] = 0;
}
} else {
test[0][1][_local5][_local2] = new Array();
if (mov[(("tile" + _local5) + "_") + _local2].target_data != undefined) {
test[0][1][_local5][_local2][0] = "t";
test[0][3].push(mov[(("tile" + _local5) + "_") + _local2].target_data);
} else if (mov[(("tile" + _local5) + "_") + _local2].my_path != undefined) {
test[0][1][_local5][_local2][0] = "m";
_local6.push([_local5, _local2]);
} else if (mov[(("tile" + _local5) + "_") + _local2].my_var != undefined) {
test[0][1][_local5][_local2][0] = mov[(("tile" + _local5) + "_") + _local2].my_var;
} else {
test[0][1][_local5][_local2][0] = 0;
}
if (_local3 != undefined) {
test[0][1][_local5][_local2][1] = _local3;
} else {
test[0][1][_local5][_local2][1] = null;
}
if (_local4 != undefined) {
test[0][1][_local5][_local2][2] = _local4 - 1;
}
}
_local2++;
}
_local5++;
}
_local5 = 0;
while (_local5 < _local6.length) {
var _local10 = mov[(("tile" + _local6[_local5][0]) + "_") + _local6[_local5][1]];
var _local8;
if (_local10.my_lever != undefined) {
_local8 = _local10.my_lever;
} else {
_local8 = null;
}
test[0][2][_local5] = new Array(_local10.my_x, _local10.my_y, _local10.my_var, _local8, _local10.my_path);
_local5++;
}
var _local7 = test[0][3];
_local5 = 0;
while (_local5 < _local7.length) {
var _local10 = mov[(("tile" + _local7[_local5][0]) + "_") + _local7[_local5][1]];
var _local2 = 0;
while (_local2 < 4) {
_local7[_local5][_local2] = parseInt(_local7[_local5][_local2]);
_local2++;
}
_local5++;
}
_root.attachMovie("my_solid", "my_back", 1);
my_back._alpha = 20;
my_back._width = Stage.width;
my_back._height = Stage.height;
my_back.onRelease = function () {
};
my_back.useHandCursor = false;
var _local13 = new Object();
start_game("test");
init_stage(stage_num);
var _local11 = photo_frame.attachMovie("photo_back", "back_button", photo_frame.getNextHighestDepth());
_local11._xscale = 60;
_local11._yscale = 60;
_local11._x = 190;
_local11._y = 210;
_local11.onRelease = function () {
end_preview();
};
var _local9 = _root.createEmptyMovieClip("my_background", 3);
_local9.beginFill("0xFFFFFF", 100);
_local9.moveTo(0, 0);
_local9.lineTo(0, my_stage_height + 50);
_local9.lineTo(my_stage_width + 20, my_stage_height + 50);
_local9.lineTo(my_stage_width + 20, 0);
_local9.lineTo(0, 0);
_local9.endFill();
_local9._x = game._x - 10;
_local9._y = game._y - 10;
var _local12 = _local9.attachMovie("photo_back", "back", _local9.getNextHighestDepth());
_local12._x = (_local9._width - _local12._width) - 5;
_local12._y = (_local9._height - _local12._height) - 5;
_local12.onRelease = function () {
end_preview();
};
game.swapDepths(_root.getNextHighestDepth());
_local13.onKeyDown = function () {
my_key = Key.getCode();
switch (my_key) {
case 49 :
jump(-jump_hor, -jump_vert, cpv);
up_down = true;
left_down = true;
return;
case 50 :
case 38 :
up_down = true;
return;
case 51 :
jump(jump_hor, -jump_vert);
up_down = true;
right_down = true;
return;
case 52 :
case 37 :
left_down = true;
return;
case 53 :
case 13 :
case 32 :
enter_down = true;
return;
case 54 :
case 39 :
right_down = true;
return;
case 55 :
left_down = true;
down_down = true;
return;
case 56 :
case 40 :
down_down = true;
return;
case 57 :
right_down = true;
down_down = true;
return;
}
};
_local13.onKeyUp = function () {
my_key = Key.getCode();
switch (Key.getCode()) {
case 50 :
case 38 :
up_down = false;
jump_active = true;
return;
case 49 :
up_down = false;
left_down = false;
return;
case 51 :
up_down = false;
right_down = false;
case 52 :
case 37 :
left_down = false;
return;
case 53 :
case 13 :
case 32 :
firing = true;
check_levers();
enter_down = false;
return;
case 54 :
case 39 :
right_down = false;
return;
case 55 :
left_down = false;
down_down = false;
return;
case 56 :
case 40 :
down_down = false;
return;
case 57 :
right_down = false;
down_down = false;
return;
}
};
Key.addListener(_local13);
}
function end_preview() {
previewing = false;
stopAllSounds();
removeMovieClip(game);
removeMovieClip(pause_menu);
removeMovieClip(my_back);
removeMovieClip(my_background);
_root.createEmptyMovieClip("removal", 3);
Key.removeListener(keyListener);
delete this.onEnterFrame;
}
function setTileProp(clip) {
var _local1 = new ContextMenu();
_local1.hideBuiltInItems();
_local1.customItems.push(new ContextMenuItem("Define as Moving Tile", defineMovingTile));
_local1.customItems.push(new ContextMenuItem("Define as Target", defineTarget));
clip.menu = _local1;
}
function defineMovingTile(obj, menuItem) {
if (defining == "none") {
var _local3 = obj;
var _local1 = new ContextMenu();
_local1.hideBuiltInItems();
_local1.customItems.push(new ContextMenuItem("Please select a tile to move to, then press SPACE", empty_function));
_local3.menu = _local1;
defining = "mover";
my_mover = _local3;
my_mover.my_path = new Array();
var _local2 = editor.my_stage.view_window.view_button.movie_in_button.my_sel;
_local2._x = obj._x;
_local2._y = obj._y;
do_mover_prompt();
} else {
trace("***Error: \"defining\" variable is already set. Please complete current action first.***");
}
}
function do_mover_prompt() {
do_prompt("\nSelect a tile to move to");
var _local1 = editor.my_prompt;
_local1.my_button.onRelease = function () {
do_solid();
editor.my_stage.swapDepths(editor.getNextHighestDepth());
editor.nav.swapDepths(editor.getNextHighestDepth());
removeMovieClip(editor.my_prompt);
};
}
function addToPath(obj, menuItem) {
if (defining == "none") {
do_solid();
my_mover = obj;
editor.my_stage.swapDepths(editor.getNextHighestDepth());
editor.nav.swapDepths(editor.getNextHighestDepth());
defining = "add_path";
} else {
trace("***Error: \"defining\" variable is already set. Please complete current action first.***");
}
}
function removeMovingTile(obj, menuItem) {
if (defining == "none") {
var _local1 = obj;
_local1.menu = null;
_local1.my_path = null;
_local1.my_lever = null;
_local1.my_mover.removeMovieClip();
_local1.my_target.removeMovieClip();
if (_local1.my_mover != undefined) {
removeMovieClip(_local1.my_mover);
}
if (_local1.my_target != undefined) {
removeMovieClip(_local1.my_target);
}
setTileProp(_local1);
} else {
trace("***Error: \"defining\" variable is already set. Please complete current action first.***");
}
}
function defineTarget(obj, menuItem) {
if (defining == "none") {
obj.menu = null;
var _local1 = new ContextMenu();
_local1.hideBuiltInItems();
_local1.customItems.push(new ContextMenuItem("Please select a lever", empty_function));
obj.menu = _local1;
defining = "target";
my_target = obj;
do_target_prompt();
} else {
trace("***Error: \"defining\" variable is already set. Please complete current action first.***");
}
}
function do_target_prompt() {
do_prompt("\nSelect a lever to target then press SPACE");
var _local1 = editor.my_prompt;
_local1.my_button.onRelease = function () {
do_solid();
editor.my_stage.swapDepths(editor.getNextHighestDepth());
editor.nav.swapDepths(editor.getNextHighestDepth());
removeMovieClip(editor.my_prompt);
};
}
function selectSecondaryTile(obj, menuItem) {
if (defining == "none") {
var _local1 = editor.my_stage.view_window.view_button.movie_in_button.my_sel;
_local1._x = obj._x;
_local1._y = obj._y;
defining = "second_tile";
my_target = obj;
do_second_prompt();
} else {
trace("***Error: \"defining\" variable is already set. Please complete current action first.***");
}
}
function do_second_prompt() {
do_prompt("Select new tile from toolbar");
var _local1 = editor.my_prompt;
_local1.my_button.onRelease = function () {
do_solid();
editor.toolbar.swapDepths(editor.getNextHighestDepth());
showToolBarItem("tile");
removeMovieClip(editor.my_prompt);
};
}
function defineMovingTarget(obj, menuItem) {
if (defining == "none") {
obj.menu = null;
var _local2 = new ContextMenu();
_local2.hideBuiltInItems();
_local2.customItems.push(new ContextMenuItem("Moving Target", empty_function));
obj.menu = _local2;
my_mover = obj;
if (obj.my_path != undefined) {
do_target_prompt();
defining = "add_target_to_mover";
} else {
obj.my_path = new Array();
var _local3 = editor.my_stage.view_window.view_button.movie_in_button.my_sel;
_local3._x = obj._x;
_local3._y = obj._y;
do_mover_prompt();
defining = "add_mover_to_target";
}
} else {
trace("***Error: \"defining\" variable is already set. Please complete current action first.***");
}
}
function removeAttributes(obj, menuItem) {
obj.my_path = null;
obj.my_lever = null;
obj.my_mover.removeMovieClip();
if (obj.my_mover != undefined) {
removeMovieClip(obj.my_mover);
}
obj.my_target.removeMovieClip();
if (obj.my_target != undefined) {
removeMovieClip(obj.my_target);
}
setTileProp(obj);
}
function removeTarget(obj, menuItem) {
if (defining == "none") {
var _local4 = editor.nav.nav_base;
var _local5 = mov.my_sel;
_local5._x = obj._x;
_local5._y = obj._y;
var _local2 = obj._x / tileWidth;
var _local1 = obj._y / tileHeight;
var _local3 = mov[(("tile" + _local1) + "_") + _local2];
removeMovieClip(_local3.my_target);
if (_local3.my_target != undefined) {
_local3.my_target.removeMovieClip();
}
if (mov[((("tile" + _local1) + "_") + _local2) + "_second"] != undefined) {
_local3.setMask(null);
mov[((("tile" + _local1) + "_") + _local2) + "_second"].setMask(null);
removeMovieClip(mov[((("tile" + _local1) + "_") + _local2) + "_second"].my_target);
removeMovieClip(mov[((("tile" + _local1) + "_") + _local2) + "_mask_1"]);
removeMovieClip(mov[((("tile" + _local1) + "_") + _local2) + "_second"]);
removeMovieClip(mov[((("tile" + _local1) + "_") + _local2) + "_mask_2"]);
_local4[(("tile" + _local1) + "_") + _local2].setMask(null);
_local4[((("tile" + _local1) + "_") + _local2) + "_second"].setMask(null);
removeMovieClip(_local4[((("tile" + _local1) + "_") + _local2) + "_mask_1"]);
removeMovieClip(_local4[((("tile" + _local1) + "_") + _local2) + "_second"]);
removeMovieClip(_local4[((("tile" + _local1) + "_") + _local2) + "_mask_2"]);
}
if ((_local3.my_var == undefined) || (_local3.my_var == 0)) {
removeMovieClip(_local3);
removeMovieClip(_local4[(("tile" + _local1) + "_") + _local2]);
}
_local3.target_data = null;
_local3.my_lever = null;
_local3.menu = null;
setTileProp(_local3);
} else {
trace("***Error: \"defining\" variable is already set. Please complete current action first.***");
}
}
function openPlayerProp(clip) {
newPlayer = false;
var _local1 = new ContextMenu();
_local1.customItems.push(new ContextMenuItem("Open Player Properties", definePlayerVariables));
editor.my_stage.view_window.view_button.movie_in_button.player.menu = _local1;
}
var my_cm = new ContextMenu();
my_cm.hideBuiltInItems();
my_cm.customItems.push(new ContextMenuItem("Arctic Arcade", visitAA));
this.menu = my_cm;
tileWidth = 30;
tileHeight = 30;
my_stage_width = 550;
my_stage_height = 400;
sound_on = true;
p1wv = 0;
p2wv = 0;
p1sv = 0;
p2sv = 0;
map = new Array();
map[0] = new Array(["0x0000FF", 60, 270, 30, 270], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 21, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, "m", 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [[4, 9, 36, "t11_6", [[4, 4]]], [14, 12, 33, "t7_16", [[14, 7]]]], []);
map[1] = new Array(["0x0000FF", 30, 240, 90, 240], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 10, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 1, 21, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 26, 26, 26, 26, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 18, 26, 26, 26, 26, 1, 1, 1, 1, 1, 21, 1, 26, 26, 26, 1, 1, 1, 1, 1, 1, 0, [0, 3], 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, [0, 1], [0, 1], [0, 1], [0, 1], 1, 1, 1, 1, 1, 1, 1, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, [0, 1], [0, 1], [0, 1], [0, 1], 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 18, 18, 18, 18, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, [0, 1], 0, [0, 1], 0, [0, 1], 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [[13, 3, 33, "t9_17", [[21, 3]]], [23, 3, 33, "t3_27", [[23, 8]]]], []);
map[2] = new Array(["0x0000FF", 0, 510, 30, 510], [[0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 10, 0], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, "m", 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 1, 1, 0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0], [0, 0, 0, 2, 5, 6, 6, 7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 6, 6, 7, 4, 0, 0, 0, 0, 0, 0], [0, 0, 0, 2, 4, 9, 11, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 9, 11, 2, 4, 0, 0, 0, 0, 0, 0], [0, 0, 0, 2, 4, 12, 14, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 12, 14, 2, 4, 0, 0, 42, 0, 0, 0], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, "m", 0, 0, 0, 0, 0, 0, 2, 3, 3, 26, 26, 26, 26, 26, 1, 1, 1, 1], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 26, 26, 26, 26, 26, 1, 1, 1, 1], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 26, 26, 26, 26, 26, 1, 1, 1, 1], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 26, 26, 26, 26, 26, 1, 1, 1, 1], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 1, 1, 1, 21, 1, 1, 1, 1, 1], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 18, 0, 0, 0, 0, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 18, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 2, 3, 3, 3, 3, 4, 0, 1, 1, 1, 1, 1, 1, 0, 0, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [[11, 11, 33, "t10_17", [[16, 11]]], [10, 3, 33, "t11_2", [[10, 9]]]], []);
map[3] = new Array(["0x000000"], [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 2, 5, 6, 6, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 4, 9, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 4, 12, 14, 2, 3, "m", 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 5, 6, 6, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 4, 9, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 4, 12, 14, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 1, 1, 1, 1, 1, 1, 18, 18, 18, 18, 18, 18, 18, 18, 18, 1, 21, 1, 1]], [[7, 3, 33, "t15_24", [[7, 7]]]], []);
map[4] = new Array(["0x000000"], [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 2, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 2, 5, 6, 6, 7, 3, 3, 4, 1, 2, 3, 3, 5, 6, 6, 7, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 2, 4, 9, 11, 2, 3, [3, 3], 4, 1, 2, 3, 3, 4, 9, 11, 2, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 2, 4, 12, 14, 2, 3, 3, 4, 1, 2, 3, 3, 4, 12, 14, 2, 4, 1], [1, 1, 21, 1, 18, 18, 18, 18, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 18, 18, 18, 18, 1, 1, 1, 1, 1]], [], []);
map[5] = new Array(["0x0000FF", 180, 360, 60, 360], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, [0, 3], 0, 0, 10, 0, 0, 0, 18, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 9, 11, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 14, 0, 0, 0, 0, 0, 0, 0, [0, 1], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 14, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, [0, 1], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, 1], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, 1], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, 99], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, [0, 99], [0, 99], [0, 99], 0, 0, 0, 0, 0, 0, 0, 0, [0, null, 5], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 28, 28, 28, 28, 28, 1, 1, 1, 28, [28, null, 6], 28, 1, 1, 1, 1, 1, 1, 28, [28, null, 6], 28, 1, 1, 1, 21, 1, 28, 28, 28, 28, 1, 28, 28, 28, 28, 1, 28, [28, null, 6], 28, 1, 1, 21, 1, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28]], [[10, 3, 1, "t6_8", [[10, 14]]], [34, 9, 1, "t4_4", [[34, 14]]], [39, 9, 1, "t4_4", [[39, 14]]], [50, 13, 1, "t5_8", [[50, 9]]]], []);
map[6] = new Array(["0x0000FF"], [[37, 40, 37, 40, 37, 40, 37, 40, 0, 0, 0, 0, 0, 37, 40, 0, 0, 0, 0, 37, 40, 37, 40, 37, 40, 0, 0, 0, 37, 40, 37, 40, 37, 0, 0, 0, 0, 37, 0, 0, 0, 0, 37, 0, 0, 0, 37, 40, 37, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [33, 36, 33, 36, 33, 36, 33, 36, 0, 0, 0, 0, 0, 33, 36, 0, 0, 0, 0, 36, 33, 36, 33, 36, 33, 0, 0, 0, 33, 36, 33, 36, 36, 0, 0, 0, 0, 36, 0, 0, 0, 0, 36, 0, 0, 0, 33, 36, 33, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [36, 33, 36, 33, 36, 33, 36, 33, 0, 0, 0, 0, 0, 36, 33, 0, 0, 0, 0, 33, 36, 33, 36, 33, 36, 0, 0, 0, 36, 33, 36, 33, 36, 0, 0, 0, 0, 33, 0, 9, 11, 0, 33, 0, 0, 0, 36, 33, 36, 33, 0, 0, 0, 0, 0, 30, 9, 11, 32, 0], [33, 36, 33, 36, 33, 36, 33, 36, 0, 0, 0, 0, 0, 39, 38, 0, 0, 0, 0, 36, 33, 36, 33, 36, 33, 0, 0, 0, 33, 38, 39, 38, 36, 0, 0, 0, 0, 36, 0, 12, 14, 0, 36, 0, 0, 0, 33, 33, 33, 39, 0, 0, 0, 0, 32, 31, 12, 14, 34, 30], [36, 33, 36, 33, 36, 33, 36, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 36, 33, 36, 33, 36, 0, 0, 0, 36, [0, 1], [0, 1], [0, 1], 33, 0, 0, 0, 0, 38, 39, 35, 39, 35, 35, 0, 0, 0, 36, 33, 36, [0, null, 3], 0, 0, 0, 37, 40, 37, 40, 37, 40, 37], [33, 36, 38, 35, 39, 38, 39, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 38, 39, 38, 39, 38, 0, 0, 0, 33, [0, 1], [0, 1], [0, 1], 36, 0, 0, 0, 0, 0, 0, 30, 32, 0, 0, 0, 0, 0, 39, 36, 33, 37, 0, 0, 0, 39, 33, 38, 39, 38, 33, 36], [36, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "t", 0, 0, 0, 0, "t", 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 32, 31, 34, 30, 0, 0, 0, 0, [0, null, 2], 33, 36, 36, 0, 0, 0, [0, null, 2], 36, [0, 1], [0, 1], [0, 1], 36, 33], [36, 33, 0, [0, 1], 0, 0, 0, 0, 0, 0, 0, [0, null, 2], 0, 0, 0, 0, 0, 0, 0, "t", 0, 0, 0, 0, "t", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, null, 1], 0, 37, 40, 37, 37, 40, 37, 0, 0, 0, 37, 36, 33, 39, 0, 0, 0, 37, 33, [0, 1], [0, 2], [0, 1], 36, 36], [33, 36, 0, [0, 1], 0, 35, 35, 35, 0, 0, 0, 40, 37, 0, 0, 0, 0, 0, 0, "t", 0, 9, 11, 0, "t", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 36, 33, 36, 33, [0, null, 3], 0, 0, 0, 33, 33, 36, [0, null, 3], 0, 0, 0, 33, 36, [0, 1], [0, 1], [0, 1], 38, 33], [36, 33, 0, [0, 1], 0, 39, 39, 39, 0, 0, 0, 39, 38, 0, 0, 0, 0, 0, 0, "t", 0, 12, 14, 0, "t", 0, 0, 0, 37, 0, 0, 0, 37, 0, 0, 0, 0, 36, 33, 36, 33, 36, 37, 0, 0, 0, 38, 39, 38, 39, 0, 0, 0, 35, 38, 0, 0, 0, [0, null, 2], 36], [33, 36, 0, [0, 1], 0, 0, 0, 0, 0, 0, 0, 0, [0, null, 1], 0, 0, 0, 9, 11, 0, 37, 40, 37, 40, 37, 40, 0, 0, 0, 36, [30, 1], [0, 1], [32, 1], 33, 0, 0, 0, 0, 9, 11, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 30, [0, null, 4], 0, 40, 33], [36, 33, 0, 0, 32, 30, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 14, 0, 36, 33, 36, 33, 36, 33, 0, 30, 0, 33, [31, 1], [0, 1], [34, 1], 36, 0, 0, 0, 0, 12, 14, 36, 33, 30, 32, 0, 0, 32, 30, 0, 0, 0, 30, 34, 0, 30, 0, 31, 32, 30, 33, 36], [33, 36, 37, 40, 37, 40, 37, 40, 0, 0, 0, 0, 0, 0, 0, 37, 37, 40, 37, 33, 36, 33, 36, 33, 36, 37, 40, 37, 33, 40, 37, 40, 33, 37, 40, 37, 40, 33, 36, 33, 36, 40, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 40, 37, 40, 37, 40, 36, 33], [33, 36, 33, 36, 33, 36, 33, 36, 0, 0, 0, 0, 0, 0, 0, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36]], [], [[19, 6, 1, 0, "t14_31"], [19, 7, 1, 0, "t14_31"], [19, 8, 1, 0, "t14_31"], [19, 9, 1, 0, "t14_31"], [24, 6, 1, 0, "t14_48"], [24, 7, 1, 0, "t14_48"], [24, 8, 1, 0, "t14_48"], [24, 9, 1, 0, "t14_48"]]);
map[7] = new Array(["0x000000"], [[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0], [0, 1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 0], [0, 1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 0], [0, 1, 2, 5, 6, 6, 7, 3, 3, 4, 1, 0], [0, 1, 2, 4, 9, 11, 2, 3, 3, 4, 1, 0], [0, 1, 2, 4, 12, 14, 2, 3, 3, 4, 1, 0], [0, 1, 1, 1, 1, 1, 1, 1, 21, 1, 1, 0]], [], []);
map[8] = new Array(["0x000000"], [[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0], [0, 1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 0], [0, 1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 0], [0, 1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 0], [0, 1, 1, 1, 21, 1, 1, 3, 3, 4, 1, 0], [0, 1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 0], [0, 1, 2, 5, 6, 6, 7, 3, 3, 4, 1, 0], [0, 1, 2, 4, 9, 11, 2, 3, 3, 4, 1, 0], [0, 1, 2, 4, 12, 14, 2, 3, 18, 18, 1, 0], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0]], [], []);
map[9] = new Array(["0x000000"], [[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0], [0, 1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 0], [0, 1, 2, 3, 3, 3, 3, 3, 3, 4, 1, 0], [0, 1, 2, 5, 6, 6, 7, 3, 3, 4, 1, 0], [0, 1, 2, 4, 9, 11, 2, 3, 3, 4, 1, 0], [0, 1, 2, 4, 12, 14, 2, 3, 41, 4, 1, 0], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0]], [], []);
map[10] = new Array(["0x000000"], [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 2, [3, 3], 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1], [1, 2, 5, 6, 6, 7, 5, 6, 6, 7, 4, 1], [1, 2, 4, 9, 11, 2, 4, 9, 11, 2, 4, 1], [1, 2, 4, 12, 14, 2, 4, 12, 14, 2, 4, 1], [1, 1, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [], []);
map[11] = new Array(["0x000000"], [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 6, 6, 7, 4, 1, 0, 0], [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 9, 11, 2, 4, 1, 0, 0], [1, 2, 3, [3, 3], 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 12, 14, 2, 4, 1, 0, 0], [1, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1, 1, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 1, 2, 3, 5, 6, 6, 7, 5, 6, 6, 7, 4, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 2, 3, 4, 9, 11, 2, 4, 9, 11, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, "t", "t", 4, 12, 14, 2, 4, 12, 14, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 1, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]], [], [[6, 7, 2, 1, "t5_8"], [7, 7, 3, 1, "t5_8"]]);
map[12] = new Array(["0x0000FF", 30, 390, 120, 390], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, 3], 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, null, 10], 0, 0, 0, 0, [0, null, 10], 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 12, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 18, 1], [0, 0, 10, 0, 0, 0, 0, 0, "m", 0, 1, 18, 1, 1, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 1, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 62, 24, 62, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 13, 23, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 13, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 13, 44, 44, 23, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 13, 44, 44, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 44, 27, 61, 44, 23, 0, 0, 0, 1, 0, 9, 11, 0, 0, 0, 1, 0, 0, 0, 9, 11, 0, 1, 0, 0, 0, 13, 44, 27, 61, 44, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 13, 44, 44, 25, 25, 44, 44, 23, 0, 0, 1, 0, 12, 14, 0, 0, 0, 1, 0, 0, 0, 12, 14, 0, 1, 0, 0, 13, 44, 44, 25, 25, 44, 44, 23, 0, 0, 0, 0, 0, 42, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 1, 1, 1, 21, 1, 1, 1, 1, 1, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [[8, 7, 33, "t14_18", [[8, 13]]], [25, 0, 33, "t14_29", [[25, 3]]], [16, 7, 33, "t7_25", [[16, 5]]]], []);
map[13] = new Array(["0x000000", 60, 390, 30, 390], [[44, 44, 44, 44, 44, 44, 44, 44, 56, 46, 46, 52, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 56, 46, 46, 46, 55, 46, 46, 46, 52, 56, 46, 55, 46, 46, 46, 55, 52, 44, 44, 56, 55, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 55, 52], [44, 44, 44, 44, 44, 44, 44, 56, 46, 46, 46, 46, 52, 44, 44, 44, 44, 44, 44, 44, 44, 56, 57, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 58, 57, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46], [44, 44, 44, 44, 44, 44, 56, 46, 46, 46, 46, 46, 46, 52, 44, 44, 44, 44, 44, 44, 56, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46], [44, 44, 44, 44, 44, 56, 46, 46, 46, 46, 46, 46, 46, 46, 57, 57, 52, 44, 56, 58, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 9, 11, 46, 46], [44, 44, 44, 56, 57, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 58, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 12, 14, 46, 46], [58, 57, 58, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 49], [46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 49], [46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 49], [46, [46, 3], 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 49, 49, 49, 49], [46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, [46, null, 0], 46, 54, 43, 43, 43, 53, 46, 46, 46, 46, 46, 46, 46, 54, 43, 43, 43, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 49, 49, 49, 49], [46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 49, 49, 49, 49], [46, 46, 46, 46, 46, 46, 49, 50, 49, 46, 46, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 49, 49, 49, 49, 46, 46, 46], [46, 46, 46, 46, 46, 46, 50, 49, 50, 46, 51, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 9, 11, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 49, 49, 49, 49, 46, [46, 3], 46], [46, 46, 46, 46, 46, 46, 49, 50, 49, 46, 46, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 12, 14, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 49, 49, 49, 49, 46, 46, 46], [43, 43, 43, 43, 43, 48, 47, 47, 47, 59, 43, 43, 43, 18, 43, 43, 60, 60, 60, 43, 43, 18, 43, 43, 43, 43, 43, 43, 60, 60, 60, 43, 43, 43, 43, 43, 43, 43, 43, 43, 18, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43]], [[26, 7, 33, "t14_22", [[26, 10]], 46]], []);
map[14] = new Array(["0x000000", 60, 390, 30, 390], [[44, 44, 44, 44, 56, 46, 46, 46, 55, 46, 55, 46, 46, 46, 46, 52, 44, 56, 46, 46, 46, 46, 46, 52, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44], [44, 56, 58, 58, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 58, 46, 46, 46, 46, 46, 46, 46, 52, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44], [56, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 57, 57, 52, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 56], [46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 52, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 56, 46], [46, 46, 54, 43, 53, 46, 46, 54, 43, 43, 43, 53, 46, 46, 54, 43, 43, 43, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 58, 58, 52, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 56, 58, 46, 46], [46, 46, 46, 45, 46, 46, 46, 46, 45, 45, 45, 46, 46, 46, 46, 45, 45, 45, 46, 46, 46, 46, [46, 99], [46, 99], [46, 99], 46, 46, 46, 46, 46, 46, 46, 52, 44, 44, 44, 44, 44, 44, 44, 44, 56, 46, 46, 46, 46], [46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 43, 43, 43, 53, 46, 46, 46, 46, 46, 46, 46, 52, 44, 44, 44, 44, 44, 44, 56, 46, 46, 46, 54, 43], [46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 58, 52, 44, 44, 44, 56, 46, 46, 46, 46, 54, 60], [46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 58, 57, 57, 46, 46, 46, 46, 46, 54, 60], [54, 18, 43, 43, 53, 46, 46, 54, 43, 43, 43, 53, [46, null, 9], 46, 54, 43, 43, 43, 53, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 60], [46, 45, 45, 45, 46, 46, 46, 46, 45, 45, 45, 46, 46, 46, 46, 45, 45, 45, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 60], [46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 60], [46, 9, 11, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 60], [46, 12, 14, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 54, 60, 60, 60, 53, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, [46, null, 7], 46, 46, 46, 46, 54, 60], [43, 43, 43, 43, 48, 47, 47, 59, 43, 43, 43, 48, 47, 47, 59, 43, 43, 43, 43, 18, 43, 43, 60, 60, 60, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 60]], [], []);
map[15] = new Array(["0x0000FF", 30, 390, 90, 390], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [22, 99], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, "m", 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, null, 10], 0, "m", 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2, 5, 6, 6, 7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2, 4, 9, 11, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2, 4, 12, 14, 2, 4, 0, 0, 0, [0, 99], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, 99], 0, "m", 1, 1, 1, 1, 1, 1, 1, 0, [0, 99], "m", 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 42, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 1, 1, 18, 1, 62, 62, 62, 62, 62, 62, 62, 62, 62, 18, 18, 62, 62, 1, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [[12, 8, 33, "t14_45", [[12, 13]]], [17, 2, 33, "t14_14", [[17, 7]]], [34, 5, 33, "t1_21", [[34, 13]]], [37, 13, 33, "t14_34", [[37, 9]]], [47, 13, 33, "t1_21", [[47, 9]]]], []);
map[16] = new Array(["0x000000", 120, 1410, 90, 1410], [[0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 9, 11, 71, 71, 71, 71, 71, [71, null, 0], 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 12, 14, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 18, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 9, 11, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 9, 11, 71, 72, 0], [0, 72, 70, 12, 14, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 12, 14, 70, 72, 0], [0, 72, 72, 72, 72, 72, 73, 74, 74, 74, 74, 74, 74, 73, 18, 72, 72, 72, 72, 0], [0, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, [71, null, 0], 71, 71, 71, 71, 72, 0], [0, 72, 70, 9, 11, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 9, 11, 70, 72, 0], [0, 72, 71, 12, 14, 71, 71, 71, 71, 71, 71, 71, 71, "m", 71, 12, 14, 71, 72, 0], [0, 72, 72, 72, 72, 72, 73, 74, 74, 74, 74, 74, 74, 73, 72, 72, 72, 72, 72, 0], [0, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, [70, null, 0], 70, 70, 70, 70, 9, 11, 70, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 12, 14, 71, 72, 0], [0, 72, 70, 70, 70, 70, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 72, 72, 18, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 72, 72, 72, 72, 72, 72, 72, 72, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, [71, null, 0], 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 9, 11, 70, 70, 70, 70, 70, 70, 70, 70, 72, 18, 72, 72, 72, 0], [0, 72, 71, 71, 12, 14, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0], [0, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 9, 11, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 9, 11, 71, 72, 0], [0, 72, 70, 12, 14, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 12, 14, 70, 72, 0], [0, 72, 72, 72, 72, 72, "m", 71, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [0, 72, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 72, 0], [0, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 0], [72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, "m", "m", 72, 72, 21, 72, 72, 72, 72], [72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 75, 75, 72, 72, 72, 72, 72, 72, 72]], [[6, 43, 33, "t32_12", [[6, 47]]], [11, 48, 33, "t48_15", [[11, 42]]], [12, 48, 33, "t48_15", [[12, 42]]], [13, 17, 33, null, [[6, 17]]]], []);
map[17] = new Array(["0x0000FF", 210, 30, 90, 390], [[72, 72, 72, 72, 72, 72, 75, 75, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72], [72, 72, 72, 72, 72, 72, 0, 0, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72], [40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0], [36, [0, null, 3], 0, [32, 1], [30, 1], [0, 1], [0, 1], 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 9, 11, 0], [33, 36, 40, 37, 40, 37, 33, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 12, 14, 0], [36, 33, 36, 33, 36, 33, 36, 0, 0, 0, 33, 0, 0, 0, 40, 37, 40, 37, 40, 37], [33, 36, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 39, 35, 39, 35, 39, 36], [36, 33, 0, 0, 0, 0, 0, 0, 30, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 33], [33, 36, 0, 0, 0, [0, 1], [0, 1], [30, 1], [31, 1], [0, 1, 11], 36, 0, 0, 0, 0, 0, 0, 0, 0, 36], [33, 36, 0, 0, 0, 36, 40, 37, 40, 37, 33, 0, 0, 0, 32, 0, 0, 0, 0, 33], [36, 0, 0, 0, 0, 33, 36, 33, 36, 33, 36, 0, 0, 0, 40, 37, 0, [0, 1], 0, 36], [33, [0, null, 3], 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 39, 35, 0, [0, 1], 0, 33], [36, 33, 0, 0, [30, 1], [0, 1], [0, 1], 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 36], [33, 36, 0, 30, 31, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 30, 0, 0, 0, 33], [36, 36, 37, 40, 37, 40, 37, 0, 0, 0, 36, 0, [0, 1], 0, 40, 37, 0, 0, 0, 36], [33, 36, 38, 39, 38, 39, 38, 0, 0, 0, 33, 0, [0, 1], 0, 39, 38, 0, 0, 0, 33], [33, 36, 0, 0, 0, 0, 30, 0, 0, 0, 36, 0, 30, 32, 0, 0, 0, 0, 0, 36], [36, 33, 0, 0, 0, 32, 31, 30, 32, 0, 33, 0, [31, null, 12], 34, 32, 0, 0, 0, 0, 33], [33, 36, 0, 0, 0, 40, 37, 40, 37, 40, 36, 40, 37, 40, 37, 40, 0, 0, 0, 36], [36, 33, 0, 0, 0, 39, 0, 0, 0, 39, 39, 0, 0, 0, 39, 39, 0, 0, 0, 33], [33, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 36], [36, 33, 0, [0, null, 12], 30, 32, 0, 0, 32, 30, 0, 30, 31, 0, 32, 0, 30, [0, null, 12], [0, null, 11], 33], [33, 36, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 36], [36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33, 36, 33]], [], []);
map[18] = new Array(["0x0000FF", 30, 350, 90, 350], [[0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 66, 67, 67, 68, 64, 64, 64, 64, 64, 64, 66, 67, 67, 68, 65, 0, 0], [0, 0, 63, 65, 9, 11, 63, 64, 64, 64, 64, 64, 64, 65, 9, 11, 63, 65, 0, 0], [0, 0, 63, 65, 12, 14, 63, 64, 64, 64, 64, 64, 64, 65, 12, 14, 63, 65, 0, 0], [0, 0, 72, 72, 72, 72, 72, 64, 64, 64, 64, 64, 64, 72, 72, 72, 72, 72, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 42, 0], [72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 21, 72, 72, 72, 72, 72, 72], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 66, 67, 67, 68, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 65, 9, 11, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 65, 12, 14, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, "m"], [0, 0, 63, 72, 72, 72, 72, 64, 64, 64, 64, 64, 64, 72, 72, 72, 72, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 18, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 66, 67, 67, 68, 64, 64, 64, 64, 64, 64, 66, 67, 67, 68, 65, 0, 0], [0, 0, 63, 65, 9, 11, 63, 64, 64, 64, 64, 64, 64, 65, 9, 11, 63, 65, 0, 0], [0, 0, 63, 65, 12, 14, 63, 64, 64, 64, 64, 64, 64, 65, 12, 14, 63, 65, 0, 0], [0, 0, 72, 72, 72, 72, 72, 64, 64, 64, 64, 64, 64, 72, 72, 72, 72, 18, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 66, 67, 67, 68, 64, 64, 64, 64, 64, 64, 66, 67, 67, 68, 65, 0, 0], [0, 0, 63, 65, 9, 11, 63, 64, 64, 64, 64, 64, 64, 65, 9, 11, 63, 65, 0, 0], [0, 0, 63, 65, 12, 14, 63, 64, 64, 64, 64, 64, 64, 65, 12, 14, 63, 65, 0, 0], [72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 21, 72, 72, 72, 72, 72, 72, 72], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 69, 0, 0, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 0, 0, 0, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 0, 0, 0, 64, 64, 64, 64, 64, 65, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 0, 0, 0, 64, 64, 64, 64, 64, 65, 0, 0], [72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72]], [[19, 17, 33, "t13_13", [[7, 17]]]], []);
map[19] = new Array(["0x000000", 150, 360, 420, 360], [[70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70], [71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71], [70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70], [71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71], [70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70], [71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71], [70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70], [71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71], [70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70], [71, 71, 71, 71, 71, 76, 71, 71, 71, 71, 71, 71, 71, 71, 76, 71, 71, 71, 71], [70, 70, 70, 70, 70, 77, 70, 70, 70, 70, 70, 70, 70, 70, 77, 70, 70, 70, 70], [71, 71, 71, 71, 71, 78, 71, 71, 71, 71, 71, 71, 71, 71, 78, 71, 71, 71, 71], [70, 70, 70, 70, 70, 70, 70, 70, 70, [70, null, 13], 70, 70, 70, 70, 70, 70, 70, 70, 70], [72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72]], [], []);
map[20] = new Array(["0x0000FF", 210, 360, 390, 360], [[0, 0, 63, 65, 12, 14, 63, 64, 64, 64, 64, 65, 12, 14, 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, 3]], [0, 0, 72, 72, 72, 72, 72, 64, 64, 64, 64, 72, 72, 72, 72, 72, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 63, 66, 67, 67, 68, 64, 64, 64, 64, 66, 67, 67, 68, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 66, 67, 67, 68, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 66, 67, 67, 68, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, "m", 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 63, 65, 9, 11, 63, 64, 64, 64, 64, 65, 9, 11, 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 9, 11, 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 65, 9, 11, 63, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 63, 65, 12, 14, 63, 64, 64, 64, 64, 65, 12, 14, 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 12, 14, 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 65, 12, 14, 63, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 21, 72, 72, 72, 72, 72, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 18, [0, null, 0], 0, 0, 0, [0, null, 0], 18, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 21, 72, 0, 0, 0, 0, 0, 0, 0, "m", 72, 21, 72, 72, 72, 72, 72, 72, 64, 64, 65, 0, 0, 0, "m", 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", "m", "m", "m", "m", "m", "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 69, 0, 0, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 3, 3, 4, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 64, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 21, 1, 0, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 0, 0, 0, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 6, 6, 7, 4, 0, 0, 0, 0, 63, 64, 66, 67, 67, 68, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 66, 67, 67, 68, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 0, 0, 0, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 9, 11, 2, 4, 0, 0, 0, 0, 63, 64, 65, 9, 11, 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 9, 11, 63, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 63, 64, 64, 64, 64, 64, 0, 0, 79, 64, 64, 64, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 62, 1, 62, 24, 24, 24, 62, 1, 62, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 12, 14, 2, 4, 0, 0, 0, 0, 63, 64, 65, 12, 14, 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 12, 14, 63, 64, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, "m", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [[33, 1, 33], [121, 3, 33], [27, 6, 33], [39, 6, 33], [87, 6, 33, "t6_89", [[80, 6]]], [102, 6, 33, "t13_100", [[102, 13]]], [108, 6, 33], [127, 6, 36, "t9_125", [[127, 3]]], [25, 7, 33, "t13_23", [[25, 12]]], [106, 7, 33], [48, 8, 36, "t13_46", [[48, 13]]], [49, 8, 33], [50, 8, 33], [51, 8, 33], [52, 8, 33], [53, 8, 33], [54, 8, 33], [104, 8, 36], [87, 13, 36, "t6_78", [[80, 13]]]], []);
map[21] = new Array(["0x000000", 120, 660, 390, 360], [[0, 1, 63, 64, 64, 64, 64, 64, 64, 64, 64, 1, 0], [0, 1, 63, 64, 64, 66, 67, 67, 68, 64, 64, 1, 0], [0, 1, 63, 64, 64, 65, 9, 11, 63, 64, 64, 1, 0], [0, 1, 63, 64, 64, 65, 12, 14, 63, 64, 64, 1, 0], [0, 1, 63, 64, 64, 1, 1, 1, 1, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, [64, null, 0], 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, 18, 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 64, 72, 64, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, [64, null, 0], 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, 64, 1, 0], [0, 1, 63, 64, 18, 64, 64, 64, 64, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 72, 64, 64, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 72, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, 64, 1, 0], [0, 1, 63, 64, 64, 64, 64, 64, 64, 64, 64, 1, 0], [0, 1, 63, 66, 67, 67, 68, 64, 64, 64, 64, 1, 0], [0, 1, 63, 65, 9, 11, 63, 64, 64, 64, 64, 1, 0], [0, 1, 63, 65, 12, 14, 63, 64, 64, 64, 18, 1, 0], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0]], [], []);
map[22] = new Array(["0x000000", 120, 660, 390, 360], [[0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 66, 67, 67, 68, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 65, 9, 11, 63, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 65, 12, 14, 63, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 72, 72, 72, 72, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, [64, null, 0], 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 64, 72, 64, 64, 72, 64, 64, 18, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, [64, null, 0], 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 18, 64, 64, 72, 64, 64, 72, 64, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 66, 67, 67, 68, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 65, 9, 11, 63, 64, 64, 64, 64, 65, 72, 0], [0, 72, 63, 65, 12, 14, 63, 64, 64, 64, 64, 18, 72, 0], [0, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0]], [], []);
map[23] = new Array(["0x0000FF", 30, 330, 90, 330], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, 3], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 84, 85, 21, 85, 86, "m", 0, 0, 0, 0, 0, 0, 0, 84, 85, 85, 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, 99], 0, 0, 0, 0, 0, 0, [0, 99], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, 85, 85, 86, 0, "m", 0, 84, 85, 86, 0, "m", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "m", 0, 0, 84, 85, 85, 21, 85, 85, 86, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, 99], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, 99], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 87, 87, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, null, 15], 84, 85, 85, 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, 85, 85, 86, 0, [0, null, 15], 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 80, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, 85, 85, 44, 44, 44, 85, 85, 85, 86, 80, [82, null, 15], 83, 84, 85, 85, 85, 44, 44, 44, 85, 85, 85, 85, 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [85, 85, 85, 85, 86, 0, 18, 0, 0, 0, 0, 0, 0, 84, 85, 85, 85, 86, 0, 0, 50, 49, 50, 0, 0, 0, 0, 0, 0, 0, [0, 99], 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, 85, 44, 44, 44, 44, 44, 44, 44, 44, 44, 18, 85, 85, 85, 18, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 81, 82, 83, 0, [0, null, 15], 0, 0, 0, 0, 0, 84, 85, 85, 44, 44, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [44, 44, 44, 44, 86, 0, 0, 0, 0, 0, 84, 85, 85, 85, 44, 44, 44, 86, 0, 0, 0, 0, 0, 49, 50, 49, 0, 0, [0, null, 15], 84, 85, 85, 86, 0, 0, "m", 0, [0, null, 15], 84, 85, 85, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 86, 0, 84, 85, 18, 85, 86, 0, 84, 85, 85, 85, 85, 85, 21, 85, 85, 85, 86, 0, 84, 85, 85, 44, 44, 44, 44, 86, 0, 80, 83, 0, 0, 82, [83, null, 14], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0], [44, 44, 44, 44, 86, 0, 0, 0, 0, 0, 84, 44, 44, 44, 44, 44, 44, 86, 0, 0, 0, 0, 0, 0, 0, 84, 85, 85, 85, 85, 44, 44, 86, 0, 84, 85, 21, 85, 85, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 86, 0, 84, 44, 44, 44, 86, 0, 84, 44, 44, 44, 44, 44, 44, 44, 44, 44, 86, 0, 84, 44, 44, 44, 44, 44, 44, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21, 85, 85, 85, 85, 85, 86, "m", 0, 0, 0, 0, 84, 85, 85]], [[77, 2, 33, "t13_82", [[77, 7]]], [84, 2, 33, "t2_81", [[91, 2]]], [79, 8, 33], [85, 8, 33], [106, 8, 33, "t14_105", [[106, 13]]], [35, 13, 33, "t14_36", [[35, 9]]], [112, 14, 33, "t8_112", [[116, 14]]]], []);
map[24] = new Array(["0x0000FF", 30, 540, 90, 540], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 95, 96, 96, 97, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 94, 9, 11, 92, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 94, 12, 14, 92, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 89, 89, 89, 89, 89, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 42, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 93, 93, 93, 93, 89, 89, 21, 89, 89, 89, 89, 89, 89, 89, 89], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 93, 93, "m", 93, 93, 93, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 89, 93, 93, 95, 96, 96, 97, 89, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 89, 93, 93, 94, 9, 11, 92, 89, 93, "m", 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 89, 93, 93, 94, 12, 14, 92, 89, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 93, 89, 21, 89, 89, 89, 89, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 93, 93, 93, 98, 0, 0, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 0, 13, 23, 0, 0, 0, 0, 92, 93, 93, 93, 93, 0, 0, 0, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 0, 13, 27, 61, 23, 0, 0, 0, 92, 93, 93, 93, 93, 0, 0, 0, 93, 93, 93, 93, 94, 0, 0, 0, 0], [0, 13, 44, 25, 25, 44, 23, 0, 0, 92, 93, 93, 93, 93, 0, 0, 0, 93, 93, 93, 93, 94, 0, 0, 0, 0], [89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89]], [[13, 7, 33, "t6_17", [[13, 12]]], [20, 11, 36, "t13_13", [[20, 18]]]], []);
map[25] = new Array(["0x000000", 90, 60, 120, 60], [[58, 55, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 46, 46, 55, 57, 58, 52, 44], [46, 46, 9, 11, 46, 46, 46, 49, 49, 49, 49, 49, 46, 46, 46, 46, 46, 46, 52], [46, 46, 12, 14, 46, 46, 46, 49, 49, 49, 49, 49, 46, 46, 46, 46, 46, 46, 46], [43, 43, 43, 43, 43, 43, 43, 49, 49, 49, 49, 49, 46, 46, 46, 46, 46, 46, 46], [45, 45, 45, 45, 45, 45, 45, 49, 49, 49, 49, 49, 46, 46, 46, 46, [46, null, 0], 46, 46], [46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 46, 46, 46, 46, 46, 46, 46], [46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 46, 46, 46, 46, 46, 46, 46], [46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 43, 43, 43, 43, 43, 43, 43], [46, 46, 46, 46, 46, [46, null, 0], 46, 49, 49, 49, 49, 49, 45, 45, 45, 45, 45, 45, 45], [46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 46, 46, 46, 46, 46, 46, 46], [46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 46, 46, 46, 46, 46, 46, 46], [43, 43, 43, 43, 43, 43, 43, 49, 49, 49, 49, 49, 46, 46, 46, 46, 46, 46, 46], [45, 45, 45, 45, 45, 45, 45, 49, 49, 49, 49, 49, 46, 46, 46, 46, 9, 11, 46], [46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 46, 46, 46, 46, 12, 14, 46], [46, 46, 46, 46, 46, 46, 46, 49, 49, 49, 49, 49, 43, 43, 43, 43, 43, 43, 43]], [], []);
map[26] = new Array(["0x000000", 90, 420, 120, 420], [[56, 58, 55, 46, 46, 55, 46, 49, 49, 50, 49, 50, 46, 46, 46, 46, 46, 46, 46], [46, 46, 46, 46, 46, 46, 46, 49, 50, 49, 50, 49, 46, 46, 46, 46, 46, 46, 46], [46, 46, 46, 46, 46, 46, 46, 50, 49, 50, 49, 50, 46, 46, 46, 46, 46, 46, 46], [46, 46, 9, 11, 46, 46, 46, 49, 50, 49, 50, 49, 46, 46, 46, 46, 46, 46, 46], [46, 46, 12, 14, 46, 46, 46, 50, 49, 50, 49, 50, 46, 46, 46, 46, 46, 46, 46], [54, 43, 43, 43, 43, 53, 46, 49, 50, 49, 50, 49, 46, 46, 46, 46, 46, 46, 46], [46, 45, 45, 45, 45, 46, 46, 50, 49, 50, 49, 50, 46, 46, 46, 46, 46, 46, 46], [46, 46, 46, 46, 46, 46, 46, 50, 50, 49, 50, 49, 46, 46, 46, 46, 46, 46, 46], [46, 46, 46, 46, 46, 46, 46, 49, 49, 50, 49, 50, 46, 46, 46, 46, 46, 46, 46], [46, 46, 46, 46, 46, 46, 46, 49, 50, 49, 50, 49, 46, 46, 46, 46, 46, 46, 46], [46, 46, 46, 46, 46, 46, 46, 50, 49, 50, 49, 50, 46, 54, 18, 43, 43, 43, 53], [46, 46, 46, 46, 46, 46, 46, 49, 50, 49, 50, 49, 46, 46, 45, 45, 45, 45, 46], [46, 46, 9, 11, 46, 46, 46, 50, 49, 50, 50, 49, 46, 46, 51, 46, 51, 46, 46], [46, 46, 12, 14, 46, 46, 46, 50, 49, 50, 49, 50, 46, 46, 46, 46, 46, 46, 46], [43, 43, 43, 43, 43, 18, 53, 50, 49, 49, 50, 49, 46, 46, 46, 46, 46, 46, 46]], [], []);
map[27] = new Array(["0x000000", 60, 120, 120, 120], [[91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [90, 90, 9, 11, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 91, 12, 14, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [89, 89, 89, 89, 89, 89, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, [90, null, 0], 90, 90, 90, 90, 90], [89, 89, 89, 89, 89, 89, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [89, 89, 89, 89, 89, 89, 91, 91, 91, 91, 91, 91, 91, [91, null, 0], 91, 91, 91, 91, 91], [89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [89, 89, 89, 89, 89, 89, 91, 91, 91, 91, 91, 91, 91, 91, 91, 9, 11, 91, 91], [89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 12, 14, 90, 90], [89, 89, 89, 89, 89, 89, 99, 99, 99, 99, 99, 99, 89, 89, 89, 89, 89, 89, 89]], [], []);
map[28] = new Array(["0x0000FF", 60, 120, 120, 120], [[25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25], [25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25], [39, 35, 39, 38, 35, 38, 39, 35, 39, 38, 35, 38, 39, 35, 39, 38, 35, 38, 39, 35, 39, 38, 35, 38, 39, 35, 39], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, null, 1], 0, 0, 0, 0, 0, 0, 0, 0, [0, null, 1], 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 30, 32, 0, 0, 0, 0, 0, 0, 32, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 37, 40, 37, 40, 0, 0, 0, 0, 37, 40, 37, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 32, 0, 30, 0, 0, 0, 32, 0, 0, 30, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 9, 11, 0, 0], [0, 0, 30, 34, 32, [31, null, 12], 0, 0, [30, null, 12], 34, 0, 0, 31, [32, null, 12], 34, 0, [30, null, 12], 0, 0, [0, null, 12], 32, 0, 0, 12, 14, 0, 0], [37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 40], [25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25], [25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25]], [], []);
map[29] = new Array(["0x0000FF", 60, 120, 120, 120], [[25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25], [25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25], [39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 38, 39, 38, 39, 38, 39, 39, 38, 38, 39, 38, 36, 33, 36, 36, 33, 36], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 36, 33, 33, 36, 36], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 33, 36, 36, 33, 36], [0, 0, 0, 0, 0, 0, 0, 0, 0, [0, null, 2], 33, [0, null, 3], 0, 0, 0, 0, 0, 0, 0, 0, [0, null, 2], 33, 36, 33, 33, 36, 33], [0, 0, 0, 0, 40, 40, 0, 0, 0, 37, 33, 37, 0, 0, 0, 37, 37, 0, 0, 0, 37, 33, 36, 33, 36, 33, 36], [0, 0, 0, 0, 33, 36, 0, 0, 0, 33, 33, 33, 0, 0, 0, 33, 36, 0, 0, 0, 33, 36, 33, 36, 33, 36, 33], [0, 0, 0, 0, 36, 33, 0, 0, 0, 38, 35, 38, 0, 0, 0, 36, 33, 0, 0, 0, 39, 38, 35, 39, 35, 38, 35], [0, 0, 0, 0, 33, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 9, 11, 0, 36, 33, 0, 0, 30, 0, 0, 0, 30, 0, 0, 36, 33, 0, 0, 0, 30, 32, 0, 0, 9, 11, 0], [0, 12, 14, 0, 33, 36, 32, [0, null, 12], 31, 32, [0, null, 12], 30, 31, [32, null, 12], 0, 33, 36, 0, [0, null, 12], 30, 31, 34, 32, 0, 12, 14, 32], [37, 40, 37, 40, 36, 33, 40, 40, 37, 40, 37, 40, 37, 40, 37, 36, 33, 40, 37, 40, 37, 37, 37, 40, 37, 40, 40], [25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25], [25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25]], [], []);
map[30] = new Array(["0x0000FF", 240, 360, 300, 360], [[0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0], [0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0], [0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0], [0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 95, 96, 96, 97, 94, 0, 0], [0, 0, 92, 95, 96, 96, 97, 93, 93, 93, 93, 93, 94, 9, 11, 92, 94, 0, 0], [0, 0, 92, 94, 9, 11, 92, 93, 93, 93, 93, 93, 94, 12, 14, 92, 94, 42, 0], [0, 0, 92, 94, 12, 14, 92, 93, 93, 93, 93, 93, "m", 89, 89, 89, 21, 89, 89], [0, 89, 89, 89, 89, 89, 89, "m", 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0], [0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0], [0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0], [0, 0, 92, 95, 96, 96, 97, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0], [0, 0, 92, 94, 9, 11, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0], [0, 0, 92, 94, 12, 14, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0], [89, 89, 89, 89, 89, 89, 89, 89, 89, 21, 89, 89, 89, 89, 89, 89, 89, 89, 89], [0, 0, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 0, 0]], [[12, 6, 36, "t6_16", [[12, 12]]], [7, 7, 33, "t13_9", [[7, 12]]]], []);
map[31] = new Array(["0x000000", 30, 90, 60, 90], [[90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 91, 91, 91, 91, 91, 91, 91, 91, [91, null, 0], 91, 91, 91, [91, null, 0], 91, 91, [91, null, 0], 91, 91], [90, 9, 11, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 9, 11, 90], [91, 12, 14, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 12, 14, 91], [89, 89, 89, 89, 90, 90, "m", 90, 90, "m", 90, 90, "m", 90, 90, 89, 89, 89, 89], [91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [90, 9, 11, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 12, 14, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90]], [[6, 6, 36], [9, 6, 36], [12, 6, 36]], []);
map[32] = new Array(["0x000000", 180, 390, 360, 390], [[89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89], [89, 89, 89, 91, 91, 91, 89, 89, 89, 91, 89, 89, 89, 91, 91, 91, 89, 89, 89], [89, 89, 90, 90, 90, 90, 90, 89, 90, 90, 90, 89, 90, 90, 90, 90, 90, 89, 89], [89, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 89], [90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 91, 91, 91, 91, 91, 91, "m", 91, 91, 91, "m", 91, 91, 91, 91, 91, 91, 91], [90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91], [90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90], [89, 89, 89, 89, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 89, 89, 89, 89], [89, 89, 89, 89, 89, 21, 89, 89, 89, 89, 89, 89, 89, 21, 89, 89, 89, 89, 89]], [[7, 7, 33, "t14_13", [[7, 13]]], [11, 7, 33, "t14_5", [[11, 13]]]], []);
bonus_map = new Array();
bonus_map[0] = new Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
bonus_map[1] = new Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 5, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
bonus_map[2] = new Array([0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 3, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 3, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 3, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 3, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [5, 5, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
bonus_map[3] = new Array([1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 5, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 5, 5, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 5, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 5, 5, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0], [0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0], [1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0, 1, 0], [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
bonus_map[4] = new Array([1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 3, 0, 0, 3, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 3, 3, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 0, 1, 1, 1, 3, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 3, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 1], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 3, 3, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0], [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 3, 0, 0, 3, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3]);
bonus_map[5] = new Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 3, 3, 1, 5, 5, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0], [3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 1, 1, 1, 1, 3, 3, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0], [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 0], [3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 3, 3, 3, 3, 1, 1, 5, 5, 1, 1, 3, 3, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
bonus_map[6] = new Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, 1, 1, 3, 0, 0, 0, 0, 0, 3, 5, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, 1, 1, 3, 1, 1, 1, 5, 1, 1, 1, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3], [5, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 1, 1, 1, 0, 0, 3, 1, 1, 1, 5, 1, 1, 1, 3, 1, 1, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3]);
bonus_map[7] = new Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
bonus_map[8] = new Array([0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
bonus_map[9] = new Array([1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
var tileRef = new Array("Empty");
var tile_count = 100;
var i = 1;
while (i <= tile_count) {
tileRef.push("tile_" + i);
i++;
}
var char_count = 20;
var characterRef = new Array("Clear");
var i = 0;
while (i <= char_count) {
characterRef.push("character_" + i);
i++;
}
var itemRef = new Array("Clear", "item_1", "item_2", "item_3", "item_4", "item_5", "item_6", "item_7", "item_8", "item_9", "item_10", "item_11");
var playerRef = new Array("Clear", "player");
var types = new Array("tile", "item", "character", "player");
var screenWidth = Stage.width;
var screenHeight = Stage.height;
var map_width = 19;
var map_height = 15;
var my_background = "";
var nav_background = my_background;
my_bg_colour = "0x0000FF";
my_map_name = "";
var def_player = "player";
my_var = 0;
my_sel = "";
defining = "none";
scroll_min = 18;
scroll_max = 162;
var mask_width;
var mask_height;
var my_right;
var my_top;
var space_pressed;
var showing_grid;
var showing_screen;
d_window = this.getDepth();
d = this.getDepth() + 1000;
update = true;
function sitelock(url_to_lock) {
var _local6 = _url;
var _local4 = _local6.split("/");
var _local3 = 0;
while (_local3 < _local4.length) {
var _local2 = _local4[_local3].split(".");
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2[_local1] == url_to_lock) {
test_boolean = true;
}
_local1++;
}
_local3++;
}
}
test_boolean = false;
sitelock("armorgames");
sitelock("armor");
this.onEnterFrame = function () {
var _local4 = _root.getBytesLoaded();
var _local3 = _root.getBytesTotal();
if (test_boolean) {
if (_local4 >= _local3) {
SharedObject.addListener("engine", load_SO);
my_info = SharedObject.getLocal("engine");
gotoAndStop (3);
delete this.onEnterFrame;
} else {
my_progress.text = Math.floor((_local4 / _local3) * 100);
}
} else if (_local4 >= _local3) {
gotoAndStop ("locked");
}
};
stop();
Frame 4
Key.removeListener(keyListener);
var keyListener = new Object();
keyListener.onKeyUp = function () {
nextFrame();
};
Key.addListener(keyListener);
stop();
Frame 5
Key.removeListener(keyListener);
do_loop("title_loop");
stop();
Frame 6
Key.removeListener(keyListener);
var keyListener = new Object();
keyListener.onKeyDown = function () {
my_key = Key.getCode();
switch (_root["game_state_" + cpv]) {
case "playing" :
switch (my_key) {
case 90 :
switch_char();
break;
case 50 :
case 38 :
up_down = true;
break;
case 52 :
case 37 :
left_down = true;
break;
case 53 :
case 13 :
case 32 :
enter_down = true;
check_doors();
break;
case 54 :
case 39 :
right_down = true;
break;
case 56 :
case 40 :
down_down = true;
break;
}
break;
case "swimming" :
switch (my_key) {
case 50 :
case 38 :
up_down = true;
break;
case 52 :
case 37 :
left_down = true;
break;
case 53 :
case 13 :
case 32 :
enter_down = true;
check_doors();
break;
case 54 :
case 39 :
right_down = true;
break;
case 56 :
case 40 :
down_down = true;
break;
}
break;
case "bonus" :
switch (my_key) {
case 50 :
case 38 :
up_down = true;
break;
case 52 :
case 37 :
left_down = true;
break;
case 54 :
case 39 :
right_down = true;
break;
case 56 :
case 40 :
down_down = true;
break;
}
break;
case "death" :
switch (my_key) {
case 53 :
case 13 :
case 32 :
if (!enter_down) {
death_arrow();
enter_down = true;
}
break;
}
break;
}
};
keyListener.onKeyUp = function () {
my_key = Key.getCode();
switch (_root["game_state_" + cpv]) {
case "swimming" :
case "playing" :
switch (Key.getCode()) {
case 50 :
case 38 :
up_down = false;
jump_active = true;
break;
case 52 :
case 37 :
left_down = false;
break;
case 53 :
case 13 :
case 32 :
firing = true;
check_friends();
check_levers();
enter_down = false;
break;
case 54 :
case 39 :
right_down = false;
break;
case 56 :
case 40 :
down_down = false;
break;
}
break;
case "paused" :
switch (my_key) {
case "soft1" :
switch (pause_menu._currentframe) {
case 2 :
unpause_game();
break;
case 3 :
pause_menu.gotoAndStop("options");
break;
case 4 :
pause_menu.gotoAndStop(9);
break;
case 5 :
pause_menu.gotoAndStop(10);
break;
case 6 :
pause_menu.gotoAndStop(11);
break;
case 7 :
toggle_sound();
display_options("pause_menu");
break;
case 8 :
toggle_vibration();
display_options("pause_menu");
break;
case 9 :
pause_menu.gotoAndStop(4);
break;
case 10 :
pause_menu.gotoAndStop(5);
break;
case 11 :
pause_menu.gotoAndStop(13);
break;
case 12 :
pause_menu.gotoAndStop(14);
break;
case 13 :
remove_all();
clear_game();
gotoAndStop ("menu");
break;
case 14 :
break;
}
break;
case 50 :
case 38 :
switch (pause_menu._currentframe) {
case 3 :
case 4 :
case 5 :
case 6 :
case 12 :
pause_menu.prevFrame();
break;
case 2 :
pause_menu.gotoAndStop(6);
break;
case 11 :
pause_menu.nextFrame();
break;
case 7 :
pause_menu.nextFrame();
break;
case 8 :
pause_menu.prevFrame();
break;
}
break;
case 53 :
case 13 :
case 32 :
switch (pause_menu._currentframe) {
case 2 :
unpause_game();
break;
case 3 :
pause_menu.gotoAndStop(7);
display_options("pause_menu");
break;
case 4 :
pause_menu.gotoAndStop(9);
break;
case 5 :
pause_menu.gotoAndStop(10);
break;
case 6 :
pause_menu.gotoAndStop(11);
break;
case 7 :
toggle_sound();
display_options("pause_menu");
break;
case 8 :
toggle_vibration();
display_options("pause_menu");
break;
case 9 :
pause_menu.gotoAndStop(4);
break;
case 10 :
pause_menu.gotoAndStop(5);
break;
case 11 :
pause_menu.gotoAndStop(13);
break;
case 12 :
pause_menu.gotoAndStop(14);
break;
case 13 :
break;
case 14 :
break;
}
break;
case 56 :
case 40 :
switch (pause_menu._currentframe) {
case 2 :
case 3 :
case 4 :
case 5 :
case 11 :
pause_menu.nextFrame();
break;
case 6 :
pause_menu.gotoAndStop(2);
break;
case 7 :
pause_menu.nextFrame();
break;
case 8 :
pause_menu.prevFrame();
break;
case 12 :
pause_menu.prevFrame();
break;
}
break;
}
break;
case "talking" :
switch (my_key) {
case 53 :
case 13 :
removeMovieClip(message_window.blink);
if (text_step < (character.my_text_array.length - 1)) {
if (curr_block < (block_text.length - 1)) {
curr_block++;
init_output_block(block_text[curr_block]);
} else {
text_step++;
set_text(character);
}
} else {
if (character.my_type == "friend") {
game_state = "playing";
pause_menu._visible = true;
message_window.gotoAndStop(1);
} else if (character.my_type == "shop") {
if (block_text != undefined) {
init_shop();
} else {
game_state = "playing";
pause_menu._visible = true;
message_window.gotoAndStop(1);
}
}
block_text = null;
text_array = null;
}
break;
}
break;
case "inventory" :
switch (my_key) {
case 38 :
case 50 :
if (!item_selected) {
prev_inv();
do_inv_info();
item_selected = false;
} else {
confirm_inventory_item();
}
break;
case 13 :
case 53 :
if (list_length > 0) {
if (!item_selected) {
select_inventory_item();
} else {
confirm_inventory_item();
}
} else {
leave_inventory();
}
break;
case 40 :
case 56 :
if (!item_selected) {
next_inv();
do_inv_info();
item_selected = false;
} else {
confirm_inventory_item();
}
break;
case "soft2" :
leave_inventory();
break;
}
break;
case "shopping" :
switch (my_key) {
case 32 :
trade();
break;
case 52 :
case 37 :
trade_left();
break;
case 54 :
case 39 :
trade_right();
break;
}
break;
case "bonus" :
switch (Key.getCode()) {
case 50 :
case 38 :
up_down = false;
break;
case 52 :
case 37 :
left_down = false;
break;
case 54 :
case 39 :
right_down = false;
break;
case 56 :
case 40 :
down_down = false;
break;
}
break;
case "death" :
switch (my_key) {
case 53 :
case 13 :
case 32 :
enter_down = false;
break;
}
break;
}
};
Key.addListener(keyListener);
stop();
Frame 7
Key.removeListener(keyListener);
stop();
Frame 8
stop();
Symbol 77 MovieClip [tile_41] Frame 1
stop();
Symbol 115 MovieClip [tile_22] Frame 1
stop();
Symbol 132 MovieClip [bonus_header] Frame 60
this.removeMovieClip();
Symbol 140 MovieClip [swim_bubble] Frame 56
this.removeMovieClip();
Symbol 177 MovieClip [sparkle] Frame 45
_root.trans_var = "bonus";
_root.fade_out("white");
this.removeMovieClip();
Symbol 213 MovieClip [float] Frame 46
this.removeMovieClip();
Symbol 220 MovieClip Frame 1
stop();
Symbol 229 Button
on (release) {
_root.pause_game();
}
Symbol 236 MovieClip Frame 1
stop();
Symbol 242 MovieClip Frame 1
stop();
Symbol 244 MovieClip Frame 1
stop();
Symbol 250 MovieClip Frame 1
stop();
Symbol 256 Button
on (release) {
_root.gotoAndStop("menu");
_root.remove_all();
_root.clear_game();
}
Symbol 257 Button
on (release) {
_root.unpause_game();
}
Symbol 258 Button
on (release) {
_root.toggle_sound();
}
Symbol 259 MovieClip [pause_menu] Frame 1
stop();
Symbol 272 MovieClip Frame 1
stop();
Symbol 294 MovieClip Frame 1
stop();
Symbol 295 Button
on (release) {
_root.trade("Buy", 0, 0);
}
Symbol 296 Button
on (release) {
_root.trade("Sell", 0, 0);
}
Symbol 297 Button
on (release) {
_root.leave();
}
Symbol 314 MovieClip Frame 1
stop();
Symbol 332 MovieClip [shopping_clip] Frame 1
stop();
Symbol 338 MovieClip [list_item] Frame 1
stop();
Symbol 341 MovieClip [message_window] Frame 1
stop();
Symbol 348 Button
on (release) {
_root.leave_inventory();
}
Symbol 353 MovieClip [inv_item] Frame 1
stop();
Symbol 354 MovieClip [character_life] Frame 1
stop();
Symbol 367 MovieClip [bar_cell] Frame 1
stop();
Symbol 368 MovieClip [fade_out_white] Frame 15
_root.end_fade();
this.removeMovieClip();
Symbol 369 MovieClip [fade_out_black] Frame 6
_root.end_fade();
this.removeMovieClip();
Symbol 370 MovieClip [fade_in_white] Frame 15
_root.end_fade();
this.removeMovieClip();
Instance of Symbol 377 MovieClip "movie_in_button" in Symbol 378 MovieClip Frame 1
/* no clip actions */
Symbol 383 MovieClip [my_select] Frame 1
stop();
Symbol 401 Button
on (release) {
_root.setMovieVars();
}
Symbol 407 Button
on (release) {
_root.setEnemyVars();
}
Symbol 430 MovieClip Frame 1
stop();
Symbol 431 Button
on (release) {
_root.showToolBarItem("tile");
}
Symbol 432 Button
on (release) {
_root.showToolBarItem("item");
}
Symbol 433 Button
on (release) {
_root.showToolBarItem("character");
}
Symbol 434 Button
on (release) {
_root.showToolBarItem("player");
}
Symbol 435 MovieClip [toolbar_main] Frame 1
stop();
Symbol 468 Button
on (release) {
_root.view_item("screen");
}
Symbol 469 Button
on (release) {
_root.view_item("grid");
}
Symbol 470 Button
on (release) {
_root.display_scroll_options();
}
Symbol 473 Button
on (release) {
_root.my_scroll_type = 1;
_root.editor.properties_bar.scroll_type.text = "Fixed";
_root.editor.properties_bar.scroll_hide._visible = true;
_root.display_scroll_options();
}
Symbol 474 Button
on (release) {
_root.my_scroll_type = 2;
_root.editor.properties_bar.scroll_type.text = "Auto Horizontal";
_root.editor.properties_bar.scroll_hide._visible = false;
_root.display_scroll_options();
}
Symbol 475 Button
on (release) {
_root.my_scroll_type = 3;
_root.editor.properties_bar.scroll_type.text = "Auto Vertical";
_root.editor.properties_bar.scroll_hide._visible = false;
_root.display_scroll_options();
}
Symbol 479 MovieClip Frame 1
stop();
Symbol 482 Button
on (release) {
_root.do_help();
}
Symbol 485 Button
on (release) {
_root.output_map();
}
Symbol 486 Button
on (release) {
_root.show_input();
}
Symbol 487 Button
on (release) {
_root.removeEditor();
}
Symbol 517 Button
on (release) {
_root.setPlayerVars();
}
Symbol 548 Button
on (release) {
gotoAndStop (2);
}
Symbol 549 Button
on (release) {
gotoAndStop (3);
}
Symbol 552 Button
on (press) {
_root.editor.my_help.swapDepths(_root.editor.getNextHighestDepth());
this.startDrag();
}
on (release, dragOut, releaseOutside) {
this.stopDrag();
}
Symbol 554 Button
on (release) {
removeMovieClip(this);
}
Symbol 558 Button
on (release) {
gotoAndStop (1);
}
Symbol 561 MovieClip [my_help] Frame 1
stop();
Symbol 572 Button
on (release) {
_root.pick_img(img);
}
Symbol 591 MovieClip Frame 1
stop();
Symbol 594 MovieClip Frame 1
stop();
Symbol 595 MovieClip Frame 1
stop();
Symbol 604 MovieClip Frame 90
stop();
Symbol 609 MovieClip Frame 1
stop();
Symbol 613 MovieClip Frame 1
stop();
Symbol 614 MovieClip Frame 1
stop();
Symbol 630 MovieClip Frame 13
this.removeMovieClip();
Symbol 646 MovieClip [character_16] Frame 1
stop();
Symbol 663 MovieClip [character_8] Frame 1
stop();
Symbol 663 MovieClip [character_8] Frame 12
stop();
Symbol 677 MovieClip Frame 1
stop();
Symbol 682 MovieClip [character_7] Frame 1
stop();
Symbol 692 MovieClip [character_6] Frame 1
stop();
Symbol 704 MovieClip [character_2] Frame 1
stop();
Symbol 710 MovieClip [character_1] Frame 1
stop();
Symbol 721 MovieClip [character_0] Frame 1
stop();
Symbol 730 MovieClip [bubble] Frame 1
stop();
Symbol 730 MovieClip [bubble] Frame 2
play();
Symbol 730 MovieClip [bubble] Frame 8
_root.remove_character(this);
Symbol 738 MovieClip Frame 1
stop();
Symbol 786 MovieClip [poof] Frame 13
this.removeMovieClip();
Symbol 837 MovieClip [character_15] Frame 1
stop();
Symbol 842 MovieClip [tile_50] Frame 1
stop();
Symbol 842 MovieClip [tile_50] Frame 12
if ((_root.stage_num > 20) && (_root.stage_num < 25)) {
nextFrame();
} else {
stop();
}
Symbol 843 MovieClip [tile_49] Frame 1
stop();
Symbol 843 MovieClip [tile_49] Frame 12
if ((_root.stage_num > 20) && (_root.stage_num < 25)) {
nextFrame();
} else {
stop();
}
Symbol 863 MovieClip Frame 1
stop();
Symbol 879 MovieClip [character_13] Frame 1
stop();
Symbol 923 MovieClip [character_10] Frame 1
stop();
Symbol 931 MovieClip [tile_27] Frame 1
stop();
Symbol 931 MovieClip [tile_27] Frame 4
_root.door_result();
Symbol 941 MovieClip [tile_9] Frame 1
stop();
Symbol 941 MovieClip [tile_9] Frame 12
_root.door_result();
Symbol 945 MovieClip [tile_14] Frame 1
stop();
Symbol 945 MovieClip [tile_14] Frame 12
_root.door_result();
Symbol 948 MovieClip [tile_12] Frame 1
stop();
Symbol 948 MovieClip [tile_12] Frame 12
_root.door_result();
Symbol 951 MovieClip [tile_11] Frame 1
stop();
Symbol 951 MovieClip [tile_11] Frame 12
_root.door_result();
Symbol 965 MovieClip Frame 1
stop();
Symbol 976 MovieClip Frame 1
stop();
Symbol 978 MovieClip Frame 1
stop();
Symbol 981 MovieClip Frame 1
stop();
Symbol 982 MovieClip Frame 1
stop();
Symbol 986 MovieClip Frame 1
stop();
Symbol 992 MovieClip Frame 1
stop();
Symbol 994 MovieClip Frame 1
stop();
Symbol 995 MovieClip Frame 1
stop();
Symbol 997 MovieClip Frame 1
stop();
Symbol 999 MovieClip Frame 1
stop();
Symbol 1000 MovieClip Frame 1
stop();
Symbol 1010 MovieClip Frame 1
stop();
Symbol 1012 MovieClip Frame 1
stop();
Symbol 1013 MovieClip Frame 1
stop();
Symbol 1015 MovieClip Frame 1
stop();
Symbol 1017 MovieClip Frame 1
stop();
Symbol 1018 MovieClip Frame 1
stop();
Symbol 1020 MovieClip Frame 1
stop();
Symbol 1022 MovieClip Frame 1
stop();
Symbol 1023 MovieClip Frame 1
stop();
Symbol 1028 MovieClip Frame 60
stop();
Symbol 1029 MovieClip [player_2] Frame 1
stop();
Symbol 1044 MovieClip [fade_in_black] Frame 6
_root.end_fade();
this.removeMovieClip();
Symbol 1055 MovieClip Frame 1
stop();
Symbol 1064 MovieClip Frame 1
stop();
Symbol 1066 MovieClip Frame 1
stop();
Symbol 1067 MovieClip Frame 1
stop();
Symbol 1068 MovieClip Frame 1
stop();
Symbol 1072 MovieClip Frame 1
stop();
Symbol 1078 MovieClip Frame 1
stop();
Symbol 1080 MovieClip Frame 1
stop();
Symbol 1081 MovieClip Frame 1
stop();
Symbol 1083 MovieClip Frame 1
stop();
Symbol 1085 MovieClip Frame 1
stop();
Symbol 1086 MovieClip Frame 1
stop();
Symbol 1088 MovieClip Frame 1
stop();
Symbol 1090 MovieClip Frame 1
stop();
Symbol 1091 MovieClip Frame 1
stop();
Symbol 1093 MovieClip Frame 1
stop();
Symbol 1095 MovieClip Frame 1
stop();
Symbol 1096 MovieClip Frame 1
stop();
Symbol 1106 MovieClip Frame 1
stop();
Symbol 1113 MovieClip Frame 1
stop();
Symbol 1118 MovieClip Frame 60
stop();
Symbol 1119 MovieClip [player_1] Frame 1
stop();
Symbol 1130 MovieClip [tile_21] Frame 1
stop();
Symbol 1135 Button
on (release) {
_root.trans_var = "anim";
_root.fade_out("black");
}
Symbol 1138 MovieClip Frame 1
stop();
Symbol 1139 MovieClip Frame 1
stop();
Symbol 1140 MovieClip Frame 1
stop();
Symbol 1141 MovieClip Frame 1
stop();
Symbol 1142 MovieClip Frame 1
stop();
Symbol 1143 MovieClip Frame 1
stop();
Symbol 1145 MovieClip Frame 1
stop();
Symbol 1147 MovieClip Frame 1
stop();
Symbol 1148 MovieClip Frame 1
stop();
Symbol 1150 MovieClip Frame 1
stop();
Symbol 1152 MovieClip Frame 1
stop();
Symbol 1153 MovieClip Frame 1
stop();
Symbol 1155 MovieClip Frame 1
stop();
Symbol 1157 MovieClip Frame 1
stop();
Symbol 1158 MovieClip Frame 1
stop();
Symbol 1163 MovieClip Frame 60
stop();
Symbol 1164 MovieClip Frame 1
stop();
Symbol 1174 MovieClip [anim_0] Frame 1
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 27
p1.gotoAndStop(_root.p1w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 28
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 80
p1.gotoAndStop(_root.p1w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 130
p1.gotoAndStop(_root.p1w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 158
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 187
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 191
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 213
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 301
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 314
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 365
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 371
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 450
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 457
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 493
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 504
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 594
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 618
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 619
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 628
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 629
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 636
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 637
p1.gotoAndStop(_root.p1w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1174 MovieClip [anim_0] Frame 653
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1176 MovieClip [anim_1] Frame 1
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1176 MovieClip [anim_1] Frame 108
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 1
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 41
p2.gotoAndStop(_root.p2w + "_walk");
_root.do_sound("jump_sound");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 46
p1.gotoAndStop(_root.p1w + "_jump");
_root.do_sound("jump_sound");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 47
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 52
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 61
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 62
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 67
p1.gotoAndStop(_root.p1w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 94
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 124
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 132
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 139
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1188 MovieClip [anim_12] Frame 681
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1197 MovieClip [anim_15] Frame 1
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1197 MovieClip [anim_15] Frame 124
p1.gotoAndStop(_root.p1w + "_static");
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1208 MovieClip [anim_16] Frame 1
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1208 MovieClip [anim_16] Frame 90
p1.gotoAndStop(_root.p1w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1208 MovieClip [anim_16] Frame 100
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1208 MovieClip [anim_16] Frame 257
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1208 MovieClip [anim_16] Frame 641
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1208 MovieClip [anim_16] Frame 670
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1208 MovieClip [anim_16] Frame 671
p1.gotoAndStop(_root.p1w + "_static");
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1223 MovieClip [anim_19] Frame 1
p1.gotoAndStop(_root.p1w + "_static");
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1223 MovieClip [anim_19] Frame 60
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1223 MovieClip [anim_19] Frame 212
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1223 MovieClip [anim_19] Frame 366
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1223 MovieClip [anim_19] Frame 740
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1225 MovieClip [anim_2] Frame 1
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1225 MovieClip [anim_2] Frame 95
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1225 MovieClip [anim_2] Frame 96
p1.gotoAndStop(_root.p1w + "_static");
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1247 MovieClip [anim_20] Frame 1
p1.gotoAndStop(_root.p1w + "_static");
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1247 MovieClip [anim_20] Frame 35
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1247 MovieClip [anim_20] Frame 171
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1247 MovieClip [anim_20] Frame 743
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1247 MovieClip [anim_20] Frame 840
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1247 MovieClip [anim_20] Frame 885
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1247 MovieClip [anim_20] Frame 886
p1.gotoAndStop(_root.p1w + "_static");
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1247 MovieClip [anim_20] Frame 1162
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 1
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 22
p2.gotoAndStop(_root.p2w + "_jump");
_root.do_sound("spring_sound");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 36
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 40
p1.gotoAndStop(_root.p1w + "_jump");
_root.do_sound("spring_sound");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 45
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 53
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 63
p1.gotoAndStop(_root.p1w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 70
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 73
p1.gotoAndStop(_root.p1w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 120
z_clip.clip.gotoAndPlay(15);
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 150
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 151
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1255 MovieClip [anim_23] Frame 166
z_clip.gotoAndStop("walk");
Symbol 1255 MovieClip [anim_23] Frame 185
z_clip.gotoAndStop("fall");
Symbol 1255 MovieClip [anim_23] Frame 211
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 1
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 18
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 25
p2.gotoAndStop(_root.p2w + "_jump");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 31
p1.gotoAndStop(_root.p1w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 37
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 38
p1.gotoAndStop(_root.p1w + "_jump");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 44
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 50
p1.gotoAndStop(_root.p1w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 75
p1.gotoAndStop(_root.p1w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 80
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 150
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1259 MovieClip [anim_24] Frame 151
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1260 MovieClip [anim_30] Frame 1
p1.gotoAndStop(_root.p1w + "_static");
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1260 MovieClip [anim_30] Frame 61
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1268 MovieClip [anim_32] Frame 1
p1.gotoAndStop(_root.p1w + "_static");
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1268 MovieClip [anim_32] Frame 61
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1268 MovieClip [anim_32] Frame 111
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 1
p1.gotoAndStop(_root.p1w + "_walk");
p2.gotoAndStop(_root.p2w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 35
p2.gotoAndStop(_root.p2w + "_jump");
_root.do_sound("jump_sound");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 42
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 47
p1.gotoAndStop(_root.p1w + "_jump");
_root.do_sound("jump_sound");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 53
p2.gotoAndStop(_root.p2w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 54
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 64
p1.gotoAndStop(_root.p1w + "_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 100
p1.gotoAndStop(_root.p1w + "_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 110
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 111
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 124
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 125
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1276 MovieClip [anim_5] Frame 144
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1336 Button
on (release) {
_root.gotoAndStop("menu");
_root.my_anim.removeMovieClip();
_root.remove_all();
_root.clear_game();
}
Symbol 1337 MovieClip [completion_anim] Frame 1
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1337 MovieClip [completion_anim] Frame 6
_root.do_sound("puff_sound");
Symbol 1337 MovieClip [completion_anim] Frame 35
_root.do_sound("puff_sound");
Symbol 1337 MovieClip [completion_anim] Frame 39
_root.do_sound("puff_sound");
Symbol 1337 MovieClip [completion_anim] Frame 46
_root.do_sound("puff_sound");
Symbol 1337 MovieClip [completion_anim] Frame 50
_root.do_sound("puff_sound");
Symbol 1337 MovieClip [completion_anim] Frame 285
_root.do_loop("end_loop");
Symbol 1337 MovieClip [completion_anim] Frame 296
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1337 MovieClip [completion_anim] Frame 370
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1337 MovieClip [completion_anim] Frame 1009
p1.gotoAndStop("sword_walk");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1337 MovieClip [completion_anim] Frame 1040
p1.gotoAndStop("sword_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1337 MovieClip [completion_anim] Frame 1080
p2.gotoAndStop("sword_walk");
_root.dress_anim(1);
_root.dress_anim(2);
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1337 MovieClip [completion_anim] Frame 1081
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1337 MovieClip [completion_anim] Frame 1110
p2.gotoAndStop("sword_static");
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1337 MovieClip [completion_anim] Frame 1199
_root.dress_anim(1);
_root.dress_anim(2);
Symbol 1337 MovieClip [completion_anim] Frame 2077
stop();
Symbol 1361 MovieClip Frame 1
stop();
Symbol 1378 MovieClip Frame 1
_root.stop();
gotoAndPlay (2);
Symbol 1378 MovieClip Frame 225
_root.nextFrame();
Symbol 1408 MovieClip Frame 36
_root.do_sound("block_sound");
Symbol 1408 MovieClip Frame 50
_root.do_sound("block_sound");
Symbol 1424 MovieClip Frame 106
_root.do_sound("intro_music");
Symbol 1424 MovieClip Frame 291
_root.do_sound("puff_sound");
Symbol 1424 MovieClip Frame 521
_root.do_sound("scream_sound");
Symbol 1424 MovieClip Frame 540
_root.nextFrame();
Symbol 1426 Button
on (release) {
stopAllSounds();
nextFrame();
}
Symbol 1431 MovieClip Frame 15
stop();
Symbol 1435 Button
on (release) {
_root.start_game(0);
}
Symbol 1439 Button
on (release) {
_root.gotoAndStop("credits");
}
Symbol 1443 Button
on (release) {
getURL ("http://armorgames.com", "_blank");
}
Symbol 1448 Button
on (release) {
gotoAndStop ("menu");
}
Symbol 1453 Button
on (release) {
_root.gotoAndStop("menu");
}
Symbol 1460 Button
on (release) {
_root.start_game(0);
}
Symbol 1462 Button
on (release) {
_root.start_game(1);
}
Symbol 1464 Button
on (release) {
_root.start_game(2);
}
Symbol 1466 Button
on (release) {
_root.start_game(5, 20, 3);
}
Symbol 1468 Button
on (release) {
_root.start_game(10, 2, 3);
}
Symbol 1470 Button
on (release) {
_root.start_game(5, 9, 10, 2);
}
Symbol 1472 Button
on (release) {
_root.start_game(12);
}
Symbol 1474 Button
on (release) {
_root.start_game(14, 23, 4);
}
Symbol 1477 Button
on (release) {
_root.start_game(5);
}
Symbol 1479 Button
on (release) {
_root.start_game(15);
}
Symbol 1481 Button
on (release) {
_root.start_game(16);
}
Symbol 1483 Button
on (release) {
_root.start_game(19);
}
Symbol 1485 Button
on (release) {
_root.start_game(20);
}
Symbol 1487 Button
on (release) {
_root.start_game(23);
}
Symbol 1489 Button
on (release) {
_root.start_game(24);
}
Symbol 1491 Button
on (release) {
_root.start_game(30);
}
Symbol 1493 Button
on (release) {
_root.start_game(32);
}
Symbol 1495 Button
on (release) {
stopAllSounds();
_root.attachMovie("completion_anim", "my_anim", _root.getNextHighestDepth());
}