Combined Code
movieClip 2 lib_dark_wheel {
}
movieClip 4 {
}
movieClip 5 {
}
movieClip 7 {
}
movieClip 9 {
}
movieClip 10 {
}
movieClip 11 {
}
movieClip 13 {
}
movieClip 14 lib_wheel4 {
#initclip
Object.registerClass('lib_wheel4', CWheel);
#endinitclip
instance mc_crush_test of movieClip 13 {
onClipEvent (load) {
this._visible = false;
}
}
}
movieClip 15 {
}
movieClip 16 {
frame 7 {
this._parent.endMove();
}
}
movieClip 17 {
}
movieClip 18 {
frame 7 {
this._parent.endMove();
}
}
movieClip 19 {
frame 7 {
this._parent.endMove();
}
}
movieClip 20 {
}
movieClip 21 {
frame 7 {
this._parent.endMove();
}
}
movieClip 22 moto3_man {
#initclip
Object.registerClass('moto3_man', CMan);
#endinitclip
frame 1 {
this.stop();
}
}
movieClip 24 {
}
movieClip 26 {
}
movieClip 28 {
}
movieClip 29 lib_wheel_forward3 {
#initclip
Object.registerClass('lib_wheel_forward3', CWheel);
#endinitclip
instance mc_crush_test of movieClip 13 {
onClipEvent (load) {
this._visible = false;
}
}
}
movieClip 31 {
}
movieClip 33 {
}
movieClip 34 {
}
movieClip 35 lib_wheel3 {
#initclip
Object.registerClass('lib_wheel3', CWheel);
#endinitclip
instance mc_crush_test of movieClip 13 {
onClipEvent (load) {
this._visible = false;
}
}
}
movieClip 36 {
}
movieClip 37 {
}
movieClip 38 {
}
movieClip 39 {
}
movieClip 40 {
}
movieClip 41 {
}
movieClip 42 lib_wheel2 {
#initclip
Object.registerClass('lib_wheel2', CWheel);
#endinitclip
instance mc_crush_test of movieClip 13 {
onClipEvent (load) {
this._visible = false;
}
}
}
movieClip 43 quad2_man {
#initclip
Object.registerClass('quad2_man', CMan);
#endinitclip
frame 1 {
this.stop();
}
}
movieClip 44 {
}
movieClip 45 {
frame 1 {
this.stop();
}
}
movieClip 46 lib_bike_body2 {
frame 1 {
this.stop();
}
}
movieClip 49 {
}
movieClip 50 {
}
movieClip 52 {
}
movieClip 54 {
}
movieClip 55 {
}
movieClip 57 {
}
movieClip 58 moto1_man {
#initclip
Object.registerClass('moto1_man', CMan);
#endinitclip
frame 1 {
this.stop();
}
}
movieClip 61 {
}
movieClip 62 {
}
movieClip 63 {
}
movieClip 64 {
frame 1 {
this.stop();
}
}
movieClip 65 lib_bike_body1 {
frame 1 {
this.stop();
}
}
movieClip 67 {
}
movieClip 68 {
}
movieClip 69 lib_wheel_forward1 {
#initclip
Object.registerClass('lib_wheel_forward1', CWheel);
#endinitclip
instance mc_crush_test of movieClip 13 {
onClipEvent (load) {
this._visible = false;
}
}
}
movieClip 70 {
}
movieClip 71 {
}
movieClip 72 lib_wheel1 {
#initclip
Object.registerClass('lib_wheel1', CWheel);
#endinitclip
instance mc_crush_test of movieClip 13 {
onClipEvent (load) {
this._visible = false;
}
}
}
movieClip 74 lib_smoke {
frame 27 {
this.removeMovieClip();
}
}
frame 1 {
_accProps = new Object();
_accProps.name = 'leve';
}
frame 1 {
function playAgain() {
newGame();
}
System.security.allowDomain('shockwave.com', 'intranet.shockwave.com', 'gameblast.shockwave.com', 'www.shockwave.com', 'dev.shockwave.com', 'stage.shockwave.com', 'agstage.shockwave.com', 'addictinggames.149.memecounter.com');
_level0.swHighScoreObject = new Object();
_level0.swHighScoreObject.showTab = 'view';
_level0.swHighScoreObject.gameId = 'stuntdirtbike';
_level0.swHighScoreObject.gameTitle = 'Stunt Dirt Bike';
_level0.swHighScoreObject.screenWidth = 700;
_level0.swHighScoreObject.screenHeight = 500;
_level0.swHighScoreObject.scoreDescriptor = 'points';
_level0.swHighScoreObject.numPlayers = 1;
_level0.swHighScoreObject.player1Score = 123456789;
_level0.swHighScoreObject.player2Score = 0;
_level0.swHighScoreObject.player3Score = 0;
_level0.swHighScoreObject.player4Score = 0;
stop();
}
movieClip 75 {
#initclip
function updateSoundLoop() {
if (stopSoundFlag) {
return undefined;
}
if (zastSoundFlag) {
mc_sloop.gotoAndStop(3);
mc_sloop_zast.gotoAndStop(2);
return undefined;
}
mc_sloop.gotoAndStop(2);
mc_sloop_zast.gotoAndStop(3);
}
function soundOff() {
if (zastSoundFlag) {
mc_sloop_zast.gotoAndStop(3);
} else {
mc_sloop.gotoAndStop(3);
}
stopSoundFlag = true;
}
function soundOn() {
if (zastSoundFlag) {
mc_sloop_zast.gotoAndStop(2);
} else {
mc_sloop.gotoAndStop(2);
}
stopSoundFlag = false;
}
function gameStart() {
scores = 0;
timeCounter = 0;
CGP.level = 0;
this.gotoAndStop('choice');
enableVehicles();
}
function chooseBikeWhenComplete() {
this.gotoAndStop('choice');
enableVehicles();
}
function chooseBike() {
--CGP.level;
this.gotoAndStop('choice');
enableVehicles();
}
function enableVehicles() {
mc_screen.mc_vehicle_block1._visible = !enableBike;
mc_screen.mc_cap_unlock1._visible = mc_screen.mc_vehicle_block1._visible;
mc_screen.mc_vehicle_block2._visible = !enableAtv;
mc_screen.mc_cap_unlock2._visible = mc_screen.mc_vehicle_block2._visible;
btn_vehicle1.useHandCursor = enableBike;
btn_vehicle2.useHandCursor = enableAtv;
}
function gameStartWith(bikeNum_) {
if (bikeNum_ == CCarSynchronizer.BIKE_MOTO2 && !enableBike) {
return undefined;
}
if (bikeNum_ == CCarSynchronizer.BIKE_ATV2 && !enableAtv) {
return undefined;
}
if (CGP.level == 0) {
zastSoundFlag = false;
updateSoundLoop();
}
bikeNum = bikeNum_;
nextLevel();
}
function nextLevel() {
if (CGP.level == CGP.MAX_LEVEL_NUM) {
newGame();
return undefined;
}
++CGP.level;
levelTimeCounter = 0;
this.gotoAndStop('reset');
this.gotoAndStop('game');
}
function replay() {
this.gotoAndStop('reset');
this.gotoAndStop('game');
}
function newGame() {
zastSoundFlag = true;
updateSoundLoop();
this.gotoAndStop('main');
}
function initLevel() {
lastTimer = getTimer();
mc_level._y = 0;
mc_level._x = 0;
mc_level._yscale = 100;
mc_level._xscale = 100;
mc_level.gotoAndStop(CGP.level);
mc_level.mc.mc_hit._visible = false;
if (carSync == null) {
carSync = new CCarSynchronizer();
engine = new CParticleEngine();
objCamera = new CCamera();
back1 = new CBack();
back2 = new CBack();
} else {
engine.clear();
}
engine.stopWheels = false;
carSync.setBikeNum(bikeNum);
__reg0 = bikeNum;
if (__reg0 === 1) {
carSync.init_bike1(mc_level.mc.mc_car, mc_level.mc.mc_start._x, mc_level.mc.mc_start._y, engine);
} else {
if (__reg0 === 2) {
carSync.init_atv1(mc_level.mc.mc_car, mc_level.mc.mc_start._x, mc_level.mc.mc_start._y, engine);
} else {
if (__reg0 === 3) {
carSync.init_bike2(mc_level.mc.mc_car, mc_level.mc.mc_start._x, mc_level.mc.mc_start._y, engine);
} else {
if (__reg0 === 4) {
carSync.init_atv2(mc_level.mc.mc_car, mc_level.mc.mc_start._x, mc_level.mc.mc_start._y, engine);
} else {
trace('error!!!');
}
}
}
}
carSync.setHealthIndicator(mc_panel.mc_health_ind);
back1.init(mc_level.mc.mc_fon.mc_grass.mc1, mc_level.mc.mc_fon.mc_grass.mc2, 1);
back2.init(mc_level.mc.mc_fon.mc_hill.mc1, mc_level.mc.mc_fon.mc_hill.mc2, 2);
back1.process(mc_level.mc._x);
back2.process(mc_level.mc._x);
objCamera.init(carSync.mc_car, mc_level.mc);
objCamera.process();
engine.setHitMovie(mc_level.mc.mc_hit);
engine.start();
accFlag = false;
accCounter = 50;
if (!stopSoundFlag) {
mc_sloop.gotoAndStop(2);
}
setStaticVariables();
CGP.setLevelTasks();
(CIndicator(mc_panel.mc_progress_ind)).setMaxValue(100);
(CIndicator(mc_panel.mc_progress_ind)).setValue(0);
mc_message.gotoAndStop('empty');
gameState = 0;
CGP.updateLevelProgress();
mc_level.level = CGP.level;
}
function processGame() {
var v2;
var v1;
v2 = getTimer();
v1 = v2 - lastTimer;
txtFps = 1 / (v1 / 1000);
lastTimer = v2;
if (gameState == 0) {
timeCounter += v1;
levelTimeCounter += v1;
var v5 = 0;
var v6 = 0;
var v4;
var v3;
if (!carSync.isCrushed()) {
++accCounter;
if (accFlag) {
accFlag = Key.isDown(CCarSynchronizer.BUTTON_UP) || Key.isDown(CCarSynchronizer.BUTTON_DOWN);
} else {
accFlag = Key.isDown(CCarSynchronizer.BUTTON_UP) || Key.isDown(CCarSynchronizer.BUTTON_DOWN);
if (accFlag && accCounter > 10) {
accCounter = 0;
if (!stopSoundFlag) {
mc_gas.gotoAndPlay(2);
}
}
}
if (Key.isDown(CCarSynchronizer.BUTTON_LEFT)) {
carSync.toLeft();
} else {
if (Key.isDown(CCarSynchronizer.BUTTON_RIGHT)) {
carSync.toRight();
}
}
}
engine.process();
carSync.process();
objCamera.process();
back1.process(mc_level.mc._x);
back2.process(mc_level.mc._x);
mc_level.mc.mc_fon._x = -mc_level.mc._x;
showTime();
CGP.updateLevelProgress();
checkEndLevel();
if (carSync.checkHitWithGround(mc_level.mc.mc_hit)) {
loose();
return undefined;
}
CGP.processSounds();
}
}
function keyPressed() {
if (Key.isDown(32)) {
if (gameState == 2) {
nextLevel();
} else {
if (gameState == 1) {
replay();
} else {
if (gameState == 4) {
resume();
}
}
}
return undefined;
}
if (Key.isDown(80)) {
if (gameState == 0) {
pauseGame();
} else {
if (gameState == 4) {
resume();
}
}
return undefined;
}
if (Key.isDown(82)) {
if (gameState == 0 || gameState == 4) {
replay();
}
}
}
function addLevelScores() {
var v1;
var v2;
var v6 = 5;
var v3 = 15;
var v4 = 45;
var v5 = 200;
v1 = levelTimeCounter / 1000;
if (v1 < v6) {
v2 = 1000;
v2 = v2;
} else {
if (v1 < v3) {
v2 = ((v3 - v1) / (v3 - v6)) * 600 + 400;
} else {
if (v1 < v4) {
v2 = ((v4 - v1) / (v4 - v3)) * 200 + 200;
} else {
if (v1 < v5) {
v2 = ((v5 - v1) / (v5 - v4)) * 180 + 20;
} else {
v2 = 20;
}
}
}
}
scores += Math.round(v2);
}
function showTime() {
txtTime.text = String(getTimeString(timeCounter));
}
function getTimeString(time) {
var v1 = Math.round(time / 1000);
var v2 = Math.floor(v1 / 60);
v1 -= v2 * 60;
var v4;
var v3;
if (v1 < 10) {
v3 = '0' + v1;
} else {
v3 = '' + v1;
}
if (v2 < 10) {
v4 = '0' + v2;
return v4 + ':' + v3;
}
v4 = '' + v2;
return v4 + ':' + v3;
}
function resume() {
CGP.carSync.startManAnim();
zastSoundFlag = false;
updateSoundLoop();
mc_pause.gotoAndStop(1);
mc_message.gotoAndStop('empty');
gameState = 0;
}
function pauseGame() {
CGP.carSync.stopManAnim();
if (!stopSoundFlag) {
mc_sloop.gotoAndStop(3);
}
mc_pause.gotoAndStop(2);
mc_message.gotoAndStop('pause');
gameState = 4;
}
function setStaticVariables() {
CGP.mc_levelHit = mc_level.mc.mc_hit;
CGP.mc_root = this;
CGP.mc_level = mc_level;
CGP.mc_panel = mc_panel;
CGP.carSync = CCarSynchronizer(carSync);
CGP.mc_progressInd = mc_panel.mc_progress_ind;
CGP.init();
}
function checkEndLevel() {
if (carSync.mc_car._x >= mc_level.mc.mc_finish._x) {
if (!stopSoundFlag) {
mc_sloop.gotoAndStop(3);
}
mc_pause._visible = false;
toWinTask();
return undefined;
}
}
function loose() {
CGP.carSync.stopManAnimFull();
mc_pause._visible = false;
if (!stopSoundFlag) {
mc_sloop.gotoAndStop(3);
}
mc_message.gotoAndStop('over');
mc_message.levelTime = getTimeString(levelTimeCounter);
mc_message.totalTime = getTimeString(timeCounter);
mc_message.scores = scores;
CGP.carSync.stopManAnimFull();
gameState = 1;
}
function toWinTask() {
CGP.carSync.stopManAnimFull();
mc_pause._visible = false;
addLevelScores();
mc_message.levelTime = getTimeString(levelTimeCounter);
mc_message.totalTime = getTimeString(timeCounter);
mc_message.scores = scores;
if (CGP.level < CGP.MAX_LEVEL_NUM) {
if (CGP.level == CGP.UNLOCK_LEVEL_BIKE || CGP.level == CGP.UNLOCK_LEVEL_ATV) {
mc_message.gotoAndStop('win_unlock');
if (CGP.level == CGP.UNLOCK_LEVEL_BIKE) {
enableBike = true;
} else {
if (CGP.level == CGP.UNLOCK_LEVEL_ATV) {
enableAtv = true;
}
}
} else {
mc_message.gotoAndStop('win');
}
gameState = 2;
return undefined;
}
mc_message.gotoAndStop('complete');
gameState = 3;
}
var lastTimer;
var stopSoundFlag = false;
var carSync = null;
var engine = null;
var objCamera = null;
var back1 = null;
var back2 = null;
var gameState;
var zastSoundFlag = true;
var accFlag;
var accCounter;
var timeCounter;
var levelTimeCounter;
var scores;
var highQuality = true;
var enableBike = false;
var enableAtv = false;
var bikeNum;
#endinitclip
frame 1 {
}
}
// unknown tag 88 length 83
movieClip 82 {
}
movieClip 84 {
}
button 86 {
on (release) {
getURL('http://www.freecartoonsgames.com/', '_blank');
}
}
movieClip 88 {
}
movieClip 90 {
}
movieClip 91 {
frame 170 {
stop();
}
}
button 99 {
on (release) {
getURL('http://www.freecartoonsgames.com/', '_blank');
}
}
button 100 {
on (release) {
_root.gotoAndPlay('main');
}
}
movieClip 101 {
frame 1 {
function rightclick() {
getURL('http://www.freecartoonsgames.com/', '');
}
function cargando() {
var v3;
var v2;
var v4;
v3 = _root.getBytesTotal();
v2 = _root.getBytesLoaded();
v4 = Math.floor(v2 * 100 / v3);
barra_mc.gotoAndStop(v4);
if (v2 == v3) {
clearInterval(hiloPrecarga);
barra_mc._visible = false;
play();
}
}
var fmm01_menu = new ContextMenu();
fmm01_menu.hideBuiltInItems();
_root.menu = fmm01_menu;
var item = new ContextMenuItem('Created by www.freecartoonsgames.com', rightclick);
fmm01_menu.customItems[0] = item;
fscommand('showmenu', false);
var hiloPrecarga = setInterval(cargando, 1);
Sonido = new Sound(this);
Sonido.attachSound('Music');
Sonido.start(0, 99);
stop();
}
frame 200 {
stop();
}
}
movieClip 271 __Packages.CMan {
#initclip
if (!_global.CMan) {
var v1 = function () {
super();
this.stopFlag = false;
this.state = 0;
};
_global.CMan = v1;
_global.CMan extends MovieClip;
var v2 = v1.prototype;
v2.stopAnim = function () {
this.stopFlag = true;
};
v2.stopMCAnim = function () {
this.mc.stop();
};
v2.startAnim = function () {
this.stopFlag = false;
};
v2.onEnterFrame = function () {
if (this.stopFlag) {
return undefined;
}
if (Key.isDown(CMan.LEFT_BUTTON)) {
this.toLeft();
return undefined;
}
if (Key.isDown(CMan.RIGHT_BUTTON)) {
this.toRight();
return undefined;
}
if (this.state == 1 || this.state == 2) {
this.fromLeft();
return undefined;
}
if (this.state == 4 || this.state == 5) {
this.fromRight();
}
};
v2.toLeft = function () {
var v2;
if (this.state == 0) {
this.state = 1;
this.gotoAndStop('toLeft');
this.state = 1;
return undefined;
}
if (this.state == 3) {
v2 = this.mc._currentframe;
this.gotoAndStop('toLeft');
this.mc.gotoAndPlay(CMan.ANIM_FRAMES - v2 + 1);
this.state = 1;
return undefined;
}
if (this.state == 4 || this.state == 5) {
this.fromRight();
this.state = 6;
}
};
v2.toRight = function () {
var v2;
if (this.state == 0) {
this.state = 1;
this.gotoAndStop('toRight');
this.state = 4;
return undefined;
}
if (this.state == 6) {
v2 = this.mc._currentframe;
this.gotoAndStop('toRight');
this.mc.gotoAndPlay(CMan.ANIM_FRAMES - v2 + 1);
this.state = 4;
return undefined;
}
if (this.state == 1 || this.state == 2) {
this.fromLeft();
this.state = 3;
}
};
v2.fromLeft = function () {
var v2;
if (this.state == 1) {
v2 = this.mc._currentframe;
this.gotoAndStop('fromLeft');
this.mc.gotoAndPlay(CMan.ANIM_FRAMES - v2 + 1);
this.state = 3;
return undefined;
}
if (this.state == 2) {
this.gotoAndStop('fromLeft');
this.state = 3;
}
};
v2.fromRight = function () {
var v2;
if (this.state == 4) {
v2 = this.mc._currentframe;
this.gotoAndStop('fromRight');
this.mc.gotoAndPlay(CMan.ANIM_FRAMES - v2 + 1);
this.state = 6;
return undefined;
}
if (this.state == 5) {
this.gotoAndStop('fromRight');
this.state = 6;
}
};
v2.endMove = function () {
if (this.state == 1) {
this.gotoAndStop('left');
this.state = 2;
return undefined;
}
if (this.state == 3) {
this.state = 0;
this.gotoAndStop('stay');
return undefined;
}
if (this.state == 4) {
this.state = 5;
this.gotoAndStop('right');
return undefined;
}
if (this.state == 6) {
this.state = 0;
this.gotoAndStop('stay');
}
};
v1.LEFT_BUTTON = 37;
v1.RIGHT_BUTTON = 39;
v1.ANIM_FRAMES = 7;
ASSetPropFlags(_global.CMan.prototype, null, 1);
}
#endinitclip
}
movieClip 272 __Packages.CWheel {
#initclip
if (!_global.CWheel) {
var v1 = function () {
super();
};
_global.CWheel = v1;
_global.CWheel extends MovieClip;
var v2 = v1.prototype;
v2.init = function (particle_, maxAccSpeed_, rad_) {
this.particle = particle_;
this.rad = rad_;
this.maxAccSpeed = maxAccSpeed_ * 4;
this.speed = 0;
this.accSpeed = 0;
this.rot = new CVector2D(1, 0);
this.addedAcc = new CVector2D(0, 0);
this.intersectionFlag = false;
this.lastIntersPoint = new CVector2D(0, 0);
this.lastN = new CVector2D(0, 0);
var v2;
var v3 = 6.28318530718 / this.hitCount;
this.hitPointArray = new Array(this.hitCount);
this.normalArray = new Array(this.hitCount);
this.hitArray = new Array(this.hitCount);
this.intersArray = new Array();
v2 = 0;
while (v2 < this.hitCount) {
this.hitPointArray[v2] = new CVector2D(Math.sin(v3 * v2) * this.rad, -Math.cos(v3 * v2) * this.rad);
this.normalArray[v2] = this.hitPointArray[v2].multNew(-1);
this.normalArray[v2].normalize();
++v2;
}
this.lastYSpeed = 0;
};
v2.setKoeffSpring = function (koeffSpring_) {
this.koeffSpring = koeffSpring_;
};
v2.setKoeffSlip = function (koeffSlip_) {
this.koeffSlip = koeffSlip_;
};
v2.setKoeffConcatenation = function (koeffConcatenation_) {
this.koeffConcatenation = koeffConcatenation_;
};
v2.hasIntersection = function () {
return this.intersectionFlag;
};
v2.process = function (dTime, acc, koeffDamp) {
this.accSpeed = Math.max(-this.maxAccSpeed, Math.min(this.maxAccSpeed, this.accSpeed + acc * dTime));
this.speed = Math.max(-this.maxSpeed * dTime, Math.min(this.speed * koeffDamp + this.accSpeed, this.maxSpeed * dTime));
this.rot.rotate(this.speed / this.rad);
this.mc.mc_rim._rotation = Math.atan2(this.rot.y, this.rot.x) * 180 / Math.PI;
this.lastYSpeed = this.particle.pos.y - this.particle.prevPos.y;
};
v2.checkCollision = function (hit_mc) {
var v2;
var v8;
var v9 = new CVector2D(0, 0);
var v18 = false;
var v3;
var v4;
var v17;
var v19 = new CVector2D(this.particle.prevPos.x, this.particle.prevPos.y);
var v6 = new CVector2D(0, 0);
var v5 = new CVector2D(0, 0);
var v16;
this._x = this.particle.pos.x;
this._y = this.particle.pos.y;
v16 = 0;
v2 = 0;
while (v2 < this.hitCount) {
this.hitPointArray[v2].copyTo(v9);
this.localToGlobal(v9);
this.hitArray[v2] = hit_mc.hitTest(v9.x, v9.y, true);
if (this.hitArray[v2]) {
v18 = true;
v3 = v2;
++v16;
}
++v2;
}
if (v16 == this.hitCount) {
this.particle.pos.x = this.particle.prevPos.x + (this.particle.pos.x - this.particle.prevPos.x) * 0.3;
this.particle.pos.y = this.particle.prevPos.y + (this.particle.pos.y - this.particle.prevPos.y) * 0.3;
this._x = this.particle.pos.x;
this._y = this.particle.pos.y;
return undefined;
}
v2 = 0;
if (v18) {
while (!false) {
++v2;
if (v2 == this.hitCount) {
v2 = 0;
}
if (!this.hitArray[v2]) {
v3 = -1;
v8 = 0;
while (v8 < this.hitCount) {
++v2;
if (v2 == this.hitCount) {
v2 = 0;
}
if (v3 == -1) {
if (this.hitArray[v2]) {
v3 = v2;
v6.plus(this.normalArray[v2]);
this.normalArray[v2].copyTo(v5);
}
} else {
if (this.hitArray[v2]) {
v6.plus(this.normalArray[v2]);
v5.plus(this.normalArray[v2]);
} else {
v4 = v2 - 1;
if (v4 < 0) {
v4 = this.hitCount - 1;
}
this.intersArray.push({'k1': v3, 'k2': v4, 'n': new CVector2D(v5.x, v5.y)});
v3 = -1;
}
}
++v8;
}
break;
}
}
var v7 = new CVector2D(0, 0);
if (this.intersArray.length > 0) {
v6.normalize();
if (this.intersectionFlag) {
v6.x += this.lastN.x;
v6.y += this.lastN.y;
v6.x /= 2;
v6.y /= 2;
}
var v10;
var v14;
v17 = this.intersArray.length;
v2 = 0;
while (v2 < v17) {
v10 = this.intersArray.pop();
v3 = v10.k1;
v4 = v10.k2;
v10.n.copyTo(v5);
(this.particle.pos.minusNew(this.particle.prevPos)).copyTo(v7);
if (v6.scalar(v7) < 0) {
v14 = Math.atan2(v6.y, v6.x);
v7.rotate(-v14);
v7.x = -v7.x * this.koeffSpring;
v7.rotate(v14);
this.pushOut(v3, v4, v5, hit_mc);
this.particle.prevPos.x = this.particle.pos.x - v7.x;
this.particle.prevPos.y = this.particle.pos.y - v7.y;
} else {
this.pushOut(v3, v4, v5, hit_mc);
}
++v2;
}
this.validateRotation(v6, v19);
this.intersectionFlag = true;
this.particle.pos.copyTo(this.lastIntersPoint);
v6.copyTo(this.lastN);
}
} else {
if (this.intersectionFlag) {
this.validateRotation(this.lastN, v19);
this.intersectionFlag = false;
}
}
this._x = this.particle.pos.x;
this._y = this.particle.pos.y;
};
v2.pushOut = function (k1, k2, n, hit_mc) {
n.normalize();
if (k1 == k2) {
var v6 = n.multNew(-this.rad);
var v4 = new CVector2D(0, 0);
var v5 = 0;
var v3 = 0.03;
while (!false) {
v6.copyTo(v4);
this.localToGlobal(v4);
if (hit_mc.hitTest(v4.x, v4.y, true)) {
++v5;
this.particle.pos.x += n.x * v3;
this._x = this.particle.pos.x;
this.particle.pos.y += n.y * v3;
this._y = this.particle.pos.y;
} else {
--v5;
this.particle.pos.x -= n.x * v3;
this.particle.pos.y -= n.y * v3;
this.particle.prevPos.plus(n.multNew(v3 * v5));
break;
}
}
} else {
var v8 = (new CVector2D(0, 0)).getDistanceTo(this.hitPointArray[k1], this.hitPointArray[k2]);
v8 = this.rad - Math.abs(v8);
this.particle.pos.plus(n.multNew(v8));
this.particle.prevPos.plus(n.multNew(v8));
}
this.particle.pos.minus(n.multNew(this.koeffConcatenation));
this.particle.prevPos.minus(n.multNew(this.koeffConcatenation));
};
v2.validateRotation = function (n, oldPos) {
if (!this.intersectionFlag && Math.abs(this.accSpeed) > 0.01) {
if (Math.abs(this.accSpeed) < this.maxAccSpeed * 0.02 / 2) {
this.accSpeed = 0;
} else {
if (this.accSpeed > 0) {
this.accSpeed = this.maxAccSpeed * 0.02;
} else {
this.accSpeed = -this.maxAccSpeed * 0.02;
}
}
}
var v3 = new CVector2D(-n.y, n.x);
var v6 = this.particle.pos.minusNew(oldPos);
var v4 = Math.atan2(v3.y, v3.x);
var v2 = v6.rotateNew(-v4);
this.speed = v2.x + this.accSpeed;
v2.y = 0;
v2.rotate(v4);
var v5 = 1 - this.koeffSlip;
this.particle.pos.x = this.particle.pos.x + v3.x * this.accSpeed * v5 - (1 - this.koeffFriction) * v2.x;
this.particle.pos.y = this.particle.pos.y + v3.y * this.accSpeed * v5 - (1 - this.koeffFriction) * v2.y;
this.accSpeed *= this.koeffSlip;
};
v2.applyAddedAcc = function () {
this.particle.acc.x += this.addedAcc.x * this.particle.mass;
this.particle.acc.y += this.addedAcc.y * this.particle.mass;
};
v2.turnTo = function (turnDir, force) {
this.particle.prevPos.x = this.particle.pos.x - turnDir.x * force;
this.particle.prevPos.x = this.particle.pos.x - turnDir.x * force;
this.koeffSpring = 0.9;
};
v2.maxSpeed = 180;
v2.koeffSpring = 0.03;
v2.koeffSlip = 0.15;
v2.koeffFriction = 0.97;
v2.koeffConcatenation = 0;
v2.hitCount = 16;
ASSetPropFlags(_global.CWheel.prototype, null, 1);
}
#endinitclip
}
movieClip 273 __Packages.CVector2D {
#initclip
if (!_global.CVector2D) {
var v1 = function (x_, y_) {
this.x = x_;
this.y = y_;
};
_global.CVector2D = v1;
var v2 = v1.prototype;
v2.reinit = function (x_, y_) {
this.x = x_;
this.y = y_;
};
v2.getUgol = function () {
return Math.atan2(this.y, this.x);
};
v2.duplicate = function () {
return new CVector2D(this.x, this.y);
};
v2.copyTo = function (v) {
v.x = this.x;
v.y = this.y;
};
v2.minus = function (v) {
this.x -= v.x;
this.y -= v.y;
};
v2.minusNew = function (v) {
return new CVector2D(this.x - v.x, this.y - v.y);
};
v2.normalize = function () {
var v2 = Math.sqrt(this.x * this.x + this.y * this.y);
this.x /= v2;
this.y /= v2;
};
v2.reverseNew = function () {
return new CVector2D(-this.x, -this.y);
};
v2.scalar = function (v) {
return this.x * v.x + this.y * v.y;
};
v2.modul = function () {
return Math.sqrt(this.x * this.x + this.y * this.y);
};
v2.reflectFromNormal = function (n) {
var v2 = Math.atan2(n.y, n.x);
this.rotate(-v2);
this.x = -this.x;
this.rotate(v2);
};
v2.rotate = function (u) {
var v3 = this.x;
var v4 = this.y;
this.x = v3 * Math.cos(u) - v4 * Math.sin(u);
this.y = v3 * Math.sin(u) + v4 * Math.cos(u);
};
v2.rotateNew = function (u) {
return new CVector2D(this.x * Math.cos(u) - this.y * Math.sin(u), this.x * Math.sin(u) + this.y * Math.cos(u));
};
v2.mult = function (k) {
this.x *= k;
this.y *= k;
};
v2.multNew = function (k) {
return new CVector2D(this.x * k, this.y * k);
};
v2.plus = function (v) {
this.x += v.x;
this.y += v.y;
};
v2.plusNew = function (v) {
return new CVector2D(this.x + v.x, this.y + v.y);
};
v2.getDistanceTo = function (p1, p2) {
var v2 = p1.y - p2.y;
var v3 = p2.x - p1.x;
var v5 = p1.x * (p2.y - p1.y) - p1.y * (p2.x - p1.x);
var v6 = Math.sqrt(v2 * v2 + v3 * v3);
v2 /= v6;
v3 /= v6;
v5 /= v6;
return v2 * this.x + v3 * this.y + v5;
};
v2.toString = function () {
return '( ' + this.x + ', ' + this.y + ' )';
};
ASSetPropFlags(_global.CVector2D.prototype, null, 1);
}
#endinitclip
}
movieClip 274 __Packages.CParticleEngine {
#initclip
if (!_global.CParticleEngine) {
var v1 = function () {};
_global.CParticleEngine = v1;
var v2 = v1.prototype;
v2.clear = function () {
for (;;) {
if (this.p_array.pop() == undefined) {
} else {}
}
for (;;) {
if (this.w_array.pop() == undefined) {
} else {}
}
for (;;) {
if (this.c_array.pop() == undefined) {
return undefined;
}
}
};
v2.clearConstraints = function () {
for (;;) {
if (this.c_array.pop() == undefined) {
return undefined;
}
}
};
v2.setHitMovie = function (hit_mc_) {
this.hit_mc = hit_mc_;
};
v2.addParticle = function (p) {
this.p_array.push(p);
};
v2.addWheel = function (wheel, p, maxSpeed, radius) {
wheel.init(p, maxSpeed, radius);
this.w_array.push(wheel);
};
v2.addSpringConstraint = function (p1, p2, koeffStiff1, koeffStiff2) {
var v2 = new CSpringConstraint(p1, p2, koeffStiff1, koeffStiff2);
this.c_array.push(v2);
return v2;
};
v2.addPenetrationConstraint = function (p0, p1, p2) {
var v2 = new CPenetrationConstraint(p0, p1, p2);
this.c_array.push(v2);
return v2;
};
v2.addPenetrationConstraint2 = function (p0, p1, p2) {
var v2 = new CPenetrationConstraint2(p0, p1, p2);
this.c_array.push(v2);
return v2;
};
v2.start = function () {
this.prevTime = getTimer();
};
v2.computeForces = function () {
var v2;
var v3 = this.p_array.length;
v2 = 0;
for (;;) {
if (v2 >= v3) {
return undefined;
}
this.p_array[v2].acc.x = 0;
this.p_array[v2].acc.y = CParticleEngine.gravity * this.p_array[v2].mass;
++v2;
}
};
v2.clearForces = function () {
var v4 = this.w_array.length;
var v2;
var v3;
v2 = 0;
for (;;) {
if (v2 >= v4) {
return undefined;
}
v3 = this.w_array[v2];
v3.addedAcc.y = 0;
v3.addedAcc.x = 0;
++v2;
}
};
v2.applyManFrictions = function () {
var v3 = this.w_array.length;
var v2;
v2 = 0;
for (;;) {
if (v2 >= v3) {
return undefined;
}
this.w_array[v2].applyAddedAcc();
++v2;
}
};
v2.verlet = function (dTime) {
var v6 = 0.995;
var v2;
var v3 = this.p_array.length;
v2 = 0;
while (v2 < v3) {
this.p_array[v2].verlet(dTime, v6);
++v2;
}
v3 = this.w_array.length;
var v5 = 0;
if (!this.stopWheels) {
if (Key.isDown(CCarSynchronizer.BUTTON_DOWN)) {
v5 = -0.6;
} else {
if (Key.isDown(CCarSynchronizer.BUTTON_UP)) {
v5 = 1;
}
}
}
v2 = 0;
for (;;) {
if (v2 >= v3) {
return undefined;
}
this.w_array[v2].process(dTime, this.w_array[v2].maxAccSpeed * v5 / 3.2, 0.99);
++v2;
}
};
v2.checkCollisions = function () {
var v2;
var v3 = this.w_array.length;
v2 = 0;
for (;;) {
if (v2 >= v3) {
return undefined;
}
this.w_array[v2].checkCollision(this.hit_mc);
++v2;
}
};
v2.checkConstraints = function (dTime) {
var v2;
var v3 = this.c_array.length;
v2 = 0;
for (;;) {
if (v2 >= v3) {
return undefined;
}
this.c_array[v2].resolve();
++v2;
}
};
v2.process = function () {
var v4 = getTimer();
var v5 = (v4 - this.prevTime) / 1000;
this.prevTime = v4;
var v2;
var v3 = Math.min(Math.round(v5 / this.t), this.maxSteps);
var v6;
v2 = 0;
for (;;) {
if (v2 >= v3) {
return undefined;
}
this.computeForces();
this.applyManFrictions();
this.verlet(this.t);
this.checkConstraints(this.t);
this.checkCollisions();
this.clearForces();
++v2;
}
};
v2.p_array = new Array();
v2.w_array = new Array();
v2.c_array = new Array();
v2.t = 0.02;
v2.maxSteps = 2;
v1.gravity = 3.15;
v2.stopWheels = false;
ASSetPropFlags(_global.CParticleEngine.prototype, null, 1);
}
#endinitclip
}
movieClip 275 __Packages.CSpringConstraint {
#initclip
if (!_global.CSpringConstraint) {
var v1 = function (p1_, p2_, koeffStiffPress_, koeffStiffStretch_) {
this.p1 = p1_;
this.p2 = p2_;
this.koeffStiffPress = koeffStiffPress_;
this.koeffStiffStretch = koeffStiffStretch_;
var v2 = new CVector2D(this.p1.pos.x - this.p2.pos.x, this.p1.pos.y - this.p2.pos.y);
this.relaxLen = v2.modul();
this.basicParticleNum = CSpringConstraint.BASIC_PARTICLE_NONE;
this.basicParticleWeight = 1;
};
_global.CSpringConstraint = v1;
var v2 = v1.prototype;
v2.setBasicParticleNum = function (basicParticleNum_) {
this.basicParticleNum = basicParticleNum_;
};
v2.setBasicParticleWeight = function (basicParticleWeight_) {
this.basicParticleWeight = basicParticleWeight_;
};
v2.resolve = function () {
var v3 = new CVector2D(this.p1.pos.x - this.p2.pos.x, this.p1.pos.y - this.p2.pos.y);
var v6 = v3.modul();
var v5 = (v6 - this.relaxLen) / v6;
var v4;
if (v6 > this.relaxLen) {
v4 = this.koeffStiffStretch;
} else {
v4 = this.koeffStiffPress;
}
var v2;
if (this.basicParticleNum == CSpringConstraint.BASIC_PARTICLE_NONE) {
v2 = v5 * v4 / (this.p1.mass + this.p2.mass);
this.p1.pos.x -= v3.x * this.p1.mass * v2;
this.p1.pos.y -= v3.y * this.p1.mass * v2;
this.p2.pos.x += v3.x * this.p2.mass * v2;
this.p2.pos.y += v3.y * this.p2.mass * v2;
return undefined;
}
if (this.basicParticleNum == 1) {
v2 = v5 * v4 / (this.p1.mass + this.p2.mass);
v2 = v5 * v4;
this.p1.pos.x -= v3.x * v2 * (1 - this.basicParticleWeight);
this.p1.pos.y -= v3.y * v2 * (1 - this.basicParticleWeight);
this.p2.pos.x += v3.x * v2 * this.basicParticleWeight;
this.p2.pos.y += v3.y * v2 * this.basicParticleWeight;
return undefined;
}
v2 = v5 * v4 / (this.p1.mass + this.p2.mass);
v2 = v5 * v4;
this.p1.pos.x += v3.x * v2 * this.basicParticleWeight;
this.p1.pos.y += v3.y * v2 * this.basicParticleWeight;
this.p2.pos.x += v3.x * v2 * (1 - this.basicParticleWeight);
this.p2.pos.y += v3.y * v2 * (1 - this.basicParticleWeight);
};
v1.BASIC_PARTICLE_NONE = 0;
ASSetPropFlags(_global.CSpringConstraint.prototype, null, 1);
}
#endinitclip
}
movieClip 276 __Packages.CPenetrationConstraint {
#initclip
if (!_global.CPenetrationConstraint) {
var v1 = function (p0_, p1_, p2_) {
this.p0 = p0_;
this.p1 = p1_;
this.p2 = p2_;
this.sign = this.p0.pos.getDistanceTo(this.p1.pos, this.p2.pos);
if (this.sign < 0) {
this.sign = -1;
return undefined;
}
this.sign = 1;
};
_global.CPenetrationConstraint = v1;
var v2 = v1.prototype;
v2.resolve = function () {
var v3;
var v2;
v3 = this.p0.pos.getDistanceTo(this.p1.pos, this.p2.pos);
if (this.sign * v3 <= 2) {
v2 = new CVector2D(this.p2.pos.x, this.p2.pos.y);
v2.minus(this.p1.pos);
v2.normalize();
v2.rotate(1.57079632679 * this.sign);
v2.mult(Math.abs(v3) + 1);
this.p1.pos.minus(v2);
}
};
ASSetPropFlags(_global.CPenetrationConstraint.prototype, null, 1);
}
#endinitclip
}
movieClip 277 __Packages.CPenetrationConstraint2 {
#initclip
if (!_global.CPenetrationConstraint2) {
var v1 = function (p0_, p1_, p2_) {
this.p0 = p0_;
this.p1 = p1_;
this.p2 = p2_;
this.sign = this.p0.pos.getDistanceTo(this.p1.pos, this.p2.pos);
if (this.sign < 0) {
this.sign = -1;
return undefined;
}
this.sign = 1;
};
_global.CPenetrationConstraint2 = v1;
var v2 = v1.prototype;
v2.resolve = function () {
var v3;
var v2;
v3 = this.p0.pos.getDistanceTo(this.p1.pos, this.p2.pos);
if (this.sign * v3 <= 2) {
v2 = new CVector2D(this.p2.pos.x, this.p2.pos.y);
v2.minus(this.p1.pos);
v2.normalize();
v2.rotate(1.57079632679 * this.sign);
v2.mult(Math.abs(v3) + 1);
this.p0.pos.plus(v2);
}
};
ASSetPropFlags(_global.CPenetrationConstraint2.prototype, null, 1);
}
#endinitclip
}
movieClip 278 __Packages.CBikeParams {
#initclip
if (!_global.CBikeParams) {
var v1 = function (controlAccPercBase_, controlAccPercMult_, koeffStability_, bodyLibName_, bodyDepth_, backWheelLibName_, backWheelDepth_, backWheelKoeffSlip_, backWheelKoeffConcatenation_, backWheelKoeffSpring_, backWheelPMass_, backWheelPMaxSpeed_, backWheelPRadius_, backWheelPAcc_, forwardWheelLibName_, forwardWheelDepth_, forwardWheelKoeffSlip_, forwardWheelKoeffConcatenation_, forwardWheelKoeffSpring_, forwardWheelPMass_, forwardWheelPMaxSpeed_, forwardWheelPRadius_, forwardWheelPAcc_, pLD_mass_, pRD_mass_, pC_mass_, triangleSprings_, downSpringParams_, upSpringParams_, diagonalSpringParams_, rightSpringParams_, leftSpringParams_) {
this.controlAccPercBase = controlAccPercBase_;
this.controlAccPercMult = controlAccPercMult_;
this.koeffStability = koeffStability_;
this.bodyLibName = bodyLibName_;
this.bodyDepth = bodyDepth_;
this.backWheelLibName = backWheelLibName_;
this.backWheelDepth = backWheelDepth_;
this.backWheelKoeffSlip = backWheelKoeffSlip_;
this.backWheelKoeffConcatenation = backWheelKoeffConcatenation_;
this.backWheelKoeffSpring = backWheelKoeffSpring_;
this.backWheelPMass = backWheelPMass_;
this.backWheelPMaxSpeed = backWheelPMaxSpeed_;
this.backWheelPRadius = backWheelPRadius_;
this.backWheelPAcc = backWheelPAcc_;
this.forwardWheelLibName = forwardWheelLibName_;
this.forwardWheelDepth = forwardWheelDepth_;
this.forwardWheelKoeffSlip = forwardWheelKoeffSlip_;
this.forwardWheelKoeffConcatenation = forwardWheelKoeffConcatenation_;
this.forwardWheelKoeffSpring = forwardWheelKoeffSpring_;
this.forwardWheelPMass = forwardWheelPMass_;
this.forwardWheelPMaxSpeed = forwardWheelPMaxSpeed_;
this.forwardWheelPRadius = forwardWheelPRadius_;
this.forwardWheelPAcc = forwardWheelPAcc_;
this.pLD_mass = pLD_mass_;
this.pRD_mass = pRD_mass_;
this.pC_mass = pC_mass_;
this.triangleSprings = triangleSprings_;
this.downSpringParams = downSpringParams_;
this.upSpringParams = upSpringParams_;
this.diagonalSpringParams = diagonalSpringParams_;
this.rightSpringParams = rightSpringParams_;
this.leftSpringParams = leftSpringParams_;
};
_global.CBikeParams = v1;
var v2 = v1.prototype;
ASSetPropFlags(_global.CBikeParams.prototype, null, 1);
}
#endinitclip
}
movieClip 279 __Packages.CSpringParams {
#initclip
if (!_global.CSpringParams) {
var v1 = function (koeffStretch_, koeffPress_, basicParticleNum_, basicParticleWeight_) {
this.koeffStretch = koeffStretch_;
this.koeffPress = koeffPress_;
this.basicParticleNum = basicParticleNum_;
this.basicParticleWeight = basicParticleWeight_;
};
_global.CSpringParams = v1;
var v2 = v1.prototype;
ASSetPropFlags(_global.CSpringParams.prototype, null, 1);
}
#endinitclip
}
movieClip 280 __Packages.CCarSynchronizer {
#initclip
if (!_global.CCarSynchronizer) {
var v1 = function () {
this.koeffSpring = 0.5;
};
_global.CCarSynchronizer = v1;
var v2 = v1.prototype;
v2.setHealthIndicator = function (healthIndicator_) {
this.healthIndicator = healthIndicator_;
this.healthIndicator.setMaxValue(CCarSynchronizer.MAX_HEALTH);
};
v2.setBikeNum = function (bikeNum_) {
this.bikeNum = bikeNum_;
};
v2.init = function (mc_container, sX, sY, engine, bikeParams) {
var v3 = {'x': 0, 'y': 0};
var v2;
var v5;
this.mc_back_wheel = CWheel(mc_container.attachMovie(bikeParams.backWheelLibName, 'back_w', bikeParams.backWheelDepth));
this.mc_forward_wheel = CWheel(mc_container.attachMovie(bikeParams.forwardWheelLibName, 'forward_w', bikeParams.forwardWheelDepth));
this.mc_car = mc_container.attachMovie(bikeParams.bodyLibName, 'body', bikeParams.bodyDepth);
if (bikeParams.triangleSprings) {
this.mc_back_dark = mc_container.attachMovie('lib_dark_wheel', 'wdb1', 0);
this.mc_forward_dark = mc_container.attachMovie('lib_dark_wheel', 'wdb2', 1);
}
this.mc_car._x = sX;
this.mc_car._y = sY;
v3.x = this.mc_car.mc.mc_p_wl._x;
v3.y = this.mc_car.mc.mc_p_wl._y;
this.mc_car.mc.localToGlobal(v3);
this.mc_car._parent.globalToLocal(v3);
this.mc_back_wheel._x = v3.x;
this.mc_back_wheel._y = v3.y;
this.mc_back_wheel.setKoeffSlip(bikeParams.backWheelKoeffSlip);
this.mc_back_wheel.setKoeffConcatenation(bikeParams.backWheelKoeffConcatenation);
this.mc_back_wheel.setKoeffSpring(bikeParams.backWheelKoeffSpring);
this.p_wl = new CParticle(v3.x, v3.y, bikeParams.backWheelPMass);
engine.addParticle(this.p_wl);
engine.addWheel(this.mc_back_wheel, this.p_wl, bikeParams.backWheelPMaxSpeed, bikeParams.backWheelPRadius);
v3.x = this.mc_car.mc.mc_p_wr._x;
v3.y = this.mc_car.mc.mc_p_wr._y;
this.mc_car.mc.localToGlobal(v3);
this.mc_car._parent.globalToLocal(v3);
this.mc_forward_wheel._x = v3.x;
this.mc_forward_wheel._y = v3.y;
this.mc_forward_wheel.setKoeffSlip(bikeParams.forwardWheelKoeffSlip);
this.mc_forward_wheel.setKoeffConcatenation(bikeParams.forwardWheelKoeffConcatenation);
this.mc_forward_wheel.setKoeffSpring(bikeParams.forwardWheelKoeffSpring);
this.p_wr = new CParticle(v3.x, v3.y, bikeParams.forwardWheelPMass);
engine.addParticle(this.p_wr);
engine.addWheel(this.mc_forward_wheel, this.p_wr, bikeParams.forwardWheelPMaxSpeed, bikeParams.forwardWheelPRadius);
if (bikeParams.triangleSprings) {
v3.x = this.mc_car.mc.mc_p_c._x;
v3.y = this.mc_car.mc.mc_p_c._y;
this.mc_car.mc.localToGlobal(v3);
this.mc_car._parent.globalToLocal(v3);
this.p_c = new CParticle(v3.x, v3.y, bikeParams.pC_mass);
engine.addParticle(this.p_c);
v2 = bikeParams.downSpringParams;
v5 = engine.addSpringConstraint(this.p_wr, this.p_wl, v2.koeffPress, v2.koeffStretch);
v5.setBasicParticleNum(v2.basicParticleNum);
v5.setBasicParticleWeight(v2.basicParticleWeight);
v2 = bikeParams.rightSpringParams;
v5 = engine.addSpringConstraint(this.p_wr, this.p_c, v2.koeffPress, v2.koeffStretch);
v5.setBasicParticleNum(v2.basicParticleNum);
v5.setBasicParticleWeight(v2.basicParticleWeight);
v2 = bikeParams.leftSpringParams;
v5 = engine.addSpringConstraint(this.p_wl, this.p_c, v2.koeffPress, v2.koeffStretch);
v5.setBasicParticleNum(v2.basicParticleNum);
v5.setBasicParticleWeight(v2.basicParticleWeight);
engine.addPenetrationConstraint2(this.p_c, this.p_wr, this.p_wl);
this.mc_back_dark._x = this.mc_back_wheel._x + CCarSynchronizer.DARK_DX;
this.mc_back_dark._y = this.mc_back_wheel._y + CCarSynchronizer.DARK_DY;
this.mc_back_dark._rotation = this.mc_back_wheel.mc.mc_rim._rotation;
this.mc_forward_dark._x = this.mc_forward_wheel._x + CCarSynchronizer.DARK_DX;
this.mc_forward_dark._y = this.mc_forward_wheel._y + CCarSynchronizer.DARK_DY;
this.mc_forward_dark._rotation = this.mc_forward_wheel.mc.mc_rim._rotation;
} else {
v3.x = this.mc_car.mc.mc_p_ld._x;
v3.y = this.mc_car.mc.mc_p_ld._y;
this.mc_car.mc.localToGlobal(v3);
this.mc_car._parent.globalToLocal(v3);
this.p_ld = new CParticle(v3.x, v3.y, bikeParams.pLD_mass);
engine.addParticle(this.p_ld);
v3.x = this.mc_car.mc.mc_p_rd._x;
v3.y = this.mc_car.mc.mc_p_rd._y;
this.mc_car.mc.localToGlobal(v3);
this.mc_car._parent.globalToLocal(v3);
this.p_rd = new CParticle(v3.x, v3.y, bikeParams.pRD_mass);
engine.addParticle(this.p_rd);
v2 = bikeParams.downSpringParams;
v5 = engine.addSpringConstraint(this.p_wr, this.p_wl, v2.koeffPress, v2.koeffStretch);
v5.setBasicParticleNum(v2.basicParticleNum);
v5.setBasicParticleWeight(v2.basicParticleWeight);
v2 = bikeParams.upSpringParams;
v5 = engine.addSpringConstraint(this.p_ld, this.p_rd, v2.koeffPress, v2.koeffStretch);
v5.setBasicParticleNum(v2.basicParticleNum);
v5.setBasicParticleWeight(v2.basicParticleWeight);
v2 = bikeParams.diagonalSpringParams;
v5 = engine.addSpringConstraint(this.p_wr, this.p_ld, v2.koeffPress, v2.koeffStretch);
v5.setBasicParticleNum(v2.basicParticleNum);
v5.setBasicParticleWeight(v2.basicParticleWeight);
v5 = engine.addSpringConstraint(this.p_wl, this.p_rd, v2.koeffPress, v2.koeffStretch);
v5.setBasicParticleNum(v2.basicParticleNum);
v5.setBasicParticleWeight(v2.basicParticleWeight);
v2 = bikeParams.rightSpringParams;
v5 = engine.addSpringConstraint(this.p_wr, this.p_rd, v2.koeffPress, v2.koeffStretch);
v5.setBasicParticleNum(v2.basicParticleNum);
v5.setBasicParticleWeight(v2.basicParticleWeight);
v2 = bikeParams.leftSpringParams;
v5 = engine.addSpringConstraint(this.p_wl, this.p_ld, v2.koeffPress, v2.koeffStretch);
v5.setBasicParticleNum(v2.basicParticleNum);
v5.setBasicParticleWeight(v2.basicParticleWeight);
engine.addPenetrationConstraint(this.p_wr, this.p_rd, this.p_ld);
engine.addPenetrationConstraint(this.p_wl, this.p_ld, this.p_rd);
}
this.state = CCarSynchronizer.ST_GO;
};
v2.init_atv1 = function (mc_container, sX, sY, engine) {
this.init(mc_container, sX, sY, engine, CCarSynchronizer.atv1Params);
};
v2.init_bike1 = function (mc_container, sX, sY, engine) {
this.init(mc_container, sX, sY, engine, CCarSynchronizer.moto1Params);
};
v2.init_atv2 = function (mc_container, sX, sY, engine) {
this.init(mc_container, sX, sY, engine, CCarSynchronizer.atv2Params);
};
v2.init_bike2 = function (mc_container, sX, sY, engine) {
this.init(mc_container, sX, sY, engine, CCarSynchronizer.moto2Params);
};
v2.process = function () {
if (this.state == CCarSynchronizer.ST_GO) {
if (CCarSynchronizer.bikeParamsArray[this.bikeNum - 1].triangleSprings) {
var v3;
var v4;
__reg3 = undefined;
v3 = new CVector2D(this.p_wr.pos.x - this.p_c.pos.x, this.p_wr.pos.y - this.p_c.pos.y);
v3.normalize();
v4 = new CVector2D(this.p_wl.pos.x - this.p_c.pos.x, this.p_wl.pos.y - this.p_c.pos.y);
v4.normalize();
this.mc_car._rotation = Math.atan2(v3.y + v4.y, v3.x + v4.x) * 180 / Math.PI - 90;
__reg3 = new CVector2D(this.mc_car.mc.mc_p_c._x, this.mc_car.mc.mc_p_c._y);
this.mc_car.mc.localToGlobal(__reg3);
this.mc_car._parent.globalToLocal(__reg3);
this.mc_car._x += this.p_c.pos.x - __reg3.x;
this.mc_car._y += this.p_c.pos.y - __reg3.y;
} else {
var v5;
var v2;
v5 = new CVector2D(this.p_rd.pos.x - this.p_ld.pos.x, this.p_rd.pos.y - this.p_ld.pos.y);
this.mc_car._rotation = Math.atan2(v5.y, v5.x) * 180 / Math.PI;
var __reg3 = new CVector2D(this.mc_car.mc.mc_p_ld._x, this.mc_car.mc.mc_p_ld._y);
v2 = new CVector2D(this.mc_car.mc.mc_p_rd._x, this.mc_car.mc.mc_p_rd._y);
this.mc_car.mc.localToGlobal(__reg3);
this.mc_car._parent.globalToLocal(__reg3);
this.mc_car.mc.localToGlobal(v2);
this.mc_car._parent.globalToLocal(v2);
this.mc_car._x += (this.p_ld.pos.x - __reg3.x + this.p_rd.pos.x - v2.x) / 2;
this.mc_car._y += (this.p_ld.pos.y - __reg3.y + this.p_rd.pos.y - v2.y) / 2;
__reg3.x = this.mc_back_wheel._x;
__reg3.y = this.mc_back_wheel._y;
this.mc_back_wheel._parent.localToGlobal(__reg3);
this.mc_car.mc.globalToLocal(__reg3);
v2.x = this.mc_forward_wheel._x;
v2.y = this.mc_forward_wheel._y;
this.mc_forward_wheel._parent.localToGlobal(v2);
this.mc_car.mc.globalToLocal(v2);
this.mc_car.mc.mc_s_lu._rotation = Math.atan2(__reg3.y + 1.2 - this.mc_car.mc.mc_s_lu._y, __reg3.x - this.mc_car.mc.mc_s_lu._x) * 180 / Math.PI;
this.mc_car.mc.mc_s_ld._rotation = this.mc_car.mc.mc_s_lu._rotation;
this.mc_car.mc.mc_s_ru._rotation = Math.atan2(v2.y + 1.2 - this.mc_car.mc.mc_s_ru._y, v2.x - this.mc_car.mc.mc_s_ru._x) * 180 / Math.PI;
this.mc_car.mc.mc_s_rd._rotation = this.mc_car.mc.mc_s_ru._rotation;
}
this.checkAddSmoke();
if (this.bikeNum == CCarSynchronizer.BIKE_ATV1 || this.bikeNum == CCarSynchronizer.BIKE_ATV2) {
this.mc_forward_wheel.mc.mc_rim2._rotation = this.mc_forward_wheel.mc.mc_rim._rotation;
this.mc_back_wheel.mc.mc_rim2._rotation = this.mc_back_wheel.mc.mc_rim._rotation;
this.mc_back_dark._x = this.mc_back_wheel._x + CCarSynchronizer.DARK_DX;
this.mc_back_dark._y = this.mc_back_wheel._y + CCarSynchronizer.DARK_DY;
this.mc_back_dark._rotation = this.mc_back_wheel.mc.mc_rim._rotation;
this.mc_forward_dark._x = this.mc_forward_wheel._x + CCarSynchronizer.DARK_DX;
this.mc_forward_dark._y = this.mc_forward_wheel._y + CCarSynchronizer.DARK_DY;
this.mc_forward_dark._rotation = this.mc_forward_wheel.mc.mc_rim._rotation;
} else {
this.updateBikeSprings();
}
return undefined;
}
if (this.state == CCarSynchronizer.ST_CRUSH) {
}
};
v2.updateBikeSprings = function () {
var v2;
var v3;
var v4;
v3 = new CVector2D(this.mc_car.mc.mc_back_spring._x, this.mc_car.mc.mc_back_spring._y);
this.mc_car.mc.localToGlobal(v3);
this.mc_car._parent.globalToLocal(v3);
v2 = new CVector2D(this.mc_car.mc.mc_back_spring.mc_dir._x, this.mc_car.mc.mc_back_spring.mc_dir._y);
this.mc_car.mc.mc_back_spring.localToGlobal(v2);
this.mc_car._parent.globalToLocal(v2);
v4 = new CVector2D(this.mc_back_wheel._x - v3.x, this.mc_back_wheel._y - v3.y);
v2.minus(v3);
this.mc_car.mc.mc_back_spring._rotation += (Math.atan2(v4.y, v4.x) - Math.atan2(v2.y, v2.x)) * 180 / Math.PI;
};
v2.checkAddSmoke = function () {};
v2.toCrush = function (engine) {
var v2 = new CVector2D(0, 0);
this.mc_car.gotoAndPlay('crush');
this.mc_car.mc.gotoAndStop(2);
engine.clearConstraints();
engine.stopWheels = true;
v2.reinit(this.mc_forward_wheel._x - this.mc_car._x, this.mc_forward_wheel._y - this.mc_car._y);
v2.normalize();
this.mc_forward_wheel.turnTo(v2, 10);
v2.reinit(this.mc_back_wheel._x - this.mc_car._x, this.mc_back_wheel._y - this.mc_car._y);
v2.normalize();
this.mc_back_wheel.turnTo(v2, 10);
this.state = CCarSynchronizer.ST_CRUSH;
};
v2.isCrushed = function () {
return this.state == CCarSynchronizer.ST_CRUSH;
};
v2.isFullCrushed = function () {
return false;
};
v2.checkHitWithGround = function (levelHit) {
var v2 = {'x': 0, 'y': 0};
var v3;
v3 = this.mc_car.mc.mc_man.mc.h;
v2.x = v3.mc_hit._x;
v2.y = v3.mc_hit._y;
v3.localToGlobal(v2);
if (levelHit.hitTest(v2.x, v2.y, true)) {
return true;
}
v3 = this.mc_car.mc.mc_man.mc.b;
v2.x = v3.mc_hit._x;
v2.y = v3.mc_hit._y;
v3.localToGlobal(v2);
if (levelHit.hitTest(v2.x, v2.y, true)) {
return true;
}
v3 = this.mc_car.mc.mc_man.mc.l;
v2.x = v3.mc_hit._x;
v2.y = v3.mc_hit._y;
v3.localToGlobal(v2);
if (levelHit.hitTest(v2.x, v2.y, true)) {
return true;
}
return false;
};
v2.stopManAnim = function () {
this.mc_car.mc.mc_man.stopAnim();
};
v2.startManAnim = function () {
this.mc_car.mc.mc_man.startAnim();
};
v2.stopManAnimFull = function () {
this.mc_car.mc.mc_man.stopAnim();
this.mc_car.mc.mc_man.stopMCAnim();
};
v2.toLeft = function () {
var v2;
var v3 = this.calcCarNVector();
var v5;
var v6;
var v4;
v4 = CCarSynchronizer.bikeParamsArray[this.bikeNum - 1];
v5 = v4.controlAccPercBase;
v6 = v4.controlAccPercMult;
v2 = Math.abs(v3.y) * (1 - v5) + v5;
v2 *= v6;
if (v3.y > v4.koeffStability) {
this.mc_forward_wheel.addedAcc.x -= v3.x * CParticleEngine.gravity * v2 * 0.7;
this.mc_forward_wheel.addedAcc.y -= v3.y * CParticleEngine.gravity * v2 * 0.7;
if (this.mc_back_wheel.hasIntersection()) {
return undefined;
}
this.mc_back_wheel.addedAcc.x += v3.x * CParticleEngine.gravity * v2 * 1.3;
this.mc_back_wheel.addedAcc.y += v3.y * CParticleEngine.gravity * v2 * 1.3;
}
};
v2.toRight = function () {
var v2;
var v3 = this.calcCarNVector();
var v5;
var v6;
var v4;
v4 = CCarSynchronizer.bikeParamsArray[this.bikeNum - 1];
v5 = v4.controlAccPercBase;
v6 = v4.controlAccPercMult;
v2 = Math.abs(v3.y) * (1 - v5) + v5;
v2 *= v6;
if (v3.y > v4.koeffStability) {
if (!this.mc_forward_wheel.hasIntersection()) {
this.mc_forward_wheel.addedAcc.x += v3.x * CParticleEngine.gravity * v2 * 1.3;
this.mc_forward_wheel.addedAcc.y += v3.y * CParticleEngine.gravity * v2 * 1.3;
}
this.mc_back_wheel.addedAcc.x -= v3.x * CParticleEngine.gravity * v2 * 0.7;
this.mc_back_wheel.addedAcc.y -= v3.y * CParticleEngine.gravity * v2 * 0.7;
}
};
v2.calcCarNVector = function () {
var v2;
v2 = this.mc_forward_wheel.particle.pos.minusNew(this.mc_back_wheel.particle.pos);
v2.normalize();
var v3;
v3 = v2.x;
v2.x = -v2.y;
v2.y = v3;
return v2;
};
v1.BUTTON_LEFT = 37;
v1.BUTTON_RIGHT = 39;
v1.BUTTON_UP = 38;
v1.BUTTON_DOWN = 40;
v1.DARK_DX = -3;
v1.DARK_DY = -1;
v1.MAX_HEALTH = 100;
v1.ST_GO = 1;
v1.ST_CRUSH = 2;
v1.FRAMES_BETWEEN_SMOKE = 2;
v1.BIKE_MOTO1 = 1;
v1.BIKE_ATV1 = 2;
v1.BIKE_MOTO2 = 3;
v1.BIKE_ATV2 = 4;
v1.moto1Params = new CBikeParams(0.6, 3.3, -0.4, 'lib_bike_body1', 13, 'lib_wheel1', 12, 0.4, 0, 0.03, 4, 28.5, 17, 0, 'lib_wheel_forward1', 11, 0.4, 0, 0.03, 4, 28.5, 17, 0, 3, 3, 0, false, new CSpringParams(0.4, 0.4, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(1, 1, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(0.5, 0.5, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(0.2, 0.4, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(0.2, 0.4, CSpringConstraint.BASIC_PARTICLE_NONE, 0));
v1.atv1Params = new CBikeParams(0.6, 1.9, -0.1, 'lib_bike_body2', 11, 'lib_wheel2', 12, 0, 0.4, 0, 4, 13, 16, 0, 'lib_wheel2', 13, 0, 0.3, 0, 4, 13, 16, 0, 0, 0, 2, true, new CSpringParams(0.9, 0.9, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(0, 0, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(0, 0, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(0.4, 0.5, 1, 0.8), new CSpringParams(0.4, 0.5, 1, 0.8));
v1.moto2Params = new CBikeParams(0.6, 3.8, -0.4, 'lib_bike_body3', 13, 'lib_wheel3', 12, 0.4, 0, 0.03, 3.5, 20.9, 17, 0, 'lib_wheel_forward3', 11, 0.4, 0, 0.03, 3.5, 20.9, 17, 0, 3, 3, 0, false, new CSpringParams(0.4, 0.4, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(1, 1, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(0.5, 0.5, 1, 0.75), new CSpringParams(0.2, 0.4, 1, 0.6), new CSpringParams(0.2, 0.4, 1, 0.6));
v1.atv2Params = new CBikeParams(0.6, 2, -0.15, 'lib_bike_body4', 11, 'lib_wheel4', 12, 0, 0.5, 0, 4, 14.5, 16, 0, 'lib_wheel4', 13, 0, 0.4, 0, 4, 14.5, 16, 0, 0, 0, 2, true, new CSpringParams(0.9, 0.9, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(0, 0, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(0, 0, CSpringConstraint.BASIC_PARTICLE_NONE, 0), new CSpringParams(0.4, 0.5, 1, 0.8), new CSpringParams(0.4, 0.5, 1, 0.8));
v1.bikeParamsArray = [CCarSynchronizer.moto1Params, CCarSynchronizer.atv1Params, CCarSynchronizer.moto2Params, CCarSynchronizer.atv2Params];
ASSetPropFlags(_global.CCarSynchronizer.prototype, null, 1);
}
#endinitclip
}
movieClip 281 __Packages.CParticle {
#initclip
if (!_global.CParticle) {
var v1 = function (x_, y_, mass_) {
this.pos = new CVector2D(x_, y_);
this.prevPos = this.pos.duplicate();
this.mass = mass_;
this.acc = new CVector2D(0, 0);
this.mc = null;
};
_global.CParticle = v1;
var v2 = v1.prototype;
v2.verlet = function (dTime, koeffDamp) {
var v2 = this.pos.duplicate();
this.pos.x += (this.pos.x - this.prevPos.x) * koeffDamp + this.acc.x * dTime;
this.pos.y += (this.pos.y - this.prevPos.y) * koeffDamp + this.acc.y * dTime;
v2.copyTo(this.prevPos);
if (this.mc != null) {
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
}
};
v2.getVelocityVector = function () {
return new CVector2D(this.pos.x - this.prevPos.x, this.pos.y - this.prevPos.y);
};
ASSetPropFlags(_global.CParticle.prototype, null, 1);
}
#endinitclip
}
movieClip 282 __Packages.CGP {
#initclip
if (!_global.CGP) {
var v1 = function () {};
_global.CGP = v1;
var v2 = v1.prototype;
v1.createSounds = function () {
var v1;
var v3 = CGP.soundsArray.length;
var v2;
v1 = 0;
for (;;) {
if (v1 >= v3) {
return undefined;
}
v2 = CGP.mc_root.mc_sounds.createEmptyMovieClip(CGP.soundsArray[v1].name, v1);
v2.sound = new Sound(v2);
v2.sound.attachSound(CGP.soundsArray[v1].name);
++v1;
}
};
v1.playSound = function (id, vol) {
CGP.soundsArray[id].go = true;
CGP.soundsArray[id].vol = vol;
};
v1.processSounds = function () {
var v1;
var v3 = CGP.soundsArray.length;
var v4 = -1;
var v2 = 10;
v1 = 0;
while (v1 < v3) {
if (CGP.soundsArray[v1].go) {
if (CGP.soundsArray[v1].vol > v2) {
CGP.realPlaySound(v1);
break;
}
}
++v1;
}
CGP.resetSounds();
};
v1.resetSounds = function () {
var v1;
var v2 = CGP.soundsArray.length;
v1 = 0;
for (;;) {
if (v1 >= v2) {
return undefined;
}
CGP.soundsArray[v1].go = false;
++v1;
}
};
v1.realPlaySound = function (id) {
var v1 = CGP.soundsArray[id].name;
if (CGP.mc_root.stopSoundFlag) {
return undefined;
}
CGP.mc_root.mc_sounds[v1].sound.setVolume(CGP.soundsArray[id].vol);
CGP.mc_root.mc_sounds[v1].sound.start(0, 0);
};
v1.init = function () {
CGP.uid = 0;
CGP.objectsCounter = 0;
CGP.createSounds();
};
v1.getUID = function () {
++CGP.uid;
return CGP.uid;
};
v1.setLevelTasks = function () {
CGP.curLevelTask = CGP.levelTasks[CGP.level - 1][CGP.IDX_TASK];
CGP.curLevelTaskTime = CGP.levelTasks[CGP.level - 1][CGP.IDX_TASK_TIME];
CGP.curLevelTaskValue = CGP.levelTasks[CGP.level - 1][CGP.IDX_TASK_VALUE];
CGP.curLevelDistance = CGP.mc_level.mc.mc_finish._x - CGP.mc_level.mc.mc_start._x;
CGP.crushCount = 0;
CGP.crumpleCount = 0;
CGP.redBonusesCount = 0;
CGP.greenBonusesCount = 0;
CGP.firstFinishTruck = CGP.FIRST_NONE;
};
v1.updateLevelProgress = function () {
__reg0 = CGP.curLevelTask;
if (__reg0 !== CGP.TASK_DRIVE_LEVEL) {
if (__reg0 !== CGP.TASK_DRIVE_FOR_TIME) {
if (__reg0 === CGP.TASK_CRUSH) {
CGP.mc_panel.txtCars.text = CGP.crushCount + '/' + CGP.curLevelTaskValue;
if (CGP.crushCount < CGP.curLevelTaskValue) {
CGP.mc_panel.txtCars.textColor = 16777215;
} else {
CGP.mc_panel.txtCars.textColor = 65280;
}
} else {
if (__reg0 === CGP.TASK_GET_BONUSES) {
CGP.mc_panel.txtBonuses.text = CGP.greenBonusesCount - CGP.redBonusesCount + '/' + CGP.curLevelTaskValue;
if (CGP.greenBonusesCount - CGP.redBonusesCount < CGP.curLevelTaskValue) {
CGP.mc_panel.txtBonuses.textColor = 16777215;
} else {
CGP.mc_panel.txtBonuses.textColor = 65280;
}
} else {
__reg0 === CGP.TASK_OVERTAKE_ENEMY;
}
}
}
}
CGP.mc_progressInd.setPercent(100 * (CGP.carSync.mc_car._x - CGP.mc_level.mc.mc_start._x) / CGP.curLevelDistance);
};
v1.isHitWithCar = function (mc) {
var v1;
if (Math.abs(CGP.carSync.mc_car._x - mc._x) > CGP.CAR_HIT_RADIUS) {
return false;
}
v1 = {'x': mc._x, 'y': mc._y};
mc._parent.localToGlobal(v1);
return CGP.carSync.mc_car.mc.mc_hit.hitTest(v1.x, v1.y, true);
};
v1.CAR_HIT_RADIUS = 110;
v1.TASK_DRIVE_LEVEL = 1;
v1.TASK_DRIVE_FOR_TIME = 2;
v1.TASK_CRUSH = 3;
v1.TASK_GET_BONUSES = 4;
v1.TASK_OVERTAKE_ENEMY = 5;
v1.MAX_LEVEL_NUM = 8;
v1.UNLOCK_LEVEL_BIKE = 9;
v1.UNLOCK_LEVEL_ATV = 12;
v1.levelTasks = [[CGP.TASK_DRIVE_LEVEL, 0, 0], [CGP.TASK_DRIVE_FOR_TIME, 60000, 0], [CGP.TASK_CRUSH, 120000, 15], [CGP.TASK_GET_BONUSES, 120000, 15], [CGP.TASK_DRIVE_FOR_TIME, 60000, 0], [CGP.TASK_OVERTAKE_ENEMY, 0, 0]];
v1.IDX_TASK = 0;
v1.IDX_TASK_TIME = 1;
v1.IDX_TASK_VALUE = 2;
v1.FIRST_NONE = 1;
v1.FIRST_PLAYER = 2;
v1.FIRST_COMPUTER = 3;
v1.scrTime = 400;
v1.soundsArray = [{'name': 'snd_expl', 'vol': 100, 'go': false}, {'name': 'snd_crush', 'vol': 100, 'go': false}, {'name': 'snd_crush_small', 'vol': 100, 'go': false}, {'name': 'snd_expl_small', 'vol': 100, 'go': false}, {'name': 'snd_bonus_repair', 'vol': 100, 'go': false}, {'name': 'snd_bonus_green', 'vol': 100, 'go': false}, {'name': 'snd_bonus_red', 'vol': 100, 'go': false}];
v1.snd_expl = 0;
v1.snd_crush = 1;
v1.snd_crush_small = 2;
v1.snd_expl_small = 3;
v1.snd_bonus_repair = 4;
v1.snd_bonus_green = 5;
v1.snd_bonus_red = 6;
ASSetPropFlags(_global.CGP.prototype, null, 1);
}
#endinitclip
}
movieClip 283 __Packages.CCamera {
#initclip
if (!_global.CCamera) {
var v1 = function () {};
_global.CCamera = v1;
var v2 = v1.prototype;
v2.init = function (targetMovie_, levelMovie_) {
this.targetMovie = targetMovie_;
this.levelMovie = levelMovie_;
this.process();
};
v2.process = function () {
var v2 = {'x': this.targetMovie._x + 40, 'y': this.targetMovie._y};
this.targetMovie._parent.localToGlobal(v2);
this.levelMovie._parent.globalToLocal(v2);
this.levelMovie._x += CCamera.SCREEN_WIDTH2 - v2.x;
this.levelMovie._y += CCamera.SCREEN_HEIGHT2 - v2.y;
this.levelMovie._x = Math.round(this.levelMovie._x);
this.levelMovie._y = Math.round(this.levelMovie._y);
if (this.levelMovie._x > 0) {
this.levelMovie._x = 0;
} else {
if (this.levelMovie._x + this.levelMovie._width < CCamera.SCREEN_WIDTH) {
this.levelMovie._x = CCamera.SCREEN_WIDTH - this.levelMovie._width;
}
}
if (this.levelMovie._y < 0) {
this.levelMovie._y = 0;
}
};
v1.SCREEN_WIDTH = 700;
v1.SCREEN_HEIGHT = 500;
v1.SCREEN_WIDTH2 = CCamera.SCREEN_WIDTH / 2;
v1.SCREEN_HEIGHT2 = CCamera.SCREEN_HEIGHT / 2;
ASSetPropFlags(_global.CCamera.prototype, null, 1);
}
#endinitclip
}
movieClip 284 __Packages.CIndicator {
#initclip
if (!_global.CIndicator) {
var v1 = function () {
super();
this.maxValue = 100;
this.curValue = this.maxValue;
};
_global.CIndicator = v1;
_global.CIndicator extends MovieClip;
var v2 = v1.prototype;
v2.setMaxValue = function (val) {
this.maxValue = val;
};
v2.getMaxValue = function () {
return this.maxValue;
};
v2.setValue = function (val) {
this.curValue = val;
this.validateCurValue();
this.updateView();
};
v2.addValue = function (val) {
this.curValue += val;
this.validateCurValue();
this.updateView();
};
v2.getValue = function () {
return this.curValue;
};
v2.setPercent = function (perc) {
this.curValue = perc * this.maxValue / 100;
this.updateView();
};
v2.getPercent = function () {
return 100 * this.curValue / this.maxValue;
};
v2.isEmpty = function () {
return this.curValue <= 0;
};
v2.isFull = function () {
return this.curValue >= this.maxValue;
};
v2.updateView = function () {
this.mc_mask._x = -(1 - this.curValue / this.maxValue) * this.mc_mask._width;
};
v1.updateViewFor = function (mc, val, maxVal) {
mc.mc_mask._x = -(1 - val / maxVal) * mc.mc_mask._width;
};
v2.validateCurValue = function () {
if (this.curValue > this.maxValue) {
this.curValue = this.maxValue;
return undefined;
}
if (this.curValue < 0) {
this.curValue = 0;
}
};
ASSetPropFlags(_global.CIndicator.prototype, null, 1);
}
#endinitclip
}
movieClip 285 __Packages.CBack {
#initclip
if (!_global.CBack) {
var v1 = function () {};
_global.CBack = v1;
var v2 = v1.prototype;
v2.init = function (mc1_, mc2_, scaleFactor_) {
this.mc1 = mc1_;
this.mc2 = mc2_;
this.scaleFactor = scaleFactor_;
};
v2.process = function (levelX) {
levelX = Math.abs(Math.round(levelX) / this.scaleFactor) % this.mc1._width;
this.mc1._x = -levelX;
this.mc2._x = this.mc1._x + this.mc1._width - 1;
};
v1.SCREEN_WIDTH = 700;
ASSetPropFlags(_global.CBack.prototype, null, 1);
}
#endinitclip
}
frame 3 {
stop();
}
frame 4 {
stop();
}
frame 5 {
stop();
}
movieClip 104 {
}
movieClip 108 {
}
button 110 {
on (release) {
getURL('http://www.freecartoonsgames.com/', '_blank');
}
}
movieClip 113 {
}
instance of movieClip 113 {
onClipEvent (release) {
getURL('http://www.y8.com/', '_blank');
}
}
// unknown tag 88 length 50
movieClip 117 {
}
button 119 {
on (release) {
gameStart();
}
}
movieClip 122 {
}
button 124 {
on (release) {
getURL('http://www.freecartoonsgames.com/', '_blank');
}
}
button 128 {
on (release) {
getURL('http://www.freecartoonsgames.com/naruto-games.html', '_blank');
}
}
movieClip 130 {
frame 1 {
stop();
}
}
instance mc_sloop of movieClip 130 {
onClipEvent (load) {
var soundControl = new Sound(this);
}
}
movieClip 131 {
frame 1 {
stop();
}
}
instance mc_sloop_zast of movieClip 131 {
onClipEvent (load) {
this.gotoAndStop(2);
}
}
movieClip 132 {
frame 1 {
stop();
}
}
// unknown tag 88 length 50
movieClip 144 {
}
button 146 {
on (release) {
_root.gameStartWith(1);
}
}
movieClip 147 {
}
instance of movieClip 113 {
onClipEvent (release) {
getURL('http://www.y8.com/', '_blank');
}
}
frame 9 {
this.stop();
}
movieClip 154 {
}
movieClip 157 {
}
movieClip 160 {
}
movieClip 161 {
}
movieClip 164 {
}
movieClip 165 {
}
movieClip 167 {
}
movieClip 168 {
}
movieClip 170 {
}
movieClip 171 {
}
movieClip 172 {
}
movieClip 175 {
}
movieClip 176 {
}
movieClip 177 {
}
movieClip 179 {
}
movieClip 180 {
}
movieClip 181 {
}
movieClip 183 {
}
movieClip 184 {
}
movieClip 185 {
}
movieClip 188 {
}
movieClip 189 {
}
movieClip 190 {
}
movieClip 193 {
}
movieClip 194 {
}
movieClip 195 {
}
movieClip 197 {
}
movieClip 198 {
}
movieClip 199 {
}
movieClip 203 {
}
movieClip 204 {
}
movieClip 205 {
}
movieClip 206 {
}
movieClip 207 {
}
movieClip 208 {
}
movieClip 209 {
}
movieClip 210 {
}
movieClip 212 {
}
movieClip 213 {
}
movieClip 214 {
}
movieClip 215 {
}
movieClip 216 {
}
movieClip 217 {
}
movieClip 218 {
frame 1 {
_root.kvEvent(242);
}
frame 2 {
_root.kvEvent(243);
}
frame 3 {
_root.kvEvent(244);
}
frame 4 {
_root.kvEvent(245);
}
frame 5 {
_root.kvEvent(246);
}
frame 6 {
_root.kvEvent(247);
}
frame 7 {
_root.kvEvent(248);
}
frame 8 {
_root.kvEvent(249);
}
frame 9 {
_root.kvEvent(250);
}
frame 10 {
_root.kvEvent(251);
}
frame 11 {
_root.kvEvent(252);
}
frame 12 {
_root.kvEvent(253);
}
frame 13 {
_root.kvEvent(254);
}
frame 14 {
_root.kvEvent(255);
}
frame 15 {
_root.kvEvent(256);
}
}
movieClip 224 {
}
movieClip 233 {
}
movieClip 235 {
}
movieClip 238 {
}
button 240 {
on (release) {
this._parent.newGame();
}
}
movieClip 243 {
}
button 245 {
on (release) {
this._parent.nextLevel();
}
}
movieClip 247 {
}
movieClip 250 {
}
button 252 {
on (release) {
this._parent.replay();
}
}
// unknown tag 88 length 50
movieClip 264 {
}
movieClip 267 {
}
button 269 {
on (release) {
this._parent.replay();
}
}
movieClip 270 {
instance of movieClip 113 {
onClipEvent (release) {
getURL('http://www.y8.com/', '_blank');
}
}
instance of movieClip 113 {
onClipEvent (release) {
getURL('http://www.y8.com/', '_blank');
}
}
instance of movieClip 113 {
onClipEvent (release) {
getURL('http://www.y8.com/', '_blank');
}
}
}
instance mc_control of movieClip 44 {
onClipEvent (load) {
this._parent.initLevel();
}
onClipEvent (enterFrame) {
this._parent.processGame();
}
onClipEvent (keyDown) {
this._parent.keyPressed();
}
}