Frame 1
function submitScore(score_, levelNum_) {
_level0.swHighScoreObject.player1Score = score_;
_level0.swHighScoreObject.gameId = "snowboardingsupreme2_" + levelNum_;
trace((_level0.swHighScoreObject.gameId + " ") + score_);
}
function playAgain() {
_root.gotoAndStop("lbStart");
}
System.security.allowDomain("shockwave.com", "intranet.shockwave.com", "gameblast.shockwave.com", "www.shockwave.com", "dev.shockwave.com", "stage.shockwave.com");
_level0.swHighScoreObject = new Object();
_level0.swHighScoreObject.showTab = "view";
_level0.swHighScoreObject.gameId = "snowboardingsupreme2_";
_level0.swHighScoreObject.gameTitle = "Snowboarding Supreme 2";
_level0.swHighScoreObject.screenWidth = GameConst.SCR_WIDTH;
_level0.swHighScoreObject.screenHeight = GameConst.SCR_HEIGHT;
_level0.swHighScoreObject.scoreDescriptor = "points";
_level0.swHighScoreObject.numPlayers = 1;
_level0.swHighScoreObject.player1Score = 123456789 /* 0x75BCD15 */;
_level0.swHighScoreObject.player2Score = 0;
_level0.swHighScoreObject.player3Score = 0;
_level0.swHighScoreObject.player4Score = 0;
_level0.HSHubURL = "http://www.shockwave.com/content/highscores/scorez-2002.swf";
stop();
Instance of Symbol 10 MovieClip in Frame 1
onClipEvent (load) {
var numPercentage = 0;
var numMaxWidth = this.mcStripe._width;
}
onClipEvent (enterFrame) {
if ((_parent.getBytesLoaded() > 1) && (_parent.getBytesTotal() > 1)) {
numPercentage = Math.floor((100 * _parent.getBytesLoaded()) / _parent.getBytesTotal());
this.mcStripe._width = (numPercentage * numMaxWidth) / 100;
this.txtPercentage = String(numPercentage) + "%";
if (numPercentage >= 100) {
_parent.gotoAndStop("lbAGTeaser");
}
}
}
Frame 31
stop();
ag_intro_02_02.onRelease = function () {
getURL ("http://www.addictinggames.com", "_blank");
};
Symbol 2 MovieClip [dmSoundService] Frame 1
#initclip 52
Object.registerClass("dmSoundService", iriysoft.sound.CSoundService);
#endinitclip
Symbol 979 MovieClip [__Packages.LevelData] Frame 0
class LevelData
{
function LevelData () {
}
static var TYPE_SIMPLE = 0;
static var TYPE_SNOWBALL = 1;
static var TYPE_HELICOPTER = 2;
}
Symbol 980 MovieClip [__Packages.Rider] Frame 0
class Rider
{
var m_bikeDir, m_bikeNormal, breakIsDown, jumpHintCounter, wheelyHintCounter, engine, vehiclePlace, wheelCount, m_wh1, m_wh2, m_wh3, prBody, m_man, flyCounter, groundCounter, m_trickKey, wheelyCounter, _riderParam, _raceData, m_spaceIsPress, m_prevBikeAgle, m_bikeAgle, trickChainCounter, m_deltaAngle, firstAngle;
function Rider () {
m_bikeDir = new iriysoft.pengine.math.CVector2D(0, 0);
m_bikeNormal = new iriysoft.pengine.math.CVector2D(0, 0);
breakIsDown = false;
resetFlip();
}
function initWehicle(raceData, posX, posY) {
jumpHintCounter = 0;
wheelyHintCounter = 0;
engine = raceData.engine;
vehiclePlace = raceData.level.vehiclePlace;
resetFlip();
var _local5;
wheelCount = 0;
m_wh1 = makeBoardWheel(posX - 40, posY);
m_wh2 = makeBoardWheel(posX + 40, posY);
m_wh3 = makeBoardWheel(posX, posY);
engine.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(1, 1, m_wh2, m_wh1));
engine.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(1, 1, m_wh2, m_wh3));
engine.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(1, 1, m_wh1, m_wh3));
prBody = (new iriysoft.pengine.particle.CParticle()).initParticle(posX, posY - 55, 3);
engine.addParticle(prBody);
engine.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(1, 1, prBody, m_wh1));
engine.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(1, 1, prBody, m_wh2));
engine.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(1, 1, prBody, m_wh3));
m_man = RiderAnim(vehiclePlace.attachMovie("idSnowBorder", "_Boarder", 180));
m_man._xscale = raceData.riderParam.scaleX;
m_man._yscale = raceData.riderParam.scaleY;
flyCounter = 0;
groundCounter = 0;
m_trickKey = 0;
wheelyCounter = 0;
_riderParam = raceData.riderParam;
_raceData = raceData;
CRider._makeTrick = mx.utils.Delegate.create(_raceData, _raceData.makeTrick);
}
function initDeath() {
m_man.gotoAndStop(RiderAnim.FRAME_DEAD);
var _local6 = m_wh1.__get__pos().x;
var _local3 = m_wh1.__get__pos().y;
var _local5 = m_wh1.__get__prevPos().x;
var _local4 = m_wh1.__get__prevPos().y;
engine.clear();
wheelCount = 0;
var _local2 = vehiclePlace.attachMovie("idDeadWheel", "_wh" + wheelCount, 150 + wheelCount);
_local2._visible = false;
m_wh1 = new iriysoft.pengine.particle.CWheel();
m_wh1.initWheel(_local6, _local3, 8, 20, 240, _local2, m_man, 0.001, 1);
m_wh1.__get__prevPos().x = _local5;
m_wh1.__get__prevPos().y = _local4;
engine.addParticle(m_wh1);
process = function () {
this.m_man._x = this.m_wh1.getMovie()._x;
this.m_man._y = this.m_wh1.getMovie()._y;
};
}
function makeBoardWheel(px, py) {
wheelCount++;
var _local3 = vehiclePlace.attachMovie("idBoardWheel", "_wh" + wheelCount, 150 + wheelCount);
_local3._visible = false;
var _local2 = new iriysoft.pengine.particle.CWheel();
_local2.initWheel(px, py, 4, 15, 140, _local3);
engine.addParticle(_local2);
return(_local2);
}
function playAccelerateSound() {
}
function stopAccelerateSound() {
}
function accelerate() {
m_wh2.setAccelerate(_riderParam.acelerate);
}
function brake() {
m_wh1.setAccelerate(0);
}
function stopAccelerate() {
m_wh1.setAccelerate(0);
m_wh2.setAccelerate(0);
m_wh3.setAccelerate(0);
}
function processKeys(keyState) {
breakIsDown = false;
if (keyState.checkMask(KM_ACCELERATE)) {
if (!keyState.checkPrevStateMask(KM_ACCELERATE)) {
playAccelerateSound();
keyState.addMask(KM_ACCELERATE);
}
} else if ((!m_spaceIsPress) && (keyState.checkMask(KM_BRAKE))) {
processAccelerate = brake;
breakIsDown = true;
} else {
processAccelerate = accelerate;
stopAccelerateSound();
}
if (keyState.checkMask(KM_BIKE_JUMP)) {
m_spaceIsPress = true;
} else {
m_spaceIsPress = false;
}
if ((!m_spaceIsPress) && (keyState.checkMask(KM_MOVE_BODY_FORWARD))) {
turnTo(DIR_RIGHT);
} else if ((!m_spaceIsPress) && (keyState.checkMask(KM_MOVE_BODY_BACK))) {
turnTo(DIR_LEFT);
}
if ((m_man.__get__state() == RiderAnim.ST_STAND) && (!boardOnGround())) {
if (keyState.checkMask(KM_SPEC_TRICK1)) {
m_trickKey = _riderParam.idSpecialTrick1;
} else if (keyState.checkMask(KM_SPEC_TRICK2)) {
m_trickKey = _riderParam.idSpecialTrick2;
} else if (keyState.checkMask(KM_TRICK3)) {
m_trickKey = RiderAnim.STAND_ROT_360;
} else if (keyState.checkMask(KM_TRICK1)) {
m_trickKey = RiderAnim.TRICK_GRAB_TAIL;
} else if (keyState.checkMask(KM_TRICK2)) {
m_trickKey = RiderAnim.TRICK_GRAB_NOSE;
}
}
}
function processAccelerate() {
}
function process() {
jumpHintCounter++;
wheelyHintCounter++;
processAccelerate();
var _local3;
var _local2;
m_bikeDir.init(m_wh2.__get__pos().x - m_wh1.__get__pos().x, m_wh2.__get__pos().y - m_wh1.__get__pos().y);
m_prevBikeAgle = m_bikeAgle;
m_bikeAgle = (Math.atan2(m_bikeDir.y, m_bikeDir.x) * 180) / Math.PI;
proccesRider(m_bikeAgle);
if (m_wh3.hasIntersection()) {
m_man._x = m_wh3.__get__pos().x;
m_man._y = m_wh3.__get__pos().y;
} else {
m_man._x = (m_wh1.__get__pos().x + m_wh2.__get__pos().x) / 2;
m_man._y = (m_wh1.__get__pos().y + m_wh2.__get__pos().y) / 2;
}
}
function resetFlyCounter() {
if (flyCounter > 15) {
iriysoft.sound.CSoundService.playSound(GameConst.SND_BOOM2);
iriysoft.sound.CSoundService.getSoundAt(GameConst.SND_BOOM2).setVolume(Math.min(flyCounter, 100));
}
flyCounter = 0;
trickChainCounter = 0;
}
function processFlipPoint() {
if (boardOnGround()) {
m_deltaAngle = 0;
firstAngle = 80;
return(undefined);
}
m_deltaAngle = m_deltaAngle - iriysoft.math.Angle.getMinDeltaAngle(m_prevBikeAgle, m_bikeAgle, 180);
if (firstAngle > 0) {
m_deltaAngle = ((m_deltaAngle < 0) ? -1 : 1);
m_deltaAngle = m_deltaAngle * firstAngle;
firstAngle = 0;
}
if (m_deltaAngle <= -360) {
_raceData.makeTrick(RiderAnim.TRICK_BACK_FLIP);
m_deltaAngle = 0;
} else if (m_deltaAngle >= 360) {
_raceData.makeTrick(RiderAnim.TRICK_FRONT_FLIP);
m_deltaAngle = 0;
}
}
function resetFlip() {
m_prevBikeAgle = 0;
m_bikeAgle = 0;
m_deltaAngle = 0;
firstAngle = 0;
}
function endWheelyTrick() {
m_man.__set__state(RiderAnim.ST_STAND);
if (wheelyCounter > 13) {
_raceData.makeTrick(RiderAnim.TRICK_WHEELY, wheelyCounter);
}
wheelyCounter = 0;
wheelyHintCounter = 0;
}
function notifyFinish() {
endWheelyTrick();
wheelyCounter = -32000;
}
function proccesRider(angle) {
var _local2 = 0;
var _local3 = 0;
if (boardOnGround()) {
if (flyCounter > _local2) {
m_man.__set__state(RiderAnim.ST_HALFSIT);
}
resetFlyCounter();
groundCounter++;
if (breakIsDown) {
if (m_man.__get__state() == RiderAnim.ST_WHEELY) {
wheelyHintCounter = 0;
wheelyCounter++;
} else {
m_man.__set__state(RiderAnim.ST_WHEELY);
}
} else if (m_man.__get__state() == RiderAnim.ST_WHEELY) {
endWheelyTrick();
}
switch (m_man.__get__state()) {
case RiderAnim.ST_STAND :
if (m_spaceIsPress && (groundCounter > _local3)) {
m_man.__set__state(RiderAnim.ST_SITDOWN);
}
break;
case RiderAnim.ST_SIT :
if (!m_spaceIsPress) {
jump();
m_man.__set__state(RiderAnim.ST_STANDUP);
}
break;
case RiderAnim.ST_SITDOWN :
if (m_spaceIsPress) {
break;
}
if (groundCounter <= _local3) {
break;
}
jump();
m_man.__set__state(RiderAnim.ST_STANDUP);
}
} else {
switch (m_man.__get__state()) {
case RiderAnim.ST_WHEELY :
if (flyCounter > 0) {
endWheelyTrick();
}
break;
case RiderAnim.ST_SIT :
if (flyCounter > 2) {
m_man.__set__state(RiderAnim.ST_STANDUP);
}
break;
case RiderAnim.ST_STAND :
if (!((flyCounter > _local2) && (m_trickKey > 0))) {
break;
}
m_man.__set__state((RiderAnim.ST_360_DEGREES + m_trickKey) - 1);
m_trickKey = 0;
}
flyCounter++;
if (flyCounter > _local2) {
}
groundCounter = 0;
}
processFlipPoint();
m_man.process();
if (m_man.__get__state() == RiderAnim.ST_STAND) {
if (flyCounter > _local2) {
m_man.rotate(m_man.__get__angle() / 2);
} else {
m_man.rotate((angle + m_man.__get__angle()) / 2);
}
}
m_man._rotation = angle;
}
function moveMovieToMovieGlobal(movie, moviePos) {
var _local1 = {x:movie._x, y:movie._y};
movie._parent.localToGlobal(_local1);
moviePos._parent.globalToLocal(_local1);
moviePos._x = _local1.x;
moviePos._y = _local1.y;
}
function rotateMovieToMovieLocal(movie, moviePos) {
movie._rotation = (Math.atan2(moviePos._y - movie._y, moviePos._x - movie._x) * 180) / Math.PI;
}
function turnTo(dir) {
m_bikeNormal.init(m_bikeDir.x, m_bikeDir.y);
m_bikeNormal.normalize();
var _local4;
_local4 = m_bikeNormal.x;
m_bikeNormal.x = -m_bikeNormal.y;
m_bikeNormal.y = _local4;
var _local3 = m_bikeNormal.x * _riderParam.turnPower;
var _local2 = m_bikeNormal.y * _riderParam.turnPower;
if (dir == DIR_RIGHT) {
_local3 = -_local3;
_local2 = -_local2;
}
m_wh1.__get__accelerate().plusXY(_local3, _local2);
m_wh2.__get__accelerate().plusXY(-_local3, -_local2);
}
function jump() {
if (flyCounter > 5) {
return(undefined);
}
var _local2 = _riderParam.baseJumpPower + (_riderParam.extraJumpPower * m_man.getCurAnimationKoeffComplete());
m_wh1.__get__accelerate().plusXY(0, -_local2);
m_wh2.__get__accelerate().plusXY(0, -_local2);
m_wh3.__get__accelerate().plusXY(0, -_local2);
prBody.__get__accelerate().plusXY(0, -_local2);
jumpHintCounter = 0;
}
static function checkPointVsMovie(point, movie) {
var _local1 = {x:point._x, y:point._y};
point._parent.localToGlobal(_local1);
return(movie.hitTest(_local1.x, _local1.y, true));
}
function hitTestObstacles(movieWithObstacles) {
for (var _local3 in movieWithObstacles) {
if ((movieWithObstacles[_local3].hitTest(m_wh1.getMovie()) || (movieWithObstacles[_local3].hitTest(m_wh3.getMovie()))) || (movieWithObstacles[_local3].hitTest(m_wh2.getMovie()))) {
return(true);
}
}
return(false);
}
function boardOnGround() {
return(checkPointVsMovie(m_man.mcJumpHit1, engine.getHitMovie()) || (checkPointVsMovie(m_man.mcJumpHit2, engine.getHitMovie())));
}
function getBodyMovieClip() {
return(m_man);
}
function getCurSpeed() {
return(new iriysoft.pengine.math.CVector2D(m_wh2.__get__pos().x - m_wh2.__get__prevPos().x, m_wh2.__get__pos().y - m_wh2.__get__prevPos().y));
}
function stopAnim(enable_) {
m_man.stopAnim(enable_);
}
static var KM_NONE = 0;
static var KM_ACCELERATE = 1;
static var KM_BRAKE = 2;
static var KM_MOVE_BODY_FORWARD = 4;
static var KM_MOVE_BODY_BACK = 8;
static var KM_BIKE_JUMP = 16;
static var KM_TRICK1 = 32;
static var KM_TRICK2 = 64;
static var KM_TRICK3 = 128;
static var KM_SPEC_TRICK1 = 256;
static var KM_SPEC_TRICK2 = 512;
static var DIR_RIGHT = 0;
static var DIR_LEFT = 1;
}
Symbol 981 MovieClip [__Packages.iriysoft.pengine.particle.CParticle] Frame 0
class iriysoft.pengine.particle.CParticle
{
var m_curPosition, m_prevPosition, m_accelerate, m_buckup, m_mass, m_mc;
function CParticle () {
m_curPosition = new iriysoft.pengine.math.CVector2D();
m_prevPosition = new iriysoft.pengine.math.CVector2D();
m_accelerate = new iriysoft.pengine.math.CVector2D();
m_buckup = new iriysoft.pengine.math.CVector2D();
}
function initParticle(x, y, mass, mc) {
if (x == undefined) {
x = 0;
}
if (y == undefined) {
y = 0;
}
if (mass == undefined) {
mass = 1;
}
moveTo(x, y);
m_mass = mass;
m_accelerate.x = 0;
m_accelerate.y = 0;
setMovie(mc);
return(this);
}
function moveTo(nx, ny) {
m_curPosition.x = (m_prevPosition.x = nx);
m_curPosition.y = (m_prevPosition.y = ny);
synchronizeMovie();
}
function verlet(dTime, koeffDamp) {
m_buckup.copyFrom(m_curPosition);
m_curPosition.x = m_curPosition.x + (((m_curPosition.x - m_prevPosition.x) * koeffDamp) + (m_accelerate.x * dTime));
m_curPosition.y = m_curPosition.y + (((m_curPosition.y - m_prevPosition.y) * koeffDamp) + (m_accelerate.y * dTime));
m_buckup.copyTo(m_prevPosition);
synchronizeMovie();
}
function checkCollision(hitMovie) {
}
function synchronizeMovie() {
}
function moveMovieToCurentPosition() {
m_mc._x = m_curPosition.x;
m_mc._y = m_curPosition.y;
}
function get mass() {
return(m_mass);
}
function set mass(nMass) {
m_mass = nMass;
//return(mass);
}
function get accelerate() {
return(m_accelerate);
}
function set accelerate(acc) {
m_accelerate = acc;
//return(accelerate);
}
function get prevPos() {
return(m_prevPosition);
}
function set prevPos(pos) {
m_prevPosition = pos;
//return(prevPos);
}
function get pos() {
return(m_curPosition);
}
function set pos(pos) {
m_curPosition = pos;
//return(this.pos);
}
function setMovie(mc) {
if ((mc == null) || (mc == undefined)) {
synchronizeMovie = function () {
};
m_mc = null;
} else {
m_mc = mc;
synchronizeMovie = moveMovieToCurentPosition;
}
}
function getMovie() {
return(m_mc);
}
}
Symbol 982 MovieClip [__Packages.iriysoft.pengine.math.CVector2D] Frame 0
class iriysoft.pengine.math.CVector2D
{
var x, y;
function CVector2D (nx, ny) {
init(nx, ny);
}
function init(nx, ny) {
x = nx;
y = ny;
}
function copyFrom(v) {
x = v.x;
y = v.y;
}
function copyTo(v) {
v.x = x;
v.y = y;
}
function plusXY(nx, ny) {
x = x + nx;
y = y + ny;
}
static function getDistanceBetween(p1, p2) {
var _local2 = p1.x - p2.x;
var _local1 = p1.y - p2.y;
return(Math.sqrt((_local2 * _local2) + (_local1 * _local1)));
}
function duplicate() {
return(new iriysoft.pengine.math.CVector2D(x, y));
}
function minus(v) {
x = x - v.x;
y = y - v.y;
}
function minusNew(v) {
return(new iriysoft.pengine.math.CVector2D(x - v.x, y - v.y));
}
function normalize() {
var _local2 = Math.sqrt((x * x) + (y * y));
x = x / _local2;
y = y / _local2;
}
function reverseNew() {
return(new iriysoft.pengine.math.CVector2D(-x, -y));
}
function scalar(v) {
return((x * v.x) + (y * v.y));
}
function modul() {
return(Math.sqrt((x * x) + (y * y)));
}
function rotate(u) {
var _local4 = x;
var _local3 = y;
x = (_local4 * Math.cos(u)) - (_local3 * Math.sin(u));
y = (_local4 * Math.sin(u)) + (_local3 * Math.cos(u));
}
function rotateNew(u) {
return(new iriysoft.pengine.math.CVector2D((x * Math.cos(u)) - (y * Math.sin(u)), (x * Math.sin(u)) + (y * Math.cos(u))));
}
function mult(k) {
x = x * k;
y = y * k;
}
function multNew(k) {
return(new iriysoft.pengine.math.CVector2D(x * k, y * k));
}
function plus(v) {
x = x + v.x;
y = y + v.y;
}
function plusNew(v) {
return(new iriysoft.pengine.math.CVector2D(x + v.x, y + v.y));
}
function getDistanceTo(p1, p2) {
var _local3 = p1.y - p2.y;
var _local2 = p2.x - p1.x;
var _local6 = (p1.x * (p2.y - p1.y)) - (p1.y * (p2.x - p1.x));
var _local5 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
_local3 = _local3 / _local5;
_local2 = _local2 / _local5;
_local6 = _local6 / _local5;
return(((_local3 * x) + (_local2 * y)) + _local6);
}
function toString() {
return((("x=" + x) + " y=") + y);
}
}
Symbol 983 MovieClip [__Packages.iriysoft.pengine.particle.CWheel] Frame 0
class iriysoft.pengine.particle.CWheel extends iriysoft.pengine.particle.CParticle
{
var m_rim, m_acceleration, initParticle, m_koeffSpring, m_koeffSlip, m_radius, m_maxAccSpeed, m_speed, m_accSpeed, rot, intersectionFlag, lastIntersPoint, lastN, hitPointArray, normalArray, hitArray, intersArray, n_part, oldPos, _p, _n, p3, m_prevPosition, synchronizeMovie, m_mc, m_curPosition, obj;
function CWheel () {
super();
}
function setRotationMovie(rotationMovie) {
if ((rotationMovie == undefined) || (rotationMovie == null)) {
rotateMovie = function () {
};
m_rim = null;
} else {
rotateMovie = function () {
this.rot.rotate(this.m_speed / this.m_radius);
this.m_rim._rotation = Math.atan2(this.rot.y, this.rot.x) * iriysoft.pengine.particle.CWheel.ANGLE_180_DIV_PI;
};
m_rim = rotationMovie;
}
}
function setAccelerate(nAccelerate) {
m_acceleration = nAccelerate;
}
function getAccelerate() {
return(m_acceleration);
}
function initWheel(x, y, mass, rad, maxAccSpeed, mc, rotationMovie, koeffSpring, koeffSlip) {
_innerInit();
initParticle(x, y, mass, mc);
if (koeffSpring == undefined) {
koeffSpring = 0.1;
}
if (koeffSlip == undefined) {
koeffSlip = 0.1;
}
m_koeffSpring = koeffSpring;
m_koeffSlip = koeffSlip;
setRotationMovie(rotationMovie);
m_radius = rad;
m_maxAccSpeed = maxAccSpeed;
m_speed = 0;
m_accSpeed = 0;
rot = new iriysoft.pengine.math.CVector2D(1, 0);
intersectionFlag = false;
lastIntersPoint = new iriysoft.pengine.math.CVector2D(0, 0);
lastN = new iriysoft.pengine.math.CVector2D(0, 0);
var _local2;
var _local3 = (Math.PI*2) / m_hitCount;
hitPointArray = new Array(m_hitCount);
normalArray = new Array(m_hitCount);
hitArray = new Array(m_hitCount);
intersArray = new Array();
_local2 = 0;
while (_local2 < m_hitCount) {
hitPointArray[_local2] = new iriysoft.pengine.math.CVector2D(Math.sin(_local3 * _local2) * m_radius, (-Math.cos(_local3 * _local2)) * m_radius);
normalArray[_local2] = hitPointArray[_local2].multNew(-1);
normalArray[_local2].normalize();
_local2++;
}
m_acceleration = 0;
return(this);
}
function verlet(dTime, koeffDamp) {
super.verlet(dTime, koeffDamp);
m_accSpeed = Math.max(-m_maxAccSpeed, Math.min(m_maxAccSpeed, m_accSpeed + (m_acceleration * dTime)));
m_speed = Math.max((-m_maxSpeed) * dTime, Math.min((m_speed * koeffDamp) + m_accSpeed, m_maxSpeed * dTime));
rotateMovie();
}
function rotateMovie() {
}
function _innerInit() {
n_part = new iriysoft.pengine.math.CVector2D(0, 0);
oldPos = new iriysoft.pengine.math.CVector2D(0, 0);
_p = new iriysoft.pengine.math.CVector2D(0, 0);
_n = new iriysoft.pengine.math.CVector2D(0, 0);
p3 = new iriysoft.pengine.math.CVector2D(0, 0);
}
function checkCollision(hit_mc) {
var _local2;
var _local5;
_p.init(0, 0);
var _local9 = false;
var _local3;
var _local4;
var _local11;
oldPos.init(m_prevPosition.x, m_prevPosition.y);
_n.init(0, 0);
n_part.init(0, 0);
var _local10;
synchronizeMovie();
_local10 = 0;
_local2 = 0;
while (_local2 < m_hitCount) {
hitPointArray[_local2].copyTo(_p);
m_mc.localToGlobal(_p);
if ((hitArray[_local2] = hit_mc.hitTest(_p.x, _p.y, true))) {
_local9 = true;
_local3 = _local2;
_local10++;
}
_local2++;
}
if (_local10 == m_hitCount) {
m_curPosition.x = m_prevPosition.x + ((m_curPosition.x - m_prevPosition.x) * 0.3);
m_curPosition.y = m_prevPosition.y + ((m_curPosition.y - m_prevPosition.y) * 0.3);
synchronizeMovie();
return(undefined);
}
_local2 = 0;
if (_local9) {
while (true) {
_local2++;
if (_local2 == m_hitCount) {
_local2 = 0;
}
if (!hitArray[_local2]) {
_local3 = -1;
_local5 = 0;
while (_local5 < m_hitCount) {
_local2++;
if (_local2 == m_hitCount) {
_local2 = 0;
}
if (_local3 == -1) {
if (hitArray[_local2]) {
_local3 = _local2;
_n.plus(normalArray[_local2]);
normalArray[_local2].copyTo(n_part);
}
} else if (!hitArray[_local2]) {
_local4 = _local2 - 1;
if (_local4 < 0) {
_local4 = m_hitCount - 1;
}
intersArray.push({k1:_local3, k2:_local4, n:new iriysoft.pengine.math.CVector2D(n_part.x, n_part.y)});
_local3 = -1;
} else {
_n.plus(normalArray[_local2]);
n_part.plus(normalArray[_local2]);
}
_local5++;
}
break;
}
}
p3.init(0, 0);
if (intersArray.length > 0) {
_n.normalize();
if (intersectionFlag) {
_n.x = _n.x + lastN.x;
_n.y = _n.y + lastN.y;
_n.x = _n.x / 2;
_n.y = _n.y / 2;
}
var _local7;
_local11 = intersArray.length;
_local2 = 0;
while (_local2 < _local11) {
obj = intersArray.pop();
_local3 = obj.k1;
_local4 = obj.k2;
obj.n.copyTo(n_part);
m_curPosition.minusNew(m_prevPosition).copyTo(p3);
if (_n.scalar(p3) < 0) {
_local7 = Math.atan2(_n.y, _n.x);
p3.rotate(-_local7);
p3.x = (-p3.x) * m_koeffSpring;
p3.rotate(_local7);
pushOut(_local3, _local4, n_part, hit_mc);
m_prevPosition.x = m_curPosition.x - p3.x;
m_prevPosition.y = m_curPosition.y - p3.y;
} else {
pushOut(_local3, _local4, n_part, hit_mc);
}
_local2++;
}
validateRotation(_n, oldPos);
intersectionFlag = true;
m_curPosition.copyTo(lastIntersPoint);
_n.copyTo(lastN);
}
} else if (intersectionFlag) {
validateRotation(lastN, oldPos);
intersectionFlag = false;
}
synchronizeMovie();
}
function pushOut(k1, k2, n, hit_mc) {
n.normalize();
if (k1 != k2) {
var _local7 = (new iriysoft.pengine.math.CVector2D(0, 0)).getDistanceTo(hitPointArray[k1], hitPointArray[k2]);
_local7 = m_radius - Math.abs(_local7);
m_curPosition.plus(n.multNew(_local7));
m_prevPosition.plus(n.multNew(_local7));
} else {
var _local6 = n.multNew(-m_radius);
var _local4 = new iriysoft.pengine.math.CVector2D(0, 0);
var _local5 = 0;
var _local3 = 0.03;
while (true) {
_local6.copyTo(_local4);
m_mc.localToGlobal(_local4);
if (hit_mc.hitTest(_local4.x, _local4.y, true)) {
_local5++;
m_curPosition.x = m_curPosition.x + (n.x * _local3);
m_curPosition.y = m_curPosition.y + (n.y * _local3);
synchronizeMovie();
} else {
_local5--;
m_curPosition.x = m_curPosition.x - (n.x * _local3);
m_curPosition.y = m_curPosition.y - (n.y * _local3);
m_prevPosition.plus(n.multNew(_local3 * _local5));
break;
}
}
}
}
function validateRotation(n, oldPos) {
if ((!intersectionFlag) && (Math.abs(m_accSpeed) > 0.01)) {
if (Math.abs(m_accSpeed) < ((m_maxAccSpeed * 0.02) / 2)) {
m_accSpeed = 0;
} else if (m_accSpeed > 0) {
m_accSpeed = m_maxAccSpeed * 0.02;
} else {
m_accSpeed = (-m_maxAccSpeed) * 0.02;
}
}
var _local3 = new iriysoft.pengine.math.CVector2D(-n.y, n.x);
var _local6 = m_curPosition.minusNew(oldPos);
var _local5 = Math.atan2(_local3.y, _local3.x);
var _local2 = _local6.rotateNew(-_local5);
m_speed = _local2.x + m_accSpeed;
_local2.y = 0;
_local2.rotate(_local5);
var _local4 = 1 - m_koeffSlip;
m_curPosition.x = (m_curPosition.x + ((_local3.x * m_accSpeed) * _local4)) - (m_koeffFriction * _local2.x);
m_curPosition.y = (m_curPosition.y + ((_local3.y * m_accSpeed) * _local4)) - (m_koeffFriction * _local2.y);
m_accSpeed = m_accSpeed * m_koeffSlip;
}
function hasIntersection() {
return(intersectionFlag);
}
static var m_maxSpeed = 180;
static var m_hitCount = 16;
static var m_koeffFriction = 0.03;
static var ANGLE_180_DIV_PI = 57.2957795130823;
}
Symbol 984 MovieClip [__Packages.RiderAnim] Frame 0
class RiderAnim extends MovieClip
{
var mcMan, m_angle, m_state, gotoAndStop, _currentframe, mcDeathHit;
function RiderAnim () {
super();
mcMan.gotoAndStop(ANGLE_0_FRAME);
m_angle = 0;
m_state = ST_STAND;
}
function rotate(nAngle) {
m_angle = nAngle;
if (m_angle <= ANGLE_MIN_VAL) {
mcMan.gotoAndStop(ANGLE_FRAME_COUT);
} else if (m_angle >= ANGLE_MAX_VAL) {
mcMan.gotoAndStop(1);
} else {
var _local3 = ANGLE_0_FRAME / ANGLE_MIN_VAL;
var _local2 = m_angle * _local3;
mcMan.gotoAndStop(ANGLE_0_FRAME + Math.round(_local2));
}
}
function process() {
switch (m_state) {
case ST_SITDOWN :
if (mcMan._currentframe == mcMan._totalframes) {
state = (ST_SIT);
}
break;
case ST_HALFSIT :
if (mcMan._currentframe >= 4) {
state = (ST_STANDUP);
}
break;
case ST_STANDUP :
if (mcMan._currentframe != mcMan._totalframes) {
break;
}
state = (ST_STAND);
}
if (m_state >= ST_360_DEGREES) {
if (mcMan._currentframe == mcMan._totalframes) {
state = (ST_STAND);
}
}
}
function set state(nState) {
var _local2 = 1;
switch (nState) {
case ST_STAND :
gotoAndStop(1);
break;
case ST_SIT :
gotoAndStop(2);
mcMan.gotoAndStop(mcMan._totalframes);
break;
case ST_HALFSIT :
case ST_SITDOWN :
_local2 = mcMan._currentframe;
gotoAndStop(2);
if (m_state == ST_STANDUP) {
mcMan.gotoAndPlay(Math.min((mcMan._totalframes - _local2) + 1, mcMan._totalframes - 1));
}
break;
case ST_STANDUP :
_local2 = mcMan._currentframe;
gotoAndStop(3);
if ((m_state == ST_SITDOWN) || (m_state == ST_HALFSIT)) {
mcMan.gotoAndPlay(Math.min((mcMan._totalframes - _local2) + 1, mcMan._totalframes - 1));
}
break;
case ST_360_DEGREES :
gotoAndStop(4);
break;
case ST_720_DEGREES :
gotoAndStop(5);
break;
case ST_GRAB_NOSE :
gotoAndStop(6);
break;
case ST_GRAB_TAIL :
gotoAndStop(7);
break;
case ST_WHEELY :
gotoAndStop(FRAME_WHEELY);
break;
default :
gotoAndStop((4 + nState) - ST_360_DEGREES);
}
m_state = nState;
//return(state);
}
function getCurrentState() {
return((_currentframe + ST_360_DEGREES) - 4);
}
static function convertSateToTrick(state_) {
return((4 + state_) - ST_360_DEGREES);
}
function getCurAnimationKoeffComplete() {
return(mcMan._currentframe / mcMan._totalframes);
}
function get state() {
return(m_state);
}
function set angle(nAngle) {
m_angle = nAngle;
//return(angle);
}
function get angle() {
return(m_angle);
}
function checkDeath(hitArea) {
return(Rider.checkPointVsMovie(mcDeathHit, hitArea));
}
function stopAnim(enable_) {
if (enable_) {
mcMan.stop();
} else if (mcMan._currentframe != mcMan._totalframes) {
mcMan.play();
}
}
static var ST_STAND = 0;
static var ST_SIT = 1;
static var ST_STANDUP = 2;
static var ST_SITDOWN = 3;
static var ST_HALFSIT = 4;
static var ST_WHEELY = 5;
static var ST_360_DEGREES = 6;
static var ST_720_DEGREES = 7;
static var ST_GRAB_NOSE = 8;
static var ST_GRAB_TAIL = 9;
static var ANGLE_FRAME_COUT = 60;
static var ANGLE_0_FRAME = ANGLE_FRAME_COUT / 2;
static var ANGLE_MIN_VAL = -50;
static var ANGLE_MAX_VAL = 50;
static var DARREN_SPEC2 = 1;
static var DARREN_SPEC1 = 2;
static var TRICK_GRAB_NOSE = 3;
static var TRICK_GRAB_TAIL = 4;
static var TRICK_WHEELY = 5;
static var STAND_ROT_360 = 6;
static var BUNNY_SPEC_1 = 7;
static var KATE_SPEC_1 = 8;
static var KATE_SPEC_2 = 9;
static var PIERRE_SPEC_1 = 10;
static var BUNNY_SPEC_2 = 11;
static var PIERRE_SPEC_2 = 12;
static var TRICK_BACK_FLIP = 13;
static var TRICK_FRONT_FLIP = 14;
static var FRAME_DEAD = 16;
static var FRAME_WHEELY = 8;
}
Symbol 985 MovieClip [__Packages.RiderParam] Frame 0
class RiderParam
{
function RiderParam () {
}
}
Symbol 986 MovieClip [__Packages.race.RaceData] Frame 0
class race.RaceData
{
var _race, _comboCount, stats, alertSound, yetiTime, rider, riderParam, level, engine, camera, _rideScore, __prevYetiTrick, _obtacles, _yetiTrick, _curObtacle;
function RaceData (race_) {
initByNull();
_race = race_;
reset();
}
function reset() {
_comboCount = 0;
stats = new LevelStatistic();
alertSound = false;
_race.mcYetiPanel._visible = false;
yetiTime = 0;
}
function get raceInstance() {
return(_race);
}
function initByNull() {
rider = null;
riderParam = null;
level = null;
engine = null;
camera = null;
stats = null;
}
function destroy() {
initByNull();
}
function set rideScore(score) {
_rideScore = score;
_race.m_panel.txtScore = _rideScore;
//return(rideScore);
}
function get rideScore() {
return(_rideScore);
}
function resetInterface(levelNum, rideScore_, qualification_) {
_race.m_panel.txtLevel = levelNum;
_race.m_panel.txtQualification = qualification_;
rideScore = (rideScore_);
_race.mcHint._visible = false;
resetCombo();
__prevYetiTrick = -1;
makeYetiTrick();
showWarning(false);
showWarningBall(false);
_obtacles = prepareLevelObtacles(level.obtacles);
}
function makeTrick(trickId, time) {
iriysoft.sound.CSoundService.playSound(GameConst.SND_TRICK);
iriysoft.sound.CSoundService.getSoundAt(GameConst.SND_TRICK).setVolume(70);
if (time == undefined) {
time = 1;
}
checkYeti(trickId);
stats.trickCount++;
var _local4 = 0;
if (trickId != RiderAnim.TRICK_WHEELY) {
if (rider.trickChainCounter > 0) {
stats.trickChainCount++;
_local4 = _local4 + (rider.trickChainCounter * 250);
}
rider.trickChainCounter++;
}
var _local3 = 1000 * _comboCount;
_comboCount = 0;
var _local5 = GameConst.SCORE_FORTRICK[trickId] * time;
if (((trickId == RiderAnim.TRICK_WHEELY) || (trickId == RiderAnim.TRICK_BACK_FLIP)) || (trickId == RiderAnim.TRICK_FRONT_FLIP)) {
stats.naturalTrickCount++;
stats.naturalTrickScore = stats.naturalTrickScore + _local5;
_local3 = 0;
} else {
stats.trickScore = stats.trickScore + _local5;
}
var _local7 = (_local5 + _local3) + _local4;
stats.totalComboScore = stats.totalComboScore + (_local3 + _local4);
rideScore = rideScore + _local7;
_race.mcTrick.mcMessage.txtTrick = (GameConst.TRICK_NAMES[trickId] + " ") + String(_local5);
_race.mcTrick.mcMessage.txtCombo.text = "";
_race.mcTrick.mcMessage.txtCombo._visible = false;
if (rider.trickChainCounter > 1) {
_race.mcTrick.mcMessage.txtCombo._visible = true;
_race.mcTrick.mcMessage.txtCombo.text = _race.mcTrick.mcMessage.txtCombo.text + (((("" + rider.trickChainCounter) + "X COMBO: ") + _local4) + newline);
}
if (_local3 > 0) {
_race.mcTrick.mcMessage.txtCombo._visible = true;
_race.mcTrick.mcMessage.txtCombo.text = _race.mcTrick.mcMessage.txtCombo.text + ("BONUS: " + _local3);
}
_race.mcTrick.gotoAndPlay(2);
}
function updateYetiPanel(trickName_, comboCount_, keyHintPos_) {
_race.mcYetiPanel.txtTrickName = trickName_;
_race.mcYetiPanel.txtComboBonus = String(comboCount_);
if (comboCount_ > 0) {
_race.mcYetiPanel.mcYeti.play();
}
if (keyHintPos_ != undefined) {
_race.mcYetiPanel.mcKeyboard.gotoAndStop(keyHintPos_);
}
}
function processYeti() {
yetiTime++;
if (yetiTime >= 400) {
yetiTime = 0;
_race.mcYetiPanel._visible = false;
} else if (yetiTime == 200) {
_race.mcYetiPanel._visible = true;
}
}
function checkYeti(trickID_) {
if (!_race.mcYetiPanel._visible) {
return(undefined);
}
if (((((trickID_ != RiderAnim.TRICK_GRAB_TAIL) && (trickID_ != RiderAnim.TRICK_GRAB_NOSE)) && (trickID_ != RiderAnim.STAND_ROT_360)) && (trickID_ != riderParam.idSpecialTrick1)) && (trickID_ != riderParam.idSpecialTrick2)) {
return(undefined);
}
if (_yetiTrick == trickID_) {
iriysoft.sound.CSoundService.playSound(GameConst.SND_YETTI2);
_comboCount++;
stats.totalComboCount++;
} else {
resetCombo();
updateYetiPanel(GameConst.TRICK_NAMES[_yetiTrick], _comboCount);
return(undefined);
}
makeYetiTrick();
}
function makeYetiTrick() {
do {
var val = Math.floor(Math.random() * 5);
} while (__prevYetiTrick == val);
__prevYetiTrick = val;
switch (val) {
case 0 :
_yetiTrick = RiderAnim.TRICK_GRAB_TAIL;
break;
case 1 :
_yetiTrick = RiderAnim.TRICK_GRAB_NOSE;
break;
case 2 :
_yetiTrick = RiderAnim.STAND_ROT_360;
break;
case 3 :
_yetiTrick = riderParam.idSpecialTrick1;
break;
default :
_yetiTrick = riderParam.idSpecialTrick2;
}
yetiTime = 0;
_race.mcYetiPanel._visible = false;
updateYetiPanel(GameConst.TRICK_NAMES[_yetiTrick], _comboCount, val + 1);
}
function resetCombo() {
if (stats.maxCombo < _comboCount) {
stats.maxCombo = _comboCount;
}
_comboCount = 0;
}
function showWarning(enable_) {
if (enable_ == undefined) {
enable_ = true;
}
if (enable_) {
if (!alertSound) {
iriysoft.sound.CSoundService.playSound(GameConst.SND_ALERT, true, 1);
}
alertSound = true;
} else {
alertSound = false;
}
_race.mcWarning._visible = enable_;
}
function showWarningBall(enable_) {
if (enable_ == undefined) {
enable_ = true;
}
if (enable_) {
if (!alertSound) {
iriysoft.sound.CSoundService.playSound(GameConst.SND_ALERT, true, 1);
}
alertSound = true;
} else {
alertSound = false;
}
_race.mcWarningBall._visible = enable_;
}
function prepareLevelObtacles(place_) {
var _local3 = new Array();
for (var _local4 in place_) {
if (MovieClip(place_[_local4]) != null) {
_local3.push(place_[_local4]);
}
}
_local3 = _local3.sort(function (a, b) {
if (a._x < b._x) {
return(-1);
}
return(1);
});
_curObtacle = 0;
return(_local3);
}
function checkObteclesMessage(posX) {
var _local2 = _curObtacle;
while (_local2 < _obtacles.length) {
if ((_obtacles[_local2]._x - posX) > GameConst.MIN_OBTACLE_DISTANCE) {
break;
}
_local2++;
}
_curObtacle = _local2;
if ((_obtacles[_curObtacle]._x - posX) < GameConst.MAX_OBTACLE_DISTANCE) {
showWarning(true);
} else {
showWarning(false);
}
}
function processHint() {
if (rider.wheelyHintCounter > GameConst.TIME_TRICK_HINT) {
_race.mcHint._visible = true;
_race.mcHint.gotoAndStop(2);
if (rider.jumpHintCounter > GameConst.TIME_BETWEEN_TRICK_HINT) {
rider.jumpHintCounter = GameConst.TIME_BETWEEN_TRICK_HINT;
}
} else if (rider.jumpHintCounter > GameConst.TIME_TRICK_HINT) {
_race.mcHint._visible = true;
_race.mcHint.gotoAndStop(1);
if (rider.wheelyHintCounter > GameConst.TIME_BETWEEN_TRICK_HINT) {
rider.wheelyHintCounter = GameConst.TIME_BETWEEN_TRICK_HINT;
}
} else {
_race.mcHint._visible = false;
}
}
}
Symbol 987 MovieClip [__Packages.GameScreen] Frame 0
class GameScreen extends MovieClip
{
var stop, _gameData;
function GameScreen () {
super();
stop();
}
function reset(gameData_) {
_gameData = gameData_;
}
function process() {
}
function defaultAction() {
}
function lostFocus() {
}
function setFocus() {
}
function close() {
}
}
Symbol 988 MovieClip [__Packages.GameData] Frame 0
class GameData
{
var _game, score, curLevel, lastLevelData, keyManager, finalScreenShowed, _levelsData, _curRider;
function GameData (game_) {
_game = game_;
}
function get game() {
return(_game);
}
function reset() {
createLevelData();
score = 0;
curRider = (GameConst.RIDER_KATE);
curLevel = new LevelData();
lastLevelData = new LevelStatistic();
keyManager = new iriysoft.keyboard.KeyManager();
keyManager.init(GameConst.REAL_KEYS, GameConst.LOGIC_KEYS);
finalScreenShowed = false;
}
function checkSave() {
var _local1 = false;
var _local2 = SharedObject.getLocal(GameConst.DATA_NAME);
if (_local2.getSize() > 0) {
_local1 = true;
}
_local2.close();
return(_local1);
}
function loadData() {
reset();
var _local3 = SharedObject.getLocal(GameConst.DATA_NAME);
if (_local3.getSize() > 0) {
var _local2 = 0;
while (_local2 < GameConst.LEVEL_COUNT) {
_levelsData[_local2].load(_local2, _local3.data);
_local2++;
}
curLevel.number = _local3.data.curLevel;
curRider = (_local3.data.curRider);
}
finalScreenShowed = getUnCompleteLevel() == GameConst.LEVEL_COUNT;
_local3.close();
return(true);
}
function saveData() {
var _local3 = SharedObject.getLocal(GameConst.DATA_NAME);
var _local2 = 0;
while (_local2 < GameConst.LEVEL_COUNT) {
_levelsData[_local2].save(_local2, _local3.data);
_local2++;
}
_local3.data.curLevel = curLevel.number;
_local3.data.curRider = curRider;
_local3.flush();
_local3.close();
}
function createLevelData() {
_levelsData = new Array(GameConst.LEVEL_COUNT);
var _local2 = 0;
while (_local2 < GameConst.LEVEL_COUNT) {
_levelsData[_local2] = new LevelStatistic();
_local2++;
}
}
function getTotalScore() {
var _local3 = 0;
var _local2 = 0;
while (_local2 < GameConst.LEVEL_COUNT) {
_local3 = _local3 + LevelStatistic(_levelsData[_local2]).levelScore;
_local2++;
}
return(_local3);
}
function getUnCompleteLevel() {
var _local2 = 0;
while (_local2 < GameConst.LEVEL_COUNT) {
if (LevelStatistic(_levelsData[_local2]).qualification < GameConst.getLevelQualification(_local2)) {
return(_local2);
}
_local2++;
}
return(GameConst.LEVEL_COUNT);
}
function getLevelData(levelNum) {
return(_levelsData[levelNum]);
}
function selectLevel(levelNum_) {
if (levelNum_ >= GameConst.LEVEL_COUNT) {
levelNum_ = GameConst.LEVEL_COUNT - 1;
}
GameConst.initLevelData(levelNum_, curLevel);
}
function get curRider() {
return(_curRider);
}
function set curRider(nCurRider) {
_curRider = nCurRider;
//return(curRider);
}
}
Symbol 989 MovieClip [__Packages.Game] Frame 0
class Game extends MovieClip
{
var _gData, _gScreen, _modalMode, _prevSateID, _curSateID, gotoAndStop, mcScreen, _messageScreen, attachMovie;
function Game () {
super();
_gData = new GameData(this);
createButtons();
LevelButton.gameData = _gData;
GameConst.gameData = _gData;
iriysoft.sound.CSoundService.createSoundService(GameConst.SOUNDS_NAMES, this, 9999);
}
function onLoad() {
_gScreen = null;
changeScreen(GameConst.GSID_SPLASH);
_gScreen.reset(_gData);
}
function onEnterFrame() {
if (!_modalMode) {
_gScreen.process();
}
_gData.keyManager.process();
if (_gData.keyManager.isKeyReleased(GameConst.DEFAULT_KEY_MASK) && (!_modalMode)) {
_gScreen.defaultAction();
}
}
function changeScreen(scrID) {
disableMessageScreen();
_prevSateID = _curSateID;
_curSateID = scrID;
if (_gScreen != null) {
_gScreen.close();
}
gotoAndStop(GameConst.getScreenLabel(_curSateID));
_gScreen = mcScreen;
_gScreen.onLoad = mx.utils.Delegate.create(this, function () {
this._gScreen.reset(this._gData);
});
}
function resetScreen() {
disableMessageScreen();
_gScreen.reset(_gData);
}
function enableMessageScreen(movieName_, posX_, posY_, modalMode_) {
if (modalMode_ == undefined) {
modalMode_ = false;
}
_modalMode = modalMode_;
if (_modalMode) {
_gScreen.lostFocus();
}
_messageScreen = attachMovie(movieName_, movieName_ + 1231, 32001);
_messageScreen._x = posX_;
_messageScreen._y = posY_;
}
function disableMessageScreen() {
if (_modalMode) {
_gScreen.setFocus();
}
_modalMode = false;
if (_messageScreen != undefined) {
_messageScreen.removeMovieClip();
}
}
function createNewGame() {
_gData.reset();
_gData.selectLevel(0);
changeScreen(GameConst.GSID_MAP);
}
function continueGame() {
_gData.loadData();
_gData.selectLevel(_gData.curLevel.number);
changeScreen(GameConst.GSID_MAP);
}
function startLevel(levelNum_) {
if (levelNum_ == undefined) {
levelNum_ = _gData.curLevel.number;
}
_gData.selectLevel(levelNum_);
changeScreen(GameConst.GSID_CHOICE);
}
function tryNewGame() {
if (_gData.checkSave()) {
enableMessageScreen("newGameScreen", GameConst.SCR_WIDTH / 2, GameConst.SCR_HEIGHT / 2, true);
} else {
createNewGame();
}
}
function createButtons() {
iriysoft.button.AutoButton.getActionForButton("btnStart").__set__func(mx.utils.Delegate.create(this, tryNewGame));
iriysoft.button.AutoButton.getActionForButton("btnContinue").__set__func(mx.utils.Delegate.create(this, continueGame));
iriysoft.button.AutoButton.getActionForButton("btnCloseRace").__set__func(mx.utils.Delegate.create(this, function () {
this.changeScreen(GameConst.GSID_SPLASH);
}));
iriysoft.button.AutoButton.getActionForButton("btnAbout").__set__func(mx.utils.Delegate.create(this, function () {
this.changeScreen(GameConst.GSID_ABOUT);
}));
iriysoft.button.AutoButton.getActionForButton("btnHelpBack").__set__func(mx.utils.Delegate.create(this, function () {
this.changeScreen(this._prevSateID);
}));
iriysoft.button.AutoButton.getActionForButton("btnTryAgain").__set__func(mx.utils.Delegate.create(this, function () {
this.changeScreen(GameConst.GSID_RACE);
}));
iriysoft.button.AutoButton.getActionForButton("btnTryAgain2").__set__func(mx.utils.Delegate.create(this, function () {
this.resetScreen();
}));
iriysoft.button.AutoButton.getActionForButton("btnCloseModal").__set__func(mx.utils.Delegate.create(this, function () {
this.disableMessageScreen();
}));
iriysoft.button.AutoButton.getActionForButton("btnHelp").__set__func(mx.utils.Delegate.create(this, makeHelpScreen));
iriysoft.button.AutoButton.getActionForButton("btnResume").__set__func(mx.utils.Delegate.create(this, function () {
GameConst.__set__pause(false);
}));
iriysoft.button.AutoButton.getActionForButton("btnWin").__set__func(mx.utils.Delegate.create(this, win));
iriysoft.button.AutoButton.getActionForButton("btnNewNo").__set__func(mx.utils.Delegate.create(this, function () {
this.changeScreen(GameConst.GSID_SPLASH);
}));
iriysoft.button.AutoButton.getActionForButton("btnNewYes").__set__func(mx.utils.Delegate.create(this, createNewGame));
iriysoft.button.AutoButton.getActionForButton("btnSubmit").__set__func(mx.utils.Delegate.create(this, function () {
this.changeScreen(GameConst.GSID_SUBMIT);
}));
iriysoft.button.AutoButton.getActionForButton("btnToMap").__set__func(mx.utils.Delegate.create(this, function () {
this.toMap();
}));
}
function makeHelpScreen() {
CRiderColor.curRiderColor = GameConst.RIDER_PIERRE + 1;
enableMessageScreen("helpScreen", GameConst.SCR_WIDTH / 2, GameConst.SCR_HEIGHT / 2, true);
}
function toMap() {
_gData.curLevel.number++;
var _local2 = _gData.getUnCompleteLevel();
if (_gData.curLevel.number > _local2) {
_gData.curLevel.number = _local2;
}
if (_gData.curLevel.number >= GameConst.LEVEL_COUNT) {
_gData.curLevel.number = 0;
}
changeScreen(GameConst.GSID_MAP);
if ((!_gData.finalScreenShowed) && (_local2 == GameConst.LEVEL_COUNT)) {
enableMessageScreen("msgWin", GameConst.SCR_WIDTH / 2, GameConst.SCR_HEIGHT / 2, true);
_gData.finalScreenShowed = true;
}
}
function win() {
_gData.getLevelData(_gData.curLevel.number).qualification = 30;
_gData.selectLevel(_gData.getUnCompleteLevel());
changeScreen(GameConst.GSID_MAP);
}
}
Symbol 990 MovieClip [__Packages.iriysoft.button.AutoButton] Frame 0
class iriysoft.button.AutoButton extends Button
{
var _butFunc, _name;
function AutoButton () {
super();
if (_buttonFunctionBase == null) {
_buttonFunctionBase = new Object();
}
autoRegisterButton();
}
static function getActionForButton(buttonName) {
if (_buttonFunctionBase == null) {
_buttonFunctionBase = new Object();
}
if (_buttonFunctionBase[buttonName] == null) {
_buttonFunctionBase[buttonName] = new iriysoft.button.ButtonFunction();
}
return(iriysoft.button.ButtonFunction(_buttonFunctionBase[buttonName]));
}
function autoRegisterButton() {
_butFunc = getActionForButton(_name);
}
function onPress() {
_butFunc.call();
}
static var _buttonFunctionBase = null;
}
Symbol 991 MovieClip [__Packages.iriysoft.button.ButtonFunction] Frame 0
class iriysoft.button.ButtonFunction
{
var _function;
function ButtonFunction () {
_function = function () {
};
}
function set func(function_) {
_function = function_;
//return(func);
}
function get func() {
return(_function);
}
function call() {
return(_function());
}
}
Symbol 992 MovieClip [__Packages.LevelButton] Frame 0
class LevelButton extends iriysoft.button.AutoButton
{
static var uncompleteLevel, gameData, updateInfoMessage;
var levelNum, txtName, mcIcon, enabled, txtLevelNum, _parent;
function LevelButton () {
super();
}
function onLoad() {
setText(String(levelNum + 1));
txtName.text = GameConst.LEVEL_NAMES[levelNum];
uncompleteLevel = gameData.getUnCompleteLevel();
updateView();
mcIcon.myParent = this;
mcIcon.onEnterFrame = function () {
this.myParent.updateView();
};
}
function updateView() {
if (gameData.curLevel.number == levelNum) {
mcIcon.gotoAndStop(3);
} else if (levelNum <= uncompleteLevel) {
mcIcon.gotoAndStop(2);
} else {
enabled = false;
mcIcon.gotoAndStop(1);
onRollOut = function () {
};
onRollOver = function () {
};
onPress = function () {
};
}
}
function setText(text_) {
txtLevelNum = text_;
}
function onRollOver() {
updateInfoMessage(levelNum);
_parent["mcHel" + (levelNum + 1)].gotoAndStop(2);
}
function onRollOut() {
updateInfoMessage(gameData.curLevel.number);
_parent["mcHel" + (levelNum + 1)].gotoAndStop(1);
}
function onPress() {
iriysoft.sound.CSoundService.playSound(GameConst.SND_BUTTON);
startLevel();
}
function startLevel() {
if (levelNum <= uncompleteLevel) {
gameData.selectLevel(levelNum);
}
gameData.__get__game().startLevel(levelNum);
}
}
Symbol 993 MovieClip [__Packages.iriysoft.sound.CSoundService] Frame 0
class iriysoft.sound.CSoundService extends MovieClip
{
var m_sounds, m_soundsState, m_soundsNames, createEmptyMovieClip, onEnterFrame;
function CSoundService () {
super();
mx.events.EventDispatcher.initialize(this);
}
function realPlaySound(id, repeatCount) {
if (!m_soundOn) {
return(undefined);
}
Sound(m_sounds[id]).start(0, repeatCount);
}
function processSounds() {
var _local2 = 0;
while (_local2 < m_sounds.length) {
if (m_soundsState[_local2] > 0) {
realPlaySound(_local2, m_soundsState[_local2]);
m_soundsState[_local2] = ST_PLAY;
break;
}
_local2++;
}
}
function init(soundNames) {
m_soundsNames = soundNames;
m_sounds = new Array(soundNames.length);
m_soundsState = new Array(soundNames.length);
var _local2 = 0;
while (_local2 < soundNames.length) {
var _local4 = createEmptyMovieClip("_contMovie" + _local2, 1000 + _local2);
var _local3 = new Sound(_local4);
_local3.attachSound(soundNames[_local2]);
m_soundsState[_local2] = ST_STOP;
_local3.sounID = _local2;
_local3.parent = m_instance;
_local3.onSoundComplete = function () {
this.parent.m_soundsState[this.sounID] = iriysoft.sound.CSoundService.ST_STOP;
};
m_sounds[_local2] = _local3;
_local2++;
}
onEnterFrame = processSounds;
}
static function get instance() {
return(m_instance);
}
static function createSoundService(soundNames, soundsPlace, depthInSoundsPlace) {
m_instance = iriysoft.sound.CSoundService(soundsPlace.attachMovie("dmSoundService", "__SoundServiceObject", depthInSoundsPlace));
m_instance.init(soundNames);
return(m_instance);
}
static function playLoopSound(soundID, volume) {
if (volume == undefined) {
volume = 100;
}
if ((m_instance.m_loopSoundID >= 0) && (m_instance.m_loopSoundID != soundID)) {
stopSound(m_instance.m_loopSoundID);
}
m_instance.m_loopSoundID = soundID;
if (!soundIsPlay(m_instance.m_loopSoundID)) {
playCurLoopSound();
getSoundAt(m_instance.m_loopSoundID).setVolume(volume);
}
}
static function playCurLoopSound() {
playSound(m_instance.m_loopSoundID, true, 9999);
}
static function stopCurLoopSound() {
stopSound(m_instance.m_loopSoundID);
m_instance.m_loopSoundID = -1;
}
static function get soundOn() {
return(m_instance.m_soundOn);
}
static function set soundOn(state) {
m_instance.m_soundOn = state;
if (state) {
if (m_instance.m_loopSoundID >= 0) {
playCurLoopSound();
}
} else {
var _local1 = 0;
while (_local1 < m_instance.m_sounds.length) {
stopSound(_local1);
_local1++;
}
}
var _local2 = new Object();
_local2.type = EVENT_CHANGE_SOUND_ON;
_local2.target = m_instance;
_local2[EVENT_VAR_NAME_SOUND_ON] = m_instance.m_soundOn;
m_instance.dispatchEvent(_local2);
//return(soundOn);
}
static function soundIsPlay(id) {
return(m_instance.m_soundsState[id] != ST_STOP);
}
static function playSound(id, ifSoundStop, repeatCount) {
if (repeatCount == undefined) {
repeatCount = 1;
}
if (ifSoundStop == undefined) {
ifSoundStop = false;
}
if (!m_instance.m_soundOn) {
return(undefined);
}
if (ifSoundStop && (soundIsPlay(id))) {
return(undefined);
}
m_instance.m_soundsState[id] = repeatCount;
}
static function stopSound(id) {
Sound(m_instance.m_sounds[id]).stop(m_instance.m_soundsNames[id]);
m_instance.m_soundsState[id] = ST_STOP;
}
static function getSoundAt(soundNum) {
return(m_instance.m_sounds[soundNum]);
}
static function stopAllSound() {
var _local1 = 0;
while (_local1 < m_instance.m_sounds.length) {
stopSound(_local1);
_local1++;
}
}
var m_loopSoundID = -1;
static var m_instance = null;
var m_soundOn = true;
static var ST_PLAY = -1;
static var ST_STOP = 0;
static var PLAY_OPT_ALWAYS = 0;
static var PLAY_OPT_IFSTOP = 1;
static var PLAY_OPT_STOPANDPLAY = 2;
static var EVENT_CHANGE_SOUND_ON = "change soundOn";
static var EVENT_VAR_NAME_SOUND_ON = "SoundOn";
}
Symbol 994 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent != undefined) {
_local1.handleEvent(eventObj);
}
if (_local1[eventObj.type] != undefined) {
if (exceptions[eventObj.type] == undefined) {
_local1[eventObj.type](eventObj);
}
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 995 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 996 MovieClip [__Packages.CRiderColor] Frame 0
class CRiderColor extends MovieClip
{
var gotoAndStop;
function CRiderColor () {
super();
}
function onLoad() {
gotoAndStop(curRiderColor);
}
static var curRiderColor = 1;
}
Symbol 997 MovieClip [__Packages.iriysoft.keyboard.KeyManager] Frame 0
class iriysoft.keyboard.KeyManager
{
var m_pressedKeyState, m_firstPressedKeyState, m_releasedKeyState, m_prevPressedKeyState, m_curSequence, m_delayBetweenPressure, m_allKeySequence, m_aRealKeys, m_aLogicKeys;
function KeyManager () {
m_pressedKeyState = new iriysoft.keyboard.MultiState();
m_firstPressedKeyState = new iriysoft.keyboard.MultiState();
m_releasedKeyState = new iriysoft.keyboard.MultiState();
m_prevPressedKeyState = new iriysoft.keyboard.MultiState();
m_curSequence = new Array();
m_delayBetweenPressure = 0;
}
function resetSequence() {
m_delayBetweenPressure = 0;
while (m_curSequence.pop() != undefined) {
}
}
function checkSequenceByNum(sequenceNum) {
var _local3 = 0;
var _local2 = m_curSequence.length - 1;
while (_local2 >= 0) {
if (m_allKeySequence[sequenceNum][_local2] != m_curSequence[_local2]) {
break;
}
_local3++;
_local2--;
}
return(_local3);
}
function checkAllSequence() {
var _local3 = 0;
var _local4 = 0;
var _local2 = 0;
while (_local2 < m_allKeySequence.length) {
_local3 = checkSequenceByNum(_local2);
if (_local3 == m_allKeySequence[_local2].length) {
return(_local2);
}
_local4 = _local4 + _local3;
_local2++;
}
if (_local4 == 0) {
resetSequence();
}
return(-1);
}
function init(aRealKeys, aLogicKeys) {
m_aRealKeys = aRealKeys;
m_aLogicKeys = aLogicKeys;
return(this);
}
function process() {
m_prevPressedKeyState.__set__curMask(m_pressedKeyState.curMask);
m_firstPressedKeyState.__set__curMask(0);
m_pressedKeyState.__set__curMask(0);
m_releasedKeyState.__set__curMask(0);
var _local2 = 0;
while (_local2 < m_aRealKeys.length) {
if (Key.isDown(m_aRealKeys[_local2])) {
m_pressedKeyState.addMask(m_aLogicKeys[_local2]);
if (!m_prevPressedKeyState.checkMask(m_aLogicKeys[_local2])) {
m_firstPressedKeyState.addMask(m_aLogicKeys[_local2]);
}
} else if (m_prevPressedKeyState.checkMask(m_aLogicKeys[_local2])) {
m_releasedKeyState.addMask(m_aLogicKeys[_local2]);
}
_local2++;
}
if (m_firstPressedKeyState.__get__curMask() != 0) {
m_delayBetweenPressure = 0;
m_curSequence.push(m_pressedKeyState.__get__curMask());
} else {
m_delayBetweenPressure++;
if (m_delayBetweenPressure > MAX_DELAY_BETWEEN_PRESSURE) {
resetSequence();
}
}
}
function isKeyFirstPressed(keyMask) {
return(m_firstPressedKeyState.checkMask(keyMask));
}
function isKeyPressed(keyMask) {
return(m_pressedKeyState.checkMask(keyMask));
}
function isKeyReleased(keyMask) {
return(m_releasedKeyState.checkMask(keyMask));
}
function get pressedKeyState() {
return(m_pressedKeyState);
}
static var MAX_DELAY_BETWEEN_PRESSURE = 8;
}
Symbol 998 MovieClip [__Packages.iriysoft.keyboard.MultiState] Frame 0
class iriysoft.keyboard.MultiState
{
var m_state, m_prevState;
function MultiState () {
m_state = (m_prevState = 0);
}
function set curMask(nState) {
m_prevState = m_state;
m_state = nState;
//return(curMask);
}
function get curMask() {
return(m_state);
}
function checkMask(nState) {
return((m_state & nState) != 0);
}
function checkPrevStateMask(nState) {
return((m_prevState & nState) != 0);
}
function addMask(nState) {
curMask = curMask | nState;
}
function delMask(nState) {
curMask = curMask & (~nState);
}
function getDiferent(nState) {
return(m_state & (~nState));
}
function getLastChange() {
return(m_prevState & (~m_state));
}
}
Symbol 999 MovieClip [__Packages.LevelStatistic] Frame 0
class LevelStatistic
{
var levelScore, maxCombo, qualification, trickCount, totalComboCount, naturalTrickCount, trickScore, totalComboScore, naturalTrickScore, trickChainCount;
function LevelStatistic () {
levelScore = 0;
maxCombo = 0;
qualification = 0;
trickCount = 0;
totalComboCount = 0;
naturalTrickCount = 0;
trickScore = 0;
totalComboScore = 0;
naturalTrickScore = 0;
trickChainCount = 0;
}
function compare(levelStat_) {
if (levelScore > levelStat_.levelScore) {
return(1);
}
if (levelScore < levelStat_.levelScore) {
return(-1);
}
return(0);
}
function copyFrom(levelStat_) {
levelScore = levelStat_.levelScore;
maxCombo = levelStat_.maxCombo;
qualification = levelStat_.qualification;
trickCount = levelStat_.trickCount;
totalComboCount = levelStat_.totalComboCount;
naturalTrickCount = levelStat_.naturalTrickCount;
trickScore = levelStat_.trickScore;
totalComboScore = levelStat_.totalComboScore;
naturalTrickScore = levelStat_.naturalTrickScore;
}
function save(levelNum, data) {
data["levelScore" + levelNum] = levelScore;
data["maxCombo" + levelNum] = maxCombo;
data["qualification" + levelNum] = qualification;
data["trickCount" + levelNum] = trickCount;
data["totalComboCount" + levelNum] = totalComboCount;
data["naturalTrickCount" + levelNum] = naturalTrickCount;
data["trickScore" + levelNum] = trickScore;
data["totalComboScore" + levelNum] = totalComboScore;
data["naturalTrickScore" + levelNum] = naturalTrickScore;
}
function load(levelNum, data) {
levelScore = data["levelScore" + levelNum];
maxCombo = data["maxCombo" + levelNum];
qualification = data["qualification" + levelNum];
trickCount = data["trickCount" + levelNum];
totalComboCount = data["totalComboCount" + levelNum];
naturalTrickCount = data["naturalTrickCount" + levelNum];
trickScore = data["trickScore" + levelNum];
totalComboScore = data["totalComboScore" + levelNum];
naturalTrickScore = data["naturalTrickScore" + levelNum];
}
}
Symbol 1000 MovieClip [__Packages.ScreenRace] Frame 0
class ScreenRace extends GameScreen
{
var _raceData, _raceState, mcLevelPlace, _gameData;
function ScreenRace () {
super();
_raceData = new race.RaceData(this);
_raceState = new race.RaceState(_raceData);
}
function reset(gameData_) {
super.reset(gameData_);
_raceData.reset();
_raceData.level = mcLevelPlace.attachMovie(_gameData.curLevel.idName, _gameData.curLevel.idName + "_", 111);
_raceData.engine = new iriysoft.pengine.CParticleEngine(_raceData.level.hitSurface, GameConst.GRAVITY);
CRiderColor.curRiderColor = _gameData.__get__curRider() + 1;
if (_raceData.riderParam == null) {
_raceData.riderParam = new RiderParam();
}
GameConst.setRiderParam(_gameData.__get__curRider(), _raceData.riderParam);
switch (_gameData.curLevel.levelType) {
case GameConst.LEVEL_TYPE_HELICOPTER :
changeRaceState(new race.StateDownhillHelicopter(_raceData));
break;
case GameConst.LEVEL_TYPE_SNOWBALL :
changeRaceState(new race.StateDownhillShowball(_raceData));
break;
default :
changeRaceState(new race.StateDownhill(_raceData));
}
_raceData.resetInterface(_gameData.curLevel.number + 1, 0, _gameData.curLevel.qualification);
iriysoft.sound.CSoundService.playLoopSound(GameConst.SND_LOOP2, GameConst.LOOP_VOLUME);
GameConst.__set__pause(false);
makeDefaultAction(false);
}
function close() {
_raceData.destroy();
_raceData = null;
_raceState.destroy();
_raceState = null;
}
function changeRaceState(newState_) {
_raceState.destroy();
_raceState = newState_;
}
function process() {
_raceState.process();
}
function finishRace() {
updateLastLevelStatistic();
_gameData.__get__game().changeScreen(GameConst.GSID_JUDGES);
}
function enableLoseMessage() {
_gameData.__get__game().enableMessageScreen("LoseScreen", GameConst.SCR_WIDTH / 2, GameConst.SCR_HEIGHT / 2, false);
makeDefaultAction(true);
}
function updateLastLevelStatistic() {
_raceData.resetCombo();
_gameData.lastLevelData = _raceData.stats;
_gameData.lastLevelData.levelScore = _raceData.rideScore;
}
function lostFocus() {
_raceData.rider.stopAnim(true);
_raceState.lostFocus();
}
function setFocus() {
_raceData.rider.stopAnim(false);
_raceState.setFocus();
}
function getKeyManager() {
return(_gameData.keyManager);
}
function defaultAction() {
}
function makeDefaultAction(enable_) {
if (enable_) {
defaultAction = function () {
this._gameData.game.resetScreen();
};
} else {
defaultAction = function () {
};
}
}
}
Symbol 1001 MovieClip [__Packages.race.RaceState] Frame 0
class race.RaceState
{
var _raceData;
function RaceState (raceData_) {
_raceData = raceData_;
}
function process() {
}
function lostFocus() {
}
function setFocus() {
}
function destroy() {
_raceData = null;
}
}
Symbol 1002 MovieClip [__Packages.iriysoft.pengine.CParticleEngine] Frame 0
class iriysoft.pengine.CParticleEngine
{
var m_particles, m_constraints, m_hitMovie, m_gravity, m_koeffDamp;
function CParticleEngine (hitMovie, nGravity, koeffDamp) {
m_particles = new Array();
m_constraints = new Array();
setHitMovie(hitMovie);
init(nGravity, koeffDamp);
}
function setHitMovie(hitMovie) {
if (hitMovie == undefined) {
hitMovie = null;
}
m_hitMovie = hitMovie;
}
function getHitMovie() {
return(m_hitMovie);
}
function set gravity(nGravity) {
m_gravity = nGravity;
//return(gravity);
}
function get gravity() {
return(m_gravity);
}
function init(nGravity, koeffDamp) {
if (nGravity == undefined) {
nGravity = 9.8;
}
if (koeffDamp == undefined) {
koeffDamp = 0.995;
}
gravity = (nGravity);
m_koeffDamp = koeffDamp;
}
function addParticle(p) {
m_particles.push(p);
}
function process() {
var _local2 = 0;
while (_local2 < m_particles.length) {
m_particles[_local2].accelerate.plusXY(0, m_gravity * m_particles[_local2].mass);
m_particles[_local2].accelerate.mult(1 / REPEAT_COUNT);
_local2++;
}
var _local3 = 0;
while (_local3 < REPEAT_COUNT) {
_local2 = 0;
while (_local2 < m_particles.length) {
m_particles[_local2].verlet(D_TIME, m_koeffDamp);
_local2++;
}
_local2 = 0;
while (_local2 < m_constraints.length) {
m_constraints[_local2].resolve();
_local2++;
}
_local2 = 0;
while (_local2 < m_particles.length) {
m_particles[_local2].checkCollision(m_hitMovie);
_local2++;
}
_local3++;
}
_local2 = 0;
while (_local2 < m_particles.length) {
m_particles[_local2].accelerate.init(0, 0);
_local2++;
}
}
function addConstraint(c) {
m_constraints.push(c);
}
function clear() {
while (m_particles.pop() != undefined) {
}
clearConstraints();
}
function clearConstraints() {
while (m_constraints.pop() != undefined) {
}
}
static var SEC_PER_FRAME = 0.0416666666666667;
static var REPEAT_COUNT = 3;
static var D_TIME = SEC_PER_FRAME / REPEAT_COUNT;
}
Symbol 1003 MovieClip [__Packages.iriysoft.pengine.constraint.IConstraint] Frame 0
interface iriysoft.pengine.constraint.IConstraint
{
}
Symbol 1004 MovieClip [__Packages.race.StateDownhill] Frame 0
class race.StateDownhill extends race.RaceState
{
var _posAtScreenX, _posAtScreenY, _process, _raceData, _timeCounter, _ragDoll;
function StateDownhill (raceData_) {
super(raceData_);
_posAtScreenX = GameConst.NORM_POS_RIDER_X;
_posAtScreenY = GameConst.NORM_POS_RIDER_Y;
createRider();
}
function createRider() {
initRider(700, 700);
_process = _processDownhill;
}
function initRider(rx, ry) {
_raceData.rider = new Rider();
_raceData.rider.initWehicle(_raceData, rx, ry);
createCamera(_raceData.rider.getBodyMovieClip());
_raceData.rider.process();
}
function createCamera(target_) {
_raceData.camera = new iriysoft.view.Camera();
_raceData.camera.__set__window(new flash.geom.Rectangle(0, 0, GameConst.SCR_WIDTH, GameConst.SCR_HEIGHT));
_raceData.camera.__set__rangeBorder(new flash.geom.Rectangle(0, -400, _raceData.level._width, _raceData.level._height));
_raceData.camera.createDefaultScroll(target_, new flash.geom.Rectangle(_posAtScreenX, _posAtScreenY, 50, 100));
_raceData.camera.createDefaultUpdateView(_raceData.level);
}
function process() {
super.process();
_process();
}
function _processDownhill() {
defaultProcessActions();
_raceData.camera.process();
if (checkFinish()) {
iriysoft.sound.CSoundService.playSound(GameConst.SND_FINISH);
_raceData.rider.notifyFinish();
_process = _processFinish;
_timeCounter = GameConst.FINISH_COUNTER;
}
if (_raceData.rider.getBodyMovieClip().checkDeath(_raceData.engine.getHitMovie())) {
initDeath();
} else if (_raceData.rider.hitTestObstacles(_raceData.level.obtacles)) {
initDeath2();
}
}
function _processFinish() {
defaultProcessActions();
if ((--_timeCounter) < 0) {
_raceData.__get__raceInstance().finishRace();
}
}
function initDeath() {
iriysoft.sound.CSoundService.playSound(GameConst.SND_DIE);
_raceData.rider.initDeath();
_process = _procesDeath;
_timeCounter = GameConst.CRASH_COUNTER;
}
function initDeath2() {
iriysoft.sound.CSoundService.playSound(GameConst.SND_DIE);
_raceData.rider.stopAnim(true);
_process = _procesDeath2;
var _local3 = _raceData.rider.getBodyMovieClip()._rotation;
_ragDoll = new RagDoll();
_ragDoll.create(_raceData.engine, _raceData.rider.getBodyMovieClip()._x, _raceData.rider.getBodyMovieClip()._y, _raceData.level.vehiclePlace, _local3);
_raceData.rider.getCurSpeed();
var _local2 = _raceData.rider.getCurSpeed();
if (_local2.y > 0) {
_local2.y = -_local2.y;
}
_local2.mult(1.8);
_ragDoll.makeStartImpulse(_local2);
_raceData.rider.getBodyMovieClip()._visible = false;
createCamera(_ragDoll.getDollBody());
_timeCounter = GameConst.CRASH_COUNTER_RAGDOLL;
}
function _procesDeath() {
defaultProcessActions();
_raceData.camera.process();
checkFinishCounter();
}
function _procesDeath2() {
_raceData.engine.process();
_raceData.camera.process();
_ragDoll.process();
checkFinishCounter();
}
function checkFinishCounter() {
if ((--_timeCounter) < 0) {
_raceData.__get__raceInstance().enableLoseMessage();
checkFinishCounter = function () {
};
}
}
function defaultProcessActions() {
_raceData.engine.process();
_raceData.rider.process();
_raceData.rider.processKeys(_raceData.__get__raceInstance().getKeyManager().__get__pressedKeyState());
_raceData.checkObteclesMessage(_raceData.rider.getBodyMovieClip()._x);
_raceData.processHint();
_raceData.processYeti();
}
function checkFinish() {
return(_raceData.level.finishLine.hitTest(_raceData.rider.getBodyMovieClip()));
}
}
Symbol 1005 MovieClip [__Packages.RagDoll] Frame 0
class RagDoll
{
var _wheelCount, _dollBody, H, RP, RL, RK, LP, LL, LK, J, RR, LR, RS, LS;
function RagDoll () {
_wheelCount = 0;
}
function create(engine_, px_, py_, place_, rotation_) {
if (rotation_ == undefined) {
rotation_ = 0;
}
_dollBody = place_.attachMovie("ragDoll", "_ragDoll___", 23001);
_dollBody._x = px_;
_dollBody._y = py_;
_dollBody._rotation = rotation_;
createSkeleton(engine_, place_);
}
function makeStartImpulse(imp_) {
if (imp_ == undefined) {
imp_ = new iriysoft.pengine.math.CVector2D(0, -20);
}
_makeImpulseForNode(H, imp_);
_makeImpulseForNode(RP, imp_);
_makeImpulseForNode(RL, imp_);
_makeImpulseForNode(RK, imp_);
_makeImpulseForNode(LP, imp_);
_makeImpulseForNode(LL, imp_);
_makeImpulseForNode(LK, imp_);
}
function _makeImpulseForNode(node_, imp_) {
node_.__get__prevPos().x = node_.__get__pos().x - imp_.x;
node_.__get__prevPos().y = node_.__get__pos().y - imp_.y;
}
function makeNodeWheel(p, place_) {
_wheelCount++;
var _local2 = place_.attachMovie("nodeWheel", "_wh" + _wheelCount, 29050 + _wheelCount);
_local2._visible = false;
var _local3 = new iriysoft.pengine.particle.CWheel();
_local3.initWheel(p.x, p.y, 3, 6, 340, _local2);
return(_local3);
}
function getGlobalPoint(localMovie_, globalMovie_) {
var _local1 = new Object();
_local1.x = 0;
_local1.y = 0;
localMovie_.localToGlobal(_local1);
globalMovie_.globalToLocal(_local1);
return(_local1);
}
function makeNodes(engine_, nodeNames_, place_) {
var _local2 = 0;
while (_local2 < nodeNames_.length) {
this[nodeNames_[_local2]] = makeNodeWheel(getGlobalPoint(_dollBody[nodeNames_[_local2]], place_), place_);
engine_.addParticle(this[nodeNames_[_local2]]);
_local2++;
}
}
function createSkeleton(engine_, place_) {
makeNodes(engine_, _bodyHead, place_);
makeNodes(engine_, _rightSide, place_);
makeNodes(engine_, _lefttSide, place_);
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.9, H, J));
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.9, H, LP));
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.9, H, RP));
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.9, RP, J));
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.9, LP, J));
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.9, RP, LP));
createArticulationSprings(engine_, _rightSide);
createLegSprings(engine_, _rightSide);
createArticulationSprings(engine_, _lefttSide);
createLegSprings(engine_, _lefttSide);
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.3, RR, RP));
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.3, LR, LP));
}
function createLegSprings(engine_, plkNodesName) {
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.9, this[plkNodesName[3]], J));
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.9, this[plkNodesName[3]], this[plkNodesName[4]]));
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.2, this[plkNodesName[4]], J));
}
function createArticulationSprings(engine_, plkNodesName) {
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.9, this[plkNodesName[0]], this[plkNodesName[1]]));
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.9, this[plkNodesName[2]], this[plkNodesName[1]]));
engine_.addConstraint((new iriysoft.pengine.constraint.CSpringConstraint()).init(0.9, 0.2, this[plkNodesName[2]], this[plkNodesName[0]]));
}
function process() {
var _local2 = getGlobalPoint(_dollBody.J, _dollBody._parent);
_dollBody._x = _dollBody._x + (J.__get__pos().x - _local2.x);
_dollBody._y = _dollBody._y + (J.__get__pos().y - _local2.y);
_dollBody._rotation = ((Math.atan2(H.__get__pos().y - J.__get__pos().y, H.__get__pos().x - J.__get__pos().x) * 180) / Math.PI) + 90;
createArticulation(RL, RK, _dollBody, _dollBody.mcRUE, _dollBody.mcRUE.mcRightHand);
createArticulation(LL, LK, _dollBody, _dollBody.mcLUE, _dollBody.mcLUE.mcLeftHand);
createArticulation(RR, RS, _dollBody, _dollBody.mcRightLeg, _dollBody.mcRightLeg.mcShin);
createArticulation(LR, LS, _dollBody, _dollBody.mcLeftLeg, _dollBody.mcLeftLeg.mcShin);
rotateDollPart(H, _dollBody.mcHead2, _dollBody);
}
function createArticulation(wh1_, wh2_, place_, part1_, part2_) {
rotateDollPart(wh1_, part1_, place_);
rotateDollPart(wh2_, part2_, part1_);
}
function rotateDollPart(wh_, part_, place_) {
var _local2 = new Object();
_local2.x = wh_.__get__pos().x;
_local2.y = wh_.__get__pos().y;
_dollBody._parent.localToGlobal(_local2);
place_.globalToLocal(_local2);
var _local5 = _local2.x - part_._x;
var _local4 = _local2.y - part_._y;
part_._rotation = (Math.atan2(_local4, _local5) * 180) / Math.PI;
}
function getDollBody() {
return(_dollBody);
}
var _bodyHead = new Array("J", "H");
var _rightSide = new Array("RP", "RL", "RK", "RR", "RS");
var _lefttSide = new Array("LP", "LL", "LK", "LR", "LS");
}
Symbol 1006 MovieClip [__Packages.iriysoft.pengine.constraint.CSpringConstraint] Frame 0
class iriysoft.pengine.constraint.CSpringConstraint implements iriysoft.pengine.constraint.IConstraint
{
var m_p1, m_p2, m_koeffStiffPress, m_koeffStiffStretch, m_relaxLen;
function CSpringConstraint () {
}
function init(koeffStiffPress, koeffStiffStretch, p1, p2) {
m_p1 = p1;
m_p2 = p2;
m_koeffStiffPress = koeffStiffPress;
m_koeffStiffStretch = koeffStiffStretch;
fixDistance();
return(this);
}
function fixDistance() {
m_relaxLen = iriysoft.pengine.math.CVector2D.getDistanceBetween(m_p1.__get__pos(), m_p2.__get__pos());
}
function resolve() {
var _local3 = m_p1.__get__pos().x - m_p2.__get__pos().x;
var _local2 = m_p1.__get__pos().y - m_p2.__get__pos().y;
var _local5 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
var _local9 = (_local5 - m_relaxLen) / _local5;
var _local8;
if (_local5 > m_relaxLen) {
_local8 = m_koeffStiffStretch;
} else {
_local8 = m_koeffStiffPress;
}
var _local7 = m_p1.__get__mass();
var _local6 = m_p2.__get__mass();
var _local4 = (_local9 * _local8) / (_local7 + _local6);
m_p1.__get__pos().x = m_p1.__get__pos().x - ((_local3 * _local7) * _local4);
m_p1.__get__pos().y = m_p1.__get__pos().y - ((_local2 * _local7) * _local4);
m_p2.__get__pos().x = m_p2.__get__pos().x + ((_local3 * _local6) * _local4);
m_p2.__get__pos().y = m_p2.__get__pos().y + ((_local2 * _local6) * _local4);
}
function set p1(nP1) {
m_p1 = nP1;
//return(p1);
}
function get p1() {
return(m_p1);
}
function set p2(nP2) {
m_p2 = nP2;
//return(p2);
}
function get p2() {
return(m_p2);
}
}
Symbol 1007 MovieClip [__Packages.iriysoft.view.Camera] Frame 0
class iriysoft.view.Camera
{
var t_curPos, t_deltaPos, t_deltaMin, t_deltaMax, getTargetX, getTargetY, m_window, m_rangeBorder, checkPosition, updateView, _data;
function Camera () {
t_curPos = new flash.geom.Point();
t_deltaPos = new flash.geom.Point();
t_deltaMin = new flash.geom.Point();
t_deltaMax = new flash.geom.Point();
}
function notifyDestroy() {
super.notifyDestroy();
t_curPos = null;
t_deltaPos = null;
t_deltaMin = null;
t_deltaMax = null;
}
function process() {
t_curPos.x = getTargetX();
t_curPos.y = getTargetY();
t_deltaMin.x = m_rangeBorder.x - m_window.x;
t_deltaMin.y = m_rangeBorder.y - m_window.y;
t_deltaMax.x = m_rangeBorder.bottomRight.x - m_window.x;
t_deltaMax.y = m_rangeBorder.bottomRight.y - m_window.y;
convertToWindowPos(t_curPos);
t_deltaPos = checkPosition(t_curPos);
t_deltaPos.x = Math.min(t_deltaPos.x, t_deltaMax.x);
t_deltaPos.y = Math.min(t_deltaPos.y, t_deltaMax.y);
t_deltaPos.x = Math.max(t_deltaPos.x, t_deltaMin.x);
t_deltaPos.y = Math.max(t_deltaPos.y, t_deltaMin.y);
m_window.offsetPoint(t_deltaPos);
updateView();
}
function convertToWindowPos(pos) {
pos.x = pos.x - m_window.x;
pos.y = pos.y - m_window.y;
}
function get window() {
return(m_window);
}
function set window(newWindow) {
m_window = newWindow;
//return(window);
}
function get rangeBorder() {
return(m_rangeBorder);
}
function set rangeBorder(newBorder) {
m_rangeBorder = newBorder;
//return(rangeBorder);
}
function createDefaultScroll(target, targetBorderOnScreen) {
_data = new Object();
_data.t_moveCamera = new flash.geom.Point();
_data.m_target = target;
_data.m_targetBorderOnScreen = targetBorderOnScreen;
getTargetX = function () {
return(this._data.m_target._x);
};
getTargetY = function () {
return(this._data.m_target._y);
};
checkPosition = function (posAtWindow) {
this._data.t_moveCamera.x = 0;
this._data.t_moveCamera.y = 0;
if (posAtWindow.x < this._data.m_targetBorderOnScreen.left) {
this._data.t_moveCamera.x = posAtWindow.x - this._data.m_targetBorderOnScreen.left;
} else if (posAtWindow.x > this._data.m_targetBorderOnScreen.right) {
this._data.t_moveCamera.x = posAtWindow.x - this._data.m_targetBorderOnScreen.right;
}
if (posAtWindow.y < this._data.m_targetBorderOnScreen.top) {
this._data.t_moveCamera.y = posAtWindow.y - this._data.m_targetBorderOnScreen.top;
} else if (posAtWindow.y > this._data.m_targetBorderOnScreen.bottom) {
this._data.t_moveCamera.y = posAtWindow.y - this._data.m_targetBorderOnScreen.bottom;
}
return(this._data.t_moveCamera);
};
}
function createDefaultUpdateView(movieForScroll) {
_data.m_movieForScroll = movieForScroll;
updateView = function () {
this._data.m_movieForScroll._x = this._data.m_movieForScroll._x - ((this._data.m_movieForScroll._x + this.window.x) / 2);
this._data.m_movieForScroll._y = this._data.m_movieForScroll._y - ((this._data.m_movieForScroll._y + this.window.y) / 2);
};
}
}
Symbol 1008 MovieClip [__Packages.race.StateDownhillHelicopter] Frame 0
class race.StateDownhillHelicopter extends race.StateDownhill
{
var _intoVideo, _raceData, _process, _processDownhill, initRider;
function StateDownhillHelicopter (raceData_) {
super(raceData_);
_instance = this;
_intoVideo = _raceData.level.vehiclePlace.attachMovie("videoIntro", "_videoIntro", 20);
_process = function () {
};
GameConst.helicopterCommandDrop = mx.utils.Delegate.create(this, drop);
iriysoft.sound.CSoundService.playSound(GameConst.SND_VERT);
}
function createRider() {
}
function _processIntroVideo() {
if (_intoVideo._currentframe == _intoVideo._totalframes) {
_process = _processDownhill;
_intoVideo.removeMovieClip();
}
_processDownhill();
}
function lostFocus() {
_intoVideo.stop();
_intoVideo.mcHelicopter.helBody.stop();
_intoVideo.mcHelicopter.mcPropeller.stop();
}
function setFocus() {
if (_intoVideo._currentframe != _intoVideo._totalframes) {
_intoVideo.play();
}
if (_intoVideo.mcHelicopter.helBody._currentframe != 1) {
_intoVideo.mcHelicopter.helBody.play();
}
_intoVideo.mcHelicopter.mcPropeller.play();
}
function _processWaitDropAnim() {
if (_intoVideo.mcHelicopter.helBody._currentframe == _intoVideo.mcHelicopter.helBody._totalframes) {
var _local2 = new Object();
_local2.x = 0;
_local2.y = 0;
_intoVideo.mcHelicopter.helBody.mcRider.localToGlobal(_local2);
initRider(_local2.x, _local2.y);
_process = _processIntroVideo;
}
}
static function drop() {
_instance._intoVideo.mcHelicopter.helBody.play();
_instance._process = _instance._processWaitDropAnim;
}
static var _instance = null;
}
Symbol 1009 MovieClip [__Packages.race.StateDownhillShowball] Frame 0
class race.StateDownhillShowball extends race.StateDownhill
{
var _snowWheel, _raceData, _flyCounter, _posAtScreenX, _posAtScreenY, _process, _timeCounter, createCamera, checkFinishCounter;
function StateDownhillShowball (raceData_) {
super(raceData_);
_snowWheel = new iriysoft.pengine.particle.CWheel();
var _local3 = _raceData.level.vehiclePlace.attachMovie("Snowball", "_Snowball", 3000);
_snowWheel.initWheel(50, 0, 3.8, 95, BALL_RAD, _local3, _local3.mcBody, 0.6, 0.45);
_raceData.engine.addParticle(_snowWheel);
_flyCounter = 0;
}
function createRider() {
_posAtScreenX = GameConst.BALL_POS_RIDER_X;
_posAtScreenY = GameConst.BALL_POS_RIDER_Y;
super.createRider();
}
function initDeath() {
super.initDeath();
_raceData.engine.addParticle(_snowWheel);
}
function initDeath2() {
super.initDeath2();
_raceData.engine.addParticle(_snowWheel);
}
function calcDistants2(mv1, mv2) {
return(Math.pow(mv1._x - mv2._x, 2) + Math.pow(mv1._y - mv2._y, 2));
}
function process() {
super.process();
_snowWheel.setAccelerate(20);
deathCamera();
processBoom();
}
function processBoom() {
if (_snowWheel.hasIntersection()) {
if (_flyCounter > 15) {
iriysoft.sound.CSoundService.playSound(GameConst.SND_BOOM);
iriysoft.sound.CSoundService.getSoundAt(GameConst.SND_BOOM).setVolume(Math.min(_flyCounter * 2, 100));
}
_flyCounter = 0;
} else {
_flyCounter++;
}
}
function deathCamera() {
}
function _processDownhill() {
super._processDownhill();
var _local3 = calcDistants2(_raceData.rider.getBodyMovieClip(), _snowWheel.getMovie());
if (_local3 < 640000) {
_raceData.showWarningBall(true);
} else {
_raceData.showWarningBall(false);
}
if (_local3 < BALL_HITRAD_HITRAD) {
initDeath3();
}
}
function initDeath3() {
_process = _procesDeath3;
_timeCounter = GameConst.CRASH_COUNTER_SNOWBALL;
_raceData.rider.getBodyMovieClip()._visible = false;
_snowWheel.getMovie().mcBody.play();
createCamera(_snowWheel.getMovie());
deathCamera = function () {
if (this._raceData.level.finishLine.hitTest(this._snowWheel.getMovie())) {
this._raceData.camera.process = function () {
};
}
};
}
function _procesDeath3() {
_raceData.engine.process();
_raceData.camera.process();
checkFinishCounter();
}
static var BALL_RAD = 160;
static var BALL_HITRAD = BALL_RAD + 10;
static var BALL_HITRAD_HITRAD = BALL_HITRAD * BALL_HITRAD;
}
Symbol 1010 MovieClip [__Packages.Level] Frame 0
class Level extends MovieClip
{
var hitSurface, mcHit, vehiclePlace, mcVehiclePlace, finishLine, mcFinishLine, obtacles, mcObstaclesPlace;
function Level () {
super();
hitSurface = mcHit;
vehiclePlace = mcVehiclePlace;
finishLine = mcFinishLine;
obtacles = mcObstaclesPlace;
}
}
Symbol 1011 MovieClip [__Packages.CRider] Frame 0
class CRider
{
static var _makeTrick;
function CRider () {
}
static function tickComplete(trickNum) {
_makeTrick(trickNum);
}
static var TRICK_ROT360_BLIP = RiderAnim.DARREN_SPEC2;
static var SIT_ROT_720 = RiderAnim.DARREN_SPEC1;
static var TRICK_GRAB_NOSE = RiderAnim.TRICK_GRAB_NOSE;
static var TRICK_GRAB_TAIL = RiderAnim.TRICK_GRAB_TAIL;
static var STAND_ROT_360 = RiderAnim.STAND_ROT_360;
static var AIR_BACK = RiderAnim.BUNNY_SPEC_1;
static var AIR_FRONT = RiderAnim.KATE_SPEC_1;
static var HELICOPTER_SIT = RiderAnim.KATE_SPEC_2;
static var HELICOPTER = RiderAnim.PIERRE_SPEC_1;
static var SIT_ROT_360 = RiderAnim.BUNNY_SPEC_2;
static var TRICK_AIRPLANE = RiderAnim.PIERRE_SPEC_2;
}
Symbol 1012 MovieClip [__Packages.iriysoft.math.Angle] Frame 0
class iriysoft.math.Angle
{
function Angle () {
}
static function convertToRadian(degreeAngle) {
return(degreeAngle * DIV_PI_180);
}
static function convertToDegree(radianAngle) {
return(radianAngle * DIV_180_PI);
}
static function getMinDeltaAngle(angle1, Angle2, piOr180_) {
var _local1 = convertAngle(angle1, piOr180_) - convertAngle(Angle2, piOr180_);
var _local3 = _local1 + (piOr180_ * 2);
if (Math.abs(_local3) < Math.abs(_local1)) {
_local1 = _local3;
}
return(unconvertAngle(_local1, piOr180_));
}
static function getDeltaAngle(A, B, piOr180_) {
var _local1 = A - B;
if (_local1 < 0) {
_local1 = _local1 + (piOr180_ + piOr180_);
}
return(_local1);
}
static function convertAngle(angle, piOr180_) {
if (angle < 0) {
return((piOr180_ * 2) + angle);
}
return(angle);
}
static function unconvertAngle(angle, piOr180_) {
angle = angle % (piOr180_ * 2);
if (angle > piOr180_) {
return(angle - (piOr180_ * 2));
}
return(angle);
}
static var PI = Math.PI;
static var PI2 = (Math.PI*2);
static var DIV_PI_2 = (Math.PI/2);
static var DIV_PI_4 = (Math.PI/4);
static var DIV_PI_180 = (Math.PI/180);
static var DIV_180_PI = 57.2957795130823;
}
Symbol 1013 MovieClip [__Packages.GameConst] Frame 0
class GameConst
{
static var _pause, gameData;
function GameConst () {
}
static function getScreenLabel(scrID) {
return(screenLabels[scrID]);
}
static function getLevelQualification(levelNum_) {
initLevelData(levelNum_, ___levelData);
return(___levelData.qualification);
}
static function initLevelData(levelNum_, levelData_) {
levelData_.number = levelNum_;
switch (levelNum_) {
case 0 :
levelData_.idName = "idLevel11";
levelData_.levelType = LevelData.TYPE_SIMPLE;
levelData_.qualification = 15;
levelData_.trickObjective = new flash.geom.Point(50, 1150);
levelData_.naturalTrickObjective = new flash.geom.Point(0, 800);
levelData_.comboObjective = new flash.geom.Point(0, 400);
break;
case 1 :
levelData_.idName = "idLevel3";
levelData_.levelType = LevelData.TYPE_HELICOPTER;
levelData_.qualification = 15;
levelData_.trickObjective = new flash.geom.Point(350, 3750);
levelData_.naturalTrickObjective = new flash.geom.Point(0, 1140);
levelData_.comboObjective = new flash.geom.Point(0, 1000);
break;
case 2 :
levelData_.idName = "idLevel2";
levelData_.levelType = LevelData.TYPE_SIMPLE;
levelData_.qualification = 15;
levelData_.trickObjective = new flash.geom.Point(400, 4300);
levelData_.naturalTrickObjective = new flash.geom.Point(0, 1540);
levelData_.comboObjective = new flash.geom.Point(0, 1200);
break;
case 3 :
levelData_.idName = "idLevel5";
levelData_.levelType = LevelData.TYPE_HELICOPTER;
levelData_.qualification = 16;
levelData_.trickObjective = new flash.geom.Point(300, 4000);
levelData_.naturalTrickObjective = new flash.geom.Point(0, 1500);
levelData_.comboObjective = new flash.geom.Point(0, 1500);
break;
case 4 :
levelData_.idName = "idLevel1";
levelData_.levelType = LevelData.TYPE_SIMPLE;
levelData_.qualification = 17;
levelData_.trickObjective = new flash.geom.Point(600, 4000);
levelData_.naturalTrickObjective = new flash.geom.Point(50, 1400);
levelData_.comboObjective = new flash.geom.Point(50, 1500);
break;
case 5 :
levelData_.idName = "idLevel6";
levelData_.levelType = LevelData.TYPE_HELICOPTER;
levelData_.qualification = 18;
levelData_.trickObjective = new flash.geom.Point(600, 6000);
levelData_.naturalTrickObjective = new flash.geom.Point(100, 1600);
levelData_.comboObjective = new flash.geom.Point(100, 2000);
break;
case 6 :
levelData_.idName = "idLevel12";
levelData_.levelType = LevelData.TYPE_SNOWBALL;
levelData_.qualification = 18;
levelData_.trickObjective = new flash.geom.Point(250, 3700);
levelData_.naturalTrickObjective = new flash.geom.Point(150, 1500);
levelData_.comboObjective = new flash.geom.Point(200, 1700);
break;
case 7 :
levelData_.idName = "idLevel7";
levelData_.levelType = LevelData.TYPE_HELICOPTER;
levelData_.qualification = 20;
levelData_.trickObjective = new flash.geom.Point(1600, 4600);
levelData_.naturalTrickObjective = new flash.geom.Point(600, 2000);
levelData_.comboObjective = new flash.geom.Point(50, 3200);
break;
case 8 :
levelData_.idName = "idLevel9";
levelData_.levelType = LevelData.TYPE_SIMPLE;
levelData_.qualification = 21;
levelData_.trickObjective = new flash.geom.Point(1650, 6000);
levelData_.naturalTrickObjective = new flash.geom.Point(600, 2500);
levelData_.comboObjective = new flash.geom.Point(550, 3000);
break;
case 9 :
levelData_.idName = "idLevel10";
levelData_.levelType = LevelData.TYPE_HELICOPTER;
levelData_.qualification = 22;
levelData_.trickObjective = new flash.geom.Point(2000, 7150);
levelData_.naturalTrickObjective = new flash.geom.Point(600, 1840);
levelData_.comboObjective = new flash.geom.Point(500, 2950);
break;
case 10 :
levelData_.idName = "idLevel15";
levelData_.levelType = LevelData.TYPE_SNOWBALL;
levelData_.qualification = 23;
levelData_.trickObjective = new flash.geom.Point(150, 5150);
levelData_.naturalTrickObjective = new flash.geom.Point(115, 1340);
levelData_.comboObjective = new flash.geom.Point(50, 1700);
break;
case 11 :
levelData_.idName = "idLevel8";
levelData_.levelType = LevelData.TYPE_HELICOPTER;
levelData_.qualification = 24;
levelData_.trickObjective = new flash.geom.Point(1100, 6850);
levelData_.naturalTrickObjective = new flash.geom.Point(390, 2550);
levelData_.comboObjective = new flash.geom.Point(150, 3350);
break;
case 12 :
levelData_.idName = "idLevel14";
levelData_.levelType = LevelData.TYPE_SNOWBALL;
levelData_.qualification = 25;
levelData_.trickObjective = new flash.geom.Point(200, 3800);
levelData_.naturalTrickObjective = new flash.geom.Point(50, 1600);
levelData_.comboObjective = new flash.geom.Point(150, 2000);
break;
case 13 :
levelData_.idName = "idLevel4";
levelData_.levelType = LevelData.TYPE_HELICOPTER;
levelData_.qualification = 26;
levelData_.trickObjective = new flash.geom.Point(1250, 7350);
levelData_.naturalTrickObjective = new flash.geom.Point(695, 2010);
levelData_.comboObjective = new flash.geom.Point(50, 4000);
break;
case 14 :
levelData_.idName = "idLevel13";
levelData_.levelType = LevelData.TYPE_SNOWBALL;
levelData_.qualification = 28;
levelData_.trickObjective = new flash.geom.Point(1550, 6900);
levelData_.naturalTrickObjective = new flash.geom.Point(115, 3135);
levelData_.comboObjective = new flash.geom.Point(50, 3050);
break;
default :
levelData_.idName = "idLevel" + (levelNum_ + 1);
levelData_.levelType = LevelData.TYPE_SIMPLE;
levelData_.qualification = 15 + levelNum_;
levelData_.comboObjective = new flash.geom.Point(200, 800);
levelData_.trickObjective = new flash.geom.Point(2000, 5000);
levelData_.naturalTrickObjective = new flash.geom.Point(200, 800);
}
}
static function setRiderParam(riderID, param) {
switch (riderID) {
case RIDER_KATE :
param.acelerate = 105;
param.turnPower = 3.8 * GRAVITY;
param.baseJumpPower = 250;
param.extraJumpPower = 205;
param.scaleX = 95;
param.scaleY = 100;
param.idSpecialTrick1 = RiderAnim.KATE_SPEC_1;
param.idSpecialTrick2 = RiderAnim.KATE_SPEC_2;
break;
case RIDER_PIERRE :
param.acelerate = 90;
param.turnPower = 4.8 * GRAVITY;
param.baseJumpPower = 250;
param.extraJumpPower = 235;
param.scaleX = 100;
param.scaleY = 100;
param.idSpecialTrick1 = RiderAnim.PIERRE_SPEC_1;
param.idSpecialTrick2 = RiderAnim.PIERRE_SPEC_2;
break;
case RIDER_DARREN :
param.acelerate = 100;
param.turnPower = 4.4 * GRAVITY;
param.baseJumpPower = 250;
param.extraJumpPower = 210;
param.scaleX = 100;
param.scaleY = 100;
param.idSpecialTrick1 = RiderAnim.DARREN_SPEC1;
param.idSpecialTrick2 = RiderAnim.DARREN_SPEC2;
break;
case RIDER_BUNNY :
default :
param.acelerate = 95;
param.turnPower = 4.5 * GRAVITY;
param.baseJumpPower = 270;
param.extraJumpPower = 210;
param.scaleX = 100;
param.scaleY = 100;
param.idSpecialTrick1 = RiderAnim.BUNNY_SPEC_1;
param.idSpecialTrick2 = RiderAnim.BUNNY_SPEC_2;
}
}
static function set pause(enable_) {
_pause = enable_;
if (_pause) {
gameData.__get__game().enableMessageScreen("pauseScreen", SCR_WIDTH / 2, SCR_HEIGHT / 2, true);
} else {
gameData.__get__game().disableMessageScreen();
}
//return(pause);
}
static function get pause() {
return(_pause);
}
static var GSID_SPLASH = 0;
static var GSID_RACE = 1;
static var GSID_MAP = 2;
static var GSID_JUDGES = 3;
static var GSID_CHOICE = 4;
static var GSID_ABOUT = 5;
static var GSID_SUBMIT = 6;
static var screenLabels = ["lbSplash", "lbRace", "lbMap", "lbJudges", "lbChoice", "lbAbout", "lbSubmit"];
static var LOOP_VOLUME = 80;
static var SOUNDS_NAMES = new Array("sndLoop1", "sndSnowBall", "sndVert", "sndYetti1", "sndYetti2", "sndDie", "sndFinish", "sndLoop2", "sndTrick", "sndAlert", "sndButton", "sndBoom2");
static var SND_LOOP1 = 0;
static var SND_BOOM = 1;
static var SND_VERT = 2;
static var SND_YETTI1 = 3;
static var SND_YETTI2 = 4;
static var SND_DIE = 5;
static var SND_FINISH = 6;
static var SND_LOOP2 = 7;
static var SND_TRICK = 8;
static var SND_ALERT = 9;
static var SND_BUTTON = 10;
static var SND_BOOM2 = 11;
static var SCR_WIDTH = 800;
static var SCR_HEIGHT = 600;
static var FILTER_GREY = new flash.filters.ColorMatrixFilter(new Array(0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0, 0, 0, 1, 0));
static var DATA_NAME = "SXS2_SAVE";
static var MAX_OBTACLE_DISTANCE = 1250;
static var MIN_OBTACLE_DISTANCE = 200;
static var JUDGE_BLANK_FRAME_COUNT = 50;
static var JUDGE_MAX_APPRAISAL = 10;
static var JUDGE_COUNT = 3;
static var JUDGE_MAX_TOTAL_APPRAISAL = JUDGE_MAX_APPRAISAL * JUDGE_COUNT;
static var LEVEL_COUNT = 15;
static var LEVEL_TYPE_SIMPLE = 0;
static var LEVEL_TYPE_SNOWBALL = 1;
static var LEVEL_TYPE_HELICOPTER = 2;
static var LEVEL_NAMES = new Array("Bunny Hill", "Powdered Sugar", "Kissing Bridge", "Bowl o\u2019 Sugar", "Snow Blanket", "Icy Ice-capades", "Snow Bowling", "Out Cold", "Black Diamond", "The Highest Mountain", "Angel Drop-in", "Aerial Maneuvers", "Gates of Heaven", "Mount Yeti", "This Snow\u2019s Over!");
static var ___levelData = new LevelData();
static var DEFAULT_KEY_MASK = Rider.KM_BIKE_JUMP;
static var REAL_KEYS = new Array(38, 40, 37, 39, 32, 65, 83, 68, 70, 71, 49, 50, 51, 52, 53);
static var LOGIC_KEYS = new Array(Rider.KM_ACCELERATE, Rider.KM_BRAKE, Rider.KM_MOVE_BODY_BACK, Rider.KM_MOVE_BODY_FORWARD, Rider.KM_BIKE_JUMP, Rider.KM_TRICK1, Rider.KM_TRICK2, Rider.KM_TRICK3, Rider.KM_SPEC_TRICK1, Rider.KM_SPEC_TRICK2, Rider.KM_TRICK1, Rider.KM_TRICK2, Rider.KM_TRICK3, Rider.KM_SPEC_TRICK1, Rider.KM_SPEC_TRICK2);
static var SCORE_FORTRICK = new Array(0, 900, 900, 250, 250, 5, 300, 900, 500, 800, 600, 1000, 800, 400, 400);
static var TRICK_NAMES = new Array("", "RODEO 360 BACKFLIP", "720 AERIAL SPIN", "NOSE GRAB", "TAIL GRAB", "WHEELIE", "AIR TO FAKIE", "BUNNY HOP", "WINNING FINISH", "SWEETNESS AIRSTYLE", "CLOUD FLYER", "TEAM SPIRIT", "SNOW STORM", "BACKFLIP", "FRONTFLIP");
static var GRAVITY = 7;
static var RIDER_COUNT = 4;
static var RIDER_MIN_LEVEL = new Array(0, 0, 0, 0);
static var RIDER_BUNNY = 0;
static var RIDER_KATE = 1;
static var RIDER_PIERRE = 2;
static var RIDER_DARREN = 3;
static var FINISH_COUNTER = 40;
static var CRASH_COUNTER = 40;
static var CRASH_COUNTER_RAGDOLL = 40;
static var CRASH_COUNTER_SNOWBALL = 40;
static var NORM_POS_RIDER_X = 150;
static var NORM_POS_RIDER_Y = 300;
static var BALL_POS_RIDER_X = 400;
static var BALL_POS_RIDER_Y = 300;
static var curHelpTrick = 0;
static var TIME_TRICK_HINT = 240;
static var TIME_BETWEEN_TRICK_HINT = TIME_TRICK_HINT / 3;
}
Symbol 1014 MovieClip [__Packages.iriysoft.view.InvisibleMovie] Frame 0
class iriysoft.view.InvisibleMovie extends MovieClip
{
var _visible;
function InvisibleMovie () {
super();
_visible = false;
}
}
Symbol 1015 MovieClip [__Packages.GameButton] Frame 0
class GameButton extends iriysoft.button.AutoButton
{
function GameButton () {
super();
}
function onPress() {
iriysoft.sound.CSoundService.playSound(GameConst.SND_BUTTON);
super.onPress();
}
}
Symbol 1016 MovieClip [__Packages.CHelpTrickIcons] Frame 0
class CHelpTrickIcons extends MovieClip
{
var m_num, _currentframe, gotoAndStop;
function CHelpTrickIcons () {
super();
}
function onPress() {
GameConst.curHelpTrick = m_num;
}
function onEnterFrame() {
if ((GameConst.curHelpTrick == m_num) && (!isSelect())) {
select();
} else if ((GameConst.curHelpTrick != m_num) && (isSelect())) {
unSelect();
}
}
function isSelect() {
return(_currentframe == 2);
}
function select() {
gotoAndStop(2);
}
function unSelect() {
gotoAndStop(1);
}
}
Symbol 1017 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 1018 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 1019 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 1020 MovieClip [__Packages.mx.transitions.easing.Strong] Frame 0
class mx.transitions.easing.Strong
{
function Strong () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return((((((c * t) * t) * t) * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
}
static function easeInOut(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return(((((((c / 2) * t) * t) * t) * t) * t) + b);
}
t = t - 2;
return(((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b);
}
static var version = "1.1.0.52";
}
Symbol 1021 MovieClip [__Packages.mx.transitions.easing.Bounce] Frame 0
class mx.transitions.easing.Bounce
{
function Bounce () {
}
static function easeOut(t, b, c, d) {
t = t / d;
if (t < 0.363636363636364) {
return((c * ((7.5625 * t) * t)) + b);
}
if (t < 0.727272727272727) {
t = t - 0.545454545454545;
return((c * (((7.5625 * t) * t) + 0.75)) + b);
}
if (t < 0.909090909090909) {
t = t - 0.818181818181818;
return((c * (((7.5625 * t) * t) + 0.9375)) + b);
}
t = t - 0.954545454545455;
return((c * (((7.5625 * t) * t) + 0.984375)) + b);
}
static function easeIn(t, b, c, d) {
return((c - easeOut(d - t, 0, c, d)) + b);
}
static function easeInOut(t, b, c, d) {
if (t < (d / 2)) {
return((easeIn(t * 2, 0, c, d) * 0.5) + b);
}
return(((easeOut((t * 2) - d, 0, c, d) * 0.5) + (c * 0.5)) + b);
}
static var version = "1.1.0.52";
}
Symbol 1022 MovieClip [__Packages.ScreenSplash] Frame 0
class ScreenSplash extends GameScreen
{
var _gameData, gotoAndStop;
function ScreenSplash () {
super();
}
function reset(gameData_) {
_gameData = gameData_;
if (_gameData.checkSave()) {
gotoAndStop(2);
}
iriysoft.sound.CSoundService.playLoopSound(GameConst.SND_LOOP1, GameConst.LOOP_VOLUME);
}
}
Symbol 1023 MovieClip [__Packages.ScreenMap] Frame 0
class ScreenMap extends GameScreen
{
var _gameData, txtTotalScore, mcInfo;
function ScreenMap () {
super();
}
function defaultAction() {
_gameData.__get__game().startLevel();
}
function reset(gameData_) {
_gameData = gameData_;
LevelButton.updateInfoMessage = mx.utils.Delegate.create(this, updateLevelInfo);
updateView();
_gameData.saveData();
iriysoft.sound.CSoundService.playLoopSound(GameConst.SND_LOOP1, GameConst.LOOP_VOLUME);
}
function updateView() {
txtTotalScore.text = _gameData.getTotalScore();
updateLevelInfo(_gameData.curLevel.number);
}
function updateLevelInfo(levelNumber_) {
var _local2 = _gameData.getLevelData(levelNumber_);
mcInfo.txtScore.text = _local2.levelScore;
mcInfo.txtPointScore.text = _local2.qualification;
mcInfo.txtCaption.html = true;
mcInfo.txtCaption.htmlText = (("<FONT COLOR='#FF0000'> Stage " + (levelNumber_ + 1)) + ":</FONT> ") + GameConst.LEVEL_NAMES[levelNumber_];
}
}
Symbol 1024 MovieClip [__Packages.RiderButton] Frame 0
class RiderButton extends GameButton
{
static var choiceScreen;
var riderNum;
function RiderButton () {
super();
}
function onRollOver() {
choiceScreen.showCharParam(riderNum);
}
function onRollOut() {
choiceScreen.updateCurRider();
}
}
Symbol 1025 MovieClip [__Packages.ScreenChoice] Frame 0
class ScreenChoice extends GameScreen
{
var riders, _gameData, cross, mcInfo;
function ScreenChoice () {
super();
RiderButton.choiceScreen = this;
}
function reset(gameData_) {
super.reset(gameData_);
riders = new Array();
var _local4 = _gameData.getUnCompleteLevel();
var _local3 = 0;
while (_local3 < 4) {
riders.push(cross["rider" + _local3]);
if (GameConst.RIDER_MIN_LEVEL[_local3] <= _local4) {
riders[_local3].num = _local3;
riders[_local3].myparent = this;
riders[_local3].onPress = function () {
this.myparent.selectRider(this.num);
};
} else {
riders[_local3]._visible = false;
}
_local3++;
}
updateView(_gameData.__get__curRider());
iriysoft.sound.CSoundService.playLoopSound(GameConst.SND_LOOP1, GameConst.LOOP_VOLUME);
}
function defaultAction() {
selectRider(_gameData.__get__curRider());
}
function selectRider(riderNum_) {
_gameData.__set__curRider(riderNum_);
updateView(riderNum_);
_gameData.__get__game().changeScreen(GameConst.GSID_RACE);
}
function updateView(selectedRiderNum_) {
var _local2 = 0;
while (_local2 < 4) {
riders[_local2].icon.gotoAndStop(2);
_local2++;
}
riders[selectedRiderNum_].icon.gotoAndStop(1);
showCharParam(selectedRiderNum_);
}
function updateCurRider() {
updateView(_gameData.__get__curRider());
}
function showCharParam(riderNum_) {
mcInfo.gotoAndStop(riderNum_ + 1);
}
}
Symbol 1026 MovieClip [__Packages.CGameControl] Frame 0
class CGameControl extends MovieClip
{
var _currentframe, gotoAndStop;
function CGameControl () {
super();
}
function onEnterFrame() {
if ((!GameConst.__get__pause()) && (_currentframe != 2)) {
gotoAndStop(2);
}
if (GameConst.__get__pause() && (_currentframe != 1)) {
gotoAndStop(1);
}
}
function onPress() {
if (GameConst.__get__pause()) {
GameConst.__set__pause(false);
} else {
GameConst.__set__pause(true);
}
}
}
Symbol 1027 MovieClip [__Packages.ScreenJudges] Frame 0
class ScreenJudges extends GameScreen
{
var m_judge1, mcJudge1, m_judge2, mcJudge2, m_judge3, mcJudge3, stop, _appraisalCount, _gameData, gotoAndStop, txtLevelNum, txtLevelScore, txtYouGot, txtQualification, txtLogo;
function ScreenJudges () {
super();
m_judge1 = mcJudge1;
m_judge2 = mcJudge2;
m_judge3 = mcJudge3;
stop();
}
function reset(gameData_) {
super.reset(gameData_);
_appraisalCount = 0;
initJudge(m_judge1, convertMark(gameData_.curLevel.comboObjective, gameData_.lastLevelData.totalComboScore));
initJudge(m_judge2, convertMark(gameData_.curLevel.trickObjective, gameData_.lastLevelData.trickScore));
initJudge(m_judge3, convertMark(gameData_.curLevel.naturalTrickObjective, gameData_.lastLevelData.naturalTrickScore));
resetStatisticText();
_gameData.saveData();
iriysoft.sound.CSoundService.playLoopSound(GameConst.SND_LOOP1, GameConst.LOOP_VOLUME);
}
function convertMark(interval, value_) {
var _local3 = (interval.y - interval.x) / GameConst.JUDGE_MAX_APPRAISAL;
var _local1 = Math.floor((value_ - interval.x) / _local3);
_local1++;
_local1 = Math.min(GameConst.JUDGE_MAX_APPRAISAL, Math.max(1, _local1));
return(_local1);
}
function initJudge(mvJudge_, appraisal_) {
if (appraisal_ <= 5) {
mvJudge_.mcJudge.gotoAndStop(2);
} else {
mvJudge_.mcJudge.stop();
mvJudge_.mcJudge.onRollOver = function () {
this.gotoAndStop(2);
};
mvJudge_.mcJudge.onRollOut = function () {
this.gotoAndStop(1);
};
}
var _local4 = Math.floor(Math.random() * GameConst.JUDGE_BLANK_FRAME_COUNT);
mvJudge_.mcTablet.gotoAndStop(appraisal_);
mvJudge_.gotoAndPlay(_local4);
mvJudge_._appraisal = appraisal_;
mvJudge_.addAppraisal = mx.utils.Delegate.create(this, addAppraisal);
mvJudge_.onEnterFrame = function () {
if (this._totalframes == this._currentframe) {
this.onEnterFrame = function () {
};
this.addAppraisal(this._appraisal);
}
};
}
function addAppraisal(appraisal_) {
var _local2 = _gameData.lastLevelData;
_local2.qualification = _local2.qualification + appraisal_;
updateStatistic(_local2);
countAppraisal();
}
function countAppraisal() {
_appraisalCount++;
if (_appraisalCount >= 3) {
var _local2 = _gameData.getLevelData(_gameData.curLevel.number);
if (_local2.compare(_gameData.lastLevelData) <= 0) {
_local2.copyFrom(_gameData.lastLevelData);
}
if (_local2.qualification >= GameConst.getLevelQualification(_gameData.curLevel.number)) {
gotoAndStop(2);
} else {
gotoAndStop(3);
}
}
}
function resetStatisticText() {
txtLevelNum = "0";
txtLevelScore = "0";
txtYouGot = "0";
txtQualification = "0";
}
function updateStatistic(lstat) {
txtLevelNum = _gameData.curLevel.number + 1;
txtLevelScore = lstat.levelScore;
txtYouGot = lstat.qualification;
txtQualification = _gameData.curLevel.qualification;
updateLogo(lstat);
}
function updateLogo(lstat) {
var _local3 = TextField(txtLogo);
if (_local3 != undefined) {
_local3.text = (((((((((((((((((("" + _gameData.curLevel.number) + "*") + _gameData.__get__curRider()) + "*") + lstat.trickScore) + "*") + lstat.naturalTrickScore) + "*") + lstat.totalComboScore) + "*") + lstat.levelScore) + "*") + lstat.trickCount) + "*") + lstat.naturalTrickCount) + "*") + lstat.totalComboCount) + "*") + lstat.maxCombo;
}
}
}
Symbol 1028 MovieClip [__Packages.ScreenSubmit] Frame 0
class ScreenSubmit extends GameScreen
{
var _gameData, trycount, scoreScr, createEmptyMovieClip, gotoAndStop;
function ScreenSubmit () {
super();
}
function reset(gameData_) {
_gameData = gameData_;
_root.submitScore(_gameData.lastLevelData.levelScore, _gameData.curLevel.number + 1);
_root.swHighScoreObject.showTab = "submit";
trycount = 0;
scoreScr = createEmptyMovieClip("_scoreScr", 32000);
scoreScr.loadMovie(_root.HSHubURL);
iriysoft.sound.CSoundService.playLoopSound(GameConst.SND_LOOP1, GameConst.LOOP_VOLUME);
}
function process() {
if (trycount >= 0) {
trycount++;
if ((scoreScr.getBytesTotal() == -1) && (trycount > 60)) {
error();
}
}
}
function error() {
trycount = -1;
gotoAndStop(2);
}
}
Symbol 1029 MovieClip [__Packages.CSoundControl] Frame 0
class CSoundControl extends MovieClip
{
var _currentframe, gotoAndStop;
function CSoundControl () {
super();
}
function onEnterFrame() {
if ((!iriysoft.sound.CSoundService.__get__soundOn()) && (_currentframe != 2)) {
gotoAndStop(2);
}
if (iriysoft.sound.CSoundService.__get__soundOn() && (_currentframe != 1)) {
gotoAndStop(1);
}
}
function onPress() {
iriysoft.sound.CSoundService.__set__soundOn(!iriysoft.sound.CSoundService.__get__soundOn());
}
}
Symbol 27 MovieClip [manHit] Frame 1
#initclip 126
Object.registerClass("manHit", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 37 MovieClip [borderPelvis] Frame 1
#initclip 53
Object.registerClass("borderPelvis", CRiderColor);
#endinitclip
stop();
Symbol 37 MovieClip [borderPelvis] Frame 2
stop();
Symbol 37 MovieClip [borderPelvis] Frame 3
stop();
Symbol 37 MovieClip [borderPelvis] Frame 4
stop();
Symbol 37 MovieClip [borderPelvis] Frame 5
stop();
Symbol 37 MovieClip [borderPelvis] Frame 6
stop();
Symbol 37 MovieClip [borderPelvis] Frame 7
stop();
Symbol 37 MovieClip [borderPelvis] Frame 8
stop();
Symbol 46 MovieClip [borderThighL] Frame 1
#initclip 54
Object.registerClass("borderThighL", CRiderColor);
#endinitclip
stop();
Symbol 46 MovieClip [borderThighL] Frame 2
stop();
Symbol 46 MovieClip [borderThighL] Frame 3
stop();
Symbol 46 MovieClip [borderThighL] Frame 4
stop();
Symbol 46 MovieClip [borderThighL] Frame 6
stop();
Symbol 46 MovieClip [borderThighL] Frame 7
stop();
Symbol 46 MovieClip [borderThighL] Frame 8
stop();
Symbol 55 MovieClip [borderShankL] Frame 1
#initclip 55
Object.registerClass("borderShankL", CRiderColor);
#endinitclip
stop();
Symbol 55 MovieClip [borderShankL] Frame 2
stop();
Symbol 55 MovieClip [borderShankL] Frame 3
stop();
Symbol 55 MovieClip [borderShankL] Frame 4
stop();
Symbol 55 MovieClip [borderShankL] Frame 6
stop();
Symbol 55 MovieClip [borderShankL] Frame 7
stop();
Symbol 55 MovieClip [borderShankL] Frame 8
stop();
Symbol 62 MovieClip [borderKnee] Frame 1
#initclip 56
Object.registerClass("borderKnee", CRiderColor);
#endinitclip
stop();
Symbol 62 MovieClip [borderKnee] Frame 2
stop();
Symbol 62 MovieClip [borderKnee] Frame 3
stop();
Symbol 62 MovieClip [borderKnee] Frame 4
stop();
Symbol 62 MovieClip [borderKnee] Frame 5
stop();
Symbol 62 MovieClip [borderKnee] Frame 6
stop();
Symbol 69 MovieClip [borderFootL] Frame 1
#initclip 57
Object.registerClass("borderFootL", CRiderColor);
#endinitclip
stop();
Symbol 69 MovieClip [borderFootL] Frame 2
stop();
Symbol 69 MovieClip [borderFootL] Frame 3
stop();
Symbol 69 MovieClip [borderFootL] Frame 4
stop();
Symbol 69 MovieClip [borderFootL] Frame 5
stop();
Symbol 69 MovieClip [borderFootL] Frame 6
stop();
Symbol 69 MovieClip [borderFootL] Frame 7
stop();
Symbol 78 MovieClip [borderThighR] Frame 1
#initclip 58
Object.registerClass("borderThighR", CRiderColor);
#endinitclip
stop();
Symbol 78 MovieClip [borderThighR] Frame 2
stop();
Symbol 78 MovieClip [borderThighR] Frame 3
stop();
Symbol 78 MovieClip [borderThighR] Frame 4
stop();
Symbol 78 MovieClip [borderThighR] Frame 6
stop();
Symbol 78 MovieClip [borderThighR] Frame 7
stop();
Symbol 78 MovieClip [borderThighR] Frame 8
stop();
Symbol 87 MovieClip [borderShankR] Frame 1
#initclip 59
Object.registerClass("borderShankR", CRiderColor);
#endinitclip
stop();
Symbol 87 MovieClip [borderShankR] Frame 2
stop();
Symbol 87 MovieClip [borderShankR] Frame 3
stop();
Symbol 87 MovieClip [borderShankR] Frame 4
stop();
Symbol 87 MovieClip [borderShankR] Frame 5
stop();
Symbol 87 MovieClip [borderShankR] Frame 6
stop();
Symbol 87 MovieClip [borderShankR] Frame 7
stop();
Symbol 87 MovieClip [borderShankR] Frame 8
stop();
Symbol 91 MovieClip [borderFoot] Frame 1
#initclip 60
Object.registerClass("borderFoot", CRiderColor);
#endinitclip
stop();
Symbol 91 MovieClip [borderFoot] Frame 2
stop();
Symbol 91 MovieClip [borderFoot] Frame 3
stop();
Symbol 91 MovieClip [borderFoot] Frame 4
stop();
Symbol 91 MovieClip [borderFoot] Frame 5
stop();
Symbol 91 MovieClip [borderFoot] Frame 6
stop();
Symbol 91 MovieClip [borderFoot] Frame 7
stop();
Symbol 100 MovieClip [borderShoulderL] Frame 1
#initclip 61
Object.registerClass("borderShoulderL", CRiderColor);
#endinitclip
stop();
Symbol 100 MovieClip [borderShoulderL] Frame 2
stop();
Symbol 100 MovieClip [borderShoulderL] Frame 3
stop();
Symbol 100 MovieClip [borderShoulderL] Frame 4
stop();
Symbol 100 MovieClip [borderShoulderL] Frame 6
stop();
Symbol 100 MovieClip [borderShoulderL] Frame 7
stop();
Symbol 100 MovieClip [borderShoulderL] Frame 8
stop();
Symbol 109 MovieClip [borderArmL] Frame 1
#initclip 62
Object.registerClass("borderArmL", CRiderColor);
#endinitclip
stop();
Symbol 109 MovieClip [borderArmL] Frame 2
stop();
Symbol 109 MovieClip [borderArmL] Frame 3
stop();
Symbol 109 MovieClip [borderArmL] Frame 4
stop();
Symbol 109 MovieClip [borderArmL] Frame 6
stop();
Symbol 109 MovieClip [borderArmL] Frame 7
stop();
Symbol 109 MovieClip [borderArmL] Frame 8
stop();
Symbol 115 MovieClip [borderHand] Frame 1
#initclip 63
Object.registerClass("borderHand", CRiderColor);
#endinitclip
stop();
Symbol 115 MovieClip [borderHand] Frame 2
stop();
Symbol 115 MovieClip [borderHand] Frame 4
stop();
Symbol 115 MovieClip [borderHand] Frame 5
stop();
Symbol 115 MovieClip [borderHand] Frame 6
stop();
Symbol 124 MovieClip [borderBody1] Frame 1
#initclip 64
Object.registerClass("borderBody1", CRiderColor);
#endinitclip
stop();
Symbol 124 MovieClip [borderBody1] Frame 2
stop();
Symbol 124 MovieClip [borderBody1] Frame 3
stop();
Symbol 124 MovieClip [borderBody1] Frame 4
stop();
Symbol 124 MovieClip [borderBody1] Frame 5
stop();
Symbol 124 MovieClip [borderBody1] Frame 6
stop();
Symbol 124 MovieClip [borderBody1] Frame 7
stop();
Symbol 124 MovieClip [borderBody1] Frame 8
stop();
Symbol 133 MovieClip [borderShoulderR] Frame 1
#initclip 65
Object.registerClass("borderShoulderR", CRiderColor);
#endinitclip
stop();
Symbol 133 MovieClip [borderShoulderR] Frame 2
stop();
Symbol 133 MovieClip [borderShoulderR] Frame 3
stop();
Symbol 133 MovieClip [borderShoulderR] Frame 4
stop();
Symbol 133 MovieClip [borderShoulderR] Frame 5
stop();
Symbol 133 MovieClip [borderShoulderR] Frame 6
stop();
Symbol 133 MovieClip [borderShoulderR] Frame 7
stop();
Symbol 133 MovieClip [borderShoulderR] Frame 8
stop();
Symbol 142 MovieClip [borderArmR] Frame 1
#initclip 66
Object.registerClass("borderArmR", CRiderColor);
#endinitclip
stop();
Symbol 142 MovieClip [borderArmR] Frame 2
stop();
Symbol 142 MovieClip [borderArmR] Frame 3
stop();
Symbol 142 MovieClip [borderArmR] Frame 4
stop();
Symbol 142 MovieClip [borderArmR] Frame 6
stop();
Symbol 142 MovieClip [borderArmR] Frame 7
stop();
Symbol 142 MovieClip [borderArmR] Frame 8
stop();
Symbol 151 MovieClip [borderHead1] Frame 1
#initclip 67
Object.registerClass("borderHead1", CRiderColor);
#endinitclip
stop();
Symbol 151 MovieClip [borderHead1] Frame 2
stop();
Symbol 151 MovieClip [borderHead1] Frame 3
stop();
Symbol 151 MovieClip [borderHead1] Frame 5
stop();
Symbol 151 MovieClip [borderHead1] Frame 6
stop();
Symbol 151 MovieClip [borderHead1] Frame 7
stop();
Symbol 151 MovieClip [borderHead1] Frame 8
stop();
Symbol 154 MovieClip [BunnyPantie] Frame 1
#initclip 68
Object.registerClass("BunnyPantie", CRiderColor);
#endinitclip
Symbol 155 MovieClip Frame 6
CGame.autoJump();
stop();
Symbol 156 MovieClip Frame 6
stop();
Symbol 165 MovieClip [borderHead2] Frame 1
#initclip 69
Object.registerClass("borderHead2", CRiderColor);
#endinitclip
stop();
Symbol 165 MovieClip [borderHead2] Frame 2
stop();
Symbol 165 MovieClip [borderHead2] Frame 3
stop();
Symbol 165 MovieClip [borderHead2] Frame 4
stop();
Symbol 165 MovieClip [borderHead2] Frame 5
stop();
Symbol 165 MovieClip [borderHead2] Frame 6
stop();
Symbol 165 MovieClip [borderHead2] Frame 7
stop();
Symbol 165 MovieClip [borderHead2] Frame 8
stop();
Symbol 174 MovieClip [borderHead3] Frame 1
#initclip 70
Object.registerClass("borderHead3", CRiderColor);
#endinitclip
stop();
Symbol 174 MovieClip [borderHead3] Frame 3
stop();
Symbol 174 MovieClip [borderHead3] Frame 4
stop();
Symbol 174 MovieClip [borderHead3] Frame 5
stop();
Symbol 174 MovieClip [borderHead3] Frame 6
stop();
Symbol 174 MovieClip [borderHead3] Frame 7
stop();
Symbol 174 MovieClip [borderHead3] Frame 8
stop();
Symbol 183 MovieClip [borderBody2] Frame 1
#initclip 71
Object.registerClass("borderBody2", CRiderColor);
#endinitclip
stop();
Symbol 183 MovieClip [borderBody2] Frame 2
stop();
Symbol 183 MovieClip [borderBody2] Frame 3
stop();
Symbol 183 MovieClip [borderBody2] Frame 4
stop();
Symbol 183 MovieClip [borderBody2] Frame 5
stop();
Symbol 183 MovieClip [borderBody2] Frame 6
stop();
Symbol 183 MovieClip [borderBody2] Frame 7
stop();
Symbol 183 MovieClip [borderBody2] Frame 8
stop();
Symbol 191 MovieClip [borderHead4] Frame 1
#initclip 72
Object.registerClass("borderHead4", CRiderColor);
#endinitclip
stop();
Symbol 191 MovieClip [borderHead4] Frame 2
stop();
Symbol 191 MovieClip [borderHead4] Frame 3
stop();
Symbol 191 MovieClip [borderHead4] Frame 4
stop();
Symbol 191 MovieClip [borderHead4] Frame 5
stop();
Symbol 191 MovieClip [borderHead4] Frame 6
stop();
Symbol 191 MovieClip [borderHead4] Frame 7
stop();
Symbol 200 MovieClip [borderHead5] Frame 1
#initclip 73
Object.registerClass("borderHead5", CRiderColor);
#endinitclip
stop();
Symbol 200 MovieClip [borderHead5] Frame 2
stop();
Symbol 200 MovieClip [borderHead5] Frame 3
stop();
Symbol 200 MovieClip [borderHead5] Frame 4
stop();
Symbol 200 MovieClip [borderHead5] Frame 5
stop();
Symbol 200 MovieClip [borderHead5] Frame 6
stop();
Symbol 200 MovieClip [borderHead5] Frame 7
stop();
Symbol 200 MovieClip [borderHead5] Frame 8
stop();
Symbol 201 MovieClip Frame 18
Symbol 201 MovieClip Frame 20
stop();
Symbol 202 MovieClip Frame 20
CRider.tickComplete(CRider.TRICK_ROT360_BLIP);
stop();
Symbol 203 MovieClip Frame 21
CRider.tickComplete(CRider.SIT_ROT_720);
Symbol 203 MovieClip Frame 25
stop();
Symbol 204 MovieClip Frame 16
CRider.tickComplete(CRider.TRICK_GRAB_NOSE);
Symbol 205 MovieClip Frame 13
CRider.tickComplete(CRider.TRICK_GRAB_TAIL);
Symbol 212 MovieClip Frame 12
stop();
Symbol 213 MovieClip Frame 18
CRider.tickComplete(CRider.STAND_ROT_360);
Symbol 213 MovieClip Frame 20
stop();
Symbol 214 MovieClip Frame 18
CRider.tickComplete(CRider.AIR_BACK);
Symbol 214 MovieClip Frame 26
stop();
Symbol 215 MovieClip Frame 13
CRider.tickComplete(CRider.AIR_FRONT);
Symbol 215 MovieClip Frame 17
stop();
Symbol 217 MovieClip Frame 21
CRider.tickComplete(CRider.HELICOPTER_SIT);
Symbol 217 MovieClip Frame 26
stop();
Symbol 218 MovieClip Frame 21
CRider.tickComplete(CRider.HELICOPTER);
Symbol 218 MovieClip Frame 25
stop();
Symbol 220 MovieClip Frame 21
CRider.tickComplete(CRider.SIT_ROT_360);
Symbol 220 MovieClip Frame 30
stop();
Symbol 221 MovieClip Frame 24
CRider.tickComplete(CRider.TRICK_AIRPLANE);
Symbol 221 MovieClip Frame 28
stop();
Symbol 234 MovieClip Frame 29
stop();
Symbol 235 MovieClip [idSnowBorder] Frame 1
#initclip 74
Object.registerClass("idSnowBorder", RiderAnim);
#endinitclip
stop();
Symbol 240 MovieClip Frame 1
stop();
Symbol 240 MovieClip Frame 16
stop();
Symbol 241 MovieClip [Snowball] Frame 1
#initclip 75
Object.registerClass("Snowball", MovieClip);
#endinitclip
Symbol 254 MovieClip Frame 14
stop();
Symbol 255 MovieClip Frame 1
stop();
Symbol 257 MovieClip [videoIntro] Frame 1
#initclip 76
Object.registerClass("videoIntro", MovieClip);
#endinitclip
Symbol 257 MovieClip [videoIntro] Frame 51
GameConst.helicopterCommandDrop();
Symbol 270 MovieClip [point] Frame 1
#initclip 77
Object.registerClass("point", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 271 MovieClip [ragDoll] Frame 1
#initclip 78
Object.registerClass("ragDoll", MovieClip);
#endinitclip
Symbol 278 MovieClip [levelHit1] Frame 1
#initclip 79
Object.registerClass("levelHit1", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 286 MovieClip [finishWall] Frame 1
#initclip 80
Object.registerClass("finishWall", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 301 MovieClip [idLevel1] Frame 1
#initclip 81
Object.registerClass("idLevel1", Level);
#endinitclip
Symbol 304 MovieClip [levelHit2] Frame 1
#initclip 82
Object.registerClass("levelHit2", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 306 MovieClip [idLevel2] Frame 1
#initclip 83
Object.registerClass("idLevel2", Level);
#endinitclip
Symbol 309 MovieClip [levelHit3] Frame 1
#initclip 84
Object.registerClass("levelHit3", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 313 MovieClip [idLevel3] Frame 1
#initclip 85
Object.registerClass("idLevel3", Level);
#endinitclip
Symbol 316 MovieClip [levelHit4] Frame 1
#initclip 86
Object.registerClass("levelHit4", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 320 MovieClip [idLevel4] Frame 1
#initclip 87
Object.registerClass("idLevel4", Level);
#endinitclip
Symbol 327 MovieClip [idLevel5] Frame 1
#initclip 88
Object.registerClass("idLevel5", Level);
#endinitclip
Symbol 333 MovieClip [levelHit6] Frame 1
#initclip 89
Object.registerClass("levelHit6", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 340 MovieClip [idLevel6] Frame 1
#initclip 90
Object.registerClass("idLevel6", Level);
#endinitclip
Symbol 343 MovieClip [levelHit7] Frame 1
#initclip 91
Object.registerClass("levelHit7", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 348 MovieClip [idLevel7] Frame 1
#initclip 92
Object.registerClass("idLevel7", Level);
#endinitclip
Symbol 351 MovieClip [levelHit8] Frame 1
#initclip 93
Object.registerClass("levelHit8", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 355 MovieClip [idLevel8] Frame 1
#initclip 94
Object.registerClass("idLevel8", Level);
#endinitclip
Symbol 358 MovieClip [levelHit9] Frame 1
#initclip 95
Object.registerClass("levelHit9", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 362 MovieClip [idLevel9] Frame 1
#initclip 96
Object.registerClass("idLevel9", Level);
#endinitclip
Symbol 365 MovieClip [levelHit10] Frame 1
#initclip 97
Object.registerClass("levelHit10", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 369 MovieClip [idLevel10] Frame 1
#initclip 98
Object.registerClass("idLevel10", Level);
#endinitclip
Symbol 372 MovieClip [levelHit11] Frame 1
#initclip 99
Object.registerClass("levelHit11", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 376 MovieClip [idLevel11] Frame 1
#initclip 100
Object.registerClass("idLevel11", Level);
#endinitclip
Symbol 379 MovieClip [levelHit12] Frame 1
#initclip 101
Object.registerClass("levelHit12", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 383 MovieClip [idLevel12] Frame 1
#initclip 102
Object.registerClass("idLevel12", Level);
#endinitclip
Symbol 386 MovieClip [levelHit13] Frame 1
#initclip 103
Object.registerClass("levelHit13", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 391 MovieClip [idLevel13] Frame 1
#initclip 104
Object.registerClass("idLevel13", Level);
#endinitclip
Symbol 394 MovieClip [levelHit14] Frame 1
#initclip 105
Object.registerClass("levelHit14", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 398 MovieClip [idLevel14] Frame 1
#initclip 106
Object.registerClass("idLevel14", Level);
#endinitclip
Symbol 401 MovieClip [levelHit15] Frame 1
#initclip 107
Object.registerClass("levelHit15", iriysoft.view.InvisibleMovie);
#endinitclip
Symbol 405 MovieClip [idLevel15] Frame 1
#initclip 108
Object.registerClass("idLevel15", Level);
#endinitclip
Symbol 408 MovieClip [nodeWheel] Frame 1
#initclip 109
Object.registerClass("nodeWheel", MovieClip);
#endinitclip
Symbol 417 MovieClip [btnNext] Frame 1
#initclip 110
Object.registerClass("btnNext", iriysoft.button.AutoButton);
#endinitclip
stop();
Symbol 423 MovieClip [tryAgain] Frame 1
#initclip 111
Object.registerClass("tryAgain", iriysoft.button.AutoButton);
#endinitclip
stop();
Symbol 434 MovieClip [btnExit] Frame 1
#initclip 112
Object.registerClass("btnExit", GameButton);
#endinitclip
stop();
Symbol 440 MovieClip [btnResume] Frame 1
#initclip 113
Object.registerClass("btnResume", GameButton);
#endinitclip
stop();
Symbol 450 MovieClip [no] Frame 1
#initclip 114
Object.registerClass("no", iriysoft.button.AutoButton);
#endinitclip
stop();
Symbol 456 MovieClip [yes] Frame 1
#initclip 115
Object.registerClass("yes", iriysoft.button.AutoButton);
#endinitclip
stop();
Instance of Symbol 444 MovieClip in Symbol 458 MovieClip [newGameScreen] Frame 1
onClipEvent (load) {
this.onPress = function () {
};
this.useHandCursor = false;
}
Symbol 469 MovieClip [Btn_OK] Frame 1
#initclip 116
Object.registerClass("Btn_OK", iriysoft.button.AutoButton);
#endinitclip
stop();
Symbol 475 MovieClip [Trick4] Frame 1
#initclip 117
Object.registerClass("Trick4", CHelpTrickIcons);
#endinitclip
Symbol 478 MovieClip [Trick5] Frame 1
#initclip 118
Object.registerClass("Trick5", CHelpTrickIcons);
#endinitclip
Symbol 481 MovieClip [Trick6] Frame 1
#initclip 119
Object.registerClass("Trick6", CHelpTrickIcons);
#endinitclip
Symbol 484 MovieClip [Trick1] Frame 1
#initclip 120
Object.registerClass("Trick1", CHelpTrickIcons);
#endinitclip
Symbol 487 MovieClip [Trick2] Frame 1
#initclip 121
Object.registerClass("Trick2", CHelpTrickIcons);
#endinitclip
Symbol 490 MovieClip [Trick3] Frame 1
#initclip 122
Object.registerClass("Trick3", CHelpTrickIcons);
#endinitclip
Symbol 493 MovieClip [right] Frame 1
#initclip 123
Object.registerClass("right", CHelpTrickIcons);
#endinitclip
Symbol 496 MovieClip [left] Frame 1
#initclip 124
Object.registerClass("left", CHelpTrickIcons);
#endinitclip
Symbol 499 MovieClip [jump] Frame 1
#initclip 125
Object.registerClass("jump", CHelpTrickIcons);
#endinitclip
Symbol 541 MovieClip Frame 1
stop();
Instance of Symbol 444 MovieClip in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (load) {
this.onPress = function () {
};
this.useHandCursor = false;
}
Instance of Symbol 475 MovieClip [Trick4] in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (load) {
this.m_num = 3;
}
Instance of Symbol 478 MovieClip [Trick5] in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (load) {
this.m_num = 4;
}
Instance of Symbol 481 MovieClip [Trick6] in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (load) {
this.m_num = 5;
}
Instance of Symbol 484 MovieClip [Trick1] in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (load) {
this.m_num = 0;
}
Instance of Symbol 487 MovieClip [Trick2] in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (load) {
this.m_num = 1;
}
Instance of Symbol 490 MovieClip [Trick3] in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (load) {
this.m_num = 2;
}
Instance of Symbol 493 MovieClip [right] in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (load) {
this.m_num = 6;
}
Instance of Symbol 496 MovieClip [left] in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (load) {
this.m_num = 7;
}
Instance of Symbol 499 MovieClip [jump] in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (load) {
this.m_num = 8;
}
Instance of Symbol 534 MovieClip in Symbol 542 MovieClip [helpScreen] Frame 1
onClipEvent (enterFrame) {
if (this._currentframe != (GameConst.curHelpTrick + 1)) {
this.gotoAndStop(GameConst.curHelpTrick + 1);
}
}
Instance of Symbol 444 MovieClip in Symbol 545 MovieClip [msgWin] Frame 1
onClipEvent (load) {
this.onPress = function () {
};
this.useHandCursor = false;
}
Symbol 559 MovieClip Frame 1
stop();
Symbol 574 Button
on (press) {
getURL ("http://www.addictinggames.com", blank);
}
Symbol 576 MovieClip Frame 1
function LOGO_IN() {
var _local1 = new mx.transitions.Tween(AGlogo_mc, "_y", mx.transitions.easing.Strong.easeIn, -75, 85, 12, false);
_local1.onMotionFinished = function () {
LOGO_SMASH();
var _local3 = new mx.transitions.Tween(AGlogo_mc, "_y", mx.transitions.easing.Bounce.easeOut, 60, 85, 6, false);
var _local4 = new mx.transitions.Tween(AGlogo_mc, "_x", mx.transitions.easing.Bounce.easeOut, 30, 50, 6, false);
var _local2 = new mx.transitions.Tween(AGpresented_mc, "_y", mx.transitions.easing.Bounce.easeOut, 15, 25, 6, false);
var _local1 = new mx.transitions.Tween(AGpresented_mc, "_x", mx.transitions.easing.Bounce.easeOut, 110, 100, 6, false);
};
}
function LOGO_SMASH() {
AG_SMASH.start();
AGclick_btn._visible = true;
}
function AG_HOLD_COUNTER() {
if (AG_COUNT == AG_TIME) {
clearInterval(AG_HOLD_ID);
_level0.START_ping.broadcastMessage("presented");
this.unloadMovie();
_parent.gotoAndStop("lbStart");
} else {
AG_COUNT++;
}
}
_parent.stop();
var AG_SMASH = new Sound();
AG_SMASH.attachSound("Smash");
var AG_COUNT = 0;
var AG_TIME = 4;
var AG_HOLD_ID;
AG_HOLD_ID = setInterval(this, "AG_HOLD_COUNTER", 1000);
AGpresented_mc._alpha = 0;
AGclick_btn._visible = false;
AGlogo_mc._y = -70;
var AGpresented_IN = (new mx.transitions.Tween(AGpresented_mc, "_alpha", mx.transitions.easing.Strong.easeIn, 0, 100, 12, false));
AGpresented_IN.onMotionFinished = function () {
LOGO_IN();
};
AGskip_btn.onRelease = function () {
AG_COUNT = AG_TIME;
AG_HOLD_COUNTER();
};
AGclick_btn.onRelease = function () {
getURL ("http://www.addictinggames.com", "_blank");
};
Symbol 585 Button
on (press) {
getURL ("http://www.addictinggames.com", blank);
}
Symbol 591 MovieClip [btnStart] Frame 1
#initclip 147
Object.registerClass("btnStart", GameButton);
#endinitclip
stop();
Symbol 597 MovieClip [Btn_About] Frame 1
#initclip 127
Object.registerClass("Btn_About", GameButton);
#endinitclip
stop();
Symbol 603 MovieClip [Btn_Continue] Frame 1
#initclip 128
Object.registerClass("Btn_Continue", GameButton);
#endinitclip
stop();
Symbol 604 MovieClip [scrSplash] Frame 1
#initclip 129
Object.registerClass("scrSplash", ScreenSplash);
#endinitclip
Symbol 621 MovieClip [Btn_Back] Frame 1
#initclip 130
Object.registerClass("Btn_Back", iriysoft.button.AutoButton);
#endinitclip
stop();
Symbol 623 Button
on (press) {
getURL ("http://www.addictinggames.com", "_blank");
}
Symbol 632 MovieClip Frame 1
stop();
Symbol 632 MovieClip Frame 2
stop();
Symbol 637 MovieClip Frame 1
stop();
Symbol 637 MovieClip Frame 2
stop();
Symbol 659 MovieClip Frame 1
stop();
Symbol 660 MovieClip Frame 1
stop();
Symbol 665 MovieClip [LevelButton] Frame 1
#initclip 131
Object.registerClass("LevelButton", LevelButton);
#endinitclip
stop();
Symbol 680 MovieClip [Instructions] Frame 1
#initclip 132
Object.registerClass("Instructions", GameButton);
#endinitclip
stop();
Symbol 681 MovieClip [scrMap] Frame 1
#initclip 133
Object.registerClass("scrMap", ScreenMap);
#endinitclip
Instance of Symbol 665 MovieClip [LevelButton] "butLevel5" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 4;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel2" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 1;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel1" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 0;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel3" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 2;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel4" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 3;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel6" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 5;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel8" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 7;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel9" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 8;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel10" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 9;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel11" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 10;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel12" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 11;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel13" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 12;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel14" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 13;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel15" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 14;
}
Instance of Symbol 665 MovieClip [LevelButton] "butLevel7" in Symbol 681 MovieClip [scrMap] Frame 1
onClipEvent (load) {
this.levelNum = 6;
}
Symbol 689 MovieClip Frame 1
stop();
Symbol 699 MovieClip Frame 8
stop();
Symbol 712 MovieClip [Btn_ChooseKate] Frame 1
#initclip 134
Object.registerClass("Btn_ChooseKate", RiderButton);
#endinitclip
stop();
Symbol 716 MovieClip Frame 1
stop();
Symbol 730 MovieClip [Btn_ChooseBunny] Frame 1
#initclip 135
Object.registerClass("Btn_ChooseBunny", RiderButton);
#endinitclip
stop();
Symbol 734 MovieClip Frame 1
stop();
Symbol 744 MovieClip [Btn_ChoosePierre] Frame 1
#initclip 136
Object.registerClass("Btn_ChoosePierre", RiderButton);
#endinitclip
stop();
Symbol 748 MovieClip Frame 1
stop();
Symbol 755 MovieClip [Btn ChooseDarren] Frame 1
#initclip 137
Object.registerClass("Btn ChooseDarren", RiderButton);
#endinitclip
stop();
Instance of Symbol 712 MovieClip [Btn_ChooseKate] "rider1" in Symbol 756 MovieClip Frame 1
onClipEvent (load) {
this.riderNum = GameConst.RIDER_KATE;
}
Instance of Symbol 730 MovieClip [Btn_ChooseBunny] "rider0" in Symbol 756 MovieClip Frame 1
onClipEvent (load) {
this.riderNum = GameConst.RIDER_BUNNY;
}
Instance of Symbol 744 MovieClip [Btn_ChoosePierre] "rider2" in Symbol 756 MovieClip Frame 1
onClipEvent (load) {
this.riderNum = GameConst.RIDER_PIERRE;
}
Instance of Symbol 755 MovieClip [Btn ChooseDarren] "rider3" in Symbol 756 MovieClip Frame 1
onClipEvent (load) {
this.riderNum = GameConst.RIDER_DARREN;
}
Symbol 782 MovieClip [scrRiders] Frame 1
#initclip 138
Object.registerClass("scrRiders", ScreenChoice);
#endinitclip
Instance of Symbol 777 MovieClip "mcInfo" in Symbol 782 MovieClip [scrRiders] Frame 1
onClipEvent (enterFrame) {
if (this._currentframe != (CGame.curRider + 1)) {
this.gotoAndStop(CGame.curRider + 1);
}
}
Symbol 808 MovieClip [PlayIcon] Frame 1
#initclip 139
Object.registerClass("PlayIcon", CGameControl);
#endinitclip
Symbol 812 MovieClip [idTrickMessage] Frame 1
stop();
Symbol 882 MovieClip [scrRace] Frame 1
#initclip 140
Object.registerClass("scrRace", ScreenRace);
#endinitclip
Symbol 884 MovieClip [closeRace] Frame 1
#initclip 141
Object.registerClass("closeRace", GameButton);
#endinitclip
stop();
Symbol 910 MovieClip Frame 86
stop();
Symbol 929 MovieClip Frame 71
stop();
Symbol 952 MovieClip Frame 76
stop();
Symbol 966 MovieClip [Submit] Frame 1
#initclip 142
Object.registerClass("Submit", GameButton);
#endinitclip
stop();
Symbol 969 MovieClip [scrJudges] Frame 1
#initclip 143
Object.registerClass("scrJudges", ScreenJudges);
#endinitclip
Instance of Symbol 910 MovieClip "mcJudge3" in Symbol 969 MovieClip [scrJudges] Frame 1
onClipEvent (load) {
CGame.initPeople(2, this);
}
Instance of Symbol 929 MovieClip "mcJudge1" in Symbol 969 MovieClip [scrJudges] Frame 1
onClipEvent (load) {
CGame.initPeople(0, this);
}
Instance of Symbol 952 MovieClip "mcJudge2" in Symbol 969 MovieClip [scrJudges] Frame 1
onClipEvent (load) {
CGame.initPeople(1, this);
}
Symbol 973 MovieClip [scrSubmit] Frame 1
#initclip 144
Object.registerClass("scrSubmit", ScreenSubmit);
#endinitclip
stop();
Symbol 974 MovieClip [allScreen] Frame 1
#initclip 145
Object.registerClass("allScreen", Game);
#endinitclip
Symbol 978 MovieClip [SoundIcon] Frame 1
#initclip 146
Object.registerClass("SoundIcon", CSoundControl);
#endinitclip