Frame 1
_accProps = new Object();
_accProps.silent = true;
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
var pv;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
pv = ((fv == 5) ? (getVersion()) : (System.capabilities.version));
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=8&fv=") + fv) + "&v=") + escape(pv)) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
__com_mochibot__("98c0f4da", this, 10301, true);
MochiAd.showPreGameAd({id:"957bb12e9086966f", res:"550x400"});
Stage.scaleMode = "noScale";
Stage.showMenu = false;
var currentQuality = "MEDIUM";
Frame 20
mochi.MochiServices.connect("957bb12e9086966f");
mochi.MochiScores.setBoardID("e8afb0a81bc5461a");
var _mochiads_game_id = "957bb12e9086966f";
stop();
_root.onEnterFrame = function () {
loadedBytes.text = _root.getBytesLoaded();
totalBytes.text = _root.getBytesTotal();
if (_root.getBytesLoaded() == _root.getBytesTotal()) {
_root.loadMask._xscale = 100;
delete _root.onEnterFrame;
play();
} else {
_root.loadMask._xscale = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100;
}
};
Frame 91
stop();
_lockroot = true;
Stage.scaleMode = "noScale";
Stage.showMenu = false;
Instance of Symbol 189 MovieClip in Frame 91
on (release) {
getURL ("http://www.ninjarobots.co.uk", "_blank");
}
Frame 92
stop();
Instance of Symbol 239 MovieClip in Frame 92
on (release) {
getURL ("http://www.ussgames.com", "_blank");
}
Frame 93
function init() {
_quality = "MEDIUM";
logoanim.gotoAndPlay(1);
gameGlobalStats = new CarGameGlobalStats();
var _local2 = new CarModel(7, 0.55, 0.4, 5, 0.08, 1, "ArrEx");
gameGlobalStats.addCarModel(_local2);
var _local5 = new CarModel(7.5, 0.5, 0.5, 5.5, 0.1, 2, "TeeTea");
gameGlobalStats.addCarModel(_local5);
var _local6 = new CarModel(8, 0.65, 0.45, 5.5, 0.08, 3, "MMM");
gameGlobalStats.addCarModel(_local6);
var _local3 = new CarModel(8.5, 0.6, 0.5, 6, 0.07, 4, "Eee-vo");
gameGlobalStats.addCarModel(_local3);
var _local1 = new CarModel(10.5, 0.7, 0.45, 5, 0.07, 5, "Gal-lardy");
gameGlobalStats.addCarModel(_local1);
var _local4 = new CarModel(11.5, 0.85, 0.6, 5.5, 0.08, 6, "LaMens");
gameGlobalStats.addCarModel(_local4);
gameGlobalStats.findBestStats();
gameGlobalStats.addTrack(1, 0);
gameGlobalStats.addTrack(2, 1);
gameGlobalStats.addTrack(3, 2);
gameGlobalStats.addTrack(4, 3);
gameGlobalStats.addTrack(5, 4);
carWorld.crashMomentumTransfer = 6;
gameGlobalStats.setCarWorld(carWorld);
gameGlobalStats.resetLapTimes();
gameGlobalStats.loadStats(soName);
carWorld.setAimFrameTime(28.5714285714286);
}
function doNonobaScoreRank() {
var _local2 = true;
var _local3 = 0;
var _local1 = 0;
while (_local1 < gameGlobalStats.trackTimes.length) {
if (gameGlobalStats.trackTimes[_local1] != 0) {
_local3 = _local3 + gameGlobalStats.trackTimes[_local1];
} else {
_local2 = false;
}
_local1++;
}
trace(_local2);
if (_local2) {
trace("Nonoba time: " + _local3);
Nonoba.api.NonobaAPI.SubmitScore("totaltime", _local3, function (response) {
switch (response) {
case Nonoba.api.NonobaAPI.SUCCESS :
trace("The score was submitted successfully");
break;
case Nonoba.api.NonobaAPI.NOT_LOGGED_IN :
trace("The user is not logged in");
break;
case Nonoba.api.NonobaAPI.ERROR :
trace("An error occurred.");
}
});
}
}
function doNonobaAllTracksUnlocked() {
trace("Nonoba tracks ");
Nonoba.api.NonobaAPI.AwardAchievement("alltracks", function (response, count) {
switch (response) {
case Nonoba.api.NonobaAPI.SUCCESS :
trace("The achievement was successfully awarded.");
trace(("It has been awarded " + count) + " times.");
break;
case Nonoba.api.NonobaAPI.NOT_LOGGED_IN :
trace("The user is not logged in.");
break;
case Nonoba.api.NonobaAPI.ERROR :
trace("An error occurred.");
}
});
}
function doNonobaAllCarsUnlocked() {
trace("Nonoba cars ");
Nonoba.api.NonobaAPI.AwardAchievement("allcars", function (response, count) {
switch (response) {
case Nonoba.api.NonobaAPI.SUCCESS :
trace("The achievement was successfully awarded.");
trace(("It has been awarded " + count) + " times.");
break;
case Nonoba.api.NonobaAPI.NOT_LOGGED_IN :
trace("The user is not logged in.");
break;
case Nonoba.api.NonobaAPI.ERROR :
trace("An error occurred.");
}
});
}
var gameGlobalStats;
var soName = "USS_Racing_2_Stats";
var carWorld = new CarWorld();
lapTimeBoardIds = new Array("dde576612381feb3", "420a9c967e809d72", "176887a40207a5a0", "2905833778485e93", "ad864920b5494968");
bestTimeBoardIds = new Array("e8afb0a81bc5461a", "ee1e46ebf8be997f", "df39be4738db7d12", "06abb1d86301a721", "765a2b77d73c8157");
waiting = false;
init();
stop();
onEnterFrame = function () {
if (bytesLoaded == bytesTotal) {
delete onEnterFrame;
play();
}
};
ussgameslogo.onRelease = function () {
getURL ("http://www.ussgames.com", "_blank");
};
Instance of Symbol 268 MovieClip in Frame 93
on (release) {
getURL ("http://www.ninjarobots.co.uk", "_blank");
}
Frame 94
function playSound(soundNum) {
if (soundOn) {
soundPlayer.gotoAndStop(soundNum + 2);
}
}
function stopSound(soundNum) {
ourSounds[soundNum].stop(soundLinkage[soundNum]);
}
function stopAllTheSounds() {
soundPlayer.gotoAndStop(1);
stopAllSounds();
}
function soundOff() {
soundOn = false;
stopAllTheSounds();
}
function sound_On() {
soundOn = true;
}
var introMusic = new Sound();
introMusic.attachSound("Lightspeed.mp3");
var setupMusic = new Sound();
setupMusic.attachSound("Chemical_130_bpm.mp3");
var level1Music = new Sound();
level1Music.attachSound("Funkrock_Bass_Drums.mp3");
var level2Music = new Sound();
level2Music.attachSound("risky_business.mp3");
var level3Music = new Sound();
level3Music.attachSound("PhatBeat_03.mp3");
var level4Music = new Sound();
level4Music.attachSound("DrumNBassLoopAndScratchyBassline.mp3");
var soundOn = true;
ourSounds = new Array(introMusic, setupMusic, level1Music, level2Music, level3Music, level4Music, introMusic);
soundLinkage = new Array("Lightspeed.mp3", "Chemical_130_bpm.mp3", "Funkrock_Bass_Drums.mp3", "risky_business.mp3", "PhatBeat_03.mp3", "DrumNBassLoopAndScratchyBassline.mp3", "Lightspeed.mp3");
Frame 102
function showAdCloser() {
close_Button._visible = true;
greyOut_btn._visible = true;
close_Button.onRelease = function () {
close_Button._visible = false;
greyOut_btn._visible = false;
MochiAd.unload(advert);
};
}
function initAttractor() {
skidBitmap = new flash.display.BitmapData(1600, 1200, true, 0);
var _local2 = Math.floor(Math.random() * 2) + 1;
gameGlobalStats.nextLineUp = new LineUp();
i = 0;
while (i < 4) {
colourRGB = colourPickerBitmapData.getPixel(Math.floor(Math.random() * 300), Math.floor(Math.random() * 23));
if (colourRGB != 0) {
cR = (colourRGB & 16711680) >> 16;
cG = (colourRGB & 65280) >> 8;
cB = colourRGB & 255;
}
gameGlobalStats.nextLineUp.addCar(gameGlobalStats.carModels[randomLevel - 1], false, cR, cG, cB);
i++;
}
trackMC.wayPointsMC._visible = false;
trackMC.checkPointsMC._visible = false;
lastLap._visible = false;
trackMC.skidMarks.attachBitmap(skidBitmap, -1);
_root.trackMC.carWorld = gameGlobalStats.carWorld;
_root.trackMC.setClips(_root.trackMC.collisionMC, _root.trackMC.trackMC, _root.trackMC.grassMC, _root.trackMC.gravelMC, _root.trackMC.wayPointsMC, skidBitmap, "singleSkid");
_root.trackMC.turboClip = _root.trackMC.turbos;
_root.trackMC.collisionMC._visible = false;
_root.trackMC.grassMC._visible = false;
_root.trackMC.gravelMC._visible = false;
i = 0;
while (i < 4) {
carsArray[i].id_name = "CPU-" + (i + 1);
carsArray[i].id_i = i;
carsArray[i].setCarWorld(gameGlobalStats.carWorld);
carsArray[i].setTrack(_root.trackMC);
carsArray[i].setCarModel(gameGlobalStats.nextLineUp.carModels[i], gameGlobalStats.nextLineUp.getColourObject(i));
carsArray[i].carRotation = carsArray[i]._rotation;
i++;
}
_root.trackMC.car1.cpuSlowDown = 5;
_root.trackMC.car1.cpuMinSpeed = 5;
_root.trackMC.car1.cpuLookDistance = 10;
_root.trackMC.car1.cpuMinSpeed = 8;
_root.trackMC.car2.cpuSlowDown = 15;
_root.trackMC.car2.cpuAccuracy = 20;
_root.trackMC.car2.cpuLookDistance = 5;
_root.trackMC.car2.cpuMinSpeed = 10;
_root.trackMC.car3.cpuSlowDown = 20;
_root.trackMC.car3.cpuAccuracy = 25;
_root.trackMC.car3.cpuLookDistance = 4;
_root.trackMC.car3.cpuMinSpeed = 9;
_root.trackMC.focusPoint1 = _root.trackMC.car3;
_root.trackMC.focusPoint2 = _root.trackMC.car3;
_root.trackMC.focus();
carWorld.resetDeltaTime();
onEnterFrame = attractorLoop;
}
function attractorLoop() {
carWorld.updateDeltaTime();
_root.trackMC.car1.collide();
_root.trackMC.car2.collide();
_root.trackMC.car3.collide();
_root.trackMC.car4.collide();
_root.trackMC.car4.cpuSwerve(_root.carsArray);
_root.trackMC.car1.cpuUpdate();
_root.trackMC.car2.cpuUpdate();
_root.trackMC.car3.cpuUpdate();
_root.trackMC.car4.cpuUpdate();
_root.trackMC.car4.carToCarCollisions(_root.carsArray);
if ((_root.trackMC.car4._x < -100) || (_root.trackMC.car4._y < -100)) {
_root.trackMC.focusPoint1 = carsArray[0];
_root.trackMC.focusPoint2 = carsArray[0];
} else {
_root.trackMC.focusPoint1 = _root.trackMC.car4;
_root.trackMC.focusPoint2 = _root.trackMC.car4;
}
_root.trackMC.focus();
if (_root.trackMC.car3.laps == 4) {
_root.trackMC.car3.laps = 0;
fader.gotoAndPlay("fadeout");
delete enterFrame;
nextFrame();
}
}
delete onEnterFrame;
if (!waiting) {
waiting = true;
if (Math.random() < 0.25) {
MochiAd.showClickAwayAd({clip:advert, id:"957bb12e9086966f", ad_loaded:showAdCloser});
} else {
MochiAd.showClickAwayAd({clip:advert, id:"4e7b4b68420ca2bf", ad_loaded:showAdCloser});
}
}
close_Button._visible = false;
play_button.onRelease = function () {
_root.gameGlobalStats.nextLevel = 1;
fader.frameDest = "choosetrack";
fader.gotoAndPlay("fadein");
};
ussgameslogo.onRelease = function () {
getURL ("http://www.ussgames.com", "_blank");
};
ninjalink_1.onRelease = function () {
getURL ("http://www.ninjarobots.co.uk", "_blank");
};
fader.gotoAndPlay("fadeout");
logoanim.gotoAndPlay(1);
stopAllTheSounds();
playSound(0);
if (soundOn == false) {
soundicon.gotoAndStop(2);
}
soundicon.onRelease = function () {
if (soundOn) {
soundOff();
stopAllTheSounds();
soundicon.gotoAndStop(2);
} else {
sound_On();
playSound(0);
soundicon.gotoAndStop(1);
}
};
var colourPickerBitmapData = (new flash.display.BitmapData(300, 48, false, 0));
colourPickerBitmapData.draw(colourPicker);
var carsArray = new Array(_root.trackMC.car1, _root.trackMC.car2, _root.trackMC.car3, _root.trackMC.car4);
var skidBitmap = (new flash.display.BitmapData(2000, 2000, true, 0));
var randomLevel = (Math.floor(Math.random() * 4) + 1);
gameGlobalStats.nextLevel = randomLevel;
trackMC.gotoAndStop(gameGlobalStats.nextLevel);
Instance of Symbol 438 MovieClip "soundicon" in Frame 102
/* no clip actions */
Frame 103
initAttractor();
stop();
Frame 104
gotoAndPlay ("titlescreen");
Frame 112
stop();
delete onEnterFrame;
fader.gotoAndPlay("fadeout");
logoanim.gotoAndPlay(1);
waiting = false;
MochiAd.unload(advert);
if (soundOn == false) {
soundicon.gotoAndStop(2);
}
soundicon.onRelease = function () {
if (soundOn) {
soundOff();
stopAllTheSounds();
soundicon.gotoAndStop(2);
} else {
sound_On();
playSound(1);
soundicon.gotoAndStop(1);
}
};
Instance of Symbol 438 MovieClip "soundicon" in Frame 112
/* no clip actions */
Frame 122
function showLevelStats(level) {
_root.trackName_txt.text = trackNames[level - 1];
if (gameGlobalStats.trackUnlocked[level - 1]) {
if (gameGlobalStats.lapTimes[level - 1] > 0) {
var _local3 = gameGlobalStats.lapTimes[level - 1];
var _local6 = Math.floor(_local3 / 1000);
var _local5 = _local3 % 1000;
_root.bestLap_txt.text = (_local6 + ".") + _local5;
} else {
_root.bestLap_txt.text = "Not Set";
}
_root.bestLapName_txt.text = gameGlobalStats.lapTimeNames[level - 1];
if (gameGlobalStats.trackTimes[level - 1] > 0) {
var _local4 = gameGlobalStats.trackTimes[level - 1];
var _local6 = Math.floor(_local4 / 1000);
var _local5 = _local4 % 1000;
_root.bestTime_txt.text = (_local6 + ".") + _local5;
} else {
_root.bestTime_txt.text = "Not Set";
}
_root.bestTimeName_txt.text = gameGlobalStats.trackTimeNames[level - 1];
}
}
stop();
delete onEnterFrame;
fader.gotoAndPlay("fadeout");
logoanim.gotoAndPlay(1);
stopAllTheSounds();
playSound(1);
i = 0;
while (i < 5) {
if (gameGlobalStats.trackUnlocked[i] != true) {
_root[("l" + (i + 1)) + "butt"]._alpha = 20;
_root[("l" + (i + 1)) + "butt"].enabled = false;
}
i++;
}
trackNames = Array("Easy Oval", "Simple L", "It Bites", "Tight Turns", "Coiled Spring");
trackSelector.destX = l1butt._x;
trackSelector.onEnterFrame = function () {
var _local4 = trackSelector.destX - trackSelector._x;
if (Math.abs(_local4) > 2) {
trackSelector._x = trackSelector._x + (_local4 / 3);
} else {
trackSelector._x = trackSelector.destX;
}
var _local2 = (_root[("l" + _root.gameGlobalStats.nextLevel) + "butt"]._width + 6) - trackSelector._width;
var _local3 = (_root[("l" + _root.gameGlobalStats.nextLevel) + "butt"]._height + 6) - trackSelector._height;
if (Math.abs(_local2) > 1) {
trackSelector._width = trackSelector._width + (_local2 / 3);
} else {
trackSelector._width = _root[("l" + _root.gameGlobalStats.nextLevel) + "butt"]._width + 6;
}
if (Math.abs(_local3) > 1) {
trackSelector._height = trackSelector._height + (_local3 / 3);
} else {
trackSelector._height = _root[("l" + _root.gameGlobalStats.nextLevel) + "butt"]._height + 6;
}
};
play_buttonct.onRelease = function () {
fader.frameDest = "choosecar";
fader.gotoAndPlay("fadein");
};
l1butt.onRelease = function () {
_root.gameGlobalStats.nextLevel = 1;
fader.frameDest = "choosecar";
fader.gotoAndPlay("fadein");
};
l1butt.onRollOver = function () {
showLevelStats(1);
trackSelector.destX = l1butt._x;
_root.gameGlobalStats.nextLevel = 1;
};
l2butt.onRelease = function () {
_root.gameGlobalStats.nextLevel = 2;
fader.frameDest = "choosecar";
fader.gotoAndPlay("fadein");
};
l2butt.onRollOver = function () {
showLevelStats(2);
trackSelector.destX = l2butt._x;
_root.gameGlobalStats.nextLevel = 2;
};
l3butt.onRelease = function () {
_root.gameGlobalStats.nextLevel = 3;
fader.frameDest = "choosecar";
fader.gotoAndPlay("fadein");
};
l3butt.onRollOver = function () {
showLevelStats(3);
trackSelector.destX = l3butt._x;
_root.gameGlobalStats.nextLevel = 3;
};
l4butt.onRelease = function () {
_root.gameGlobalStats.nextLevel = 4;
fader.frameDest = "choosecar";
fader.gotoAndPlay("fadein");
};
l4butt.onRollOver = function () {
showLevelStats(4);
trackSelector.destX = l4butt._x;
_root.gameGlobalStats.nextLevel = 4;
};
l5butt.onRelease = function () {
_root.gameGlobalStats.nextLevel = 5;
fader.frameDest = "choosecar";
fader.gotoAndPlay("fadein");
};
l5butt.onRollOver = function () {
showLevelStats(5);
trackSelector.destX = l5butt._x;
_root.gameGlobalStats.nextLevel = 5;
};
if (_root.gameGlobalStats.nextLevel > 5) {
_root.gameGlobalStats.nextLevel = 5;
}
showLevelStats(_root.gameGlobalStats.nextLevel);
switch (_root.gameGlobalStats.nextLevel) {
case 1 :
trackSelector.destX = l1butt._x;
break;
case 2 :
trackSelector.destX = l2butt._x;
break;
case 3 :
trackSelector.destX = l3butt._x;
break;
case 4 :
trackSelector.destX = l4butt._x;
break;
case 5 :
trackSelector.destX = l5butt._x;
}
timeButton.onRelease = function () {
trace("time button");
boardid = bestTimeBoardIds[gameGlobalStats.nextLevel - 1];
mochi.MochiScores.showLeaderboard({boardID:boardid});
};
lapButton.onRelease = function () {
boardid = lapTimeBoardIds[gameGlobalStats.nextLevel - 1];
mochi.MochiScores.showLeaderboard({boardID:boardid});
};
if (soundOn == false) {
soundicon.gotoAndStop(2);
}
soundicon.onRelease = function () {
if (soundOn) {
soundOff();
stopAllTheSounds();
soundicon.gotoAndStop(2);
} else {
sound_On();
playSound(1);
soundicon.gotoAndStop(1);
}
};
Frame 123
gotoAndStop ("choosetrack");
Frame 132
stop();
carChooser.stats = gameGlobalStats;
carChooser.carMC.carMC.gotoAndStop(gameGlobalStats.nextLevel);
fader.gotoAndPlay("fadeout");
logoanim.gotoAndPlay(1);
defaultcarMC.carMC.gotoAndStop(gameGlobalStats.nextLevel);
chosenCar = 1;
trackicon.gotoAndStop(gameGlobalStats.nextLevel);
play_buttoncc.onRelease = function () {
chosenCar = carChooser.setLineUp();
fader.frameDest = "therace";
fader.gotoAndPlay("fadein");
};
if (soundOn == false) {
soundicon.gotoAndStop(2);
}
soundicon.onRelease = function () {
if (soundOn) {
soundOff();
stopAllTheSounds();
soundicon.gotoAndStop(2);
} else {
sound_On();
playSound(1);
soundicon.gotoAndStop(1);
}
};
Frame 142
stop();
fader.gotoAndPlay("fadeout");
logoanim.gotoAndPlay(1);
Frame 152
fader.gotoAndPlay("fadeout");
Instance of Symbol 438 MovieClip "soundicon" in Frame 152
/* no clip actions */
Frame 153
function initNextRace() {
trackMC.gotoAndStop(gameGlobalStats.nextLevel);
trackMC.wayPointsMC._visible = false;
trackMC.checkPointsMC._visible = false;
lastLap._visible = false;
trackMC.skidMarks.attachBitmap(skidBitmap, -1);
_root.trackMC.carWorld = gameGlobalStats.carWorld;
_root.trackMC.setClips(_root.trackMC.collisionMC, _root.trackMC.trackMC, _root.trackMC.grassMC, _root.trackMC.gravelMC, _root.trackMC.wayPointsMC, skidBitmap, "singleSkid");
_root.trackMC.turboClip = _root.trackMC.turbos;
_root.trackMC.collisionMC._visible = false;
_root.trackMC.grassMC._visible = false;
_root.trackMC.gravelMC._visible = false;
i = 0;
while (i < carsArray.length) {
carsArray[i].id_name = "CPU-" + (i + 1);
carsArray[i].id_i = i;
carsArray[i].setCarWorld(gameGlobalStats.carWorld);
carsArray[i].setTrack(_root.trackMC);
carsArray[i].setCarModel(gameGlobalStats.nextLineUp.carModels[i], gameGlobalStats.nextLineUp.getColourObject(i));
carsArray[i].carRotation = carsArray[i]._rotation;
carsArray[i].weaponsArray = weaponsArray;
i++;
}
if (gameGlobalStats.nextLevel > 1) {
_root.trackMC.car1.cpuSlowDown = 3;
_root.trackMC.car1.cpuLookDistance = 10;
_root.trackMC.car1.cpuMinSpeed = 6;
_root.trackMC.car2.cpuSlowDown = 5;
_root.trackMC.car2.cpuAccuracy = 20;
_root.trackMC.car2.cpuLookDistance = 5;
_root.trackMC.car2.cpuMinSpeed = 7;
_root.trackMC.car3.cpuSlowDown = 7;
_root.trackMC.car3.cpuAccuracy = 15;
_root.trackMC.car3.cpuLookDistance = 4;
_root.trackMC.car3.cpuMinSpeed = 8;
} else {
_root.trackMC.car1.cpuSlowDown = 3;
_root.trackMC.car1.cpuLookDistance = 10;
_root.trackMC.car1.cpuMinSpeed = 5;
_root.trackMC.car2.cpuSlowDown = 4;
_root.trackMC.car2.cpuAccuracy = 20;
_root.trackMC.car2.cpuLookDistance = 5;
_root.trackMC.car2.cpuMinSpeed = 6;
_root.trackMC.car3.cpuSlowDown = 5;
_root.trackMC.car3.cpuAccuracy = 15;
_root.trackMC.car3.cpuLookDistance = 4;
_root.trackMC.car3.cpuMinSpeed = 6.5;
}
_root.trackMC.car4.human = true;
trackMC.p1Arrow._x = trackMC.car4._x;
trackMC.p1Arrow._y = trackMC.car4._y - 20;
trackMC.weapon1.trackMC = trackMC;
trackMC.weapon2.trackMC = trackMC;
trackMC.weapon3.trackMC = trackMC;
trackMC.weapon4.trackMC = trackMC;
trackMC.weapon5.trackMC = trackMC;
trackMC.weapon6.trackMC = trackMC;
trackMC.weapon7.trackMC = trackMC;
trackMC.weapon8.trackMC = trackMC;
trackMC.weapon9.trackMC = trackMC;
trackMC.weapon10.trackMC = trackMC;
trackMC.weapon11.trackMC = trackMC;
trackMC.weapon12.trackMC = trackMC;
_root.trackMC.focus();
_root.trackMC.car1.resetPos();
_root.trackMC.car2.resetPos();
_root.trackMC.car3.resetPos();
_root.trackMC.car4.resetPos();
}
function mainLoop() {
carWorld.updateDeltaTime();
if (_root.trackMC.car4.laps == 4) {
lastLap._visible = true;
} else {
lastLap._visible = false;
}
if (_root.trackMC.car4.laps == 5) {
if (totalRaceTime == 0) {
var _local5 = new Date();
var _local4 = _local5.getTime();
totalRaceTime = _local4 - raceStartTime;
}
delete onEnterFrame;
gotoAndPlay ("result");
return(undefined);
}
if (Key.isDown(38)) {
_root.trackMC.car4.accellerate();
}
if (Key.isDown(40)) {
_root.trackMC.car4.brake();
}
if (Key.isDown(37)) {
_root.trackMC.car4.steer(-1);
}
if (Key.isDown(39)) {
_root.trackMC.car4.steer(1);
}
if (Key.isDown(32)) {
if (_root.trackMC.car4.currentWeapon > 0) {
var _local3 = 4;
var _local2 = 5;
while (trackMC["weapon" + _local2] != undefined) {
if (trackMC["weapon" + _local2].live == false) {
_local3 = _local2;
break;
}
_local2++;
}
trackMC["weapon" + _local3].fire(_root.trackMC.car4._x, _root.trackMC.car4._y, _root.trackMC.car4.currentWeapon, _root.trackMC.car4._rotation, 4);
trackMC["weapon" + _local3].nextWayPoint = _root.trackMC.car4.nextWayPoint;
_root.trackMC.car4.currentWeapon = 0;
}
}
showLapTimes();
_root.trackMC.car1.collide();
_root.trackMC.car2.collide();
_root.trackMC.car3.collide();
_root.trackMC.car4.collide();
_root.trackMC.car1.kill();
_root.trackMC.car2.kill();
_root.trackMC.car3.kill();
_root.trackMC.car4.kill();
_root.trackMC.weapon1.update();
_root.trackMC.weapon2.update();
_root.trackMC.weapon3.update();
_root.trackMC.weapon4.update();
_root.trackMC.weapon5.update();
_root.trackMC.weapon6.update();
_root.trackMC.weapon7.update();
_root.trackMC.weapon8.update();
_root.trackMC.weapon9.update();
_root.trackMC.weapon10.update();
_root.trackMC.weapon11.update();
_root.trackMC.weapon12.update();
_root.trackMC.car1.kill();
_root.trackMC.car2.kill();
_root.trackMC.car3.kill();
_root.trackMC.car4.kill();
_root.trackMC.weapon1.update();
_root.trackMC.weapon2.update();
_root.trackMC.weapon3.update();
_root.trackMC.weapon4.update();
_root.trackMC.weapon5.update();
_root.trackMC.weapon6.update();
_root.trackMC.weapon7.update();
_root.trackMC.weapon8.update();
_root.trackMC.weapon9.update();
_root.trackMC.weapon10.update();
_root.trackMC.weapon11.update();
_root.trackMC.weapon12.update();
_root.trackMC.car4.update();
_root.trackMC.car4.cpuSwerve(_root.carsArray);
_root.trackMC.car1.cpuUpdate();
_root.trackMC.car2.cpuUpdate();
_root.trackMC.car3.cpuUpdate();
_root.trackMC.car1.collectWeapons();
_root.trackMC.car2.collectWeapons();
_root.trackMC.car3.collectWeapons();
_root.trackMC.car4.collectWeapons();
_root.trackMC.car4.carToCarCollisions(_root.carsArray);
sortCars();
p1Weapon.gotoAndStop(_root.trackMC.car4.currentWeapon + 1);
if ((_root.trackMC.car4._x < -100) || (_root.trackMC.car4._y < -100)) {
_root.trackMC.focusPoint1 = carsArray[0];
_root.trackMC.focusPoint2 = carsArray[0];
} else {
_root.trackMC.focusPoint1 = _root.trackMC.car4;
_root.trackMC.focusPoint2 = _root.trackMC.car4;
}
_root.trackMC.focus();
_root.trackMC.updateWeapons();
}
function doAllStatsText() {
_root.allStatsText = "";
i = 0;
while (i < _root.carsArray.length) {
if (_root.carsArray[i].id_name != "CPU-4") {
allStatsText = allStatsText + ((((_root.carsArray[i].id_name + ": ") + (i + 1)) + " Laps:") + _root.carsArray[i].laps);
} else {
allStatsText = allStatsText + ((("You: " + (i + 1)) + " Laps:") + _root.carsArray[i].laps);
}
if (_root.carsArray[i].health == 0) {
allStatsText = allStatsText + " X";
}
allStatsText = allStatsText + newline;
i++;
}
}
function sortCars() {
carsArray.sort(sortFunction);
i = 0;
while (i < carsArray.length) {
if (carsArray[i] == _root.trackMC.car4) {
_root.player1Pos = i + 1;
}
i++;
}
_root.trackMC.firstArrow._x = carsArray[0]._x;
_root.trackMC.firstArrow._y = carsArray[0]._y - 20;
if (carsArray[0] != trackMC.car4) {
_root.trackMC.p1Arrow._x = trackMC.car4._x;
_root.trackMC.p1Arrow._y = trackMC.car4._y - 20;
} else {
_root.trackMC.p1Arrow._x = -1000;
_root.trackMC.p1Arrow._y = -1000;
}
doAllStatsText();
}
function sortFunction(a, b) {
var _local1 = a.laps + (a.nextWayPoint / 100);
var _local2 = b.laps + (b.nextWayPoint / 100);
if (_local1 > _local2) {
return(-1);
}
if (_local1 < _local2) {
return(1);
}
return(0);
}
function showLapTimes() {
var _local2 = "";
bestLap = _root.trackMC.car4.bestLapTime;
var _local4 = _root.trackMC.car4.lastLapTime;
var _local11 = Math.floor(bestLap / 1000);
var _local5 = bestLap % 1000;
var _local9 = Math.floor(_local4 / 1000);
var _local10 = _local4 % 1000;
_local2 = _local2 + (((("Best Lap: " + _local11) + ".") + _local5) + newline);
_local2 = _local2 + (((("Last Lap: " + _local9) + ".") + _local10) + newline);
_root.lapTime_txt.text = _local2;
var _local8 = new Date();
var _local6 = _local8.getTime();
var _local3 = _local6 - raceStartTime;
var _local12 = Math.floor(_local3 / 1000);
var _local7 = _local3 % 1000;
_root.raceTime_txt.text = (_local12 + ".") + _local7;
}
var skidBitmap = (new flash.display.BitmapData(2000, 2000, true, 0));
var allStatsText = "";
var carsArray = new Array(_root.trackMC.car1, _root.trackMC.car2, _root.trackMC.car3, _root.trackMC.car4);
var weaponsArray = new Array(_root.trackMC.weapon1, _root.trackMC.weapon2, _root.trackMC.weapon3, _root.trackMC.weapon4);
var mainLoopTimeoutID;
stopAllTheSounds();
playSound(1 + gameGlobalStats.nextLevel);
var totalRaceTime = 0;
var bestLap = 0;
initNextRace();
if (soundOn == false) {
soundicon.gotoAndStop(2);
}
soundicon.onRelease = function () {
if (soundOn) {
soundOff();
stopAllTheSounds();
soundicon.gotoAndStop(2);
} else {
sound_On();
playSound(1 + gameGlobalStats.nextLevel);
soundicon.gotoAndStop(1);
}
};
Frame 154
initNextRace();
Frame 352
stop();
var my_date = new Date();
var raceStartTime = my_date.getTime();
carWorld.resetDeltaTime();
onEnterFrame = function () {
mainLoop();
};
Frame 353
function randomColour() {
colourRGB = colourPickerBitmapData.getPixel(Math.floor(Math.random() * 300), Math.floor(Math.random() * 23));
if (colourRGB != 0) {
cR = (colourRGB & 16711680) >> 16;
cG = (colourRGB & 65280) >> 8;
cB = colourRGB & 255;
setCarColour(cR, cG, cB);
var _local4 = -(255 - cR);
var _local5 = -(255 - cG);
var _local3 = -(255 - cB);
var _local1 = new Color(newCar_mc.defaultcarMC.carMC.colourMC);
var _local2 = {ra:100, rb:_local4, ga:100, gb:_local5, ba:100, bb:_local3, aa:100, ab:100};
_local1.setTransform(_local2);
}
}
function sendBestLapScore() {
if (newBestLap) {
if (bestLap != 0) {
mochi.MochiScores.setBoardID(lapTimeBoardIds[gameGlobalStats.nextLevel - 1]);
mochi.MochiScores.submit(bestLap, enterNameBox.enterName_txt.text, _root, scoresSent);
} else {
scoresSent();
}
} else {
scoresSent();
}
}
function scoresSent() {
enterNameBox.gotoAndStop("thankyou");
}
stop();
fader.gotoAndPlay("fadeout");
logoanim.gotoAndPlay(1);
posClip.gotoAndStop(_root.player1Pos);
var trackUnlocked = false;
close_Button._visible = false;
greyOut_btn._visible = false;
greyOut_btn.useHandCursor = false;
var colourPickerBitmapData = (new flash.display.BitmapData(300, 48, false, 0));
colourPickerBitmapData.draw(colourPicker);
stopAllTheSounds();
playSound(1);
if (_root.player1Pos == 1) {
if (chosenCar == gameGlobalStats.nextLevel) {
if (gameGlobalStats.carUnlocked[gameGlobalStats.nextLevel] == false) {
gameGlobalStats.carUnlocked[gameGlobalStats.nextLevel] = true;
newCar_mc.defaultcarMC.carMC.gotoAndStop(gameGlobalStats.nextLevel + 1);
randomColour();
aa_icon._visible = false;
df_icon._visible = false;
if (gameGlobalStats.nextLevel == 5) {
doNonobaAllCarsUnlocked();
}
} else {
newCar_mc._visible = false;
}
if (gameGlobalStats.trackUnlocked[gameGlobalStats.nextLevel] == false) {
gameGlobalStats.trackUnlocked[gameGlobalStats.nextLevel] = true;
newTrack_mc.trackicon.gotoAndStop(gameGlobalStats.nextLevel + 1);
trackUnlocked = true;
aa_icon._visible = false;
df_icon._visible = false;
if (gameGlobalStats.nextLevel == 4) {
doNonobaAllTracksUnlocked();
}
} else {
newTrack_mc._visible = false;
}
} else {
newCar_mc._visible = false;
newTrack_mc._visible = false;
}
} else {
newCar_mc._visible = false;
newTrack_mc._visible = false;
}
aa_icon.onRelease = function () {
getURL ("http://www.ussgames.com/playgame-471-Amoured-Assault.html", "_blank");
};
df_icon.onRelease = function () {
getURL ("http://www.ussgames.com/playgame-373-Dynamite-Fishing.html", "_blank");
};
more_racing_button.onRelease = function () {
getURL ("http://www.ussgames.com/playgame-563-USS-Racing.html", "_blank");
};
var bestSec = Math.floor(bestLap / 1000);
var bestPoint = (bestLap % 1000);
var totalSec = Math.floor(totalRaceTime / 1000);
var totalPoint = (totalRaceTime % 1000);
raceTime_txt.text = (totalSec + ".") + totalPoint;
lapTime_txt.text = (bestSec + ".") + bestPoint;
if (gameGlobalStats.lapTimes[gameGlobalStats.nextLevel - 1] != 0) {
var bestSec = Math.floor(gameGlobalStats.lapTimes[gameGlobalStats.nextLevel - 1] / 1000);
var bestPoint = (gameGlobalStats.lapTimes[gameGlobalStats.nextLevel - 1] % 1000);
record_lapTime_txt.text = (bestSec + ".") + bestPoint;
} else {
record_lapTime_txt.text = "Not Set";
}
if (gameGlobalStats.trackTimes[gameGlobalStats.nextLevel - 1] != 0) {
var totalSec = Math.floor(gameGlobalStats.trackTimes[gameGlobalStats.nextLevel - 1] / 1000);
var totalPoint = (gameGlobalStats.trackTimes[gameGlobalStats.nextLevel - 1] % 1000);
record_raceTime_txt.text = (totalSec + ".") + totalPoint;
} else {
record_raceTime_txt.text = "Not Set";
}
newBestLap = false;
newBestTime = false;
if ((bestLap < gameGlobalStats.lapTimes[gameGlobalStats.nextLevel - 1]) || (gameGlobalStats.lapTimes[gameGlobalStats.nextLevel - 1] == 0)) {
gameGlobalStats.lapTimes[gameGlobalStats.nextLevel - 1] = bestLap;
newBestLap = true;
} else {
newbestLap_mc._visible = false;
}
if ((totalRaceTime < gameGlobalStats.trackTimes[gameGlobalStats.nextLevel - 1]) || (gameGlobalStats.trackTimes[gameGlobalStats.nextLevel - 1] == 0)) {
gameGlobalStats.trackTimes[gameGlobalStats.nextLevel - 1] = totalRaceTime;
newBestTime = true;
} else {
newbestTime_mc._visible = false;
}
if (newBestTime || (newBestLap)) {
if (newBestTime) {
enterNameBox.enterName_txt.text = gameGlobalStats.trackTimeNames[gameGlobalStats.nextLevel - 1];
}
if (newBestLap) {
enterNameBox.enterName_txt.text = gameGlobalStats.lapTimeNames[gameGlobalStats.nextLevel - 1];
}
if (newBestTime) {
gameGlobalStats.trackTimeNames[gameGlobalStats.nextLevel - 1] = enterNameBox.enterName_txt.text;
}
if (newBestLap) {
gameGlobalStats.lapTimeNames[gameGlobalStats.nextLevel - 1] = enterNameBox.enterName_txt.text;
}
enterNameBox.okButton.onRelease = function () {
enterNameBox.okButton._visible = false;
if (newBestTime) {
if (totalRaceTime != 0) {
gameGlobalStats.trackTimeNames[gameGlobalStats.nextLevel - 1] = enterNameBox.enterName_txt.text;
mochi.MochiScores.setBoardID(bestTimeBoardIds[gameGlobalStats.nextLevel - 1]);
mochi.MochiScores.submit(totalRaceTime, enterNameBox.enterName_txt.text, _root, sendBestLapScore);
} else {
sendBestLapScore();
}
}
if (newBestLap) {
gameGlobalStats.lapTimeNames[gameGlobalStats.nextLevel - 1] = enterNameBox.enterName_txt.text;
if (!newBestTime) {
sendBestLapScore();
}
}
if ((gameGlobalStats.lapTimeNames[gameGlobalStats.nextLevel - 1] == undefined) || (gameGlobalStats.lapTimeNames[gameGlobalStats.nextLevel - 1] == "undefined")) {
gameGlobalStats.lapTimeNames[gameGlobalStats.nextLevel - 1] = "";
}
if ((gameGlobalStats.trackTimeNames[gameGlobalStats.nextLevel - 1] == undefined) || (gameGlobalStats.trackTimeNames[gameGlobalStats.nextLevel - 1] == "undefined")) {
gameGlobalStats.trackTimeNames[gameGlobalStats.nextLevel - 1] = "";
}
gameGlobalStats.saveStats(soName);
};
} else {
enterNameBox._visible = false;
}
gameGlobalStats.saveStats(soName);
play_buttonresult.onRelease = function () {
close_Button._visible = false;
greyOut_btn._visible = false;
MochiAd.unload(advert);
if (trackUnlocked) {
_root.gameGlobalStats.nextLevel = _root.gameGlobalStats.nextLevel + 1;
}
fader.frameDest = "choosetrack";
fader.gotoAndPlay("fadein");
};
ussgameslogo.onRelease = function () {
getURL ("http://www.ussgames.com", "_blank");
};
if (soundOn == false) {
soundicon.gotoAndStop(2);
}
soundicon.onRelease = function () {
if (soundOn) {
soundOff();
stopAllTheSounds();
soundicon.gotoAndStop(2);
} else {
sound_On();
playSound(1);
soundicon.gotoAndStop(1);
}
};
doNonobaScoreRank();
Instance of Symbol 268 MovieClip in Frame 353
on (release) {
getURL ("http://www.ninjarobots.co.uk", "_blank");
}
Instance of Symbol 438 MovieClip "soundicon" in Frame 353
/* no clip actions */
Symbol 53 MovieClip Frame 1
stop();
Symbol 63 MovieClip Frame 2
stop();
Symbol 69 MovieClip Frame 1
if (!_root.justLoaded) {
_root.playSound(_root.HOOKED);
}
Symbol 69 MovieClip Frame 11
stop();
Symbol 70 MovieClip Frame 1
stop();
Symbol 82 MovieClip Frame 1
stop();
Symbol 92 MovieClip Frame 1
stop();
Symbol 112 MovieClip Frame 1
stop();
Symbol 126 MovieClip Frame 1
stop();
Symbol 156 MovieClip [allCars] Frame 1
#initclip 15
Object.registerClass("allCars", car);
#endinitclip
stop();
Symbol 591 MovieClip [__Packages.Nonoba.api.NonobaAPI] Frame 0
class Nonoba.api.NonobaAPI
{
static var api;
function NonobaAPI () {
throw new Error("ERROR!: You cannot create an instance of the NonobaAPI class!");
}
static function GetShopItemKeys(callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR, null);
}
return(undefined);
}
if (api && (api.ShowShop)) {
api.GetShopItemKeys(callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.GetShopItemKeys(callback);
});
}
}
static function HasShopItem(item, callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR, false, null);
}
return(undefined);
}
if (api && (api.ShowShop)) {
api.HasShopItem(item, callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.HasShopItem(item, callback);
});
}
}
static function ShowShop(item, callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR);
}
return(undefined);
}
if (api && (api.ShowShop)) {
api.ShowShop(item, callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.ShowShop(item, callback);
});
}
}
static function Login(callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR);
}
return(undefined);
}
if (api && (api.Login)) {
api.Login(callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.Login(callback);
});
}
}
static function SubmitScore(key, score, callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR);
}
return(undefined);
}
if (api && (api.SubmitScore)) {
api.SubmitScore(key, score, callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.SubmitScore(key, score, callback);
});
}
}
static function AwardAchievement(key, callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR, 0);
}
return(undefined);
}
if (api && (api.AwardAchievement)) {
api.AwardAchievement(key, callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.AwardAchievement(key, callback);
});
}
}
static function SetUserData(key, value, callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR);
}
return(undefined);
}
if (api && (api.SetUserData)) {
api.SetUserData(key, value, callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.SetUserData(key, value, callback);
});
}
}
static function GetUserData(key, callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR, "");
}
return(undefined);
}
if (api && (api.GetUserData)) {
api.GetUserData(key, callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.GetUserData(key, callback);
});
}
}
static function GetUsername(callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR, "");
}
return(undefined);
}
if (api && (api.GetUsername)) {
api.GetUsername(callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.GetUsername(callback);
});
}
}
static function Init(container) {
function emptyCache() {
var _local1 = 0;
while (_local1 < Nonoba.api.NonobaAPI.cachedRequests.length) {
Nonoba.api.NonobaAPI.cachedRequests[_local1]();
_local1++;
}
Nonoba.api.NonobaAPI.cachedRequests = [];
}
if (isInited) {
throw new Error("NonobaAPI can not be re-initialized!");
}
isInited = true;
var _local3 = _root.nonoba$apicodeas2;
if (!_local3) {
failed = true;
emptyCache();
}
System.security.allowDomain("*");
container = container || _root;
api = container.createEmptyMovieClip("___NonobaAPI__loader", container.getNextHighestDepth());
var _local5 = new MovieClipLoader();
_local5.addListener({onLoadComplete:function () {
var loadTimer = setInterval(mx.utils.Delegate.create(Nonoba.api.NonobaAPI, function () {
if (!(Nonoba.api.NonobaAPI.api.SubmitScore === undefined)) {
clearInterval(loadTimer);
emptyCache();
}
}), 500);
}, onLoadError:function () {
Nonoba.api.NonobaAPI.failed = true;
emptyCache();
}});
_local5.loadClip(_local3, api);
}
static var SUCCESS = "SUCCESS";
static var NOT_LOGGED_IN = "user not logged in";
static var ERROR = "error";
static var isInited = false;
static var loading = false;
static var cachedRequests = [];
static var failed = false;
}
Symbol 592 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 593 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.5");
}
static function showPreGameAd(options) {
var _local26 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}, ad_progress:function (percent) {
}};
options = _parseOptions(options, _local26);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def") {
options.ad_started();
options.ad_finished();
return(undefined);
}
var clip = options.clip;
var _local22 = 11000;
var _local25 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local6 = chk.createEmptyMovieClip("_mochiad_bar", 4);
if (options.no_progress_bar) {
_local6._visible = false;
delete options.no_progress_bar;
} else {
_local6._x = 10;
_local6._y = _local13 - 20;
}
var _local21 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local23 = options.outline;
delete options.outline;
var _local5 = _local6.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local6.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local21);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local7 = _local6.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local23, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local4 - 20, 0);
_local7.lineTo(_local4 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local22;
chk.ad_timeout = _local25;
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.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
var sendHostProgress = false;
mc.lc.sendHostLoadProgress = function (lc_name) {
sendHostProgress = true;
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local11 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local2 = (100 * _local8) / _local4;
var _local10 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local13 = Math.min(100, Math.min(_local2 || 0, _local10));
_local13 = Math.max(this.last_pcnt, _local13);
this.last_pcnt = _local13;
_local9._xscale = _local13;
options.ad_progress(_local13);
if (sendHostProgress) {
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local2});
if (_local2 == 100) {
sendHostProgress = false;
}
}
if (!chk.showing) {
var _local7 = _local11.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if ((_local5 > chk.ad_timeout) && (_local2 == 100)) {
options.ad_failed();
_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;
}
}
};
}
static function showClickAwayAd(options) {
var _local9 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function () {
}, ad_finished:function () {
}, ad_loaded:function (width, height) {
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local9);
var clip = options.clip;
var _local8 = options.ad_timeout;
delete options.ad_timeout;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local4 = _getRes(options);
var _local10 = _local4[0];
var _local7 = _local4[1];
mc._x = _local10 * 0.5;
mc._y = _local7 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_timeout = _local8;
chk.started = getTimer();
chk.showing = false;
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
var _local20 = false;
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
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")) {
_local2 = true;
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local2) {
delete this.onEnterFrame;
}
};
}
static function showInterLevelAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
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.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
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) {
options.ad_failed();
_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;
}
}
};
}
static function showPreloaderAd(options) {
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
showPreGameAd(options);
}
static function showTimedAd(options) {
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
showInterLevelAd(options);
}
static function _allowDomains(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);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local9 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local9._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local9.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local9._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local7 in options) {
_local4[_local7] = options[_local7];
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _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 _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local8;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local8);
_local6.lc = _local5;
_local4.lc = _local8;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
if (clip._mochiad._containerLCName != undefined) {
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"unload"});
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(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]);
}
static function _parseOptions(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++;
}
}
if (_local4.id == "test") {
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
}
return(_local4);
}
static function rpc(clip, callbackID, arg) {
switch (arg.id) {
case "setValue" :
setValue(clip, arg.objectName, arg.value);
break;
case "getValue" :
var _local4 = getValue(clip, arg.objectName);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local4);
break;
case "runMethod" :
var _local3 = runMethod(clip, arg.method, arg.args);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local3);
break;
default :
trace("[mochiads rpc] unknown rpc id: " + arg.id);
}
}
static function setValue(base, objectName, value) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
base[_local2[_local1]] = value;
}
static function getValue(base, objectName) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
return(base[_local2[_local1]]);
}
static function runMethod(base, methodName, argsArray) {
var _local2 = methodName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
if (typeof(base[_local2[_local1]]) == "function") {
return(base[_local2[_local1]].apply(base, argsArray));
}
return(undefined);
}
}
Symbol 594 MovieClip [__Packages.car] Frame 0
class car extends MovieClip
{
var health, lapStartTime, bestLapTime, lastLapTime, model, dx, dy, speed, nextWayPoint, nextCheckPoint, carRotation, _rotation, lastRotation, lastX, _x, lastY, _y, carWorld, raceTrack, id_i, hitTest, gotoAndStop, colourMC, decal, deadOverlay, _alpha, localToGlobal, point3, point6, wayPointErrorX, wayPointErrorY;
function car () {
super();
turboBoost = false;
human = false;
health = 250;
lapStartTime = 0;
bestLapTime = 0;
lastLapTime = 0;
currentWeapon = 0;
model = new CarModel();
model.accelleration = 0.75;
model.turningSpeed = 8;
model.braking = 0.5;
model.grip = 0.12;
model.topSpeed = 12;
dx = 0;
dy = 0;
speed = 0;
nextWayPoint = 1;
nextCheckPoint = 1;
laps = -1;
carRotation = _rotation;
lastRotation = carRotation;
lastX = _x;
lastY = _y;
randomWaypointError();
cpuPixelCount = 0;
cpuPixelCountUpdates = 0;
cpuCountPixelsForXUpdates = 8;
reverseTime = 20;
cpuDistanceToCover = 2;
cpuReversing = false;
reverseDir = 0;
}
function resetPos() {
carRotation = _rotation;
lastRotation = carRotation;
lastX = _x;
lastY = _y;
}
function setCarWorld(NcarWorld) {
carWorld = NcarWorld;
}
function setTrack(Ntrack) {
raceTrack = Ntrack;
}
function collectWeapons() {
var _local3 = true;
var _local2 = 1;
while (_local3) {
if (raceTrack.weaponsClip["w" + _local2]) {
if ((((currentWeapon != raceTrack.weaponsClip["w" + _local2].weaponType) && (raceTrack.weaponsClip["w" + _local2].live)) && (Math.abs(_x - raceTrack.weaponsClip["w" + _local2]._x) <= 20)) && (Math.abs(_y - raceTrack.weaponsClip["w" + _local2]._y) <= 20)) {
_local3 = false;
if (raceTrack.weaponsClip["w" + _local2].weaponType < 4) {
currentWeapon = raceTrack.weaponsClip["w" + _local2].collect();
}
}
_local2++;
} else {
_local3 = false;
}
}
}
function kill() {
var _local2 = 0;
var _local3 = new Object();
while (raceTrack["weapon" + (_local2 + 1)] != undefined) {
_local3.x = 0;
_local3.y = 0;
raceTrack["weapon" + (_local2 + 1)].localToGlobal(_local3);
if ((raceTrack["weapon" + (_local2 + 1)].live && ((raceTrack["weapon" + (_local2 + 1)].lifeCount > raceTrack["weapon" + (_local2 + 1)].armedAt[raceTrack["weapon" + (_local2 + 1)].weaponType - 1]) || ((id_i + 1) != raceTrack["weapon" + (_local2 + 1)].owner))) && (hitTest(_local3.x, _local3.y, true))) {
if (human) {
speed = speed * 0.8;
dx = -(dx / 8);
dy = -(dy / 8);
carHit = 1;
} else {
speed = speed * 0.6;
dx = -(dx / 4);
dy = -(dy / 4);
carHit = 3;
}
carspin = Math.round(Math.random() * 20) - 10;
if (carspin > 0) {
carspin = carspin + 3;
}
if (carspin <= 0) {
carspin = carspin - 3;
}
health = health - 20;
raceTrack["weapon" + (_local2 + 1)].lifeCount = raceTrack["weapon" + (_local2 + 1)].lifeSpan;
raceTrack.explosion._x = _x;
raceTrack.explosion._y = _y;
raceTrack.explosion.gotoAndPlay(1);
}
_local2++;
}
}
function carToCarCollisions(carArray) {
var _local3 = 0;
while (_local3 < carArray.length) {
var _local4 = 0;
while (_local4 < carArray.length) {
if (_local4 != _local3) {
if (carArray[_local3].hitTest(carArray[_local4])) {
var _local7 = new Object();
_local7.x = carArray[_local3].point1._x;
_local7.y = carArray[_local3].point1._y;
carArray[_local3].localToGlobal(_local7);
var _local6 = new Object();
_local6.x = carArray[_local3].point2._x;
_local6.y = carArray[_local3].point2._y;
carArray[_local3].localToGlobal(_local6);
var _local5 = 0;
if (carArray[_local4].hitTest(_local7.x, _local7.y, true)) {
_local5 = _local5 + 1;
}
if (carArray[_local4].hitTest(_local6.x, _local6.y, true)) {
_local5 = _local5 + 2;
}
if (_local5 > 0) {
carArray[_local4].dx = carArray[_local4].dx + (carArray[_local3].dx / carWorld.crashMomentumTransfer);
carArray[_local4].dy = carArray[_local4].dy + (carArray[_local3].dy / carWorld.crashMomentumTransfer);
carArray[_local4]._x = carArray[_local4]._x + (carArray[_local3].dx / carWorld.crashMomentumTransfer);
carArray[_local4]._y = carArray[_local4]._y + (carArray[_local3].dy / carWorld.crashMomentumTransfer);
if (_local5 == 1) {
carArray[_local4].steer(carWorld.crashVeer);
}
if (_local5 == 2) {
carArray[_local4].steer(-carWorld.crashVeer);
}
carArray[_local3].speed = carArray[_local3].speed * carWorld.bounceFriction;
carArray[_local3].dx = carArray[_local3].dx - (carArray[_local3].dx / carWorld.crashMomentumTransfer);
carArray[_local3].dy = carArray[_local3].dy - (carArray[_local3].dy / carWorld.crashMomentumTransfer);
if (carArray[_local3].health > 0) {
carArray[_local3].health--;
}
}
}
}
_local4++;
}
_local3++;
}
}
function setCarModel(model, colour) {
this.model = model;
gotoAndStop(this.model.frame);
var _local6 = -(255 - colour.red);
var _local7 = -(255 - colour.green);
var _local5 = -(255 - colour.blue);
var _local3 = new Color(colourMC);
var _local4 = {ra:100, rb:_local6, ga:100, gb:_local7, ba:100, bb:_local5, aa:100, ab:100};
_local3.setTransform(_local4);
if (colour.decal != undefined) {
decal.gotoAndStop(colour.decal);
_local6 = -(255 - colour.decalRed);
_local7 = -(255 - colour.decalGreen);
_local5 = -(255 - colour.decalBlue);
_local3 = new Color(decal);
_local4 = {ra:100, rb:_local6, ga:100, gb:_local7, ba:100, bb:_local5, aa:100, ab:100};
_local3.setTransform(_local4);
}
}
function update() {
if (health == 0) {
speed = 0;
deadOverlay.gotoAndStop(2);
if (deadDelay == 0) {
if (_alpha > 0) {
_alpha = _alpha - 2;
} else {
_x = -1000;
_y = -1000;
}
} else {
deadDelay--;
}
}
var _local2 = new Object();
_local2.x = 0;
_local2.y = 0;
localToGlobal(_local2);
if (raceTrack.wayPointsClip["w" + nextWayPoint].hitTest(_local2.x, _local2.y, true)) {
if (raceTrack.wayPointsClip["w" + (nextWayPoint + 1)]) {
nextWayPoint = nextWayPoint + 1;
} else {
nextWayPoint = 1;
}
randomWaypointError();
}
if (raceTrack.checkPointsClip["c" + nextCheckPoint].hitTest(_local2.x, _local2.y, true)) {
if (raceTrack.checkPointsClip["c" + (nextCheckPoint + 1)]) {
if (nextCheckPoint == 1) {
laps++;
startLap();
nextWayPoint = 1;
}
nextCheckPoint = nextCheckPoint + 1;
} else {
nextCheckPoint = 1;
}
}
if (carHit == 0) {
if (carRotation < -180) {
carRotation = carRotation + 360;
}
if (carRotation > 180) {
carRotation = carRotation - 360;
}
var _local4 = 0;
var _local3 = 0;
if (raceTrack.roughClip.hitTest(_local2.x, _local2.y, true)) {
_local4 = raceTrack.gravelFriction;
_local3 = model.grip * raceTrack.gravelGrip;
if (speed > model.gravelTopSpeed) {
speed = model.gravelTopSpeed;
}
} else if (raceTrack.grassClip.hitTest(_local2.x, _local2.y, true)) {
_local4 = raceTrack.grassFriction;
_local3 = model.grip * raceTrack.grassGrip;
} else {
_local4 = raceTrack.trackFriction;
_local3 = model.grip;
}
if ((((raceTrack.turboClip.hitTest(_local2.x, _local2.y, true) || (raceTrack.turboClip.hitTest(_local2.x + 10, _local2.y, true))) || (raceTrack.turboClip.hitTest(_local2.x - 10, _local2.y, true))) || (raceTrack.turboClip.hitTest(_local2.x, _local2.y + 10, true))) || (raceTrack.turboClip.hitTest(_local2.x, _local2.y - 10, true))) {
turboBoost = true;
} else {
turboBoost = false;
}
var _local7 = new com.ussgames.physics.Vector2D(speed * Math.cos((carRotation - 90) * (Math.PI/180)), speed * Math.sin((carRotation - 90) * (Math.PI/180)));
var _local6 = _local7.vX - dx;
var _local5 = _local7.vY - dy;
dx = dx + ((_local6 * _local3) * carWorld.deltaTimeRatio);
dy = dy + ((_local5 * _local3) * carWorld.deltaTimeRatio);
if (Math.abs(dx) < 0.05) {
dx = 0;
}
if (Math.abs(dy) < 0.05) {
dy = 0;
}
if (!accellerating) {
speed = speed * carWorld.wheelFriction;
if (Math.abs(speed) < 0.25) {
speed = 0;
}
}
accellerating = false;
lastX = _x;
lastY = _y;
_rotation = carRotation;
_x = _x + (dx * carWorld.deltaTimeRatio);
_y = _y + (dy * carWorld.deltaTimeRatio);
if (((_local6 * _local6) + (_local5 * _local5)) > 16) {
raceTrack.drawSkidMarks(this);
}
} else {
carRotation = carRotation + carspin;
carHit--;
lastX = _x;
lastY = _y;
_rotation = carRotation;
_x = _x + (dx * carWorld.deltaTimeRatio);
_y = _y + (dy * carWorld.deltaTimeRatio);
raceTrack.drawSkidMarks(this);
}
}
function startLap() {
if (lapStartTime > 0) {
var _local3 = new Date();
var _local2 = _local3.getTime();
lastLapTime = _local2 - lapStartTime;
lapStartTime = _local2;
if (bestLapTime > 0) {
if (lastLapTime < bestLapTime) {
bestLapTime = lastLapTime;
}
} else {
bestLapTime = lastLapTime;
}
} else {
var _local3 = new Date();
lapStartTime = _local3.getTime();
}
}
function accellerate() {
if (carHit == 0) {
if (!turboBoost) {
if (speed < model.topSpeed) {
speed = speed + (model.accelleration * carWorld.deltaTimeRatio);
if (speed > model.topSpeed) {
speed = model.topSpeed;
}
}
if (speed > model.topSpeed) {
speed = speed * carWorld.wheelFriction;
}
} else {
speed = speed + ((model.accelleration * carWorld.deltaTimeRatio) * 5);
if (speed > (model.topSpeed * 2)) {
speed = model.topSpeed * 2;
}
}
accellerating = true;
}
}
function brake() {
speed = speed - (model.braking * carWorld.deltaTimeRatio);
if (speed < model.revTopSpeed) {
speed = model.revTopSpeed;
}
accellerating = true;
}
function handBrake() {
speed = 0;
brake();
}
function steer(dir) {
if (carHit == 0) {
lastRotation = carRotation;
var _local2 = ((Math.sqrt((dx * dx) + (dy * dy)) / model.topSpeed) * model.turningSpeed) * carWorld.deltaTimeRatio;
if (_local2 > (model.turningSpeed * carWorld.deltaTimeRatio)) {
_local2 = model.turningSpeed * carWorld.deltaTimeRatio;
}
if (speed >= 0) {
carRotation = carRotation + (_local2 * dir);
} else if (speed < 0) {
carRotation = carRotation - ((_local2 * 1.5) * dir);
}
}
}
function checkCollision() {
var _local2 = new Object();
_local2.x = 0;
_local2.y = 0;
localToGlobal(_local2);
if (raceTrack.barrierClip.hitTest(_local2.x, _local2.y, true)) {
if (health > 0) {
health--;
}
noWaypointError();
return(true);
}
return(false);
}
function collide() {
if (checkCollision()) {
var _local3 = false;
var _local2 = new Object();
_local2.x = point3._x;
_local2.y = point3._y;
localToGlobal(_local2);
if (raceTrack.barrierClip.hitTest(_local2.x, _local2.y, true)) {
steer(-3);
speed = speed * carWorld.bounceFriction;
var _local4 = new com.ussgames.physics.Vector2D(speed * Math.cos((carRotation - 90) * (Math.PI/180)), speed * Math.sin((carRotation - 90) * (Math.PI/180)));
dx = _local4.vX * carWorld.bounceFriction;
dy = _local4.vX * carWorld.bounceFriction;
} else {
_local2.x = point6._x;
_local2.y = point6._y;
localToGlobal(_local2);
if (raceTrack.barrierClip.hitTest(_local2.x, _local2.y, true)) {
steer(3);
speed = speed * carWorld.bounceFriction;
var _local4 = new com.ussgames.physics.Vector2D(speed * Math.cos((carRotation - 90) * (Math.PI/180)), speed * Math.sin((carRotation - 90) * (Math.PI/180)));
dx = _local4.vX * carWorld.bounceFriction;
dy = _local4.vX * carWorld.bounceFriction;
} else {
_local3 = true;
speed = speed * carWorld.bounceFriction;
dx = -(dx * carWorld.bounceFriction);
dy = -(dy * carWorld.bounceFriction);
}
}
_x = lastX + dx;
_y = lastY + dy;
if (checkCollision()) {
_x = lastX;
_y = lastY;
if (!_local3) {
dx = -dx;
dy = -dy;
}
}
}
}
function cpuFire() {
var _local3 = id_i + 1;
var _local2 = 5;
while (raceTrack["weapon" + _local2] != undefined) {
if (raceTrack["weapon" + _local2].live == false) {
_local3 = _local2;
break;
}
_local2++;
}
if (currentWeapon > 0) {
raceTrack["weapon" + _local3].fire(_x, _y, currentWeapon, _rotation, id_i + 1);
raceTrack["weapon" + _local3].nextWayPoint = nextWayPoint;
currentWeapon = 0;
}
}
function cpuUpdate() {
var _local3 = (Math.atan2((raceTrack.wayPointsClip["w" + (nextWayPoint + 1)]._x + wayPointErrorX) - _x, (_y - raceTrack.wayPointsClip["w" + (nextWayPoint + 1)]._y) + wayPointErrorY) * 180) / Math.PI;
var _local2 = _local3 - carRotation;
if (_local2 < -180) {
_local2 = _local2 + 360;
}
if (_local2 > 180) {
_local2 = _local2 - 360;
}
if (!cpuReversing) {
if (((_local2 > cpuSlowDown) || (_local2 < (-cpuSlowDown))) && (speed >= cpuMinSpeed)) {
brake();
} else {
accellerate();
if (currentWeapon == 3) {
cpuFire();
}
}
if ((_local2 > 4) || (swerveDir == 1)) {
steer(1);
}
if ((_local2 < -4) || (swerveDir == -1)) {
steer(-1);
}
if ((currentWeapon == 1) && (Math.abs(_local2) > 4)) {
cpuFire();
}
if ((Math.abs(_local2) < 4) && (currentWeapon == 2)) {
cpuFire();
}
} else {
brake();
if (reverseDir != 0) {
steer(reverseDir);
}
}
update();
isCpuStuck();
}
function isCpuStuck() {
cpuPixelCount = cpuPixelCount + Math.sqrt((dx * dx) + (dy * dy));
cpuPixelCountUpdates++;
if (cpuReversing) {
if (cpuPixelCountUpdates > reverseTime) {
cpuPixelCountUpdates = 0;
cpuReversing = false;
cpuPixelCount = 0;
}
} else if (cpuPixelCountUpdates > cpuCountPixelsForXUpdates) {
cpuPixelCountUpdates = 0;
if (cpuPixelCount < cpuDistanceToCover) {
cpuReversing = true;
setReverseDir();
} else {
cpuReversing = false;
}
cpuPixelCount = 0;
}
}
function cpuSwerve(carArray) {
var _local8 = 0;
var _local3 = 0;
while (_local3 < carArray.length) {
if ((!carArray[_local3].id_i) < 3) {
_local8 = 0;
var _local7 = new Object();
_local7.x = carArray[_local3].point1._x;
_local7.y = carArray[_local3].point1._y;
carArray[_local3].localToGlobal(_local7);
var _local6 = new Object();
_local6.x = carArray[_local3].point2._x;
_local6.y = carArray[_local3].point2._y;
carArray[_local3].localToGlobal(_local6);
var _local9 = 1;
while (_local9 < cpuLookDistance) {
var _local5 = 0;
while (_local5 < carArray.length) {
if (_local5 != _local3) {
var _local4 = 0;
if (carArray[_local5].hitTest(_local7.x, _local7.y, true)) {
_local4 = _local4 + 1;
}
if (carArray[_local5].hitTest(_local6.x, _local6.y, true)) {
_local4 = _local4 + 2;
}
if (_local4 > 0) {
if (_local4 == 1) {
_local8 = 1;
} else if (_local4 == 2) {
_local8 = -1;
}
break;
}
}
_local5++;
}
_local7.x = _local7.x + carArray[_local3].dx;
_local7.y = _local7.y + carArray[_local3].dy;
_local6.x = _local6.x + carArray[_local3].dx;
_local6.y = _local6.y + carArray[_local3].dy;
if (_local8 != 0) {
break;
}
_local9++;
}
if (((_local8 != 0) && (carArray[_local3].swerveDir == 0)) || (_local8 == 0)) {
carArray[_local3].swerveDir = _local8;
if (_local8 != 0) {
carArray[_local3].brake();
}
}
}
_local3++;
}
}
function setReverseDir() {
var _local3 = (Math.atan2((raceTrack.wayPointsClip["w" + (nextWayPoint + 1)]._x + wayPointErrorX) - _x, (_y - raceTrack.wayPointsClip["w" + (nextWayPoint + 1)]._y) + wayPointErrorY) * 180) / Math.PI;
var _local2 = _local3 - carRotation;
if (_local2 < -180) {
_local2 = _local2 + 360;
}
if (_local2 > 180) {
_local2 = _local2 - 360;
}
reverseDir = 0;
if (_local2 > 0) {
reverseDir = -1;
}
if (_local2 < 0) {
reverseDir = 1;
}
}
function randomWaypointError() {
wayPointErrorX = (-(cpuAccuracy / 2)) + (Math.random() * cpuAccuracy);
wayPointErrorY = (-(cpuAccuracy / 2)) + (Math.random() * cpuAccuracy);
}
function noWaypointError() {
wayPointErrorX = 0;
wayPointErrorY = 0;
}
var accellerating = false;
var cpuSlowDown = 5;
var cpuAccuracy = 30;
var cpuLookDistance = 10;
var cpuMinSpeed = 3;
var cpuPixelCount = 0;
var cpuPixelCountUpdates = 0;
var cpuCountPixelsForXUpdates = 10;
var cpuDistanceToCover = 5;
var cpuReversing = false;
var reverseTime = 10;
var reverseDir = 0;
var laps = 0;
var currentWeapon = 0;
var deadDelay = 500;
var human = false;
var turboBoost = false;
var carspin = 0;
var carHit = 0;
var swerveDir = 0;
}
Symbol 595 MovieClip [__Packages.CarModel] Frame 0
class CarModel
{
var topSpeed, accelleration, braking, turningSpeed, revTopSpeed, gravelTopSpeed, grip, frame, modelName;
function CarModel (topSpeed, accelleration, braking, turningSpeed, grip, frame, modelName) {
this.topSpeed = topSpeed;
this.accelleration = accelleration;
this.braking = braking;
this.turningSpeed = turningSpeed;
revTopSpeed = -(this.topSpeed / 3);
gravelTopSpeed = this.topSpeed / 1.5;
this.grip = grip;
this.frame = frame;
this.modelName = modelName;
}
}
Symbol 596 MovieClip [__Packages.CarWorld] Frame 0
class CarWorld
{
var bounceFriction, crashMomentumTransfer, crashVeer, xReference, yReference, displayWidth, displayHeight, aimFrameTime, lastFrameTime, deltaTimeRatio, deltaTime;
function CarWorld () {
bounceFriction = 0.7;
crashMomentumTransfer = 6;
crashVeer = 1;
xReference = 0;
yReference = 0;
displayWidth = 550;
displayHeight = 400;
}
function setBounceFriction(newFriction) {
bounceFriction = newFriction;
}
function getBounceFriction() {
return(bounceFriction);
}
function setWorldBounds(newXRef, newYRef, newDisplayWidth, newDisplayHeight) {
xReference = newXRef;
yReference = newYRef;
displayWidth = newDisplayWidth;
displayHeight = newDisplayHeight;
}
function setAimFrameTime(frameTime) {
aimFrameTime = frameTime;
}
function resetDeltaTime() {
var _local2 = new Date();
lastFrameTime = _local2.getTime();
deltaTimeRatio = 1;
deltaTime = aimFrameTime;
}
function updateDeltaTime() {
var _local3 = new Date();
var _local2 = _local3.getTime();
deltaTime = _local2 - lastFrameTime;
lastFrameTime = _local2;
deltaTimeRatio = deltaTime / aimFrameTime;
if (deltaTimeRatio > 1.75) {
deltaTimeRatio = 1.75;
}
}
var wheelFriction = 0.98;
}
Symbol 597 MovieClip [__Packages.CarRaceTrack] Frame 0
class CarRaceTrack extends MovieClip
{
var grassGrip, gravelGrip, trackFriction, gravelFriction, grassFriction, barrierClip, collisionMC, trackClip, trackMC, grassClip, grassMC, roughClip, gravelMC, wayPointsClip, wayPointsMC, checkPointsClip, checkPointsMC, turboClip, turbos, weaponsClip, weapons_mc, singleSkid, focusPoint1, car4, focusPoint2, maxZoom, skidBitmap, carWorld, createEmptyMovieClip, getNextHighestDepth, _currentframe, _x, _y;
function CarRaceTrack () {
super();
grassGrip = 0.5;
gravelGrip = 1.5;
trackFriction = 0.95;
gravelFriction = 0.9;
grassFriction = 0.98;
barrierClip = collisionMC;
trackClip = trackMC;
grassClip = grassMC;
roughClip = gravelMC;
wayPointsClip = wayPointsMC;
checkPointsClip = checkPointsMC;
turboClip = turbos;
weaponsClip = weapons_mc;
singleSkid = "singleSkid";
focusPoint1 = car4;
focusPoint2 = car4;
maxZoom = 100;
}
function setClips(Ncolls, Ntrack, Ngrass, Nrough, NwayPoints, Nskids, NsingleSkid) {
barrierClip = Ncolls;
trackClip = Ntrack;
grassClip = Ngrass;
roughClip = Nrough;
wayPointsClip = NwayPoints;
skidBitmap = Nskids;
singleSkid = NsingleSkid;
turboClip = turbos;
weaponsClip = weapons_mc;
}
function setWorld(NcarWorld) {
carWorld = NcarWorld;
}
function setSkidBitmap(NskidBitmap) {
skidBitmap = NskidBitmap;
}
function updateWeapons() {
var _local3 = true;
var _local2 = 1;
while (_local3) {
if (weaponsClip["w" + _local2]) {
weaponsClip["w" + _local2].update();
_local2++;
} else {
_local3 = false;
}
}
}
function drawSkidMarks(car) {
var _local3 = createEmptyMovieClip("skids", getNextHighestDepth());
var _local9 = (car._x - car.lastX) / 3;
var _local10 = (car._y - car.lastY) / 3;
var _local6 = car.lastX;
var _local5 = car.lastY;
var _local8 = (car.carRotation - car.lastRotation) / 3;
var _local4 = car.lastRotation;
var _local2 = 0;
while (_local2 < 3) {
_local3.attachMovie(singleSkid, "singleSkid" + _local2, 1 + _local2);
_local3["singleSkid" + _local2]._x = _local6;
_local3["singleSkid" + _local2]._y = _local5;
_local3["singleSkid" + _local2]._rotation = _local4;
_local6 = _local6 + _local9;
_local5 = _local5 + _local10;
_local4 = _local4 + _local8;
_local2++;
}
skidBitmap.draw(_local3);
_local3.removeMovieClip();
this["dust" + nextDust]._x = car._x;
this["dust" + nextDust]._y = car._y;
this["dust" + nextDust]._rotation = car.carRotation;
this["dust" + nextDust].gotoAndPlay(1);
nextDust++;
if (nextDust > 12) {
nextDust = 1;
}
}
function focus(zoom) {
var _local4 = 100;
var _local2 = (-focusPoint1._x) + (carWorld.displayWidth / 2);
var _local3 = (-focusPoint1._y) + (carWorld.displayHeight / 2);
if (_local2 > 0) {
_local2 = 0;
}
if (_local3 > 0) {
_local3 = 0;
}
if (Math.abs(_local2) > (trackWidths[_currentframe - 1] - carWorld.displayWidth)) {
_local2 = -(trackWidths[_currentframe - 1] - carWorld.displayWidth);
}
if (Math.abs(_local3) > (trackHeights[_currentframe - 1] - carWorld.displayHeight)) {
_local3 = -(trackHeights[_currentframe - 1] - carWorld.displayHeight);
}
_x = _local2 + carWorld.xReference;
_y = _local3 + carWorld.yReference;
}
var trackWidth = 2800;
var trackHeight = 2800;
var trackWidths = new Array(1461, 1555, 1718, 1614, 1718);
var trackHeights = new Array(1651, 1603, 1520, 645, 1046);
var nextDust = 1;
}
Symbol 598 MovieClip [__Packages.com.ussgames.physics.Vector2D] Frame 0
class com.ussgames.physics.Vector2D
{
var vX, vY;
function Vector2D (nDX, nDY) {
vX = nDX;
vY = nDY;
}
function setVector(nDX, nDY) {
vX = nDX;
vY = nDY;
}
function setVector2(x1, y1, x2, y2) {
vX = x1 - x2;
vY = y1 - y2;
}
function convertToAngle() {
return(Math.atan2(vX, vY) / RADS);
}
function convertToAngleRAD() {
return(Math.atan2(vX, vY));
}
static var RADS = (Math.PI/180);
}
Symbol 599 MovieClip [__Packages.mochi.MochiScores] Frame 0
class mochi.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.MochiScores.boardID = boardID;
mochi.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
if (options.clip != null) {
if ((options.clip != mochi.MochiServices.__get__clip()) || (mochi.MochiServices.__get__childClip()._target == undefined)) {
mochi.MochiServices.disconnect();
mochi.MochiServices.connect(mochi.MochiServices.__get__id(), options.clip);
}
delete options.clip;
}
if (options.name != null) {
if (typeof(options.name) == "object") {
if (options.name.text != undefined) {
options.name = options.name.text;
}
}
}
if (options.score != null) {
if (typeof(options.score) == "object") {
if (options.score.text != undefined) {
options.score = options.score.text;
}
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.MochiServices.__get__clip().play();
};
}
if (options.onError != null) {
onError = options.onError;
} else {
onError = onClose;
}
if (options.boardID == null) {
if (boardID != null) {
options.boardID = boardID;
}
}
mochi.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
static function scoresArrayToObjects(scores) {
var _local5 = {};
var _local1;
var _local4;
var _local2;
var _local6;
for (var _local8 in scores) {
if (typeof(scores[_local8]) == "object") {
if ((scores[_local8].cols != null) && (scores[_local8].rows != null)) {
_local5[_local8] = [];
_local2 = scores[_local8];
_local4 = 0;
while (_local4 < _local2.rows.length) {
_local6 = {};
_local1 = 0;
while (_local1 < _local2.cols.length) {
_local6[_local2.cols[_local1]] = _local2.rows[_local4][_local1];
_local1++;
}
_local5[_local8].push(_local6);
_local4++;
}
} else {
_local5[_local8] = {};
for (var _local7 in scores[_local8]) {
_local5[_local8][_local7] = scores[_local8][_local7];
}
}
} else {
_local5[_local8] = scores[_local8];
}
}
return(_local5);
}
static function doClose(args) {
if (args.error == true) {
if (args.errorCode == undefined) {
args.errorCode = "IOError";
}
onError.apply(null, [args.errorCode]);
} else {
onClose.apply();
}
}
}
Symbol 600 MovieClip [__Packages.mochi.MochiServices] Frame 0
class mochi.MochiServices
{
static var _id, _container, _clip, _sendChannelName, _rcvChannelName, __get__comChannelName, onError, _listenChannel, _rcvChannel, _loader, _loaderListener, _sendChannel;
function MochiServices () {
}
static function get id() {
return(_id);
}
static function get clip() {
return(_container);
}
static function get childClip() {
return(_clip);
}
static function getVersion() {
return("1.32");
}
static function allowDomains(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);
}
static function get isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function set comChannelName(val) {
if (val != undefined) {
if (val.length > 3) {
_sendChannelName = val + "_fromgame";
_rcvChannelName = val;
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.MochiServices.onError = onError;
} else if (mochi.MochiServices.onError == undefined) {
mochi.MochiServices.onError = function (errorCode) {
trace(errorCode);
};
}
}
static function disconnect() {
if (_connected || (_connecting)) {
_connecting = (_connected = false);
flush(true);
if (_clip != undefined) {
_clip.removeMovieClip();
delete _clip;
}
_listenChannel.close();
_rcvChannel.close();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local2 = "_mochiservices_com_" + id;
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
allowDomains(_gatewayURL);
_clip = clip.createEmptyMovieClip(_local2, 10336, false);
_loader = new MovieClipLoader();
if (_loaderListener.waitInterval != null) {
clearInterval(_loaderListener.waitInterval);
}
_loaderListener = {};
_loaderListener.onLoadError = function (target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, [errorCode]);
};
_loaderListener.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_loaderListener.startTime = getTimer();
_loaderListener.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000);
_loader.addListener(_loaderListener);
_loader.loadClip(_gatewayURL, _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain = function (d) {
return(true);
};
_rcvChannel.allowInsecureDomain = _rcvChannel.allowDomain;
_rcvChannel._nextcallbackID = 0;
_rcvChannel._callbacks = {};
listen();
return(_clip);
}
static function onStatus(infoObject) {
if (!(infoObject.level === "error")) {
} else {
_connected = false;
_listenChannel.connect(_listenChannelName);
}
}
static function listen() {
_listenChannel = new LocalConnection();
_listenChannel.handshake = function (args) {
mochi.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_rcvChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_rcvChannel.onReceive = function (pkg) {
var _local5 = pkg.callbackID;
var _local4 = this._callbacks[_local5];
if (!_local4) {
return(undefined);
}
var _local2 = _local4.callbackMethod;
var _local3 = _local4.callbackObject;
if (_local3 && (typeof(_local2) == "string")) {
_local2 = _local3[_local2];
}
if (_local2 != undefined) {
_local2.apply(_local3, pkg.args);
}
delete this._callbacks[_local5];
};
_rcvChannel.onError = function () {
mochi.MochiServices.onError.apply(null, ["IOError"]);
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_sendChannel._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift());
}
}
}
static function flush(error) {
var _local1;
var _local2;
while (_sendChannel._queue.length > 0) {
_local1 = _sendChannel._queue.shift();
if (_local1.callbackID != null) {
_local2 = _rcvChannel._callbacks[_local1.callbackID];
}
delete _rcvChannel._callbacks[_local1.callbackID];
if (error) {
handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod);
}
}
}
static function handleError(args, callbackObject, callbackMethod) {
if (args != null) {
if (args.onError != null) {
args.onError.apply(null, ["NotConnected"]);
}
if ((args.options != null) && (args.options.onError != null)) {
args.options.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
onError.apply(null, ["NotConnected"]);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
}
_rcvChannel._callbacks[_rcvChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_rcvChannel._nextcallbackID++;
}
static var _gatewayURL = "http://www.mochiads.com/static/lib/services/services.swf";
static var _listenChannelName = "__mochiservices";
static var _connecting = false;
static var _connected = false;
}
Symbol 601 MovieClip [__Packages.CarGameGlobalStats] Frame 0
class CarGameGlobalStats
{
var carModels, carUnlocked, trackFrames, trackModels, trackUnlocked, lapTimes, trackTimes, lapTimeNames, trackTimeNames, bestTopSpeed, bestBraking, bestTurning, bestGrip, bestAccelleration, carWorld;
function CarGameGlobalStats () {
carModels = new Array();
carUnlocked = new Array();
trackFrames = new Array();
trackModels = new Array();
trackUnlocked = new Array();
lapTimes = new Array();
trackTimes = new Array();
lapTimeNames = new Array();
trackTimeNames = new Array();
}
function addCarModel(carModel) {
carModels.push(carModel);
carUnlocked.push(false);
if (carUnlocked.length == 1) {
carUnlocked[0] = true;
}
return(carModels.length - 1);
}
function addTrack(frame, carModelID) {
trackFrames.push(frame);
trackModels.push(carModelID);
trackUnlocked.push(false);
if (trackUnlocked.length == 1) {
trackUnlocked[0] = true;
}
return(trackFrames.length - 1);
}
function resetLapTimes() {
var _local2 = 0;
while (_local2 < trackFrames.length) {
lapTimes.push(0);
trackTimes.push(0);
lapTimeNames.push("");
trackTimeNames.push("");
_local2++;
}
}
function findBestStats() {
var _local2 = 0;
while (_local2 < carModels.length) {
if (_local2 == 0) {
bestTopSpeed = carModels[_local2].topSpeed;
bestBraking = carModels[_local2].braking;
bestTurning = carModels[_local2].turningSpeed;
bestGrip = carModels[_local2].grip;
bestAccelleration = carModels[_local2].accelleration;
} else {
if (carModels[_local2].topSpeed > bestTopSpeed) {
bestTopSpeed = carModels[_local2].topSpeed;
}
if (carModels[_local2].braking > bestBraking) {
bestBraking = carModels[_local2].braking;
}
if (carModels[_local2].turningSpeed > bestTurning) {
bestTurning = carModels[_local2].turningSpeed;
}
if (carModels[_local2].grip > bestGrip) {
bestGrip = carModels[_local2].grip;
}
if (carModels[_local2].accelleration > bestAccelleration) {
bestAccelleration = carModels[_local2].accelleration;
}
}
_local2++;
}
}
function updateLapTimes(trackID, lapTime) {
if (lapTime < lapTimes[trackID]) {
lapTimes[trackID] = lapTime;
return(true);
}
return(false);
}
function saveStats(soName) {
var _local2 = SharedObject.getLocal(soName, "/");
_local2.data.carUnlocked = carUnlocked;
_local2.data.trackUnlocked = trackUnlocked;
_local2.data.lapTimes = lapTimes;
_local2.data.trackTimes = trackTimes;
_local2.data.trackTimeNames = trackTimeNames;
_local2.data.lapTimeNames = lapTimeNames;
_local2.flush();
}
function loadStats(soName) {
var _local2 = SharedObject.getLocal(soName, "/");
if (_local2.data.carUnlocked != undefined) {
carUnlocked = _local2.data.carUnlocked;
trackUnlocked = _local2.data.trackUnlocked;
lapTimes = _local2.data.lapTimes;
trackTimes = _local2.data.trackTimes;
trackTimeNames = _local2.data.trackTimeNames;
lapTimeNames = _local2.data.lapTimeNames;
}
}
function setCarWorld(carWorld) {
this.carWorld = carWorld;
}
}
Symbol 602 MovieClip [__Packages.LineUp] Frame 0
class LineUp
{
var carModels, colourR, colourG, colourB, decal, decalColourR, decalColourG, decalColourB, human;
function LineUp () {
clearLineUp();
}
function clearLineUp() {
carModels = new Array();
colourR = new Array();
colourG = new Array();
colourB = new Array();
decal = new Array();
decalColourR = new Array();
decalColourG = new Array();
decalColourB = new Array();
human = new Array();
}
function addCar(model, human, colourR, colourG, colourB, decal, decalColourR, decalColourG, decalColourB) {
carModels.push(model);
this.colourR.push(colourR);
this.colourG.push(colourG);
this.colourB.push(colourB);
this.decal.push(decal);
this.decalColourR.push(decalColourR);
this.decalColourG.push(decalColourG);
this.decalColourB.push(decalColourB);
this.human.push(human);
}
function setCar(model, human, colourR, colourG, colourB, gridPosition, decal, decalColourR, decalColourG, decalColourB) {
carModels[gridPosition] = model;
this.colourR[gridPosition] = colourR;
this.colourG[gridPosition] = colourG;
this.colourB[gridPosition] = colourB;
this.decal[gridPosition] = decal;
this.decalColourR[gridPosition] = decalColourR;
this.decalColourG[gridPosition] = decalColourG;
this.decalColourB[gridPosition] = decalColourB;
this.human[gridPosition] = human;
}
function getColourObject(gridPosition) {
var _local2 = new Object();
_local2.red = colourR[gridPosition];
_local2.green = colourG[gridPosition];
_local2.blue = colourB[gridPosition];
_local2.decal = decal[gridPosition];
_local2.decalRed = decalColourR[gridPosition];
_local2.decalGreen = decalColourG[gridPosition];
_local2.decalBlue = decalColourB[gridPosition];
return(_local2);
}
}
Symbol 603 MovieClip [__Packages.Weapon] Frame 0
class Weapon extends MovieClip
{
var live, lifeCount, lifeSpan, _x, _y, _rotation, gotoAndStop, _visible, localToGlobal, nextWayPoint, trackMC;
function Weapon () {
super();
live = false;
lifeCount = 0;
lifeSpan = 1000;
}
function fire(nX, nY, nType, nRotation, owner) {
_x = nX;
_y = nY;
_rotation = nRotation;
weaponType = nType;
this.owner = owner;
gotoAndStop(weaponType);
live = true;
lifeCount = 0;
_visible = true;
return(this);
}
function update() {
if (live) {
if (weaponType > MINE) {
var _local11 = new com.ussgames.physics.Vector2D(speeds[weaponType - 1] * Math.cos((_rotation - 90) * (Math.PI/180)), speeds[weaponType - 1] * Math.sin((_rotation - 90) * (Math.PI/180)));
_x = _x + _local11.vX;
_y = _y + _local11.vY;
vX = _local11.vX;
vY = _local11.vY;
var _local9 = new Object();
_local9.x = 0;
_local9.y = 0;
localToGlobal(_local9);
if (weaponType == HOMINGMISSILE) {
if (trackMC.wayPointsClip["w" + nextWayPoint].hitTest(_local9.x, _local9.y, true)) {
if (trackMC.wayPointsClip["w" + (nextWayPoint + 1)]) {
nextWayPoint = nextWayPoint + 1;
} else {
nextWayPoint = 1;
}
}
var _local8 = trackMC.wayPointsClip["w" + (nextWayPoint + 1)]._x;
var _local7 = trackMC.wayPointsClip["w" + (nextWayPoint + 1)]._y;
var _local13 = _x - _local8;
var _local12 = _y - _local7;
var _local6 = (_local13 * _local13) + (_local12 + _local12);
var _local4 = 0;
var _local3 = 0;
var _local5 = 0;
var _local2 = 1;
while (trackMC["car" + _local2] != undefined) {
_local4 = _x - trackMC["car" + _local2]._x;
_local3 = _y - trackMC["car" + _local2]._y;
_local5 = (_local4 * _local4) + (_local3 * _local3);
if (_local5 < _local6) {
if ((_local2 != owner) && (trackMC["car" + _local2].nextWayPoint >= trackMC["car" + owner].nextWayPoint)) {
_local8 = trackMC["car" + _local2]._x;
_local7 = trackMC["car" + _local2]._y;
_local6 = _local5;
}
}
_local2++;
}
var _local14 = (Math.atan2(_local8 - _x, _y - _local7) * 180) / Math.PI;
var _local10 = _local14 - _rotation;
if (_local10 < -180) {
_local10 = _local10 + 360;
}
if (_local10 > 180) {
_local10 = _local10 - 360;
}
_rotation = _rotation + (_local10 / 5);
}
if (trackMC.barrierClip.hitTest(_local9.x, _local9.y, true)) {
lifeCount = lifeSpan;
}
}
lifeCount++;
if (lifeCount++) {
if (lifeCount >= lifeSpan) {
live = false;
_x = -1000;
_y = -1000;
_visible = false;
}
}
}
}
var MINE = 1;
var ROCKET = 2;
var HOMINGMISSILE = 3;
var weaponType = Weapon.prototype.MINE;
var lifeSpans = new Array(300, 300, 300);
var speeds = new Array(0, 15, 15);
var armedAt = new Array(90, 90, 90);
var vX = 0;
var vY = 0;
var owner = 1;
}
Symbol 604 MovieClip [__Packages.WeaponPickUp] Frame 0
class WeaponPickUp extends MovieClip
{
var gotoAndStop, _visible, live, liveCountDown, normX, _x, normY, _y, weaponType;
function WeaponPickUp () {
super();
gotoAndStop(1);
_visible = false;
live = false;
liveCountDown = WEAPONDELAY;
normX = _x;
normY = _y;
}
function update() {
if (live) {
_visible = true;
} else {
liveCountDown--;
if (liveCountDown <= 0) {
var _local2 = Math.random();
if (_local2 < 0.1) {
weaponType = 3;
} else if (_local2 < 0.25) {
weaponType = 1;
} else if (_local2 < 0.6) {
weaponType = 2;
} else {
weaponType = 0;
liveCountDown = WEAPONDELAY;
_visible = false;
}
if (weaponType > 0) {
gotoAndStop(weaponType + 1);
live = true;
_x = normX + (Math.floor(Math.random() * 100) - 50);
_y = normY + (Math.floor(Math.random() * 100) - 50);
_visible = true;
}
}
}
}
function collect() {
if (live) {
gotoAndStop(1);
_visible = false;
live = false;
liveCountDown = WEAPONDELAY;
return(weaponType);
}
return(0);
}
var WEAPONDELAY = 50;
}
Symbol 177 MovieClip Frame 150
stop();
_root.play();
Symbol 184 MovieClip Frame 119
stop();
Symbol 188 MovieClip Frame 260
stop();
Symbol 205 MovieClip Frame 1
stop();
Symbol 237 MovieClip Frame 2
var randExplode = (1 + random(2));
_root["explode" + randExplode].start(0, 1);
Symbol 237 MovieClip Frame 22
_parent.lifeBar._visible = false;
_parent.healthBack._visible = false;
_parent.upgradeTag._visible = false;
_parent.sorter.useHandCursor = false;
_parent.hitSpot._xscale = 50;
_parent.hitSpot._yscale = 50;
this._parent.tower.gotoAndStop("dead");
stop();
this._visible = false;
Symbol 239 MovieClip Frame 75
duck.gotoAndPlay("quack");
Symbol 239 MovieClip Frame 145
duck.gotoAndPlay("quack");
Symbol 239 MovieClip Frame 242
stop();
_root.play();
Symbol 244 MovieClip Frame 20
stop();
Symbol 271 MovieClip Frame 11
stop();
Symbol 272 MovieClip Frame 11
stop();
Symbol 273 MovieClip Frame 11
stop();
Symbol 274 MovieClip Frame 1
stop();
Symbol 274 MovieClip Frame 21
stop();
Symbol 274 MovieClip Frame 50
_root.gotoAndPlay(this.frameDest);
stop();
Symbol 281 MovieClip Frame 1
stop();
Symbol 284 MovieClip Frame 1
stop();
Symbol 327 MovieClip [weponPickup] Frame 1
#initclip 18
Object.registerClass("weponPickup", WeaponPickUp);
#endinitclip
stop();
Symbol 337 MovieClip Frame 6
stop();
Symbol 338 MovieClip Frame 6
stop();
Symbol 350 MovieClip [weapons] Frame 1
#initclip 16
Object.registerClass("weapons", Weapon);
#endinitclip
Symbol 423 MovieClip [track1] Frame 1
#initclip 17
Object.registerClass("track1", CarRaceTrack);
#endinitclip
stop();
Symbol 433 Button
on (keyPress "<Space>") {
_root.gameGlobalStats.nextLevel = 1;
_root.fader.frameDest = "choosetrack";
_root.fader.gotoAndPlay("fadein");
}
Symbol 438 MovieClip Frame 1
stop();
Symbol 439 MovieClip Frame 1
stop();
Symbol 458 Button
on (release) {
_root.fader.frameDest = "titlescreen";
_root.fader.gotoAndPlay("fadein");
}
Symbol 459 Button
on (keyPress "<Space>") {
_root.fader.frameDest = "choosecar";
_root.fader.gotoAndPlay("fadein");
}
on (keyPress "<Left>") {
if (_root.gameGlobalStats.nextLevel > 1) {
_root.gameGlobalStats.nextLevel--;
_root.showLevelStats(_root.gameGlobalStats.nextLevel);
_root.trackSelector.destX = _root[("l" + _root.gameGlobalStats.nextLevel) + "butt"]._x;
}
}
on (keyPress "<Right>") {
if (_root.gameGlobalStats.nextLevel < 5) {
_root.gameGlobalStats.nextLevel++;
_root.showLevelStats(_root.gameGlobalStats.nextLevel);
_root.trackSelector.destX = _root[("l" + _root.gameGlobalStats.nextLevel) + "butt"]._x;
}
}
Symbol 486 Button
on (release) {
fader.frameDest = "titlescreen";
fader.gotoAndPlay("fadein");
}
Symbol 487 Button
on (keyPress "<Space>") {
_root.chosenCar = _root.carChooser.setLineUp();
_root.fader.frameDest = "therace";
_root.fader.gotoAndPlay("fadein");
}
Symbol 491 MovieClip Frame 1
stop();
Symbol 510 Button
on (keyPress "<Right>") {
toNextCar();
}
Symbol 511 Button
on (keyPress "<Left>") {
toPrevCar();
}
Symbol 518 MovieClip Frame 1
function setCarColour(r, g, b) {
var _local4 = -(255 - r);
var _local5 = -(255 - g);
var _local3 = -(255 - b);
lastR = r;
lastG = g;
lastB = b;
var _local1 = new Color(carMC.carMC.colourMC);
var _local2 = {ra:100, rb:_local4, ga:100, gb:_local5, ba:100, bb:_local3, aa:100, ab:100};
_local1.setTransform(_local2);
}
function setCarDecalColour(r, g, b) {
var _local4 = -(255 - r);
var _local5 = -(255 - g);
var _local3 = -(255 - b);
lastR_decal = r;
lastG_decal = g;
lastB_decal = b;
var _local1 = new Color(carMC.carMC.decal);
var _local2 = {ra:100, rb:_local4, ga:100, gb:_local5, ba:100, bb:_local3, aa:100, ab:100};
_local1.setTransform(_local2);
}
function updateStatBars() {
var _local1 = carMC.carMC._currentframe - 1;
var _local10 = stats.carModels[_local1].topSpeed;
var _local7 = stats.carModels[_local1].accelleration;
var _local9 = stats.carModels[_local1].braking;
var _local8 = stats.carModels[_local1].turningSpeed;
var _local2 = stats.carModels[_local1].grip;
var _local3 = (_local10 / stats.bestTopSpeed) * 100;
var _local6 = (_local7 / stats.bestAccelleration) * 100;
var _local5 = (_local9 / stats.bestBraking) * 100;
var _local11 = (_local8 / stats.bestTurning) * 100;
var _local4 = (_local2 / stats.bestGrip) * 100;
topSpeedBar._xscale = _local3;
accellerationBar._xscale = _local6;
brakingBar._xscale = _local5;
steeringBar._xscale = _local11;
gripBar._xscale = _local4;
carName.text = stats.carModels[_local1].modelName;
if (_local1 == 0) {
left_btn._visible = false;
}
if (!stats.carUnlocked[_local1 + 1]) {
right_btn._visible = false;
}
}
function setLineUp() {
stats.nextLineUp = new LineUp();
i = 0;
while (i < 3) {
colourRGB = colourPickerBitmapData.getPixel(Math.floor(Math.random() * 300), Math.floor(Math.random() * 23));
if (colourRGB != 0) {
cR = (colourRGB & 16711680) >> 16;
cG = (colourRGB & 65280) >> 8;
cB = colourRGB & 255;
}
colourRGB_2 = colourPickerBitmapData.getPixel(Math.floor(Math.random() * 300), Math.floor(Math.random() * 23));
if (colourRGB_2 != 0) {
cR_2 = (colourRGB_2 & 16711680) >> 16;
cG_2 = (colourRGB_2 & 65280) >> 8;
cB_2 = colourRGB_2 & 255;
}
stats.nextLineUp.addCar(stats.carModels[carMC.carMC._currentframe - 1], false, cR, cG, cB, Math.floor(Math.random() * numDecals) + 1, cR_2, cG_2, cB_2);
i++;
}
stats.nextLineUp.addCar(stats.carModels[carMC.carMC._currentframe - 1], false, lastR, lastG, lastB, lastDecal, lastR_decal, lastG_decal, lastB_decal);
return(carMC.carMC._currentframe);
}
function toPrevCar() {
carMC.carMC.prevFrame();
updateStatBars();
setCarColour(lastR, lastG, lastB);
carMC.carMC.decal.gotoAndStop(lastDecal);
setCarDecalColour(lastR_decal, lastG_decal, lastB_decal);
if (stats.carUnlocked[carMC.carMC._currentframe] == true) {
right_btn._visible = true;
} else {
right_btn._visible = false;
}
if (carMC.carMC._currentframe == 1) {
left_btn._visible = false;
}
}
function toNextCar() {
if (stats.carUnlocked[carMC.carMC._currentframe] == true) {
carMC.carMC.nextFrame();
updateStatBars();
setCarColour(lastR, lastG, lastB);
carMC.carMC.decal.gotoAndStop(lastDecal);
setCarDecalColour(lastR_decal, lastG_decal, lastB_decal);
left_btn._visible = true;
if (stats.carUnlocked[carMC.carMC._currentframe] == true) {
right_btn._visible = true;
} else {
right_btn._visible = false;
}
}
}
function randomColour() {
pix_x_1 = Math.floor(Math.random() * 300);
pix_x_2 = Math.floor(Math.random() * 300);
colourRGB = colourPickerBitmapData.getPixel(pix_x_1, Math.floor(Math.random() * 23));
colourRGB_2 = colourPickerBitmapData.getPixel(pix_x_2, Math.floor(Math.random() * 23));
colour_1_arrow._x = colourPicker._x + ((pix_x_1 * colourPicker._xscale) / 100);
colour_2_arrow._x = colourPicker._x + ((pix_x_2 * colourPicker._xscale) / 100);
if (colourRGB != 0) {
cR = (colourRGB & 16711680) >> 16;
cG = (colourRGB & 65280) >> 8;
cB = colourRGB & 255;
setCarColour(cR, cG, cB);
cR_2 = (colourRGB_2 & 16711680) >> 16;
cG_2 = (colourRGB_2 & 65280) >> 8;
cB_2 = colourRGB_2 & 255;
setCarDecalColour(cR_2, cG_2, cB_2);
var _local7 = -(255 - cR);
var _local9 = -(255 - cG);
var _local6 = -(255 - cB);
var _local4 = new Color(_parent.defaultcarMC.carMC.colourMC);
var _local5 = {ra:100, rb:_local7, ga:100, gb:_local9, ba:100, bb:_local6, aa:100, ab:100};
_local4.setTransform(_local5);
_parent.defaultcarMC.carMC.decal.gotoAndStop(Math.floor(Math.random() * numDecals) + 1);
lastDecal = Math.floor(Math.random() * numDecals) + 1;
carMC.carMC.decal.gotoAndStop(lastDecal);
var _local11 = -(255 - cR_2);
var _local10 = -(255 - cG_2);
var _local2 = -(255 - cB_2);
var _local8 = new Color(_parent.defaultcarMC.carMC.decal);
var _local3 = {ra:100, rb:_local11, ga:100, gb:_local10, ba:100, bb:_local2, aa:100, ab:100};
_local8.setTransform(_local3);
}
}
stop();
var colourPickerBitmapData = (new flash.display.BitmapData(300, 48, false, 0));
colourPickerBitmapData.draw(colourPicker);
var lastR = 255;
var lastG = 255;
var lastB = 255;
var lastR_decal = 255;
var lastG_decal = 255;
var lastB_decal = 255;
var lastDecal = 1;
var stats;
var numDecals = 29;
left_btn.onRelease = function () {
toPrevCar();
};
right_btn.onRelease = function () {
toNextCar();
};
decal_btn.onRelease = function () {
if (lastDecal < numDecals) {
lastDecal++;
} else {
lastDecal = 1;
}
carMC.carMC.decal.gotoAndStop(lastDecal);
};
var changingColour1 = false;
var changingColour2 = false;
colour_1_arrow.onPress = function () {
startDrag (this, true, colourPicker._x, this._y, colourPicker._x + colourPicker._width, this._y);
changingColour1 = true;
};
colour_1_arrow.onRelease = (colour_1_arrow.onReleaseOutside = function () {
stopDrag();
changingColour1 = false;
});
colour_2_arrow.onPress = function () {
startDrag (this, true, colourPicker._x, this._y, colourPicker._x + colourPicker._width, this._y);
changingColour2 = true;
};
colour_2_arrow.onRelease = (colour_2_arrow.onReleaseOutside = function () {
stopDrag();
changingColour2 = false;
});
onMouseMove = function () {
if (changingColour1) {
colourRGB = colourPickerBitmapData.getPixel(colourPicker._xmouse, 5);
if (colourRGB != 0) {
cR = (colourRGB & 16711680) >> 16;
cG = (colourRGB & 65280) >> 8;
cB = colourRGB & 255;
setCarColour(cR, cG, cB);
}
}
if (changingColour2) {
colourRGB = colourPickerBitmapData.getPixel(colourPicker._xmouse, 5);
if (colourRGB != 0) {
cR = (colourRGB & 16711680) >> 16;
cG = (colourRGB & 65280) >> 8;
cB = colourRGB & 255;
setCarDecalColour(cR, cG, cB);
}
}
};
randomColour();
updateStatBars();
Symbol 522 Button
on (release) {
delete onEnterFrame;
initNextRace();
gotoAndPlay ("therace");
}
Symbol 523 Button
on (release) {
gotoAndPlay ("titlescreen");
}
Symbol 534 Button
on (release) {
delete onEnterFrame;
_root.fader.frameDest = "therace";
_root.fader.gotoAndPlay("fadein");
}
Symbol 535 Button
on (release) {
_root.fader.frameDest = "restartTitle";
_root.fader.gotoAndPlay("fadein");
}
Symbol 544 MovieClip Frame 1
stop();
Symbol 545 Button
on (release) {
close_Button._visible = false;
MochiAd.unload(advert);
_root.fader.frameDest = "titlescreen";
_root.fader.gotoAndPlay("fadein");
}
Symbol 546 Button
on (keyPress "<Space>") {
_root.close_Button._visible = false;
_root.greyOut_btn._visible = false;
_root.MochiAd.unload(advert);
if (_root.trackUnlocked) {
_root.gameGlobalStats.nextLevel = _root.gameGlobalStats.nextLevel + 1;
}
_root.fader.frameDest = "choosetrack";
_root.fader.gotoAndPlay("fadein");
}
Symbol 556 MovieClip Frame 1
stop();
Symbol 578 MovieClip Frame 1
stop();
Symbol 578 MovieClip Frame 2
stop();
Symbol 590 MovieClip Frame 1
stop();