Frame 1
function addMaze(mazedata) {
var _local14 = mazeData.length;
if (_local14 == undefined) {
_local14 = 0;
}
mazeData.push(mazedata);
var _local1;
if (mazeColors[_local14] == 8) {
_local1 = m2.mazeClips[_local14];
} else {
_local1 = m.mazeClips[_local14];
}
_local1._visible = false;
var _local2;
var _local5;
var _local4;
var _local7;
var _local3;
var _local6;
var _local9;
var _local12;
var _local8;
var _local10;
_local9 = 4;
_local8 = 32;
_local12 = _local9;
_local10 = _local8;
var _local11;
_local11 = palette[mazeColors[_local14] >> 1];
_local5 = 0;
while (_local5 < 7) {
_local2 = 0;
while (_local2 < 40) {
if (mazedata[_local5][_local2]) {
_local4 = _local2 * _local9;
_local3 = _local5 * _local8;
_local7 = _local4 + _local12;
_local6 = _local3 + _local10;
_local1.beginFill(_local11);
_local1.moveTo(_local4, _local3);
_local1.lineTo(_local7, _local3);
_local1.lineTo(_local7, _local6);
_local1.lineTo(_local4, _local6);
_local1.endFill();
}
_local2++;
}
_local5++;
}
}
function loadMazes() {
castlerooms = [18, 26, 27];
castlerooms_outside = [17, 15, 16];
mazeFlags = [33, 161, 33, 97, 33, 33, 33, 33, 33, 37, 37, 37, 97, 161, 33, 33, 33, 33, 33, 37, 36, 36, 37, 33, 33, 33, 33, 33, 33, 33, 33];
palette = [0, 3815994, 6974058, 9605778, 12040119, 13948116, 15856113, 16777215, 3618560, 6447616, 8947712, 11382032, 13487390, 15461164, 16777018, 16777031, 8065536, 9778944, 11360516, 12875800, 14193961, 15445818, 16566344, 16768598, 9764864, 11412224, 12928269, 14444069, 15696698, 16752205, 16758623, 16764784, 10092544, 11730944, 13179418, 14563127, 15814993, 16738922, 16744576, 16749973, 8716380, 10354808, 11802772, 13186221, 14437827, 15623896, 16677867, 16748798, 4259973, 6357154, 8132795, 9974996, 11488745, 12936958, 14318591, 15634687, 149, 1769646, 4135621, 6371292, 8344047, 10251007, 11960575, 13604351, 154, 179, 1317577, 3094494, 4674033, 6122239, 7504127, 8754687, 139, 9894, 1330111, 3108566, 4689387, 6138623, 7521791, 8773375, 6236, 16768, 1337248, 3115967, 4696794, 6146293, 7529727, 8781567, 11288, 22847, 1343842, 3123075, 4704673, 6154940, 7536598, 8781806, 12800, 24064, 1738010, 3648055, 5360721, 7007082, 8454016, 9830293, 9984, 1987840, 4488724, 6923567, 9029703, 11004253, 12910450, 14614405, 1581568, 4279552, 6779665, 9148458, 11188288, 13162069, 15004521, 16711547, 3609088, 6438144, 8938250, 11372578, 13478198, 15451977, 16770138, 16776811];
mazeColors = [102, 216, 200, 232, 134, 134, 134, 134, 134, 8, 8, 8, 152, 184, 168, 12, 0, 26, 26, 8, 8, 8, 8, 54, 54, 54, 54, 54, 102, 54, 102];
mazeExits = [[0, 0, 0, 0], [8, 2, 128, 3], [17, 3, 131, 1], [6, 1, 134, 2], [16, 5, 7, 6], [29, 6, 8, 4], [7, 4, 3, 5], [4, 8, 6, 8], [5, 7, 1, 7], [10, 10, 11, 10], [3, 9, 9, 9], [9, 12, 28, 13], [28, 13, 29, 11], [15, 11, 14, 12], [13, 16, 15, 16], [14, 15, 13, 15], [1, 28, 4, 28], [6, 3, 2, 1], [18, 18, 18, 18], [21, 20, 21, 22], [22, 21, 22, 19], [19, 22, 19, 20], [20, 19, 27, 21], [25, 24, 25, 24], [26, 23, 26, 23], [23, 26, 23, 26], [24, 25, 24, 25], [137, 137, 137, 137], [29, 7, 140, 8], [143, 1, 16, 3], [6, 1, 6, 3]];
mazeSubstitution = [16, 15, 15, 5, 17, 17, 29, 10, 10, 28, 22, 22, 27, 12, 12, 3, 12, 12];
addMaze([[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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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], [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, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1], [1, 1, 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, 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, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 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], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1]]);
addMaze([[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, 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], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 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, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 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, 1, 1, 1, 1, 1, 1, 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, 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, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], [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, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 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, 1, 1, 0, 0, 1, 1, 1, 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, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 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, 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, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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], [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, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 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, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 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, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1], [1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 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, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1], [1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 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, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1], [1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 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, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [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, 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, 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], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[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, 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, 1, 1, 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, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1], [1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 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, 1, 1, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1], [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 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, 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, 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, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[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, 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], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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], [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, 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, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1]]);
addMaze([[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, 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, 1, 1, 1, 1, 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, 1, 1, 1, 1, 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, 1, 1, 0, 0, 1, 1, 1, 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, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], [1, 1, 1, 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, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], [1, 1, 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, 1, 1, 0, 0, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], [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, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0], [1, 1, 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, 1, 1, 0, 0, 1, 1, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
loadmazes2();
}
function loadmazes2() {
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
addMaze([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]);
}
function addSprite(spritedata, xscale) {
var _local9 = spriteData.length;
if (_local9 == undefined) {
_local9 = 0;
}
spriteData.push(spritedata);
var _local6 = s1.spriteClips[_local9];
var _local5 = s2.spriteClips[_local9];
_local6._visible = false;
_local5._visible = false;
var _local8 = spritedata.length;
var _local1;
var _local2;
_local2 = 0;
while (_local2 < _local8) {
_local1 = 0;
while (_local1 < 8) {
if (spritedata[_local2] & (1 << (7 - _local1))) {
_local6.beginFill(0);
_local6.moveTo(_local1, _local2);
_local6.lineTo(_local1 + 1, _local2);
_local6.lineTo(_local1 + 1, _local2 + 1);
_local6.lineTo(_local1, _local2 + 1);
_local6.endFill();
_local5.beginFill(0);
_local5.moveTo(_local1, _local2);
_local5.lineTo(_local1 + 1, _local2);
_local5.lineTo(_local1 + 1, _local2 + 1);
_local5.lineTo(_local1, _local2 + 1);
_local5.endFill();
}
_local1++;
}
_local2++;
}
if (xscale != 1) {
var _local4 = s3.spriteClips[_local9];
var _local3 = s4.spriteClips[_local9];
_local4._visible = false;
_local3._visible = false;
_local2 = 0;
while (_local2 < _local8) {
_local1 = 0;
while (_local1 < 8) {
if (spritedata[_local2] & (1 << (7 - _local1))) {
_local4.beginFill(0);
_local4.moveTo(_local1, _local2);
_local4.lineTo(_local1 + 1, _local2);
_local4.lineTo(_local1 + 1, _local2 + 1);
_local4.lineTo(_local1, _local2 + 1);
_local4.endFill();
_local3.beginFill(0);
_local3.moveTo(_local1, _local2);
_local3.lineTo(_local1 + 1, _local2);
_local3.lineTo(_local1 + 1, _local2 + 1);
_local3.lineTo(_local1, _local2 + 1);
_local3.endFill();
}
_local1++;
}
_local2++;
}
_local4._xscale = 100 * xscale;
_local3._xscale = 100 * xscale;
_local4._yscale = 200;
_local3._yscale = 200;
_local4.height = _local8;
_local3.height = _local8;
}
_local6._xscale = 100 * xscale;
_local5._xscale = 100 * xscale;
_local6._yscale = 200;
_local5._yscale = 200;
_local6.height = _local8;
_local5.height = _local8;
return(_local9);
}
function loadSprites() {
SPR_BRIDGE = addSprite([195, 195, 195, 195, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 195, 195, 195, 195], 4);
SPR_PORTCULLIS = addSprite([254, 170, 254, 170, 254, 170, 254, 170, 254, 170, 254, 170, 254, 170, 254, 170], 1);
SPR_PORTCULLIS2 = addSprite([254, 170, 254, 170, 254, 170, 254, 170, 254, 170, 254, 170, 254, 170], 1);
SPR_PORTCULLIS3 = addSprite([254, 170, 254, 170, 254, 170, 254, 170, 254, 170, 254, 170], 1);
SPR_PORTCULLIS4 = addSprite([254, 170, 254, 170, 254, 170, 254, 170, 254, 170], 1);
SPR_PORTCULLIS5 = addSprite([254, 170, 254, 170, 254, 170, 254, 170], 1);
SPR_PORTCULLIS6 = addSprite([254, 170, 254, 170, 254, 170], 1);
SPR_PORTCULLIS7 = addSprite([254, 170, 254, 170], 1);
SPR_PORTCULLIS8 = addSprite([254, 170], 1);
SPR_1 = addSprite([4, 12, 4, 4, 4, 4, 14], 1);
SPR_2 = addSprite([14, 17, 1, 2, 4, 8, 31], 1);
SPR_3 = addSprite([14, 17, 1, 6, 1, 17, 14], 1);
SPR_KEY = addSprite([7, 253, 167], 1);
SPR_BAT = addSprite([129, 129, 195, 195, 255, 90, 102], 1);
SPR_BAT2 = addSprite([1, 128, 1, 128, 60, 90, 102, 195, 129, 129, 129], 1);
SPR_DRAGON = addSprite([6, 15, 243, 254, 14, 4, 4, 30, 63, 127, 227, 195, 195, 199, 255, 60, 8, 143, 225, 63], 1);
SPR_DRAGONROAR = addSprite([128, 64, 38, 31, 11, 14, 30, 36, 68, 142, 30, 63, 127, 127, 127, 127, 62, 28, 8, 248, 128, 224], 1);
SPR_DRAGONDEAD = addSprite([12, 12, 12, 14, 27, 127, 206, 128, 252, 254, 254, 126, 120, 32, 110, 66, 126], 1);
SPR_SWORD = addSprite([32, 64, 255, 64, 32], 1);
SPR_DOT = addSprite([128], 1);
SPR_AUTHOR = addSprite([240, 128, 128, 128, 244, 4, 135, 229, 135, 128, 5, 229, 167, 225, 135, 224, 1, 224, 160, 240, 1, 64, 224, 64, 64, 64, 1, 224, 160, 224, 128, 224, 1, 32, 32, 224, 160, 224, 1, 1, 1, 136, 168, 168, 168, 248, 1, 224, 160, 240, 1, 128, 224, 143, 137, 15, 138, 233, 128, 142, 10, 238, 160, 232, 136, 238, 10, 142, 224, 164, 164, 4, 128, 8, 14, 10, 10, 128, 14, 10, 14, 8, 14, 128, 4, 14, 4, 4, 4, 128, 4, 14, 4, 4, 4], 1);
SPR_CHALICE = addSprite([129, 129, 195, 126, 126, 60, 24, 24, 126], 1);
SPR_MAGNET = addSprite([60, 126, 231, 195, 195, 195, 195, 195], 1);
SPR_SURROUND = addSprite([255], 4);
s1.spriteClips[SPR_SURROUND]._yscale = 6400;
s2.spriteClips[SPR_SURROUND]._yscale = 6400;
s3.spriteClips[SPR_SURROUND]._yscale = 6400;
s4.spriteClips[SPR_SURROUND]._yscale = 6400;
SPR_BALL = addSprite([240, 240, 240, 240], 1);
SPR_LEFT_BRIDGE = addSprite([255, 255, 255, 255, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 255, 255, 255, 255], 1);
SPR_RIGHT_BRIDGE = addSprite([255, 255, 255, 255, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 255, 255, 255, 255], 1);
}
function creategameobjects() {
objectSpriteNumbers = [SPR_SURROUND, SPR_PORTCULLIS, SPR_PORTCULLIS, SPR_PORTCULLIS, SPR_AUTHOR, SPR_1, SPR_DRAGON, SPR_DRAGON, SPR_DRAGON, SPR_SWORD, SPR_BRIDGE, SPR_KEY, SPR_KEY, SPR_KEY, SPR_BAT, SPR_DOT, SPR_CHALICE, SPR_MAGNET, SPR_NULL];
objectColors = [40, 0, 0, 0, 203, 200, 54, 26, 200, 26, 102, 26, 14, 0, 0, 8, 203, 0, 0];
var _local1 = 0;
SURROUND = _local1;
surround = gameObjects[_local1++];
PORT1 = _local1;
port1 = gameObjects[_local1++];
PORT2 = _local1;
port2 = gameObjects[_local1++];
PORT3 = _local1;
port3 = gameObjects[_local1++];
AUTHORNAME = _local1;
authorname = gameObjects[_local1++];
NUMBER = _local1;
number = gameObjects[_local1++];
DRAGON3 = _local1;
dragon3 = gameObjects[_local1++];
DRAGON1 = _local1;
dragon1 = gameObjects[_local1++];
DRAGON2 = _local1;
dragon2 = gameObjects[_local1++];
SWORD = _local1;
sword = gameObjects[_local1++];
BRIDGE = _local1;
bridge = gameObjects[_local1++];
KEY1 = _local1;
key1 = gameObjects[_local1++];
KEY2 = _local1;
key2 = gameObjects[_local1++];
KEY3 = _local1;
key3 = gameObjects[_local1++];
BAT = _local1;
bat = gameObjects[_local1++];
DOT = _local1;
dot = gameObjects[_local1++];
CHALICE = _local1;
chalice = gameObjects[_local1++];
MAGNET = _local1;
magnet = gameObjects[_local1++];
NULLOBJECT = _local1;
nullobject = gameObjects[_local1++];
PLAYER = _local1;
player = gameObjects[_local1++];
bat.list = [CHALICE, SWORD, BRIDGE, KEY1, KEY2, KEY3, DRAGON3, DRAGON1, DRAGON2, MAGNET];
magnet.list = [KEY1, KEY2, KEY3, SWORD, BRIDGE, CHALICE];
dragon2.list = [PLAYER, CHALICE, BRIDGE, MAGNET, KEY3];
dragon1.list = [PLAYER, CHALICE];
dragon3.list = [PLAYER, CHALICE, KEY2];
}
function placeobject(o, r, x, y) {
o.x = x;
o.y = y;
o.r = r;
}
function respawn() {
placeobject(player, 17, 80, 32);
player.carrying = -1;
dragon1.state = 0;
dragon2.state = 0;
dragon3.state = 0;
player.tempx = player.x;
player.tempy = player.y;
player.tempr = player.r;
}
function randint(min, max) {
return(int(Math.random() * ((max - min) + 1)) + min);
}
function insideBlackCastle(roomnumber) {
return(((roomnumber >= 19) && (roomnumber <= 22)) || (roomnumber == 27));
}
function insideWhiteCastle(roomnumber) {
return((roomnumber >= 23) && (roomnumber <= 26));
}
function randomize() {
chalice.r = randint(19, 26);
dragon3.r = randint(1, 29);
dragon1.r = randint(1, 29);
dragon2.r = randint(1, 29);
sword.r = randint(1, 29);
bridge.r = randint(1, 29);
bat.r = randint(1, 29);
magnet.r = randint(1, 29);
var _local1 = false;
var _local2 = 18;
while (!_local1) {
key1.r = randint(1, 29);
key2.r = randint(1, 22);
key3.r = randint(1, 18);
_local1 = true;
if (key1.r == _local2) {
_local1 = false;
}
if ((key3.r == _local2) && (insideBlackCastle(key1.r))) {
_local1 = false;
}
if ((key2.r == _local2) && (insideWhiteCastle(key1.r))) {
_local1 = false;
}
}
}
function resetgame() {
if (gamenumber == 0) {
placeobject(surround, 255, 255, 255);
placeobject(port1, 17, 77, 49);
placeobject(port2, 15, 77, 49);
placeobject(port3, 16, 77, 49);
placeobject(authorname, 30, 80, 105);
placeobject(number, 0, 80, 64);
placeobject(dragon1, 1, 80, 32);
placeobject(dragon2, 29, 80, 32);
placeobject(dragon3, 14, 80, 32);
placeobject(sword, 18, 32, 32);
placeobject(bridge, 4, 41, 55);
placeobject(key1, 17, 32, 64);
placeobject(key2, 14, 32, 64);
placeobject(key3, 29, 32, 64);
placeobject(bat, 26, 32, 32);
placeobject(dot, 21, 81, 18);
placeobject(chalice, 28, 48, 32);
placeobject(magnet, 27, 128, 32);
player.r = 0;
player.y = 105;
if (player.x == undefined) {
player.x = 0;
}
port1.state = 28;
port2.state = 28;
port3.state = 28;
dragon1.movement = 0;
dragon1.state = 0;
dragon2.movement = 0;
dragon2.state = 0;
dragon3.movement = 0;
dragon3.state = 0;
bat.movement = 0;
bat.state = 0;
bat.carrying = -1;
bat.fedup = 0;
player.carrying = -1;
} else {
placeobject(surround, 255, 255, 255);
placeobject(port1, 17, 77, 49);
placeobject(port2, 15, 77, 49);
placeobject(port3, 16, 77, 49);
placeobject(authorname, 30, 80, 105);
placeobject(number, 0, 80, 64);
placeobject(dragon1, 25, 80, 32);
placeobject(dragon2, 4, 80, 32);
placeobject(dragon3, 20, 80, 32);
placeobject(sword, 17, 32, 32);
placeobject(bridge, 11, 64, 64);
placeobject(key1, 9, 32, 64);
placeobject(key2, 6, 32, 64);
placeobject(key3, 25, 32, 64);
placeobject(bat, 2, 32, 32);
placeobject(dot, 21, 81, 18);
placeobject(chalice, 20, 48, 32);
placeobject(magnet, 14, 128, 32);
player.r = 0;
player.y = 105;
if (player.x == undefined) {
player.x = 0;
}
port1.state = 28;
port2.state = 28;
port3.state = 28;
dragon1.movement = 160;
dragon1.state = 0;
dragon2.movement = 160;
dragon2.state = 0;
dragon3.movement = 160;
dragon3.state = 0;
bat.movement = 144;
bat.state = 0;
bat.carrying = -1;
bat.fedup = 0;
player.carrying = -1;
}
if (gamenumber == 2) {
randomize();
}
player.tempx = player.x;
player.tempy = player.y;
player.tempr = player.r;
}
function init() {
if ((validurl != undefined) && (validurl == false)) {
return(false);
}
if (wasinit != undefined) {
return(true);
}
wasinit = true;
validurl = true;
if (FRAMERATE == undefined) {
FRAMERATE = 60;
}
if (PROTECTED == undefined) {
protected = true;
}
if (PROTECTED) {
validurl = checkAllowedWebsites(["file://", "http://www.dwedit.org/", "http://dwedit.home.comcast.net/", "http://home.comcast.net/~alanweiss3/", "http://home.comcast.net/~dwedit/", "http://www.newgrounds.com/", "http://uploads.ungrounded.net/", "http://www.albinoblacksheep.com/", "http://www.absforums.com/", "http://tempupload.ngfiles.com/", "http://www.txmafia.com/"]);
if (!validurl) {
gotoAndStop (5);
return(false);
}
}
com.lastchance.mariotoo.WiiMote.init();
com.lastchance.mariotoo.WiiMote.setClassic(true);
_quality = "low";
Stage.showMenu = false;
var _local2;
gamenumber = 0;
coward_dragons = false;
fast_dragons = false;
mazeData = [];
spriteData = [];
display_object_number = 0;
mazeprevious = -1;
nextdepth = 1;
colorshine = 0;
objc = this.createEmptyMovieClip("gameobjectcontainer", nextdepth++);
gameObjects = [];
_local2 = 0;
while (_local2 < NUM_OBJECTS) {
gameObjects.push(objc.createEmptyMovieClip("gameobject" + _local2, nextdepth++));
_local2++;
}
c = this.createEmptyMovieClip("containerclip", nextdepth++);
m = c.createEmptyMovieClip("mazeclip", nextdepth++);
m.mazeClips = [];
_local2 = 0;
while (_local2 < NUM_MAZES) {
m.mazeClips.push(m.createEmptyMovieClip("mazeclip1_" + _local2, nextdepth++));
_local2++;
}
ball1 = c.createEmptyMovieClip("ball1", nextdepth++);
s2 = c.createEmptyMovieClip("sprite2", nextdepth++);
s2.spriteClips = [];
_local2 = 0;
while (_local2 < NUM_SPRITES) {
s2.spriteClips.push(s2.createEmptyMovieClip("spriteclip2_1", nextdepth++));
_local2++;
}
s4 = c.createEmptyMovieClip("sprite4", nextdepth++);
s4.spriteClips = [];
_local2 = 0;
while (_local2 < NUM_SPRITES) {
s4.spriteClips.push(s4.createEmptyMovieClip("spriteclip4_1", nextdepth++));
_local2++;
}
s1 = c.createEmptyMovieClip("sprite1", nextdepth++);
s1.spriteClips = [];
_local2 = 0;
while (_local2 < NUM_SPRITES) {
s1.spriteClips.push(s1.createEmptyMovieClip("spriteclip1_1", nextdepth++));
_local2++;
}
s3 = c.createEmptyMovieClip("sprite3", nextdepth++);
s3.spriteClips = [];
_local2 = 0;
while (_local2 < NUM_SPRITES) {
s3.spriteClips.push(s3.createEmptyMovieClip("spriteclip3_1", nextdepth++));
_local2++;
}
missile1 = c.createEmptyMovieClip("missile1clip", nextdepth++);
missile2 = c.createEmptyMovieClip("missile2clip", nextdepth++);
m2 = c.createEmptyMovieClip("mazeclip2", nextdepth++);
m2.mazeClips = [];
_local2 = 0;
while (_local2 < NUM_MAZES) {
m2.mazeClips.push(m2.createEmptyMovieClip("mazeclip2_" + _local2, nextdepth++));
_local2++;
}
ball2 = c.createEmptyMovieClip("ball2", nextdepth++);
m._y = -16;
m2._y = -16;
c._xscale = 400;
c._yscale = 200;
ui = this.attachMovie("UI", "ui", nextdepth++);
ui._y = 384;
s1.o = -1;
s2.o = -1;
s1.previous_s = -1;
s2.previous_s = -1;
s1_lastcolor = 0;
s2_lastcolor = 0;
createball();
createmissiles();
loadMazes();
loadSprites();
creategameobjects();
resetgame();
return(true);
}
function checkAllowedWebsites(sitelist) {
var _local1;
var _local2;
_local1 = 0;
while (_local1 < sitelist.length) {
_local2 = sitelist[_local1];
if (_url.substr(0, _local2.length) == _local2) {
return(true);
}
_local1++;
}
return(false);
}
function createmissiles() {
var _local1;
var _local2;
var _local4;
var _local3;
_local1 = 11;
_local2 = _local1 + 2;
_local4 = -16;
_local3 = 192;
missile1.beginFill(0);
missile1.moveTo(_local1, _local4);
missile1.lineTo(_local2, _local4);
missile1.lineTo(_local2, _local3);
missile1.lineTo(_local1, _local3);
missile1.endFill();
missile1._visible = false;
_local1 = 148;
_local2 = _local1 + 2;
missile2.beginFill(0);
missile2.moveTo(_local1, _local4);
missile2.lineTo(_local2, _local4);
missile2.lineTo(_local2, _local3);
missile2.lineTo(_local1, _local3);
missile2.endFill();
missile2._visible = false;
}
function createball() {
var _local4;
var _local2;
var _local3;
var _local1;
_local4 = 0;
_local2 = 4;
_local3 = 0;
_local1 = 8;
ball1.beginFill(0);
ball1.moveTo(_local4, _local3);
ball1.lineTo(_local2, _local3);
ball1.lineTo(_local2, _local1);
ball1.lineTo(_local4, _local1);
ball1.endFill();
ball1._visible = false;
ball2.beginFill(0);
ball2.moveTo(_local4, _local3);
ball2.lineTo(_local2, _local3);
ball2.lineTo(_local2, _local1);
ball2.lineTo(_local4, _local1);
ball2.endFill();
ball2._visible = false;
}
function playgame() {
if (FRAMERATE != 20) {
if (gamestate == undefined) {
gamestate = 0;
}
if (gamestate == 0) {
checkwingame();
playsounds();
gameswitches();
}
if (gamestate == 0) {
draw_less();
checkcollisions();
ballmovement(0);
movecarriedobject();
gamestate++;
} else if (gamestate == 1) {
draw();
checkcollisions();
pickupputdown();
ballmovement(1);
handle_surround();
movebat();
handle_portals();
gamestate++;
} else if (gamestate == 2) {
movegreendragon();
moveyellowdragon();
movereddragon();
handle_magnet();
draw_less();
checkcollisions();
ballmovement(2);
gamestate = 0;
} else if (gamestate == 3) {
gameswitches();
playsounds();
draw();
flashwalls();
}
} else {
if (gamestate == undefined) {
gamestate = 0;
}
if (gamestate == 0) {
checkwingame();
playsounds();
gameswitches();
}
if (gamestate == 0) {
draw_less();
checkcollisions();
ballmovement(0);
movecarriedobject();
draw();
checkcollisions();
pickupputdown();
ballmovement(1);
handle_surround();
movebat();
handle_portals();
movegreendragon();
moveyellowdragon();
movereddragon();
handle_magnet();
draw_less();
checkcollisions();
ballmovement(2);
} else if (gamestate == 3) {
gameswitches();
playsounds();
draw();
flashwalls();
}
}
}
function checkwingame() {
var _local1 = 18;
if (chalice.r == _local1) {
gamestate = 3;
playsound("wingame");
}
flashingwalls = 1;
}
function joystick_button() {
var _local1 = (Key.isDown(32) || (com.lastchance.mariotoo.WiiMote.isDown(com.lastchance.mariotoo.WiiMote.BUTTON_1))) || (com.lastchance.mariotoo.WiiMote.isDown(com.lastchance.mariotoo.WiiMote.BUTTON_2));
return(_local1);
}
function read_joystick() {
var _local1 = 255;
if (Key.isDown(38) || (com.lastchance.mariotoo.WiiMote.isDown(com.lastchance.mariotoo.WiiMote.BUTTON_UP))) {
_local1 = _local1 & -17;
}
if (Key.isDown(40) || (com.lastchance.mariotoo.WiiMote.isDown(com.lastchance.mariotoo.WiiMote.BUTTON_DOWN))) {
_local1 = _local1 & -33;
}
if (Key.isDown(37) || (com.lastchance.mariotoo.WiiMote.isDown(com.lastchance.mariotoo.WiiMote.BUTTON_LEFT))) {
_local1 = _local1 & -65;
}
if (Key.isDown(39) || (com.lastchance.mariotoo.WiiMote.isDown(com.lastchance.mariotoo.WiiMote.BUTTON_RIGHT))) {
_local1 = _local1 & -129;
}
return(_local1);
}
function gameswitches() {
if (gameselectbutton == undefined) {
gameselectbutton = false;
}
if (gameresetbutton == undefined) {
gameresetbutton = false;
}
if (gameresetbutton) {
gameresetbutton = false;
if (gamestate == 3) {
gameselectbutton = true;
} else {
respawn();
gamestate = 0;
}
}
if (gameselectbutton) {
gameselectbutton = false;
if (player.r != 0) {
resetgame();
} else {
gamenumber++;
if (gamenumber >= 3) {
gamenumber = 0;
}
resetgame();
}
gamestate = 0;
}
}
function playsounds() {
if (thesound == undefined) {
thesound = new Sound();
}
if ((requestsound != undefined) && (requestsound != "")) {
thesound.attachSound(requestsound);
thesound.start();
requestsound = "";
}
}
function playsound(soundname) {
requestsound = soundname;
}
function movecarriedobject() {
if (player.carrying == -1) {
return(undefined);
}
var _local2 = player.carrying;
var _local1 = gameObjects[_local2];
_local1.r = player.r;
_local1.x = player.carryx + player.x;
_local1.y = player.carryy + player.y;
movegroundobject(255, 0, _local2);
}
function pickupputdown() {
oldjoybutton = joybutton;
joybutton = joystick_button();
if (joybutton && (!oldjoybutton)) {
if (player.carrying != -1) {
playsound("drop");
player.carrying = -1;
}
}
var _local2;
var _local1;
if (collision_ball_sprite1) {
_local1 = s1.o;
_local2 = s1.obj;
} else if (collision_ball_sprite2) {
_local1 = s2.o;
_local2 = s2.obj;
} else {
return(undefined);
}
if (_local1 >= SWORD) {
if (_local2.r == player.r) {
if (player.carrying != _local1) {
playsound("pickup");
}
player.carrying = _local1;
moveobjectdelta(joystick, 6, _local1);
player.carryx = _local2.x - player.x;
player.carryy = _local2.y - player.y;
}
}
}
function handle_surround() {
if (mazeColors[player.r] != 8) {
surround.r = 255;
return(undefined);
}
surround.r = player.r;
var _local1 = ((player.x - 14) + 256) & 255;
if (_local1 >= 240) {
_local1 = 1;
} else if (_local1 >= 130) {
_local1 = 129;
}
surround.x = _local1;
surround.y = player.y + 14;
}
function movebat() {
bat.state++;
if (bat.state >= 8) {
bat.state = 0;
}
if (bat.fedup > 0) {
bat.fedup = (bat.fedup + 1) & 255;
movegroundobject(bat.movement, 3, BAT);
} else {
var _local1 = lookforobject2(bat.carrying, bat);
if (_local1 != -1) {
bat.movement = getDirection1(BAT, _local1);
movegroundobject(bat.movement, 3, BAT);
var _local2 = gameObjects[_local1];
var _local4 = bat.x - _local2.x;
_local4 = ((_local4 + 4) + 256) & 255;
if (!(_local4 & 248)) {
var _local3 = bat.y - _local2.y;
_local3 = ((_local3 + 4) + 256) & 255;
if (!(_local3 & 248)) {
bat.carrying = _local1;
bat.fedup = 16;
}
}
} else {
movegroundobject(bat.movement, 3, BAT);
}
}
if (bat.carrying != -1) {
var _local2 = gameObjects[bat.carrying];
_local2.x = bat.x + 8;
_local2.y = bat.y;
_local2.r = bat.r;
if (player.carrying == bat.carrying) {
player.carrying = -1;
}
}
}
function getDirection(x1, y1, x2, y2) {
var _local1 = 255;
if (x1 < x2) {
_local1 = _local1 & -129;
}
if (x1 > x2) {
_local1 = _local1 & -65;
}
if (y1 < y2) {
_local1 = _local1 & -17;
}
if (y1 > y2) {
_local1 = _local1 & -33;
}
return(_local1);
}
function getDirection1(obnum1, obnum2) {
var _local2;
var _local1;
_local2 = gameObjects[obnum1];
_local1 = gameObjects[obnum2];
return(getDirection(_local2.x, _local2.y, _local1.x, _local1.y));
}
function lookforobject(notthis, objlist, myroom) {
var _local2;
var _local1;
_local2 = 0;
while (_local2 < objlist.length) {
_local1 = objlist[_local2];
if ((gameObjects[_local1].r == myroom) && (_local1 != notthis)) {
return(_local1);
}
_local2++;
}
return(-1);
}
function lookforobject2(notthis, obj) {
var _local2;
var _local1;
_local2 = 0;
while (_local2 < obj.list.length) {
_local1 = obj.list[_local2];
if ((gameObjects[_local1].r == obj.r) && (_local1 != notthis)) {
return(_local1);
}
_local2++;
}
return(-1);
}
function handle_portals() {
var _local2;
_local2 = 0;
while (_local2 < 3) {
var _local1 = gameObjects[PORT1 + _local2];
var _local3 = me_hit_sprite(PORT1 + _local2);
var _local4;
if (_local3 != -1) {
_local4 = gameObjects[_local3];
if (_local3 == (KEY1 + _local2)) {
_local1.state++;
}
}
if (_local1.state != 28) {
if (me_hit_ball(PORT1 + _local2)) {
_local1.state = 1;
var _local5 = castlerooms[_local2];
player.r = _local5;
player.y = 16;
} else if (_local3 != -1) {
var _local5 = castlerooms[_local2];
_local4.r = _local5;
_local4.y = 16;
}
}
if ((_local1.state != 1) && (_local1.state != 28)) {
_local1.state++;
if (_local1.state == 56) {
_local1.state = 1;
}
if (_local1.state >= 256) {
_local1.state = _local1.state - 256;
}
}
_local2++;
}
}
function movedragon(dragonnumber, speed, objlist) {
var _local1 = gameObjects[dragonnumber];
if (_local1.state == 0) {
if (coward_dragons && (_local1.r == sword.r)) {
_local1.movement = getDirection1(SWORD, dragonnumber);
} else if ((dragonnumber == DRAGON1) && (_local1.r == key1.r)) {
_local1.movement = getDirection1(KEY1, dragonnumber);
} else {
var _local3 = lookforobject2(0, _local1);
if (_local3 != -1) {
_local1.movement = getDirection1(dragonnumber, _local3);
}
}
movegroundobject(_local1.movement, speed, dragonnumber);
if (me_hit_ball(dragonnumber)) {
_local1.state = ((gamenumber == 0) ? ((fastdragons ? 232 : 208)) : ((fastdragons ? 246 : 240)));
_local1.x = player.tempx;
_local1.y = player.tempy;
playsound("roar");
}
if (me_hit_sprite(dragonnumber) == SWORD) {
_local1.state = 1;
playsound("slay");
}
} else if (_local1.state == 2) {
player.tempr = _local1.r;
player.tempx = _local1.x + 3;
player.tempy = _local1.y - 10;
player.r = _local1.r;
player.x = _local1.x + 3;
player.y = _local1.y - 10;
} else if (_local1.state > 2) {
_local1.state++;
if (_local1.state > 252) {
if (me_hit_ball(dragonnumber)) {
_local1.state = 2;
playsound("eaten");
}
}
if (_local1.state >= 256) {
_local1.state = 0;
}
}
}
function movegreendragon() {
movedragon(DRAGON2, 2, [PLAYER, CHALICE, BRIDGE, MAGNET, KEY3]);
}
function moveyellowdragon() {
movedragon(DRAGON1, 2, [PLAYER, CHALICE]);
}
function movereddragon() {
movedragon(DRAGON3, 3, [PLAYER, CHALICE, KEY2]);
}
function handle_magnet() {
var _local1 = lookforobject2(0, magnet);
if (_local1 != -1) {
var _local2 = gameObjects[_local1];
direc = getDirection(_local2.x, _local2.y, magnet.x, magnet.y - 8);
movegroundobject(direc, 1, _local1);
}
}
function ballmovement(reg_y) {
var _local1;
_local1 = false;
_local1 = _local1 || (collision_ball_playfield);
_local1 = _local1 || (collision_ball_missile1);
if (s2.o != DOT) {
_local1 = _local1 || (collision_ball_missile2);
}
if (s1.o != SURROUND) {
_local1 = _local1 || (collision_ball_sprite1);
}
if (s2.o != SURROUND) {
_local1 = _local1 || (collision_ball_sprite2);
}
if (((_local1 && (reg_y == 2)) && (player.carrying != BRIDGE)) && (bridge.r == player.r)) {
var _local2 = player.x - bridge.x;
if ((_local2 >= 10) && (_local2 <= 23)) {
_local2 = ((bridge.y - player.y) + 256) & 255;
if (_local2 >= 252) {
_local1 = false;
} else if (_local2 <= 25) {
_local1 = false;
}
}
}
if (!_local1) {
joystick = 255;
player.tempx = player.x;
player.tempy = player.y;
player.tempr = player.r;
}
if (reg_y == 0) {
joystick = read_joystick();
}
player.x = player.tempx;
player.y = player.tempy;
player.r = player.tempr;
movedir = joystick;
if (reg_y == 0) {
movedir = movedir | 0;
} else if (reg_y == 1) {
movedir = movedir | 192;
} else if (reg_y == 2) {
movedir = movedir | 48;
}
movegroundobject(movedir, 3, PLAYER);
}
function moveobjectdelta(movedir, delta, objectnumber) {
var _local1 = gameObjects[objectnumber];
if (!(movedir & 128)) {
_local1.x = _local1.x + delta;
}
if (!(movedir & 64)) {
_local1.x = _local1.x - delta;
}
if (!(movedir & 16)) {
_local1.y = _local1.y + delta;
}
if (!(movedir & 32)) {
_local1.y = _local1.y - delta;
}
}
function movegroundobject(in_movedir, delta, objectnumber) {
moveobjectdelta(in_movedir, delta, objectnumber);
var _local2;
var _local1;
_local1 = gameObjects[objectnumber];
_local2 = 0;
while (_local2 < 3) {
var _local3 = gameObjects[PORT1 + _local2];
if (((_local3.state != 28) && (_local1.r == castlerooms[_local2])) && (_local1.y <= 13)) {
_local1.r = castlerooms_outside[_local2];
_local1.x = 80;
_local1.y = 44;
_local3.state = 1;
}
_local2++;
}
if (_local1.y >= 106) {
_local1.y = 13;
_local1.r = nextRoom(_local1.r, 0);
} else if (_local1.x < 3) {
if (objectnumber == PLAYER) {
_local1.x = 158;
} else {
_local1.x = 154;
}
_local1.r = nextRoom(_local1.r, 3);
} else if (_local1.y < 13) {
_local1.y = 105;
_local1.r = nextRoom(_local1.r, 2);
} else if (objectnumber == PLAYER) {
if (_local1.x >= 159) {
if ((_local1.r == 3) && (dot.r != 21)) {
_local1.r = 30;
_local1.x = 3;
} else {
_local1.x = 3;
_local1.r = nextRoom(_local1.r, 1);
}
}
} else if (_local1.x >= 155) {
_local1.x = 3;
_local1.r = nextRoom(_local1.r, 1);
}
}
function me_hit_sprite(o) {
if (!collision_sprite1_sprite2) {
return(-1);
}
if (s1.o == o) {
return(s2.o);
}
if (s2.o == o) {
return(s1.o);
}
return(-1);
}
function me_hit_ball(o) {
return((collision_ball_sprite1 && (s1.o == o)) || (collision_ball_sprite2 && (s2.o == o)));
}
function point_hit_playfield(x, y) {
return(mazeData[player.r][y >> 5][x >> 2] == 1);
}
function ball_hit_playfield() {
var _local2 = player.x - 2;
var _local1 = (((192 - (player.y * 2)) + 16) + 2) + 16;
var _local4 = _local2 + 3;
var _local3 = _local1 + 7;
if (point_hit_playfield(_local2, _local1)) {
return(true);
}
if (point_hit_playfield(_local4, _local1)) {
return(true);
}
if (point_hit_playfield(_local2, _local3)) {
return(true);
}
if (point_hit_playfield(_local4, _local3)) {
return(true);
}
return(false);
}
function ball_hit_missile(mx) {
var _local1 = player.x - 2;
return(((_local1 + 3) >= mx) && (_local1 <= (mx + 1)));
}
function sprite_hit_sprite(s1, x1, y1, s2, x2, y2) {
var _local12 = spriteData[s1].length;
var _local11 = spriteData[s2].length;
if ((x1 + 7) < x2) {
return(false);
}
if ((x2 + 7) < x1) {
return(false);
}
if (((y1 + _local12) - 1) < y2) {
return(false);
}
if (((y2 + _local11) - 1) < y1) {
return(false);
}
var _local15 = x2 - x1;
var _local2 = _local15;
var _local3 = 0;
if (_local2 < 0) {
_local3 = -_local2;
_local2 = 0;
}
var _local8;
var _local7;
var _local5;
var _local1;
_local8 = Math.min(y1 + _local12, y2 + _local11) - Math.max(y1, y2);
_local7 = ((y1 < y2) ? (y2 - y1) : 0);
_local5 = ((y2 < y1) ? (y1 - y2) : 0);
_local1 = 0;
while (_local1 < _local8) {
if ((spriteData[s1][_local7 + _local1] << _local2) & (spriteData[s2][_local5 + _local1] << _local3)) {
return(true);
}
_local1++;
}
return(false);
}
function ball_hit_sprite(x1, x2, y1, y2, s) {
if (s == SPR_BRIDGE) {
var _local1 = SPR_BALL;
var _local6 = SPR_LEFT_BRIDGE;
var _local7 = SPR_RIGHT_BRIDGE;
return(((sprite_hit_sprite(_local1, x1, y1, _local6, x2, y2) || (sprite_hit_sprite(_local1, x1, y1, _local7, x2 + 24, y2))) || (sprite_hit_sprite(_local1, x1, y1, _local6, x2 - 160, y2))) || (sprite_hit_sprite(_local1, x1, y1, _local7, (x2 - 160) + 24, y2)));
}
return(sprite_hit_sprite(SPR_BALL, x1, y1, s, x2, y2));
}
function ball_hit_sprite1() {
var _local4 = ball1._x;
var _local2 = s1._x;
var _local3 = ball1._y / 2;
var _local1 = s1._y / 2;
var _local5 = s1.s;
return(ball_hit_sprite(_local4, _local2, _local3, _local1, _local5));
}
function ball_hit_sprite2() {
var _local4 = ball1._x;
var _local2 = s2._x;
var _local3 = ball1._y / 2;
var _local1 = s2._y / 2;
var _local5 = s2.s;
return(ball_hit_sprite(_local4, _local2, _local3, _local1, _local5));
}
function sprite1_hit_sprite2() {
return(sprite_hit_sprite(s1.s, s1._x, s1._y / 2, s2.s, s2._x, s2._y / 2));
}
function checkcollisions() {
collision_ball_playfield = ball_hit_playfield();
collision_ball_sprite1 = ball_hit_sprite1();
collision_ball_sprite2 = ball_hit_sprite2();
collision_sprite1_sprite2 = sprite1_hit_sprite2();
collision_ball_missile1 = missile1._visible && (ball_hit_missile(11));
collision_ball_missile2 = missile2._visible && (ball_hit_missile(148));
}
function cachesprites() {
var _local1 = display_object_number;
s1.o = NULLOBJECT;
s2.o = NULLOBJECT;
do {
_local1++;
if (_local1 >= NULLOBJECT) {
_local1 = 0;
}
if (gameObjects[_local1].r == displayedroom) {
if (s1.o == NULLOBJECT) {
s1.o = _local1;
} else {
s2.o = _local1;
}
}
} while ((s2.o == NULLOBJECT) && (_local1 != display_object_number));
display_object_number = _local1;
}
function flashwalls() {
if (flashingwalls > 0) {
var _local2 = new Color(ball1);
var _local5 = new Color(ball2);
var _local3 = new Color(m);
var _local4 = new Color(m2);
var _local1 = palette[((255 - flashingwalls) >> 1) & 127];
_local2.setRGB(_local1);
_local5.setRGB(_local1);
_local3.setRGB(_local1);
_local4.setRGB(_local1);
if (FRAMERATE != 20) {
flashingwalls++;
} else {
flashingwalls = flashingwalls + 3;
}
}
if (flashingwalls >= 255) {
var _local2 = new Color(ball1);
var _local5 = new Color(ball2);
var _local3 = new Color(m);
var _local4 = new Color(m2);
var _local1 = palette[mazeColors[displayedroom] >> 1];
_local2.setRGB(_local1);
_local5.setRGB(_local1);
_local3.setRGB(_local1);
_local4.setRGB(_local1);
flashingwalls = 0;
}
}
function draw_less() {
prepareball();
}
function draw() {
setMaze(player.r);
preparesprites();
prepareball();
}
function prepareball() {
ball1._x = player.x - 2;
ball1._y = ((192 - (player.y * 2)) + 16) + 2;
ball2._x = player.x - 2;
ball2._y = ((192 - (player.y * 2)) + 16) + 2;
}
function animateobject(objnumber, state, spritenumber) {
if (objnumber == NUMBER) {
return(spritenumber + gamenumber);
}
if (objnumber == BAT) {
return(((state >= 4) ? (spritenumber + 1) : (spritenumber)));
}
if (spritenumber == SPR_DRAGON) {
if (state == 1) {
return(spritenumber + 2);
}
if (state > 2) {
return(spritenumber + 1);
}
return(spritenumber);
}
if (spritenumber == SPR_PORTCULLIS) {
var _local2 = state >> 2;
if (_local2 < 7) {
return(spritenumber + (6 - _local2));
}
if (_local2 > 13) {
return(spritenumber + 6);
}
if (_local2 > 7) {
return(spritenumber + (_local2 - 7));
}
}
return(spritenumber);
}
function preparesprites() {
cachesprites();
var _local1 = false;
if (s1.o == SURROUND) {
_local1 = true;
}
if ((s1.o == BRIDGE) && (s2.o != SURROUND)) {
_local1 = true;
}
if (_local1) {
var _local7 = s2.o;
s2.o = s1.o;
s1.o = _local7;
}
s1.obj = gameObjects[s1.o];
s2.obj = gameObjects[s2.o];
s1.s = objectSpriteNumbers[s1.o];
s2.s = objectSpriteNumbers[s2.o];
var _local6 = objectColors[s1.o];
if (_local6 & 1) {
s1_color = palette[colorshine];
} else {
s1_color = palette[_local6 >> 1];
}
var _local5 = objectColors[s2.o];
if (_local5 & 1) {
s2_color = palette[colorshine];
} else {
s2_color = palette[_local5 >> 1];
}
s1.s = animateobject(s1.o, s1.obj.state, s1.s);
s2.s = animateobject(s2.o, s2.obj.state, s2.s);
s3.s = s1.s;
s4.s = s2.s;
if (s1.s != s1.previous_s) {
s1.spriteClips[s1.previous_s]._visible = false;
s3.spriteClips[s1.previous_s]._visible = false;
s1.previous_s = s1.s;
}
if (s2.s != s2.previous_s) {
s2.spriteClips[s2.previous_s]._visible = false;
s4.spriteClips[s2.previous_s]._visible = false;
s2.previous_s = s2.s;
}
var _local3 = s1.spriteClips[s1.s];
var _local2 = s2.spriteClips[s2.s];
var _local9 = s3.spriteClips[s3.s];
var _local8 = s4.spriteClips[s4.s];
_local3._visible = true;
_local2._visible = true;
_local9._visible = true;
_local8._visible = true;
var _local4 = mazeFlags[displayedroom];
missile1._visible = (_local4 & 128) != 0;
missile2._visible = (_local4 & 64) != 0;
s1._x = s1.obj.x - ((_local3._xscale == 400) ? 0 : 1);
s1._y = ((192 - (s1.obj.y * 2)) + 16) + 2;
s2._x = s2.obj.x - ((_local2._xscale == 400) ? 0 : 1);
s2._y = ((192 - (s2.obj.y * 2)) + 16) + 2;
s3._x = s1._x - 160;
s3._y = s1._y;
s4._x = s2._x - 160;
s4._y = s2._y;
if (s1_lastcolor != s1_color) {
var _local13 = new Color(s1);
_local13.setRGB(s1_color);
var _local11 = new Color(s3);
_local11.setRGB(s1_color);
var _local15 = new Color(missile1);
_local15.setRGB(s1_color);
s1_lastcolor = s1_color;
}
if (s2_lastcolor != s2_color) {
var _local12 = new Color(s2);
_local12.setRGB(s2_color);
var _local10 = new Color(s4);
_local10.setRGB(s2_color);
var _local14 = new Color(missile2);
_local14.setRGB(s2_color);
s2_lastcolor = s2_color;
}
colorshine++;
if (colorshine >= 128) {
colorshine = 0;
}
}
function setMaze(mazenumber) {
if (mazeprevious != mazenumber) {
m.mazeClips[mazeprevious]._visible = false;
m2.mazeClips[mazeprevious]._visible = false;
mazeprevious = mazenumber;
m.mazeClips[mazenumber]._visible = true;
m2.mazeClips[mazenumber]._visible = true;
displayedroom = mazenumber;
var _local3 = new Color(ball1);
var _local6 = new Color(ball2);
var _local4 = new Color(m);
var _local5 = new Color(m2);
var _local1 = palette[mazeColors[displayedroom] >> 1];
_local3.setRGB(_local1);
_local6.setRGB(_local1);
_local4.setRGB(_local1);
_local5.setRGB(_local1);
if (mazeColors[displayedroom] == 8) {
ball1._visible = false;
ball2._visible = true;
} else {
ball2._visible = false;
ball1._visible = true;
}
}
}
function startup() {
if (intMain == undefined) {
if (targetFPS == undefined) {
targetFPS = 60;
}
frame_interval = 1000 / targetFPS;
FPS = "FPS:";
var _local1 = new Date();
_local1.getDate();
lasttime = _local1.valueOf();
onesecondago = lasttime;
slacktime = 0;
gamecyclesperformed = 0;
framesdrawn = 0;
cyclesrun = 0;
cyclesrejected = 0;
intMain = setInterval(doframe, 1);
}
}
function doframe() {
var _local5 = new Date();
_local5.getDate();
thistime = _local5.valueOf();
var _local4 = thistime - lasttime;
if (_local4 < 0) {
_local4 = 0;
}
var _local2 = int(_local4 / frame_interval);
var _local6 = 0;
if (_local2 == 0) {
cyclesrejected++;
return(undefined);
}
if (_local2 > 6) {
_local2 = 6;
lasttime = thistime;
} else {
lasttime = lasttime + (_local2 * frame_interval);
_local6 = thistime - lasttime;
}
var _local3 = thistime - onesecondago;
if (_local3 < 0) {
_local3 = 0;
}
var _local1;
_local1 = 0;
while (_local1 < _local2) {
frame();
cyclesrun++;
_local1++;
}
framesdrawn++;
if (_local3 >= 1000) {
onesecondago = thistime;
FPS = (("FPS: " + framesdrawn) + "/") + cyclesrun;
framesdrawn = 0;
cyclesrun = 0;
}
updateAfterEvent();
}
function frame() {
if (init()) {
playgame();
}
}
function roomSubstitute(mazenumber) {
return(mazeSubstitution[mazenumber + gamenumber]);
}
function nextRoom(mazenumber, exitnumber) {
var _local1 = mazeExits[mazenumber][exitnumber];
if (_local1 >= 128) {
return(roomSubstitute(_local1 & 127));
}
return(_local1);
}
targetFPS = 60;
FRAMERATE = 60;
PROTECTED = true;
NUM_MAZES = 31;
NUM_SPRITES = 24;
NUM_OBJECTS = 20;
Stage.showMenu = false;
init();
startup();
stop();
Frame 2
stop();
Frame 10
stop();
Symbol 9 MovieClip Frame 1
stop();
Symbol 13 Button
on (release) {
_parent.gameselectbutton = true;
}
Symbol 14 Button
on (release) {
_parent.gameresetbutton = true;
}
Symbol 15 Button
on (release) {
_parent.coward_dragons = !_parent.coward_dragons;
indicator2.gotoAndStop(((_parent.coward_dragons == true) ? 2 : 1));
}
Symbol 16 Button
on (release) {
_parent.fastdragons = !_parent.fastdragons;
indicator1.gotoAndStop(((_parent.fastdragons == true) ? 2 : 1));
}
Symbol 19 MovieClip [__Packages.com.lastchance.mariotoo.WiiMote] Frame 0
class com.lastchance.mariotoo.WiiMote
{
static var keyStats, binds, _instance;
var lc;
function WiiMote () {
mx.events.EventDispatcher.initialize(com.lastchance.mariotoo.WiiMote);
lc = new LocalConnection();
lc.connect("wii");
lc.setState = mx.utils.Delegate.create(this, setState);
Mouse.addListener(this);
Key.addListener(this);
keyStats = [];
binds = [];
}
static function init() {
if (_instance == null) {
_instance = new com.lastchance.mariotoo.WiiMote();
}
}
static function isDown(keyCode) {
var _local1 = keyCode;
if ((!usingKeyboard) && (classic)) {
switch (_local1) {
case BUTTON_UP :
_local1 = BUTTON_RIGHT;
break;
case BUTTON_RIGHT :
_local1 = BUTTON_DOWN;
break;
case BUTTON_DOWN :
_local1 = BUTTON_LEFT;
break;
case BUTTON_LEFT :
_local1 = BUTTON_UP;
}
}
return(keyStats[_local1] == true);
}
function setState(buttons, dpad) {
keyStats[BUTTON_PLUS] = buttons >= 64;
if (keyStats[BUTTON_PLUS]) {
buttons = buttons - 64;
}
keyStats[BUTTON_2] = buttons >= 32;
if (keyStats[BUTTON_2]) {
buttons = buttons - 32;
}
keyStats[BUTTON_1] = buttons >= 16;
if (keyStats[BUTTON_1]) {
buttons = buttons - 16;
}
keyStats[BUTTON_B] = buttons >= 8;
if (keyStats[BUTTON_B]) {
buttons = buttons - 8;
}
keyStats[BUTTON_MINUS] = buttons >= 4;
if (keyStats[BUTTON_MINUS]) {
buttons = buttons - 4;
}
keyStats[BUTTON_A] = buttons >= 2;
keyStats[BUTTON_LEFT] = dpad >= 16;
if (keyStats[BUTTON_LEFT]) {
dpad = dpad - 16;
}
keyStats[BUTTON_RIGHT] = dpad >= 8;
if (keyStats[BUTTON_RIGHT]) {
dpad = dpad - 8;
}
keyStats[BUTTON_DOWN] = dpad >= 4;
if (keyStats[BUTTON_DOWN]) {
dpad = dpad - 4;
}
keyStats[BUTTON_UP] = dpad >= 2;
}
function onMouseDown() {
keyStats[BUTTON_A] = true;
}
function onMouseUp() {
keyStats[BUTTON_A] = false;
}
function onKeyDown() {
keyStats[binds[Key.getCode()]] = true;
usingKeyboard = true;
}
function onKeyUp() {
keyStats[binds[Key.getCode()]] = false;
usingKeyboard = true;
}
static function setClassic(c) {
classic = c;
}
static function bind(b, k) {
binds[k] = b;
}
static function unbind(k) {
binds[k] = null;
}
static function bindDefaults() {
bind(BUTTON_UP, 38);
bind(BUTTON_DOWN, 40);
bind(BUTTON_RIGHT, 39);
bind(BUTTON_LEFT, 37);
bind(BUTTON_1, 88);
bind(BUTTON_2, 90);
bind(BUTTON_PLUS, 16);
bind(BUTTON_MINUS, 17);
}
static var BUTTON_A = 13;
static var BUTTON_MINUS = 170;
static var BUTTON_B = 171;
static var BUTTON_1 = 172;
static var BUTTON_2 = 173;
static var BUTTON_PLUS = 174;
static var BUTTON_UP = 175;
static var BUTTON_DOWN = 176;
static var BUTTON_RIGHT = 177;
static var BUTTON_LEFT = 178;
static var classic = false;
static var usingKeyboard = false;
}
Symbol 20 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent != undefined) {
_local1.handleEvent(eventObj);
}
if (_local1[eventObj.type] != undefined) {
if (exceptions[eventObj.type] == undefined) {
_local1[eventObj.type](eventObj);
}
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 21 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}