Frame 1
var MochiAd = {showPreloaderAd:function (options) {
var _local29 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812};
options = MochiAd._parseOptions(options, _local29);
var _local15 = options.clip;
var _local25 = 11000;
var _local28 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)) {
return(undefined);
}
_local15.stop();
var mc = _local15._mochiad;
mc.onUnload = function () {
this._parent.play();
};
var _local16 = MochiAd._getRes(options);
var _local5 = _local16[0];
var _local14 = _local16[1];
mc._x = _local5 * 0.5;
mc._y = _local14 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local5 * -0.5;
chk._y = _local14 * -0.5;
var _local8 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local8._x = 10;
_local8._y = _local14 - 20;
var _local24 = options.color;
delete options.color;
var _local21 = options.background;
delete options.background;
var _local26 = options.outline;
delete options.outline;
var _local6 = _local8.createEmptyMovieClip("_outline", 1);
_local6.beginFill(_local21);
_local6.moveTo(0, 0);
_local6.lineTo(_local5 - 20, 0);
_local6.lineTo(_local5 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
_local6.endFill();
var _local4 = _local8.createEmptyMovieClip("_inside", 2);
_local4.beginFill(_local24);
_local4.moveTo(0, 0);
_local4.lineTo(_local5 - 20, 0);
_local4.lineTo(_local5 - 20, 10);
_local4.lineTo(0, 10);
_local4.lineTo(0, 0);
_local4.endFill();
_local4._xscale = 0;
var _local7 = _local8.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local26, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local5 - 20, 0);
_local7.lineTo(_local5 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local25;
chk.ad_timeout = _local28;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}, showTimedAd:function (options) {
var _local15 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd"};
options = MochiAd._parseOptions(options, _local15);
var _local6 = options.clip;
var _local12 = 11000;
var _local14 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)) {
return(undefined);
}
_local6.stop();
var mc = _local6._mochiad;
mc.onUnload = function () {
this._parent.play();
};
var _local7 = MochiAd._getRes(options);
var _local16 = _local7[0];
var _local13 = _local7[1];
mc._x = _local16 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local12;
chk.ad_timeout = _local14;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}, _allowDomains:function (server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}, _loadCommunicator:function (options) {
var _local25 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, _local25);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = "1.4";
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!MochiAd._isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
MochiAd._allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local24 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local24);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb) {
cb = parseInt(cb);
var _local4 = this._callbacks[cb];
if (!_local4) {
return(undefined);
}
delete this._callbacks[cb];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}, fetchHighScores:function (options, callbackObj, callbackMethod) {
var _local1 = MochiAd._loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}, sendHighScore:function (options, callbackObj, callbackMethod) {
var _local1 = MochiAd._loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}, load:function (options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = "1.4";
var _local7 = options.clip;
if (!MochiAd._isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = MochiAd._getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
if (_local7._url.indexOf("http") != 0) {
options.no_page = true;
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = MochiAd._allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}, unload:function (clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}, _isNetworkAvailable:function () {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}, _getRes:function (options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}, _parseOptions:function (options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local4);
}, _:null};
if (((this._url.indexOf("http://www.addictinggames.com") != 0) and (this._url.indexOf("http://agstage.shockwave.com") != 0)) and (this._url.indexOf("http://farm.addictinggames.com") != 0)) {
MochiAd.showPreloaderAd({id:"b0cb6c633eaf9986", res:"640x540"});
} else {
this.createTextField("my_txt", 1, 20, 200, 600, 100);
my_txt.multiline = true;
my_txt.wordWrap = true;
var my_fmt = new TextFormat();
my_fmt.color = 16777215 /* 0xFFFFFF */;
my_fmt.align = "center";
my_fmt.bold = true;
my_txt.text = "Loading";
my_txt.setTextFormat(my_fmt);
this.onEnterFrame = function () {
if (this.getBytesLoaded() >= this.getBytesTotal()) {
my_txt.removeTextField();
delete onEnterFrame;
gotoAndStop (2);
}
};
stop();
}
Frame 2
stop();
Frame 3
function CalcAngle(Xfrom, Yfrom, Xto, Yto) {
if ((Xfrom == Xto) and (Yfrom == Yto)) {
Angle = 0;
} else {
XDis = Math.abs(Xto - Xfrom);
YDis = Math.abs(Yto - Yfrom);
Angle = Math.atan(YDis / XDis);
if (Xto > Xfrom) {
if (Yto < Yfrom) {
Angle = halfPI - Angle;
} else {
Angle = halfPI + Angle;
}
} else if (Yto > Yfrom) {
Angle = (Math.PI + halfPI) - Angle;
} else {
Angle = (Math.PI + halfPI) + Angle;
}
if (Angle < 0) {
Angle = Angle + (Math.PI*2);
}
}
return(Angle);
}
function CalcDistance(Xfrom, Yfrom, Xto, Yto) {
xDistance = Math.abs(Xto - Xfrom);
yDistance = Math.abs(Yto - Yfrom);
LineDistance = Math.sqrt(Math.pow(xDistance, 2) + Math.pow(yDistance, 2));
return(LineDistance);
}
function NumberFormat(Num) {
NumberString = Num.toString();
SplitArray = new Array();
ss = NumberString.length - 3;
while (ss >= 0) {
SplitArray.unshift(NumberString.substr(ss, 3));
ss = ss - 3;
}
if ((ss < 0) and (ss > -3)) {
SplitArray.unshift(NumberString.substr(0, ss + 3));
}
NumberString = SplitArray.join(".");
return(NumberString);
}
function ResetGame() {
LastSubmitted = 0;
SelectedMonster = 1;
i = 1;
while (i <= MonsterTypes.length) {
MonsterTypes[i].SelectedLevel = 1;
i++;
}
LevelStatus = new Array();
i = 1;
while (i < Levels.length) {
LevelStatus[i] = new Object();
if (i == 1) {
LevelStatus[i].Locked = false;
} else {
LevelStatus[i].Locked = true;
}
LevelStatus[i].Score = 0;
i++;
}
}
function SaveGame() {
Saved.data.dt = new Array();
var _local1;
_local1 = 1;
while (_local1 < MonsterTypes.length) {
Saved.data.dt[_local1] = MonsterTypes[_local1].SelectedLevel;
_local1++;
}
Saved.data.dt[11] = SelectedMonster;
_local1 = 1;
while (_local1 < LevelStatus.length) {
Saved.data.dt[11 + _local1] = LevelStatus[_local1].Score;
Saved.data.dt[21 + _local1] = Number(LevelStatus[_local1].Locked);
_local1++;
}
Saved.data.dt[32] = LastSubmitted;
CheckSum = 0;
_local1 = 1;
while (_local1 < Saved.data.dt.length) {
CheckSum = CheckSum + Saved.data.dt[_local1];
_local1++;
}
Saved.data.dt[0] = CheckSum;
Msk = random(SaveMasks.length);
Ofst = random(SaveMasks[Msk].length);
CurrOff = Ofst;
_local1 = 0;
while (_local1 < Saved.data.dt.length) {
Saved.data.dt[_local1] = (Saved.data.dt[_local1] + ord(SaveMasks[Msk].charAt(CurrOff))) * ord(SaveMasks[Msk].charAt(CurrOff));
CurrOff++;
if (CurrOff >= SaveMasks[Msk].length) {
CurrOff = 0;
}
_local1++;
}
Saved.data.dt[33] = Msk;
Saved.data.dt[34] = Ofst;
Saved.flush();
}
SoundOn = true;
SoundControl = new Sound(this);
Levels = [undefined, [[99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 22, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99], [99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 99], [99, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100, 99], [99, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 99], [99, 100, 0, 100, 100, 99, 99, 99, 99, 100, 100, 100, 0, 100, 100, 100, 99, 99, 99, 100, 100, 100, 0, 100, 99], [99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 100, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99], [99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99], [99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99], [99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99], [99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 100, 99, 99, 99, 99, 100, 100, 100, 0, 100, 99], [99, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 99], [99, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 99], [23, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 33], [99, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 99], [99, 100, 0, 100, 100, 99, 99, 99, 99, 99, 100, 100, 0, 100, 100, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99], [99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99, 99, 99, 99, 99, 99, 99, 100, 0, 100, 99], [99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99, 99, 99, 99, 99, 99, 99, 100, 0, 100, 99], [99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99, 99, 99, 99, 99, 99, 99, 100, 0, 100, 99], [99, 100, 0, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99, 99, 99, 99, 99, 99, 99, 100, 0, 100, 99], [99, 100, 0, 100, 100, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99, 99, 99, 99, 99, 99, 99, 100, 0, 100, 99], [99, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 99, 99, 99, 99, 99, 100, 100, 0, 100, 99], [99, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 99], [99, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100, 99], [99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 99], [99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 24, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99]], [[100, 100, 100, 100, 100, 100, 22, 100, 100, 99, 99, 99, 99, 99, 99, 100, 100, 100, 34, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 99, 99, 99, 99, 99, 99, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 99, 99, 99, 99, 99, 99, 99, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 99, 99, 99, 99, 99, 99, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 99, 99, 99, 99, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [23, 0, 0, 0, 0, 0, 12, 100, 100, 100, 100, 99, 99, 99, 100, 100, 100, 100, 13, 0, 0, 0, 0, 0, 33], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 99, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 13, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 14, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [23, 0, 0, 0, 0, 0, 14, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 13, 0, 0, 0, 0, 0, 33], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 13, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 12, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 99, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [23, 0, 0, 0, 0, 0, 14, 100, 100, 100, 100, 100, 100, 99, 99, 99, 100, 100, 13, 0, 0, 0, 0, 0, 33], [100, 100, 100, 100, 100, 100, 0, 100, 99, 100, 100, 99, 99, 99, 99, 99, 99, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 99, 99, 99, 99, 99, 99, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 99, 99, 99, 99, 99, 99, 99, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 99, 99, 99, 99, 99, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 99, 99, 99, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 24, 100, 100, 99, 99, 99, 99, 99, 99, 99, 100, 100, 32, 100, 100, 100, 100, 100, 100]], [[100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [23, 0, 14, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 13, 0, 33], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]], [[100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [23, 0, 3, 100, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33], [100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 0, 100, 100, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100, 100, 100], [100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100], [100, 100, 0, 100, 100, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100, 100, 100, 2, 0, 0, 33], [100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100], [100, 100, 0, 100, 100, 14, 0, 0, 0, 0, 0, 0, 0, 3, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100], [100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100], [100, 100, 0, 100, 100, 14, 0, 0, 0, 3, 100, 100, 100, 0, 100, 100, 100, 2, 0, 0, 0, 0, 0, 0, 33], [100, 100, 2, 0, 0, 4, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 1, 0, 0, 3, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 0, 100, 100, 12, 0, 0, 0, 4, 100, 100, 100, 0, 100, 100, 100, 1, 0, 0, 0, 0, 0, 0, 33], [100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100], [100, 100, 0, 100, 100, 12, 0, 0, 0, 0, 0, 0, 0, 4, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100], [100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100], [100, 100, 0, 100, 100, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100, 100, 100, 1, 0, 0, 33], [100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100], [100, 100, 0, 100, 100, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100, 100, 100], [100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [23, 0, 4, 100, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]], [[100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [23, 0, 3, 100, 100, 100, 100, 100, 100, 100, 100, 100, 1, 0, 0, 0, 0, 13, 0, 0, 0, 0, 3, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 13, 0, 0, 0, 0, 13, 0, 0, 0, 0, 14, 100, 100, 100, 100, 0, 100, 100, 100, 100, 13, 0, 33], [100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 13, 0, 0, 0, 0, 13, 0, 0, 0, 0, 12, 100, 100, 100, 100, 0, 100, 100, 100, 100, 13, 0, 33], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100, 100, 100, 0, 100, 100], [23, 0, 4, 100, 100, 100, 100, 100, 100, 100, 100, 100, 2, 0, 0, 0, 0, 13, 0, 0, 0, 0, 4, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]], [[100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100], [100, 100, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100, 100, 100], [100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33], [100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100], [23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]], [[100, 100, 100, 100, 22, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 34, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 1, 0, 0, 0, 13, 0, 0, 0, 3, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [23, 0, 0, 0, 12, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 13, 0, 0, 0, 33], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 13, 0, 0, 0, 14, 100, 100, 100, 13, 0, 0, 0, 13, 0, 0, 0, 14, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [23, 0, 0, 0, 14, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 13, 0, 0, 0, 33], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 0, 100, 100, 100, 2, 0, 0, 0, 13, 0, 0, 0, 4, 100, 100, 100, 0, 100, 100, 100, 100], [100, 100, 100, 100, 24, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 32, 100, 100, 100, 100]], [[100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [23, 0, 0, 3, 100, 100, 1, 0, 0, 3, 100, 100, 1, 0, 0, 3, 100, 100, 1, 0, 0, 3, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 2, 0, 0, 4, 100, 100, 2, 0, 0, 4, 100, 100, 2, 0, 0, 4, 100, 100, 2, 0, 0, 33], [23, 0, 0, 3, 100, 100, 1, 0, 0, 3, 100, 100, 1, 0, 0, 3, 100, 100, 1, 0, 0, 3, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 2, 0, 0, 4, 100, 100, 2, 0, 0, 4, 100, 100, 2, 0, 0, 4, 100, 100, 2, 0, 0, 33], [23, 0, 0, 3, 100, 100, 1, 0, 0, 3, 100, 100, 1, 0, 0, 3, 100, 100, 1, 0, 0, 3, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100], [100, 100, 100, 2, 0, 0, 4, 100, 100, 2, 0, 0, 4, 100, 100, 2, 0, 0, 4, 100, 100, 2, 0, 0, 33], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]], [[100, 22, 100, 100, 100, 100, 100, 100, 100, 100, 22, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 2, 0, 0, 0, 0, 0, 0, 3, 100, 0, 100, 1, 0, 3, 100, 1, 0, 3, 100, 1, 0, 3, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100], [100, 1, 0, 0, 0, 0, 0, 0, 4, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100], [100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 13, 0, 33], [100, 2, 0, 0, 0, 0, 0, 0, 3, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100], [100, 1, 0, 0, 0, 0, 0, 0, 4, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 13, 0, 33], [100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100], [100, 2, 0, 0, 0, 0, 0, 0, 3, 100, 2, 0, 4, 100, 2, 0, 4, 100, 2, 0, 4, 100, 0, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100], [100, 1, 0, 0, 0, 0, 0, 0, 4, 100, 1, 0, 3, 100, 1, 0, 3, 100, 1, 0, 3, 100, 0, 100, 100], [100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100], [100, 2, 0, 0, 0, 0, 0, 0, 3, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 13, 0, 33], [100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100], [100, 1, 0, 0, 0, 0, 0, 0, 4, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100], [100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 13, 0, 33], [100, 2, 0, 0, 0, 0, 0, 0, 3, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100], [100, 1, 0, 0, 0, 0, 0, 0, 4, 100, 0, 100, 2, 0, 4, 100, 2, 0, 4, 100, 2, 0, 4, 100, 100], [100, 24, 100, 100, 100, 100, 100, 100, 100, 100, 24, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]], [[100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 22, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100, 1, 0, 0, 3, 100, 100, 1, 0, 0, 3, 100], [100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100], [100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100], [100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100], [100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100], [100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100], [100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100], [100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100], [31, 3, 100, 100, 1, 0, 0, 3, 100, 100, 1, 0, 13, 0, 4, 100, 100, 2, 0, 0, 4, 100, 100, 2, 33], [100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100], [100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100], [100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100], [100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100], [100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 100], [100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100], [100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100], [100, 2, 0, 0, 4, 100, 100, 2, 0, 0, 4, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 100], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 24, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]]];
Importance = [undefined, [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 52, 75, 88, 94, 98, 100, 88, 88, 143, 164, 206, 34, 214, 178, 161, 151, 109, 109, 127, 123, 115, 99, 71, 0], [0, 74, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 56, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 99, 0], [0, 88, 21, 124, 114, 111, 111, 88, 88, 159, 182, 226, 31, 235, 197, 177, 164, 109, 109, 144, 147, 159, 26, 115, 0], [0, 94, 21, 114, 97, 0, 0, 0, 0, 137, 161, 204, 31, 209, 170, 149, 0, 0, 0, 119, 126, 147, 26, 123, 0], [0, 99, 21, 112, 0, 0, 0, 0, 0, 0, 145, 188, 31, 191, 151, 0, 0, 0, 0, 0, 119, 144, 26, 127, 0], [0, 102, 21, 112, 0, 0, 0, 0, 0, 0, 0, 177, 31, 180, 0, 0, 0, 0, 0, 0, 115, 143, 26, 131, 0], [0, 93, 21, 93, 0, 0, 0, 0, 0, 0, 0, 137, 31, 137, 0, 0, 0, 0, 0, 0, 81, 115, 26, 115, 0], [0, 129, 21, 142, 0, 0, 0, 0, 0, 0, 154, 199, 31, 208, 0, 0, 0, 0, 0, 0, 180, 227, 26, 210, 0], [0, 140, 21, 155, 0, 0, 0, 0, 0, 0, 168, 215, 31, 226, 190, 0, 0, 0, 0, 172, 204, 254, 26, 237, 0], [0, 157, 21, 175, 153, 138, 127, 86, 86, 163, 190, 238, 31, 254, 220, 203, 194, 135, 135, 205, 240, 296, 26, 283, 0], [0, 194, 21, 214, 193, 177, 166, 126, 126, 203, 231, 282, 31, 311, 280, 264, 255, 197, 197, 267, 306, 371, 26, 385, 0], [33, 33, 52, 30, 30, 30, 30, 30, 30, 30, 30, 30, 70, 47, 47, 47, 47, 47, 47, 47, 47, 47, 100, 100, 100], [0, 194, 21, 214, 193, 177, 166, 126, 126, 203, 231, 282, 31, 311, 280, 264, 255, 197, 197, 267, 306, 371, 26, 385, 0], [0, 157, 21, 175, 153, 0, 0, 0, 0, 0, 190, 238, 31, 254, 220, 0, 0, 0, 0, 0, 240, 296, 26, 283, 0], [0, 140, 21, 155, 0, 0, 0, 0, 0, 0, 168, 215, 31, 226, 0, 0, 0, 0, 0, 0, 0, 254, 26, 237, 0], [0, 129, 21, 142, 0, 0, 0, 0, 0, 0, 154, 199, 31, 208, 0, 0, 0, 0, 0, 0, 0, 227, 26, 210, 0], [0, 93, 21, 93, 0, 0, 0, 0, 0, 0, 96, 137, 31, 137, 0, 0, 0, 0, 0, 0, 0, 115, 26, 115, 0], [0, 102, 21, 112, 0, 0, 0, 0, 0, 0, 135, 177, 31, 180, 0, 0, 0, 0, 0, 0, 0, 143, 26, 131, 0], [0, 99, 21, 112, 92, 0, 0, 0, 0, 0, 145, 188, 31, 191, 0, 0, 0, 0, 0, 0, 0, 144, 26, 127, 0], [0, 94, 21, 114, 97, 91, 89, 60, 60, 137, 161, 204, 31, 209, 170, 0, 0, 0, 0, 0, 126, 147, 26, 123, 0], [0, 88, 21, 124, 114, 111, 111, 88, 88, 159, 182, 226, 31, 235, 197, 177, 164, 109, 109, 144, 147, 159, 26, 115, 0], [0, 74, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 56, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 99, 0], [0, 52, 75, 88, 94, 98, 100, 88, 88, 143, 164, 206, 34, 214, 178, 161, 151, 109, 109, 127, 123, 115, 99, 71, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 37, 49, 73, 27, 73, 49, 0, 0, 0, 0, 0, 0, 37, 49, 73, 27, 73, 49, 37, 30, 0, 0], [0, 0, 0, 45, 61, 92, 27, 92, 61, 0, 0, 0, 0, 0, 0, 45, 61, 92, 27, 92, 61, 45, 36, 0, 0], [25, 31, 37, 96, 113, 141, 27, 127, 87, 63, 0, 0, 0, 0, 0, 0, 82, 123, 27, 136, 108, 96, 84, 36, 30], [31, 40, 47, 119, 137, 165, 27, 148, 104, 0, 0, 0, 0, 0, 0, 0, 98, 142, 27, 160, 132, 119, 105, 45, 37], [43, 55, 64, 149, 168, 196, 27, 171, 121, 0, 0, 0, 0, 0, 0, 85, 115, 165, 27, 190, 162, 149, 133, 61, 49], [67, 86, 98, 199, 235, 280, 27, 268, 225, 210, 200, 0, 0, 0, 0, 216, 236, 274, 27, 285, 241, 211, 180, 92, 73], [27, 27, 27, 27, 27, 27, 55, 320, 266, 262, 253, 0, 0, 0, 175, 269, 289, 327, 55, 27, 27, 27, 27, 27, 27], [67, 86, 98, 223, 275, 354, 55, 374, 321, 332, 327, 248, 0, 248, 242, 341, 359, 383, 55, 363, 285, 239, 199, 92, 73], [72, 92, 108, 248, 309, 403, 55, 481, 431, 457, 452, 373, 387, 373, 357, 462, 479, 486, 55, 408, 314, 265, 221, 103, 84], [69, 87, 104, 253, 319, 430, 93, 70, 70, 70, 70, 70, 100, 70, 70, 70, 70, 70, 93, 436, 325, 271, 224, 99, 80], [75, 96, 113, 271, 336, 437, 62, 513, 455, 513, 523, 474, 59, 474, 413, 518, 531, 518, 62, 442, 341, 288, 240, 108, 87], [79, 102, 116, 281, 357, 464, 62, 510, 455, 538, 567, 533, 59, 533, 462, 558, 555, 530, 62, 484, 377, 309, 250, 109, 87], [32, 32, 32, 32, 32, 32, 78, 504, 440, 523, 553, 521, 59, 521, 447, 543, 542, 524, 78, 32, 32, 32, 32, 32, 32], [79, 102, 116, 281, 357, 464, 62, 510, 455, 538, 567, 533, 59, 533, 462, 558, 555, 530, 62, 484, 377, 309, 250, 109, 87], [75, 96, 113, 271, 336, 437, 62, 513, 455, 513, 523, 474, 59, 474, 413, 518, 531, 518, 62, 442, 341, 288, 240, 108, 87], [69, 87, 104, 253, 319, 430, 93, 70, 70, 70, 70, 70, 100, 70, 70, 70, 70, 70, 93, 436, 325, 271, 224, 99, 80], [72, 92, 108, 248, 309, 403, 55, 481, 431, 457, 452, 373, 387, 373, 357, 462, 479, 486, 55, 408, 314, 265, 221, 103, 84], [67, 86, 98, 223, 275, 354, 55, 374, 321, 332, 0, 248, 251, 248, 242, 341, 359, 383, 55, 363, 285, 239, 199, 92, 73], [27, 27, 27, 27, 27, 27, 55, 320, 266, 262, 253, 177, 178, 0, 0, 0, 289, 327, 55, 27, 27, 27, 27, 27, 27], [67, 86, 98, 199, 235, 280, 27, 268, 0, 210, 200, 0, 0, 0, 0, 0, 0, 274, 27, 285, 241, 211, 180, 92, 73], [43, 55, 64, 149, 168, 196, 27, 171, 121, 91, 69, 0, 0, 0, 0, 0, 0, 165, 27, 190, 162, 149, 133, 61, 49], [31, 40, 47, 119, 137, 165, 27, 148, 104, 77, 0, 0, 0, 0, 0, 0, 0, 142, 27, 160, 132, 119, 105, 45, 37], [25, 31, 37, 96, 113, 141, 27, 127, 87, 63, 47, 0, 0, 0, 0, 0, 82, 123, 27, 136, 108, 96, 84, 36, 30], [0, 0, 0, 45, 61, 92, 27, 92, 61, 45, 36, 0, 0, 0, 0, 45, 61, 92, 27, 92, 61, 45, 36, 0, 0], [0, 0, 0, 37, 49, 73, 27, 73, 49, 0, 0, 0, 0, 0, 0, 0, 49, 73, 27, 73, 49, 37, 30, 0, 0]], [[57, 82, 108, 129, 144, 155, 163, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 166, 155, 140, 119, 93, 68], [81, 124, 178, 209, 224, 233, 239, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 245, 236, 221, 190, 136, 93], [107, 177, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 190, 119], [128, 209, 50, 295, 271, 265, 264, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 277, 283, 307, 50, 221, 140], [144, 225, 50, 272, 231, 217, 211, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 228, 243, 283, 50, 236, 155], [156, 235, 50, 267, 218, 197, 188, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 207, 228, 277, 50, 245, 166], [165, 242, 50, 267, 213, 189, 176, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 198, 222, 276, 50, 251, 174], [155, 221, 50, 221, 155, 120, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 155, 221, 50, 221, 155], [216, 283, 50, 276, 204, 147, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 186, 276, 50, 283, 216], [234, 302, 50, 288, 213, 151, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 193, 288, 50, 302, 234], [268, 338, 50, 307, 223, 156, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 201, 307, 50, 338, 268], [348, 427, 50, 333, 233, 160, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 209, 333, 50, 427, 348], [100, 100, 100, 355, 239, 161, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 214, 355, 100, 100, 100], [348, 427, 50, 333, 233, 160, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 209, 333, 50, 427, 348], [268, 338, 50, 307, 223, 156, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 201, 307, 50, 338, 268], [234, 302, 50, 288, 213, 151, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 193, 288, 50, 302, 234], [216, 283, 50, 276, 204, 147, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 186, 276, 50, 283, 216], [155, 221, 50, 221, 155, 120, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 155, 221, 50, 221, 155], [165, 242, 50, 267, 213, 189, 176, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 198, 222, 276, 50, 251, 174], [156, 235, 50, 267, 218, 197, 188, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 207, 228, 277, 50, 245, 166], [144, 225, 50, 272, 231, 217, 211, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 228, 243, 283, 50, 236, 155], [128, 209, 50, 295, 271, 265, 264, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 277, 283, 307, 50, 221, 140], [107, 177, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 190, 119], [81, 124, 178, 209, 224, 233, 239, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 245, 236, 221, 190, 136, 93], [57, 82, 108, 129, 144, 155, 163, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 166, 155, 140, 119, 93, 68]], [[130, 141, 158, 155, 153, 141, 133, 102, 112, 120, 111, 111, 111, 111, 111, 111, 111, 111, 111, 107, 101, 95, 83, 68, 52], [217, 246, 268, 235, 219, 211, 202, 155, 164, 172, 153, 153, 153, 153, 153, 153, 153, 153, 158, 153, 147, 139, 123, 105, 80], [72, 72, 72, 344, 312, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24], [285, 369, 72, 419, 388, 24, 379, 285, 292, 298, 253, 253, 253, 253, 258, 253, 247, 240, 244, 237, 228, 214, 175, 145, 113], [256, 347, 72, 485, 480, 48, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 171, 133, 103], [254, 348, 72, 530, 541, 48, 555, 414, 416, 424, 359, 349, 338, 324, 326, 308, 287, 261, 234, 220, 225, 24, 181, 145, 113], [259, 354, 72, 586, 628, 72, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 240, 220, 229, 24, 24, 24, 24], [238, 349, 72, 610, 665, 72, 755, 576, 548, 527, 440, 413, 383, 341, 301, 271, 262, 24, 195, 171, 170, 180, 151, 135, 109], [224, 338, 72, 606, 674, 94, 44, 44, 44, 44, 44, 44, 44, 44, 308, 258, 251, 24, 192, 170, 164, 164, 132, 117, 96], [238, 372, 72, 657, 721, 72, 841, 667, 613, 553, 449, 406, 394, 44, 277, 220, 212, 24, 163, 153, 153, 156, 128, 117, 98], [238, 378, 72, 729, 807, 100, 56, 56, 56, 56, 489, 410, 392, 44, 283, 230, 223, 24, 24, 24, 24, 24, 24, 24, 24], [235, 373, 72, 72, 72, 72, 837, 663, 632, 56, 457, 370, 352, 44, 251, 202, 190, 197, 142, 155, 164, 172, 140, 122, 98], [233, 357, 639, 758, 824, 833, 825, 673, 660, 56, 523, 428, 401, 44, 282, 224, 199, 189, 124, 138, 148, 156, 125, 108, 86], [235, 373, 72, 72, 72, 72, 837, 663, 632, 56, 457, 370, 352, 44, 251, 202, 190, 197, 142, 155, 164, 172, 140, 122, 98], [238, 378, 72, 729, 807, 100, 56, 56, 56, 56, 489, 410, 392, 44, 283, 230, 223, 24, 24, 24, 24, 24, 24, 24, 24], [238, 372, 72, 657, 721, 72, 841, 667, 613, 553, 449, 406, 394, 44, 277, 220, 212, 24, 163, 153, 153, 156, 128, 117, 98], [224, 338, 72, 606, 674, 94, 44, 44, 44, 44, 44, 44, 44, 44, 308, 258, 251, 24, 192, 170, 164, 164, 132, 117, 96], [238, 349, 72, 610, 665, 72, 755, 576, 548, 527, 440, 413, 383, 341, 301, 271, 262, 24, 195, 171, 170, 180, 151, 135, 109], [259, 354, 72, 586, 628, 72, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 240, 220, 229, 24, 24, 24, 24], [254, 348, 72, 530, 541, 48, 555, 414, 416, 424, 359, 349, 338, 324, 326, 308, 287, 261, 234, 220, 225, 24, 181, 145, 113], [256, 347, 72, 485, 480, 48, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 171, 133, 103], [285, 369, 72, 419, 388, 24, 379, 285, 292, 298, 253, 253, 253, 253, 258, 253, 247, 240, 244, 237, 228, 214, 175, 145, 113], [72, 72, 72, 344, 312, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24], [217, 246, 268, 235, 219, 211, 202, 155, 164, 172, 153, 153, 153, 153, 153, 153, 153, 153, 158, 153, 147, 139, 123, 105, 80], [130, 141, 158, 155, 153, 141, 133, 102, 112, 120, 111, 111, 111, 111, 111, 111, 111, 111, 111, 107, 101, 95, 83, 68, 52]], [[205, 233, 220, 168, 127, 86, 57, 0, 0, 70, 110, 168, 242, 284, 346, 367, 390, 359, 349, 384, 362, 335, 258, 185, 127], [68, 68, 68, 241, 162, 110, 74, 0, 0, 93, 145, 241, 68, 68, 68, 68, 68, 92, 68, 68, 68, 68, 68, 258, 162], [269, 349, 68, 284, 191, 131, 91, 0, 0, 114, 174, 284, 68, 401, 441, 456, 503, 47, 429, 473, 457, 474, 68, 301, 191], [241, 327, 68, 306, 211, 148, 106, 0, 0, 133, 196, 306, 68, 370, 400, 409, 458, 47, 367, 424, 415, 454, 68, 321, 211], [240, 329, 68, 319, 225, 163, 120, 0, 0, 149, 212, 319, 68, 364, 394, 397, 444, 47, 338, 411, 408, 455, 68, 333, 225], [245, 334, 68, 330, 237, 175, 132, 0, 0, 163, 225, 330, 68, 363, 398, 397, 442, 47, 322, 409, 410, 462, 68, 342, 237], [232, 338, 68, 371, 303, 270, 253, 128, 127, 282, 315, 389, 68, 350, 356, 327, 345, 47, 208, 315, 344, 429, 68, 342, 252], [235, 345, 68, 389, 340, 312, 298, 176, 175, 326, 354, 420, 68, 359, 361, 329, 345, 47, 208, 315, 347, 436, 68, 354, 263], [239, 356, 68, 420, 395, 375, 368, 249, 246, 390, 410, 467, 68, 371, 367, 331, 345, 47, 208, 316, 352, 447, 68, 377, 285], [243, 371, 68, 488, 494, 485, 492, 386, 371, 502, 510, 550, 68, 388, 372, 332, 345, 47, 208, 316, 356, 462, 68, 436, 338], [266, 420, 100, 68, 68, 68, 68, 100, 68, 68, 68, 68, 100, 449, 408, 351, 351, 47, 208, 322, 379, 511, 100, 68, 68], [267, 412, 64, 572, 623, 649, 717, 64, 604, 679, 653, 662, 64, 442, 409, 353, 351, 47, 208, 322, 379, 503, 64, 485, 389], [266, 406, 64, 535, 583, 612, 687, 64, 575, 642, 614, 626, 64, 436, 409, 353, 351, 47, 208, 322, 378, 497, 64, 449, 357], [267, 412, 64, 572, 623, 649, 717, 64, 604, 679, 653, 662, 64, 442, 409, 353, 351, 47, 208, 322, 379, 503, 64, 485, 389], [266, 420, 100, 68, 68, 68, 68, 100, 68, 68, 68, 68, 100, 449, 408, 351, 351, 47, 208, 322, 379, 511, 100, 68, 68], [243, 371, 68, 488, 494, 485, 492, 386, 371, 502, 510, 550, 68, 388, 372, 332, 345, 47, 208, 316, 356, 462, 68, 436, 338], [239, 356, 68, 420, 395, 375, 368, 249, 246, 390, 410, 467, 68, 371, 367, 331, 345, 47, 208, 316, 352, 447, 68, 377, 285], [235, 345, 68, 389, 340, 312, 298, 176, 175, 326, 354, 420, 68, 359, 361, 329, 345, 47, 208, 315, 347, 436, 68, 354, 263], [232, 338, 68, 371, 303, 270, 253, 128, 127, 282, 315, 389, 68, 350, 356, 327, 345, 47, 208, 315, 344, 429, 68, 342, 252], [245, 334, 68, 330, 237, 175, 132, 0, 0, 163, 225, 330, 68, 363, 398, 397, 442, 47, 322, 409, 410, 462, 68, 342, 237], [240, 329, 68, 319, 225, 163, 120, 0, 0, 149, 212, 319, 68, 364, 394, 397, 444, 47, 338, 411, 408, 455, 68, 333, 225], [241, 327, 68, 306, 211, 148, 106, 0, 0, 133, 196, 306, 68, 370, 400, 409, 458, 47, 367, 424, 415, 454, 68, 321, 211], [269, 349, 68, 284, 191, 131, 91, 0, 0, 114, 174, 284, 68, 401, 441, 456, 503, 47, 429, 473, 457, 474, 68, 301, 191], [68, 68, 68, 241, 162, 110, 74, 0, 0, 93, 145, 241, 68, 68, 68, 68, 68, 92, 68, 68, 68, 68, 68, 258, 162], [205, 233, 220, 168, 127, 86, 57, 0, 0, 70, 110, 168, 242, 284, 346, 367, 390, 359, 349, 384, 362, 335, 258, 185, 127]], [[247, 318, 362, 394, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 490, 472, 443, 380, 272, 186, 127], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 380, 239, 161], [267, 360, 429, 486, 534, 557, 577, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 711, 700, 723, 100, 503, 318, 210], [201, 276, 345, 407, 460, 486, 507, 525, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 631, 631, 679, 100, 519, 332, 218], [188, 261, 339, 415, 478, 507, 528, 545, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 631, 631, 679, 100, 519, 332, 218], [195, 278, 386, 514, 594, 624, 641, 654, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 711, 700, 723, 100, 503, 318, 210], [136, 214, 355, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 380, 239, 161], [168, 277, 461, 100, 681, 659, 669, 686, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 666, 648, 619, 556, 428, 320, 236], [176, 289, 477, 100, 637, 588, 589, 603, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 551, 530, 500, 458, 382, 303, 230], [196, 332, 543, 100, 752, 727, 747, 779, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 703, 682, 656, 625, 543, 452, 353], [211, 350, 568, 100, 853, 857, 888, 923, 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 793, 771, 747, 667, 570, 445], [208, 327, 518, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [206, 324, 495, 711, 837, 896, 931, 957, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 773, 684, 543], [208, 327, 518, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100], [211, 350, 568, 100, 853, 857, 888, 923, 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 793, 771, 747, 667, 570, 445], [196, 332, 543, 100, 752, 727, 747, 779, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 703, 682, 656, 625, 543, 452, 353], [176, 289, 477, 100, 637, 588, 589, 603, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 551, 530, 500, 458, 382, 303, 230], [168, 277, 461, 100, 681, 659, 669, 686, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 666, 648, 619, 556, 428, 320, 236], [136, 214, 355, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 380, 239, 161], [195, 278, 386, 514, 594, 624, 641, 654, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 711, 700, 723, 100, 503, 318, 210], [188, 261, 339, 415, 478, 507, 528, 545, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 631, 631, 679, 100, 519, 332, 218], [201, 276, 345, 407, 460, 486, 507, 525, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 631, 631, 679, 100, 519, 332, 218], [267, 360, 429, 486, 534, 557, 577, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 711, 700, 723, 100, 503, 318, 210], [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 380, 239, 161], [247, 318, 362, 394, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 490, 472, 443, 380, 272, 186, 127]], [[23, 63, 75, 97, 25, 140, 141, 167, 209, 242, 258, 266, 265, 230, 202, 177, 146, 121, 111, 123, 25, 97, 75, 63, 55], [29, 84, 100, 129, 25, 185, 186, 235, 50, 50, 50, 50, 61, 30, 30, 30, 30, 167, 146, 161, 25, 129, 100, 84, 72], [39, 110, 130, 161, 25, 227, 227, 282, 50, 354, 344, 369, 41, 320, 269, 255, 30, 200, 178, 195, 25, 161, 130, 110, 93], [62, 152, 176, 209, 25, 270, 263, 312, 50, 344, 322, 349, 41, 308, 259, 252, 30, 222, 206, 232, 25, 209, 176, 152, 127], [25, 25, 25, 25, 50, 315, 293, 335, 50, 350, 323, 349, 41, 307, 261, 258, 30, 241, 230, 271, 50, 25, 25, 25, 25], [62, 173, 205, 258, 50, 341, 313, 350, 50, 359, 330, 354, 41, 310, 266, 265, 30, 253, 246, 292, 50, 258, 205, 173, 144], [39, 152, 186, 247, 50, 348, 310, 336, 50, 319, 282, 301, 41, 253, 220, 231, 30, 241, 243, 295, 50, 247, 186, 152, 127], [29, 146, 181, 244, 50, 353, 316, 341, 50, 319, 282, 301, 41, 253, 220, 231, 30, 247, 249, 300, 50, 244, 181, 146, 121], [23, 154, 210, 299, 50, 450, 416, 439, 50, 396, 344, 350, 41, 300, 289, 322, 30, 374, 368, 408, 50, 316, 228, 171, 129], [0, 131, 193, 288, 50, 461, 435, 461, 50, 411, 355, 359, 41, 312, 307, 345, 30, 407, 395, 426, 50, 308, 213, 151, 107], [0, 133, 201, 307, 50, 507, 485, 507, 50, 433, 368, 371, 41, 332, 334, 382, 30, 461, 450, 474, 50, 329, 223, 156, 108], [0, 135, 209, 333, 50, 608, 596, 608, 50, 462, 382, 385, 41, 374, 386, 447, 30, 572, 565, 575, 50, 357, 233, 160, 109], [0, 136, 214, 355, 100, 100, 100, 100, 100, 484, 389, 395, 61, 39, 39, 39, 100, 100, 100, 100, 100, 380, 239, 161, 109], [0, 135, 209, 333, 50, 608, 596, 608, 50, 462, 382, 385, 41, 374, 386, 447, 30, 572, 565, 575, 50, 357, 233, 160, 109], [0, 133, 201, 307, 50, 507, 485, 507, 50, 433, 368, 371, 41, 332, 334, 382, 30, 461, 450, 474, 50, 329, 223, 156, 108], [0, 131, 193, 288, 50, 461, 435, 461, 50, 411, 355, 359, 41, 312, 307, 345, 30, 407, 395, 426, 50, 308, 213, 151, 107], [23, 154, 210, 299, 50, 450, 416, 439, 50, 396, 344, 350, 41, 300, 289, 322, 30, 374, 368, 408, 50, 316, 228, 171, 129], [29, 146, 181, 244, 50, 353, 316, 341, 50, 319, 282, 301, 41, 253, 220, 231, 30, 247, 249, 300, 50, 244, 181, 146, 121], [39, 152, 186, 247, 50, 348, 310, 336, 50, 319, 282, 301, 41, 253, 220, 231, 30, 241, 243, 295, 50, 247, 186, 152, 127], [62, 173, 205, 258, 50, 341, 313, 350, 50, 359, 330, 354, 41, 310, 266, 265, 30, 253, 246, 292, 50, 258, 205, 173, 144], [25, 25, 25, 25, 50, 315, 293, 335, 50, 350, 323, 349, 41, 307, 261, 258, 30, 241, 230, 271, 50, 25, 25, 25, 25], [62, 152, 176, 209, 25, 270, 263, 312, 50, 344, 322, 349, 41, 308, 259, 252, 30, 222, 206, 232, 25, 209, 176, 152, 127], [39, 110, 130, 161, 25, 227, 227, 282, 50, 354, 344, 369, 41, 320, 269, 255, 30, 200, 178, 195, 25, 161, 130, 110, 93], [29, 84, 100, 129, 25, 185, 186, 235, 50, 50, 50, 50, 61, 30, 30, 30, 30, 167, 146, 161, 25, 129, 100, 84, 72], [23, 63, 75, 97, 25, 140, 141, 167, 209, 242, 258, 266, 265, 230, 202, 177, 146, 121, 111, 123, 25, 97, 75, 63, 55]], [[201, 225, 231, 287, 299, 299, 353, 341, 281, 331, 337, 299, 353, 341, 281, 331, 337, 299, 353, 341, 281, 260, 224, 136, 94], [318, 372, 387, 458, 434, 434, 554, 556, 472, 530, 494, 434, 554, 556, 472, 530, 494, 434, 554, 556, 472, 427, 332, 186, 127], [100, 100, 100, 100, 593, 593, 100, 100, 100, 100, 677, 593, 100, 100, 100, 100, 677, 593, 100, 100, 100, 100, 464, 239, 161], [383, 466, 557, 100, 699, 699, 100, 871, 738, 100, 808, 699, 100, 871, 738, 100, 808, 699, 100, 871, 738, 100, 552, 281, 192], [326, 420, 559, 100, 809, 809, 100, 960, 822, 100, 943, 809, 100, 960, 822, 100, 943, 809, 100, 960, 822, 100, 677, 384, 290], [383, 482, 634, 100, 946, 946, 100, 1071, 915, 100, 1084, 946, 100, 1071, 915, 100, 1084, 946, 100, 1071, 915, 100, 781, 466, 350], [403, 508, 670, 100, 1023, 1023, 100, 1152, 980, 100, 1179, 1023, 100, 1152, 980, 100, 1179, 1023, 100, 1152, 980, 100, 860, 531, 407], [369, 481, 649, 100, 1037, 1037, 100, 1149, 980, 100, 1208, 1037, 100, 1149, 980, 100, 1208, 1037, 100, 1149, 980, 100, 915, 602, 477], [455, 585, 741, 100, 100, 100, 100, 1234, 1065, 100, 100, 100, 100, 1234, 1065, 100, 100, 100, 100, 1234, 1065, 100, 100, 100, 100], [100, 100, 100, 100, 1065, 1065, 100, 100, 100, 100, 1234, 1065, 100, 100, 100, 100, 1234, 1065, 100, 100, 100, 100, 935, 610, 480], [455, 580, 721, 100, 980, 980, 100, 1208, 1037, 100, 1149, 980, 100, 1208, 1037, 100, 1149, 980, 100, 1208, 1037, 100, 843, 506, 394], [369, 493, 666, 100, 980, 980, 100, 1179, 1023, 100, 1152, 980, 100, 1179, 1023, 100, 1152, 980, 100, 1179, 1023, 100, 864, 531, 426], [403, 524, 701, 100, 1042, 1042, 100, 1198, 1042, 100, 1198, 1042, 100, 1198, 1042, 100, 1198, 1042, 100, 1198, 1042, 100, 894, 562, 441], [403, 508, 670, 100, 1023, 1023, 100, 1152, 980, 100, 1179, 1023, 100, 1152, 980, 100, 1179, 1023, 100, 1152, 980, 100, 860, 531, 407], [369, 481, 649, 100, 1037, 1037, 100, 1149, 980, 100, 1208, 1037, 100, 1149, 980, 100, 1208, 1037, 100, 1149, 980, 100, 915, 602, 477], [455, 585, 741, 100, 100, 100, 100, 1234, 1065, 100, 100, 100, 100, 1234, 1065, 100, 100, 100, 100, 1234, 1065, 100, 100, 100, 100], [100, 100, 100, 100, 1065, 1065, 100, 100, 100, 100, 1234, 1065, 100, 100, 100, 100, 1234, 1065, 100, 100, 100, 100, 935, 610, 480], [455, 580, 721, 100, 980, 980, 100, 1208, 1037, 100, 1149, 980, 100, 1208, 1037, 100, 1149, 980, 100, 1208, 1037, 100, 843, 506, 394], [369, 493, 666, 100, 980, 980, 100, 1179, 1023, 100, 1152, 980, 100, 1179, 1023, 100, 1152, 980, 100, 1179, 1023, 100, 864, 531, 426], [312, 428, 605, 100, 915, 915, 100, 1084, 946, 100, 1071, 915, 100, 1084, 946, 100, 1071, 915, 100, 1084, 946, 100, 810, 502, 403], [267, 361, 521, 100, 822, 822, 100, 943, 809, 100, 960, 822, 100, 943, 809, 100, 960, 822, 100, 943, 809, 100, 715, 437, 343], [168, 257, 418, 100, 738, 738, 100, 808, 699, 100, 871, 738, 100, 808, 699, 100, 871, 738, 100, 808, 699, 100, 691, 466, 383], [136, 214, 355, 100, 100, 100, 100, 677, 593, 100, 100, 100, 100, 677, 593, 100, 100, 100, 100, 677, 593, 100, 100, 100, 100], [103, 162, 248, 427, 472, 472, 530, 494, 434, 554, 556, 472, 530, 494, 434, 554, 556, 472, 530, 494, 434, 483, 471, 372, 318], [71, 113, 164, 260, 281, 281, 331, 337, 299, 353, 341, 281, 331, 337, 299, 353, 341, 281, 331, 337, 299, 310, 291, 225, 201]], [[241, 68, 401, 415, 440, 481, 420, 470, 434, 471, 68, 488, 446, 464, 463, 434, 446, 457, 446, 440, 466, 424, 375, 258, 208], [313, 68, 68, 68, 68, 68, 68, 68, 68, 661, 68, 665, 68, 68, 68, 622, 68, 68, 68, 629, 68, 68, 68, 365, 272], [317, 483, 594, 660, 709, 785, 708, 797, 68, 765, 68, 782, 68, 780, 68, 754, 68, 778, 68, 762, 68, 719, 68, 454, 339], [386, 68, 68, 68, 68, 68, 68, 68, 68, 863, 68, 875, 68, 842, 68, 840, 68, 841, 68, 855, 68, 817, 68, 598, 471], [414, 68, 734, 796, 857, 946, 840, 917, 833, 884, 68, 926, 68, 903, 68, 905, 68, 903, 68, 921, 68, 884, 100, 68, 68], [431, 68, 68, 68, 68, 68, 68, 68, 68, 982, 68, 993, 68, 975, 68, 987, 68, 987, 68, 1004, 68, 935, 65, 703, 560], [374, 562, 694, 780, 845, 947, 856, 944, 68, 926, 68, 926, 68, 905, 68, 903, 68, 905, 68, 934, 68, 880, 65, 676, 534], [386, 68, 68, 68, 68, 68, 68, 68, 68, 944, 68, 972, 68, 960, 68, 961, 68, 960, 68, 993, 68, 926, 100, 68, 68], [341, 68, 617, 662, 708, 801, 742, 811, 783, 841, 68, 926, 68, 903, 68, 927, 68, 903, 68, 961, 68, 863, 68, 641, 485], [291, 68, 68, 68, 68, 68, 68, 68, 68, 885, 68, 68, 68, 938, 68, 68, 68, 938, 68, 68, 68, 843, 68, 565, 400], [187, 281, 347, 390, 422, 536, 547, 674, 68, 821, 825, 892, 893, 867, 879, 891, 879, 867, 879, 934, 894, 809, 68, 528, 364], [185, 255, 317, 369, 412, 528, 538, 664, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 515, 348], [146, 192, 234, 269, 298, 403, 418, 548, 689, 806, 829, 890, 917, 915, 911, 912, 911, 915, 911, 950, 884, 775, 668, 456, 304], [185, 255, 317, 369, 412, 528, 538, 664, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 515, 348], [187, 281, 347, 390, 422, 536, 547, 674, 68, 821, 825, 892, 893, 867, 879, 891, 879, 867, 879, 934, 894, 809, 68, 528, 364], [291, 68, 68, 68, 68, 68, 68, 68, 68, 885, 68, 68, 68, 938, 68, 68, 68, 938, 68, 68, 68, 843, 68, 565, 400], [341, 68, 617, 662, 708, 801, 742, 811, 783, 841, 68, 926, 68, 903, 68, 927, 68, 903, 68, 961, 68, 863, 68, 641, 485], [386, 68, 68, 68, 68, 68, 68, 68, 68, 944, 68, 972, 68, 960, 68, 961, 68, 960, 68, 993, 68, 926, 100, 68, 68], [374, 562, 694, 780, 845, 947, 856, 944, 68, 926, 68, 926, 68, 905, 68, 903, 68, 905, 68, 934, 68, 880, 65, 676, 534], [431, 68, 68, 68, 68, 68, 68, 68, 68, 982, 68, 993, 68, 975, 68, 987, 68, 987, 68, 1004, 68, 935, 65, 703, 560], [414, 68, 734, 796, 857, 946, 840, 917, 833, 884, 68, 926, 68, 903, 68, 905, 68, 903, 68, 921, 68, 884, 100, 68, 68], [386, 68, 68, 68, 68, 68, 68, 68, 68, 863, 68, 875, 68, 842, 68, 840, 68, 841, 68, 855, 68, 817, 68, 598, 471], [317, 483, 594, 660, 709, 785, 708, 797, 68, 765, 68, 782, 68, 780, 68, 754, 68, 778, 68, 762, 68, 719, 68, 454, 339], [313, 68, 68, 68, 68, 68, 68, 68, 68, 661, 68, 665, 68, 68, 68, 622, 68, 68, 68, 629, 68, 68, 68, 365, 272], [241, 68, 401, 415, 440, 481, 420, 470, 434, 471, 68, 488, 446, 464, 463, 434, 446, 457, 446, 440, 466, 424, 375, 258, 208]], [[145, 211, 255, 282, 302, 318, 297, 297, 297, 314, 296, 339, 50, 302, 319, 300, 270, 265, 247, 217, 277, 278, 236, 213, 166], [191, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 380, 50, 50, 50, 50, 339, 297, 50, 50, 50, 50, 232], [213, 50, 346, 348, 362, 378, 353, 353, 353, 389, 366, 418, 408, 410, 50, 457, 422, 50, 404, 350, 50, 436, 369, 50, 276], [246, 50, 403, 417, 441, 466, 441, 441, 441, 479, 447, 502, 483, 472, 50, 480, 434, 50, 447, 380, 50, 449, 371, 50, 303], [244, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 512, 50, 498, 450, 50, 479, 401, 50, 474, 386, 50, 323], [227, 319, 384, 426, 456, 481, 441, 441, 441, 474, 449, 555, 50, 521, 50, 505, 458, 50, 504, 416, 50, 498, 401, 50, 339], [227, 319, 384, 426, 456, 481, 441, 441, 441, 474, 449, 555, 50, 500, 50, 481, 433, 50, 473, 376, 50, 473, 376, 50, 318], [244, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 498, 50, 489, 441, 50, 473, 376, 50, 473, 376, 50, 318], [271, 50, 448, 471, 506, 523, 489, 497, 504, 552, 523, 593, 554, 526, 50, 536, 489, 50, 498, 401, 50, 504, 406, 50, 331], [257, 50, 424, 438, 475, 482, 439, 456, 462, 511, 494, 564, 526, 506, 50, 511, 473, 50, 474, 386, 50, 479, 389, 50, 314], [266, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 593, 50, 562, 533, 50, 537, 459, 50, 525, 433, 50, 338], [281, 402, 444, 487, 579, 597, 533, 562, 544, 572, 603, 706, 50, 640, 50, 542, 516, 50, 545, 478, 50, 513, 430, 50, 351], [50, 50, 397, 428, 50, 50, 50, 50, 483, 503, 50, 50, 100, 50, 50, 503, 488, 50, 50, 50, 50, 494, 420, 50, 50], [275, 50, 408, 436, 50, 554, 478, 50, 514, 531, 50, 695, 50, 653, 647, 561, 560, 574, 575, 533, 588, 550, 477, 435, 344], [252, 50, 413, 438, 50, 537, 459, 50, 535, 548, 50, 658, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 319], [226, 50, 379, 391, 50, 474, 386, 50, 479, 488, 50, 571, 503, 522, 548, 488, 502, 466, 457, 439, 488, 480, 457, 50, 300], [234, 50, 398, 408, 50, 498, 401, 50, 504, 504, 50, 591, 522, 552, 578, 520, 544, 506, 498, 489, 529, 512, 489, 50, 312], [221, 50, 376, 376, 50, 473, 376, 50, 473, 456, 50, 563, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 277], [221, 50, 376, 376, 50, 473, 376, 50, 473, 449, 50, 564, 50, 523, 513, 441, 466, 441, 441, 441, 489, 458, 416, 351, 259], [242, 50, 401, 401, 50, 504, 416, 50, 498, 473, 50, 585, 50, 532, 513, 441, 466, 441, 441, 441, 489, 458, 416, 351, 259], [235, 50, 386, 386, 50, 479, 401, 50, 474, 466, 50, 567, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 277], [225, 50, 371, 371, 50, 447, 380, 50, 449, 448, 50, 518, 462, 481, 493, 446, 472, 441, 441, 441, 474, 449, 436, 50, 278], [209, 50, 369, 369, 50, 404, 350, 50, 436, 434, 50, 454, 397, 407, 410, 366, 383, 353, 353, 353, 386, 371, 369, 50, 236], [177, 50, 50, 50, 50, 339, 297, 50, 50, 50, 50, 413, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 213], [124, 213, 236, 236, 265, 247, 217, 277, 278, 279, 298, 323, 50, 330, 318, 293, 310, 297, 297, 297, 323, 303, 276, 232, 166]]];
ToPass = [undefined, 10, 10, 15, 20, 30, 25, 30, 30, 35, 40];
Multiplier = [undefined, 1, 1.5, 2, 3, 4, 1, 6, 1, 10, 20];
StartingCompMoney = [undefined, 500, 700, 1500, 4000, 8000, 20000, 20000, 40000, 90000, 100000];
PlayerMoney = [undefined, 200, 200, 300, 600, 1000, 1000, 1200, 1500, 2000, 3000];
EarnPerBlock = [undefined, 2, 4, 8, 12, 15, 18, 30, 40, 50, 60];
PermitedTypes = [undefined, [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6, 7], [3, 4, 5, 6, 7, 9], [3, 4, 5, 6, 7, 8, 9, 10], [4, 5, 6, 7, 8, 8, 8, 8, 8, 9, 10], [4, 5, 7, 8, 8, 8, 8, 8, 8, 9, 10]];
TowerTypes = [undefined, {Range:50, Damage:1, FireDelay:3, Ground:true, Air:true, Price:50}, {Range:50, Damage:5, FireDelay:10, Ground:true, Air:false, Price:100}, {Range:50, Damage:5, FireDelay:5, Ground:true, Air:false, Price:150}, {Range:70, Damage:10, FireDelay:10, Ground:true, Air:true, Price:250}, {Range:70, Damage:15, FireDelay:10, Ground:true, Air:true, Price:500}, {Range:70, Damage:40, FireDelay:20, Missile:true, MissileType:1, Ground:true, Air:false, Price:700}, {Range:90, Damage:40, FireDelay:25, Missile:true, MissileType:2, Ground:true, Air:true, Price:1000}, {Range:90, Damage:40, FireDelay:20, Missile:true, MissileType:3, Ground:false, Air:true, Price:1500}, {Range:50, Damage:2, Areal:true, Ground:true, Air:false, Price:2500}, {Range:50, Damage:4, Areal:true, Ground:true, Air:false, Price:4000}];
TowerMatrix = [undefined, [[13.75, 77, 98.5, 77, 13.75], [77, 100, 100, 100, 77], [98.5, 100, 100, 100, 98.5], [77, 100, 100, 100, 77], [13.75, 77, 98.5, 77, 13.75]], [[25, 140, 179.09090909091, 140, 25], [140, 181.818181818183, 181.818181818183, 181.818181818183, 140], [179.09090909091, 181.818181818183, 181.818181818183, 181.818181818183, 179.09090909091], [140, 181.818181818183, 181.818181818183, 181.818181818183, 140], [25, 140, 179.09090909091, 140, 25]], [[45.8333333333334, 256.666666666668, 328.333333333333, 256.666666666668, 45.8333333333334], [256.666666666668, 333.333333333333, 333.333333333333, 333.333333333333, 256.666666666668], [328.333333333333, 333.333333333333, 333.333333333333, 333.333333333333, 328.333333333333], [256.666666666668, 333.333333333333, 333.333333333333, 333.333333333333, 256.666666666668], [45.8333333333334, 256.666666666668, 328.333333333333, 256.666666666668, 45.8333333333334]], [[0, 126.363636363636, 305.454545454546, 360.000000000002, 305.454545454546, 126.363636363636, 0], [126.363636363636, 362.727272727275, 363.636363636366, 363.636363636366, 363.636363636366, 362.727272727275, 126.363636363636], [305.454545454546, 363.636363636366, 363.636363636366, 363.636363636366, 363.636363636366, 363.636363636366, 305.454545454546], [360.000000000002, 363.636363636366, 363.636363636366, 363.636363636366, 363.636363636366, 363.636363636366, 360.000000000002], [305.454545454546, 363.636363636366, 363.636363636366, 363.636363636366, 363.636363636366, 363.636363636366, 305.454545454546], [126.363636363636, 362.727272727275, 363.636363636366, 363.636363636366, 363.636363636366, 362.727272727275, 126.363636363636], [0, 126.363636363636, 305.454545454546, 360.000000000002, 305.454545454546, 126.363636363636, 0]], [[0, 189.545454545455, 458.181818181821, 540.000000000003, 458.181818181821, 189.545454545455, 0], [189.545454545455, 544.090909090912, 545.454545454548, 545.454545454548, 545.454545454548, 544.090909090912, 189.545454545455], [458.181818181821, 545.454545454548, 545.454545454548, 545.454545454548, 545.454545454548, 545.454545454548, 458.181818181821], [540.000000000003, 545.454545454548, 545.454545454548, 545.454545454548, 545.454545454548, 545.454545454548, 540.000000000003], [458.181818181821, 545.454545454548, 545.454545454548, 545.454545454548, 545.454545454548, 545.454545454548, 458.181818181821], [189.545454545455, 544.090909090912, 545.454545454548, 545.454545454548, 545.454545454548, 544.090909090912, 189.545454545455], [0, 189.545454545455, 458.181818181821, 540.000000000003, 458.181818181821, 189.545454545455, 0]], [[0, 264.761904761904, 640.000000000004, 754.285714285719, 640.000000000004, 264.761904761904, 0], [264.761904761904, 760.000000000005, 761.904761904767, 761.904761904767, 761.904761904767, 760.000000000005, 264.761904761904], [640.000000000004, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 640.000000000004], [754.285714285719, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 754.285714285719], [640.000000000004, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 640.000000000004], [264.761904761904, 760.000000000005, 761.904761904767, 761.904761904767, 761.904761904767, 760.000000000005, 264.761904761904], [0, 264.761904761904, 640.000000000004, 754.285714285719, 640.000000000004, 264.761904761904, 0]], [[0, 24.6153846153846, 318.461538461539, 538.461538461541, 612.307692307695, 538.461538461541, 318.461538461539, 24.6153846153846, 0], [24.6153846153846, 489.230769230771, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 489.230769230771, 24.6153846153846], [318.461538461539, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 318.461538461539], [538.461538461541, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 538.461538461541], [612.307692307695, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 612.307692307695], [538.461538461541, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 538.461538461541], [318.461538461539, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 318.461538461539], [24.6153846153846, 489.230769230771, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 615.384615384618, 489.230769230771, 24.6153846153846], [0, 24.6153846153846, 318.461538461539, 538.461538461541, 612.307692307695, 538.461538461541, 318.461538461539, 24.6153846153846, 0]], [[0, 30.4761904761905, 394.285714285715, 666.666666666671, 758.095238095243, 666.666666666671, 394.285714285715, 30.4761904761905, 0], [30.4761904761905, 605.714285714289, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 605.714285714289, 30.4761904761905], [394.285714285715, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 394.285714285715], [666.666666666671, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 666.666666666671], [758.095238095243, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 758.095238095243], [666.666666666671, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 666.666666666671], [394.285714285715, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 394.285714285715], [30.4761904761905, 605.714285714289, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 761.904761904767, 605.714285714289, 30.4761904761905], [0, 30.4761904761905, 394.285714285715, 666.666666666671, 758.095238095243, 666.666666666671, 394.285714285715, 30.4761904761905, 0]], [[110, 616, 788, 616, 110], [616, 800, 800, 800, 616], [788, 800, 800, 800, 788], [616, 800, 800, 800, 616], [110, 616, 788, 616, 110]], [[220, 1232, 1576, 1232, 220], [1232, 1600, 1600, 1600, 1232], [1576, 1600, 1600, 1600, 1576], [1232, 1600, 1600, 1600, 1232], [220, 1232, 1576, 1232, 220]]];
tp = 1;
while (tp < TowerTypes.length) {
TowerTypes[tp].Defense = new Array();
TowerTypes[tp].SquaresRange = Math.floor(TowerTypes[tp].Range / 20);
x = -TowerTypes[tp].SquaresRange;
while (x <= TowerTypes[tp].SquaresRange) {
TowerTypes[tp].Defense[x] = new Array();
y = -TowerTypes[tp].SquaresRange;
while (y <= TowerTypes[tp].SquaresRange) {
TowerTypes[tp].Defense[x][y] = TowerMatrix[tp][x + TowerTypes[tp].SquaresRange][y + TowerTypes[tp].SquaresRange];
y++;
}
x++;
}
tp++;
}
MonsterTypes = [undefined, {Speed:0.666666666666667, Radius:9, Height:0, Price:20, Name:"BuG", Levels:[undefined, {MaxHealth:50}, {MaxHealth:70}, {MaxHealth:90}, {MaxHealth:100}, {MaxHealth:105}]}, {Radius:8, Height:0, Price:30, Name:"TL-Ga", Levels:[undefined, {MaxHealth:70, Speed:0.714285714285714}, {MaxHealth:90, Speed:0.769230769230769}, {MaxHealth:110, Speed:0.833333333333333}, {MaxHealth:130, Speed:0.909090909090909}, {MaxHealth:140, Speed:0.952380952380952}]}, {Speed:1, Radius:9, Height:0, Price:50, Name:"AV Struss", Levels:[undefined, {MaxHealth:100}, {MaxHealth:120}, {MaxHealth:140}, {MaxHealth:150}, {MaxHealth:160}]}, {Radius:10, Height:0, Price:120, Name:"Roadster", Levels:[undefined, {MaxHealth:130, Speed:1.66666666666667}, {MaxHealth:135, Speed:2}, {MaxHealth:140, Speed:2.5}, {MaxHealth:140, Speed:2.85714285714286}, {MaxHealth:140, Speed:3.33333333333333}]}, {Speed:0.4, Radius:10, Price:200, Name:"TRT-L", Height:0, Levels:[undefined, {MaxHealth:1600}, {MaxHealth:1900}, {MaxHealth:2200}, {MaxHealth:2500}, {MaxHealth:2800}]}, {Radius:9, Height:0, Price:350, Name:"FALTer", Levels:[undefined, {MaxHealth:350, Speed:1.11111111111111}, {MaxHealth:375, Speed:1.25}, {MaxHealth:400, Speed:1.42857142857143}, {MaxHealth:420, Speed:1.66666666666667}, {MaxHealth:430, Speed:2}]}, {Radius:10, Height:0, Price:500, Name:"Razzo", Levels:[undefined, {MaxHealth:250, Speed:2.5}, {MaxHealth:300, Speed:2.85714285714286}, {MaxHealth:350, Speed:3.33333333333333}, {MaxHealth:380, Speed:4}, {MaxHealth:400, Speed:5}]}, {Radius:10, Height:1, Price:700, Name:"Planeur", Levels:[undefined, {MaxHealth:220, Speed:1.66666666666667}, {MaxHealth:220, Speed:2}, {MaxHealth:240, Speed:2}, {MaxHealth:240, Speed:2.22222222222222}, {MaxHealth:260, Speed:2.22222222222222}]}, {Speed:1.33333333333333, Radius:10, Price:1000, Name:"Zwaar", Height:1, Levels:[undefined, {MaxHealth:320}, {MaxHealth:370}, {MaxHealth:420}, {MaxHealth:470}, {MaxHealth:520}]}, {Radius:10, Height:1, Price:3000, Name:"Schnell", Levels:[undefined, {MaxHealth:250, Speed:3.33333333333333}, {MaxHealth:270, Speed:4}, {MaxHealth:280, Speed:5}, {MaxHealth:280, Speed:6.66666666666667}, {MaxHealth:280, Speed:10}]}];
halfPI = (Math.PI/2);
dblPI = (Math.PI*2);
Rad2Deg = 360 / dblPI;
SaveMasks = ["haGjhgasdgHSAGuoewru", "JOIEWUoijdoIWJEDoijOJIsdkfjii8374", "JLFKDHieiruplasdkriuoi04uo4r948u5th", "ureytKJFHkjhrukJASDHFoiurtouipoi", "DFKJSAHuyretishuLKAJSDHFuhrwelfKJNCADJKn)(/"];
LevelStatus = new Array();
var Saved = SharedObject.getLocal("GameData");
if (Saved.data.dt == undefined) {
LoadError = true;
}
if (!LoadError) {
OutArray = new Array();
Msk = Saved.data.dt[33];
Ofst = Saved.data.dt[34];
CurrOff = Ofst;
CheckSum = 0;
i = 0;
while (i <= 32) {
OutArray[i] = (Saved.data.dt[i] / ord(SaveMasks[Msk].charAt(CurrOff))) - ord(SaveMasks[Msk].charAt(CurrOff));
CurrOff++;
if (CurrOff >= SaveMasks[Msk].length) {
CurrOff = 0;
}
if (i > 0) {
CheckSum = CheckSum + OutArray[i];
}
i++;
}
if (CheckSum != OutArray[0]) {
LoadError = true;
} else {
i = 1;
while (i < MonsterTypes.length) {
MonsterTypes[i].SelectedLevel = OutArray[i];
i++;
}
SelectedMonster = OutArray[11];
i = 1;
while (i < Levels.length) {
LevelStatus[i] = new Object();
LevelStatus[i].Score = OutArray[11 + i];
LevelStatus[i].Locked = OutArray[21 + i] == 1;
i++;
}
LastSubmitted = OutArray[32];
}
}
if (LoadError) {
ResetGame();
}
Frame 4
stop();
Sounds = new Object();
Sounds.Tower1 = new Sound(this);
Sounds.Tower1.attachSound("tower1");
Sounds.Tower23 = new Sound(this);
Sounds.Tower23.attachSound("tower2&3");
Sounds.Tower4 = new Sound(this);
Sounds.Tower4.attachSound("tower4");
Sounds.Tower5 = new Sound(this);
Sounds.Tower5.attachSound("tower5");
Sounds.Tower68 = new Sound(this);
Sounds.Tower68.attachSound("tower6&8");
Sounds.Tower7 = new Sound(this);
Sounds.Tower7.attachSound("tower7");
Sounds.Tower9 = new Sound(this);
Sounds.Tower9.attachSound("tower9");
Sounds.Tower10 = new Sound(this);
Sounds.Tower10.attachSound("tower10");
Sounds.BuyMonster = new Sound(this);
Sounds.BuyMonster.attachSound("buymonster");
Sounds.MonsterDie = new Sound(this);
Sounds.MonsterDie.attachSound("monsterdie");
Sounds.MonsterPass = new Sound(this);
Sounds.MonsterPass.attachSound("monsterpass");
this.createEmptyMovieClip("ArealSounds", this.getNextHighestDepth());
Sounds.RocketHit = new Sound(ArealSounds);
Sounds.RocketHit.attachSound("rockethit");
Sounds.PlasmaHit = new Sound(ArealSounds);
Sounds.PlasmaHit.attachSound("plasmahit");
Sounds.Bonus = new Sound(this);
Sounds.Bonus.attachSound("bonus");
Frame 5
stop();
Frame 6
stop();
TotalScore = 0;
i = 1;
while (i <= 10) {
this["L" + i].gotoAndStop(i);
this["L" + i].LevelName = "Level " + i;
if (LevelStatus[i].Locked) {
this["L" + i].Icon.gotoAndStop(2);
this["L" + i].LevelStatus = "Locked";
this["L" + i].LevelScore = "Pass level " + (i - 1);
this["L" + i].butt.enabled = false;
} else {
this["L" + i].Icon.gotoAndStop(1);
this["L" + i].LevelStatus = "Unlocked";
this["L" + i].LevelScore = "Best Score: " + NumberFormat(LevelStatus[i].Score);
this["L" + i].butt.enabled = true;
this["L" + i].L = i;
}
TotalScore = TotalScore + LevelStatus[i].Score;
i++;
}
TotalText = NumberFormat(TotalScore);
if (TotalScore > LastSubmitted) {
SubButt.gotoAndStop(1);
} else {
SubButt.gotoAndStop(2);
}
if (TotalScore == 0) {
SubButt.gotoAndStop(3);
}
Frame 10
function SelectEntrance(Num) {
for (en in Entrances) {
if (en == Num) {
Entrances[en].Arrow._visible = true;
Entrances[en].Symbol.Indicator.gotoAndStop(2);
} else {
Entrances[en].Arrow._visible = false;
Entrances[en].Symbol.Indicator.gotoAndStop(1);
}
}
SelectedEntrance = Num;
}
function CreateMonster(Entrance, Type, Level) {
var _local1;
sf = 1;
while (sf <= TotalMonsters) {
if (!Monsters[sf].Active) {
_local1 = sf;
break;
}
sf++;
}
if (_local1 == undefined) {
TotalMonsters++;
_local1 = TotalMonsters;
}
Monsters[_local1] = new Object();
if (MonsterTypes[Type].Height == 0) {
if (!(GA.Monsters["M" + _local1] instanceof MovieClip)) {
duplicateMovieClip (GA.Monsters.MonsterSample, "M" + _local1, GA.Monsters.getNextHighestDepth());
}
if (!(GA.Shadows["S" + _local1] instanceof MovieClip)) {
duplicateMovieClip (GA.Shadows.ShadowSample, "S" + _local1, GA.Shadows.getNextHighestDepth());
}
Monsters[_local1].Symbol = GA.Monsters["M" + _local1];
Monsters[_local1].Shadow = GA.Shadows["S" + _local1];
}
if (MonsterTypes[Type].Height == 1) {
if (!(GA.FlyingMonsters["M" + _local1] instanceof MovieClip)) {
duplicateMovieClip (GA.FlyingMonsters.MonsterSample, "M" + _local1, GA.FlyingMonsters.getNextHighestDepth());
}
if (!(GA.FlyingShadows["S" + _local1] instanceof MovieClip)) {
duplicateMovieClip (GA.FlyingShadows.ShadowSample, "S" + _local1, GA.FlyingShadows.getNextHighestDepth());
}
Monsters[_local1].Symbol = GA.FlyingMonsters["M" + _local1];
Monsters[_local1].Shadow = GA.FlyingShadows["S" + _local1];
}
Monsters[_local1].SquareX = Entrances[Entrance].x;
Monsters[_local1].SquareY = Entrances[Entrance].y;
Monsters[_local1].Active = true;
Monsters[_local1].Type = Type;
Monsters[_local1].Level = Level;
Monsters[_local1].Direction = Entrances[Entrance].Direction;
Monsters[_local1].OldSquareX = Monsters[_local1].SquareX;
Monsters[_local1].OldSquareY = Monsters[_local1].SquareY;
MonstersMap[Monsters[_local1].SquareX][Monsters[_local1].SquareY].push(_local1);
Monsters[_local1].Symbol._visible = true;
Monsters[_local1].Symbol._alpha = 100;
Monsters[_local1].Symbol.gotoAndStop(Type);
Monsters[_local1].HealthColor = new Color(Monsters[_local1].Symbol.HB);
Monsters[_local1].x = (Monsters[_local1].Symbol._x = (Monsters[_local1].SquareX * 20) + 10);
Monsters[_local1].y = (Monsters[_local1].Symbol._y = (Monsters[_local1].SquareY * 20) + 10);
Monsters[_local1].Shadow._x = Monsters[_local1].x + 3;
Monsters[_local1].Shadow._y = Monsters[_local1].y + 3;
Monsters[_local1].Shadow._visible = true;
Monsters[_local1].Shadow._alpha = 100;
Monsters[_local1].Shadow.gotoAndStop(Type);
Monsters[_local1].Dying = false;
Monsters[_local1].Price = CalcPrice(Type, Level);
for (prm in MonsterTypes[Type]) {
if (MonsterTypes[Type][prm] instanceof Array) {
for (iprm in MonsterTypes[Type][prm][Level]) {
Monsters[_local1][iprm] = MonsterTypes[Type][prm][Level][iprm];
}
} else {
Monsters[_local1][prm] = MonsterTypes[Type][prm];
}
}
Monsters[_local1].Health = Monsters[_local1].MaxHealth;
Monsters[_local1].Visited = new Array();
var _local4;
_local4 = 0;
while (_local4 <= 24) {
Monsters[_local1].Visited[_local4] = new Array();
_local4++;
}
}
function CalcPrice(Type, Level) {
return(Math.round(MonsterTypes[Type].Price * (1 + ((Level - 1) / 3))));
}
function CreateTower(x, y, Type) {
TotalTowers++;
duplicateMovieClip (GA.Towers.TowerSample, "T" + TotalTowers, GA.Towers.getNextHighestDepth());
Towers[TotalTowers] = new Object();
Towers[TotalTowers].Active = true;
Towers[TotalTowers].Symbol = GA.Towers["T" + TotalTowers];
Towers[TotalTowers].Symbol.Top.gotoAndStop(1);
Towers[TotalTowers].Symbol.gotoAndStop(Type);
if ((Type == 4) or (Type == 5)) {
Towers[TotalTowers].Symbol.Top.createEmptyMovieClip("BeamMask", Towers[TotalTowers].Symbol.Top.getNextHighestDepth());
Towers[TotalTowers].Symbol.Top.BeamMask._visible = false;
}
Towers[TotalTowers].x = (Towers[TotalTowers].Symbol._x = (x * 20) + 10);
Towers[TotalTowers].y = (Towers[TotalTowers].Symbol._y = (y * 20) + 10);
Towers[TotalTowers].SquareX = x;
Towers[TotalTowers].SquareY = y;
Towers[TotalTowers].Range = TowerTypes[Type].Range;
Towers[TotalTowers].SquaresRange = TowerTypes[Type].SquaresRange;
Towers[TotalTowers].FireDelay = TowerTypes[Type].FireDelay;
Towers[TotalTowers].FireCounter = Towers[TotalTowers].FireDelay;
Towers[TotalTowers].Damage = TowerTypes[Type].Damage;
Towers[TotalTowers].Type = Type;
Towers[TotalTowers].Missile = TowerTypes[Type].Missile;
Towers[TotalTowers].MissileType = TowerTypes[Type].MissileType;
Towers[TotalTowers].Areal = TowerTypes[Type].Areal;
Towers[TotalTowers].Ground = TowerTypes[Type].Ground;
Towers[TotalTowers].Air = TowerTypes[Type].Air;
Towers[TotalTowers].Initiating = true;
Towers[TotalTowers].InitCounter = 0;
Towers[TotalTowers].GlobalColor = new Color(Towers[TotalTowers].Symbol);
Towers[TotalTowers].Symbol._alpha = 0;
TowersMap[x][y] = TotalTowers;
CompMoney = CompMoney - TowerTypes[Type].Price;
for (dx in TowerTypes[Type].Defense) {
for (dy in TowerTypes[Type].Defense[dx]) {
dx = Number(dx);
dy = Number(dy);
if (LevelMap[x + dx][y + dy] < 40) {
if (TowerTypes[Type].Ground) {
Strategy[x + dx][y + dy].Ground = Strategy[x + dx][y + dy].Ground + TowerTypes[Type].Defense[dx][dy];
}
if (TowerTypes[Type].Air) {
Strategy[x + dx][y + dy].Air = Strategy[x + dx][y + dy].Air + TowerTypes[Type].Defense[dx][dy];
}
}
}
}
}
function DestroyTower(x, y) {
DTower = TowersMap[x][y];
TowersMap[x][y] = undefined;
Towers[DTower].Active = false;
Towers[DTower].Symbol._visible = false;
CompMoney = CompMoney + Math.round(TowerTypes[Towers[DTower].Type].Price * 0.8);
for (dx in TowerTypes[Towers[DTower].Type].Defense) {
for (dy in TowerTypes[Towers[DTower].Type].Defense[dx]) {
dx = Number(dx);
dy = Number(dy);
if (LevelMap[x + dx][y + dy] < 40) {
if (TowerTypes[Towers[DTower].Type].Ground) {
Strategy[x + dx][y + dy].Ground = Strategy[x + dx][y + dy].Ground + TowerTypes[Towers[DTower].Type].Defense[dx][dy];
}
if (TowerTypes[Towers[DTower].Type].Air) {
Strategy[x + dx][y + dy].Air = Strategy[x + dx][y + dy].Air + TowerTypes[Towers[DTower].Type].Defense[dx][dy];
}
}
}
}
}
function AddMissile(x, y, Type, Target, Damage) {
var NewM = undefined;
sf = 1;
while (sf <= TotalMissiles) {
if (!Missiles[sf].Active) {
NewM = sf;
break;
}
sf++;
}
if (NewM == undefined) {
TotalMissiles++;
NewM = TotalMissiles;
duplicateMovieClip (GA.Missiles.MissileSample, "Mis" + NewM, GA.Missiles.getNextHighestDepth());
}
Missiles[NewM] = new Object();
Missiles[NewM].Symbol = GA.Missiles["Mis" + NewM];
Missiles[NewM].Symbol._visible = true;
Missiles[NewM].Symbol.gotoAndStop(Type);
Missiles[NewM].Type = Type;
Missiles[NewM].Direction = CalcAngle(x, y, Monsters[Target].x, Monsters[Target].y);
Missiles[NewM].Symbol._x = (Missiles[NewM].x = x + (Math.sin(Missiles[NewM].Direction) * 10));
Missiles[NewM].Symbol._y = (Missiles[NewM].y = y - (Math.cos(Missiles[NewM].Direction) * 10));
Missiles[NewM].Active = true;
Missiles[NewM].TargetMonster = Monsters[Target];
Missiles[NewM].Speed = 12;
Missiles[NewM].Damage = Damage;
Missiles[NewM].Symbol.Die = function () {
Missiles[NewM].Active = false;
this._visible = false;
};
}
function Earn(HowMuch) {
Money = Money + HowMuch;
MoneyText = "$" + NumberFormat(Money);
Score = Score + HowMuch;
ScoreText = NumberFormat(Score);
}
function UseStrategy() {
MaxDiff = Number.NEGATIVE_INFINITY;
for (pt in Path) {
if (BuildingGround) {
Path[pt].Difference = Path[pt].Required - Path[pt].Ground;
} else {
Path[pt].Difference = Path[pt].Required - Path[pt].Air;
}
if (Path[pt].Difference > MaxDiff) {
MaxDiff = Path[pt].Difference;
}
}
WhereToBuild = new Array();
for (pt in Path) {
if (Math.abs(MaxDiff - Path[pt].Difference) < 3) {
WhereToBuild.push(Path[pt]);
}
}
AvailableTowers = new Array();
for (pt in PermitedTypes[CurrLevel]) {
tw = PermitedTypes[CurrLevel][pt];
if (((TowerTypes[tw].Ground == BuildingGround) or (TowerTypes[tw].Air == (!BuildingGround))) and (TowerTypes[tw].Price <= CompMoney)) {
AvailableTowers.push(tw);
}
}
if (AvailableTowers.length > 0) {
BuildType = AvailableTowers[random(AvailableTowers.length)];
BuildSquare = WhereToBuild[random(WhereToBuild.length)];
SRange = TowerTypes[BuildType].SquaresRange;
sp = 0;
while (sp < BuildSquare.TowerPlaces[SRange].length) {
TheSquare = BuildSquare.TowerPlaces[SRange][sp];
if ((TowersMap[TheSquare.x][TheSquare.y] == undefined) or ((BuildType - Towers[TowersMap[TheSquare.x][TheSquare.y]].Type) > 1)) {
if (TowersMap[TheSquare.x][TheSquare.y] != undefined) {
DestroyTower(TheSquare.x, TheSquare.y);
}
CreateTower(TheSquare.x, TheSquare.y, BuildType);
break;
}
sp++;
}
}
BuildingGround = !BuildingGround;
}
function UpdateInfo() {
TempObject = new Object();
for (prm in MonsterTypes[SelectedMonster]) {
if (MonsterTypes[SelectedMonster][prm] instanceof Array) {
for (prm2 in MonsterTypes[SelectedMonster][prm][MonsterTypes[SelectedMonster].SelectedLevel]) {
TempObject[prm2] = MonsterTypes[SelectedMonster][prm][MonsterTypes[SelectedMonster].SelectedLevel][prm2];
}
} else {
TempObject[prm] = MonsterTypes[SelectedMonster][prm];
}
}
MonsterPrice = CalcPrice(SelectedMonster, TempObject.SelectedLevel);
MPriceText = "$" + NumberFormat(MonsterPrice);
MNameText = TempObject.Name;
MVersionText = ("version " + TempObject.SelectedLevel) + ".0";
MTypeText = "<b>Type:</b> ";
if (TempObject.Height == 0) {
MTypeText = MTypeText + "ground unit";
} else {
MTypeText = MTypeText + "air unit";
}
MSpeedText = ("<b>Speed:</b> " + Math.round(TempObject.Speed * 20)) + " Km/h";
MResistanceText = "<b>Resistance:</b> " + TempObject.MaxHealth;
MPortrait.gotoAndStop(SelectedMonster);
VSwitchText = TempObject.SelectedLevel + ".0";
}
function AddMonster() {
ScheduledMonsters.push({Entrance:SelectedEntrance, Monster:SelectedMonster, Level:MonsterTypes[SelectedMonster].SelectedLevel});
MonstersOut++;
Money = Money - MonsterPrice;
Sounds.BuyMonster.start();
Earn(0);
}
function AddBonus() {
var _local1;
var _local2;
_local2 = 1;
while (_local2 <= TotalBonuses) {
if (!Bonuses[_local2].Active) {
_local1 = _local2;
break;
}
_local2++;
}
if (_local1 == undefined) {
TotalBonuses++;
_local1 = TotalBonuses;
duplicateMovieClip (GA.Arrows.BonusSample, "B" + _local1, GA.Arrows.getNextHighestDepth());
}
Bonuses[_local1] = new Object();
Bonuses[_local1].Symbol = GA.Arrows["B" + _local1];
Bonuses[_local1].Symbol._visible = true;
Bonuses[_local1].Active = true;
TakeFrom = random(FreePath.length);
BLoc = FreePath[TakeFrom];
Bonuses[_local1].x = BLoc.x;
Bonuses[_local1].y = BLoc.y;
Bonuses[_local1].Symbol._x = (Bonuses[_local1].x * 20) + 10;
Bonuses[_local1].Symbol._y = (Bonuses[_local1].y * 20) + 10;
Bonuses[_local1].Type = random(3) + 1;
Bonuses[_local1].Symbol.gotoAndStop(Bonuses[_local1].Type);
BonusMap[Bonuses[_local1].x][Bonuses[_local1].y] = _local1;
Bonuses[_local1].Duration = 500 + random(1000);
Bonuses[_local1].Counter = 0;
Bonuses[_local1].Symbol._alpha = 0;
FreePath.splice(TakeFrom, 1);
}
function RemoveBonus(ind) {
FreePath.push({x:Bonuses[ind].x, y:Bonuses[ind].y});
BonusMap[Bonuses[ind].x][Bonuses[ind].y] = undefined;
Bonuses[ind].Active = false;
Bonuses[ind].Symbol._visible = false;
}
function RemoveMonster(Whom) {
Whom.Active = false;
Whom.Symbol._visible = false;
Whom.Shadow._visible = false;
MonstersOut--;
if ((MonstersOut == 0) and (Money < MonsterTypes[1].Price)) {
gotoAndStop ("Failed");
}
}
S9Playing = false;
S10Playing = false;
Paused = false;
Score = 0;
MonstersOut = 0;
GA.LB.gotoAndStop(CurrLevel);
Money = PlayerMoney[CurrLevel];
PropertyBonus = 0;
Time = 0;
LevelMap = new Array();
x = 0;
while (x < Levels[CurrLevel].length) {
LevelMap[x] = new Array();
y = 0;
while (y < Levels[CurrLevel][x].length) {
LevelMap[x][y] = Levels[CurrLevel][x][y];
y++;
}
x++;
}
TowersMap = new Array();
x = 0;
while (x <= 24) {
TowersMap[x] = new Array();
x++;
}
CompMoney = StartingCompMoney[CurrLevel];
BuildingGround = true;
ScheduledMonsters = new Array();
Strategy = new Array();
Strategy = new Array();
x = 0;
while (x <= 24) {
Strategy[x] = new Array();
y = 0;
while (y <= 24) {
if (LevelMap[x][y] < 40) {
Strategy[x][y] = {Required:Importance[CurrLevel][x][y] * Multiplier[CurrLevel], Ground:0, Air:0, TowerPlaces:new Array()};
tp = 2;
while (tp <= 4) {
Strategy[x][y].TowerPlaces[tp] = new Array();
tp++;
}
xx = -4;
while (xx <= 4) {
yy = -4;
while (yy <= 4) {
tl = 2;
while (tl <= 4) {
if (((Math.abs(xx) < tl) and (Math.abs(yy) < tl)) and (LevelMap[x + xx][y + yy] == 100)) {
Strategy[x][y].TowerPlaces[tl].push({x:x + xx, y:y + yy, Importance:Importance[CurrLevel][x + xx][y + yy], Chaos:random(100)});
}
tl++;
}
yy++;
}
xx++;
}
tp = 2;
while (tp <= 4) {
Strategy[x][y].TowerPlaces[tp].sortOn(["Importance", "Chaos"], 18);
tp++;
}
}
y++;
}
x++;
}
Path = new Array();
x = 0;
while (x <= 24) {
y = 0;
while (y <= 24) {
if (LevelMap[x][y] < 40) {
Path.push(Strategy[x][y]);
}
y++;
}
x++;
}
FreePath = new Array();
x = 0;
while (x <= 24) {
y = 0;
while (y <= 24) {
if (LevelMap[x][y] == 0) {
FreePath.push({x:x, y:y});
}
y++;
}
x++;
}
DirsX = [undefined, 0, 1, 0, -1];
DirsY = [undefined, -1, 0, 1, 0];
CompDirs = [undefined, 0, halfPI, Math.PI, 4.71238898038469];
TotalMissiles = (TotalTowers = (TotalMonsters = (TE = (TA = (TotalBonuses = 0)))));
Towers = new Array();
Monsters = new Array();
Entrances = new Array();
Missiles = new Array();
Bonuses = new Array();
BonusMap = new Array();
x = 0;
while (x <= 24) {
BonusMap[x] = new Array();
x++;
}
Passed = 0;
PassedText = (Passed + " / ") + ToPass[CurrLevel];
MonstersMap = new Array();
x = 0;
while (x <= 24) {
MonstersMap[x] = new Array();
y = 0;
while (y <= 24) {
MonstersMap[x][y] = new Array();
y++;
}
x++;
}
x = 0;
while (x <= 24) {
y = 0;
while (y <= 24) {
if ((LevelMap[x][y] > 20) and (LevelMap[x][y] < 30)) {
TE++;
duplicateMovieClip (GA.EntranceSample, "En" + TE, GA.getNextHighestDepth());
GA["En" + TE]._x = x * 20;
GA["En" + TE]._y = y * 20;
GA["En" + TE].gotoAndStop(LevelMap[x][y] % 20);
Entrances[TE] = new Object();
Entrances[TE].x = x;
Entrances[TE].y = y;
Entrances[TE].Direction = LevelMap[x][y] % 20;
Entrances[TE].Symbol = GA["En" + TE];
GA["En" + TE].Index = TE;
}
if ((LevelMap[x][y] > 10) and (LevelMap[x][y] < 40)) {
TA++;
duplicateMovieClip (GA.Arrows.ArrowSample, "Ar" + TA, GA.Arrows.getNextHighestDepth());
GA.Arrows["Ar" + TA]._x = x * 20;
GA.Arrows["Ar" + TA]._y = y * 20;
ArrowType = Math.floor(LevelMap[x][y] / 10);
ArrowDirection = LevelMap[x][y] % 10;
GA.Arrows["Ar" + TA].gotoAndStop(((ArrowType - 1) * 4) + ArrowDirection);
if (ArrowType == 1) {
GA.Arrows["Ar" + TA].x = x;
GA.Arrows["Ar" + TA].y = y;
GA.Arrows["Ar" + TA].PossibleDirs = new Array();
dr = 1;
while (dr <= 4) {
if (LevelMap[x + DirsX[dr]][y + DirsY[dr]] < 99) {
GA.Arrows["Ar" + TA].PossibleDirs.push(dr);
if (dr == ArrowDirection) {
GA.Arrows["Ar" + TA].CurrDir = GA.Arrows["Ar" + TA].PossibleDirs.length - 1;
}
}
dr++;
}
}
if (ArrowType == 2) {
for (fe in Entrances) {
if ((Entrances[fe].x == x) and (Entrances[fe].y == y)) {
Entrances[fe].Arrow = GA.Arrows["Ar" + TA];
break;
}
}
GA.Arrows["Ar" + TA]._visible = false;
}
}
y++;
}
x++;
}
GA.EntranceSample._visible = false;
GA.Missiles.MissileSample._visible = false;
GA.Arrows.ArrowSample._visible = false;
GA.Monsters.MonsterSample._visible = false;
GA.FlyingMonsters.MonsterSample._visible = false;
GA.Towers.TowerSample._visible = false;
GA.Shadows.ShadowSample._visible = false;
GA.FlyingShadows.ShadowSample._visible = false;
GA.Arrows.BonusSample._visible = false;
SelectEntrance(1);
Earn(0);
UpdateInfo();
DontHang = 0;
do {
if (CompMoney < TowerTypes[1].Price) {
break;
}
UseStrategy();
DontHang++;
} while (DontHang < 1000);
Opt._visible = false;
Frame 11
if (!Paused) {
Time++;
S9Activated = (S10Activated = false);
if (random(1000) < CurrLevel) {
AddBonus();
}
for (en in Entrances) {
Entrances[en].GroundOccupied = false;
Entrances[en].AirOccupied = false;
for (mn in MonstersMap[Entrances[en].x][Entrances[en].y]) {
if (Monsters[MonstersMap[Entrances[en].x][Entrances[en].y][mn]].Height == 0) {
Entrances[en].GroundOccupied = true;
}
if (MonsterTypes[Monsters[MonstersMap[Entrances[en].x][Entrances[en].y][mn]].Type].Height == 1) {
Entrances[en].AirOccupied = true;
}
}
}
if (ScheduledMonsters.length > 0) {
sm = 0;
while (sm < ScheduledMonsters.length) {
en = ScheduledMonsters[sm].Entrance;
if (((MonsterTypes[ScheduledMonsters[sm].Monster].Height == 0) and (!Entrances[ScheduledMonsters[sm].Entrance].GroundOccupied)) or ((MonsterTypes[ScheduledMonsters[sm].Monster].Height == 1) and (!Entrances[ScheduledMonsters[sm].Entrance].AirOccupied))) {
CreateMonster(ScheduledMonsters[sm].Entrance, ScheduledMonsters[sm].Monster, ScheduledMonsters[sm].Level);
ScheduledMonsters[sm].Delete = true;
if (MonsterTypes[ScheduledMonsters[sm].Monster].Height == 0) {
Entrances[ScheduledMonsters[sm].Entrance].GroundOccupied = true;
}
if (MonsterTypes[ScheduledMonsters[sm].Monster].Height == 1) {
Entrances[ScheduledMonsters[sm].Entrance].AirOccupied = true;
}
}
sm++;
}
for (sm in ScheduledMonsters) {
if (ScheduledMonsters[sm].Delete) {
ScheduledMonsters.splice(sm, 1);
}
}
}
if (MonsterPrice > Money) {
LIO.gotoAndStop(1);
} else {
LIO.gotoAndStop(2);
}
m = 1;
while (m <= TotalMonsters) {
if (Monsters[m].Active) {
if (Monsters[m].Dying) {
if (Monsters[m].DieCounter == 0) {
Sounds.MonsterDie.start();
}
Monsters[m].DieCounter = Monsters[m].DieCounter + 8;
Monsters[m].Symbol._alpha = 100 - Monsters[m].DieCounter;
Monsters[m].Shadow._alpha = 100 - Monsters[m].DieCounter;
if (Monsters[m].DieCounter >= 100) {
CompMoney = CompMoney + Monsters[m].Price;
RemoveMonster(Monsters[m]);
for (ro in MonstersMap[Monsters[m].SquareX][Monsters[m].SquareY]) {
if (MonstersMap[Monsters[m].SquareX][Monsters[m].SquareY][ro] == m) {
Strategy[Monsters[m].SquareX][Monsters[m].SquareY].Required = Strategy[Monsters[m].SquareX][Monsters[m].SquareY].Required - ((Monsters[m].Type + Monsters[m].Level) + 2);
MonstersMap[Monsters[m].SquareX][Monsters[m].SquareY].splice(ro, 1);
break;
}
}
}
} else {
switch (Monsters[m].Direction) {
case 1 :
Monsters[m].Shadow._rotation = (Monsters[m].Symbol.Inside._rotation = 0);
break;
case 2 :
Monsters[m].Shadow._rotation = (Monsters[m].Symbol.Inside._rotation = 90);
break;
case 3 :
Monsters[m].Shadow._rotation = (Monsters[m].Symbol.Inside._rotation = 180);
break;
case 4 :
Monsters[m].Shadow._rotation = (Monsters[m].Symbol.Inside._rotation = 270);
}
NextX = Monsters[m].x + (Monsters[m].Speed * DirsX[Monsters[m].Direction]);
NextY = Monsters[m].y + (Monsters[m].Speed * DirsY[Monsters[m].Direction]);
NextSquareX = Math.floor(NextX / 20);
NextSquareY = Math.floor(NextY / 20);
CloseMonsters = new Array();
for (cm in MonstersMap[NextSquareX][NextSquareY]) {
if (((MonstersMap[NextSquareX][NextSquareY][cm] != m) and (!Monsters[MonstersMap[NextSquareX][NextSquareY][cm]].Dying)) and (Monsters[MonstersMap[NextSquareX][NextSquareY][cm]].Height == Monsters[m].Height)) {
CloseMonsters.push(MonstersMap[NextSquareX][NextSquareY][cm]);
}
}
ForwardX = NextSquareX + DirsX[Monsters[m].Direction];
ForwardY = NextSquareY + DirsY[Monsters[m].Direction];
for (cm in MonstersMap[ForwardX][ForwardY]) {
if ((!Monsters[MonstersMap[ForwardX][ForwardY][cm]].Dying) and (Monsters[MonstersMap[ForwardX][ForwardY][cm]].Height == Monsters[m].Height)) {
CloseMonsters.push(MonstersMap[ForwardX][ForwardY][cm]);
}
}
if (Monsters[m].Moving) {
Monsters[m].Symbol.Inside.gotoAndStop(1);
} else {
Monsters[m].Symbol.Inside.gotoAndStop(2);
}
Monsters[m].Moving = true;
CounterDirection = Monsters[m].Direction - 2;
if (CounterDirection < 0) {
CounterDirection = CounterDirection + 4;
}
for (cm in CloseMonsters) {
MAngle = CalcAngle(Monsters[m].x, Monsters[m].y, Monsters[CloseMonsters[cm]].x, Monsters[CloseMonsters[cm]].y);
AngDifference = Math.abs(MAngle - CompDirs[Monsters[m].Direction]);
if (AngDifference > Math.PI) {
AngDifference = dblPI - AngDifference;
}
if ((AngDifference < halfPI) and (CalcDistance(Monsters[m].x, Monsters[m].y, Monsters[CloseMonsters[cm]].x, Monsters[CloseMonsters[cm]].y) < (Monsters[CloseMonsters[cm]].Radius + Monsters[m].Radius))) {
if ((AngDifference < 0.1) or Monsters[CloseMonsters[cm]].Moving) {
if (Monsters[CloseMonsters[cm]].Direction == CounterDirection) {
if ((LevelMap[Monsters[CloseMonsters[cm]].SquareX][Monsters[CloseMonsters[cm]].SquareY] < 10) and (LevelMap[Monsters[m].SquareX][Monsters[m].SquareY] < 10)) {
if (!Monsters[CloseMonsters[cm]].ForcedToTurn) {
Monsters[CloseMonsters[cm]].Direction = Monsters[m].Direction;
}
Monsters[CloseMonsters[cm]].ForcedToTurn = true;
Monsters[m].Direction = CounterDirection;
}
} else {
NextX = Monsters[m].x;
NextY = Monsters[m].y;
Monsters[m].Moving = false;
}
break;
}
}
}
if (!Monsters[m].ForcedToTurn) {
Monsters[m].x = NextX;
Monsters[m].y = NextY;
} else {
Monsters[m].ForcedToTurn = false;
}
Monsters[m].SquareX = Math.floor(Monsters[m].x / 20);
Monsters[m].SquareY = Math.floor(Monsters[m].y / 20);
if ((Monsters[m].OldSquareX != Monsters[m].SquareX) or (Monsters[m].OldSquareY != Monsters[m].SquareY)) {
if ((((Monsters[m].SquareX >= 0) and (Monsters[m].SquareY <= 24)) and (Monsters[m].SquareY >= 0)) and (Monsters[m].SquareY <= 24)) {
MonstersMap[Monsters[m].SquareX][Monsters[m].SquareY].push(m);
Strategy[Monsters[m].SquareX][Monsters[m].SquareY].Required = Strategy[Monsters[m].SquareX][Monsters[m].SquareY].Required + ((Monsters[m].Type + Monsters[m].Level) + 2);
}
Strategy[Monsters[m].OldSquareX][Monsters[m].OldSquareY].Required = Strategy[Monsters[m].OldSquareX][Monsters[m].OldSquareY].Required - ((Monsters[m].Type + Monsters[m].Level) + 2);
for (ro in MonstersMap[Monsters[m].OldSquareX][Monsters[m].OldSquareY]) {
if (MonstersMap[Monsters[m].OldSquareX][Monsters[m].OldSquareY][ro] == m) {
MonstersMap[Monsters[m].OldSquareX][Monsters[m].OldSquareY].splice(ro, 1);
break;
}
}
if (Monsters[m].Visited[Monsters[m].SquareX][Monsters[m].SquareY] == undefined) {
Monsters[m].Visited[Monsters[m].SquareX][Monsters[m].SquareY] = 1;
Earn(EarnPerBlock[CurrLevel]);
}
if (BonusMap[Monsters[m].SquareX][Monsters[m].SquareY] > 0) {
Sounds.Bonus.start();
TheBonus = Bonuses[BonusMap[Monsters[m].SquareX][Monsters[m].SquareY]];
TheBonus.Symbol.BG.gotoAndPlay(2);
switch (TheBonus.Type) {
case 1 :
Monsters[m].Health = Monsters[m].Health + (CurrLevel * 10);
break;
case 2 :
Money = Money + (Math.pow(CurrLevel, 2) * 10);
break;
case 3 :
Score = Score + (Math.pow(CurrLevel, 2) * 20);
}
Earn(0);
}
}
NewDirection = undefined;
if ((LevelMap[Monsters[m].SquareX][Monsters[m].SquareY] > 10) and (LevelMap[Monsters[m].SquareX][Monsters[m].SquareY] < 30)) {
NewDirection = LevelMap[Monsters[m].SquareX][Monsters[m].SquareY] % 10;
}
if (((NewDirection != undefined) and ((Math.abs((Monsters[m].x - (Monsters[m].SquareX * 20)) - 10) < 0.1) and (Math.abs((Monsters[m].y - (Monsters[m].SquareY * 20)) - 10) < 0.1))) or (NewDirection === CounterDirection)) {
Monsters[m].Direction = NewDirection;
Monsters[m].x = (Monsters[m].SquareX * 20) + 10;
Monsters[m].y = (Monsters[m].SquareY * 20) + 10;
}
if ((Math.abs((Monsters[m].x - (Monsters[m].SquareX * 20)) - 10) < 0.1) and (Math.abs((Monsters[m].y - (Monsters[m].SquareY * 20)) - 10) < 0.1)) {
if ((LevelMap[Monsters[m].SquareX][Monsters[m].SquareY] > 0) and (LevelMap[Monsters[m].SquareX][Monsters[m].SquareY] < 10)) {
switch (LevelMap[Monsters[m].SquareX][Monsters[m].SquareY]) {
case 1 :
if (Monsters[m].Direction == 1) {
Monsters[m].Direction = 2;
}
if (Monsters[m].Direction == 4) {
Monsters[m].Direction = 3;
}
break;
case 2 :
if (Monsters[m].Direction == 2) {
Monsters[m].Direction = 3;
}
if (Monsters[m].Direction == 1) {
Monsters[m].Direction = 4;
}
break;
case 3 :
if (Monsters[m].Direction == 3) {
Monsters[m].Direction = 2;
}
if (Monsters[m].Direction == 4) {
Monsters[m].Direction = 1;
}
break;
case 4 :
if (Monsters[m].Direction == 2) {
Monsters[m].Direction = 1;
}
if (Monsters[m].Direction != 3) {
break;
}
Monsters[m].Direction = 4;
}
Monsters[m].x = (Monsters[m].SquareX * 20) + 10;
Monsters[m].y = (Monsters[m].SquareY * 20) + 10;
}
if ((((Monsters[m].SquareX > 24) or (Monsters[m].SquareX < 0)) or (Monsters[m].SquareY > 24)) or (Monsters[m].SquareY < 0)) {
RemoveMonster(Monsters[m]);
Earn(Math.pow(CurrLevel, 2) * 50);
Sounds.MonsterPass.start();
Passed++;
PassedText = (Passed + " / ") + ToPass[CurrLevel];
if (Passed >= ToPass[CurrLevel]) {
if (CurrLevel < 10) {
LevelStatus[CurrLevel + 1].Locked = false;
}
mm = 1;
while (mm <= TotalMonsters) {
if (Monsters[mm].Active) {
PropertyBonus = PropertyBonus + CalcPrice(Monsters[mm].Type, Monsters[mm].Level);
}
mm++;
}
for (mm in ScheduledMonsters) {
PropertyBonus = PropertyBonus + CalcPrice(ScheduledMonsters[mm].Monster, ScheduledMonsters[mm].Level);
}
PropertyBonus = PropertyBonus + Money;
TimeBonus = Math.round((CurrLevel * 2000000) / Time) * CurrLevel;
gotoAndStop ("Pass Level");
}
}
}
Monsters[m].OldSquareX = Monsters[m].SquareX;
Monsters[m].OldSquareY = Monsters[m].SquareY;
Monsters[m].Symbol._x = Monsters[m].x;
Monsters[m].Symbol._y = Monsters[m].y;
if (Monsters[m].Height == 0) {
Monsters[m].Shadow._x = Monsters[m].x + 3;
Monsters[m].Shadow._y = Monsters[m].y + 3;
}
if (Monsters[m].Height == 1) {
Monsters[m].Shadow._x = Monsters[m].x + 6;
Monsters[m].Shadow._y = Monsters[m].y + 6;
}
HealthPer = (Monsters[m].Health / Monsters[m].MaxHealth) * 100;
if (HealthPer > 50) {
rc = 100 - ((HealthPer - 50) * 2);
gc = 100;
} else {
rc = 100;
gc = HealthPer * 2;
}
Monsters[m].HealthColor.setTransform({ra:rc, rb:0, ga:gc, gb:0, ba:0, bb:0, aa:100, ab:0});
}
}
m++;
}
if (random(100) == 0) {
UseStrategy();
}
t = 1;
while (t <= TotalTowers) {
if (Towers[t].Active) {
if (Towers[t].Initiating) {
Towers[t].GlobalColor.setTransform({ra:100, rb:255 - Towers[t].InitCounter, ga:100, gb:255 - Towers[t].InitCounter, ba:100, bb:255 - Towers[t].InitCounter, aa:Towers[t].InitCounter / 2.55, ab:0});
Towers[t].InitCounter = Towers[t].InitCounter + 10;
if (Towers[t].InitCounter >= 255) {
Towers[t].Initiating = false;
Towers[t].GlobalColor.setTransform({ra:100, rb:0, ga:100, gb:0, ba:100, bb:0, aa:100, ab:0});
}
}
ReachableMonsters = new Array();
xx = Towers[t].SquareX - Towers[t].SquaresRange;
while (xx <= (Towers[t].SquareX + Towers[t].SquaresRange)) {
yy = Towers[t].SquareY - Towers[t].SquaresRange;
while (yy <= (Towers[t].SquareY + Towers[t].SquaresRange)) {
for (ms in MonstersMap[xx][yy]) {
TheMonster = MonstersMap[xx][yy][ms];
MonDist = CalcDistance(Towers[t].x, Towers[t].y, Monsters[TheMonster].x, Monsters[TheMonster].y);
Attackable = ((Monsters[TheMonster].Height == 0) and Towers[t].Ground) or ((Monsters[TheMonster].Height == 1) and Towers[t].Air);
if (((Monsters[TheMonster].Active and (MonDist <= Towers[t].Range)) and (!Monsters[TheMonster].Dying)) and Attackable) {
ReachableMonsters.push({Monster:TheMonster, Distance:MonDist});
}
}
yy++;
}
xx++;
}
if (ReachableMonsters.length > 0) {
if (Towers[t].Areal) {
Towers[t].Symbol.Top.gotoAndPlay(2);
for (rm in ReachableMonsters) {
Monsters[ReachableMonsters[rm].Monster].Health = Monsters[ReachableMonsters[rm].Monster].Health - Towers[t].Damage;
if (Monsters[ReachableMonsters[rm].Monster].Health <= 0) {
Monsters[ReachableMonsters[rm].Monster].Dying = true;
Monsters[ReachableMonsters[rm].Monster].DieCounter = 0;
Monsters[ReachableMonsters[rm].Monster].Symbol.Inside.gotoAndStop(2);
}
}
if (Towers[t].Type == 9) {
if (!S9Playing) {
Sounds.Tower9.start(0, 10000);
S9Playing = true;
}
S9Activated = true;
}
if (Towers[t].Type == 10) {
if (!S10Playing) {
Sounds.Tower10.start(0, 10000);
S10Playing = true;
}
S10Activated = true;
}
} else {
ReachableMonsters.sortOn("Distance", 16);
ClosestMonster = ReachableMonsters[0].Monster;
CMonDist = ReachableMonsters[0].Distance;
Ang2Mon = CalcAngle(Towers[t].x, Towers[t].y, Monsters[ClosestMonster].x, Monsters[ClosestMonster].y);
RotateAngle = Ang2Mon * Rad2Deg;
Towers[t].Symbol.Top._rotation = RotateAngle;
Towers[t].Symbol.Shadow._rotation = RotateAngle;
if (Towers[t].FireCounter >= Towers[t].FireDelay) {
switch (Towers[t].Type) {
case 1 :
Sounds.Tower1.start();
break;
case 2 :
case 3 :
Sounds.Tower23.start();
break;
case 4 :
Sounds.Tower4.start();
break;
case 5 :
Sounds.Tower5.start();
break;
case 6 :
case 8 :
Sounds.Tower68.start();
break;
case 7 :
Sounds.Tower7.start();
}
if (Towers[t].Missile) {
AddMissile(Towers[t].x, Towers[t].y, Towers[t].MissileType, ClosestMonster, Towers[t].Damage);
Towers[t].FireCounter = 0;
} else {
if (Towers[t].Type == 3) {
if (Towers[t].RightShot) {
Towers[t].Symbol.Top.gotoAndPlay(5);
} else {
Towers[t].Symbol.Top.gotoAndPlay(2);
}
Towers[t].RightShot = !Towers[t].RightShot;
} else {
Towers[t].Symbol.Top.gotoAndPlay(2);
}
if ((Towers[t].Type == 4) or (Towers[t].Type == 5)) {
Towers[t].Symbol.Top.BeamMask.clear();
Towers[t].Symbol.Top.BeamMask.beginFill(16711680);
Towers[t].Symbol.Top.BeamMask.moveTo(-10, 0);
Towers[t].Symbol.Top.BeamMask.lineTo(-10, -CMonDist);
Towers[t].Symbol.Top.BeamMask.lineTo(10, -CMonDist);
Towers[t].Symbol.Top.BeamMask.lineTo(10, 0);
Towers[t].Symbol.Top.BeamMask.endFill();
Towers[t].Symbol.Top.Beam.setMask(Towers[t].Symbol.Top.BeamMask);
}
Towers[t].FireCounter = 0;
Monsters[ClosestMonster].Health = Monsters[ClosestMonster].Health - Towers[t].Damage;
if (Monsters[ClosestMonster].Health <= 0) {
Monsters[ClosestMonster].Dying = true;
Monsters[ClosestMonster].DieCounter = 0;
Monsters[ClosestMonster].Symbol.Inside.gotoAndStop(2);
}
}
}
}
}
if (!Towers[t].Areal) {
Towers[t].FireCounter++;
}
if (Towers[t].Symbol.Top._currentframe > 1) {
Towers[t].Symbol.Top.play();
}
}
t++;
}
m = 1;
while (m <= TotalMissiles) {
if (Missiles[m].Active and (!Missiles[m].Exploding)) {
if (CalcDistance(Missiles[m].x, Missiles[m].y, Missiles[m].TargetMonster.x, Missiles[m].TargetMonster.y) < Missiles[m].Speed) {
if ((Missiles[m].Type == 1) or (Missiles[m].Type == 3)) {
Sounds.RocketHit.start();
}
if (Missiles[m].Type == 2) {
Sounds.PlasmaHit.start();
}
Missiles[m].x = (Missiles[m].Symbol._x = Missiles[m].TargetMonster.x);
Missiles[m].y = (Missiles[m].Symbol._y = Missiles[m].TargetMonster.y);
Missiles[m].Symbol.Inside.gotoAndPlay(2);
Missiles[m].Exploding = true;
Missiles[m].TargetMonster.Health = Missiles[m].TargetMonster.Health - Missiles[m].Damage;
if (Missiles[m].TargetMonster.Health <= 0) {
Missiles[m].TargetMonster.Dying = true;
Missiles[m].TargetMonster.DieCounter = 0;
Missiles[m].TargetMonster.Symbol.Inside.gotoAndStop(2);
}
} else {
Missiles[m].Direction = CalcAngle(Missiles[m].x, Missiles[m].y, Missiles[m].TargetMonster.x, Missiles[m].TargetMonster.y);
Missiles[m].x = (Missiles[m].Symbol._x = Missiles[m].x + (Math.sin(Missiles[m].Direction) * Missiles[m].Speed));
Missiles[m].y = (Missiles[m].Symbol._y = Missiles[m].y - (Math.cos(Missiles[m].Direction) * Missiles[m].Speed));
Missiles[m].Symbol._rotation = Missiles[m].Direction * Rad2Deg;
}
if (!Missiles[m].TargetMonster.Active) {
Missiles[m].Active = false;
Missiles[m].Symbol._visible = false;
}
}
if (Missiles[m].Symbol.Inside._currentframe > 1) {
Missiles[m].Symbol.Inside.play();
}
m++;
}
b = 1;
while (b <= TotalBonuses) {
if (Bonuses[b].Active) {
Bonuses[b].Counter++;
if (Bonuses[b].Counter <= 20) {
Bonuses[b].Symbol._alpha = Bonuses[b].Counter * 5;
}
if (Bonuses[b].Counter > (Bonuses[b].Duration - 20)) {
Bonuses[b].Symbol._alpha = (Bonuses[b].Duration - Bonuses[b].Counter) * 5;
}
if (Bonuses[b].Counter >= Bonuses[b].Duration) {
RemoveBonus(b);
}
}
b++;
}
if ((!S9Activated) and S9Playing) {
S9Playing = false;
S10Playing = false;
Sounds.Tower9.stop();
}
if ((!S10Activated) and S10Playing) {
S10Playing = false;
S9Playing = false;
Sounds.Tower10.stop();
}
}
Frame 12
gotoAndPlay ("Cycle");
Frame 14
FinalScore = (Score + PropertyBonus) + TimeBonus;
PropertyText = (TimeText = (RecordText = ""));
if (FinalScore > LevelStatus[CurrLevel].Score) {
LevelStatus[CurrLevel].Score = FinalScore;
RecordText = "It's a new record!";
}
SaveGame();
SoundControl.stop();
ScoreText = NumberFormat(Score);
PropertyText = NumberFormat(PropertyBonus);
TimeText = NumberFormat(TimeBonus);
FinalText = NumberFormat(FinalScore);
Frame 15
gotoAndStop ("Failed");
Frame 16
if (Score > LevelStatus[CurrLevel].Score) {
LevelStatus[CurrLevel].Score = Score;
}
SaveGame();
SoundControl.stop();
Frame 17
gotoAndStop ("Failed");
Frame 18
if (TotalScore <= LastSubmitted) {
gotoAndStop ("Level Select");
}
Symbol 14 Button
on (press) {
getURL ("http://www.sugar-free-games.com", "_SELF");
}
Symbol 23 MovieClip Frame 100
_parent.gotoAndPlay("Intermediate");
Symbol 37 Button
on (release) {
getURL ("http://www.sugar-free-games.com/antigames.php", "_blank");
}
Symbol 38 Button
on (release) {
getURL ("http://www.sugar-free-games.com", "_blank");
}
Symbol 44 Button
on (release) {
gotoAndStop ("Main Menu");
}
Symbol 54 Button
on (release) {
gotoAndStop ("Level Select");
}
Symbol 55 Button
on (release) {
getURL ("http://www.sugar-free-games.com/antitd.php", "_blank");
}
Symbol 56 Button
on (release) {
getURL ("http://www.sugar-free-games.com/antigames.php", "_blank");
}
Symbol 57 Button
on (release) {
getURL ("http://www.sugar-free-games.com", "_blank");
}
Symbol 58 Button
on (press) {
getURL ("http://www.sugar-free-games.com", "_blank");
}
Symbol 70 Button
on (release) {
_parent.CurrLevel = L;
if (L == 1) {
_parent.gotoAndStop("Instructions");
} else {
_parent.gotoAndPlay("Init");
}
}
Symbol 122 Button
on (release) {
_parent.gotoAndStop("Submit Score");
}
Symbol 131 Button
on (release) {
gotoAndStop ("Reset");
}
Symbol 136 Button
on (release) {
ResetGame();
SaveGame();
gotoAndStop ("Level Select");
}
Symbol 137 Button
on (release) {
gotoAndStop ("Level Select");
}
Symbol 141 Button
on (release) {
gotoAndPlay ("Init");
}
Symbol 166 Button
on (press) {
_parent._parent.SelectEntrance(Index);
}
Symbol 179 Button
on (press) {
RotateArrow();
}
Symbol 193 MovieClip Frame 1
function RotateArrow() {
CurrDir++;
if (CurrDir >= PossibleDirs.length) {
CurrDir = 0;
}
_parent._parent._parent.LevelMap[x][y] = 10 + PossibleDirs[CurrDir];
gotoAndStop(PossibleDirs[CurrDir]);
}
Symbol 196 MovieClip Frame 1
stop();
Symbol 237 MovieClip Frame 1
stop();
Symbol 322 MovieClip Frame 1
stop();
Symbol 329 MovieClip Frame 1
stop();
Symbol 339 MovieClip Frame 1
stop();
Symbol 339 MovieClip Frame 4
gotoAndStop (1);
Symbol 347 MovieClip Frame 1
stop();
Symbol 355 MovieClip Frame 1
stop();
Symbol 380 MovieClip Frame 1
stop();
Symbol 380 MovieClip Frame 4
gotoAndStop (1);
Symbol 390 MovieClip Frame 1
stop();
Symbol 390 MovieClip Frame 5
gotoAndStop (1);
Symbol 416 MovieClip Frame 1
stop();
Symbol 416 MovieClip Frame 12
_parent.Die();
Symbol 428 MovieClip Frame 1
stop();
Symbol 428 MovieClip Frame 9
_parent.Die();
Symbol 432 MovieClip Frame 1
stop();
Symbol 432 MovieClip Frame 12
_parent.Die();
Symbol 447 Button
on (press) {
_parent.AddMonster();
}
Symbol 448 MovieClip Frame 1
stop();
Symbol 478 Button
on (press) {
SelectedMonster++;
if (SelectedMonster >= MonsterTypes.length) {
SelectedMonster = 1;
}
UpdateInfo();
}
Symbol 479 Button
on (press) {
SelectedMonster--;
if (SelectedMonster < 1) {
SelectedMonster = MonsterTypes.length - 1;
}
UpdateInfo();
}
Symbol 483 Button
on (press) {
if (MonsterTypes[SelectedMonster].SelectedLevel < (MonsterTypes[SelectedMonster].Levels.length - 1)) {
MonsterTypes[SelectedMonster].SelectedLevel++;
}
UpdateInfo();
}
Symbol 484 Button
on (press) {
if (MonsterTypes[SelectedMonster].SelectedLevel > 1) {
MonsterTypes[SelectedMonster].SelectedLevel--;
}
UpdateInfo();
}
Symbol 487 Button
on (press) {
SelectedEntrance++;
if (SelectedEntrance >= Entrances.length) {
SelectedEntrance = 1;
}
SelectEntrance(SelectedEntrance);
}
Symbol 488 Button
on (press) {
SelectedEntrance--;
if (SelectedEntrance < 1) {
SelectedEntrance = Entrances.length - 1;
}
SelectEntrance(SelectedEntrance);
}
Symbol 489 Button
on (release) {
Paused = true;
GA._visible = false;
for (ob in this) {
if (this[ob] instanceof Button) {
this[ob].active = false;
}
}
Opt._visible = true;
SoundControl.stop();
S9Playing = false;
S10Playing = false;
}
Symbol 492 Button
on (press) {
_parent.SoundOn = !_parent.SoundOn;
if (_parent.SoundOn) {
gotoAndStop (1);
_parent.SoundControl.setVolume(100);
} else {
gotoAndStop (2);
_parent.SoundControl.setVolume(0);
}
}
Symbol 493 MovieClip Frame 1
if (!_parent.SoundOn) {
gotoAndStop (2);
} else {
stop();
}
Symbol 500 Button
on (release) {
for (ob in _parent) {
if (_parent[ob] instanceof BUtton) {
_parent[ob].enabled = true;
}
}
_parent.GA._visible = true;
this._visible = false;
_parent.Paused = false;
}
Symbol 501 Button
on (release) {
_parent.gotoAndStop("Failed");
}
Symbol 502 Button
on (press) {
getURL ("http://www.sugar-free-games.com/antigames.php", "_blank");
}
Symbol 503 Button
on (press) {
getURL ("http://www.sugar-free-games.com", "_blank");
}
Symbol 504 Button
on (press) {
getURL ("http://www.sugar-free-games.com/showgame.php?game=1127", "_blank");
}
Symbol 505 Button
on (press) {
getURL ("http://www.sugar-free-games.com/antitd.php", "_blank");
}
Symbol 523 Button
on (press) {
if (UserName.length > 0) {
_parent.LastSubmitted = _parent.TotalScore;
_parent.SaveGame();
Masks = new Array("dskfhKJFDkjh48hakldfsjh(dlsnfjasd", "LDJFkjlfjgFDkjhru84957", "98457UUyih48hjkdfh48DFHj8", "FDlkjrioijOIJFDi9ewfpofkjlgjnvdfigj", "FDLKjirgjotjg687ollfkdsj9frjlrkfj", "fdjkpwegpIioigjIperpofk9435KDJFlk94j", "DFSLKjeoi40fpjfirejijgtri%rfjoiejfirenj", "FIPierionmcrioniOU7JFUenuofvon");
Data = new Array();
Data[0] = random(Masks.length);
Data[1] = random(Masks[Data[0]].length);
Data[2] = UserName.length;
ScoreSt = UserScore.toString();
Data[3] = ScoreSt.length;
i = 0;
while (i < Data[2]) {
Data[5 + i] = ord(UserName.charAt(i));
i++;
}
i = 0;
while (i < Data[3]) {
Data[(5 + Data[2]) + i] = ord(ScoreSt.charAt(i));
i++;
}
CheckSum = 0;
i = 5;
while (i < Data.length) {
CheckSum = CheckSum + Data[i];
i++;
}
Data[4] = CheckSum % 100;
COS = Data[1];
i = 2;
while (i < Data.length) {
MaskCo = ord(Masks[Data[0]].charAt(COS)) % 40;
if (MaskCo == 0) {
MaskCo = 40;
}
Data[i] = Data[i] + ord(Masks[Data[0]].charAt(COS));
Data[i] = Data[i] * MaskCo;
COS++;
if (COS >= Masks[Data[0]].length) {
COS = 0;
}
i++;
}
Output = Data.join("x");
Dt.res = Output;
SendData = true;
RName = UserName;
RScore = UserScore;
gotoAndStop (4);
} else {
Nm.gotoAndPlay(2);
}
}
Symbol 526 MovieClip Frame 1
stop();
Symbol 527 Button
on (press) {
_parent.gotoAndStop("Level Select");
}
Symbol 544 Button
on (press) {
SendData = true;
}
Symbol 545 MovieClip Frame 1
Ind = ScoreInd;
Par = _parent.TotalScore;
ScoreText = _parent.NumberFormat(_parent.TotalScore);
UserScore = _parent.TotalScore;
Selection.setFocus("UserName");
_parent.Score = 0;
stop();
Instance of Symbol 536 MovieClip "Dt" in Symbol 545 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_parent.SendData) {
getURL ("http://www.sugar-free-games.com/antitd.php", "_blank", "POST");
_parent.SendData = false;
}
}
Symbol 545 MovieClip Frame 2
gotoAndStop (1);
Symbol 545 MovieClip Frame 3
gotoAndStop (4);
Symbol 545 MovieClip Frame 4
RName = "Name: " + RName;
RScore = "Score: " + RScore;
stop();
Symbol 545 MovieClip Frame 5
gotoAndStop (4);