Frame 1
stop();
this.onEnterFrame = function () {
var percentage = ((_root.getBytesLoaded() / _root.getBytesTotal()) * 100);
this.percentageDisplay = ("loading.." + Math.min(100, int(percentage * 4))) + "%";
if ((percentage == 100) || (_root._framesloaded >= 4)) {
this.onEnterFrame = undefined;
_root.nextFrame();
}
};
Frame 30
snd = new Object();
snd.channels = new Array();
snd.loops = new Array();
snd.global = new Sound();
snd.global.setVolume(100);
snd.active = 1;
snd.actMc = 0;
snd.idMc = 0;
snd.mcs = new Array();
snd.channelsAmount = 8;
var i = 0;
while (i < snd.channelsAmount) {
snd.mcs[i] = _root.createEmptyMovieClip("sndMc" + this.idMc, this.idMc++);
snd.channels[i] = new Sound(snd.mcs[i]);
snd.channels[i].onSoundComplete = function () {
this.playing = false;
this.locked = false;
this.fading = false;
this.fadeTo = 0;
this.fadeSpeed = 0;
};
snd.channels[i].playing = false;
snd.channels[i].id = i;
i++;
}
_root.createEmptyMovieClip("sndMcEvents", this.idMc++);
_root.sndMcEvents.onEnterFrame = function () {
with (_root.snd) {
var i = 0;
while (i < channelsAmount) {
if (channels[i].fading) {
var channel = channels[i];
var newVol = (channel.volume + (channel.fadeSpeed * 100));
newVol = ((channel.fadeSpeed > 0) ? (Math.min(channel.fadeTo, newVol)) : (Math.max(channel.fadeTo, newVol)));
channel.setVolume(channel.volume);
if (newVol == channel.volume) {
channel.fading = false;
}
channel.volume = newVol;
if ((newVol == 0) && (channel.fadeOutFlag)) {
channel.fadeOutFlag = false;
channel.stop();
channel.locked = false;
channel.playing = false;
channel.fading = false;
}
}
i++;
}
}
};
snd.playLoop = function (id, volume) {
if (volume eq "") {
volume = 1;
}
var channel = this.getChannel();
channel.attachSound(id);
channel.start(0, 99999);
channel.setVolume(Math.min(100, volume * 100));
channel.volume = volume * 100;
channel.locked = true;
channel.libId = id;
channel.playing = true;
this.loops[id] = channel;
return(channel);
};
snd.fadeChannel = function (channel, to, time) {
if (to == -1) {
channel.fadeOutFlag = true;
to = 0;
}
if (time == 0) {
channel.volume = to * 100;
channel.setVolume(channel.volume);
channel.fading = false;
return(undefined);
}
channel.fading = true;
channel.fadeTo = Math.min(100, to * 100);
channel.fadeSpeed = (to - channel.volume) / time;
};
snd.playEvent = function (id, volume) {
if (volume eq "") {
volume = 1;
}
var channel = this.getChannel();
channel.attachSound(id);
channel.start(0, 0);
channel.setVolume(Math.min(100, volume * 100));
channel.volume = volume * 100;
channel.libId = id;
channel.playing = true;
return(channel);
};
snd.getChannel = function () {
var oldestPos = -1;
var oldestId = -1;
var i = 0;
while (i < this.channels.length) {
var channel = this.channels[i];
if (!channel.locked) {
if (channel.playing) {
if (channel.position > oldestPos) {
oldestPos = channel.position;
oldestId = channel.id;
}
} else {
return(this.channels[i]);
}
}
i++;
}
if (oldestId != -1) {
trace("return old: " + oldestId);
return(this.channels[oldestId]);
}
trace("##ERROR: SOUND : no free channel..");
};
snd.stop = function (id) {
if (id eq "") {
return(this.stopAll());
}
var i = 0;
while (i < this.channels.length) {
if (this.channels[i].libId == id) {
this.channels[i].stop();
this.channels[i].locked = false;
this.channels[i].playing = false;
this.channels[i].locked = false;
}
i++;
}
};
snd.stopAll = function () {
for (var i in this.channels) {
this.channels[i].stop();
this.channels[i].locked = false;
this.channels[i].fading = false;
this.channels[i].playing = false;
}
};
game = "turbospirit";
Frame 31
_root.sndChannelBass = _root.snd.playLoop("musicIntro");
_root.sndChannelBeat = _root.snd.playLoop("musicIntroBeat", 0);
_root.sndChannelMotors = _root.snd.playLoop("sndMotors", 0);
Frame 46
_root.snd.fadeChannel(_root.sndChannelMotors, 0.5, 10);
Frame 73
_root.snd.fadeChannel(_root.sndChannelMotors, 0.3, 30);
Frame 81
Frame 121
Frame 132
_root.snd.fadeChannel(_root.sndChannelMotors, 0.6, 30);
Frame 177
sndChannelStart = _root.snd.playEvent("sndRaceStart");
_root.snd.fadeChannel(_root.sndChannelMotors, 0, 30);
Frame 259
_root.snd.fadeChannel(_root.sndChannelBeat, 1, 30);
Frame 262
_root.snd.fadeChannel(_root.sndChannelStart, -1, 10);
_root.snd.fadeChannel(_root.sndChannelMotors, -1, 10);
Frame 282
stop();
this.onEnterFrame = function () {
var percentage = ((_root.getBytesLoaded() / _root.getBytesTotal()) * 100);
if (percentage == 100) {
this.percentageDisplay = "";
this.onEnterFrame = undefined;
_root.nextFrame();
} else {
this.percentageDisplay = ("loading.." + int(percentage)) + "%";
_root.snd.fadeChannel(_root.sndChannelBeat, 0.2, 90);
_root.snd.fadeChannel(_root.sndChannelBass, 0.2, 90);
}
};
Frame 283
play();
Frame 284
_root.snd.fadeChannel(_root.sndChannelStart, -1, 10);
_root.snd.fadeChannel(_root.sndChannelMotors, -1, 10);
_root.snd.fadeChannel(_root.sndChannelBeat, 1, 0);
_root.snd.fadeChannel(_root.sndChannelBass, 1, 0);
_quality = "medium";
reset = function () {
_root.terrains = ["plain", "dirt", "night", "fog"];
_root.statistics = new Array();
_root.totalScore = 0;
_root.races = 0;
for (var i in _root.terrains) {
_root.statistics[_root.terrains[i]] = {score:-1, checkpoints:[], winner:0};
}
Mouse.show();
};
trace("url: " + _url);
if (((_url.indexOf("http://www.neodelight.") == 0) || (_url.indexOf("http://games.neodelight.") == 0)) || ((_url.indexOf("developement") != -1) && (_url.indexOf("file://") == 0))) {
getURL ("javascript:if (top.location != location) top.location.href ='http://www.neodelight.com/';");
demoVersion = false;
} else {
demoVersion = true;
}
Frame 285
String.numberFormat = function (num, digits) {
var str = String(int(num));
var i = (str.length - 4);
while (i >= 0) {
str = (str.substring(0, i + 1) + ",") + str.substr(i + 1);
i = i - 3;
}
if (int(digits) > 0) {
str = str + ".";
num = String(int((num - int(num)) * Math.pow(10, digits)));
while (num.length < digits) {
num = "0" + num;
}
str = str + num;
}
return(str);
};
reset();
stop();
Frame 291
prevFrame();
Frame 295
prevFrame();
Frame 302
for (var i in terrains) {
var mc = this[terrains[i]];
var score = statistics[terrains[i]].score;
if (int(score) < 0) {
mc.gotoAndStop(1);
} else {
mc.scoreDisplay = String.numberFormat(score) + "\nPOINTS";
mc.gotoAndStop(2);
}
}
totalScoreDisplay = "TOTAL SCORE: " + String.numberFormat(_root.totalScore);
Mouse.show();
stop();
Frame 313
play();
_root.snd.fadeChannel(_root.sndChannelBeat, -1, 30);
_root.snd.fadeChannel(_root.sndChannelBass, -1, 30);
Frame 320
_root.snd.fadeChannel(_root.sndChannelBeat, -1, 30);
_root.snd.fadeChannel(_root.sndChannelBass, -1, 30);
Frame 336
_root.snd.stopAll();
_root.sndChannelMusic = _root.snd.playLoop("music0");
_root.sndChannelSqueal = _root.snd.playLoop("sndSqueal", 0);
_root.sndChannelMotors = _root.snd.playLoop("sndMotors", 0);
_root.snd.fadeChannel(_root.sndChannelMotors, 0.2, 20);
Mouse.hide();
stop();
Frame 337
prevFrame();
Frame 339
Mouse.show();
_root.snd.stopAll();
_root.sndChannelBass = _root.snd.playLoop("musicIntro", 0.7);
_root.sndChannelBeat = _root.snd.playLoop("musicIntroBeat", 0.7);
races++;
if (_root.statistics[_root.level].winner) {
emotion.gotoAndStop(2);
} else {
emotion.gotoAndStop(1);
}
var checkArr = _root.statistics[_root.level].checkpoints;
var totalBonus = 0;
var totalTime = 0;
boniDisplay = "";
timesDisplay = "";
if (checkArr.length == 5) {
finishingBonusDisplay = "FINISHING BONUS: 50,000";
actScore = actScore + 50000;
} else {
finishingBonusDisplay = "";
}
_root.statistics[_root.level].score = _root.actScore;
_root.totalScore = _root.totalScore + _root.actScore;
var i = 0;
while (i < checkArr.length) {
var checkpoint = checkArr[i];
boniDisplay = boniDisplay + (String.numberFormat(checkpoint.bonus) + newline);
timesDisplay = timesDisplay + (String.numberFormat(checkpoint.time / 1000, 2) + "s\n");
totalTime = totalTime + checkpoint.time;
totalBonus = totalBonus + checkpoint.bonus;
i++;
}
var i = checkArr.length;
while (i < 5) {
boniDisplay = boniDisplay + "--\n";
timesDisplay = timesDisplay + "--\n";
i++;
}
boniDisplay = boniDisplay + String.numberFormat(totalBonus);
timesDisplay = timesDisplay + (String.numberFormat(totalTime / 1000, 2) + "s");
if (_root.demoVersion) {
actScoreDisplay = "";
totalScoreDisplay = "";
totalScoreDisplay2 = "TOTAL SCORE: " + String.numberFormat(totalScore);
} else {
actScoreDisplay = "LEVEL SCORE: " + String.numberFormat(actScore);
totalScoreDisplay = "TOTAL SCORE: " + String.numberFormat(totalScore);
totalScoreDisplay2 = "";
}
if (_root.demoVersion) {
nextStep = "playfull";
} else if (races < 4) {
nextStep = "chooselevel";
} else {
var racesWon = 0;
for (var i in terrains) {
if (statistics[terrains[i]].checkpoints.length == 5) {
racesWon++;
}
}
trace("races won: " + racesWon);
if (racesWon == terrains.length) {
nextStep = "champion";
} else {
nextStep = "gameover";
}
}
stop();
Frame 340
prevFrame();
Frame 347
stop();
Frame 355
totalScoreDisplay = "FINAL SCORE: " + totalScore;
_root.statistics[_root.level].score;
for (var i in _root.terrains) {
_root["total" + _root.terrains[i]] = String.numberFormat(_root.statistics[_root.terrains[i]].score);
}
totalScoreDisplay = String.numberFormat(totalScore);
stop();
Symbol 6 Button
on (release) {
getURL ("http://www.neodelight.com?ref=turbospirit&ref_loc=intro", "_BLANK");
}
Symbol 12 MovieClip Frame 1
trace((_parent._currentframe + "/") + _parent._totalframes);
Symbol 12 MovieClip Frame 2
trace((_parent._currentframe + "/") + _parent._totalframes);
Symbol 18 MovieClip Frame 1
startFrame = _parent._currentframe;
Symbol 18 MovieClip Frame 2
vol = (1 - ((_parent._currentFrame - startFrame) / (_parent._totalFrames - startFrame))) * 100;
if (vol < 0) {
vol = 0;
}
_parent.snd.setVolume(vol);
Symbol 18 MovieClip Frame 3
gotoAndPlay (2);
Symbol 19 MovieClip Frame 1
snd = new Sound(this);
snd.setVolume(100);
_parent.stop();
Symbol 19 MovieClip Frame 123
stop();
_parent.play();
Symbol 25 MovieClip Frame 1
stop();
Symbol 31 Button
on (release, keyPress "<Space>") {
_root.gotoAndPlay("game");
}
Symbol 32 MovieClip Frame 10
stop();
Symbol 46 MovieClip Frame 6
stop();
Symbol 164 MovieClip Frame 1
stop();
Symbol 164 MovieClip Frame 4
gotoAndPlay (2);
Symbol 183 MovieClip Frame 1
stop();
Symbol 199 MovieClip Frame 1
stop();
Symbol 203 Button
on (release) {
if (_root.demoVersion) {
_root.level = "plain";
_root.gotoAndPlay("startdemo");
} else {
_root.gotoAndStop("chooselevel");
}
}
Symbol 206 Button
on (press) {
if (_root.demoVersion) {
_root.gotoAndStop("helpdemo");
} else {
_root.gotoAndStop("help");
}
}
Symbol 208 Button
on (release) {
getURL ((("http://www.neodelight.com/?ref=moregames&ref_game=" + _root.game) + "&ref_ver=") + _root.version, "_top");
}
Symbol 210 Button
on (press) {
getURL ("http://www.neodelight.com/highscores_turbospirit_.html", "_top");
}
Symbol 227 Button
on (release) {
var s = new Sound();
s.setVolume(0);
_root.snd.active = 0;
nextFrame();
}
Symbol 232 Button
on (release) {
_root.snd.active = 1;
prevFrame();
}
Symbol 234 Button
on (release) {
var s = new Sound();
s.setVolume(100);
_root.snd.active = 1;
prevFrame();
}
Symbol 235 MovieClip Frame 1
stop();
var s = new Sound();
if (s.getVolume() == 0) {
nextFrame();
}
Symbol 241 Button
on (release) {
getURL ("http://www.neodelight.com/webmaster", "_blank");
}
Symbol 245 MovieClip Frame 1
#initclip 1
_global.api = new Object();
_global.api.debug = new Object();
_global.api.highscore = new Object();
_global.api.debug.describe = function (o) {
switch (typeof(o)) {
case "movieclip" :
return("/" + o._target);
case "object" :
case "array" :
var d = typeof(o);
var first = true;
for (var i in o) {
if (!first) {
d = d + ", ";
} else {
d = d + "{";
first = false;
}
d = d + ((i + ": ") + _global.api.debug.describe(o[i]));
}
if (!first) {
d = d + "}";
}
return(d);
case "number" :
case "string" :
}
return(o.toString());
};
_global.api.highscore.initSession = function () {
this.session = "";
while (this.session.length < 20) {
this.session = this.session + this.charTable.charAt(Math.round(Math.random() * (this.charTable.length - 1)));
}
this.charTableIndex = new Array();
var i = 0;
while (i < this.charTable.length) {
this.charTableIndex[this.charTable.charCodeAt(i)] = i;
i++;
}
};
_global.api.highscore.submit = function (pGame, pDisciple, pScore0, pScore1) {
var s = (("g=" + pGame) + "&");
s = s + (("d=" + pDisciple) + "&");
s = s + (("s0=" + pScore0) + "&");
s = s + (("s1=" + pScore1) + "&");
s = s + ("se=" + escape(session));
s = s + "&c=42";
var urlSubmit = ((this.urlSubmit + "?s=") + escape(this.encrypt(this.encrypt(s, this.keystring), this.keystring2)));
trace(urlSubmit);
getURL (urlSubmit, "_blank");
};
_global.api.highscore.encrypt = function (text, pKey) {
var crypt = "";
var checkSum = 0;
var shift;
var code;
var i = 0;
while (i < text.length) {
char = this.charTableIndex[text.charCodeAt(i)];
shift = this.charTableIndex[pKey.charCodeAt(i % pKey.length)];
code = (char + shift) + checkSum;
code = code % this.charTable.length;
crypt = crypt + this.charTable.charAt(code);
checkSum = checkSum + code;
i++;
}
checkSum = checkSum % this.charTable.length;
return((crypt + "") + this.charTable.charAt(checkSum));
};
_global.api.highscore.charTable = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&=.";
_global.api.highscore.keystring = "whytheheckdoyouwasteyourtimehackingthishighscorelist";
_global.api.highscore.keystring2 = "AnotherKey4You2FindOut4815jiagIOm30JK";
_global.api.highscore.urlSubmit = "http://www.neodelight.com/v4/high_enter.php";
_global.api.highscore.initSession();
#endinitclip
_visible = false;
Symbol 248 Button
on (press) {
_root.gotoAndStop("menu");
}
Symbol 267 Button
on (release) {
_root.level = _name;
_root.gotoAndStop("start");
}
Symbol 271 MovieClip Frame 1
stop();
Symbol 277 Button
on (release) {
_root.level = _name;
_root.gotoAndStop("start");
}
Symbol 284 Button
on (release) {
_root.level = _name;
_root.gotoAndStop("start");
}
Symbol 291 Button
on (release) {
_root.level = _name;
_root.gotoAndStop("start");
}
Symbol 308 MovieClip Frame 1
this.lvls = new Array();
this.lvls.plain = new Array([0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 5, 6], [0, 10, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 7], [2, 0, 7], [3, 0, 7], [4, 0, 7], [3, 0, 7], [2, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 0, 7], [4, 0, 7], [6, 0, 7], [8, 0, 7], [6, 0, 7], [4, 0, 0], [2, 0, 51], [1, 0, 52], [0, 0, 0], [0, 0, 0], [-2, 7, 0], [-4, 7, 0], [-5, 7, 0], [-4, 7, 0], [-2, 0, 0], [0, 0, 0], [2, 0, 7], [3, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [3, 0, 0], [2, 0, 0], [1, 0, 0], [0, 20, 0], [0, 0, 0], [0, 0, 0], [0, 21, 0], [1, 0, 7], [2, 0, 7], [3, 0, 7], [2, 0, 7], [1, 0, 0], [0, 2, 1], [-2, 0, 0], [-3, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 0], [-7, 7, 0], [-8, 7, 0], [-8, 7, 0], [-8, 7, 0], [-8, 7, 0], [-8, 7, 0], [-7, 7, 0], [-6, 7, 0], [-5, 7, 0], [-4, 0, 0], [-3, 0, 0], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 55, 0], [0, 53, 0], [0, 0, 54], [0, 0, 0], [0, 58, 50], [0, 0, 51], [0, 59, 0], [0, 0, 0], [0, 4, 9], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 52, 7], [4, 55, 7], [6, 0, 7], [6, 0, 7], [6, 0, 7], [4, 51, 7], [2, 0, 0], [0, 0, 0], [-2, 7, 52], [-4, 7, 57], [-6, 7, 0], [-8, 7, 0], [-10, 7, 58], [-8, 7, 59], [-6, 7, 0], [-4, 7, 0], [2, 0, 0], [0, 0, 0], [0, 0, 52], [0, 53, 54], [0, 0, 0], [1, 57, 7], [2, 58, 7], [3, 56, 7], [2, 0, 7], [-2, 7, 0], [-5, 7, 0], [-8, 7, 0], [-10, 7, 0], [-8, 7, 0], [-7, 7, 0], [-6, 7, 0], [-5, 7, 0], [-4, 7, 0], [-3, 7, 0], [-2, 7, 54], [-3, 7, 53], [-3, 7, 0], [-3, 7, 52], [-3, 0, 0], [-2, 0, 0], [-1, 54, 53], [0, 0, 54], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 54, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [2, 0, 0], [2, 20, 0], [3, 0, 7], [3, 0, 7], [3, 0, 7], [3, 0, 7], [3, 0, 0], [2, 0, 22], [2, 0, 0], [2, 0, 0], [1, 0, 0], [1, 23, 0], [0, 0, 0], [-1, 0, 0], [-1, 0, 0], [-2, 3, 8], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 1, 2], [0, 0, 0], [1, 0, 0], [2, 0, 7], [3, 0, 7], [4, 51, 7], [5, 0, 7], [6, 54, 7], [7, 0, 7], [8, 57, 7], [9, 0, 7], [10, 0, 7], [9, 0, 7], [8, 0, 7], [7, 0, 7], [6, 0, 7], [5, 55, 7], [4, 0, 7], [4, 0, 7], [3, 0, 7], [3, 0, 7], [2, 0, 0], [2, 0, 0], [1, 0, 20], [1, 53, 0], [0, 0, 0], [0, 51, 0], [0, 0, 0], [0, 0, 20], [0, 0, 0], [-1, 0, 0], [-3, 7, 0], [-5, 7, 54], [-7, 7, 0], [-8, 7, 0], [-8, 7, 0], [-7, 7, 50], [-6, 7, 51], [-4, 0, 0], [-2, 57, 53], [-1, 0, 57], [0, 0, 0], [0, 0, 0], [0, 4, 9], [0, 0, 0], [0, 0, 51], [0, 0, 0], [0, 0, 0], [0, 23, 24], [0, 0, 0], [0, 51, 52], [0, 54, 0], [-2, 7, 54], [-4, 7, 55], [-6, 7, 0], [-8, 7, 0], [-6, 7, 54], [-4, 7, 0], [-2, 0, 57], [0, 58, 59], [2, 57, 54], [4, 56, 7], [6, 55, 7], [8, 0, 7], [6, 53, 7], [4, 51, 7], [2, 50, 0], [1, 52, 51], [0, 0, 0], [0, 0, 57], [0, 56, 0], [0, 58, 59], [1, 0, 57], [1, 55, 0], [2, 52, 53], [2, 0, 7], [3, 51, 7], [3, 0, 7], [5, 53, 7], [8, 56, 7], [10, 0, 7], [10, 52, 7], [10, 0, 7], [7, 57, 7], [4, 58, 7], [3, 0, 7], [2, 0, 7], [2, 56, 0], [2, 0, 0], [2, 0, 51], [2, 58, 0], [2, 59, 56], [2, 0, 0], [2, 52, 51], [1, 55, 0], [1, 0, 0], [0, 0, 0], [0, 3, 8], [0, 0, 0], [0, 0, 0], [-2, 7, 0], [-4, 7, 0], [-6, 7, 52], [-4, 7, 0], [-2, 55, 54], [0, 0, 56], [2, 57, 7], [4, 0, 7], [6, 59, 7], [8, 58, 7], [6, 0, 7], [4, 56, 7], [2, 0, 0], [0, 54, 55], [-2, 7, 0], [-4, 7, 52], [-6, 7, 0], [-8, 7, 51], [-10, 7, 0], [-8, 7, 0], [-6, 7, 50], [-4, 7, 0], [-2, 7, 0], [-2, 7, 52], [-2, 7, 53], [-3, 7, 0], [-4, 7, 54], [-5, 7, 0], [-7, 7, 0], [-9, 7, 56], [-10, 7, 55], [-10, 7, 0], [-10, 7, 0], [-9, 7, 0], [-9, 7, 0], [-7, 7, 0], [-5, 7, 0], [-2, 0, 0], [0, 51, 50], [0, 58, 59], [0, 57, 0], [0, 0, 0], [0, 0, 0], [0, 11, 1], [0, 0, 0], [-1, 0, 0], [-1, 0, 0], [-2, 55, 51], [-2, 0, 52], [-3, 0, 0], [-3, 53, 65], [-3, 7, 64], [-4, 7, 0], [-4, 7, 65], [-4, 7, 0], [-4, 7, 0], [-4, 7, 0], [-3, 0, 54], [-3, 51, 50], [-3, 0, 0], [-3, 52, 63], [-3, 55, 59], [-3, 65, 0], [-2, 0, 64], [-2, 0, 0], [-2, 56, 52], [-1, 61, 65], [0, 60, 63], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [-3, 7, 60], [-5, 7, 61], [-7, 7, 63], [-4, 7, 51], [-1, 65, 52], [2, 64, 65], [5, 0, 7], [8, 0, 7], [10, 0, 7], [12, 65, 7], [13, 64, 7], [10, 59, 7], [7, 0, 7], [3, 61, 0], [1, 0, 62], [0, 64, 63], [0, 65, 59], [2, 63, 0], [4, 58, 58], [7, 57, 7], [8, 0, 7], [5, 51, 7], [2, 61, 64], [-1, 65, 52], [-4, 7, 56], [-7, 7, 55], [-8, 7, 0], [-9, 7, 62], [-7, 7, 59], [-4, 7, 58], [-1, 64, 0], [2, 60, 61], [5, 64, 7], [7, 65, 7], [8, 50, 7], [7, 0, 7], [7, 51, 7], [7, 0, 7], [7, 65, 7], [5, 64, 7], [3, 65, 65], [2, 63, 62], [1, 62, 61], [0, 65, 64], [0, 64, 65], [0, 54, 55], [0, 0, 64], [0, 51, 54], [0, 0, 65], [0, 0, 64], [0, 0, 0], [0, 0, 0], [0, 21, 22], [0, 0, 65], [0, 64, 58], [3, 61, 60], [6, 63, 7], [9, 60, 7], [12, 62, 7], [11, 63, 7], [10, 64, 7], [9, 60, 7], [7, 61, 7], [5, 62, 7], [3, 64, 60], [2, 65, 64], [1, 0, 65], [0, 0, 0], [0, 23, 24], [0, 56, 65], [0, 64, 57], [3, 62, 61], [6, 60, 7], [9, 62, 7], [12, 63, 7], [11, 62, 7], [10, 63, 7], [7, 62, 7], [4, 61, 7], [2, 63, 64], [0, 60, 65], [0, 0, 0], [-3, 61, 65], [-6, 7, 64], [-9, 7, 0], [-6, 7, 50], [-3, 54, 52], [-2, 0, 54], [1, 59, 64], [2, 65, 51], [2, 0, 64], [2, 64, 65], [2, 61, 62], [2, 62, 63], [3, 65, 63], [3, 60, 61], [3, 100, 1], [3, 100, 1], [3, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 61, 63], [0, 63, 64], [0, 62, 62], [0, 61, 63], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 61, 50], [1, 63, 62], [2, 64, 65], [2, 65, 54], [2, 0, 0], [2, 0, 0], [1, 0, 0], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 0, 64], [0, 54, 65], [0, 0, 64], [2, 0, 7], [3, 0, 7], [6, 65, 7], [3, 0, 7], [2, 64, 65], [0, 65, 64], [0, 20, 20], [0, 64, 0], [2, 0, 65], [4, 0, 7], [7, 0, 7], [4, 0, 7], [2, 21, 22], [0, 0, 65], [2, 65, 7], [3, 61, 7], [7, 55, 7], [6, 54, 7], [5, 0, 7], [2, 62, 63], [-2, 64, 51], [-3, 7, 0], [-5, 7, 52], [-4, 7, 0], [-3, 7, 58], [-2, 7, 59], [-3, 7, 51], [-7, 7, 0], [-3, 7, 60], [0, 65, 64], [0, 62, 0], [0, 63, 52], [0, 57, 55], [0, 59, 62], [0, 0, 58], [-3, 7, 60], [-6, 7, 55], [-8, 7, 59], [-7, 7, 63], [-5, 7, 57], [-3, 7, 64], [-1, 60, 61], [0, 63, 56], [0, 53, 52], [0, 0, 64], [2, 51, 0], [3, 65, 7], [4, 0, 7], [4, 0, 7], [4, 54, 7], [4, 54, 7], [4, 0, 7], [3, 0, 7], [3, 0, 7], [3, 0, 7], [3, 0, 7], [3, 0, 0], [0, 2, 1], [-3, 7, 0], [-6, 7, 0], [-9, 7, 0], [-12, 7, 55], [-13, 7, 56], [-12, 7, 0], [-10, 7, 58], [-8, 7, 59], [-5, 7, 51], [-2, 64, 0], [-1, 56, 52], [2, 0, 65], [4, 0, 7], [5, 0, 7], [4, 0, 7], [2, 55, 54], [1, 0, 0], [0, 59, 0], [0, 0, 58], [0, 58, 57], [0, 0, 53], [0, 0, 0], [3, 52, 7], [7, 51, 7], [9, 0, 7], [6, 54, 54], [3, 55, 56], [2, 56, 57], [0, 1, 2], [3, 52, 7], [5, 53, 7], [4, 54, 7], [2, 55, 7], [1, 59, 7], [2, 58, 7], [5, 54, 7], [7, 52, 7], [10, 50, 7], [12, 51, 7], [13, 59, 7], [10, 57, 7], [7, 56, 7], [5, 55, 7], [3, 50, 52], [1, 51, 53], [0, 56, 54], [0, 57, 58], [0, 59, 56], [0, 58, 59], [-3, 7, 52], [-5, 7, 53], [-6, 7, 52], [-6, 7, 51], [-5, 7, 53], [-5, 7, 58], [-4, 7, 59], [-4, 7, 58], [-3, 55, 57], [-3, 52, 56], [-2, 58, 59], [-2, 59, 52], [-1, 57, 53], [0, 52, 0], [0, 57, 54], [0, 54, 0], [0, 58, 53], [3, 0, 52], [6, 53, 7], [7, 55, 7], [5, 56, 7], [3, 57, 7], [2, 59, 56], [1, 58, 52], [0, 59, 53], [0, 57, 54], [0, 56, 52], [2, 57, 53], [3, 56, 7], [5, 58, 7], [4, 59, 7], [2, 51, 52], [1, 50, 53], [0, 59, 54], [0, 60, 55], [0, 54, 50], [0, 53, 0], [0, 0, 0], [0, 56, 64], [0, 0, 54], [0, 55, 65], [0, 58, 0], [0, 0, 56], [0, 52, 53], [0, 0, 54], [0, 58, 59], [0, 54, 54], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 57, 54], [0, 56, 0], [0, 0, 0], [0, 0, 0], [0, 4, 9], [0, 0, 0], [0, 51, 52], [0, 54, 58], [0, 2, 1], [-1, 65, 57], [-3, 7, 64], [-6, 7, 0], [-8, 7, 65], [-10, 7, 0], [-11, 7, 0], [-11, 7, 53], [-11, 7, 52], [-10, 7, 0], [-9, 7, 0], [-7, 7, 51], [-6, 7, 58], [-5, 7, 0], [-8, 7, 59], [-11, 7, 0], [-13, 7, 0], [-10, 7, 52], [-7, 7, 0], [-3, 7, 53], [-2, 0, 57], [-1, 65, 64], [0, 0, 54], [0, 54, 0], [0, 0, 0], [0, 0, 64], [2, 65, 0], [5, 0, 0], [6, 0, 7], [6, 0, 7], [6, 0, 7], [5, 0, 7], [2, 0, 0], [1, 0, 0], [1, 23, 24], [1, 0, 0], [1, 0, 0], [2, 0, 0], [2, 0, 0], [2, 20, 20], [2, 64, 0], [2, 0, 0], [2, 0, 0], [2, 0, 0], [1, 23, 24], [0, 0, 0], [-1, 0, 65], [-2, 0, 0], [-2, 0, 0], [-2, 2, 1], [-2, 7, 0], [-3, 7, 0], [-3, 7, 0], [-3, 7, 0], [-6, 7, 0], [-9, 7, 0], [-11, 7, 0], [-12, 7, 0], [-12, 7, 0], [-12, 7, 0], [-10, 7, 0], [-8, 7, 0], [-6, 7, 0], [-4, 7, 0], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [2, 0, 0], [4, 0, 0], [6, 0, 7], [7, 0, 7], [7, 0, 7], [7, 0, 7], [7, 0, 7], [7, 0, 7], [7, 0, 7], [7, 0, 7], [5, 0, 7], [3, 0, 0], [2, 0, 0], [1, 0, 0], [0, 64, 0], [0, 61, 65], [0, 60, 62], [0, 100, 1], [1, 100, 1], [2, 100, 1], [3, 100, 1], [4, 100, 1], [5, 100, 1], [6, 100, 1], [7, 100, 1], [8, 100, 1], [9, 100, 1], [10, 100, 1], [8, 63, 7], [5, 62, 7], [2, 61, 7], [-1, 63, 65], [-4, 7, 64], [-7, 7, 0], [-9, 7, 54], [-11, 7, 0], [-8, 7, 0], [-5, 7, 64], [-3, 65, 0], [-1, 0, 63], [0, 64, 63], [0, 61, 60], [0, 63, 62], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 0, 54], [0, 50, 0], [0, 0, 0], [0, 0, 0], [0, 20, 20], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 23, 24], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 12, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 13, 14], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]);
this.lvls.dirt = new Array([0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 76, 76], [0, 10, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 75, 76], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 72], [0, 73, 0], [0, 1, 0], [0, 0, 0], [0, 0, 0], [0, 75, 0], [0, 0, 0], [0, 0, 76], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 76], [0, 0, 0], [0, 0, 7], [0, 0, 7], [1, 0, 7], [2, 0, 7], [3, 0, 7], [4, 0, 7], [5, 0, 7], [4, 0, 7], [3, 0, 7], [2, 0, 0], [1, 80, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 70], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 74], [1, 0, 0], [0, 7, 0], [-1, 7, 0], [-2, 7, 0], [-4, 7, 0], [-4, 7, 0], [-4, 7, 0], [-4, 7, 0], [-3, 79, 73], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [2, 0, 0], [2, 74, 0], [2, 0, 0], [2, 0, 0], [1, 77, 0], [1, 0, 0], [1, 0, 0], [1, 72, 0], [1, 0, 80], [1, 71, 0], [0, 0, 0], [0, 74, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 74], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [-2, 7, 0], [-3, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-5, 7, 71], [-4, 0, 0], [-4, 76, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 0], [-4, 0, 0], [-4, 0, 0], [-3, 0, 0], [-3, 0, 0], [-2, 0, 0], [-1, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [-1, 0, 0], [-2, 0, 0], [-2, 0, 0], [-2, 71, 0], [-1, 0, 0], [0, 0, 0], [1, 0, 7], [2, 0, 7], [4, 0, 7], [5, 75, 7], [6, 0, 7], [5, 0, 7], [5, 0, 7], [4, 0, 0], [3, 0, 0], [2, 0, 0], [1, 0, 0], [1, 0, 74], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 76], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 0, 0], [3, 0, 7], [4, 0, 7], [4, 72, 7], [5, 0, 7], [5, 0, 7], [6, 0, 7], [6, 0, 7], [7, 80, 7], [7, 0, 7], [7, 71, 7], [6, 0, 7], [5, 0, 7], [3, 0, 0], [0, 7, 0], [-2, 7, 0], [-4, 7, 0], [-5, 7, 0], [-5, 7, 0], [-5, 7, 0], [-4, 0, 0], [-2, 0, 74], [0, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 7], [1, 0, 7], [2, 0, 7], [5, 0, 7], [7, 0, 7], [6, 0, 7], [5, 0, 7], [4, 0, 7], [3, 80, 7], [2, 0, 7], [1, 0, 7], [2, 7, 0], [-1, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 0], [-5, 7, 0], [-3, 0, 0], [-1, 0, 7], [1, 0, 7], [3, 0, 7], [5, 0, 7], [6, 0, 7], [6, 77, 7], [5, 0, 7], [5, 0, 7], [4, 0, 0], [3, 0, 0], [2, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 75, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 77, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-1, 7, 0], [-3, 7, 0], [-4, 7, 0], [-5, 7, 0], [-5, 7, 0], [-4, 0, 0], [-3, 0, 0], [-2, 82, 0], [-2, 0, 0], [-1, 83, 0], [0, 83, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 79, 0], [1, 81, 0], [0, 0, 78], [0, 0, 0], [-1, 0, 0], [-2, 0, 0], [-2, 0, 0], [-2, 0, 0], [-2, 0, 0], [-1, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 81], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [-2, 7, 0], [-3, 7, 76], [-4, 7, 0], [-6, 7, 0], [-7, 7, 0], [-7, 7, 0], [-6, 7, 0], [-4, 0, 0], [-2, 0, 0], [0, 0, 0], [2, 0, 77], [4, 0, 0], [4, 0, 0], [4, 0, 0], [3, 0, 0], [1, 0, 0], [-1, 7, 0], [-2, 7, 0], [-4, 7, 0], [-5, 7, 0], [-5, 7, 0], [-5, 7, 0], [-4, 0, 0], [-4, 0, 0], [-3, 0, 0], [-2, 0, 74], [-2, 0, 0], [-2, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 75], [-1, 75, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 72, 72], [0, 0, 0], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 0, 0], [0, 79, 80], [0, 0, 0], [0, 80, 0], [0, 0, 77], [0, 0, 0], [0, 0, 0], [1, 0, 77], [1, 79, 0], [2, 0, 0], [3, 0, 83], [3, 83, 79], [3, 79, 0], [3, 0, 0], [2, 0, 0], [0, 7, 79], [-2, 7, 0], [-3, 7, 0], [-5, 7, 0], [-6, 7, 0], [-6, 7, 0], [-5, 7, 71], [-5, 7, 0], [-4, 0, 0], [-2, 0, 0], [-2, 76, 0], [-1, -2, 0], [-1, 76, 0], [-1, 80, 0], [-2, 7, 0], [-3, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-5, 7, 0], [-4, 76, 0], [-3, 76, 0], [-1, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [1, 78, 77], [1, 0, 0], [0, 78, 77], [-1, 0, 79], [-1, 0, 0], [-2, 78, 0], [-2, 0, 0], [-1, 79, 77], [-1, 0, 0], [-1, 76, 78], [-1, 79, 77], [-1, 0, 0], [0, 78, 0], [1, 0, 7], [2, 79, 7], [4, 0, 7], [5, 0, 7], [6, 78, 7], [6, 0, 7], [6, 79, 7], [6, 0, 7], [5, 79, 7], [4, 0, 0], [3, 0, 0], [1, 79, 0], [0, 0, 76], [-1, 7, 0], [-3, 7, 0], [-4, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-5, 7, 0], [-3, 0, 0], [-2, 0, 0], [0, 79, 7], [1, 0, 7], [3, 79, 7], [5, 78, 7], [7, 0, 7], [8, 0, 7], [9, 0, 7], [9, 0, 7], [8, 0, 7], [5, 0, 7], [2, 0, 0], [0, 0, 82], [-2, 0, 82], [-3, 0, 0], [-3, 0, 0], [-2, 0, 0], [-1, 0, 0], [1, 0, 0], [3, 0, 82], [4, 0, 7], [4, 0, 7], [5, 0, 7], [4, 0, 0], [3, 0, 77], [2, 0, 77], [0, 0, 0], [-1, 0, 0], [-2, 0, 76], [-2, 0, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 75], [-3, 0, 0], [-3, 0, 0], [-4, 0, 0], [-4, 0, 0], [-4, 0, 0], [-4, 0, 0], [-4, 0, 76], [-3, 0, 76], [-2, 0, 0], [-1, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 76, 75], [0, 82, 0], [0, 0, 0], [0, 0, 76], [0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 0, 82], [2, 82, 0], [2, 82, 82], [2, 0, 0], [0, 0, 0], [-1, 7, 0], [-3, 7, 0], [-4, 7, 82], [-5, 7, 0], [-5, 7, 0], [-4, 0, 0], [-4, 71, 0], [-2, 0, 0], [-1, 71, 0], [0, 0, 0], [0, 71, 0], [0, 0, 0], [0, 0, 0], [0, 0, 72], [0, 75, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [2, 77, 79], [2, 0, 0], [3, 0, 0], [3, 0, 0], [3, 0, 0], [3, 80, 0], [2, 0, 0], [1, 0, 0], [0, 7, 75], [-2, 7, 0], [-4, 7, 0], [-5, 7, 0], [-5, 7, 0], [-5, 7, 0], [-4, 71, 0], [-3, 72, 0], [-1, 70, 0], [0, 0, 0], [1, 0, 0], [2, 0, 0], [2, 0, 0], [1, 0, 82], [0, 0, 81], [-1, 0, 0], [-2, 76, 0], [-2, 76, 81], [-2, 0, 76], [-2, 76, 72], [-2, 76, 0], [-1, 0, 0], [-1, 76, 76], [-1, 76, 76], [-1, 76, 0], [-2, 7, 76], [-3, 7, 0], [-4, 7, 76], [-5, 7, 0], [-6, 7, 0], [-7, 7, 76], [-7, 7, 0], [-7, 7, 0], [-7, 7, 0], [-5, 7, 0], [-4, 0, 0], [-2, 82, 0], [-2, 0, 0], [-1, 80, 0], [-2, 0, 0], [-3, 77, 0], [-4, 0, 0], [-4, 0, 0], [-4, 80, 0], [-3, 7, 0], [-3, 7, 0], [-2, 7, 0], [-1, 7, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [1, 72, 74], [1, 0, 74], [1, 1, 0], [1, 0, 0], [1, 0, 15], [1, 0, 0], [1, 0, 0], [1, 0, 7], [2, 0, 7], [3, 0, 7], [5, 0, 7], [6, 0, 7], [7, 0, 7], [8, 72, 7], [9, 79, 7], [9, 0, 7], [9, 0, 7], [8, 0, 7], [6, 0, 7], [5, 0, 7], [2, 7, 75], [0, 7, 0], [-3, 7, 0], [-5, 7, 0], [-7, 7, 0], [-7, 7, 0], [-6, 7, 0], [-5, 7, 0], [-4, 0, 0], [-3, 0, 0], [-3, 0, 0], [-2, 0, 15], [-2, 0, 0], [0, 0, 7], [1, 0, 7], [3, 0, 7], [6, 0, 7], [8, 0, 7], [10, 0, 7], [10, 0, 7], [9, 0, 7], [7, 0, 7], [5, 0, 7], [4, 0, 0], [2, 0, 72], [1, 0, 0], [1, 0, 0], [1, 0, 7], [2, 0, 7], [3, 0, 7], [5, 0, 7], [7, 0, 7], [8, 0, 7], [9, 0, 7], [10, 0, 7], [10, 0, 7], [10, 0, 7], [9, 0, 7], [8, 76, 7], [6, 0, 7], [5, 0, 7], [4, 0, 0], [3, 0, 0], [1, 78, 80], [1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 82, 82], [-1, 0, 0], [0, 75, 76], [0, 7, 0], [-1, 7, 0], [-3, 7, 0], [-5, 7, 0], [-7, 7, 0], [-9, 7, 0], [-9, 7, 0], [-6, 7, 0], [-3, 7, 0], [-1, 75, 0], [2, 0, 0], [3, 0, 0], [2, 0, 0], [1, 0, 0], [1, 0, 0], [1, 73, 0], [2, 0, 0], [2, 71, 0], [2, 0, 75], [2, 76, 0], [2, 0, 0], [1, 74, 74], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 75, 75], [0, 75, 75], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 76, 76], [0, 0, 0], [0, 76, 76], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [-2, 0, 0], [-3, 7, 0], [-4, 7, 0], [-4, 7, 0], [-4, 7, 0], [-3, 7, 0], [-1, 7, 7], [2, 0, 7], [4, 0, 7], [6, 0, 7], [8, 0, 7], [10, 0, 7], [10, 0, 7], [10, 0, 7], [9, 0, 7], [8, 0, 7], [6, 0, 7], [4, 79, 0], [2, 75, 0], [0, 0, 0], [-1, 0, 0], [-2, 0, 0], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [2, 0, 0], [3, 0, 71], [4, 0, 0], [4, 78, 0], [3, 0, 74], [2, 0, 0], [1, 0, 0], [0, 0, 0], [-2, 0, 0], [-2, 7, 0], [-3, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 0], [-6, 7, 0], [-4, 79, 7], [-1, 81, 7], [2, 0, 7], [6, 0, 7], [7, 0, 7], [8, 0, 7], [8, 70, 7], [6, 0, 7], [4, 0, 0], [3, 72, 0], [2, 0, 7], [2, 0, 7], [3, 0, 7], [5, 0, 7], [7, 0, 7], [9, 0, 7], [11, 0, 7], [11, 75, 7], [11, 0, 7], [9, 0, 7], [6, 0, 7], [2, 0, 0], [-1, 0, 0], [-3, 71, 0], [-4, 0, 0], [-4, 79, 0], [-2, 0, 7], [0, 0, 7], [3, 0, 7], [5, 0, 7], [7, 81, 7], [7, 80, 7], [6, 0, 7], [3, 7, 0], [0, 7, 73], [-3, 7, 0], [-5, 7, 0], [-6, 7, 0], [-5, 7, 0], [-3, 0, 0], [-1, 0, 7], [2, 0, 7], [4, 79, 7], [5, 0, 7], [5, 0, 7], [4, 0, 71], [3, 0, 0], [1, 7, 0], [0, 7, 0], [-3, 7, 0], [-5, 7, 0], [-8, 7, 0], [-10, 7, 0], [-10, 7, 0], [-8, 7, 0], [-4, 0, 7], [0, 0, 7], [3, 0, 7], [6, 0, 7], [7, 0, 7], [7, 0, 7], [5, 0, 7], [3, 0, 83], [1, 0, 0], [0, 0, 0], [-1, 0, 0], [-1, 0, 83], [0, 0, 0], [1, 83, 83], [2, 0, 0], [2, 83, 0], [2, 0, 81], [2, 0, 0], [1, 0, 0], [1, 82, 0], [0, 0, 0], [0, 0, 83], [-1, 0, 0], [-1, 75, 0], [-2, 73, 0], [-2, 70, 0], [-2, 0, 83], [-2, 74, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 83], [1, 80, 0], [1, 73, 0], [2, 0, 0], [2, 0, 0], [3, 83, 83], [3, 0, 0], [2, 0, 0], [1, 73, 0], [0, 7, 0], [-1, 7, 0], [-4, 7, 76], [-7, 7, 0], [-9, 7, 0], [-11, 7, 0], [-12, 7, 0], [-12, 7, 0], [-11, 7, 0], [-9, 7, 0], [-7, 7, 76], [-4, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 79], [-1, 0, 0], [-2, 83, 0], [-3, 0, 0], [-3, 83, 77], [-3, 0, 0], [-2, 71, 0], [-1, 0, 0], [0, 0, 0], [0, 73, 0], [0, 70, 0], [0, 0, 0], [0, 79, 79], [0, 0, 0], [0, 0, 0], [0, 79, 79], [0, 79, 79], [0, 79, 79], [0, 12, 1], [0, 79, 79], [0, 79, 79], [0, 72, 72], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]);
this.lvls.night = new Array([0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 35, 36], [0, 10, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-2, 0, 0], [-3, 7, 0], [-5, 7, 0], [-6, 7, 0], [-8, 7, 0], [-6, 7, 0], [-5, 7, 0], [-3, 7, 0], [-2, 0, 7], [3, 0, 7], [5, 0, 7], [6, 0, 7], [8, 0, 7], [8, 50, 7], [6, 51, 7], [5, 0, 7], [3, 0, 7], [2, 52, 7], [1, 0, 0], [1, 53, 53], [-1, 7, 50], [-2, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 55], [-6, 7, 0], [-6, 7, 56], [-6, 7, 0], [-5, 7, 0], [-5, 7, 55], [-5, 7, 0], [-5, 7, 56], [-5, 7, 0], [-5, 7, 56], [-5, 7, 0], [-5, 7, 59], [-4, 7, 54], [-4, 7, 54], [-3, 7, 54], [-3, 7, 0], [-2, 7, 55], [-2, 7, 0], [-2, 7, 56], [-1, 7, 0], [-1, 0, 0], [0, 0, 57], [1, 55, 0], [1, 53, 0], [1, 0, 54], [1, 0, 0], [1, 58, 50], [1, 0, 51], [1, 59, 0], [1, 0, 0], [1, 35, 36], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 35, 36], [1, 0, 0], [1, 0, 7], [4, 0, 7], [9, 35, 7], [13, 0, 7], [11, 0, 7], [9, 0, 7], [7, 35, 7], [6, 0, 43], [4, 0, 43], [2, 7, 36], [1, 7, 43], [1, 7, 43], [1, 7, 43], [-10, 7, 36], [-8, 7, 43], [-7, 7, 43], [-6, 7, 43], [-5, 35, 36], [-3, 43, 43], [-3, 43, 43], [-2, 43, 43], [-2, 35, 36], [-1, 43, 43], [-1, 43, 43], [-1, 43, 43], [-1, 35, 35], [0, 7, 43], [-5, 7, 43], [-8, 7, 43], [-10, 7, 43], [-8, 7, 43], [-7, 7, 43], [-6, 7, 43], [-5, 7, 43], [-4, 7, 43], [-3, 7, 43], [-2, 7, 43], [-3, 7, 43], [-3, 7, 43], [-3, 7, 43], [-3, 43, 43], [-2, 43, 43], [-1, 43, 43], [0, 43, 43], [0, 43, 43], [0, 11, 1], [0, 0, 0], [0, 40, 40], [0, 0, 0], [1, 0, 40], [1, 0, 7], [2, 40, 7], [2, 0, 7], [3, 0, 40], [3, 0, 7], [3, 40, 7], [3, 0, 7], [3, 0, 40], [2, 0, 0], [2, 40, 0], [2, 0, 0], [1, 0, 40], [1, 0, 0], [0, 40, 0], [-1, 0, 0], [-1, 0, 40], [-2, 0, 0], [-2, 40, 0], [-1, 0, 0], [0, 0, 40], [0, 0, 0], [0, 19, 0], [0, 0, 0], [1, 7, 40], [-1, 7, 0], [-2, 40, 0], [-4, 7, 0], [-7, 7, 40], [-9, 7, 0], [-12, 40, 0], [-12, 7, 0], [-12, 7, 40], [-12, 7, 0], [-12, 40, 0], [-5, 7, 0], [-3, 7, 40], [-2, 0, 0], [-2, 40, 0], [-1, 0, 0], [-1, 0, 40], [-1, 0, 0], [0, 40, 0], [0, 0, 0], [0, 0, 40], [1, 32, 32], [1, 40, 40], [0, 0, 0], [0, 0, 40], [0, 31, 31], [0, 40, 0], [0, 0, 0], [0, 0, 40], [0, 0, 0], [0, 40, 54], [0, 19, 0], [-3, 7, 40], [-6, 7, 0], [-8, 40, 0], [-8, 7, 0], [-8, 7, 40], [-8, 7, 0], [-14, 40, 0], [-14, 7, 0], [-14, 7, 40], [-11, 7, 0], [-8, 40, 0], [-6, 7, 0], [-3, 7, 40], [0, 7, 0], [0, 40, 0], [1, 0, 0], [2, 0, 40], [-1, 0, 0], [-3, 40, 0], [-4, 7, 0], [-6, 7, 40], [-7, 7, 0], [-6, 40, 0], [-4, 7, 0], [-3, 7, 40], [1, 0, 0], [1, 0, 0], [2, 44, 44], [3, 0, 0], [4, 0, 0], [4, 0, 0], [5, 43, 43], [5, 0, 0], [5, 0, 0], [5, 0, 0], [5, 44, 44], [5, 0, 0], [5, 0, 0], [5, 0, 0], [5, 43, 43], [5, 0, 0], [5, 0, 0], [5, 0, 0], [5, 44, 44], [5, 0, 0], [4, 0, 0], [4, 0, 0], [3, 43, 43], [3, 0, 0], [2, 0, 0], [2, 0, 0], [1, 44, 44], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 42, 42], [0, 42, 42], [0, 42, 42], [-2, 0, 0], [-3, 7, 0], [-5, 7, 0], [-6, 7, 0], [-8, 7, 0], [-9, 7, 0], [-10, 7, 0], [-7, 7, 0], [-5, 7, 0], [-2, 7, 0], [0, 7, 7], [3, 0, 7], [5, 0, 7], [8, 0, 7], [10, 0, 7], [11, 0, 7], [11, 0, 7], [11, 0, 7], [9, 0, 7], [7, 0, 7], [4, 0, 7], [2, 0, 7], [0, 0, 7], [0, 0, 0], [0, 0, 0], [0, 42, 42], [0, 42, 42], [0, 42, 42], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 42, 42], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 42, 42], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 42, 42], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 42, 42], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 11, 1], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 44, 41], [0, 41, 41], [-5, 44, 41], [-5, 41, 41], [-5, 44, 41], [-5, 41, 41], [-5, 44, 41], [-3, 41, 41], [-4, 44, 41], [-5, 41, 41], [-6, 44, 41], [-5, 41, 41], [-4, 44, 41], [-3, 41, 41], [-3, 44, 44], [-2, 41, 41], [-1, 44, 44], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [-3, 44, 44], [-5, 44, 44], [-7, 44, 44], [-4, 44, 0], [-3, 44, 44], [-2, 44, 44], [3, 44, 44], [7, 0, 44], [10, 0, 44], [8, 0, 44], [7, 0, 44], [5, 0, 43], [3, 0, 43], [2, 0, 43], [3, 0, 43], [0, 0, 43], [0, 0, 43], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 19, 0], [0, 0, 0], [0, 44, 44], [0, 43, 0], [-1, 44, 44], [-1, 43, 0], [-2, 44, 44], [-3, 43, 0], [-3, 44, 41], [-4, 43, 41], [-4, 44, 41], [-5, 43, 41], [-6, 44, 41], [-6, 43, 41], [-7, 44, 41], [-8, 43, 41], [-8, 44, 41], [-9, 43, 41], [-9, 44, 41], [-9, 43, 41], [-9, 44, 41], [-8, 43, 41], [-7, 44, 41], [-6, 43, 43], [-6, 44, 43], [-5, 43, 43], [-5, 44, 43], [-5, 43, 43], [-4, 43, 43], [-4, 43, 43], [-3, 0, 0], [-3, 43, 43], [-2, 0, 0], [-2, 43, 43], [-2, 0, 0], [1, 0, 19], [2, 0, 44], [4, 43, 44], [5, 0, 44], [6, 43, 44], [7, 0, 44], [8, 43, 44], [10, 0, 44], [11, 43, 44], [10, 0, 44], [9, 43, 44], [8, 0, 44], [7, 43, 44], [6, 0, 44], [4, 43, 44], [3, 0, 44], [3, 43, 44], [3, 0, 44], [2, 43, 44], [2, 0, 44], [2, 43, 43], [1, 0, 0], [1, 43, 43], [1, 0, 0], [1, 43, 43], [-1, 100, 1], [-1, 100, 1], [-2, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [1, 100, 1], [1, 100, 1], [1, 100, 1], [1, 42, 42], [2, 42, 42], [2, 42, 42], [2, 42, 42], [2, 42, 42], [3, 100, 1], [3, 100, 1], [3, 100, 1], [3, 100, 1], [4, 42, 42], [4, 42, 42], [4, 42, 42], [4, 42, 42], [4, 100, 1], [3, 100, 1], [3, 100, 1], [3, 100, 1], [3, 100, 1], [2, 100, 1], [2, 100, 1], [2, 0, 0], [2, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 0], [0, 11, 1], [-5, 0, 0], [-6, 7, 0], [-6, 40, 40], [-6, 7, 0], [-6, 40, 40], [-6, 7, 0], [-6, 40, 40], [-7, 7, 0], [-7, 32, 40], [-7, 7, 0], [-7, 40, 40], [-6, 7, 0], [-5, 40, 40], [-4, 7, 0], [-3, 40, 40], [-2, 7, 0], [-1, 32, 40], [-1, 7, 0], [-3, 40, 40], [-4, 7, 0], [-5, 40, 40], [-6, 7, 0], [-8, 40, 40], [-9, 7, 0], [-8, 40, 40], [-6, 7, 0], [-5, 40, 40], [-4, 7, 0], [-3, 40, 40], [1, 7, 0], [2, 40, 40], [3, 0, 7], [4, 40, 40], [5, 0, 7], [4, 33, 33], [3, 0, 7], [2, 40, 40], [1, 0, 7], [-6, 40, 40], [-5, 7, 0], [-3, 40, 40], [-2, 7, 0], [-7, 40, 40], [-5, 7, 0], [-3, 40, 40], [1, 7, 0], [1, 40, 40], [2, 7, 0], [3, 33, 33], [3, 0, 0], [4, 40, 40], [5, 0, 7], [5, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [6, 40, 40], [9, 0, 7], [9, 40, 40], [9, 0, 7], [9, 40, 40], [9, 0, 7], [8, 40, 40], [6, 0, 7], [5, 40, 40], [4, 0, 7], [3, 40, 40], [3, 0, 7], [2, 34, 34], [2, 0, 7], [1, 40, 40], [-2, 7, 0], [-3, 40, 40], [-5, 7, 0], [-4, 40, 40], [-4, 7, 0], [-3, 40, 40], [-2, 7, 0], [-1, 40, 40], [-1, 7, 0], [0, 40, 40], [0, 0, 7], [3, 40, 40], [7, 40, 7], [9, 0, 40], [6, 40, 7], [3, 0, 40], [2, 40, 7], [0, 0, 40], [3, 32, 32], [5, 0, 40], [4, 40, 7], [2, 0, 40], [1, 40, 7], [2, 0, 40], [5, 40, 7], [7, 0, 40], [10, 40, 7], [12, 0, 40], [13, 40, 7], [10, 0, 40], [7, 40, 7], [5, 0, 40], [3, 40, 7], [1, 43, 43], [0, 43, 43], [0, 43, 43], [0, 40, 40], [0, 7, 0], [-3, 33, 33], [-5, 7, 0], [-6, 40, 40], [-6, 7, 0], [-5, 40, 40], [-5, 7, 0], [-4, 40, 40], [-4, 7, 0], [-3, 40, 40], [-3, 31, 31], [-2, 40, 40], [-2, 0, 0], [-1, 40, 40], [0, 31, 31], [0, 40, 40], [0, 0, 0], [0, 40, 40], [3, 31, 31], [6, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [3, 40, 40], [5, 0, 7], [4, 40, 40], [4, 0, 7], [3, 40, 40], [3, 0, 7], [2, 40, 40], [2, 0, 7], [2, 40, 40], [1, 0, 7], [1, 40, 40], [0, 0, 0], [0, 40, 40], [0, 41, 41], [0, 40, 40], [0, 41, 41], [0, 40, 40], [0, 41, 41], [0, 40, 40], [0, 41, 41], [0, 11, 1], [0, 41, 41], [0, 40, 40], [0, 41, 41], [0, 40, 40], [0, 41, 41], [0, 42, 42], [0, 41, 41], [1, 42, 42], [1, 41, 41], [2, 42, 42], [2, 41, 41], [3, 42, 42], [4, 41, 41], [4, 42, 42], [5, 41, 41], [5, 42, 42], [6, 41, 41], [6, 42, 42], [6, 41, 41], [6, 42, 42], [6, 41, 41], [6, 42, 42], [6, 41, 41], [6, 42, 42], [6, 41, 41], [6, 42, 42], [-2, 41, 41], [-3, 42, 42], [-5, 41, 41], [-6, 42, 42], [-8, 41, 41], [-9, 42, 42], [-11, 41, 41], [-11, 42, 42], [-11, 41, 41], [-11, 42, 42], [-9, 41, 41], [-7, 42, 42], [-4, 41, 41], [-2, 42, 42], [-5, 41, 41], [-4, 42, 42], [-3, 41, 41], [-2, 0, 0], [-1, 41, 41], [0, 0, 0], [0, 41, 41], [0, 0, 0], [0, 41, 41], [0, 44, 44], [0, 44, 44], [0, 44, 44], [2, 41, 41], [1, 0, 0], [0, 41, 41], [-1, 0, 0], [-2, 41, 41], [-2, 0, 0], [-2, 41, 41], [-2, 42, 42], [-3, 41, 41], [-3, 42, 42], [-3, 41, 41], [-6, 42, 42], [-9, 41, 41], [-11, 42, 42], [-9, 41, 41], [-7, 42, 42], [-4, 41, 41], [-2, 42, 42], [-8, 41, 41], [-6, 42, 42], [-4, 41, 41], [-2, 42, 42], [-1, 41, 41], [0, 42, 42], [0, 41, 41], [0, 42, 42], [2, 41, 41], [4, 42, 42], [6, 41, 41], [7, 42, 42], [7, 41, 41], [7, 42, 42], [7, 41, 41], [7, 42, 42], [7, 41, 41], [7, 42, 42], [5, 41, 41], [3, 42, 42], [2, 41, 41], [1, 42, 42], [-4, 41, 41], [-7, 42, 42], [-11, 41, 41], [-9, 42, 42], [-7, 41, 41], [-5, 42, 42], [-4, 41, 41], [-2, 42, 42], [0, 41, 41], [0, 42, 42], [0, 41, 41], [4, 42, 42], [8, 41, 41], [12, 43, 43], [10, 43, 43], [8, 43, 43], [6, 43, 43], [4, 43, 43], [2, 43, 43], [0, 43, 43], [0, 33, 33], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 42, 42], [0, 42, 42], [-1, 0, 0], [-2, 0, 0], [-3, 0, 0], [-4, 32, 32], [-5, 7, 0], [-6, 7, 0], [-8, 7, 0], [-9, 7, 0], [-10, 7, 0], [-11, 7, 0], [-12, 7, 0], [-13, 7, 0], [-10, 7, 0], [-8, 7, 0], [-5, 7, 0], [-3, 31, 31], [0, 0, 7], [2, 0, 7], [5, 0, 7], [7, 0, 7], [10, 0, 7], [12, 0, 7], [11, 0, 7], [10, 0, 7], [9, 0, 7], [8, 0, 7], [7, 0, 7], [6, 0, 7], [5, 0, 7], [4, 34, 34], [3, 0, 0], [2, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 35, 35], [0, 12, 1], [0, 43, 43], [0, 0, 0], [0, 43, 43], [0, 0, 0], [0, 43, 43], [0, 0, 0], [0, 35, 35], [0, 0, 0], [0, 43, 43], [0, 0, 0], [0, 43, 43], [0, 0, 0], [0, 43, 43], [0, 0, 0], [0, 35, 35], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]);
this.lvls.fog = new Array([0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 17, 18], [0, 10, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 65], [0, 0, 0], [0, 65, 0], [0, 0, 0], [0, 0, 0], [1, 0, 65], [1, 0, 60], [1, 65, 0], [2, 60, 7], [2, 54, 7], [3, 0, 7], [3, 62, 7], [3, 65, 7], [3, 0, 7], [3, 0, 0], [2, 0, 0], [1, 0, 57], [0, 7, 0], [-2, 7, 0], [-2, 7, 50], [-3, 7, 53], [-2, 55, 52], [-1, 50, 51], [-1, 56, 0], [0, 52, 53], [1, 55, 55], [1, 55, 63], [1, 61, 53], [1, 0, 0], [-1, 51, 0], [-3, 54, 55], [-4, 7, 0], [-6, 7, 57], [-7, 7, 0], [-6, 7, 0], [-4, 7, 0], [-3, 7, 0], [-1, 100, 1], [-3, 100, 1], [-3, 100, 1], [-2, 100, 1], [-2, 0, 0], [-2, 0, 0], [-1, 0, 0], [-1, 100, 1], [-1, 100, 1], [0, 100, 1], [0, 100, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 100, 1], [0, 100, 1], [1, 100, 1], [1, 100, 1], [1, 100, 1], [1, 100, 1], [2, 100, 1], [4, 0, 0], [6, 0, 7], [8, 0, 7], [8, 0, 7], [8, 0, 7], [7, 0, 7], [6, 51, 7], [5, 63, 7], [3, 0, 7], [2, 0, 7], [1, 52, 65], [1, 0, 64], [3, 0, 63], [3, 58, 62], [2, 0, 64], [2, 0, 50], [1, 0, 60], [1, 53, 0], [1, 0, 0], [0, 0, 63], [0, 50, 57], [0, 53, 55], [0, 0, 53], [0, 0, 51], [1, 0, 50], [1, 52, 58], [2, 0, 0], [2, 0, 7], [3, 53, 7], [4, 65, 7], [5, 51, 7], [5, 0, 7], [5, 0, 7], [5, 0, 7], [4, 0, 50], [3, 0, 54], [2, 64, 0], [-2, 7, 50], [-4, 7, 0], [-7, 7, 0], [-5, 7, 59], [-4, 7, 56], [-3, 100, 1], [-2, 100, 1], [-1, 100, 1], [-1, 100, 1], [0, 100, 1], [0, 100, 1], [-1, 100, 1], [-2, 100, 1], [-4, 100, 1], [-5, 100, 1], [-6, 7, 60], [-5, 7, 0], [-4, 7, 0], [-2, 7, 61], [-1, 0, 0], [0, 0, 50], [0, 57, 50], [0, 0, 53], [0, 0, 53], [0, 51, 50], [0, 55, 0], [0, 54, 51], [0, 0, 50], [-1, 0, 53], [-2, 65, 0], [-2, 52, 0], [1, 63, 7], [2, 50, 7], [3, 54, 7], [4, 0, 7], [5, 53, 7], [4, 57, 7], [4, 54, 7], [4, 65, 7], [4, 56, 7], [4, 59, 7], [0, 54, 0], [0, 0, 56], [0, 59, 0], [0, 0, 51], [0, 11, 1], [0, 56, 61], [0, 0, 53], [0, 0, 0], [0, 61, 61], [0, 59, 63], [0, 61, 0], [0, 65, 63], [0, 60, 53], [0, 52, 61], [0, 60, 50], [0, 61, 0], [2, 52, 51], [2, 59, 61], [3, 53, 61], [2, 54, 63], [1, 60, 54], [1, 52, 63], [0, 61, 54], [-1, 51, 51], [-2, 0, 0], [-3, 0, 51], [1, 0, 0], [3, 53, 7], [4, 54, 7], [5, 63, 7], [6, 0, 7], [8, 52, 7], [9, 0, 7], [6, 61, 7], [3, 0, 59], [3, 50, 65], [1, 7, 59], [-1, 7, 0], [-4, 7, 53], [-5, 7, 51], [-6, 7, 50], [-7, 7, 56], [-6, 7, 63], [-4, 53, 51], [-2, 0, 59], [-1, 54, 52], [-2, 0, 65], [-3, 7, 54], [-5, 7, 0], [-6, 7, 59], [-8, 7, 0], [-7, 7, 0], [-9, 7, 53], [-10, 7, 0], [-11, 7, 51], [-10, 7, 52], [-5, 7, 0], [-3, 7, 64], [-2, 50, 0], [-2, 0, 59], [0, 0, 7], [3, 63, 7], [4, 0, 7], [5, 0, 7], [6, 0, 7], [6, 53, 7], [5, 50, 7], [4, 0, 62], [3, 51, 0], [1, 51, 0], [0, 54, 53], [0, 0, 54], [0, 63, 62], [0, 50, 54], [0, 0, 54], [1, 54, 53], [2, 54, 53], [3, 0, 0], [3, 61, 60], [4, 0, 64], [3, 54, 56], [3, 50, 53], [3, 0, 0], [2, 61, 53], [1, 0, 54], [1, 0, 54], [1, 55, 53], [0, 52, 0], [0, 52, 50], [0, 60, 53], [-1, 0, 64], [-1, 7, 0], [-2, 7, 52], [-3, 7, 0], [-5, 7, 64], [-6, 7, 0], [-7, 7, 60], [-8, 7, 0], [-9, 7, 0], [-9, 7, 0], [-9, 7, 0], [-9, 7, 59], [-9, 7, 0], [-9, 7, 0], [-7, 7, 52], [-6, 7, 51], [-4, 7, 54], [-3, 54, 0], [-1, 51, 62], [4, 51, 54], [4, 50, 57], [4, 50, 52], [4, 100, 1], [3, 100, 1], [3, 100, 1], [2, 100, 1], [1, 100, 1], [0, 100, 1], [-1, 100, 1], [-2, 100, 1], [-3, 100, 1], [-3, 100, 1], [-4, 0, 0], [-4, 56, 50], [-4, 61, 57], [-3, 0, 0], [-2, 52, 57], [0, 50, 7], [2, 0, 7], [4, 0, 7], [5, 51, 7], [6, 0, 7], [6, 0, 7], [6, 56, 7], [6, 54, 7], [6, 56, 7], [6, 0, 7], [6, 0, 7], [6, 0, 7], [6, 0, 7], [6, 0, 7], [6, 0, 7], [5, 65, 7], [5, 59, 7], [4, 0, 7], [4, 0, 7], [3, 0, 7], [2, 0, 0], [2, 0, 56], [1, 53, 53], [1, 0, 0], [1, 0, 0], [0, 58, 57], [0, 0, 0], [0, 0, 0], [0, 11, 1], [0, 59, 58], [0, 50, 0], [0, 65, 0], [0, 0, 0], [0, 62, 62], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 29, 30], [0, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [1, 62, 60], [1, 60, 60], [1, 60, 62], [2, 62, 7], [3, 62, 7], [4, 62, 7], [5, 63, 7], [7, 63, 7], [8, 62, 7], [8, 54, 7], [7, 0, 7], [6, 62, 7], [4, 63, 61], [2, 64, 61], [0, 64, 62], [-2, 65, 63], [-3, 65, 64], [-4, 64, 63], [-3, 62, 62], [-2, 62, 61], [0, 61, 7], [3, 60, 7], [4, 61, 7], [5, 61, 7], [5, 61, 7], [4, 62, 62], [2, 7, 63], [-1, 7, 61], [-4, 7, 62], [-7, 7, 63], [-9, 7, 61], [-10, 7, 62], [-10, 7, 61], [-8, 7, 62], [-6, 7, 63], [-3, 7, 63], [-1, 100, 1], [1, 100, 1], [3, 100, 1], [3, 100, 1], [3, 100, 1], [2, 100, 1], [0, 100, 1], [-1, 100, 1], [-3, 100, 1], [-3, 100, 1], [-4, 100, 1], [-4, 100, 1], [-4, 100, 1], [-4, 100, 1], [-5, 100, 1], [-6, 7, 0], [-8, 7, 0], [-10, 7, 0], [-13, 7, 0], [-11, 7, 0], [-9, 7, 0], [-7, 7, 0], [-6, 7, 0], [-4, 7, 0], [-2, 7, 0], [-1, 55, 7], [3, 0, 7], [6, 0, 7], [8, 0, 7], [8, 0, 7], [7, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 1, 7], [-1, 51, 7], [3, 65, 7], [7, 52, 7], [10, 53, 7], [12, 54, 7], [13, 0, 7], [13, 54, 7], [11, 54, 7], [10, 61, 7], [8, 50, 7], [6, 54, 7], [5, 51, 7], [4, 0, 55], [3, 0, 64], [3, 52, 54], [3, 57, 65], [3, 0, 0], [3, 0, 61], [2, 57, 62], [1, 54, 0], [-1, 0, 53], [-2, 7, 61], [-3, 7, 64], [-4, 7, 53], [-5, 7, 0], [-6, 7, 64], [-6, 7, 56], [-6, 7, 0], [-5, 7, 0], [-4, 0, 0], [-4, 0, 0], [-3, 0, 0], [-2, 0, 0], [-1, 0, 0], [0, 65, 0], [1, 0, 0], [1, 29, 30], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 29, 30], [1, 0, 0], [1, 0, 0], [1, 54, 54], [1, 0, 7], [1, 0, 7], [4, 0, 7], [5, 0, 7], [4, 54, 54], [3, 7, 0], [0, 7, 0], [-2, 7, 0], [-5, 7, 0], [-7, 7, 0], [-7, 7, 0], [-7, 7, 0], [-6, 7, 0], [-5, 7, 0], [-3, 54, 54], [-1, 0, 0], [1, 0, 0], [2, 0, 65], [2, 0, 0], [2, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 11, 1], [0, 0, 0], [-1, 0, 0], [-2, 0, 0], [-2, 0, 0], [-2, 0, 0], [-2, 0, 0], [-1, 0, 0], [0, 54, 54], [1, 0, 0], [2, 0, 0], [3, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 54, 7], [4, 0, 7], [3, 0, 7], [4, 0, 7], [4, 0, 7], [4, 54, 0], [3, 0, 0], [2, 0, 54], [1, 0, 0], [-1, 7, 0], [-3, 7, 54], [-4, 7, 0], [-5, 7, 64], [-6, 7, 55], [-5, 7, 50], [-4, 64, 64], [-2, 56, 53], [0, 64, 50], [2, 62, 0], [3, 52, 64], [3, 52, 61], [3, 62, 51], [2, 60, 0], [1, 64, 62], [0, 63, 51], [-2, 62, 52], [-3, 63, 64], [-3, 62, 65], [-3, 51, 63], [-3, 64, 62], [-2, 0, 62], [-1, 65, 63], [-1, 63, 63], [-1, 63, 62], [-1, 54, 57], [-2, 51, 58], [-1, 61, 61], [-2, 58, 62], [-2, 51, 7], [0, 61, 7], [2, 63, 7], [5, 61, 7], [8, 61, 7], [12, 0, 7], [14, 50, 7], [14, 51, 7], [14, 61, 7], [14, 61, 7], [11, 61, 7], [7, 61, 61], [3, 7, 60], [-1, 7, 61], [-5, 7, 60], [-7, 7, 60], [-9, 7, 60], [-8, 7, 60], [-7, 7, 60], [-5, 7, 61], [-2, 61, 61], [1, 61, 61], [3, 62, 60], [4, 61, 60], [3, 62, 62], [2, 7, 60], [-1, 7, 61], [-4, 7, 61], [-7, 7, 62], [-10, 7, 62], [-13, 7, 62], [-14, 7, 63], [-13, 7, 63], [-12, 7, 63], [-9, 7, 63], [-6, 7, 7], [-2, 63, 7], [2, 63, 7], [5, 63, 7], [6, 60, 7], [6, 0, 7], [5, 63, 7], [3, 63, 64], [1, 7, 62], [-1, 7, 61], [-3, 7, 61], [-5, 7, 61], [-6, 7, 61], [-7, 7, 60], [-5, 7, 60], [-3, 60, 60], [-1, 60, 60], [1, 61, 61], [2, 61, 61], [2, 61, 61], [1, 61, 62], [0, 7, 62], [-2, 7, 63], [-4, 7, 63], [-6, 7, 63], [-6, 7, 63], [-5, 63, 63], [-3, 63, 7], [0, 64, 7], [3, 65, 7], [7, 65, 7], [9, 65, 7], [10, 65, 7], [10, 65, 7], [7, 7, 7], [4, 7, 65], [0, 7, 64], [-5, 7, 63], [-8, 7, 62], [-10, 7, 61], [-10, 7, 61], [-7, 7, 7], [-3, 61, 0], [2, 61, 7], [8, 61, 7], [13, 61, 7], [14, 61, 7], [14, 61, 7], [14, 61, 7], [14, 61, 7], [14, 61, 7], [12, 61, 7], [7, 61, 7], [3, 61, 62], [1, 63, 63], [0, 61, 61], [0, 65, 61], [0, 61, 61], [1, 63, 63], [1, 63, 63], [2, 63, 60], [2, 63, 63], [2, 64, 63], [1, 7, 64], [-1, 7, 65], [-4, 7, 65], [-6, 7, 65], [-7, 7, 65], [-7, 7, 63], [-7, 7, 61], [-6, 7, 63], [-4, 63, 65], [-2, 63, 0], [-1, 0, 63], [0, 63, 0], [0, 64, 0], [0, 51, 62], [0, 50, 64], [-1, 59, 53], [-1, 0, 0], [-1, 0, 0], [-1, 57, 54], [0, 56, 0], [0, 11, 1], [0, 55, 53], [0, 0, 53], [-1, 55, 0], [-1, 0, 0], [0, 0, 50], [0, 0, 59], [1, 51, 50], [2, 50, 53], [2, 0, 50], [3, 56, 52], [3, 58, 52], [4, 51, 53], [4, 51, 53], [3, 0, 52], [2, 64, 0], [1, 53, 0], [0, 53, 0], [0, 52, 52], [0, 0, 53], [1, 55, 7], [2, 65, 7], [4, 0, 7], [5, 54, 7], [7, 52, 7], [8, 63, 7], [8, 0, 7], [7, 0, 7], [6, 0, 7], [4, 59, 0], [3, 0, 63], [1, 0, 51], [1, 0, 0], [1, 64, 7], [1, 54, 7], [3, 51, 7], [5, 55, 7], [7, 0, 7], [9, 0, 7], [10, 59, 7], [10, 54, 7], [9, 52, 7], [8, 0, 7], [6, 54, 7], [3, 53, 53], [1, 25, 0], [-1, 7, 0], [-3, 7, 56], [-4, 7, 52], [-5, 7, 0], [-5, 7, 0], [-6, 7, 51], [-6, 7, 0], [-6, 7, 57], [-6, 7, 0], [-6, 7, 58], [-6, 7, 0], [-5, 7, 64], [-3, 54, 7], [0, 0, 7], [3, 0, 7], [6, 53, 7], [9, 0, 7], [11, 51, 7], [12, 0, 7], [12, 53, 7], [11, 65, 7], [8, 52, 7], [5, 0, 7], [1, 53, 0], [-2, 0, 54], [-3, 54, 56], [-4, 51, 0], [-3, 65, 52], [-1, 51, 7], [1, 61, 7], [3, 62, 7], [5, 0, 7], [5, 65, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [-1, 7, 0], [-3, 7, 0], [-4, 100, 1], [-7, 7, 0], [-10, 7, 0], [-11, 7, 0], [-9, 100, 1], [-8, 7, 0], [-8, 7, 0], [-8, 7, 0], [-7, 100, 1], [-7, 7, 0], [-6, 7, 0], [-6, 7, 0], [-5, 100, 1], [-5, 7, 0], [-4, 7, 54], [-4, 7, 0], [-3, 100, 1], [-3, 7, 64], [-2, 7, 65], [-2, 7, 0], [-1, 100, 1], [-1, 100, 1], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [1, 52, 52], [1, 52, 53], [3, 55, 55], [3, 50, 56], [4, 56, 7], [6, 56, 7], [7, 57, 7], [8, 58, 7], [9, 58, 7], [10, 59, 7], [8, 56, 7], [5, 7, 7], [1, 7, 59], [-2, 7, 56], [-5, 7, 52], [-6, 7, 60], [-7, 7, 58], [-6, 7, 50], [-5, 7, 58], [-3, 57, 57], [-2, 57, 52], [0, 58, 0], [0, 59, 50], [0, 7, 57], [-2, 7, 58], [-4, 7, 57], [-5, 7, 53], [-6, 7, 53], [-5, 7, 57], [-4, 7, 57], [-3, 7, 56], [-2, 7, 0], [0, 54, 50], [0, 59, 0], [0, 58, 0], [0, 57, 59], [0, 56, 0], [0, 55, 0], [0, 64, 50], [0, 58, 57], [0, 50, 57], [0, 0, 55], [0, 54, 57], [0, 50, 0], [0, 0, 59], [0, 53, 0], [0, 64, 54], [0, 12, 1], [0, 53, 51], [0, 0, 54], [0, 54, 51], [0, 50, 0], [0, 0, 55], [0, 56, 55], [0, 55, 56], [0, 56, 58], [0, 55, 53], [0, 56, 50], [0, 57, 53], [0, 58, 56], [0, 58, 58], [0, 58, 58], [0, 0, 0], [0, 59, 59], [0, 53, 59], [0, 0, 59], [0, 53, 58], [0, 0, 50], [0, 0, 0]);
function lvlRead(i, pointer) {
i = i % this.teAmount;
if (pointer == undefined) {
this.lvlReadPointer++;
pointer = this.lvlReadPointer;
}
pointer = (pointer + this.lvl.length) % this.lvl.length;
var mc = this.tes[i];
mc.curve = this.lvl[pointer][0];
mc.dekoL = this.lvl[pointer][1];
mc.dekoR = this.lvl[pointer][2];
mc.mc.swapDepths(this.teDepthCounter--);
mc.mc.street.dekoL.gotoAndStop(this.lvl[pointer][1] + 1);
mc.mc.street.dekoR.gotoAndStop(this.lvl[pointer][2] + 1);
}
function init() {
this.phase = 0;
this.accelTimeStamp = 0;
bg.gotoAndStop(this.level);
switch (this.level) {
case "plain" :
this.teAmount = 10;
this.teBotMaxX = 1.9;
this.trackWidth = 2.7;
this.streetWidth = 2.2;
this.greenFriction = 0.93;
break;
case "night" :
this.teAmount = 10;
this.teBotMaxX = 1.9;
this.trackWidth = 2.7;
this.streetWidth = 2.2;
this.greenFriction = 0.93;
break;
case "fog" :
this.teAmount = 8;
this.teBotMaxX = 1.2;
this.trackWidth = 2.05;
this.streetWidth = 1.7;
this.greenFriction = 0.93;
break;
case "dirt" :
this.teAmount = 10;
this.teBotMaxX = 0.9;
this.trackWidth = 2.6;
this.streetWidth = 2.2;
this.greenFriction = 0.93;
}
this.teMcHeight = 100;
this.teHeight = 35;
this.teHeightScale = 0.8;
this.camX = 0;
this.scoreFlag = true;
this.pl.vx = 0;
this.pl.ax = 0.03;
this.pl.fx = 0.85;
this.pl.x = 0;
this.pl.y = -1;
this.pl.vz = 0;
this.pl.az = 0.005;
this.pl.fz = 0.98;
this.lvlReadPointer = -1;
this.teDepthCounter = 1000000 /* 0x0F4240 */;
this.spriteDepthCounter = 2000000 /* 0x1E8480 */;
this.pl.mc = this.attachMovie("bike", "bike", 3000000);
this.pl.mc._y = 155;
this.pl.mc.biker.sprite.tire.stop();
var variant = 0;
var i = 0;
while (i < this.teAmount) {
this.tes[i] = Array();
this.tes[i].mc = this.attachMovie("te", "track" + i, this.teDepthCounter--);
this.tes[i].col = new Color(this.tes[i].mc);
this.tes[i].mc.street.variant.gotoAndStop((this.level + "_") + variant);
this.lvlRead(i);
this.tes[i].mc.grass.variant.gotoAndStop((this.level + "_") + variant);
i++;
}
this.offTe = 0;
this.botcfg = {vzMax:0.15, az:0.005, ax:0.005, vzVariance:0.55};
var i = 0;
while (i < 6) {
this.bots[i] = new Object();
this.bots[i].mc = this.attachMovie("bike", "bot" + i, this.spriteDepthCounter--);
this.bots[i].mc.biker.tire.gotoAndStop(1);
this.bots[i].col = new Color(this.bots[i].mc);
this.bots[i].vz = 0;
this.bots[i].az = this.botcfg.az;
this.bots[i].ax = this.botcfg.ax;
this.resetBot(this.bots[i]);
this.bots[i].x = this.botBases[i].x;
this.bots[i].z = this.botBases[i].z;
i++;
}
this.coltrans = {ra:100, rb:0, ga:100, gb:0, ba:100, bb:0, aa:100, ab:0};
}
function resetBot(bot) {
bot.x = ((this.teBotMaxX * Math.random()) * 2) - this.teBotMaxX;
bot.mc.biker.gotoAndStop(Math.floor(Math.random() * 7) + 2);
bot.vzMax = this.botcfg.vzMax + ((Math.random() * this.botcfg.vzMax) * this.botcfg.vzVariance);
}
function startBots() {
for (var i in this.bots) {
this.bots[i].mc.biker.tire.play();
}
}
function gameOver() {
_root.actScore = int(_root.osd.actScore);
_root.gotoAndStop("raceover");
}
this.level = _root.level;
this.lvl = this.lvls[this.level];
this.tes = new Array();
this.bufferOffX = new Array();
this.bufferCurve = new Array();
this.coltrans = new Object();
this.bots = new Array();
this.botBases = new Array();
this.botBases[0] = {x:-1, z:0};
this.botBases[1] = {x:0, z:0};
this.botBases[2] = {x:1, z:0};
this.botBases[3] = {x:-1, z:1};
this.botBases[4] = {x:0, z:1};
this.botBases[5] = {x:1, z:1};
this.pl = new Object();
init();
if (_root.version eq "nkcheat") {
levedAlter = function (element, d, value, offset) {
offset = int(offset);
var old = this.lvl[(this.lvlReadPointer - 4) % this.lvl.length][element];
if (int(d) != 0) {
value = old + d;
}
if (element > 0) {
if ((((((((value == 2) || (value == 15)) || (value == 16)) || (value == 17)) || (value == 10)) || (value == 11)) || (value == 12)) || (value == 100)) {
if (element == 1) {
this.levedAlter(2, 0, 1);
}
} else if ((((((((old == 2) || (old == 15)) || (old == 16)) || (old == 17)) || (old == 10)) || (old == 11)) || (old == 12)) || (old == 100)) {
if (element == 1) {
this.levedAlter(2, 0, 0);
}
}
}
this.lvl[((this.lvlReadPointer - 4) + offset) % this.lvl.length][element] = value;
this.levedPrint();
this.lvlReadPointer = this.lvlReadPointer - this.teAmount;
var i = 0;
while (i < this.teAmount) {
this.lvlRead((this.offTe + i) % this.teAmount);
i++;
}
};
levedRead = function (element, offset) {
return(this.lvl[((this.lvlReadPointer - 4) + offset) % this.lvl.length][element]);
};
levedPrint = function () {
var pos = (this.lvlReadPointer - 4);
var count = 0;
var angle = 0;
var drawX = 125;
var drawY = 200;
var i = pos;
while (i < (pos + 12)) {
var mc = _root["block" + count];
if (i == pos) {
mc.gotoAndStop(2);
} else {
mc._alpha = 40;
}
var curve = this.lvl[i % this.lvl.length][0];
mc._x = drawX;
mc._y = drawY;
mc._rotation = angle;
mc.d0.gotoAndStop(this.lvl[i % this.lvl.length][1] + 1);
mc.d1.gotoAndStop(this.lvl[i % this.lvl.length][2] + 1);
mc.swapDepths(10000 - count);
angle = angle - curve;
drawY = drawY - (Math.cos((angle / 180) * Math.PI) * 15);
drawX = drawX + (Math.sin((angle / 180) * Math.PI) * 15);
count++;
i++;
}
var angle = 0;
var drawX = 125;
var drawY = 200;
var i = pos;
while (i > (pos - 12)) {
var mc = _root["block" + count];
if (i == pos) {
mc.gotoAndStop(2);
} else {
mc._alpha = 40;
}
var curve = this.lvl[i % this.lvl.length][0];
mc._x = drawX;
mc._y = drawY;
mc._rotation = angle;
mc.d0.gotoAndStop(this.lvl[i % this.lvl.length][1] + 1);
mc.d1.gotoAndStop(this.lvl[i % this.lvl.length][2] + 1);
mc.swapDepths(11000 + count);
angle = angle + curve;
drawY = drawY + (Math.cos((angle / 180) * Math.PI) * 15);
drawX = drawX - (Math.sin((angle / 180) * Math.PI) * 15);
count++;
i--;
}
};
Key.addListener(this);
this.onKeyDown = function () {
var code = Key.getCode();
if ((code >= 48) && (code < 58)) {
this.levedInput = (this.levedInput + "") + (code - 48);
} else {
switch (code) {
case 220 :
this.levedInput = "";
return;
case 67 :
var i = 0;
var polarity = 0;
polarity = int(this.levedRead(0, 0)) > 0;
while ((int(this.levedRead(0, i)) != 0) && (int(this.levedRead(0, i)) == polarity)) {
this.levedAlter(0, 0, 0, i);
i++;
}
var i = (-1);
while ((int(this.levedRead(0, i)) != 0) && (int(this.levedRead(0, i)) == polarity)) {
this.levedAlter(0, 0, 0, i);
i--;
}
return;
case 68 :
this.levedDeko = int(this.levedInput);
return;
case 73 :
this.levedCurveIn = int(this.levedInput);
var curve = this.levedRead(0, 0);
var i = 0;
while (i < this.levedCurveIn) {
var c = Math.round(curve * ((this.levedCurveIn - i) / this.levedCurveIn));
this.levedAlter(0, 0, c, (-1) * i);
i++;
}
return;
case 76 :
var i = 0;
while (i < 24) {
_root.attachMovie("block", "block" + i, 100 + i);
_root["block" + i]._xscale = (_root["block" + i]._yscale = 200);
i++;
}
this.levedPrint();
return;
case 79 :
this.levedCurveOut = int(this.levedInput);
var curve = this.levedRead(0, 0);
var i = 0;
while (i < this.levedCurveOut) {
var c = Math.round(curve * ((this.levedCurveOut - i) / this.levedCurveOut));
this.levedAlter(0, 0, c, i);
i++;
}
return;
case 84 :
this.levedCurveThreshold = int(this.levedInput);
var curve = this.levedRead(0, 0);
var i = 0;
while (i < this.levedCurveThreshold) {
this.levedAlter(0, 0, curve, i);
i++;
}
return;
case 88 :
var track = this.lvl;
var i = 0;
while (i < track.length) {
var te = track[i];
trace((((((("[" + te[0]) + ", ") + te[1]) + ", ") + te[2]) + "], ") + ((te.comment ne "") ? ("// " + te.comment) : ""));
i++;
}
return;
case 45 :
if (Key.isDown(16) && (Key.isDown(17))) {
this.levedDeko = this.levedRead(1, 0);
} else if (Key.isDown(16)) {
this.levedAlter(1, 1, 0);
this.levedDeko = this.levedRead(1, 0);
} else {
this.levedAlter(1, 0, int(this.levedDeko));
}
return;
case 33 :
if (Key.isDown(16) && (Key.isDown(17))) {
this.levedDeko = this.levedRead(2, 0);
} else if (Key.isDown(16)) {
this.levedAlter(2, 1, 0);
this.levedDeko = this.levedRead(2, 0);
} else {
this.levedAlter(2, 0, int(this.levedDeko));
}
return;
case 46 :
if (Key.isDown(16)) {
this.levedAlter(1, -1, 0);
this.levedDeko = this.levedRead(1, 0);
}
return;
case 34 :
if (Key.isDown(16)) {
this.levedAlter(2, -1, 0);
this.levedDeko = this.levedRead(2, 0);
}
return;
case 32 :
if (this.pl.vz == 0) {
this.pl.vz = 0.225;
} else {
this.pl.vz = 0;
}
return;
case 16 :
case 17 :
return;
}
}
};
}
function botSort(a, b) {
if (a.z < b.z) {
return(-1);
}
if (a.z > b.z) {
return(1);
}
return(0);
}
function draw() {
var curve;
var mc;
var offCurve = 0;
var distance;
var ti;
var dt;
dt = (getTimer() - this.timestamp) / 50;
this.timestamp = getTimer();
if (dt > 200) {
return(undefined);
}
if (this.pl.vz > 0.1) {
this.pl.mc.biker.sprite.tire.play();
} else {
this.pl.mc.biker.sprite.tire.gotoAndStop(1);
}
if (Key.isDown(27) || (Key.isDown(8) && (_root.version eq "nkcheat"))) {
this.gameOver();
}
if (Key.isDown(38)) {
if (this.phase == 1) {
this.pl.mc.biker.sprite.light.gotoAndStop("off");
if (this.accelTimeStamp > 0) {
var a = (getTimer() - this.accelTimeStamp);
if ((a > 0) || (a < -1000)) {
this.accelTimeStamp = 0;
} else {
this.pl.vz = this.pl.vz + (this.pl.az * dt);
}
}
this.pl.vz = this.pl.vz + (this.pl.az * dt);
this.distance = this.distance - (0.05 * dt);
} else if ((this.phase == 0) && (this.keyAccelTokens > 0)) {
this.keyAccelTokens = 0;
this.accelTimeStamp = getTimer() + 1000;
}
} else {
this.pl.mc.biker.sprite.light.gotoAndStop("on");
this.keyAccelTokens = 1;
}
if (Key.isDown(40)) {
this.pl.vz = this.pl.vz * Math.pow(0.95, dt);
}
if (this.phase >= 2) {
this.pl.vz = this.pl.vz * Math.pow(0.95, dt);
} else {
this.pl.vz = this.pl.vz * Math.pow(this.pl.fz, dt);
}
var volSqueal = 0;
if (Key.isDown(37) && (this.phase > 0)) {
volSqueal = Math.max(0, Math.abs(this.pl.vx) - 0.3);
this.pl.vx = this.pl.vx - (0.1 * dt);
if (!Key.isDown(38)) {
this.pl.vx = this.pl.vx - (0.05 * dt);
}
}
if (Key.isDown(39) && (this.phase > 0)) {
volSqueal = Math.max(0, Math.abs(this.pl.vx) - 0.3);
this.pl.vx = this.pl.vx + (0.1 * dt);
if (!Key.isDown(38)) {
this.pl.vx = this.pl.vx + (0.05 * dt);
}
}
if (volSqueal > 0) {
_root.snd.fadeChannel(_root.sndChannelSqueal, volSqueal * 0.53, 5);
} else {
_root.snd.fadeChannel(_root.sndChannelSqueal, volSqueal, 5);
}
if (_root.version == "nkcheat") {
if (((!Key.isDown(16)) && (Key.isDown(34))) && (this.keyRightTokens > 0)) {
this.keyRightTokens = 0;
this.pl.vz = 0;
this.levedAlter(0, -1);
} else {
this.keyRightTokens = 1;
}
if (((!Key.isDown(16)) && (Key.isDown(46))) && (this.keyLeftTokens > 0)) {
this.keyLeftTokens = 0;
this.pl.vz = 0;
this.levedAlter(0, 1);
} else {
this.keyLeftTokens = 1;
}
if (Key.isDown(35) && (this.keyDownTokens > 0)) {
this.pl.vz = 0;
this.distance = int(this.distance) + 1.1;
this.keyDownTokens = 0;
} else {
this.keyDownTokens = 1;
}
if (Key.isDown(36) && (this.keyUpTokens > 0)) {
this.pl.vz = 0;
this.keyUpTokens = 0;
this.distance = int(this.distance) - 1;
} else {
this.keyUpTokens = 1;
}
}
this.pl.vx = this.pl.vx * Math.pow(this.pl.fx, dt);
this.pl.mc.biker._rotation = (this.pl.mc.biker._rotation * 0.8) + (((this.pl.vx * Math.max(0.08, Math.abs(this.pl.vz))) * 330) * 0.2);
this.pl.mc.biker.sprite.gotoAndStop(Math.min(20, Math.max(1, int((this.pl.vx + 0.5) * 20))));
this._rotation = (this.pl.vx * Math.abs(this.pl.vz)) * 90;
this.distance = this.distance - (this.pl.vz * dt);
_root.osd.actScore = _root.osd.actScore + ((this.pl.vz * dt) * 5);
if (this.phase > 1) {
if ((this.phase == 2) || (this.phase == 3)) {
if (this.phase == 3) {
this.pl.vz = this.pl.vz * Math.pow(0.95, dt);
}
if (this.pl.vz < 0.003) {
this.phase = 4;
this.gameOver();
} else if (this.pl.vz < 0.015) {
this.pl.vz * 0.5;
}
}
}
var control;
this.pl.x = Math.max(-1 * this.trackWidth, Math.min(this.trackWidth, this.pl.x));
control = 0.2;
if (this.level == "dirt") {
control = 0.15;
if (Math.abs(this.pl.x) > this.streetWidth) {
control = 0.12;
} else if (Math.abs(this.pl.x) > 1) {
control = 0.1;
this.pl.vz = this.pl.vz * Math.pow(0.997, dt);
}
}
this.pl.x = this.pl.x + (((this.pl.vx * dt) * control) * Math.max(0.7, Math.min(0.8, this.pl.vz * 10)));
this.pl.vz = Math.max(0, this.pl.vz - (Math.abs(this.pl.vx * 0.001) * dt));
this.camX = this.pl.x * -100;
while (this.distance < 0) {
this.distance = this.distance + 1;
this.lvlRead(this.offTe);
this.offTe++;
this.scoreFlag = true;
}
while (this.distance > 1) {
this.lvlReadPointer--;
this.lvlRead(this.offTe, (this.lvlReadPointer - this.teAmount) + 1);
this.distance = this.distance - 1;
this.offTe--;
}
p = Math.pow(0.64, this.pl.y);
mc = this.pl.mc;
mc._y = p * 100;
mc._xscale = (mc._yscale = p * 100);
mc._x = ((this.pl.x * p) * 100) + this.camX;
var i = 0;
while (i < this.teAmount) {
te = this.tes[(i + this.offTe) % this.teAmount];
mc = te.mc;
distance = (this.distance - 2) + i;
this.sfx(te, distance);
p = Math.pow(0.64, distance);
mc._y = p * 100;
scale = p * 100;
mc.street._xscale = scale;
mc.street._yscale = scale;
mc.grass._yscale = scale;
curve = te.curve;
if (i == 0) {
x = this.camX * p;
curve = curve * this.distance;
} else {
x = spliceX;
}
if (i == 0) {
var dx = (((this.pl.vz * te.curve) * 0.09) * dt);
this.pl.x = this.pl.x + dx;
this.bg.shil._x = ((this.bg.shil._x + (dx * 60)) + 700) % 700;
}
if (i == 1) {
if (Math.abs(this.pl.x) > (this.streetWidth + 0.1)) {
this.pl.vz = this.pl.vz * Math.pow(this.greenFriction, dt);
if ((this.pl.x > 0) && (te.dekoR > 0)) {
_root.snd.playEvent("sndHitDeko", Math.abs(this.pl.vz) * 12);
this.pl.vz = this.pl.vz * Math.pow(0.7, dt);
this.pl.vx = this.pl.vx - (0.5 * dt);
} else if ((this.pl.x < 0) && (te.dekoL > 0)) {
_root.snd.playEvent("sndHitDeko", Math.abs(this.pl.vz) * 12);
this.pl.vz = this.pl.vz * Math.pow(0.7, dt);
this.pl.vx = this.pl.vx + (0.5 * dt);
}
}
if ((te.dekoL == 11) || (te.dekoL == 12)) {
if (this.scoreFlag == true) {
_root.statistics[_root.level].checkpoints.push({score:0, time:0});
_root.osd.score(false, te.dekoL == 12);
this.scoreFlag = false;
this.phase = 1;
}
if ((te.dekoL == 12) && (_root.version != "nkcheat")) {
_root.statistics[_root.level].winner = true;
this.phase = 3;
}
}
}
mc.street._x = x;
this.bufferOffX[i] = x;
this.bufferCurve[i] = te.curve;
offCurve = offCurve + curve;
curve = (this.camX * 0.094) + offCurve;
spliceX = x - ((curve * 3.8) * p);
curve = Math.min(Math.max(71 - int(curve), 1), 141);
mc.street.gotoAndStop(curve);
i++;
}
this.bufferOffX[i] = this.bufferOffX[i - 1];
var d;
var rot;
var strategy;
this.bots.sort(this.botSort);
var sndVolume = 0.5;
i = 0;
while (i < this.bots.length) {
i = int(i);
bot = this.bots[i];
if (bot.z < 0) {
sndVolume = sndVolume + (Math.max(0, bot.z + 5) * 0.06);
} else {
sndVolume = sndVolume + (Math.max(0, 3 - bot.z) * 0.06);
}
if ((this.phase == 1) || (this.phase == 2)) {
bot.vz = Math.min(bot.vz + (bot.az * dt), bot.vzMax);
} else {
bot.vz = bot.vz * Math.pow(0.96, dt);
bot.vx = bot.vx * 0.5;
}
if ((this.phase == 0) || (this.phase == 4)) {
bot.vz = 0;
bot.vx = 0;
}
bot.z = bot.z + ((bot.vz - this.pl.vz) * dt);
bot.x = bot.x + (bot.vx * dt);
bot.vx = bot.vx * Math.pow(0.95, dt);
mc = bot.mc;
if ((bot.z < -2) || (bot.z >= (this.teAmount - 3))) {
if (bot.z > (this.teAmount + 6)) {
bot.z = bot.z - (this.teAmount + 8);
}
if (bot.z < -5) {
bot.z = this.teAmount + (Math.random() * 5);
}
mc._visible = false;
} else {
mc._visible = true;
if (bot.z < -1) {
mc.swapDepths((4000000 - int(bot.z * 10000)) - i);
} else {
mc.swapDepths((2000000 - int(bot.z * 10000)) - i);
}
ti = (bot.z + 2) - this.distance;
distance = 1 - (ti - Math.floor(ti));
ti = Math.ceil(ti);
this.sfx(bot, bot.z);
curve = this.tes[(ti + this.offTe) % this.teAmount].curve;
rot = curve + (bot.vx * -100);
mc.biker._rotation = Math.max(Math.min((mc.biker._rotation * 0.9) + ((rot * -6.5) * 0.1), 33), -33);
p = Math.pow(0.64, bot.z);
mc._y = p * 100;
mc._x = (((bot.x * p) * 100) + (this.bufferOffX[ti] * distance)) + (this.bufferOffX[ti + 1] * (1 - distance));
mc._xscale = (mc._yscale = p * 100);
strategy = 0;
d = Math.abs(bot.x - this.pl.x);
if (d < 0.25) {
if (bot.z > -1) {
if (bot.z < -0.63) {
_root.snd.playEvent("sndHit", (this.pl.vz - bot.vz) * 10);
this.pl.vz = Math.min(this.pl.vz, bot.vz) * Math.pow(0.7, dt);
}
} else if (bot.z > -1.37) {
_root.snd.playEvent("sndHit", (bot.vz - this.pl.vz) * 10);
bot.vz = Math.min(this.pl.vz, bot.vz) * Math.pow(0.7, dt);
} else {
if (this.pl.x > 0) {
bot.vx = bot.vx - (bot.ax * dt);
} else {
bot.vx = bot.vx + (bot.ax * dt);
}
strategy = 11;
}
} else if (d < 0.5) {
if ((bot.z > -1.5) && (bot.z < -0.63)) {
_root.snd.playEvent("sndHitShoulder", Math.abs(this.pl.vx - bot.vx) * 10);
this.pl.vx = this.pl.vx * Math.pow(0.8, dt);
if (this.pl.x > bot.x) {
bot.vx = Math.min(this.pl.vx * control, bot.vx) - (bot.ax * dt);
strategy = 12;
} else {
bot.vx = Math.max(this.pl.vx * control, bot.vx) + (bot.ax * dt);
strategy = 12;
}
}
}
if (Math.abs(bot.x) >= this.teBotMaxX) {
if (this.bot.x > 0) {
bot.vx = bot.vx - (bot.ax * dt);
} else {
bot.vx = bot.vx + (bot.ax * dt);
}
strategy = 20;
if (Math.abs(bot.x) > this.streetWidth) {
bot.vz = bot.vz * Math.pow(this.greenFriction, dt);
}
if (this.level == "dirt") {
if ((Math.abs(this.bot.x) < this.streetWidth) && (Math.abs(this.bot.x) > 1)) {
this.bot.vz = this.bot.vz * Math.pow(0.987, dt);
}
}
}
if (strategy == 0) {
if (i < (this.bots.length - 1)) {
var j = (i + 1);
while (j < this.bots.length) {
other = this.bots[j];
if ((Math.abs(bot.x - other.x) < 0.3) && ((other.z - bot.z) < 1)) {
if (bot.x > 0) {
bot.vx = bot.vx - (bot.ax * dt);
} else {
bot.vx = bot.vx - (bot.ax * dt);
}
bot.vz = bot.vz * Math.pow(0.95, dt);
strategy = 30;
}
j++;
}
}
}
if (strategy == 0) {
bot.vx = bot.vx - (((bot.ax * dt) * curve) / 15);
strategy = 40;
}
}
i++;
}
sndVolume = Math.min(0.8, sndVolume) * 0.4;
_root.snd.fadeChannel(_root.sndChannelAmbience, sndVolume, 10);
if (Key.isDown(36) || (Key.isDown(35))) {
this.levedPrint();
}
}
function sfx(te, distance) {
var sfx;
switch (this.level) {
case "plain" :
sfx = (1 - ((distance - 2) / (this.teAmount - 2))) * 100;
this.coltrans.ra = sfx;
this.coltrans.ga = sfx;
this.coltrans.ba = sfx;
sfx = ((100 - sfx) / 100) * 255;
this.coltrans.rb = sfx;
this.coltrans.gb = sfx;
this.coltrans.bb = sfx;
te.col.setTransform(this.coltrans);
return;
case "night" :
sfx = 100 - (((distance + 2) / this.teAmount) * 100);
this.coltrans.ra = sfx;
this.coltrans.ga = sfx;
this.coltrans.ba = sfx;
te.col.setTransform(this.coltrans);
return;
case "fog" :
sfx = (1 - ((distance + 2) / this.teAmount)) * 100;
this.coltrans.ra = sfx;
this.coltrans.ga = sfx;
this.coltrans.ba = sfx;
sfx = ((100 - sfx) / 100) * 255;
this.coltrans.rb = sfx;
this.coltrans.gb = sfx;
this.coltrans.bb = sfx;
te.col.setTransform(this.coltrans);
return;
case "dirt" :
sfx = (1 - ((distance + 2) / this.teAmount)) * 100;
this.coltrans.ra = sfx;
this.coltrans.ga = sfx;
this.coltrans.ba = sfx;
sfx = (100 - sfx) / 100;
this.coltrans.rb = sfx * 246;
this.coltrans.gb = sfx * 236;
this.coltrans.bb = sfx * 190;
te.col.setTransform(this.coltrans);
}
}
Symbol 308 MovieClip Frame 2
draw();
Symbol 308 MovieClip Frame 3
gotoAndPlay (2);
Symbol 312 MovieClip Frame 1
stop();
Symbol 321 MovieClip Frame 1
stop();
Symbol 343 MovieClip Frame 1
stop();
Symbol 343 MovieClip Frame 11
play();
Symbol 343 MovieClip Frame 12
if (Math.abs(_root.w.pl.vz) < 0.02) {
prevFrame();
}
Symbol 343 MovieClip Frame 13
gotoAndStop (1);
Symbol 343 MovieClip Frame 19
_root.snd.fadeChannel(_root.sndChannelMusic, 1, 15);
_root.snd.fadeChannel(_root.sndChannelMotor, 1, 15);
_root.snd.fadeChannel(_root.sndChannelSqueal, 1, 15);
Symbol 343 MovieClip Frame 63
gotoAndStop (1);
Symbol 343 MovieClip Frame 87
_root.snd.playEvent("sndMarks");
Symbol 343 MovieClip Frame 122
_root.snd.playEvent("sndSet");
Symbol 343 MovieClip Frame 157
_parent.go();
_root.snd.playEvent("sndGo");
_root.snd.fadeChannel(_root.sndChannelMotors, 0, 20);
_root.snd.playEvent("sndRaceStart", 0.5);
_root.sndChannelAmbience = _root.snd.playLoop("sndRaceAmbience", 0);
_root.snd.fadeChannel(_root.sndChannelAmbience, 0.5, 100);
Symbol 343 MovieClip Frame 179
gotoAndStop (1);
Symbol 352 MovieClip Frame 1
stop();
Symbol 368 MovieClip Frame 1
function resetFps() {
this.frames = 0;
this.ms = getTimer();
}
function score(ifInit, ifFinish) {
var resttime = Math.max(0, time - (getTimer() - timestamp));
timestamp = getTimer();
this.timeScore = getTimer();
if (!ifInit) {
var timebonus = Math.max(int(resttime), 0);
var checkpointId = _root.statistics[_root.level].checkpoints.length;
var multibonus = checkpointId;
timebonus = timebonus * multibonus;
this.actScore = this.actScore + timebonus;
if (timebonus > 0) {
this.titles.bonus = (multibonus + " x Bonus: ") + timebonus;
} else {
this.titles.bonus = "No Bonus";
}
var statsObj = _root.statistics[_root.level].checkpoints[_root.statistics[_root.level].checkpoints.length - 1];
statsObj.bonus = timebonus;
statsObj.time = getTimer() - this.checkpointTimestamp;
this.checkpointTimestamp = getTimer();
if (ifFinish) {
_root.snd.playEvent("sndFinish");
this.titles.title = "Finish!";
} else {
_root.snd.playEvent("sndCheckpoint");
this.titles.title = "Checkpoint!";
}
trace("gap check!");
this.titles.gotoAndPlay("checkpoint");
} else {
this.checkpointTimestamp = getTimer();
this.time = 0;
resttime = 0;
}
this.time = resttime + 30000;
this.warn = 6;
}
function go() {
resetFps();
score(true);
_root.w.phase = 1;
_root.w.startBots();
this.gotoAndPlay("loop");
}
actScore = 0;
timeScore = -100000;
timeDisplay = 30;
timeDisplayTenth = ".0";
Symbol 368 MovieClip Frame 7
stop();
titles.gotoAndPlay("markssetgo");
Symbol 368 MovieClip Frame 8
mph = int(_root.w.pl.vz * 800);
tacho.gotoAndStop(int(_root.w.pl.vz * 380) + 1);
meter.gotoAndStop(int((this.pos / _root.w.lvl.length) * 100) + 1);
scoreD = int(actScore);
timeD = time - (getTimer() - timestamp);
if (((this.pos == 0) && (timeD < 29000)) && (titles._currentframe == 1)) {
titles.gotoAndPlay("help");
}
if ((timeD < 0) && (_root.version ne "nkcheat")) {
timeD = 0;
if (_root.w.phase == 1) {
_root.w.phase = 2;
this.titles.title = "Time Out!";
this.titles.bonus = "";
_root.snd.fadeChannel(_root.sndChannelMusic, 0, 15);
_root.snd.fadeChannel(_root.sndChannelMotor, 0, 15);
_root.snd.fadeChannel(_root.sndChannelSqueal, 0, 15);
this.titles.gotoAndPlay("checkpoint");
_root.snd.playEvent("sndTimeout");
}
}
timeDisplay = int(timeD / 1000);
if (timeDisplay < 10) {
timeDisplay = "0" + timeDisplay;
}
timeDisplayTenth = "." + (int(timeD / 100) % 10);
if (timeDisplay < warn) {
if (warn > 1) {
_root.snd.playEvent("sndTimer");
}
mcTime.play();
warn--;
}
fps = Math.floor(((frames++) / (getTimer() - ms)) * 10000) / 10;
pos = _root.w.offTe;
if (Key.isDown(8)) {
timestamp = getTimer();
time = 30000;
resetFps();
}
Symbol 368 MovieClip Frame 9
gotoAndPlay (8);
Symbol 376 Button
on (press) {
_root.gotoAndStop(_root.nextStep);
}
Symbol 395 Button
on (press) {
_root.gotoAndStop("gameover");
}
Symbol 397 Button
on (release) {
_global.api.highscore.submit(_root.game, "", _root.totalScore, 0);
}
Symbol 409 Button
on (release) {
_root.gotoAndStop("menu");
}
Symbol 413 Button
on (release) {
getURL ("http://www.neodelight.com/games/turbospirit", "_top");
}
Symbol 418 Button
on (release) {
getURL ("http://www.neodelight.com/games/turbospirit", "_top");
}