Instance of Symbol 29 MovieClip in Frame 1
on (release) {
_root.getURL("http://www.holygrailgames.com/play-2766-Lynx_Bike.html", "_blank");
}
Instance of Symbol 32 MovieClip in Frame 1
on (release) {
_root.getURL("http://www.holygrailgames.com/play-2766-Lynx_Bike.html", "_blank");
}
Frame 3
iBytesTotal = _root.getBytesTotal();
iBytesLoaded = _root.getBytesLoaded();
iBytes = Math.ceil((iBytesLoaded / iBytesTotal) * 100);
_root.txtLoading.text = iBytes + "%";
Instance of Symbol 77 MovieClip "mcLogo" in Frame 205
on (release) {
_root.getURL("http://www.holygrailgames.com", "_blank");
}
Frame 206
iBytesTotal = _root.getBytesTotal();
iBytesLoaded = _root.getBytesLoaded();
iBytes = Math.ceil((iBytesLoaded / iBytesTotal) * 100);
_root.txtLoading.text = iBytes + "%";
Frame 207
function GoAhead() {
clearInterval(_root.SmallWaiting);
gotoAndPlay (208);
}
if (iBytes < 100) {
gotoAndPlay (206);
} else {
stop();
_root.SmallWaiting = setInterval(GoAhead, 2000);
}
Frame 209
fscommand ("fullscreen", true);
fscommand ("allowscale", true);
_root.minLevel1 = "carajo";
gotoAndPlay ("intro");
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=7&fv=") + fv) + "&v=") + escape(getVersion())) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
__com_mochibot__("e8aabdb0", this, 10301, true);
Frame 223
_root.sunet = true;
_root.motoLoop = new Sound();
_root.motoLoop.attachSound("motoLoop");
_root.motorStart = new Sound();
_root.motorStart.attachSound("motorStart");
_root.locatie = _url;
_root.levelGoto = 1;
_root.cheated = true;
Frame 288
_quality = "BEST";
this.onEnterFrame = function () {
gotoAndStop ("init");
delete this.onEnterFrame;
};
Frame 296
prevFrame();
Frame 307
function startGame() {
_root.score = (Number(_root.minuteTXT) * 60) + Number(_root.secundeTXT);
_global.gl_level = _global.gl_user_info.levels["level_" + _global.gl_user_info.curr_level];
gl_game_info.is_game_over = (gl_game_info.is_pause = false);
main_mc.back_mc.gotoAndStop("level_" + _global.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");
} else {
main_mc.messages_mc.gotoAndPlay("un_pause");
}
}
if (_global.gl_user_info.curr_level > 99999) {
_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);
_global.gl_user_info = {levels:{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}}, jeeps:[{}, {_loc3:4, _loc4:0.7}, {_loc3:12, _loc4:0.7}, {_loc3:20, _loc4:0.7}], player:{link:"lib_jeep"}, curr_jeep:1, curr_pilot:1, curr_level:1};
_global.gl_game_info = {is_game_over:false, is_pause:false};
main_mc.gotoAndStop("intro");
Frame 317
prevFrame();
Symbol 2 MovieClip [DownArrow] Frame 1
stop();
Symbol 2 MovieClip [DownArrow] Frame 2
stop();
Symbol 2 MovieClip [DownArrow] Frame 3
stop();
Symbol 3 MovieClip [ScrollThumb] Frame 1
stop();
Symbol 4 MovieClip [UpArrow] Frame 1
stop();
Symbol 4 MovieClip [UpArrow] Frame 2
stop();
Symbol 4 MovieClip [UpArrow] Frame 3
stop();
Symbol 5 MovieClip [FUIComponentSymbol] Frame 1
#initclip 19
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 21 MovieClip [lib_pilot3] 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 21 MovieClip [lib_pilot3] Frame 2
is_moving = true;
Symbol 21 MovieClip [lib_pilot3] Frame 10
position = "front";
if (movement == "front") {
movement = "";
is_moving = false;
stop();
}
Symbol 21 MovieClip [lib_pilot3] Frame 11
is_moving = true;
Symbol 21 MovieClip [lib_pilot3] Frame 21
position = "normal";
if (movement == "normal") {
is_moving = false;
stop();
} else {
gotoAndPlay("move_" + movement);
}
Symbol 21 MovieClip [lib_pilot3] Frame 22
is_moving = true;
Symbol 21 MovieClip [lib_pilot3] Frame 31
position = "back";
if (movement == "back") {
movement = "";
is_moving = false;
stop();
}
Symbol 21 MovieClip [lib_pilot3] Frame 32
is_moving = true;
Symbol 21 MovieClip [lib_pilot3] Frame 42
position = "normal";
if (movement == "normal") {
is_moving = false;
stop();
} else {
gotoAndPlay("move_" + movement);
}
Symbol 23 MovieClip [lib_point] Frame 1
#initclip 18
Object.registerClass("lib_point", Pirrest.PhisicsEngine.Point);
#endinitclip
Symbol 268 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 269 MovieClip [__Packages.Pirrest.Common.PiVal] Frame 0
class Pirrest.Common.PiVal
{
function PiVal () {
}
static function isEmpty($obj) {
return(($obj == "") || ($obj == undefined));
}
}
Symbol 270 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 271 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 272 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 _local2 = cx - $w.wp.curr.x;
var _local4 = cy - $w.wp.curr.y;
var _local6 = Math.sqrt((_local2 * _local2) + (_local4 * _local4));
var _local5 = ($w.wr + r) - _local6;
if (_local5 > 0) {
_local2 = _local2 / _local6;
_local4 = _local4 / _local6;
$w.wp.curr.x = $w.wp.curr.x - (_local2 * _local5);
$w.wp.curr.y = $w.wp.curr.y - (_local4 * _local5);
var _local7 = new Pirrest.PhisicsEngine.Vector(-_local2, -_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 273 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 274 MovieClip [__Packages.Pirrest.BigFoot.Level] Frame 0
class Pirrest.BigFoot.Level extends MovieClip
{
var p_system, under_mc, _x, _y, globalToLocal, jeep_wheel_1_mc, jeep_cont_mc, jeep_wheel_2_mc, jeep_body_mc, part;
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 _local8;
for (_local8 in under_mc) {
var _local4 = under_mc[_local8];
_local4._visible = false;
if (_local4 instanceof Pirrest.PhisicsEngine.Surface) {
_local4.init(under_mc);
p_system.addSurface(_local4);
}
if (_local4 instanceof Pirrest.PhisicsEngine.CircleSurface) {
_local4.init(under_mc);
p_system.addCircleSurface(_local4);
}
}
under_mc.ground_mc._visible = false;
under_mc.star_mc._visible = true;
if (_root.startPoint) {
under_mc.jeep_dummy_mc._x = _root.startPoint._x;
under_mc.jeep_dummy_mc._y = _root.startPoint._y - 100;
_x = -under_mc.jeep_dummy_mc._x;
_y = -under_mc.jeep_dummy_mc._y;
}
var _local10 = under_mc.jeep_dummy_mc.wheel_1_dummy_mc;
var _local9 = under_mc.jeep_dummy_mc.wheel_2_dummy_mc;
var _local6 = {x:_local10._x, y:_local10._y};
var _local7 = {x:_local9._x, y:_local9._y};
under_mc.jeep_dummy_mc.localToGlobal(_local6);
under_mc.jeep_dummy_mc.localToGlobal(_local7);
globalToLocal(_local6);
globalToLocal(_local7);
jeep_wheel_1_mc = jeep_cont_mc.attachMovie("lib_jeep_wheel1", "wheel_1_mc", jeep_cont_mc.getNextHighestDepth());
jeep_wheel_1_mc._x = _local6.x;
jeep_wheel_1_mc._y = _local6.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 = _local7.x;
jeep_wheel_2_mc._y = _local7.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" + _global.gl_user_info.curr_jeep, "jeep_body_mc", jeep_cont_mc.getNextHighestDepth());
var _local5 = {};
_local5.left = jeep_wheel_1_mc._x;
_local5.right = jeep_wheel_2_mc._x;
_local5.top = jeep_wheel_1_mc._y;
_local5.width = _local5.right - _local5.left;
_local5.mid = _local5.left + (_local5.width / 2);
part = p_system.addParticle(_local5.mid, _local5.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);
}
function start() {
}
function moveCamera() {
var _local5 = 250 - jeep_body_mc._x;
var _local6 = 200 - jeep_body_mc._y;
var _local7 = _local5 - _x;
var _local8 = _local6 - _y;
var _local4 = Pirrest.Common.PiGeo.distance(_local5, _local6, _x, _y);
var _local2 = _local4 * 0.35;
if (_local2 > 50) {
_local2 = 50;
}
var _local3 = _local2 / _local4;
_x = _x + (_local7 * _local3);
_y = _y + (_local8 * _local3);
}
}
Symbol 275 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 276 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 277 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 278 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 279 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 _local10 = 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 _local9 = _local13 - (_local8 * coeffStiff);
pA.x = (_local4 * Math.sin(_local5)) + pB.x;
pA.y = (_local4 * Math.cos(_local5)) + pB.y;
pC.x = (_local6 * Math.sin(_local9)) + pB.x;
pC.y = (_local6 * Math.cos(_local9)) + pB.y;
var _local7 = getCentroid();
var _local2 = _local7.x - _local10.x;
var _local3 = _local7.y - _local10.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 280 MovieClip [__Packages.Pirrest.PhisicsEngine.Line] Frame 0
class Pirrest.PhisicsEngine.Line
{
var p1, p2;
function Line ($p1, $p2) {
p1 = $p1;
p2 = $p2;
}
}
Symbol 281 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 282 MovieClip [__Packages.Pirrest.BigFoot.JeepBody] Frame 0
class Pirrest.BigFoot.JeepBody extends MovieClip
{
var damage, max_damage, driver_mc, attachMovie, createEmptyMovieClip, onEnterFrame, active, level, _parent, _rotation, _y, _x, localToGlobal;
function JeepBody () {
super();
damage = 0;
max_damage = 200;
driver_mc = attachMovie("lib_pilot" + _global.gl_user_info.curr_pilot, "driver_mc", 1);
driver_mc._y = 5;
init();
}
function init() {
createEmptyMovieClip("sync_mc", 5);
onEnterFrame = syncOnEnterFrame;
active = false;
level = _parent._parent;
}
function linstenKeys() {
var _local4 = 1 + Math.abs(_rotation / 60);
var _local6 = _global.gl_user_info.jeeps[_global.gl_user_info.curr_jeep]._loc3;
var _local5 = _global.gl_user_info.jeeps[_global.gl_user_info.curr_jeep]._loc4;
if (Key.isDown(37)) {
driver_mc.move("back");
if (_rotation < 0) {
_local4 = 1;
} else if (_rotation >= 90) {
_rotation = _rotation - 3;
_local4 = 1;
_local5 = -_local5;
}
level.jeep_wheel_1_mc.wp.mass = _local5 * _local4;
level.jeep_wheel_2_mc.wp.mass = (-_local5) * _local4;
} else if (Key.isDown(39)) {
driver_mc.move("front");
trace(_rotation);
if (_rotation > 0) {
_local4 = 1;
} else if (_rotation <= -90) {
trace("I got it!");
_rotation = _rotation + 3;
_local4 = 1;
_local5 = -_local5;
}
level.jeep_wheel_1_mc.wp.mass = (-_local5) * _local4;
level.jeep_wheel_2_mc.wp.mass = _local5 * _local4;
} 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.counterMotor == true) {
_root.motorStart.start(0, 1);
}
_root.counterMotor = false;
}
level.jeep_wheel_1_mc.rp.vs = (_local6 * 2) * _local4;
level.jeep_wheel_2_mc.rp.vs = (_local6 * _local4) / 2;
} else if (Key.isDown(40)) {
level.jeep_wheel_1_mc.rp.vs = ((-_local6) * _local4) / 4;
level.jeep_wheel_2_mc.rp.vs = ((-_local6) * _local4) / 10;
} else {
_root.counterMotor = 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);
}
level.moveCamera();
linstenKeys();
level.p_system.timeStep();
level.p_system.paintWheels();
var _local7 = (-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 = _local7;
_y = level.part.curr.y;
_x = level.part.curr.x;
var _local5 = {x:driver_mc.head_mc._x, y:driver_mc.head_mc._y};
driver_mc.localToGlobal(_local5);
if (level.under_mc.ground_mc.hitTest(_local5.x, _local5.y, true)) {
_global.gl_game_info.is_game_over = true;
_root.main_mc.messages_mc.gotoAndStop("game_over");
}
var _local6 = {x:driver_mc.foot_mc._x, y:driver_mc.foot_mc._y};
driver_mc.localToGlobal(_local6);
if (level.under_mc.ground_mc.hitTest(_local6.x, _local6.y, true)) {
_global.gl_game_info.is_game_over = true;
_root.main_mc.messages_mc.gotoAndStop("game_over");
}
_root.startPoint = {_x:_x, _y:_y};
var _local4 = {x:0, y:0};
localToGlobal(_local4);
if (level.under_mc.star_mc.hitTest(_local4.x, _local4.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];
_root.startPoint = undefined;
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 283 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 284 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 _local10 = (prev.x = curr.x);
var _local9 = (prev.y = curr.y);
curr.x = curr.x + ($sysObj.coeffDamp * (_local10 - _local7));
curr.y = curr.y + ($sysObj.coeffDamp * (_local9 - _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);
}
}
Instance of Symbol 85 MovieClip in Symbol 92 MovieClip Frame 1
on (release) {
_root.getURL("http://www.holygrailgames.com", "_blank");
}
Instance of Symbol 88 MovieClip in Symbol 92 MovieClip Frame 1
on (release) {
_root.getURL("http://www.espill.no", "_blank");
}
Instance of Symbol 91 MovieClip in Symbol 92 MovieClip Frame 1
on (release) {
_root.getURL("http://www.holygrailgames.com/page-webmaster.html", "_blank");
}
Symbol 97 MovieClip Frame 1
stop();
Symbol 112 MovieClip Frame 15
gotoAndPlay (1);
Symbol 119 MovieClip [lib_surface] Frame 1
#initclip 30
Object.registerClass("lib_surface", Pirrest.PhisicsEngine.Surface);
#endinitclip
Symbol 121 MovieClip [lib_circle] Frame 1
#initclip 20
Object.registerClass("lib_circle", Pirrest.PhisicsEngine.CircleSurface);
#endinitclip
Symbol 123 MovieClip [finish] Frame 1
_alpha = 0;
Symbol 130 MovieClip [lib_level_1] Frame 1
#initclip 21
Object.registerClass("lib_level_1", Pirrest.BigFoot.Level);
#endinitclip
_size = 4800;
Symbol 133 MovieClip [lib_jeep_body1] Frame 1
#initclip 22
Object.registerClass("lib_jeep_body1", Pirrest.BigFoot.JeepBody);
#endinitclip
Symbol 135 MovieClip [lib_jeep_wheel2] Frame 1
#initclip 23
Object.registerClass("lib_jeep_wheel2", Pirrest.PhisicsEngine.Wheel);
#endinitclip
Symbol 136 MovieClip [lib_jeep_wheel1] Frame 1
#initclip 24
Object.registerClass("lib_jeep_wheel1", Pirrest.PhisicsEngine.Wheel);
#endinitclip
Symbol 143 MovieClip [lib_level_3] Frame 1
#initclip 25
Object.registerClass("lib_level_3", Pirrest.BigFoot.Level);
#endinitclip
_size = 4800;
Symbol 150 MovieClip [lib_level_2] Frame 1
#initclip 26
Object.registerClass("lib_level_2", Pirrest.BigFoot.Level);
#endinitclip
_size = 4800;
Symbol 155 MovieClip [lib_level_4] Frame 1
#initclip 27
Object.registerClass("lib_level_4", Pirrest.BigFoot.Level);
#endinitclip
_size = 4600;
Symbol 157 MovieClip [lib_jeep_body3] Frame 1
#initclip 28
Object.registerClass("lib_jeep_body3", Pirrest.BigFoot.JeepBody);
#endinitclip
Symbol 160 MovieClip [lib_pilot1] 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 160 MovieClip [lib_pilot1] Frame 2
is_moving = true;
Symbol 160 MovieClip [lib_pilot1] Frame 10
position = "front";
if (movement == "front") {
movement = "";
is_moving = false;
stop();
}
Symbol 160 MovieClip [lib_pilot1] Frame 11
is_moving = true;
Symbol 160 MovieClip [lib_pilot1] Frame 21
position = "normal";
if (movement == "normal") {
is_moving = false;
stop();
} else {
gotoAndPlay("move_" + movement);
}
Symbol 160 MovieClip [lib_pilot1] Frame 22
is_moving = true;
Symbol 160 MovieClip [lib_pilot1] Frame 31
position = "back";
if (movement == "back") {
movement = "";
is_moving = false;
stop();
}
Symbol 160 MovieClip [lib_pilot1] Frame 32
is_moving = true;
Symbol 160 MovieClip [lib_pilot1] Frame 42
position = "normal";
if (movement == "normal") {
is_moving = false;
stop();
} else {
gotoAndPlay("move_" + movement);
}
Symbol 167 MovieClip [lib_pilot2] 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 167 MovieClip [lib_pilot2] Frame 2
is_moving = true;
Symbol 167 MovieClip [lib_pilot2] Frame 10
position = "front";
if (movement == "front") {
movement = "";
is_moving = false;
stop();
}
Symbol 167 MovieClip [lib_pilot2] Frame 11
is_moving = true;
Symbol 167 MovieClip [lib_pilot2] Frame 21
position = "normal";
if (movement == "normal") {
is_moving = false;
stop();
} else {
gotoAndPlay("move_" + movement);
}
Symbol 167 MovieClip [lib_pilot2] Frame 22
is_moving = true;
Symbol 167 MovieClip [lib_pilot2] Frame 31
position = "back";
if (movement == "back") {
movement = "";
is_moving = false;
stop();
}
Symbol 167 MovieClip [lib_pilot2] Frame 32
is_moving = true;
Symbol 167 MovieClip [lib_pilot2] Frame 42
position = "normal";
if (movement == "normal") {
is_moving = false;
stop();
} else {
gotoAndPlay("move_" + movement);
}
Symbol 169 MovieClip [lib_jeep_body2] Frame 1
#initclip 29
Object.registerClass("lib_jeep_body2", Pirrest.BigFoot.JeepBody);
#endinitclip
Symbol 174 Button
on (release) {
getURL ("http://holygrailgames.com/", "_blank");
}
Symbol 191 Button
on (press) {
_root.main_mc.instructions.play();
}
Symbol 205 MovieClip Frame 1
stop();
Symbol 205 MovieClip Frame 10
stop();
invis.useHandCursor = false;
Symbol 233 MovieClip Frame 1
stop();
Symbol 233 MovieClip Frame 2
play();
Symbol 233 MovieClip Frame 13
stop();
Symbol 236 MovieClip Frame 1
if (_root.sunet == true) {
_root.motoLoop.start(0, 999);
}
Symbol 236 MovieClip Frame 8
stopAllSounds();
pause_mc.caption = "PAUSE";
continue_btn.onRelease = function () {
_global.gl_game_info.is_pause = !_global.gl_game_info.is_pause;
_root.main_mc.messages_mc.gotoAndPlay("un_pause");
};
menu_btn.onRelease = function () {
_root.main_mc.gotoAndStop("intro");
};
text_1_mc.caption = "RESTART";
text_2_mc.caption = "MAIN MENU";
Symbol 236 MovieClip Frame 13
stop();
Symbol 236 MovieClip Frame 21
gotoAndStop ("empty");
Symbol 236 MovieClip Frame 23
if (_root.currentLEVEL == 1) {
_root.minLevel1 = _root.minuteTXT;
_root.secLevel1 = _root.secundeTXT;
}
if (_root.currentLEVEL == 2) {
_root.minLevel2 = _root.minuteTXT;
_root.secLevel2 = _root.secundeTXT;
}
if (_root.currentLEVEL == 3) {
_root.minLevel3 = _root.minuteTXT;
_root.secLevel3 = _root.secundeTXT;
}
_parent.meniu._visible = false;
_parent.counter._visible = false;
_parent.bara._visible = false;
_root.motoLoop.stop();
_root.motorStart.stop();
next_btn.onRelease = function () {
_root.secunde = 0;
_root.secundeTXT = "00";
_root.minute = 0;
_root.minuteTXT = "00";
_root.main_mc.gotoAndPlay("replay");
};
menu_btn.onRelease = function () {
_root.main_mc.gotoAndStop("intro");
};
next_btn.onRollOver = function () {
_root.main_mc.messages_mc.mcBtnGlow._x = this._x;
};
menu_btn.onRollOver = function () {
_root.main_mc.messages_mc.mcBtnGlow._x = this._x;
};
next_btn.onRollOut = function () {
_root.main_mc.messages_mc.mcBtnGlow._x = 10000;
};
menu_btn.onRollOut = function () {
_root.main_mc.messages_mc.mcBtnGlow._x = 10000;
};
title_mc.caption = "LEVEL COMPLETED!";
text_1_mc.caption = "NEXT";
text_2_mc.caption = "MAIN MENU";
Symbol 236 MovieClip Frame 32
stop();
Symbol 236 MovieClip Frame 34
if (_root.currentLEVEL == 1) {
_root.minLevel1 = _root.minuteTXT;
_root.secLevel1 = _root.secundeTXT;
}
if (_root.currentLEVEL == 2) {
_root.minLevel2 = _root.minuteTXT;
_root.secLevel2 = _root.secundeTXT;
}
if (_root.currentLEVEL == 3) {
_root.minLevel3 = _root.minuteTXT;
_root.secLevel3 = _root.secundeTXT;
}
_parent.meniu._visible = false;
_parent.counter._visible = false;
_parent.bara._visible = false;
_root.motoLoop.stop();
_root.motorStart.stop();
title_mc.caption = "GAME COMPLETED!";
text_1_mc.caption = "NEXT";
text_2_mc.caption = "MAIN MENU";
stop();
Instance of Symbol 181 MovieClip "next_btn" in Symbol 236 MovieClip Frame 34
on (release, keyPress "<Space>") {
_root.secunde = 0;
_root.secundeTXT = "00";
_root.minute = 0;
_root.minuteTXT = "00";
_root.main_mc.gotoAndStop("intro");
}
on (rollOver) {
_root.main_mc.messages_mc.mcBtnGlow._x = this._x;
}
on (releaseOutside, rollOut) {
_root.main_mc.messages_mc.mcBtnGlow._x = 10000;
}
Symbol 236 MovieClip Frame 39
function emparejar() {
if (_root.secLevelTotal > 60) {
_root.secLevelTotal = _root.secLevelTotal - 60;
_root.minLevelTotal++;
emparejar();
}
}
_root.minLevelTotal = (Number(_root.minLevel1) + Number(_root.minLevel2)) + Number(_root.minLevel3);
_root.secLevelTotal = (Number(_root.secLevel1) + Number(_root.secLevel2)) + Number(_root.secLevel3);
if (_root.secLevelTotal < 10) {
_root.secLevelTotalTXT = "0" + _root.secLevelTotal;
} else {
_root.secLevelTotalTXT = _root.secLevelTotal;
}
emparejar();
if (_root.secLevelTotal < 10) {
_root.secLevelTotalTXT = "0" + _root.secLevelTotal;
} else {
_root.secLevelTotalTXT = _root.secLevelTotal;
}
if (_root.minLevelTotal < 10) {
_root.minLevelTotalTXT = "0" + _root.minLevelTotal;
} else {
_root.minLevelTotalTXT = _root.minLevelTotal;
}
_parent.meniu._visible = false;
_parent.counter._visible = false;
_parent.bara._visible = false;
_root.motoLoop.stop();
_root.motorStart.stop();
menu_btn.onRelease = function () {
_root.main_mc.gotoAndStop("intro");
};
title_mc.caption = "GAME COMPLETED!";
tiempoTotal.caption = "Total Time";
text_1_mc.caption = "MAIN MENU";
text_2_mc.caption = "MAIN MENU";
Symbol 236 MovieClip Frame 43
stop();
Symbol 236 MovieClip Frame 45
_parent.meniu._visible = false;
_parent.counter._visible = false;
_parent.bara._visible = false;
_root.motoLoop.stop();
_root.motorStart.stop();
_parent.lives--;
if (_parent.lives < 0) {
btnTryAgain._visible = false;
TxtTryAgain._visible = false;
}
next_btn.onRelease = function () {
_root.main_mc.gotoAndPlay("replay");
};
menu_btn.onRelease = function () {
_root.main_mc.gotoAndStop("intro");
};
mcCrashed.gotoAndPlay(2);
Instance of Symbol 181 MovieClip "btnTryAgain" in Symbol 236 MovieClip Frame 45
on (release) {
_root.main_mc.gotoAndPlay("replay");
}
on (rollOver) {
_root.main_mc.messages_mc.mcBtnGlow._x = this._x;
}
on (releaseOutside, rollOut) {
_root.main_mc.messages_mc.mcBtnGlow._x = 10000;
}
Instance of Symbol 181 MovieClip in Symbol 236 MovieClip Frame 45
on (release) {
_root.main_mc.gotoAndStop("intro");
}
on (rollOver) {
_root.main_mc.messages_mc.mcBtnGlow._x = this._x;
}
on (releaseOutside, rollOut) {
_root.main_mc.messages_mc.mcBtnGlow._x = 10000;
}
Symbol 236 MovieClip Frame 54
stop();
Symbol 249 MovieClip Frame 1
_root.currentLEVEL = _global.gl_user_info.curr_level;
Symbol 249 MovieClip Frame 31
if (_parent.messages_mc._currentframe == 1) {
_root.secunde++;
if (_root.secunde < 10) {
_root.secundeTXT = "0" + _root.secunde;
} else {
_root.secundeTXT = _root.secunde;
}
_root.secundeTotal++;
if (_root.secundeTotal < 10) {
_root.secundeTotalTXT = "0" + _root.secundeTotal;
} else {
_root.secundeTotalTXT = _root.secundeTotal;
}
if ((_root.secunde % 60) == 0) {
_root.secunde = 0;
_root.secundeTXT = "00";
_root.minute++;
if (_root.minute < 10) {
_root.minuteTXT = "0" + _root.minute;
} else {
_root.minuteTXT = _root.minute;
}
}
if ((_root.secundeTotal % 60) == 0) {
_root.secundeTotal = 0;
_root.secundeTotalTXT = "00";
_root.minuteTotal++;
if (_root.minuteTotal < 10) {
_root.minuteTotalTXT = "0" + _root.minuteTotal;
} else {
_root.minuteTotalTXT = _root.minuteTotal;
}
}
}
Symbol 262 MovieClip Frame 1
stop();
Symbol 262 MovieClip Frame 2
play();
Symbol 262 MovieClip Frame 16
stop();
Symbol 262 MovieClip Frame 17
play();
Symbol 262 MovieClip Frame 31
stop();
Symbol 262 MovieClip Frame 32
play();
Symbol 262 MovieClip Frame 45
stop();
Symbol 262 MovieClip Frame 46
play();
Symbol 262 MovieClip Frame 61
stop();
Symbol 266 MovieClip Frame 1
stop();
Symbol 266 MovieClip Frame 2
play();
Symbol 266 MovieClip Frame 16
stop();
Symbol 266 MovieClip Frame 17
play();
Symbol 266 MovieClip Frame 46
stop();
Symbol 266 MovieClip Frame 47
play();
Symbol 266 MovieClip Frame 76
stop();
Symbol 266 MovieClip Frame 77
play();
Symbol 266 MovieClip Frame 91
gotoAndPlay ("start");
Symbol 267 MovieClip Frame 1
function getLevel() {
var _local2 = 1;
while (_local2 <= total_levels) {
if (levels[_local2] == _root.levelCode) {
_root.levelGoto = _local2;
_root.cheated = true;
}
_local2++;
}
}
var levels = new Array();
var total_levels = 20;
_root.levelText = 1;
_root.levelGoto = 1;
_root.levelCode = "";
levels[1] = 12345;
levels[2] = 18945;
levels[3] = 98423 /* 0x018077 */;
levels[4] = 21658;
levels[5] = 84362 /* 0x01498A */;
levels[6] = 27412;
levels[7] = 19735;
levels[8] = 46823;
levels[9] = 84625 /* 0x014A91 */;
levels[10] = 13859;
levels[11] = 14789;
levels[12] = 36987;
levels[13] = 15973;
levels[14] = 85296 /* 0x014D30 */;
levels[15] = 76248 /* 0x0129D8 */;
levels[16] = 13548;
levels[17] = 50483;
levels[18] = 93812 /* 0x016E74 */;
levels[19] = 48662;
levels[20] = 15629;
_root.levelCode1 = levels[1];
_root.levelCode2 = levels[2];
_root.levelCode3 = levels[3];
_root.levelCode4 = levels[4];
_root.levelCode5 = levels[5];
_root.levelCode6 = levels[6];
_root.levelCode7 = levels[7];
_root.levelCode8 = levels[8];
_root.levelCode9 = levels[9];
_root.levelCode10 = levels[10];
_root.levelCode11 = levels[11];
_root.levelCode12 = levels[12];
_root.levelCode13 = levels[13];
_root.levelCode14 = levels[14];
_root.levelCode15 = levels[15];
_root.levelCode16 = levels[16];
_root.levelCode17 = levels[17];
_root.levelCode18 = levels[18];
_root.levelCode19 = levels[19];
_root.levelCode20 = levels[20];
Symbol 267 MovieClip Frame 9
stop();
Symbol 267 MovieClip Frame 10
stopAllSounds();
_root.levelText = 1;
_root.levelGoto = 1;
Instance of Symbol 181 MovieClip in Symbol 267 MovieClip Frame 10
on (press) {
_root.main_mc.instructions.play();
}
on (rollOver) {
_root.main_mc.mcBtnGlow._y = this._y;
}
on (releaseOutside, rollOut) {
_root.main_mc.mcBtnGlow._y = 10000;
}
Instance of Symbol 181 MovieClip in Symbol 267 MovieClip Frame 10
on (release) {
_root.main_mc.gotoAndStop("chooseBike");
}
on (rollOver) {
_root.main_mc.mcBtnGlow._y = this._y;
}
on (releaseOutside, rollOut) {
_root.main_mc.mcBtnGlow._y = 10000;
}
Instance of Symbol 181 MovieClip in Symbol 267 MovieClip Frame 10
on (release) {
getURL ("http://www.holygrailgames.com/play-2766-Lynx_Bike.html", "_blank");
}
on (rollOver) {
_root.main_mc.mcBtnGlow._y = this._y;
}
on (releaseOutside, rollOut) {
_root.main_mc.mcBtnGlow._y = 10000;
}
Instance of Symbol 77 MovieClip "mcLogo" in Symbol 267 MovieClip Frame 10
on (release) {
_root.getURL("http://www.holygrailgames.com", "_blank");
}
Symbol 267 MovieClip Frame 14
stop();
Symbol 267 MovieClip Frame 17
_root.startGame();
nextFrame();
Symbol 267 MovieClip Frame 18
_root.main_mc.main_cont_mc.level_mc.init();
Instance of Symbol 249 MovieClip "counter" in Symbol 267 MovieClip Frame 18
onClipEvent (enterFrame) {
_parent.mcMarkerDistance._x = (_root.main_mc.main_cont_mc.level_mc.jeep_body_mc._x * _parent.mcDistanceBar._width) / _root.main_mc.main_cont_mc.level_mc._size;
}
Symbol 267 MovieClip Frame 27
stop();
Symbol 267 MovieClip Frame 28
_global.gl_user_info.curr_pilot = 1;
_global.gl_user_info.curr_jeep = 1;
_root.main_mc.mcBikes.gotoAndPlay("start");
_root.main_mc.mcPilots.gotoAndPlay("start");
Instance of Symbol 181 MovieClip in Symbol 267 MovieClip Frame 28
on (release) {
_root.secunde = 0;
_root.secundeTXT = "00";
_root.minute = 0;
_root.minuteTXT = "00";
_root.secundeTotal = 0;
_root.secundeTotalTXT = "00";
_root.minuteTotal = 0;
_root.minuteTotalTXT = "00";
_parent.lives = 4;
_root.startPoint = undefined;
_global.gl_user_info.curr_level = _root.levelGoto;
_root.main_mc.gotoAndStop("game");
}
on (rollOver) {
_root.main_mc.mcBtnGlow._y = this._y;
}
on (releaseOutside, rollOut) {
_root.main_mc.mcBtnGlow._y = 10000;
}
Instance of Symbol 181 MovieClip in Symbol 267 MovieClip Frame 28
on (release) {
if (_global.gl_user_info.curr_jeep < 3) {
_global.gl_user_info.curr_jeep++;
} else {
_global.gl_user_info.curr_jeep = 1;
}
_root.main_mc.mcBikes.gotoAndPlay("bike" + _global.gl_user_info.curr_jeep);
}
on (rollOver) {
_root.main_mc.mcBtnGlow2._x = this._x;
}
on (releaseOutside, rollOut) {
_root.main_mc.mcBtnGlow2._x = 10000;
}
Instance of Symbol 181 MovieClip in Symbol 267 MovieClip Frame 28
on (release) {
if (_global.gl_user_info.curr_pilot < 3) {
_global.gl_user_info.curr_pilot++;
} else {
_global.gl_user_info.curr_pilot = 1;
}
_root.main_mc.mcPilots.gotoAndPlay("pilot" + _global.gl_user_info.curr_pilot);
trace(_global.gl_user_info.curr_pilot);
}
on (rollOver) {
_root.main_mc.mcBtnGlow2._x = this._x;
}
on (releaseOutside, rollOut) {
_root.main_mc.mcBtnGlow2._x = 10000;
}
Symbol 267 MovieClip Frame 37
stop();