Frame 1
stop();
mochi.as2.MochiAd.showPreGameAd({id:"433fadd0bb3d2b14", res:"500x450"});
mochi.as2.MochiServices.connect("433fadd0bb3d2b14");
Frame 3
stop();
Instance of Symbol 16 MovieClip "preloader_mc" in Frame 3
onClipEvent (enterFrame) {
_root.stop();
mctotal = _root.getBytesTotal();
mcloaded = _root.getBytesLoaded();
percent = Math.round((mcloaded / mctotal) * 100);
load = percent + "%";
progress_mc1._xscale = percent;
if (percent == 100) {
_root.play();
}
}
Frame 9
gotoAndPlay ("init");
Frame 17
prevFrame();
Instance of Symbol 115 MovieClip in Frame 18
onClipEvent (load) {
_root.soundstatus = "on";
_root.mySound = new Sound(_level0);
_root.mySound2 = new Sound(_level1);
_root.mySound3 = new Sound(_level2);
_root.mySound4 = new Sound(_level3);
_root.mySound5 = new Sound(_level4);
maxvolume = 100;
minvolume = 0;
}
onClipEvent (enterFrame) {
if (_root.soundstatus == "on") {
step = 5;
}
if (_root.soundstatus == "off") {
step = -5;
}
maxvolume = maxvolume + step;
if (maxvolume > 100) {
maxvolume = 100;
}
if (maxvolume < 0) {
maxvolume = 0;
}
_root.mySound.setVolume(maxvolume);
_root.mySound2.setVolume(maxvolume);
_root.mySound3.setVolume(maxvolume);
_root.mySound4.setVolume(maxvolume);
_root.mySound5.setVolume(maxvolume);
}
Frame 28
function startGame() {
_global.gl_level = gl_user_info.levels["level_" + gl_user_info.curr_level];
gl_game_info.is_game_over = (gl_game_info.is_pause = false);
main_mc.back_mc.gotoAndStop("level_" + gl_user_info.curr_level);
main_mc.messages_mc.gotoAndStop("empty");
_root.onKeyDown = function () {
if (Key.getCode() == 80) {
gl_game_info.is_pause = !gl_game_info.is_pause;
if (gl_game_info.is_pause) {
main_mc.messages_mc.gotoAndPlay("pause");
_root.pauza = true;
} else {
main_mc.messages_mc.gotoAndPlay("un_pause");
_root.pauza = false;
}
}
if (Key.isDown(65)) {
_global.gl_user_info.curr_level++;
_root.main_mc.gotoAndPlay("replay");
}
if (_global.gl_user_info.curr_level > 7) {
_global.gl_user_info.curr_level = 1;
}
};
Key.addListener(_root);
if (!Pirrest.Common.PiVal.isEmpty(gl_level)) {
main_mc.main_cont_mc.attachMovie(gl_level.link, "level_mc", 1);
}
}
jb = new Pirrest.BigFoot.JeepBody();
Key.addListener(jb);
player = {link:"lib_jeep"};
level_1 = {link:"lib_level_1", damping:0.98, gravity:{x:0, y:0.55}, kfr:0.1, friction:0.8};
level_2 = {link:"lib_level_2", damping:0.98, gravity:{x:0, y:0.55}, kfr:0.1, friction:0.8};
level_3 = {link:"lib_level_3", damping:0.98, gravity:{x:0, y:0.55}, kfr:0.1, friction:0.8};
level_4 = {link:"lib_level_4", damping:0.98, gravity:{x:0, y:0.55}, kfr:0.1, friction:0.8};
level_5 = {link:"lib_level_5", damping:0.98, gravity:{x:0, y:0.55}, kfr:0.1, friction:0.8};
level_6 = {link:"lib_level_6", damping:0.98, gravity:{x:0, y:0.55}, kfr:0.1, friction:0.8};
level_7 = {link:"lib_level_7", damping:0.98, gravity:{x:0, y:0.55}, kfr:0.1, friction:0.8};
levels = {level_1:level_1, level_2:level_2, level_3:level_3, level_4:level_4, level_5:level_5, level_6:level_6, level_7:level_7};
_global.gl_user_info = {levels:levels, player:player, curr_level:1};
_global.gl_game_info = {is_game_over:false, is_pause:false};
delete player;
delete level_1;
delete level_2;
delete level_3;
delete level_4;
delete level_5;
delete level_6;
delete level_7;
delete levels;
main_mc.gotoAndStop("intro");
_root.demaraj = new Sound();
_root.demaraj.attachSound("demaraj");
_root.xmotor = new Sound();
_root.xmotor.attachSound("xmotor");
_root.sunet = true;
Frame 38
prevFrame();
Frame 40
stop();
scores = _root.totalScor;
Frame 41
stop();
mochi.as2.MochiAd.showInterLevelAd({id:"433fadd0bb3d2b14", res:"500x450"});
Frame 42
stop();
var o = {n:[11, 7, 4, 10, 14, 11, 2, 14, 7, 2, 6, 8, 4, 5, 8, 9], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var boardID = o.f(0, "");
mochi.as2.MochiScores.showLeaderboard({boardID:boardID, score:scores, name:pname});
Frame 58
gotoAndStop ("init");
Symbol 3 MovieClip [FUIComponentSymbol] Frame 1
#initclip 23
function FUIComponentClass() {
this.init();
}
FUIComponentClass.prototype = new MovieClip();
FUIComponentClass.prototype.init = function () {
this.enable = true;
this.focused = false;
this.useHandCursor = false;
this._accImpl = new Object();
this._accImpl.stub = true;
this.styleTable = new Array();
if (_global.globalStyleFormat == undefined) {
_global.globalStyleFormat = new FStyleFormat();
globalStyleFormat.isGlobal = true;
_global._focusControl = new Object();
_global._focusControl.onSetFocus = function (oldFocus, newFocus) {
oldFocus.myOnKillFocus();
newFocus.myOnSetFocus();
};
Selection.addListener(_global._focusControl);
}
if (this._name != undefined) {
this._focusrect = false;
this.tabEnabled = true;
this.focusEnabled = true;
this.tabChildren = false;
this.tabFocused = true;
if (this.hostStyle == undefined) {
globalStyleFormat.addListener(this);
} else {
this.styleTable = this.hostStyle;
}
this.deadPreview._visible = false;
this.deadPreview._width = (this.deadPreview._height = 1);
this.methodTable = new Object();
this.keyListener = new Object();
this.keyListener.controller = this;
this.keyListener.onKeyDown = function () {
this.controller.myOnKeyDown();
};
this.keyListener.onKeyUp = function () {
this.controller.myOnKeyUp();
};
for (var _local3 in this.styleFormat_prm) {
this.setStyleProperty(_local3, this.styleFormat_prm[_local3]);
}
}
};
FUIComponentClass.prototype.setEnabled = function (enabledFlag) {
this.enable = ((arguments.length > 0) ? (enabledFlag) : true);
this.tabEnabled = (this.focusEnabled = enabledFlag);
if ((!this.enable) && (this.focused)) {
Selection.setFocus(undefined);
}
};
FUIComponentClass.prototype.getEnabled = function () {
return(this.enable);
};
FUIComponentClass.prototype.setSize = function (w, h) {
this.width = w;
this.height = h;
this.focusRect.removeMovieClip();
};
FUIComponentClass.prototype.setChangeHandler = function (chng, obj) {
this.handlerObj = ((obj == undefined) ? (this._parent) : (obj));
this.changeHandler = chng;
};
FUIComponentClass.prototype.invalidate = function (methodName) {
this.methodTable[methodName] = true;
this.onEnterFrame = this.cleanUI;
};
FUIComponentClass.prototype.cleanUI = function () {
if (this.methodTable.setSize) {
this.setSize(this.width, this.height);
} else {
this.cleanUINotSize();
}
this.methodTable = new Object();
delete this.onEnterFrame;
};
FUIComponentClass.prototype.cleanUINotSize = function () {
for (var _local2 in this.methodTable) {
this[_local2]();
}
};
FUIComponentClass.prototype.drawRect = function (x, y, w, h) {
var _local5 = this.styleTable.focusRectInner.value;
var _local4 = this.styleTable.focusRectOuter.value;
if (_local5 == undefined) {
_local5 = 16777215 /* 0xFFFFFF */;
}
if (_local4 == undefined) {
_local4 = 0;
}
this.createEmptyMovieClip("focusRect", 1000);
this.focusRect.controller = this;
this.focusRect.lineStyle(1, _local4);
this.focusRect.moveTo(x, y);
this.focusRect.lineTo(x + w, y);
this.focusRect.lineTo(x + w, y + h);
this.focusRect.lineTo(x, y + h);
this.focusRect.lineTo(x, y);
this.focusRect.lineStyle(1, _local5);
this.focusRect.moveTo(x + 1, y + 1);
this.focusRect.lineTo((x + w) - 1, y + 1);
this.focusRect.lineTo((x + w) - 1, (y + h) - 1);
this.focusRect.lineTo(x + 1, (y + h) - 1);
this.focusRect.lineTo(x + 1, y + 1);
};
FUIComponentClass.prototype.pressFocus = function () {
this.tabFocused = false;
this.focusRect.removeMovieClip();
Selection.setFocus(this);
};
FUIComponentClass.prototype.drawFocusRect = function () {
this.drawRect(-2, -2, this.width + 4, this.height + 4);
};
FUIComponentClass.prototype.myOnSetFocus = function () {
this.focused = true;
Key.addListener(this.keyListener);
if (this.tabFocused) {
this.drawFocusRect();
}
};
FUIComponentClass.prototype.myOnKillFocus = function () {
this.tabFocused = true;
this.focused = false;
this.focusRect.removeMovieClip();
Key.removeListener(this.keyListener);
};
FUIComponentClass.prototype.executeCallBack = function () {
this.handlerObj[this.changeHandler](this);
};
FUIComponentClass.prototype.updateStyleProperty = function (styleFormat, propName) {
this.setStyleProperty(propName, styleFormat[propName], styleFormat.isGlobal);
};
FUIComponentClass.prototype.setStyleProperty = function (propName, value, isGlobal) {
if (value == "") {
return(undefined);
}
var _local16 = parseInt(value);
if (!isNaN(_local16)) {
value = _local16;
}
var _local17 = ((arguments.length > 2) ? (isGlobal) : false);
if (this.styleTable[propName] == undefined) {
this.styleTable[propName] = new Object();
this.styleTable[propName].useGlobal = true;
}
if (this.styleTable[propName].useGlobal || (!_local17)) {
this.styleTable[propName].value = value;
if (this.setCustomStyleProperty(propName, value)) {
} else if (propName == "embedFonts") {
this.invalidate("setSize");
} else if (propName.subString(0, 4) == "text") {
if (this.textStyle == undefined) {
this.textStyle = new TextFormat();
}
var _local18 = propName.subString(4, propName.length);
this.textStyle[_local18] = value;
this.invalidate("setSize");
} else {
for (var _local15 in this.styleTable[propName].coloredMCs) {
var _local4 = new Color(this.styleTable[propName].coloredMCs[_local15]);
if (this.styleTable[propName].value == undefined) {
var _local5 = {ra:"100", rb:"0", ga:"100", gb:"0", ba:"100", bb:"0", aa:"100", ab:"0"};
_local4.setTransform(_local5);
continue;
}
_local4.setRGB(value);
}
}
this.styleTable[propName].useGlobal = _local17;
}
};
FUIComponentClass.prototype.registerSkinElement = function (skinMCRef, propName) {
if (this.styleTable[propName] == undefined) {
this.styleTable[propName] = new Object();
this.styleTable[propName].useGlobal = true;
}
if (this.styleTable[propName].coloredMCs == undefined) {
this.styleTable[propName].coloredMCs = new Object();
}
this.styleTable[propName].coloredMCs[skinMCRef] = skinMCRef;
if (this.styleTable[propName].value != undefined) {
var _local4 = new Color(skinMCRef);
_local4.setRGB(this.styleTable[propName].value);
}
};
_global.FStyleFormat = function () {
this.nonStyles = {listeners:true, isGlobal:true, isAStyle:true, addListener:true, removeListener:true, nonStyles:true, applyChanges:true};
this.listeners = new Object();
this.isGlobal = false;
if (arguments.length > 0) {
for (var _local3 in arguments[0]) {
this[_local3] = arguments[0][_local3];
}
}
};
_global.FStyleFormat.prototype = new Object();
FStyleFormat.prototype.addListener = function () {
var _local3 = 0;
while (_local3 < arguments.length) {
var _local4 = arguments[_local3];
this.listeners[arguments[_local3]] = _local4;
for (var _local5 in this) {
if (this.isAStyle(_local5)) {
_local4.updateStyleProperty(this, _local5.toString());
}
}
_local3++;
}
};
FStyleFormat.prototype.removeListener = function (component) {
this.listeners[component] = undefined;
for (var _local4 in this) {
if (this.isAStyle(_local4)) {
if (component.styleTable[_local4].useGlobal == this.isGlobal) {
component.styleTable[_local4].useGlobal = true;
var _local3 = (this.isGlobal ? undefined : (globalStyleFormat[_local4]));
component.setStyleProperty(_local4, _local3, true);
}
}
}
};
FStyleFormat.prototype.applyChanges = function () {
var _local6 = 0;
for (var _local5 in this.listeners) {
var _local3 = this.listeners[_local5];
if (arguments.length > 0) {
var _local4 = 0;
while (_local4 < arguments.length) {
if (this.isAStyle(arguments[_local4])) {
_local3.updateStyleProperty(this, arguments[_local4]);
}
_local4++;
}
continue;
}
for (var _local4 in this) {
if (this.isAStyle(_local4)) {
_local3.updateStyleProperty(this, _local4.toString());
}
}
}
};
FStyleFormat.prototype.isAStyle = function (name) {
return((this.nonStyles[name] ? false : true));
};
#endinitclip
Symbol 197 MovieClip [__Packages.mochi.as2.MochiAd] Frame 0
class mochi.as2.MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("3.02 as2");
}
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;
mochi.as2.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) {
mochi.as2.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) {
mochi.as2.MochiAd.containerNotify(clip, {id:"hostLoadPcnt", pcnt:_local2}, clip._mochiad._containerLCName);
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) {
mochi.as2.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;
mochi.as2.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) {
mochi.as2.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 _local7 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
if (_local7._url.indexOf("http") != 0) {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
}
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
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;
mochi.as2.MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new Object();
var _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
containerNotify(clip, {id:"unload"}, clip._mochiad._containerLCName);
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);
containerRpcResult(clip, callbackID, _local4, clip._mochiad._containerLCName);
break;
case "runMethod" :
var _local3 = runMethod(clip, arg.method, arg.args);
containerRpcResult(clip, callbackID, _local3, clip._mochiad._containerLCName);
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);
}
static function containerNotify(clip, args, lcName) {
var _local1 = clip._mochiad._mochiad_ctr.ad.app;
if (_local1.notify) {
_local1.notify(args);
} else {
new LocalConnection().send(lcName, "notify", args);
}
}
static function containerRpcResult(clip, callbackID, val, lcName) {
var _local1 = clip._mochiad._mochiad_ctr.ad.app;
if (_local1.rpcResult) {
_local1.rpcResult(callbackID, val);
} else {
new LocalConnection().send(lcName, "rpcResult", callbackID, val);
}
}
}
Symbol 198 MovieClip [__Packages.mochi.as2.MochiServices] Frame 0
class mochi.as2.MochiServices
{
static var _id, _container, _clip, _sendChannelName, __get__comChannelName, onError, _listenChannel, _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("3.02 as2");
}
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";
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
warnID(id, false);
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.as2.MochiServices.onError = onError;
} else if (mochi.as2.MochiServices.onError == undefined) {
mochi.as2.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();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local3 = "_mochiservices_com_" + id;
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
if (urlOptions().servicesURL != undefined) {
_servicesURL = urlOptions().servicesURL;
}
allowDomains(_servicesURL);
_clip = clip.createEmptyMovieClip(_local3, 10336, false);
_listenChannelName = _listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor(Math.random() * 99999));
listen();
_loader = new MovieClipLoader();
if (_loaderListener.waitInterval != null) {
clearInterval(_loaderListener.waitInterval);
}
_loaderListener = {};
_loaderListener.onLoadError = function (target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
mochi.as2.MochiServices.disconnect();
mochi.as2.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.as2.MochiServices.disconnect();
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000);
_loader.addListener(_loaderListener);
_loader.loadClip((((_servicesURL + "?listenLC=") + _listenChannelName) + "&mochiad_options=") + escape(_root.mochiad_options), _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
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.as2.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel._nextcallbackID = 0;
_listenChannel._callbacks = {};
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_listenChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_listenChannel.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];
};
_listenChannel.onError = function () {
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
};
trace("connected!");
_connecting = false;
_connected = true;
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 = _listenChannel._callbacks[_local1.callbackID];
}
delete _listenChannel._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:_listenChannel._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:_listenChannel._nextcallbackID});
}
_listenChannel._callbacks[_listenChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_listenChannel._nextcallbackID++;
}
static function urlOptions() {
var _local5 = {};
if (_root.mochiad_options) {
var _local4 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2].split("=");
_local5[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local5);
}
static function warnID(bid, leaderboard) {
bid = bid.toLowerCase();
if (bid.length != 16) {
trace(("WARNING: " + (leaderboard ? "board" : "game")) + " ID is not the appropriate length");
return(undefined);
}
if (bid == "1e113c7239048b3f") {
if (leaderboard) {
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
}
return(undefined);
}
if (bid == "84993a1de4031cd8") {
if (leaderboard) {
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
}
return(undefined);
}
var _local1 = 0;
while (_local1 < bid.length) {
switch (bid.charAt(_local1)) {
case "0" :
case "1" :
case "2" :
case "3" :
case "4" :
case "5" :
case "6" :
case "7" :
case "8" :
case "9" :
case "a" :
case "b" :
case "c" :
case "d" :
case "e" :
case "f" :
break;
default :
trace("WARNING: Board ID contains illegal characters: " + bid);
return(undefined);
}
_local1++;
}
}
static function addLinkEvent(url, burl, btn, onClick) {
var timeout = 1500;
var t0 = getTimer();
var _local2 = new Object();
_local2.mav = getVersion();
_local2.swfv = btn.getSWFVersion() || 6;
_local2.swfurl = btn._url;
_local2.fv = System.capabilities.version;
_local2.os = System.capabilities.os;
_local2.lang = System.capabilities.language;
_local2.scres = (System.capabilities.screenResolutionX + "x") + System.capabilities.screenResolutionY;
var s = "?";
var _local3 = 0;
for (var _local6 in _local2) {
if (_local3 != 0) {
s = s + "&";
}
_local3++;
s = ((s + _local6) + "=") + escape(_local2[_local6]);
}
if (!(netupAttempted || (_connected))) {
var ping = btn.createEmptyMovieClip("ping", 777);
var _local7 = btn.createEmptyMovieClip("nettest", 778);
netupAttempted = true;
ping.loadMovie("http://x.mochiads.com/linkping.swf?t=" + getTimer());
_local7.onEnterFrame = function () {
if ((ping._totalframes > 0) && (ping._totalframes == ping._framesloaded)) {
delete this.onEnterFrame;
} else if ((getTimer() - t0) > timeout) {
delete this.onEnterFrame;
mochi.as2.MochiServices.netup = false;
}
};
}
var _local4 = btn.createEmptyMovieClip("clk", 1001);
_local4._alpha = 0;
_local4.beginFill(1044735);
_local4.moveTo(0, 0);
_local4.lineTo(0, btn._height);
_local4.lineTo(btn._width, btn._height);
_local4.lineTo(btn._width, 0);
_local4.lineTo(0, 0);
_local4.endFill();
_local4.onRelease = function () {
if (mochi.as2.MochiServices.netup) {
getURL (url + s, "_blank");
} else {
getURL (burl, "_blank");
}
if (onClick != undefined) {
onClick();
}
};
}
static var _servicesURL = "http://www.mochiads.com/static/lib/services/services.swf";
static var _listenChannelName = "__ms_";
static var _connecting = false;
static var _connected = false;
static var netup = true;
static var netupAttempted = false;
}
Symbol 199 MovieClip [__Packages.Pirrest.PhisicsEngine.Wheel] Frame 0
class Pirrest.PhisicsEngine.Wheel extends MovieClip
{
var _coord_space, _parent, _y, _x, wr, _width, wp, rp, contactRadius, coeffSlip, closestPoint, _rotation;
function Wheel () {
super();
}
function init($coord_space, $mass) {
if (Pirrest.Common.PiVal.isEmpty($coord_space)) {
_coord_space = _parent;
} else {
_coord_space = $coord_space;
}
var _local2 = {x:_x, y:_y};
_parent.localToGlobal(_local2);
$coord_space.globalToLocal(_local2);
wr = _width / 2;
wp = new Pirrest.PhisicsEngine.Particle(_local2.x, _local2.y, $mass);
rp = new Pirrest.PhisicsEngine.RimParticle(wr, 2);
contactRadius = wr;
coeffSlip = 0;
closestPoint = new Pirrest.PhisicsEngine.Vector(0, 0);
}
function verlet($sysObj) {
rp.verlet($sysObj);
wp.verlet($sysObj);
}
function checkCollision($surface, $sysObj) {
$surface.resolveWheelCollision(this);
}
function paint() {
var _local2 = wp.curr.x;
var _local3 = wp.curr.y;
var _local5 = rp.curr.x;
var _local7 = rp.curr.y;
_x = _local2;
_y = _local3;
var _local6 = 57.29578;
var _local4 = (-Math.atan2(_local5, _local7)) * _local6;
_rotation = _local4;
}
function resolve($n) {
var _local2 = -rp.curr.y;
var _local3 = rp.curr.x;
var _local7 = Math.sqrt((_local2 * _local2) + (_local3 * _local3));
_local2 = _local2 / _local7;
_local3 = _local3 / _local7;
var _local8 = _local2 * rp.speed;
var _local10 = _local3 * rp.speed;
var _local9 = wp.curr.x - wp.prev.x;
var _local11 = wp.curr.y - wp.prev.y;
var _local12 = _local9 + _local8;
var _local13 = _local11 + _local10;
var _local6 = ((-$n.y) * _local12) + ($n.x * _local13);
rp.prev.x = rp.curr.x - (_local6 * _local2);
rp.prev.y = rp.curr.y - (_local6 * _local3);
var _local5 = 1 - coeffSlip;
wp.curr.x = wp.curr.x + ((_local5 * rp.speed) * (-$n.y));
wp.curr.y = wp.curr.y + ((_local5 * rp.speed) * $n.x);
rp.speed = rp.speed * coeffSlip;
}
}
Symbol 200 MovieClip [__Packages.Pirrest.Common.PiVal] Frame 0
class Pirrest.Common.PiVal
{
function PiVal () {
}
static function isEmpty($obj) {
if (($obj == "") || ($obj == undefined)) {
return(true);
}
return(false);
}
}
Symbol 201 MovieClip [__Packages.Pirrest.PhisicsEngine.Particle] Frame 0
class Pirrest.PhisicsEngine.Particle
{
var curr, prev, temp, mass, dmc;
function Particle ($posX, $posY, $mass) {
init($posX, $posY, $mass);
}
function init($posX, $posY, $mass) {
curr = new Pirrest.PhisicsEngine.Vector($posX, $posY);
prev = new Pirrest.PhisicsEngine.Vector($posX, $posY);
temp = new Pirrest.PhisicsEngine.Vector(0, 0);
if (($mass == undefined) || ($mass < 0)) {
mass = 0;
} else {
mass = $mass;
}
var _local3 = _root.main_mc.main_cont_mc.level_mc.over_mc.getNextHighestDepth();
dmc = _root.main_mc.main_cont_mc.level_mc.over_mc.createEmptyMovieClip("p_" + _local3, _local3);
}
function verlet($sysObj) {
temp.x = curr.x;
temp.y = curr.y;
curr.x = curr.x + (($sysObj.coeffDamp * (curr.x - prev.x)) + $sysObj.gravity.x);
curr.y = curr.y + ((($sysObj.coeffDamp * (curr.y - prev.y)) + $sysObj.gravity.y) + mass);
prev.x = temp.x;
prev.y = temp.y;
}
function checkCollision($surface, $sysObj) {
$surface.resolveParticleCollision(this, $sysObj);
}
function paint() {
dmc.clear();
dmc.lineStyle(0, 16777215, 100);
Pirrest.PhisicsEngine.Graphics.prototype.paintCircle(dmc, curr.x, curr.y, 2);
}
function setPos($px, $py) {
curr.x = $px;
curr.y = $py;
prev.x = $px;
prev.y = $py;
}
}
Symbol 202 MovieClip [__Packages.Pirrest.PhisicsEngine.Vector] Frame 0
class Pirrest.PhisicsEngine.Vector
{
var x, y;
function Vector ($x, $y) {
init($x, $y);
}
function init($x, $y) {
x = $x;
y = $y;
}
function dot($v) {
return((x * $v.x) + (y * $v.y));
}
function cross($v) {
return((x * $v.y) - (y * $v.x));
}
function plus($v) {
x = x + $v.x;
y = y + $v.y;
return(this);
}
function plusNew($v) {
return(new Pirrest.PhisicsEngine.Vector(x + $v.x, y + $v.y));
}
function minus($v) {
x = x - $v.x;
y = y - $v.y;
return(this);
}
function minusNew($v) {
return(new Pirrest.PhisicsEngine.Vector(x - $v.x, y - $v.y));
}
function mult($s) {
x = x * $s;
y = y * $s;
return(this);
}
function multNew($s) {
return(new Pirrest.PhisicsEngine.Vector(x * $s, y * $s));
}
function distance($p) {
var _local2 = x - $p.x;
var _local3 = y - $p.y;
return(Math.sqrt((_local2 * _local2) + (_local3 * _local3)));
}
function normalize() {
var _local2 = Math.sqrt((x * x) + (y * y));
x = x / _local2;
y = y / _local2;
return(this);
}
}
Symbol 203 MovieClip [__Packages.Pirrest.PhisicsEngine.Graphics] Frame 0
class Pirrest.PhisicsEngine.Graphics
{
function Graphics () {
}
function paintLine($target_mc, $x0, $y0, $x1, $y1) {
$target_mc.moveTo($x0, $y0);
$target_mc.lineTo($x1, $y1);
}
function paintCircle($target_mc, $x, $y, $r) {
var _local5 = 0.4142136 * $r;
var _local4 = 0.7071068 * $r;
$target_mc.moveTo($x + $r, $y);
$target_mc.curveTo($r + $x, _local5 + $y, _local4 + $x, _local4 + $y);
$target_mc.curveTo(_local5 + $x, $r + $y, $x, $r + $y);
$target_mc.curveTo((-_local5) + $x, $r + $y, (-_local4) + $x, _local4 + $y);
$target_mc.curveTo((-$r) + $x, _local5 + $y, (-$r) + $x, $y);
$target_mc.curveTo((-$r) + $x, (-_local5) + $y, (-_local4) + $x, (-_local4) + $y);
$target_mc.curveTo((-_local5) + $x, (-$r) + $y, $x, (-$r) + $y);
$target_mc.curveTo(_local5 + $x, (-$r) + $y, _local4 + $x, (-_local4) + $y);
$target_mc.curveTo($r + $x, (-_local5) + $y, $r + $x, $y);
}
}
Symbol 204 MovieClip [__Packages.Pirrest.PhisicsEngine.RimParticle] Frame 0
class Pirrest.PhisicsEngine.RimParticle
{
var curr, prev, vs, speed, maxTorque, wr;
function RimParticle ($r, $mt) {
init($r, $mt);
}
function init($r, $mt) {
curr = new Pirrest.PhisicsEngine.Vector($r, 0);
prev = new Pirrest.PhisicsEngine.Vector(0, 0);
vs = 0;
speed = 0;
maxTorque = $mt;
wr = $r;
}
function verlet($sysObj) {
speed = Math.max(-maxTorque, Math.min(maxTorque, speed + vs));
var _local2 = -curr.y;
var _local3 = curr.x;
var _local6 = Math.sqrt((_local2 * _local2) + (_local3 * _local3));
_local2 = _local2 / _local6;
_local3 = _local3 / _local6;
curr.x = curr.x + (speed * _local2);
curr.y = curr.y + (speed * _local3);
var _local7 = prev.x;
var _local8 = prev.y;
var _local9 = (prev.x = curr.x);
var _local10 = (prev.y = curr.y);
curr.x = curr.x + ($sysObj.coeffDamp * (_local9 - _local7));
curr.y = curr.y + ($sysObj.coeffDamp * (_local10 - _local8));
var _local4 = Math.sqrt((curr.x * curr.x) + (curr.y * curr.y));
var _local5 = (_local4 - wr) / _local4;
curr.x = curr.x - (curr.x * _local5);
curr.y = curr.y - (curr.y * _local5);
}
}
Symbol 205 MovieClip [__Packages.Pirrest.PhisicsEngine.Point] Frame 0
class Pirrest.PhisicsEngine.Point extends MovieClip
{
var _y, _x, _parent, x, y, pn;
function Point () {
super();
}
function init($coord_space) {
var _local2 = {x:_x, y:_y};
if (!Pirrest.Common.PiVal.isEmpty($coord_space)) {
_parent.localToGlobal(_local2);
$coord_space.globalToLocal(_local2);
}
x = _local2.x;
y = _local2.y;
pn = new Pirrest.PhisicsEngine.Vector(0, 0);
}
function distance(that) {
return(Pirrest.Common.PiGeo.distance(x, y, that.x, that.y));
}
}
Symbol 206 MovieClip [__Packages.Pirrest.Common.PiGeo] Frame 0
class Pirrest.Common.PiGeo
{
function PiGeo () {
}
static function distance($x1, $y1, $x2, $y2) {
var _local1 = $x1 - $x2;
var _local2 = $y1 - $y2;
return(Math.sqrt((_local1 * _local1) + (_local2 * _local2)));
}
static function angle($x1, $y1, $x2, $y2) {
return(Math.atan2($x2 - $x1, $y2 - $y1) * RADIAN);
}
static var RADIAN = 57.29578;
static var DEGREE = 0.01745329;
}
Symbol 207 MovieClip [__Packages.Pirrest.PhisicsEngine.Surface] Frame 0
class Pirrest.PhisicsEngine.Surface extends MovieClip
{
var coord_space, p1, p2, isOrientH, normal, rise, run, invRun, slope, invB;
function Surface () {
super();
}
function init($coord_space) {
coord_space = $coord_space;
p1.init($coord_space);
p2.init($coord_space);
isOrientH = true;
normal = new Pirrest.PhisicsEngine.Vector(0, 0);
calcNormal();
rise = p2.y - p1.y;
run = p2.x - p1.x;
invRun = 1 / run;
slope = rise / run;
invB = 1 / ((run * run) + (rise * rise));
coord_space.lineStyle(10, 2237064, 100);
}
function setIsOrientH($isOrientH) {
isOrientH = $isOrientH;
}
function calcNormal() {
var _local3 = p2.x - p1.x;
var _local4 = p2.y - p1.y;
normal.x = _local4;
normal.y = -_local3;
var _local2 = Math.sqrt((normal.x * normal.x) + (normal.y * normal.y));
normal.x = normal.x / _local2;
normal.y = normal.y / _local2;
}
function paint() {
Pirrest.PhisicsEngine.Graphics.prototype.paintLine(coord_space, p1.x, p1.y, p2.x, p2.y);
}
function resolveWheelCollision($w) {
if (bounds($w.wp.curr, $w.contactRadius)) {
getClosestPoint($w.wp.curr, $w.closestPoint);
var _local3 = $w.closestPoint.minusNew($w.wp.curr);
_local3.normalize();
if (inequality($w.wp.curr)) {
var _local5 = Math.abs(_local3.x);
_local3.x = ((normal.x < 0) ? (_local5) : (-_local5));
_local3.y = Math.abs(_local3.y);
}
var _local4 = $w.wp.curr.plusNew(_local3.mult($w.wr));
if (segmentInequality(_local4)) {
var _local6 = _local4.x - $w.closestPoint.x;
var _local7 = _local4.y - $w.closestPoint.y;
$w.wp.curr.x = $w.wp.curr.x - _local6;
$w.wp.curr.y = $w.wp.curr.y - _local7;
$w.resolve(normal);
}
}
}
function resolveParticleCollision($p, $sysObj) {
if (boundedSegmentInequality($p.curr)) {
var _local3 = $p.curr.minusNew($p.prev);
var _local4 = normal.dot(_local3);
if (_local4 < 0) {
var _local5 = _local3.minusNew(normal.multNew(_local4));
var _local10 = _local5.multNew($sysObj.coeffFric);
var _local8 = normal.multNew(_local4 * $sysObj.coeffRest);
var _local7 = _local8.plusNew(_local10);
var _local6 = _local3.minusNew(_local7);
var _local9 = normal.dot($p.curr.minusNew(p1)) * $sysObj.coeffRest;
$p.curr.minus(normal.multNew(_local9));
$p.prev = $p.curr.minusNew(_local6);
}
}
}
function segmentInequality($toPoint) {
var _local2 = findU($toPoint);
var _local3 = inequality($toPoint);
return(((_local2 >= 0) && (_local2 <= 1)) && (_local3));
}
function boundedSegmentInequality($toPoint) {
var _local3;
if (isOrientH) {
_local3 = ($toPoint.x >= p1.x) && ($toPoint.x <= p2.x);
} else if (p1.y < p2.y) {
_local3 = ($toPoint.y >= p1.y) && ($toPoint.y <= p2.y);
} else {
_local3 = ($toPoint.y <= p1.y) && ($toPoint.y >= p2.y);
}
if (_local3) {
return(inequality($toPoint));
}
return(false);
}
function inequality($toPoint) {
var _local2 = (slope * ($toPoint.x - p1.x)) + (p1.y - $toPoint.y);
return(_local2 <= 0);
}
function bounds($toPoint, $r) {
return(($toPoint.x >= (p1.x - $r)) && ($toPoint.x <= (p2.x + $r)));
}
function getClosestPoint($toPoint, $returnVect) {
var _local2 = findU($toPoint);
if (_local2 <= 0) {
return(p1);
}
if (_local2 >= 1) {
return(p2);
}
var _local3 = p1.x + (_local2 * (p2.x - p1.x));
var _local4 = p1.y + (_local2 * (p2.y - p1.y));
$returnVect.x = _local3;
$returnVect.y = _local4;
}
function findU($p) {
var _local2 = (($p.x - p1.x) * run) + (($p.y - p1.y) * rise);
return(_local2 * invB);
}
}
Symbol 208 MovieClip [__Packages.Pirrest.PhisicsEngine.CircleSurface] Frame 0
class Pirrest.PhisicsEngine.CircleSurface extends MovieClip
{
var _y, _x, _parent, cx, cy, r, _width, lineStyle;
function CircleSurface () {
super();
}
function init($coord_space) {
var _local2 = {x:_x, y:_y};
if (!Pirrest.Common.PiVal.isEmpty($coord_space)) {
_parent.localToGlobal(_local2);
$coord_space.globalToLocal(_local2);
}
cx = _local2.x;
cy = _local2.y;
r = _width / 2;
lineStyle(0, 2237064, 100);
}
function paint() {
Pirrest.PhisicsEngine.Graphics.prototype.paintCircle(this, cx, cy, r);
}
function resolveWheelCollision($w) {
var _local3 = cx - $w.wp.curr.x;
var _local4 = cy - $w.wp.curr.y;
var _local6 = Math.sqrt((_local3 * _local3) + (_local4 * _local4));
var _local5 = ($w.wr + r) - _local6;
if (_local5 > 0) {
_local3 = _local3 / _local6;
_local4 = _local4 / _local6;
$w.wp.curr.x = $w.wp.curr.x - (_local3 * _local5);
$w.wp.curr.y = $w.wp.curr.y - (_local4 * _local5);
var _local7 = new Pirrest.PhisicsEngine.Vector(-_local3, -_local4);
$w.resolve(_local7);
}
}
function resolveParticleCollision($p) {
var _local2 = new Pirrest.PhisicsEngine.Vector(cx, cy);
var _local5 = _local2.distance($p.curr);
if (_local5 <= r) {
var _local6 = $p.curr.minusNew(_local2).normalize();
var _local4 = _local2.plusNew(_local6.multNew(r));
$p.curr = _local4;
}
}
}
Symbol 209 MovieClip [__Packages.Pirrest.BigFoot.Level] Frame 0
class Pirrest.BigFoot.Level extends MovieClip
{
var p_system, under_mc, globalToLocal, jeep_wheel_1_mc, jeep_cont_mc, jeep_wheel_2_mc, jeep_body_mc, part, over_mc, _x, _y;
function Level () {
super();
}
function init() {
p_system = new Pirrest.PhisicsEngine.ParticleSystem();
p_system.setDamping(_global.gl_level.damping);
p_system.setGravity(_global.gl_level.gravity.x, _global.gl_level.gravity.y);
p_system.setKfr(_global.gl_level.kfr);
p_system.setFriction(_global.gl_level.friction);
var _local7;
for (_local7 in under_mc) {
var _local3 = under_mc[_local7];
_local3._visible = false;
if (_local3 instanceof Pirrest.PhisicsEngine.Surface) {
_local3.init(under_mc);
p_system.addSurface(_local3);
}
if (_local3 instanceof Pirrest.PhisicsEngine.CircleSurface) {
_local3.init(under_mc);
p_system.addCircleSurface(_local3);
}
}
under_mc.ground_mc._visible = false;
under_mc.star_mc._visible = true;
var _local9 = under_mc.jeep_dummy_mc.wheel_1_dummy_mc;
var _local8 = under_mc.jeep_dummy_mc.wheel_2_dummy_mc;
var _local5 = {x:_local9._x, y:_local9._y};
var _local6 = {x:_local8._x, y:_local8._y};
under_mc.jeep_dummy_mc.localToGlobal(_local5);
under_mc.jeep_dummy_mc.localToGlobal(_local6);
globalToLocal(_local5);
globalToLocal(_local6);
jeep_wheel_1_mc = jeep_cont_mc.attachMovie("lib_jeep_wheel1", "wheel_1_mc", jeep_cont_mc.getNextHighestDepth());
jeep_wheel_1_mc._x = _local5.x;
jeep_wheel_1_mc._y = _local5.y;
jeep_wheel_1_mc.init(jeep_cont_mc, 0);
p_system.addWheel(jeep_wheel_1_mc);
jeep_wheel_2_mc = jeep_cont_mc.attachMovie("lib_jeep_wheel2", "wheel_2_mc", jeep_cont_mc.getNextHighestDepth());
jeep_wheel_2_mc._x = _local6.x;
jeep_wheel_2_mc._y = _local6.y;
jeep_wheel_2_mc.init(jeep_cont_mc, 0);
p_system.addWheel(jeep_wheel_2_mc);
jeep_body_mc = jeep_cont_mc.attachMovie("lib_jeep_body", "jeep_body_mc", jeep_cont_mc.getNextHighestDepth());
var _local4 = {};
_local4.left = jeep_wheel_1_mc._x;
_local4.right = jeep_wheel_2_mc._x;
_local4.top = jeep_wheel_1_mc._y;
_local4.width = _local4.right - _local4.left;
_local4.mid = _local4.left + (_local4.width / 2);
part = p_system.addParticle(_local4.mid, _local4.top - 40);
p_system.addConstraint(jeep_wheel_1_mc.wp, part);
p_system.addConstraint(jeep_wheel_2_mc.wp, part);
p_system.addConstraint(jeep_wheel_2_mc.wp, jeep_wheel_1_mc.wp);
over_mc.onEnterFrame = function () {
this._x = this._parent.under_mc._x;
this._y = this._parent.under_mc._y;
};
jeep_cont_mc.onEnterFrame = function () {
this._x = this._parent.under_mc._x;
this._y = this._parent.under_mc._y;
};
}
function start() {
}
function moveCamera() {
var _local4;
var _local6 = 250 - jeep_body_mc._x;
var _local7 = 200 - jeep_body_mc._y;
var _local8 = _local6 - _x;
var _local9 = _local7 - _y;
var _local5 = Pirrest.Common.PiGeo.distance(_local6, _local7, _x, _y);
var _local3 = _local5 * 0.35;
if (_local3 > 50) {
_local3 = 50;
}
_local4 = _local3 / _local5;
_x = _x + (_local8 * _local4);
_y = _y + (_local9 * _local4);
_global.pBar.update(_x, under_mc.star_mc._x - under_mc.jeep_dummy_mc._x, under_mc.jeep_dummy_mc._x - (under_mc.jeep_dummy_mc._width / 2));
}
}
Symbol 210 MovieClip [__Packages.Pirrest.PhisicsEngine.ParticleSystem] Frame 0
class Pirrest.PhisicsEngine.ParticleSystem
{
var _particles_ar, _surfaces_ar, _constraints_ar, _wheels_ar, gravity, coeffRest, coeffFric, coeffDamp, _p_count, _w_count, _s_count, _c_count;
function ParticleSystem () {
init();
}
function init() {
_particles_ar = [];
_surfaces_ar = [];
_constraints_ar = [];
_wheels_ar = [];
gravity = new Pirrest.PhisicsEngine.Vector(0, 1);
coeffRest = 1.5;
coeffFric = 0.01;
coeffDamp = 0.99;
}
function addParticle($px, $py, $mass) {
var _local2 = new Pirrest.PhisicsEngine.Particle($px, $py, $mass);
_particles_ar.push(_local2);
_p_count = _particles_ar.length;
return(_local2);
}
function addWheel($wheel) {
_wheels_ar.push($wheel);
_w_count = _wheels_ar.length;
}
function addSurface($s) {
_surfaces_ar.push($s);
_s_count = _surfaces_ar.length;
}
function addCircleSurface($s) {
_surfaces_ar.push($s);
_s_count = _surfaces_ar.length;
}
function addConstraint($p1, $p2) {
var _local2 = new Pirrest.PhisicsEngine.Constraint($p1, $p2);
_constraints_ar.push(_local2);
_c_count = _constraints_ar.length;
return(_local2);
}
function addRectangle($center, $rWidth, $rHeight) {
return(new Pirrest.PhisicsEngine.Rectangle(this, $center, $rWidth, $rHeight));
}
function addAngularConstraint($p1, $p2, $p3) {
var _local2 = new Pirrest.PhisicsEngine.AngularConstraint($p1, $p2, $p3);
_constraints_ar.push(_local2);
_c_count = _constraints_ar.length;
return(_local2);
}
function setKfr($kfr) {
coeffRest = 1 + $kfr;
}
function setFriction($f) {
coeffFric = $f;
}
function setDamping($d) {
coeffDamp = $d;
}
function setGravity($gx, $gy) {
gravity.x = $gx;
gravity.y = $gy;
}
function verlet() {
var _local2;
_local2 = 0;
while (_local2 < _p_count) {
_particles_ar[_local2].verlet(this);
_local2++;
}
_local2 = 0;
while (_local2 < _w_count) {
_wheels_ar[_local2].verlet(this);
_local2++;
}
}
function satisfy_constraints_ar() {
var _local2;
_local2 = 0;
while (_local2 < _c_count) {
_constraints_ar[_local2].resolve();
_local2++;
}
}
function checkCollisions() {
var _local4;
var _local2;
var _local3;
_local4 = 0;
while (_local4 < _s_count) {
_local2 = 0;
while (_local2 < _p_count) {
_particles_ar[_local2].checkCollision(_surfaces_ar[_local4], this);
_local2++;
}
_local3 = 0;
while (_local3 < _w_count) {
_wheels_ar[_local3].checkCollision(_surfaces_ar[_local4], this);
_local3++;
}
_local4++;
}
}
function paintSurfaces() {
var _local2 = 0;
while (_local2 < _surfaces_ar.length) {
_surfaces_ar[_local2].paint();
_local2++;
}
}
function paintParticles() {
var _local2 = 0;
while (_local2 < _particles_ar.length) {
_particles_ar[_local2].paint();
_local2++;
}
}
function paintConstraints() {
var _local2 = 0;
while (_local2 < _constraints_ar.length) {
_constraints_ar[_local2].paint();
_local2++;
}
}
function paintWheels() {
var _local2 = 0;
while (_local2 < _wheels_ar.length) {
_wheels_ar[_local2].paint();
_local2++;
}
}
function timeStep() {
verlet();
satisfy_constraints_ar();
checkCollisions();
}
}
Symbol 211 MovieClip [__Packages.Pirrest.PhisicsEngine.Constraint] Frame 0
class Pirrest.PhisicsEngine.Constraint
{
var p1, p2, restLength, dmc;
function Constraint ($p1, $p2) {
init($p1, $p2);
}
function init($p1, $p2) {
p1 = $p1;
p2 = $p2;
restLength = $p1.curr.distance($p2.curr);
var _local3 = _root.main_mc.main_cont_mc.level_mc.over_mc.getNextHighestDepth();
dmc = _root.main_mc.main_cont_mc.level_mc.over_mc.createEmptyMovieClip("p_" + _local3, _local3);
}
function resolve() {
var _local4 = p1.curr.minusNew(p2.curr);
var _local2 = p1.curr.distance(p2.curr);
var _local5 = (_local2 - restLength) / _local2;
var _local3 = _local4.mult(_local5 * 0.5);
p1.curr.minus(_local3);
p2.curr.plus(_local3);
}
function setRestLength($r) {
restLength = $r;
}
function paint() {
dmc.clear();
dmc.lineStyle(0, 10053171, 100);
Pirrest.PhisicsEngine.Graphics.prototype.paintLine(dmc, p1.curr.x, p1.curr.y, p2.curr.x, p2.curr.y);
}
}
Symbol 212 MovieClip [__Packages.Pirrest.PhisicsEngine.Rectangle] Frame 0
class Pirrest.PhisicsEngine.Rectangle
{
var p0, p1, p2, p3;
function Rectangle ($pSystem, $center, $rWidth, $rHeight) {
init($pSystem, $center, $rWidth, $rHeight);
}
function init($pSystem, $center, $rWidth, $rHeight) {
var _local4 = $pSystem.addParticle($center.x - ($rWidth / 2), $center.y - ($rHeight / 2), 0);
var _local5 = $pSystem.addParticle($center.x + ($rWidth / 2), $center.y - ($rHeight / 2), 0);
var _local6 = $pSystem.addParticle($center.x + ($rWidth / 2), $center.y + ($rHeight / 2), 0);
var _local7 = $pSystem.addParticle($center.x - ($rWidth / 2), $center.y + ($rHeight / 2), 0);
$pSystem.addConstraint(_local4, _local5);
$pSystem.addConstraint(_local5, _local6);
$pSystem.addConstraint(_local6, _local7);
$pSystem.addConstraint(_local7, _local4);
$pSystem.addConstraint(_local4, _local6);
$pSystem.addConstraint(_local5, _local7);
p0 = _local4;
p1 = _local5;
p2 = _local6;
p3 = _local7;
}
}
Symbol 213 MovieClip [__Packages.Pirrest.PhisicsEngine.AngularConstraint] Frame 0
class Pirrest.PhisicsEngine.AngularConstraint
{
var pA, pB, pC, lineA, lineB, pD, lineC, targetTheta, coeffStiff;
function AngularConstraint ($pA, $pB, $pC) {
init($pA, $pB, $pC);
}
function init($pA, $pB, $pC) {
pA = $pA.curr;
pB = $pB.curr;
pC = $pC.curr;
lineA = new Pirrest.PhisicsEngine.Line(pA, pB);
lineB = new Pirrest.PhisicsEngine.Line(pB, pC);
pD = new Pirrest.PhisicsEngine.Vector(pB.x + 0, pB.y - 1);
lineC = new Pirrest.PhisicsEngine.Line(pB, pD);
targetTheta = calcTheta(pA, pB, pC);
coeffStiff = 4;
}
function resolve() {
var _local9 = getCentroid();
lineC.p2.x = lineC.p1.x + 0;
lineC.p2.y = lineC.p1.y - 1;
var _local4 = pA.distance(pB);
var _local6 = pB.distance(pC);
var _local12 = calcTheta(pA, pB, pC);
var _local11 = calcTheta(pA, pB, pD);
var _local13 = calcTheta(pC, pB, pD);
var _local8 = (targetTheta - _local12) / 2;
var _local5 = _local11 + (_local8 * coeffStiff);
var _local10 = _local13 - (_local8 * coeffStiff);
pA.x = (_local4 * Math.sin(_local5)) + pB.x;
pA.y = (_local4 * Math.cos(_local5)) + pB.y;
pC.x = (_local6 * Math.sin(_local10)) + pB.x;
pC.y = (_local6 * Math.cos(_local10)) + pB.y;
var _local7 = getCentroid();
var _local2 = _local7.x - _local9.x;
var _local3 = _local7.y - _local9.y;
pA.x = pA.x - _local2;
pA.y = pA.y - _local3;
pB.x = pB.x - _local2;
pB.y = pB.y - _local3;
pC.x = pC.x - _local2;
pC.y = pC.y - _local3;
}
function calcTheta($pA, $pB, $pC) {
var _local3 = new Pirrest.PhisicsEngine.Vector($pB.x - $pA.x, $pB.y - $pA.y);
var _local2 = new Pirrest.PhisicsEngine.Vector($pC.x - $pB.x, $pC.y - $pB.y);
var _local5 = _local3.dot(_local2);
var _local4 = _local3.cross(_local2);
return(Math.atan2(_local4, _local5));
}
function set theta($t) {
targetTheta = $t;
//return(theta);
}
function get theta() {
return(targetTheta);
}
function paint() {
}
function getCentroid() {
var _local2 = ((pA.x + pB.x) + pC.x) / 3;
var _local3 = ((pA.y + pB.y) + pC.y) / 3;
return(new Pirrest.PhisicsEngine.Vector(_local2, _local3));
}
}
Symbol 214 MovieClip [__Packages.Pirrest.PhisicsEngine.Line] Frame 0
class Pirrest.PhisicsEngine.Line
{
var p1, p2;
function Line ($p1, $p2) {
p1 = $p1;
p2 = $p2;
}
}
Symbol 215 MovieClip [__Packages.Pirrest.BigFoot.JeepBody] Frame 0
class Pirrest.BigFoot.JeepBody extends MovieClip
{
var damage, max_damage, createEmptyMovieClip, onEnterFrame, active, level, _parent, driver_mc, swapped, globalToLocal, stick_back_mc, stick_front_mc, stick_back_point_mc, stick_front_point_mc, _rotation, _y, _x;
function JeepBody () {
super();
damage = 0;
max_damage = 200;
init();
}
function init() {
createEmptyMovieClip("sync_mc", 5);
onEnterFrame = syncOnEnterFrame;
active = false;
level = _parent._parent;
}
function linstenKeys() {
var _local4 = 2;
var _local3 = 1.4;
if (Key.isDown(37)) {
driver_mc.move("back");
level.jeep_wheel_1_mc.wp.mass = _local3;
level.jeep_wheel_2_mc.wp.mass = -_local3;
} else if (Key.isDown(39)) {
driver_mc.move("front");
level.jeep_wheel_1_mc.wp.mass = (-_local3) / 2;
level.jeep_wheel_2_mc.wp.mass = _local3 / 1.5;
} else {
driver_mc.move("normal");
level.jeep_wheel_1_mc.wp.mass = 0;
level.jeep_wheel_2_mc.wp.mass = 0;
}
if (Key.isDown(38)) {
if (_root.sunet == true) {
if (_root.odata == true) {
_root.demaraj.start(0, 1);
}
}
_root.odata = false;
level.jeep_wheel_1_mc.rp.vs = _local4;
level.jeep_wheel_2_mc.rp.vs = _local4 / 8;
} else if (Key.isDown(40)) {
level.jeep_wheel_1_mc.rp.vs = (-_local4) / 2;
level.jeep_wheel_2_mc.rp.vs = 0;
} else {
_root.odata = true;
level.jeep_wheel_1_mc.rp.vs = 0;
level.jeep_wheel_2_mc.rp.vs = 0;
}
}
function syncOnEnterFrame() {
if (_global.gl_game_info.is_game_over || (_global.gl_game_info.is_pause)) {
return(undefined);
}
var _local5 = (swapped ? ({x:level.jeep_wheel_2_mc._x, y:level.jeep_wheel_2_mc._y}) : ({x:level.jeep_wheel_1_mc._x, y:level.jeep_wheel_1_mc._y}));
var _local4 = (swapped ? ({x:level.jeep_wheel_1_mc._x, y:level.jeep_wheel_1_mc._y}) : ({x:level.jeep_wheel_2_mc._x, y:level.jeep_wheel_2_mc._y}));
level.jeep_cont_mc.localToGlobal(_local5);
globalToLocal(_local5);
level.jeep_cont_mc.localToGlobal(_local4);
globalToLocal(_local4);
stick_back_mc._x = _local5.x;
stick_back_mc._y = _local5.y;
stick_front_mc._x = _local4.x;
stick_front_mc._y = _local4.y;
var _local9 = (-Pirrest.Common.PiGeo.angle(_local5.x, _local5.y, stick_back_point_mc._x, stick_back_point_mc._y)) + 90;
stick_back_mc._rotation = _local9;
var _local10 = (-Pirrest.Common.PiGeo.angle(_local4.x, _local4.y, stick_front_point_mc._x, stick_front_point_mc._y)) + 90;
stick_front_mc._rotation = _local10;
level.moveCamera();
linstenKeys();
level.p_system.timeStep();
level.p_system.paintWheels();
var _local11 = (-Pirrest.Common.PiGeo.angle(level.jeep_wheel_1_mc._x, level.jeep_wheel_1_mc._y, level.jeep_wheel_2_mc._x, level.jeep_wheel_2_mc._y)) + 90;
_rotation = _local11;
_y = level.part.curr.y;
_x = level.part.curr.x;
var _local7 = {x:driver_mc.head_mc._x, y:driver_mc.head_mc._y};
driver_mc.localToGlobal(_local7);
if (level.under_mc.ground_mc.hitTest(_local7.x, _local7.y, true)) {
_global.gl_game_info.is_game_over = true;
_root.main_mc.messages_mc.gotoAndStop("game_over");
}
var _local8 = {x:driver_mc.foot_mc._x, y:driver_mc.foot_mc._y};
driver_mc.localToGlobal(_local8);
if (level.under_mc.ground_mc.hitTest(_local8.x, _local8.y, true)) {
_global.gl_game_info.is_game_over = true;
_root.main_mc.messages_mc.gotoAndStop("game_over");
}
var _local6 = {x:level.under_mc.star_mc._x, y:level.under_mc.star_mc._y};
level.under_mc.localToGlobal(_local6);
if (level.jeep_cont_mc.hitTest(_local6.x, _local6.y, true)) {
_global.gl_game_info.is_game_over = true;
_global.gl_user_info.curr_level++;
_global.gl_level = _global.gl_user_info.levels["level_" + _global.gl_user_info.curr_level];
if (Pirrest.Common.PiVal.isEmpty(_global.gl_level)) {
_root.main_mc.messages_mc.gotoAndStop("game_completed");
_global.gl_user_info.curr_level = 1;
} else {
_root.main_mc.messages_mc.gotoAndStop("level_completed");
}
}
}
}
Symbol 216 MovieClip [__Packages.classes.Pirrest.BigFoot.Bar] Frame 0
class classes.Pirrest.BigFoot.Bar
{
var cursor, body;
function Bar () {
}
function update($x, $w, l) {
var _local2 = ((((Stage.width / 2) - $x) - l) / $w) * 100;
var _local3 = (body._width - cursor._width) / 100;
trace(Math.round(_local2));
cursor._x = _local3 * _local2;
}
}
Symbol 217 MovieClip [__Packages.mochi.as2.MochiScores] Frame 0
class mochi.as2.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.as2.MochiServices.warnID(boardID, true);
mochi.as2.MochiScores.boardID = boardID;
mochi.as2.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
if ((options.clip == null) || (options.clip == undefined)) {
options.clip = mochi.as2.MochiServices.clip;
}
if ((options.clip != mochi.as2.MochiServices.__get__clip()) || (mochi.as2.MochiServices.__get__childClip()._target == undefined)) {
mochi.as2.MochiServices.disconnect();
trace("WARNING! This application is attempting to connect to MochiServices inside a showLeaderboard call!");
trace("make sure MochiServices.connect is called as early in the application runtime as possible.");
mochi.as2.MochiServices.connect(mochi.as2.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 (options.score instanceof TextField) {
if (options.score.text != undefined) {
options.score = options.score.text;
}
} else if (options.score instanceof mochi.as2.MochiDigits) {
options.score = options.score.value;
}
var _local1 = Number(options.score);
if (isNaN(_local1)) {
trace(("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'");
} else if ((_local1 == Number.NEGATIVE_INFINITY) || (_local1 == Number.POSITIVE_INFINITY)) {
trace(("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite");
} else {
if (Math.floor(_local1) != _local1) {
trace(("WARNING: Submitted score '" + options.score) + "' will be truncated");
}
options.score = _local1;
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.as2.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.as2.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.as2.MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
mochi.as2.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.as2.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.as2.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
score = Number(score);
if (isNaN(score)) {
trace(("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is 'Not a Number'");
} else if ((score == Number.NEGATIVE_INFINITY) || (score == Number.POSITIVE_INFINITY)) {
trace(("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is an infinite");
} else {
if (Math.floor(score) != score) {
trace(("WARNING: Submitted score '" + String(score)) + "' will be truncated");
}
score = Number(score);
}
mochi.as2.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.as2.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 218 MovieClip [__Packages.mochi.as2.MochiDigits] Frame 0
class mochi.as2.MochiDigits
{
var Encoder, Fragment, Sibling;
function MochiDigits (digit, index) {
Encoder = 0;
setValue(digit, index);
}
function get value() {
return(Number(toString()));
}
function set value(v) {
setValue(v);
//return(value);
}
function addValue(v) {
value = value + v;
}
function setValue(digit, index) {
var _local3 = digit.toString();
if ((index == undefined) || (isNaN(index))) {
index = 0;
}
Fragment = _local3.charCodeAt(index++) ^ Encoder;
if (index < _local3.length) {
Sibling = new mochi.as2.MochiDigits(digit, index);
} else {
Sibling = null;
}
reencode();
}
function reencode() {
var _local2 = int(2147483647 * Math.random());
Fragment = Fragment ^ (_local2 ^ Encoder);
Encoder = _local2;
}
function toString() {
var _local2 = String.fromCharCode(Fragment ^ Encoder);
return(((Sibling != null) ? (_local2.concat(Sibling.toString())) : (_local2)));
}
}
Symbol 6 Button
on (release) {
getURL ("http://www.actionthunder.com", newWindow);
}
Symbol 42 MovieClip Frame 1
function move(to) {
if (position == to) {
return(undefined);
}
if (!is_moving) {
movement = to;
if (position == "normal") {
gotoAndPlay("move_" + to);
} else {
gotoAndPlay(position + "_to_normal");
}
} else {
movement = to;
}
}
position = "normal";
is_moving = false;
stop();
Symbol 42 MovieClip Frame 2
is_moving = true;
Symbol 42 MovieClip Frame 10
position = "front";
if (movement == "front") {
movement = "";
is_moving = false;
stop();
}
Symbol 42 MovieClip Frame 11
is_moving = true;
Symbol 42 MovieClip Frame 21
position = "normal";
if (movement == "normal") {
is_moving = false;
stop();
} else {
gotoAndPlay("move_" + movement);
}
Symbol 42 MovieClip Frame 22
is_moving = true;
Symbol 42 MovieClip Frame 31
if (_root.sunet == true) {
_root.demaraj.start(0, 1);
}
position = "back";
if (movement == "back") {
movement = "";
is_moving = false;
stop();
}
Symbol 42 MovieClip Frame 32
is_moving = true;
Symbol 42 MovieClip Frame 42
position = "normal";
if (movement == "normal") {
is_moving = false;
stop();
} else {
gotoAndPlay("move_" + movement);
}
Symbol 43 MovieClip [lib_jeep_body] Frame 1
#initclip 36
Object.registerClass("lib_jeep_body", Pirrest.BigFoot.JeepBody);
#endinitclip
Symbol 46 MovieClip [lib_jeep_wheel1] Frame 1
#initclip 24
Object.registerClass("lib_jeep_wheel1", Pirrest.PhisicsEngine.Wheel);
#endinitclip
Symbol 48 MovieClip [lib_jeep_wheel2] Frame 1
#initclip 25
Object.registerClass("lib_jeep_wheel2", Pirrest.PhisicsEngine.Wheel);
#endinitclip
Symbol 54 MovieClip [lib_point] Frame 1
#initclip 26
Object.registerClass("lib_point", Pirrest.PhisicsEngine.Point);
#endinitclip
Symbol 55 MovieClip [lib_surface] Frame 1
#initclip 27
Object.registerClass("lib_surface", Pirrest.PhisicsEngine.Surface);
#endinitclip
Symbol 57 MovieClip [lib_circle] Frame 1
#initclip 28
Object.registerClass("lib_circle", Pirrest.PhisicsEngine.CircleSurface);
#endinitclip
Symbol 70 MovieClip [lib_level_7] Frame 1
#initclip 29
Object.registerClass("lib_level_7", Pirrest.BigFoot.Level);
#endinitclip
Symbol 75 MovieClip [lib_level_6] Frame 1
#initclip 30
Object.registerClass("lib_level_6", Pirrest.BigFoot.Level);
#endinitclip
Symbol 80 MovieClip [lib_level_5] Frame 1
#initclip 31
Object.registerClass("lib_level_5", Pirrest.BigFoot.Level);
#endinitclip
Symbol 85 MovieClip [lib_level_4] Frame 1
#initclip 32
Object.registerClass("lib_level_4", Pirrest.BigFoot.Level);
#endinitclip
Symbol 90 MovieClip [lib_level_3] Frame 1
#initclip 33
Object.registerClass("lib_level_3", Pirrest.BigFoot.Level);
#endinitclip
Symbol 95 MovieClip [lib_level_2] Frame 1
#initclip 34
Object.registerClass("lib_level_2", Pirrest.BigFoot.Level);
#endinitclip
Symbol 100 MovieClip [lib_level_1] Frame 1
#initclip 35
Object.registerClass("lib_level_1", Pirrest.BigFoot.Level);
#endinitclip
Symbol 105 Button
on (release) {
gotoAndPlay (2);
}
on (release) {
_root.soundstatus = "off";
}
Symbol 109 Button
on (release) {
gotoAndPlay (1);
}
on (release) {
_root.soundstatus = "on";
}
Symbol 110 MovieClip Frame 1
stop();
Symbol 110 MovieClip Frame 2
stop();
Symbol 122 Button
on (release, keyPress "<Space>") {
gotoAndStop ("game");
_root.xmotor.start(0, 99999);
}
Symbol 127 Button
on (press) {
getURL ("http:/www.actionthunder.com");
}
Symbol 143 MovieClip Frame 124
stop();
Symbol 160 MovieClip Frame 31
if (_root.pauza == false) {
_root.secunde++;
if (_root.secunde < 10) {
_root.secunde = "0" + _root.secunde;
} else if (_root.secunde > 60) {
_root.secunde = "00";
_root.minute++;
if (_root.minute < 10) {
_root.minute = "0" + _root.minute;
}
}
}
Symbol 167 Button
on (release) {
_parent.gotoAndPlay("intro");
}
Symbol 174 Button
on (press) {
_parent._parent.gotoAndPlay("high");
}
Symbol 177 Button
on (release, keyPress "<Space>") {
_root.main_mc.gotoAndPlay("replay");
}
Symbol 178 MovieClip Frame 1
trace("empty");
if (_root.sunet == true) {
_root.xmotor.start(0, 99999);
}
_root.pauza = false;
Symbol 178 MovieClip Frame 8
_root.pauza = true;
_root.main_mc.messages_mc.theMeniu._x = _root.main_mc.messages_mc.theMeniu._x + 1000;
pause_mc.caption = "PAUSE";
next_btn.onRelease = function () {
_root.main_mc.gotoAndPlay("replay");
};
menu_btn.onRelease = function () {
_root.main_mc.gotoAndStop("intro");
};
Symbol 178 MovieClip Frame 13
stop();
Symbol 178 MovieClip Frame 14
_root.pauza = false;
Symbol 178 MovieClip Frame 21
gotoAndStop ("empty");
Symbol 178 MovieClip Frame 23
_root.pauza = true;
trace(500 - ((Number(_root.minute) * 100) + Number(_root.secunde)));
_root.scorNivel = 1000 - ((Number(_root.minute) * 100) + Number(_root.secunde));
_root.totalScor = _root.totalScor + _root.scorNivel;
_root.scorNivel = 0;
_root.minute = "00";
_root.secunde = "00";
menu_btn.onRelease = function () {
_root.main_mc.gotoAndStop("intro");
};
title_mc.caption = "LEVEL COMPLETED!";
stopAllSounds();
Symbol 178 MovieClip Frame 32
stop();
Symbol 178 MovieClip Frame 34
_root.pauza = true;
_root.scorNivel = 500 - ((Number(_root.minute) * 100) + Number(_root.secunde));
_root.totalScor = _root.totalScor + _root.scorNivel;
_root.scorNivel = 0;
_root.minute = "00";
_root.secunde = "00";
menu_btn.onRelease = function () {
};
title_mc.caption = "Congratulation!";
stopAllSounds();
Symbol 178 MovieClip Frame 43
stop();
Symbol 178 MovieClip Frame 45
_root.pauza = true;
_root.scorNivel = 0;
_root.minute = "00";
_root.secunde = "00";
next_btn.onRelease = function () {
};
menu_btn.onRelease = function () {
};
title_mc.caption = "GAME OVER";
stopAllSounds();
Symbol 178 MovieClip Frame 54
stop();
Symbol 185 MovieClip [ms_progressBar] Frame 1
#initclip 37
Object.registerClass("ms_progressBar", classes.Pirrest.BigFoot.Bar);
#endinitclip
Symbol 186 MovieClip Frame 1
_root.totalScor = 0;
Symbol 186 MovieClip Frame 9
stop();
Symbol 186 MovieClip Frame 10
_root.main_mc.instructions._visible = false;
start_btn.onRelease = function () {
};
_root.secunde = "00";
_root.minute = "00";
_root.totalScor = 0;
_global.gl_user_info.curr_level = 1;
_root.pauza = false;
_root.sunet = true;
stopAllSounds();
Symbol 186 MovieClip Frame 14
stop();
Symbol 186 MovieClip Frame 17
_root.startGame();
nextFrame();
_global.pBar = this.pBar;
Symbol 186 MovieClip Frame 18
_root.main_mc.main_cont_mc.level_mc.init();
Symbol 186 MovieClip Frame 27
stop();
Symbol 193 Button
on (press) {
if (pname != " ") {
loadVariablesNum ("http://www.actionthunder.com/scoreboard.php", 0, "POST");
getURL ("http://www.actionthunder.com", newWindow);
play();
}
}