Section 1
//ag_intro_mc_2 (DriftRunners_ArmorGames_fla.ag_intro_mc_2)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
public dynamic class ag_intro_mc_2 extends MovieClip {
public function ag_intro_mc_2(){
addFrameScript(0, frame1, 216, frame217);
}
function frame217(){
stop();
MovieClip(parent).play();
MovieClip(parent).removeChild(this);
}
function frame1(){
MovieClip(parent).stop();
gotoAndPlay(2);
}
}
}//package DriftRunners_ArmorGames_fla
Section 2
//ChallengeIcon1_31 (DriftRunners_ArmorGames_fla.ChallengeIcon1_31)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
public dynamic class ChallengeIcon1_31 extends MovieClip {
public var star4:MovieClip;
public var star5:MovieClip;
public var star1:MovieClip;
public var star3:MovieClip;
public var star2:MovieClip;
public var padlock:MovieClip;
}
}//package DriftRunners_ArmorGames_fla
Section 3
//ChallengeIcon1a_38 (DriftRunners_ArmorGames_fla.ChallengeIcon1a_38)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
public dynamic class ChallengeIcon1a_38 extends MovieClip {
public var star4:MovieClip;
public var star5:MovieClip;
public var star1:MovieClip;
public var star3:MovieClip;
public var star2:MovieClip;
public var padlock:MovieClip;
}
}//package DriftRunners_ArmorGames_fla
Section 4
//ChallengeIcon2_36 (DriftRunners_ArmorGames_fla.ChallengeIcon2_36)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
public dynamic class ChallengeIcon2_36 extends MovieClip {
public var star4:MovieClip;
public var star5:MovieClip;
public var star1:MovieClip;
public var star3:MovieClip;
public var star2:MovieClip;
public var padlock:MovieClip;
}
}//package DriftRunners_ArmorGames_fla
Section 5
//ChallengeIcon2a_39 (DriftRunners_ArmorGames_fla.ChallengeIcon2a_39)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
public dynamic class ChallengeIcon2a_39 extends MovieClip {
public var star4:MovieClip;
public var star5:MovieClip;
public var star1:MovieClip;
public var star3:MovieClip;
public var star2:MovieClip;
public var padlock:MovieClip;
}
}//package DriftRunners_ArmorGames_fla
Section 6
//ChallengeIcon3_37 (DriftRunners_ArmorGames_fla.ChallengeIcon3_37)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
public dynamic class ChallengeIcon3_37 extends MovieClip {
public var star4:MovieClip;
public var star5:MovieClip;
public var star1:MovieClip;
public var star3:MovieClip;
public var star2:MovieClip;
public var padlock:MovieClip;
}
}//package DriftRunners_ArmorGames_fla
Section 7
//ChallengeIcon3a_40 (DriftRunners_ArmorGames_fla.ChallengeIcon3a_40)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
public dynamic class ChallengeIcon3a_40 extends MovieClip {
public var star4:MovieClip;
public var star5:MovieClip;
public var star1:MovieClip;
public var star3:MovieClip;
public var star2:MovieClip;
public var padlock:MovieClip;
}
}//package DriftRunners_ArmorGames_fla
Section 8
//ChallengeInfoBar_50 (DriftRunners_ArmorGames_fla.ChallengeInfoBar_50)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ChallengeInfoBar_50 extends MovieClip {
public var challengeStar:MovieClip;
public var challengeInfo:TextField;
}
}//package DriftRunners_ArmorGames_fla
Section 9
//ChallengeStar_33 (DriftRunners_ArmorGames_fla.ChallengeStar_33)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
public dynamic class ChallengeStar_33 extends MovieClip {
public function ChallengeStar_33(){
addFrameScript(4, frame5);
}
function frame5(){
gotoAndPlay(1);
}
}
}//package DriftRunners_ArmorGames_fla
Section 10
//MainTimeline (DriftRunners_ArmorGames_fla.MainTimeline)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
public dynamic class MainTimeline extends MovieClip {
public var _mochiads_game_id:String;
public function MainTimeline(){
addFrameScript(0, frame1, 16, frame17);
}
function frame1(){
_mochiads_game_id = "7e745a18c737eca8";
}
function frame17(){
stop();
}
}
}//package DriftRunners_ArmorGames_fla
Section 11
//PanelBorder_56 (DriftRunners_ArmorGames_fla.PanelBorder_56)
package DriftRunners_ArmorGames_fla {
import flash.display.*;
public dynamic class PanelBorder_56 extends MovieClip {
public function PanelBorder_56(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package DriftRunners_ArmorGames_fla
Section 12
//Background (Background)
package {
import flash.display.*;
public dynamic class Background extends MovieClip {
}
}//package
Section 13
//BackgroundSurface (BackgroundSurface)
package {
import flash.display.*;
public dynamic class BackgroundSurface extends MovieClip {
}
}//package
Section 14
//beep1SFX (beep1SFX)
package {
import flash.media.*;
public dynamic class beep1SFX extends Sound {
}
}//package
Section 15
//beep2SFX (beep2SFX)
package {
import flash.media.*;
public dynamic class beep2SFX extends Sound {
}
}//package
Section 16
//buttonBuy (buttonBuy)
package {
import flash.display.*;
public dynamic class buttonBuy extends SimpleButton {
}
}//package
Section 17
//buttonPause (buttonPause)
package {
import flash.display.*;
public dynamic class buttonPause extends SimpleButton {
}
}//package
Section 18
//Car_Arrow (Car_Arrow)
package {
import flash.display.*;
public dynamic class Car_Arrow extends MovieClip {
}
}//package
Section 19
//Car_Palette (Car_Palette)
package {
import flash.display.*;
public dynamic class Car_Palette extends MovieClip {
}
}//package
Section 20
//Car1 (Car1)
package {
import flash.display.*;
public dynamic class Car1 extends MovieClip {
}
}//package
Section 21
//Car1a (Car1a)
package {
import flash.display.*;
public dynamic class Car1a extends MovieClip {
}
}//package
Section 22
//Car2 (Car2)
package {
import flash.display.*;
public dynamic class Car2 extends MovieClip {
}
}//package
Section 23
//Car2a (Car2a)
package {
import flash.display.*;
public dynamic class Car2a extends MovieClip {
}
}//package
Section 24
//CarCarCollision (CarCarCollision)
package {
import flash.display.*;
public dynamic class CarCarCollision extends MovieClip {
}
}//package
Section 25
//CarPop (CarPop)
package {
import flash.display.*;
public dynamic class CarPop extends MovieClip {
}
}//package
Section 26
//CarShadow (CarShadow)
package {
import flash.display.*;
public dynamic class CarShadow extends MovieClip {
}
}//package
Section 27
//CarSkidmark (CarSkidmark)
package {
import flash.display.*;
public dynamic class CarSkidmark extends MovieClip {
}
}//package
Section 28
//CashRegister (CashRegister)
package {
import flash.media.*;
public dynamic class CashRegister extends Sound {
}
}//package
Section 29
//Challenge (Challenge)
package {
public class Challenge {
public var callbackParameter:Number;
public var callback:Function;
public var name:String;
public var complete:Boolean;
public function Challenge(_arg1:String, _arg2:Function, _arg3:Number){
name = _arg1;
complete = false;
callback = _arg2;
callbackParameter = _arg3;
}
}
}//package
Section 30
//ChallengeInfoScreen (ChallengeInfoScreen)
package {
import flash.text.*;
import flash.display.*;
public dynamic class ChallengeInfoScreen extends MovieClip {
public var textCash:TextField;
public var textTrack:TextField;
public var cup:MovieClip;
public var buttonBack:SimpleButton;
public var infoBar1:MovieClip;
public var infoBar3:MovieClip;
public var infoBar0:MovieClip;
public var buttonMoreGames:SimpleButton;
public var wreath:MovieClip;
public var textEvent:TextField;
public var infoBar4:MovieClip;
public var textScore:TextField;
public var buttonKong:SimpleButton;
public var textQualifyTime:TextField;
public var buttonOK:SimpleButton;
public var infoBar2:MovieClip;
public var buttonHelp:SimpleButton;
public var textTotalScore:TextField;
public var trackSymbol:MovieClip;
public function ChallengeInfoScreen(){
addFrameScript(0, frame1, 69, frame70);
}
function frame70(){
stop();
}
function frame1(){
}
}
}//package
Section 31
//ChooseCarScreen (ChooseCarScreen)
package {
import flash.display.*;
public dynamic class ChooseCarScreen extends MovieClip {
public var buttonCar2:MovieClip;
public var buttonCar1:MovieClip;
public var buttonKong:SimpleButton;
public var buttonOK:SimpleButton;
public var buttonHelp:SimpleButton;
public var colorPicker:ChooseColor;
}
}//package
Section 32
//ChooseChallengeScreen (ChooseChallengeScreen)
package {
import flash.display.*;
public dynamic class ChooseChallengeScreen extends MovieClip {
public var event2:MovieClip;
public var buttonBack:SimpleButton;
public var buttonShop:SimpleButton;
public var buttonMoreGames:SimpleButton;
public var buttonKong:SimpleButton;
public var buttonOK:SimpleButton;
public var buttonHelp:SimpleButton;
public var event0:MovieClip;
public var event1:MovieClip;
public var event3:MovieClip;
public var event4:MovieClip;
public var event5:MovieClip;
public function ChooseChallengeScreen(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package
Section 33
//ChooseColor (ChooseColor)
package {
import flash.display.*;
public dynamic class ChooseColor extends MovieClip {
}
}//package
Section 34
//Collision (Collision)
package {
public class Collision {
public static var stats_numPolyCollisionTests:int;
public static var stats_numIntersections:int;
static var PolyCollision_LineHit:Line;
public static var IntersectionX:Number = 0;
public static var IntersectionY:Number = 0;
public static var closestX:Number = 0;
public static var closestY:Number = 0;
public static var closestInfiniteX:Number = 0;
public static var closestInfiniteY:Number = 0;
public static var stats_numBBTests:int;
public static var main:Main;
static function SideOfLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Boolean{
var _local7:Number;
_local7 = DotProduct((_arg3 - _arg1), (_arg4 - _arg2), (_arg5 - _arg1), (_arg6 - _arg2));
if (_local7 < 0){
return (false);
};
return (true);
}
static function GameObjectInPolyBoundingBox(_arg1:GameObj, _arg2:Poly):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = (_arg1.radius + 40);
_local4 = _arg1.xpos;
_local5 = _arg1.ypos;
stats_numBBTests++;
if (_local4 < (_arg2.boundingRectangle.left - _local3)){
return (false);
};
if (_local4 > (_arg2.boundingRectangle.right + _local3)){
return (false);
};
if (_local5 < (_arg2.boundingRectangle.top - _local3)){
return (false);
};
if (_local5 > (_arg2.boundingRectangle.bottom + _local3)){
return (false);
};
return (true);
}
static function DotProduct(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
_local5 = ((_arg1 * _arg3) + (_arg2 * _arg4));
return (_local5);
}
static function BulletCarCollision():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:int;
var _local8:int;
var _local9:GameObj;
var _local10:Number;
var _local11:Number;
var _local12:GameObj;
_local1 = 30;
_local2 = (_local1 * _local1);
for each (_local9 in GameObjects.objs) {
if (((_local9.active) && ((_local9.type == GameObj.gotype_BULLET)))){
_local1 = _local9.radius;
_local2 = (_local1 * _local1);
_local10 = _local9.xpos;
_local11 = _local9.ypos;
for each (_local12 in GameObjects.objs) {
if (((((_local12.active) && ((((_local12.type == GameObj.gotype_PLAYER)) || ((_local12.type == GameObj.gotype_AIPLAYER)))))) && (!((_local12 == _local9.parentObj))))){
_local3 = (_local12.xpos - _local10);
_local4 = (_local12.ypos - _local11);
_local6 = ((_local3 * _local3) + (_local4 * _local4));
if (_local6 < _local2){
_local9.active = false;
_local12.CarHitByBullet();
};
};
};
};
};
}
static function PolyCollision(_arg1:GameObj, _arg2:Poly, _arg3:Number, _arg4:Number, _arg5:Number):Boolean{
var _local6:Array;
var _local7:Array;
var _local8:Line;
var _local9:Boolean;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Line;
var _local16:int;
var _local17:int;
var _local18:*;
var _local19:Number;
var _local20:Number;
var _local21:Line;
var _local22:Line;
stats_numPolyCollisionTests++;
_local6 = new Array();
_local7 = new Array();
_local11 = (_arg1.xpos + _arg3);
_local12 = (_arg1.ypos + _arg4);
_local13 = _arg5;
_local14 = (_local13 * _local13);
for each (_local15 in _arg2.lineList) {
_local9 = true;
if (_local9 == true){
_local10 = Dist2ToLine(_local15.x0, _local15.y0, _local15.x1, _local15.y1, _local11, _local12);
if (_local10 < _local14){
_local6.push(_local15);
_local7.push(_local10);
};
};
};
_local18 = _local6.length;
_local16 = 0;
while (_local16 < (_local18 - 1)) {
_local17 = _local16;
while (_local17 < _local18) {
_local19 = _local7[_local16];
_local20 = _local7[_local17];
_local21 = _local6[_local16];
_local22 = _local6[_local17];
if (_local20 < _local19){
_local7[_local16] = _local20;
_local7[_local17] = _local19;
_local6[_local16] = _local22;
_local6[_local17] = _local21;
};
_local17++;
};
_local16++;
};
_local16 = 0;
while (_local16 < _local18) {
_local8 = _local6[_local16];
_local9 = true;
if (_local9 == true){
_local10 = Dist2ToLine(_local8.x0, _local8.y0, _local8.x1, _local8.y1, _local11, _local12);
if (_local10 < _local14){
stats_numIntersections++;
Intersected(_arg1, _local8, closestX, closestY, _arg3, _arg4, _arg5);
PolyCollision_LineHit = _local8;
return (true);
};
};
return (true);
_local16++;
};
return (false);
}
static function CarPickupCollision():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:int;
var _local8:int;
var _local9:GameObj;
var _local10:Number;
var _local11:Number;
var _local12:GameObj;
_local1 = 30;
_local2 = (_local1 * _local1);
for each (_local9 in GameObjects.objs) {
if (((_local9.active) && ((_local9.type == GameObj.gotype_PLAYER)))){
_local1 = (_local9.radius + 10);
_local2 = (_local1 * _local1);
_local10 = _local9.xpos;
_local11 = _local9.ypos;
for each (_local12 in GameObjects.objs) {
if (((_local12.active) && ((_local12.type == GameObj.gotype_PICKUP)))){
_local3 = (_local12.xpos - _local10);
_local4 = (_local12.ypos - _local11);
_local6 = ((_local3 * _local3) + (_local4 * _local4));
if (_local6 < _local2){
_local9.CarCollectedPickup(_local12);
};
};
};
};
};
}
static function CarLineCollision(){
var _local1:GameObj;
var _local2:Boolean;
var _local3:int;
var _local4:*;
for each (_local1 in GameObjects.objs) {
if (((_local1.active) && ((((_local1.type == GameObj.gotype_PLAYER)) || ((_local1.type == GameObj.gotype_AIPLAYER)))))){
_local2 = false;
_local3 = 0;
do {
for each (_local4 in Game.polygonList) {
if (_local4.active){
if (GameObjectInPolyBoundingBox(_local1, _local4)){
if (_local4.type == Poly.polytype_WALL){
_local2 = PolyCollision(_local1, _local4, 0, 0, _local1.radius);
if (_local2){
_local1.CarHitWall();
};
};
};
};
};
_local3++;
} while ((((_local2 == true)) && ((_local3 < 3))));
};
};
}
public static function SingleObjectTypeCollision(_arg1:GameObj, _arg2:int):Poly{
var _local3:Poly;
for each (_local3 in Game.polygonList) {
if (((_local3.active) && ((_local3.type == _arg2)))){
if (GameObjectInPolyBoundingBox(_arg1, _local3)){
if (PointInConvexPoly(_arg1.xpos, _arg1.ypos, _local3.lineList)){
return (_local3);
};
};
};
};
return (null);
}
static function CarCarCollision():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:int;
var _local9:int;
var _local10:GameObj;
var _local11:Number;
var _local12:Number;
var _local13:GameObj;
var _local14:Number;
var _local15:Number;
var _local16:Number;
_local1 = TweakVars.GetNumber("CarCarCol_Force");
_local2 = TweakVars.GetNumber("CarCarCol_Radius");
_local3 = (_local2 * _local2);
for each (_local10 in GameObjects.objs) {
if (((_local10.active) && ((((_local10.type == GameObj.gotype_PLAYER)) || ((_local10.type == GameObj.gotype_AIPLAYER)))))){
_local11 = _local10.xpos;
_local12 = _local10.ypos;
for each (_local13 in GameObjects.objs) {
if (_local10 != _local13){
if (((_local13.active) && ((((_local13.type == GameObj.gotype_PLAYER)) || ((_local13.type == GameObj.gotype_AIPLAYER)))))){
_local4 = (_local13.xpos - _local11);
_local5 = (_local13.ypos - _local12);
_local7 = ((_local4 * _local4) + (_local5 * _local5));
if (_local7 < _local3){
_local6 = Math.sqrt(_local7);
_local14 = Math.atan2(_local5, _local4);
_local15 = ((_local2 - _local6) * _local1);
_local16 = ((_local2 - _local6) * _local1);
_local13.xpos = (_local13.xpos + (Math.cos(_local14) * _local15));
_local13.ypos = (_local13.ypos + (Math.sin(_local14) * _local15));
_local10.xpos = (_local10.xpos - (Math.cos(_local14) * _local16));
_local10.ypos = (_local10.ypos - (Math.sin(_local14) * _local16));
Game.AddCarCarSparks(_local10, _local13);
};
};
};
};
};
};
}
public static function LineLineIntersection(_arg1:Line, _arg2:Line):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
_local3 = _arg1.x0;
_local4 = _arg1.y0;
_local5 = _arg1.x1;
_local6 = _arg1.y1;
_local7 = _arg2.x0;
_local8 = _arg2.y0;
_local9 = _arg2.x1;
_local10 = _arg2.y1;
_local11 = (_local5 - _local3);
_local12 = (_local9 - _local7);
_local13 = ((_local6 - _local4) / _local11);
_local14 = ((_local10 - _local8) / _local12);
_local15 = (_local4 - (_local13 * _local3));
_local16 = (_local8 - (_local14 * _local7));
_local17 = ((_local15 - _local16) / (_local14 - _local13));
_local18 = (((_local13 * (_local16 - _local15)) / (_local13 - _local14)) + _local15);
if (_arg1.boundingRect.contains(_local17, _local18)){
if (_arg2.boundingRect.contains(_local17, _local18)){
IntersectionX = _local17;
IntersectionY = _local18;
return (true);
};
};
return (false);
}
static function Dist2ToLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{
var _local7:Number;
var _local8:Number;
ClosestPointOnLine(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
_local7 = (closestX - _arg5);
_local8 = (closestY - _arg6);
return (((_local7 * _local7) + (_local8 * _local8)));
}
static function DistBetweenPoints(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
_local5 = (_arg3 - _arg1);
_local6 = (_arg4 - _arg2);
return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6))));
}
public static function SingleObjectZoneCollision(_arg1:GameObj):Poly{
var _local2:Poly;
for each (_local2 in Game.polygonList) {
if (((_local2.active) && ((_local2.type == Poly.polytype_ZONE)))){
if (GameObjectInPolyBoundingBox(_arg1, _local2)){
if (PointInConvexPoly(_arg1.xpos, _arg1.ypos, _local2.lineList)){
return (_local2);
};
};
};
};
return (null);
}
public static function PointInConvexPoly(_arg1:Number, _arg2:Number, _arg3:Array):Boolean{
var _local4:int;
var _local5:int;
var _local6:Line;
var _local7:Number;
_local4 = _arg3.length;
_local5 = 0;
while (_local5 < _local4) {
_local6 = _arg3[_local5];
_local7 = DotProduct((_local6.x0 - _arg1), (_local6.y0 - _arg2), _local6.nx, _local6.ny);
if (_local7 < 0){
return (false);
};
_local5++;
};
return (true);
}
static function DistBetween(_arg1:GameObj, _arg2:GameObj):Number{
var _local3:Number;
var _local4:Number;
_local3 = (_arg2.xpos - _arg1.xpos);
_local4 = (_arg2.ypos - _arg1.ypos);
return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
}
public static function ClosestPointOnLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local7 = (_arg5 - _arg1);
_local8 = (_arg6 - _arg2);
_local9 = (_arg3 - _arg1);
_local10 = (_arg4 - _arg2);
_local11 = ((_local9 * _local9) + (_local10 * _local10));
_local12 = ((_local7 * _local9) + (_local8 * _local10));
_local13 = (_local12 / _local11);
closestInfiniteX = (_arg1 + (_local9 * _local13));
closestInfiniteY = (_arg2 + (_local10 * _local13));
if (_local13 < 0){
_local13 = 0;
};
if (_local13 > 1){
_local13 = 1;
};
closestX = (_arg1 + (_local9 * _local13));
closestY = (_arg2 + (_local10 * _local13));
}
static function Intersected(_arg1:GameObj, _arg2:Line, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):void{
var _local8:int;
var _local9:Number;
var _local10:Number;
var _local11:Vec;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:int;
var _local16:Number;
var _local17:Number;
var _local18:Number;
IntersectionX = _arg3;
IntersectionY = _arg4;
_local8 = 50;
_local9 = ((_arg1.oldxpos + _arg5) - _arg3);
_local10 = ((_arg1.oldypos + _arg6) - _arg4);
_local11 = new Vec();
_local11.Set(Math.atan2(_local10, _local9), _arg7);
_local9 = _local11.GetXComponent();
_local10 = _local11.GetYComponent();
_local9 = (_local9 / Number(_local8));
_local10 = (_local10 / Number(_local8));
_local12 = (_arg1.xpos + _arg5);
_local13 = (_arg1.ypos + _arg6);
_local14 = (_arg7 * _arg7);
_local15 = 0;
while (_local15 < _local8) {
_local16 = Dist2ToLine(_arg2.x0, _arg2.y0, _arg2.x1, _arg2.y1, _local12, _local13);
if (_local16 > _local14){
_local17 = ((_local12 - _arg5) - _arg1.xpos);
_local18 = ((_local13 - _arg6) - _arg1.ypos);
_arg1.xpos = (_arg1.xpos + _local17);
_arg1.ypos = (_arg1.ypos + _local18);
_arg1.oldxpos = (_arg1.oldxpos + _local17);
_arg1.oldypos = (_arg1.oldypos + _local18);
return;
};
_local12 = (_local12 + _local9);
_local13 = (_local13 + _local10);
_local15++;
};
}
static function CarObstacleCollision():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:int;
var _local8:int;
var _local9:GameObj;
var _local10:Number;
var _local11:Number;
var _local12:GameObj;
_local1 = 30;
_local2 = (_local1 * _local1);
for each (_local9 in GameObjects.objs) {
if (((_local9.active) && ((((_local9.type == GameObj.gotype_PLAYER)) || ((_local9.type == GameObj.gotype_AIPLAYER)))))){
_local1 = (_local9.radius + 10);
_local2 = (_local1 * _local1);
_local10 = _local9.xpos;
_local11 = _local9.ypos;
for each (_local12 in GameObjects.objs) {
if (((((_local12.active) && ((_local12.type == GameObj.gotype_OBSTACLE)))) && ((_local12.controlMode == 0)))){
if (_local9.zpos2 >= (_local9.startz - 10)){
_local3 = (_local12.xpos - _local10);
_local4 = (_local12.ypos - _local11);
_local6 = ((_local3 * _local3) + (_local4 * _local4));
if (_local6 < _local2){
_local12.ObstacleHitByCar(_local9);
};
};
};
};
};
};
}
static function CarDraftCollision():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:int;
var _local8:int;
var _local9:GameObj;
var _local10:Number;
var _local11:Number;
var _local12:GameObj;
_local1 = 30;
_local2 = (_local1 * _local1);
for each (_local9 in GameObjects.objs) {
if (((_local9.active) && ((_local9.type == GameObj.gotype_PLAYER)))){
_local9.draftMode = GameObj.draftMode_NONE;
_local2 = (_local9.radius * _local9.radius);
_local10 = _local9.xpos;
_local11 = _local9.ypos;
for each (_local12 in GameObjects.objs) {
if (((((_local12.active) && (!((_local12 == _local9))))) && ((((_local12.type == GameObj.gotype_PLAYER)) || ((_local12.type == GameObj.gotype_AIPLAYER)))))){
_local3 = (_local12.draftX - _local10);
_local4 = (_local12.draftX - _local11);
_local6 = ((_local3 * _local3) + (_local4 * _local4));
_local2 = ((_local9.radius + _local12.draftRadius) * (_local9.radius + _local12.draftRadius));
if (_local6 < _local2){
_local9.draftMode = GameObj.draftMode_IN;
};
};
};
};
};
}
static function DistToLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{
var _local7:Number;
var _local8:Number;
var _local9:Number;
ClosestPointOnLine(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
_local7 = (closestX - _arg5);
_local8 = (closestY - _arg6);
_local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
return (_local9);
}
public static function Update(_arg1:Main){
main = _arg1;
stats_numIntersections = 0;
stats_numBBTests = 0;
stats_numPolyCollisionTests = 0;
CarCarCollision();
CarLineCollision();
CarPickupCollision();
CarObstacleCollision();
}
static function Dist2Between(_arg1:GameObj, _arg2:GameObj):Number{
var _local3:Number;
var _local4:Number;
_local3 = (_arg2.xpos - _arg1.xpos);
_local4 = (_arg2.ypos - _arg1.ypos);
return (((_local3 * _local3) + (_local4 * _local4)));
}
static function Dist2BetweenPoints(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
_local5 = (_arg3 - _arg1);
_local6 = (_arg4 - _arg2);
return (((_local5 * _local5) + (_local6 * _local6)));
}
}
}//package
Section 35
//Defs (Defs)
package {
public class Defs {
public static const zpos_PICKUP = 1100;
public static const zpos_ENEMY = 1000;
public static const displayarea_w = 640;
public static const zpos_OVERLAY = 500;
public static const zpos_PLAYER = 1000;
public static const zpos_FAR = 10000;
public static const zpos_BACKGROUND = 10000;
public static const displayarea_h = 480;
public static var fps:Number = 34;
}
}//package
Section 36
//DisplayObj (DisplayObj)
package {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import flash.events.*;
public class DisplayObj {
var frames:Array;
public var frame:int;
public function DisplayObj(_arg1:MovieClip, _arg2:Number, _arg3:int, _arg4:ColorTransform=null, _arg5:int=-1):void{
frame = 0;
if (_arg1 != null){
CreateBitmapsFromMovieClip(_arg1, _arg2, _arg3, _arg4, _arg5);
};
}
public function GetHeight():Number{
return (frames[frame].bitmap.height);
}
public function GetBitmap():Bitmap{
return (frames[frame].bitmap);
}
function CreateAsciiStringTable():Array{
var _local1:Array;
_local1 = new Array();
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push(" ");
_local1.push("!");
_local1.push("'");
_local1.push("#");
_local1.push("$");
_local1.push("%");
_local1.push("&");
_local1.push("'");
_local1.push("(");
_local1.push(")");
_local1.push("*");
_local1.push("+");
_local1.push(",");
_local1.push("-");
_local1.push(".");
_local1.push("/");
_local1.push("0");
_local1.push("1");
_local1.push("2");
_local1.push("3");
_local1.push("4");
_local1.push("5");
_local1.push("6");
_local1.push("7");
_local1.push("8");
_local1.push("9");
_local1.push(":");
_local1.push(";");
_local1.push("<");
_local1.push("=");
_local1.push(">");
_local1.push("?");
_local1.push("@");
_local1.push("A");
_local1.push("B");
_local1.push("C");
_local1.push("D");
_local1.push("E");
_local1.push("F");
_local1.push("G");
_local1.push("H");
_local1.push("I");
_local1.push("J");
_local1.push("K");
_local1.push("L");
_local1.push("M");
_local1.push("N");
_local1.push("O");
_local1.push("P");
_local1.push("Q");
_local1.push("R");
_local1.push("S");
_local1.push("T");
_local1.push("U");
_local1.push("V");
_local1.push("W");
_local1.push("X");
_local1.push("Y");
_local1.push("Z");
_local1.push("[");
_local1.push("\\");
_local1.push("]");
_local1.push("^");
_local1.push("_");
_local1.push("'");
_local1.push("a");
_local1.push("b");
_local1.push("c");
_local1.push("d");
_local1.push("e");
_local1.push("f");
_local1.push("g");
_local1.push("h");
_local1.push("i");
_local1.push("j");
_local1.push("k");
_local1.push("l");
_local1.push("m");
_local1.push("n");
_local1.push("o");
_local1.push("p");
_local1.push("q");
_local1.push("r");
_local1.push("s");
_local1.push("t");
_local1.push("u");
_local1.push("v");
_local1.push("w");
_local1.push("x");
_local1.push("y");
_local1.push("z");
_local1.push("{");
_local1.push("|");
_local1.push("}");
_local1.push("~");
return (_local1);
}
public function RenderAt(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{
frames[frame].RenderAt(_arg1, _arg2, _arg3, _arg4);
}
public function SetFrame(_arg1:int){
frame = _arg1;
if (frame < 0){
frame = 0;
};
if (frame >= frames.length){
frame = (frames.length - 1);
};
}
public function CreateBitmapsFromMovieClip(_arg1:MovieClip, _arg2:Number, _arg3:int, _arg4:ColorTransform=null, _arg5:int=-1):void{
var _local6:Boolean;
var _local7:Number;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:Matrix;
var _local13:Rectangle;
var _local14:Bitmap;
var _local15:BitmapData;
var _local16:Bitmap;
var _local17:BitmapData;
var _local18:int;
var _local19:Array;
var _local20:int;
var _local21:*;
var _local22:Number;
var _local23:Point;
var _local24:Point;
var _local25:Point;
var _local26:Point;
var _local27:ColorTransform;
_local6 = false;
if (_arg3 == 2){
_local6 = true;
_arg3 = 0;
};
_arg2 = 1;
_local7 = (_arg2 * 2);
frames = new Array();
_arg1.gotoAndStop(0);
_local18 = 32;
_local19 = new Array();
if (_arg5 == -1){
_local8 = 0;
while (_local8 < _arg1.totalFrames) {
_local19.push(_local8);
_local8++;
};
} else {
_local8 = 0;
while (_local8 < _arg1.totalFrames) {
_local19.push(_arg5);
_local8++;
};
};
_local8 = 0;
for each (_local20 in _local19) {
_local21 = new DisplayObjFrame();
_local21.bitmaps = new Array();
_local21.burnedbitmaps = new Array();
_local21.xoffsets = new Array();
_local21.yoffsets = new Array();
_local21.mat = new Matrix();
_local21.colTrans = new ColorTransform();
if (_local20 == _local8){
if (_arg3 == 1){
_local9 = 0;
while (_local9 < _local18) {
_local22 = (((Math.PI * 2) / Number(_local18)) * Number(_local9));
_local22 = -(_local22);
_local22 = (_local22 + (Math.PI / 2));
_local13 = _arg1.getBounds(null);
_local12 = new Matrix();
_local12.rotate(_local22);
_local12.translate(_local13.width, _local13.height);
_local23 = _local12.transformPoint(new Point(_local13.left, _local13.top));
_local24 = _local12.transformPoint(new Point(_local13.right, _local13.top));
_local25 = _local12.transformPoint(new Point(_local13.right, _local13.bottom));
_local26 = _local12.transformPoint(new Point(_local13.left, _local13.bottom));
if (((!((_arg1.width == 0))) && (!((_arg1.height == 0))))){
_local15 = new BitmapData((_local13.width * 2), (_local13.height * 2), true, 0);
_local15.draw(_arg1, _local12);
_local14 = new Bitmap(_local15);
_local21.bitmaps.push(_local14);
_local27 = new ColorTransform(1, 1, 1, 1, -100, -100, -100, 0);
_local17 = new BitmapData((_local13.width * 2), (_local13.height * 2), true, 0);
_local17.draw(_arg1, _local12, _local27);
_local16 = new Bitmap(_local17);
_local21.burnedbitmaps.push(_local16);
_local10 = (_local13.width / 2);
_local11 = (_local13.height / 2);
_local21.xoffsets.push(Number(-(_local13.width)));
_local21.yoffsets.push(Number(-(_local13.height)));
} else {
_local21.bitmaps.push(null);
_local21.burnedbitmaps.push(null);
_local21.xoffsets.push(0);
_local21.yoffsets.push(0);
};
_local9++;
};
} else {
_local13 = _arg1.getBounds(null);
_local12 = new Matrix();
_local10 = _local13.left;
_local11 = _local13.top;
_local12.scale(_arg2, _arg2);
_local12.translate((-(_local10) * _arg2), (-(_local11) * _arg2));
_local21.xoffsets.push(Number((_local10 * _arg2)));
_local21.yoffsets.push(Number((_local11 * _arg2)));
if (((!((_arg1.width == 0))) && (!((_arg1.height == 0))))){
_local14 = new Bitmap();
_local15 = new BitmapData((_arg1.width * _arg2), (_arg1.height * _arg2), true, 0);
if (_arg4){
_local15.draw(_arg1, _local12, _arg4);
} else {
_local15.draw(_arg1, _local12);
};
_local14.bitmapData = _local15;
_local21.bitmaps.push(_local14);
} else {
_local21.bitmaps.push(null);
};
if (_local6){
_local13 = _arg1.getBounds(null);
_local12 = new Matrix();
_local10 = _local13.left;
_local11 = _local13.top;
_local12.scale(-(_arg2), _arg2);
_local12.translate((-(_local10) * _arg2), (-(_local11) * _arg2));
_local12.translate(_local13.width, 0);
_local21.xoffsets.push(Number((_local10 * _arg2)));
_local21.yoffsets.push(Number((_local11 * _arg2)));
if (((!((_arg1.width == 0))) && (!((_arg1.height == 0))))){
_local14 = new Bitmap();
_local15 = new BitmapData((_arg1.width * _arg2), (_arg1.height * _arg2), true, 0);
if (_arg4){
_local15.draw(_arg1, _local12, _arg4);
} else {
_local15.draw(_arg1, _local12);
};
_local14.bitmapData = _local15;
_local21.bitmaps.push(_local14);
} else {
_local21.bitmaps.push(null);
};
};
};
};
frames.push(_local21);
_arg1.nextFrame();
_local8++;
};
}
public function GetWidth():Number{
return (frames[frame].bitmap.width);
}
public function RenderAtColTrans(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:ColorTransform, _arg5:Boolean=false):void{
frames[frame].RenderAtColTrans(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function CreateFont(_arg1:TextFormat):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:Matrix;
var _local7:Rectangle;
var _local8:Bitmap;
var _local9:BitmapData;
var _local10:Array;
var _local11:TextField;
var _local12:*;
frames = new Array();
_local10 = CreateAsciiStringTable();
_local2 = 0;
while (_local2 < _local10.length) {
_local11 = new TextField();
_local11.textColor = 4294967295;
_local11.selectable = false;
_local11.embedFonts = true;
_local11.autoSize = TextFieldAutoSize.LEFT;
_local11.x = 0;
_local11.y = 0;
_local11.text = _local10[_local2];
_local11.setTextFormat(_arg1);
_local12 = new DisplayObjFrame();
_local12.bitmaps = new Array();
_local12.xoffsets = new Array();
_local12.yoffsets = new Array();
_local12.mat = new Matrix();
_local12.colTrans = new ColorTransform();
_local7 = _local11.getBounds(null);
_local6 = new Matrix();
_local12.xoffsets.push(0);
_local12.yoffsets.push(0);
_local8 = new Bitmap();
_local9 = new BitmapData(_local7.width, _local7.height, true, 0);
_local9.draw(_local11, _local6);
_local8.bitmapData = _local9;
_local12.bitmaps.push(_local8);
frames.push(_local12);
_local2++;
};
}
public function GetMaxFrames():int{
return (frames.length);
}
public function GetXOffset():Number{
return (frames[frame].xoffset);
}
public function GetYOffset():Number{
return (frames[frame].yoffset);
}
public function GetFrame():int{
return (frame);
}
public function RenderAtRot(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean):void{
if (_arg5){
frames[frame].RenderAtRotBurned(_arg1, _arg2, _arg3, _arg4);
} else {
frames[frame].RenderAtRot(_arg1, _arg2, _arg3, _arg4);
};
}
public function GetFrameWidth(_arg1:int):Number{
return (frames[_arg1].bitmap.width);
}
public function GetScaledBitmap():Bitmap{
return (frames[frame].scaledBitmap);
}
}
}//package
import flash.display.*;
import flash.geom.*;
class DisplayObjFrame {
public var mat:Matrix;
public var bitmaps:Array;
public var xoffsets:Array;
public var burnedbitmaps:Array;
public var colTrans:ColorTransform;
public var yoffsets:Array;
private function DisplayObjFrame(){
}
public function RenderAt(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{
var _local5:Bitmap;
var _local6:Number;
var _local7:Number;
_local5 = bitmaps[0];
_local6 = xoffsets[0];
_local7 = yoffsets[0];
if (_arg4){
_local5 = bitmaps[1];
_local6 = xoffsets[1];
_local7 = yoffsets[1];
};
_arg1.copyPixels(_local5.bitmapData, new Rectangle(0, 0, _local5.width, _local5.height), new Point((_arg2 + _local6), (_arg3 + _local7)), null, null, true);
}
public function RenderAtColTrans(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:ColorTransform, _arg5:Boolean=false):void{
var _local6:Bitmap;
var _local7:Number;
var _local8:Number;
_local6 = bitmaps[0];
_local7 = xoffsets[0];
_local8 = yoffsets[0];
if (_arg5){
_local6 = bitmaps[1];
_local7 = xoffsets[1];
_local8 = yoffsets[1];
};
mat.identity();
mat.translate((_arg2 + _local7), (_arg3 + _local8));
if (_local6 != null){
if (_local6.bitmapData != null){
_arg1.draw(_local6.bitmapData, mat, _arg4);
};
};
}
public function RenderAtAdditive(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Bitmap;
var _local6:Number;
var _local7:Number;
_local5 = bitmaps[0];
_local6 = xoffsets[0];
_local7 = yoffsets[0];
mat.identity();
mat.translate((_arg2 + _local6), (_arg3 + _local7));
colTrans.alphaMultiplier = _arg4;
if (_local5 != null){
if (_local5.bitmapData != null){
_arg1.draw(_local5.bitmapData, mat, colTrans, "add");
};
};
}
public function RenderAtAlpha(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Bitmap;
var _local6:Number;
var _local7:Number;
_local5 = bitmaps[0];
_local6 = xoffsets[0];
_local7 = yoffsets[0];
mat.identity();
mat.translate((_arg2 + _local6), (_arg3 + _local7));
colTrans.alphaMultiplier = _arg4;
if (_local5 != null){
if (_local5.bitmapData != null){
_arg1.draw(_local5.bitmapData, mat, colTrans);
};
};
}
public function RenderAtRot(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:int;
var _local6:int;
var _local7:Bitmap;
var _local8:Number;
var _local9:Number;
_arg4 = (_arg4 - 0.01);
_local5 = bitmaps.length;
_arg4 = ((Number(_local5) / (Math.PI * 2)) * _arg4);
_local6 = _arg4;
while (_local6 < 0) {
_local6 = (_local6 + _local5);
};
while (_local6 > (_local5 - 1)) {
_local6 = (_local6 - _local5);
};
_local6 = ((_local5 - 1) - _local6);
_local7 = bitmaps[_local6];
_local8 = xoffsets[_local6];
_local9 = yoffsets[_local6];
_arg1.copyPixels(_local7.bitmapData, new Rectangle(0, 0, _local7.width, _local7.height), new Point((_arg2 + _local8), (_arg3 + _local9)));
}
}
Section 37
//EventDef (EventDef)
package {
public class EventDef {
var eventNumber:int;
var trackID:int;
public var locked:Boolean;
var name:String;
var challenges:Array;
var qualifyTime:Number;
var trackName:String;
public function EventDef(){
trackID = 0;
name = "undefined";
challenges = new Array();
}
public function IsLocked():Boolean{
return (locked);
}
public function AddChallenge(_arg1:Challenge){
challenges.push(_arg1);
}
public function Init(_arg1:int, _arg2:int, _arg3:String, _arg4, _arg5:Number){
trackID = _arg1;
eventNumber = _arg2;
name = _arg3;
trackName = _arg4;
locked = true;
qualifyTime = _arg5;
}
public function GetNumCompleteChallenges():int{
var _local1:int;
var _local2:int;
var _local3:Challenge;
_local2 = 0;
_local1 = 0;
while (_local1 < challenges.length) {
_local3 = challenges[_local1];
if (_local3.complete){
_local2++;
};
_local1++;
};
return (_local2);
}
}
}//package
Section 38
//EventDefs (EventDefs)
package {
public class EventDefs {
static var timeNotAccelerating:int;
static var playerTimeOffRoad:int;
static var playerFinalTime:Number;
static var numObjectsHit:int;
static var numObjectsDestroyed:int;
static var playerLargestSkid:Number;
static var playerLargestInAirTime:int;
static var playerFinalPosition:int;
static var numBananasHit:int;
static var list:Array;
static var playerTotalInAirTime:int;
static var playerTotalSkid:Number;
static var numConesKnockedOver:int;
public static function challenge_HitObjects(_arg1:Number):Boolean{
trace(("numObjectsHit " + numObjectsHit));
if (numObjectsHit >= _arg1){
return (true);
};
return (false);
}
public static function challenge_StayOnRoad(_arg1:Number):Boolean{
trace(("playerTimeOffRoad " + playerTimeOffRoad));
if (playerTimeOffRoad > 0){
return (false);
};
return (true);
}
public static function InitOnce(){
var _local1:EventDef;
list = new Array();
_local1 = new EventDef();
_local1.Init(1, 1, "TRACK 1", "ROCKY ROAD", 120);
_local1.AddChallenge(new Challenge("FINISH IN 1.40 (100 seconds)", challenge_FinishIn, 100));
_local1.AddChallenge(new Challenge("DESTROY 15 OBJECTS", challenge_DestroyObjects, 15));
_local1.AddChallenge(new Challenge("TOTAL SKID: 500", challenge_TotalSkid, 500));
_local1.AddChallenge(new Challenge("STAY ON ROAD", challenge_StayOnRoad, 0));
_local1.AddChallenge(new Challenge("CLEAN RACE (don't hit road objects)", challenge_CleanRace, 0));
_local1.locked = false;
list.push(_local1);
_local1 = new EventDef();
_local1.Init(2, 2, "Track 2", "ICY AVENUE", 150);
_local1.AddChallenge(new Challenge("FINISH IN 1.50 (110 seconds)", challenge_Place, 110));
_local1.AddChallenge(new Challenge("DESTROY 50 OBJECTS", challenge_DestroyObjects, 50));
_local1.AddChallenge(new Challenge("HIT 100 OBJECTS", challenge_HitObjects, 100));
_local1.AddChallenge(new Challenge("TOTAL SKID: 1500", challenge_TotalSkid, 1500));
_local1.AddChallenge(new Challenge("ZERO AIR TIME", challenge_ZeroAirTime, 0));
list.push(_local1);
_local1 = new EventDef();
_local1.Init(3, 3, "Track 3", "TROPICAL TERRACE", 150);
_local1.AddChallenge(new Challenge("LONGEST SKID: 100", challenge_LargestSkid, 100));
_local1.AddChallenge(new Challenge("TOTAL SKID: 1800", challenge_TotalSkid, 1800));
_local1.AddChallenge(new Challenge("HIT 10 CONES", challenge_KnockOverCones, 10));
_local1.AddChallenge(new Challenge("HIT 20 BANANAS", challenge_HitBananas, 20));
_local1.AddChallenge(new Challenge("FULLSPEED (don't release accelerator)", challenge_Fullspeed, 20));
list.push(_local1);
_local1 = new EventDef();
_local1.Init(4, 4, "Track 4", "DESERT DRIVE", 110);
_local1.AddChallenge(new Challenge("FINISH IN 1.30 (90 seconds)", challenge_FinishIn, 90));
_local1.AddChallenge(new Challenge("LONGEST JUMP: 30", challenge_LongestJump, 30));
_local1.AddChallenge(new Challenge("DESTROY 20 OBJECTS", challenge_DestroyObjects, 20));
_local1.AddChallenge(new Challenge("HIT 75 OBJECTS", challenge_HitObjects, 75));
_local1.AddChallenge(new Challenge("STAY ON ROAD", challenge_StayOnRoad, 0));
list.push(_local1);
_local1 = new EventDef();
_local1.Init(5, 5, "Track 5", "SNOW STREET", 140);
_local1.AddChallenge(new Challenge("FINISH IN 1.40 (100 seconds)", challenge_FinishIn, 100));
_local1.AddChallenge(new Challenge("TOTAL JUMP: 800", challenge_TotalJump, 800));
_local1.AddChallenge(new Challenge("LONGEST SKID: 200", challenge_LargestSkid, 200));
_local1.AddChallenge(new Challenge("HIT 50 CONES", challenge_KnockOverCones, 50));
_local1.AddChallenge(new Challenge("CLEAN RACE (don't hit road objects)", challenge_CleanRace, 0));
list.push(_local1);
_local1 = new EventDef();
_local1.Init(6, 6, "Track 6", "HEATWAVE HIGHWAY", 140);
_local1.AddChallenge(new Challenge("FINISH IN 1.39 (99 seconds)", challenge_FinishIn, 99));
_local1.AddChallenge(new Challenge("TOTAL JUMP: 300", challenge_TotalJump, 300));
_local1.AddChallenge(new Challenge("TOTAL SKID: 2000", challenge_TotalSkid, 2000));
_local1.AddChallenge(new Challenge("DESTROY 40 OBJECTS", challenge_DestroyObjects, 40));
_local1.AddChallenge(new Challenge("ZERO AIR TIME", challenge_ZeroAirTime, 0));
list.push(_local1);
}
public static function GetNumCompletedChallenges():int{
var _local1:int;
var _local2:EventDef;
var _local3:Challenge;
_local1 = 0;
for each (_local2 in list) {
for each (_local3 in _local2.challenges) {
if (_local3.complete){
_local1++;
};
};
};
return (_local1);
}
public static function challenge_KnockOverCones(_arg1:Number):Boolean{
trace(("numConesKnockedOver " + numConesKnockedOver));
if (numConesKnockedOver < _arg1){
return (false);
};
return (true);
}
public static function challenge_FinishIn(_arg1:Number):Boolean{
var _local2:int;
_local2 = (_arg1 * Defs.fps);
trace(((("playerFinalTime " + playerFinalTime) + " / ") + _local2));
if (playerFinalTime <= _local2){
return (true);
};
return (false);
}
public static function challenge_ZeroAirTime(_arg1:Number):Boolean{
trace(("playerTotalInAirTime " + playerTotalInAirTime));
if (playerTotalInAirTime <= 0.1){
return (true);
};
return (false);
}
public static function InitForStartOfRace(){
playerFinalPosition = 0;
playerFinalTime = 0;
numObjectsHit = 0;
playerLargestSkid = 0;
playerTotalSkid = 0;
playerLargestInAirTime = 0;
playerTotalInAirTime = 0;
numObjectsDestroyed = 0;
playerTimeOffRoad = 0;
numConesKnockedOver = 0;
numBananasHit = 0;
timeNotAccelerating = 0;
}
public static function challenge_DestroyObjects(_arg1:Number):Boolean{
trace(("numObjectsDestroyed " + numObjectsDestroyed));
if (numObjectsDestroyed >= _arg1){
return (true);
};
return (false);
}
public static function challenge_Place(_arg1:Number):Boolean{
trace(("playerFinalPosition :" + playerFinalPosition));
if ((playerFinalPosition + 1) <= _arg1){
return (true);
};
return (false);
}
static function TestForUnlock(){
var _local1:EventDef;
if (Game.currentLevel < 5){
if (playerFinalPosition == 0){
_local1 = list[(Game.currentLevel + 1)];
_local1.locked = false;
};
};
}
public static function challenge_LargestSkid(_arg1:Number):Boolean{
trace(("playerLargestSkid " + playerLargestSkid));
if (playerLargestSkid >= _arg1){
return (true);
};
return (false);
}
public static function GetEventDef(_arg1:int):EventDef{
return (list[_arg1]);
}
public static function EndOfRace(){
var _local1:EventDef;
var _local2:Challenge;
var _local3:Boolean;
trace("End of race");
_local1 = list[Game.currentLevel];
for each (_local2 in _local1.challenges) {
if (_local2.complete == false){
_local3 = _local2.callback(_local2.callbackParameter);
_local2.complete = _local3;
if (_local3 == true){
trace((_local2.name + " COMPLETED"));
} else {
trace((_local2.name + " NOT complete"));
};
} else {
trace((_local2.name + " already complete"));
};
};
TestForUnlock();
Kong.SubmitStat(playerTotalInAirTime, "TotalAirTime");
Kong.SubmitStat(numObjectsHit, "NumObjectsHit");
Kong.SubmitStat(playerTotalSkid, "TotalSkidTime");
Kong.SubmitStat(numObjectsDestroyed, "ObjectsDestroyed");
Kong.SubmitStat(GetNumCompletedChallenges(), "NumChallengesComplete");
Kong.SubmitStat(GetNumUnlockedEvents(), "NumEventsUnlocked");
}
public static function challenge_HitBananas(_arg1:Number):Boolean{
trace(("numBananasHit " + numBananasHit));
if (numBananasHit < _arg1){
return (false);
};
return (true);
}
public static function challenge_TotalSkid(_arg1:Number):Boolean{
trace(("playerTotalSkid " + playerTotalSkid));
if (playerTotalSkid >= _arg1){
return (true);
};
return (false);
}
public static function challenge_Fullspeed(_arg1:Number):Boolean{
trace(("timeNotAccelerating " + timeNotAccelerating));
if (timeNotAccelerating > 0){
return (false);
};
return (true);
}
public static function ClearCompletionData(){
var _local1:EventDef;
var _local2:Challenge;
for each (_local1 in list) {
for each (_local2 in _local1.challenges) {
_local2.complete = false;
};
};
}
public static function challenge_LongestJump(_arg1:Number):Boolean{
trace(("playerLargestInAirTime " + playerLargestInAirTime));
if (playerLargestInAirTime >= _arg1){
return (true);
};
return (false);
}
public static function challenge_TotalJump(_arg1:Number):Boolean{
trace(("playerTotalInAirTime " + playerTotalInAirTime));
if (playerTotalInAirTime >= _arg1){
return (true);
};
return (false);
}
public static function GetNumUnlockedEvents():int{
var _local1:int;
var _local2:EventDef;
_local1 = 0;
for each (_local2 in list) {
if (_local2.locked == false){
_local1++;
};
};
return (_local1);
}
public static function challenge_CleanRace(_arg1:Number):Boolean{
trace(("numObjectsHit " + numObjectsHit));
if (numObjectsHit == 0){
return (true);
};
return (false);
}
}
}//package
Section 39
//Font20 (Font20)
package {
import flash.text.*;
public dynamic class Font20 extends Font {
}
}//package
Section 40
//Game (Game)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
public class Game {
static const gameState_PostRace = 2;
static const gameState_Race = 1;
static const gameState_PreRace = 0;
static const gameState_None = 3;
public static var pickupTables:Array;
static var lightTimer:int;
public static var mainTimer:int;
public static var playerCarType:int;
static var racePositionCount:int;
static var levelFinishedState:int;
static var swapPathList:Array;
public static var eventScore:int;
public static var scrollH:Number;
public static var scrollX:Number;
public static var scrollY:Number;
static var goBackground:GameObj;
public static var scrollW:Number;
public static var raceTime:Number;
static var gameStateTimer1:int;
public static var xflipMap:Boolean;
static var readySetGoCount:int;
static var kongmessage:String = "";
public static var currentLapTime:Number;
public static var highestCheckpoint:int;
public static var AICarColor:uint;
public static var eventScores:Array;
public static var playerMoney:int;
static var st:SoundTransform = null;
public static var skidSound0:SoundChannel = null;
static var saveDataId:String = "DriftRunnersA";
public static var lapTimes:Array;
public static var playerColorB:uint;
public static var playerColorG:uint;
public static var initPickupIndex;
static var currentLevel:int;
public static var arrowCount:int;
public static var playerColorR:uint;
static var numLevels:int;
static var debugMode:int;
static var currentScore:int;
public static var playerColorX:uint;
static var frameCount:int;
public static var mainTimerMax:int;
static var main:Main;
static var gameState:int;
static var multiplier:int;
static var pauseButton:SimpleButton;
static var gameStateTimer:int;
static var carSparkSoundTimer:int;
public static var numLaps:int;
public static var scrollMaxX:Number;
public static var scrollMaxY:Number;
public static var engineSound0:SoundChannel = null;
public static var engineSound1:SoundChannel = null;
public static var engineSound2:SoundChannel = null;
static var goPlayer:GameObj;
public static var startPoints:Array;
public static var startPointDirs:Array;
public static var polygonList:Array;
public static function SetPickupActive(_arg1:int, _arg2:Boolean){
var _local3:Array;
_local3 = pickupTables[currentLevel];
_local3[_arg1] = _arg2;
}
public static function AddWallSparks(_arg1:GameObj, _arg2:Number, _arg3:Number){
var _local4:int;
if (_arg1.hitWallTimer > 0){
return;
};
if (_arg1.driveVec.speed < 7){
return;
};
_local4 = 0;
while (_local4 < 1) {
Particles.Add(Particles.type_wallspark, _arg2, _arg3, 0, 0);
_arg1.hitWallTimer = 10;
_local4++;
};
if (_arg1.type == GameObj.gotype_PLAYER){
if (Utils.RandBetweenInt(0, 100) < 50){
SoundPlayer.Play(SoundPlayer.SOUND_BARREL0);
} else {
SoundPlayer.Play(SoundPlayer.SOUND_BARREL1);
};
};
}
public static function IsPickupActive(_arg1:int):Boolean{
var _local2:Array;
_local2 = pickupTables[currentLevel];
return (_local2[_arg1]);
}
public static function ClearSaveData():void{
var _local1:SharedObject;
_local1 = SharedObject.getLocal(saveDataId);
_local1.clear();
_local1.close();
_local1.flush();
trace("SaveData Data Cleared");
trace(("len: " + _local1.size));
}
static function RenderCollision(){
var _local1:Number;
var _local2:Number;
var _local3:int;
var _local4:uint;
var _local5:Line;
var _local6:Poly;
if ((debugMode & 4) == 0){
return;
};
_local1 = scrollX;
_local2 = scrollY;
for each (_local6 in polygonList) {
if (_local6.type == Poly.polytype_WALL){
_local3 = 0;
while (_local3 < _local6.GetNumPoints()) {
_local4 = 4294967040;
_local5 = _local6.GetLine(_local3);
Utils.RenderDotLine(main.screenBD, (_local5.x0 - _local1), (_local5.y0 - _local2), (_local5.x1 - _local1), (_local5.y1 - _local2), 100, _local4);
_local3++;
};
};
if (_local6.type == Poly.polytype_ZONE){
_local3 = 0;
while (_local3 < _local6.GetNumPoints()) {
_local4 = 4294967295;
_local5 = _local6.GetLine(_local3);
Utils.RenderDotLine(main.screenBD, (_local5.x0 - _local1), (_local5.y0 - _local2), (_local5.x1 - _local1), (_local5.y1 - _local2), 100, _local4);
_local3++;
};
};
};
}
public static function UpdateScroll(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = TweakVars.GetNumber("ScrollInFrontDist");
_local2 = (goPlayer.xpos + (Math.cos(goPlayer.driveVec.rot) * _local1));
_local3 = (goPlayer.ypos + (Math.sin(goPlayer.driveVec.rot) * _local1));
if (xflipMap){
_local2 = (scrollW - _local2);
};
_local2 = (_local2 - 320);
_local3 = (_local3 - 240);
_local4 = TweakVars.GetNumber("ScrollCatchup");
scrollX = (scrollX + ((_local2 - scrollX) * _local4));
scrollY = (scrollY + ((_local3 - scrollY) * _local4));
if (scrollX < 0){
scrollX = 0;
};
if (scrollY < 0){
scrollY = 0;
};
if (scrollX >= scrollMaxX){
scrollX = scrollMaxX;
};
if (scrollY >= scrollMaxY){
scrollY = scrollMaxY;
};
}
public static function UpdateGameplay():void{
if (PauseMenu.IsPaused()){
return;
};
if (gameState == gameState_None){
return;
};
if ((((gameState == gameState_PreRace)) || ((gameState == gameState_Race)))){
if (readySetGoCount != -1){
gameStateTimer++;
if (gameStateTimer > Defs.fps){
gameStateTimer = 0;
lightTimer++;
if (lightTimer == 1){
readySetGoCount = 1;
};
if (lightTimer == 2){
readySetGoCount = 2;
};
if (lightTimer == 3){
readySetGoCount = 3;
};
if (lightTimer == 4){
readySetGoCount = 4;
SetGameState(gameState_Race);
};
if (lightTimer == 5){
readySetGoCount = -1;
};
if (lightTimer == 4){
SoundPlayer.Play(SoundPlayer.SOUND_STARTBEEP1);
} else {
if (lightTimer < 4){
SoundPlayer.Play(SoundPlayer.SOUND_STARTBEEP0);
};
};
};
};
};
if (gameState == gameState_Race){
currentLapTime++;
mainTimer++;
if (mainTimer > mainTimerMax){
TitleScreenState.InitPostRaceScreen(false);
gameState = gameState_None;
mainTimer = mainTimerMax;
};
};
if (gameState == gameState_PostRace){
gameStateTimer++;
if (gameStateTimer > (Defs.fps * 2)){
TitleScreenState.InitPostRaceScreen(true);
gameState = gameState_None;
};
};
if (carSparkSoundTimer > 0){
carSparkSoundTimer--;
};
if (arrowCount > 0){
arrowCount--;
};
frameCount++;
goPlayer.UpdatePlayer();
if (KeyReader.Pressed(KeyReader.KEY_P)){
if (PauseMenu.IsPaused()){
PauseMenu.Unpause();
} else {
PauseMenu.Pause();
};
};
UpdateScroll();
GameObjects.Update();
Collision.Update(main);
Particles.Update(1);
UpdateTweakVars();
}
public static function InitLevel(){
var _local1:EventDef;
var _local2:BitmapData;
var _local3:int;
var _local4:int;
var _local5:Point;
var _local6:*;
var _local7:int;
var _local8:int;
var _local9:GameObj;
main.InitStageForGame();
KeyReader.InitOnce(main.stage);
frameCount = 0;
debugMode = 0;
GameObjects.ClearAll();
_local1 = EventDefs.GetEventDef(currentLevel);
goBackground = GameObjects.AddObj(GameObj.gotype_BACKGROUND, 0, 0, 20000);
goBackground.frame = _local1.trackID;
goPlayer = GameObjects.AddObj(GameObj.gotype_PLAYER, 400, 400, 1000);
goPlayer.InitPlayer();
scrollX = 0;
scrollY = 0;
_local2 = GraphicObjects.GetBitmap(GraphicObjects.gfx_car_palette, 0).bitmapData;
_local7 = 0;
while (_local7 < 100) {
_local3 = Utils.RandBetweenInt(0, (_local2.width - 1));
if ((((_local3 < 20)) && ((playerColorX > (_local2.width - 20))))){
} else {
if ((((playerColorX < 20)) && ((_local3 > (_local2.width - 20))))){
} else {
if (Math.abs((_local3 - playerColorX)) > 30){
_local7 = 99999;
};
};
};
_local7++;
};
_local4 = Utils.RandBetweenInt(0, (_local2.height - 1));
AICarColor = _local2.getPixel32(_local3, _local4);
polygonList = new Array();
startPoints = new Array();
startPointDirs = new Array();
initPickupIndex = 0;
xflipMap = false;
if (currentLevel >= 3){
xflipMap = true;
};
if (currentLevel == 0){
LevelDef2.Init(main);
};
if (currentLevel == 1){
LevelDef3.Init(main);
};
if (currentLevel == 2){
LevelDef4.Init(main);
};
if (currentLevel == 3){
LevelDef2a.Init(main);
};
if (currentLevel == 4){
LevelDef3a.Init(main);
};
if (currentLevel == 5){
LevelDef4a.Init(main);
};
InitCrossoverZones();
scrollMaxX = (scrollW - Defs.displayarea_w);
scrollMaxY = (scrollH - Defs.displayarea_h);
_local5 = startPoints[0];
goPlayer.xpos = _local5.x;
goPlayer.ypos = _local5.y;
goPlayer.SetStartAngle(startPointDirs[0]);
_local6 = 8;
_local7 = 1;
while (_local7 < _local6) {
_local8 = _local7;
_local5 = startPoints[_local7];
_local9 = GameObjects.AddObj(GameObj.gotype_AIPLAYER, 400, 400, 1100);
_local9.InitAIPlayer();
_local9.xpos = _local5.x;
_local9.ypos = _local5.y;
_local9.SetStartAngle(startPointDirs[_local7]);
_local7++;
};
CalcHighestCheckpointValue();
racePositionCount = 0;
EventDefs.InitForStartOfRace();
StartRace();
arrowCount = (Defs.fps * 7);
mainTimer = 0;
mainTimerMax = (_local1.qualifyTime * Defs.fps);
StopSoundLoops();
skidSound0 = SoundPlayer.StartLoop(SoundPlayer.SOUND_SKID);
SetVolume(skidSound0, 0);
MusicPlayer.StartMusic(Utils.RandBetweenInt(0, 2));
carSparkSoundTimer = 0;
_local7 = 0;
while (_local7 < 50) {
UpdateScroll();
_local7++;
};
GraphicObjects.Remove(GraphicObjects.gfx_background);
GraphicObjects.Add(GraphicObjects.gfx_background, new DisplayObj(new Background(), 1, 0, null, _local1.trackID));
eventScore = 0;
readySetGoCount = 0;
main.addChild(pauseButton);
pauseButton.x = (640 - 32);
pauseButton.y = 16;
PrintRaceInfo();
}
public static function Init(_arg1:Main){
main = _arg1;
TweakVars.Reset();
TweakVars.Add("TurnRate", 0, 0.2, 0.1);
TweakVars.Add("Accel", 0.1, 0.5, 0.2);
TweakVars.Add("Decel", 0, 0.5, 0.1);
TweakVars.Add("TurnSpeedAtMax", 0, 0.2, 0.04);
TweakVars.Add("TurnSpeed", 0, 0.2, 0.07);
TweakVars.Add("MaxSpeed", 0, 20, 8);
TweakVars.Add("JumpVel", 0, 5, 2);
TweakVars.Add("CollisionCoeff", 0.8, 1, 0.95);
TweakVars.Add("CarCarCol_Radius", 25, 60, 35);
TweakVars.Add("CarCarCol_Force", 0.5, 1, 0.8);
TweakVars.Add("ScrollCatchup", 0, 1, 0.3);
TweakVars.Add("ScrollInFrontDist", 0, 100, 50);
TweakVars.Add("AICarSlowdownDiff", 0, 1, 0.9);
TweakVars.Add("AiCatchup", 0, 4, 1);
InitPickupTables();
pauseButton = new buttonPause();
pauseButton.addEventListener(MouseEvent.CLICK, buttonPausePressed);
}
public static function TweakvarsToShop(){
}
static function StartRace(){
lapTimes = new Array();
raceTime = 0;
currentLapTime = 0;
numLaps = 3;
SetGameState(gameState_PreRace);
}
public static function InitGame(_arg1:Boolean){
currentScore = 0;
multiplier = 1;
numLevels = 3;
currentLevel = 0;
playerMoney = 0;
ClearPickupTables();
eventScores = new Array();
eventScores.push(0, 0, 0, 0, 0, 0);
EventDefs.ClearCompletionData();
Shop.ResetUpgrades();
if (_arg1){
LoadData();
};
}
public static function StopSoundLoops(){
if (engineSound0 != null){
engineSound0.stop();
engineSound0 = null;
};
if (engineSound1 != null){
engineSound1.stop();
engineSound1 = null;
};
if (engineSound2 != null){
engineSound2.stop();
engineSound2 = null;
};
if (skidSound0 != null){
skidSound0.stop();
skidSound0 = null;
};
}
static function InitPickupTables(){
var _local1:int;
var _local2:int;
var _local3:Array;
pickupTables = new Array();
_local1 = 0;
while (_local1 < 6) {
_local3 = new Array();
_local2 = 0;
while (_local2 < 200) {
_local3.push(true);
_local2++;
};
pickupTables[_local1] = _local3;
_local1++;
};
}
static function CalcHighestCheckpointValue(){
var _local1:Poly;
highestCheckpoint = 0;
for each (_local1 in Game.polygonList) {
if (((_local1.active) && ((_local1.type == Poly.polytype_CHECKPOINT)))){
highestCheckpoint++;
};
};
trace(highestCheckpoint);
}
static function UpdateTweakVars(){
if ((debugMode & 32) == 0){
return;
};
TweakVars.Update();
}
static function RenderTweakVars(){
if ((debugMode & 32) == 0){
return;
};
TweakVars.Render();
}
public static function CaclulateFinalScore(){
var _local1:int;
currentScore = 0;
for each (_local1 in eventScores) {
currentScore = (currentScore + _local1);
};
}
static function RenderInFrontZones(){
var _local1:Number;
var _local2:Number;
var _local3:int;
var _local4:uint;
var _local5:Line;
var _local6:GameObj;
if ((debugMode & 8) == 0){
return;
};
_local1 = scrollX;
_local2 = scrollY;
for each (_local6 in GameObjects.objs) {
if (((_local6.active) && ((((_local6.type == GameObj.gotype_PLAYER)) || ((_local6.type == GameObj.gotype_AIPLAYER)))))){
_local3 = 0;
while (_local3 < _local6.inFrontZone.GetNumPoints()) {
_local4 = 4278255615;
_local5 = _local6.inFrontZone.GetLine(_local3);
Utils.RenderDotLine(main.screenBD, (_local5.x0 - _local1), (_local5.y0 - _local2), (_local5.x1 - _local1), (_local5.y1 - _local2), 100, _local4);
_local3++;
};
};
};
}
public static function AddGameMessage(_arg1:String, _arg2:Number=0){
var _local3:GameObj;
trace(("adding message: " + _arg1));
_local3 = GameObjects.AddObj(GameObj.gotype_MESSAGE, 300, (50 + _arg2), 100);
_local3.InitMessage(_arg1, 1);
}
static function RenderDraftZones(){
var _local1:Number;
var _local2:Number;
var _local3:int;
var _local4:GameObj;
if ((debugMode & 8) == 0){
return;
};
_local1 = scrollX;
_local2 = scrollY;
for each (_local4 in GameObjects.objs) {
if (((_local4.active) && ((((_local4.type == GameObj.gotype_PLAYER)) || ((_local4.type == GameObj.gotype_AIPLAYER)))))){
Utils.RenderCircle(main.screenBD, (_local4.draftX - _local1), (_local4.draftY - _local2), _local4.draftRadius, 4294901760);
};
};
}
public static function AddScore(_arg1:int):void{
eventScore = (eventScore + (_arg1 * multiplier));
}
static function RenderPlayerInfo(){
var _local1:String;
var _local2:GameObj;
if ((debugMode & 16) == 0){
return;
};
_local2 = goPlayer;
_local1 = ((("Speed: " + Utils.DP2(_local2.driveVec.speed)) + " / ") + Utils.DP2(_local2.movementVec.speed));
GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font1, 10, 10, _local1, null);
_local1 = ("MaxSpeed: " + Utils.DP2(_local2.currentMaxSpeed));
GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font1, 10, 30, _local1, null);
_local1 = ("Frame: " + _local2.frame.toString());
GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font1, 10, 50, _local1, null);
_local1 = ("SFrame: " + _local2.shadowFrame.toString());
GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font1, 10, 70, _local1, null);
}
static function SetGameState(_arg1:int){
var _local2:GameObj;
gameState = _arg1;
if (gameState == gameState_PreRace){
gameStateTimer = 0;
gameStateTimer1 = 0;
lightTimer = 0;
for each (_local2 in GameObjects.objs) {
if (((_local2.active) && ((((_local2.type == GameObj.gotype_AIPLAYER)) || ((_local2.type == GameObj.gotype_PLAYER)))))){
_local2.controlMode = 99;
};
};
};
if (gameState == gameState_Race){
gameStateTimer = 0;
gameStateTimer1 = 0;
for each (_local2 in GameObjects.objs) {
if (((_local2.active) && ((((_local2.type == GameObj.gotype_AIPLAYER)) || ((_local2.type == GameObj.gotype_PLAYER)))))){
_local2.controlMode = 0;
};
};
};
if (gameState == gameState_PostRace){
StopSoundLoops();
gameStateTimer = 0;
gameStateTimer1 = 0;
for each (_local2 in GameObjects.objs) {
if (((_local2.active) && ((((_local2.type == GameObj.gotype_AIPLAYER)) || ((_local2.type == GameObj.gotype_PLAYER)))))){
_local2.controlMode = 99;
};
};
};
}
public static function buttonPausePressed(_arg1:MouseEvent){
trace("here");
PauseMenu.Pause();
}
public static function IsThereSavedData():Boolean{
var _local1:SharedObject;
_local1 = SharedObject.getLocal(saveDataId);
if (_local1 == null){
return (false);
};
if (_local1.size == 0){
_local1.close();
return (false);
};
trace(("testlen: " + _local1.size));
return (true);
}
static function Render(){
RenderCollision();
RenderDraftZones();
RenderPlayerInfo();
RenderInFrontZones();
RenderTweakVars();
}
public static function PrintRaceInfo(){
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:GameObj;
_local1 = 0;
_local2 = 0;
_local3 = 0;
_local4 = 0;
_local5 = 0;
_local6 = 0;
_local7 = 0;
for each (_local8 in GameObjects.objs) {
if (_local8.active){
if (_local8.type == GameObj.gotype_OBSTACLE){
_local2++;
if (_local8.subtype == GameObj.obstacletype_CONE){
_local3++;
};
if (_local8.subtype == GameObj.obstacletype_BARRIER){
_local4++;
};
if (_local8.subtype == GameObj.obstacletype_SNOWMAN){
_local5++;
};
if (_local8.subtype == GameObj.obstacletype_BANANA_WHOLE){
_local6++;
};
if (_local8.subtype == GameObj.obstacletype_BARRIER){
_local7++;
};
if (_local8.subtype == GameObj.obstacletype_SNOWMAN){
_local7++;
};
};
if (_local8.type == GameObj.gotype_PICKUPGEN){
_local1++;
};
};
};
trace(((((("Pickups: " + _local1) + " Obstacles: ") + _local2) + " Destructible: ") + _local7));
trace(((((("Barriers: " + _local4) + " Snoewmen: ") + _local5) + " Bananas: ") + _local6));
}
static function ClearPickupTables(){
var _local1:int;
var _local2:Array;
for each (_local2 in pickupTables) {
_local1 = 0;
while (_local1 < _local2.length) {
_local2[_local1] = true;
_local1++;
};
};
}
public static function LoadData():void{
var _local1:SharedObject;
var _local2:int;
var _local3:int;
var _local4:EventDef;
var _local5:Array;
var _local6:Challenge;
var _local7:Array;
_local1 = SharedObject.getLocal(saveDataId);
if (_local1 == null){
trace("Shared Object: DriftRunners doesn't exist");
return;
};
if (_local1.size == 0){
trace("Shared Object: DriftRunners doesn't exist");
_local1.close();
return;
};
currentScore = _local1.data.currentScore;
playerMoney = _local1.data.playerMoney;
playerColorR = _local1.data.playerColorR;
playerColorG = _local1.data.playerColorG;
playerColorB = _local1.data.playerColorB;
playerColorX = _local1.data.playerColorX;
playerCarType = _local1.data.playerCarType;
eventScores = new Array();
for each (_local2 in _local1.data.eventScores) {
eventScores.push(_local2);
};
_local2 = 0;
_local3 = 0;
for each (_local4 in EventDefs.list) {
_local4.locked = _local1.data.eventsLocked[_local3];
_local3++;
for each (_local6 in _local4.challenges) {
_local6.complete = _local1.data.challengesComplete[_local2];
_local2++;
};
};
_local3 = 0;
for each (_local5 in pickupTables) {
_local7 = _local1.data.pickupTables[_local3];
_local3++;
_local2 = 0;
while (_local2 < _local5.length) {
_local5[_local2] = _local7[_local2];
_local2++;
};
};
_local2 = 0;
while (_local2 < Shop.upgradeLevels.length) {
Shop.upgradeLevels[_local2] = _local1.data.upgradeLevels[_local2];
_local2++;
};
_local1.close();
ShopToTweakvars();
trace("Loaded data OK");
}
public static function AddCarCarSparks(_arg1:GameObj, _arg2:GameObj){
var _local3:Number;
var _local4:Number;
var _local5:int;
_local3 = ((_arg1.xpos + _arg2.xpos) * 0.5);
_local4 = ((_arg1.ypos + _arg2.ypos) * 0.5);
_local5 = 0;
while (_local5 < 1) {
Particles.Add(Particles.type_carspark, _local3, _local4, 0, 0);
_local5++;
};
if (carSparkSoundTimer == 0){
if ((((_arg1.type == GameObj.gotype_PLAYER)) || ((_arg2.type == GameObj.gotype_PLAYER)))){
if (Utils.RandBetweenInt(0, 100) < 50){
SoundPlayer.Play(SoundPlayer.SOUND_IMPACT0);
} else {
SoundPlayer.Play(SoundPlayer.SOUND_IMPACT1);
};
};
carSparkSoundTimer = 10;
};
}
public static function ShopToTweakvars(){
}
static function InitCrossoverZones():void{
var _local1:Poly;
var _local2:Array;
var _local3:Poly;
var _local4:*;
var _local5:int;
var _local6:*;
var _local7:Line;
swapPathList = new Array();
_local2 = new Array();
for each (_local1 in Game.polygonList) {
if (((_local1.active) && ((_local1.type == Poly.polytype_PATH)))){
_local2.push(_local1);
};
};
for each (_local3 in Game.polygonList) {
if (((((_local3.active) && ((_local3.type == Poly.polytype_ZONE)))) && ((_local3.name == "SwapPath")))){
_local4 = new SwapPath();
trace("found switch zone");
_local5 = 0;
for each (_local1 in _local2) {
_local6 = 0;
for each (_local7 in _local1.lineList) {
if (Collision.PointInConvexPoly(_local7.x0, _local7.y0, _local3.lineList)){
_local4.AddPoint(_local5, _local6);
_local4.AddSwap(_local5, (_local6 + 1));
trace((((("path " + _local5) + " point") + _local6) + " in swap zone"));
};
_local6++;
};
_local5++;
};
swapPathList.push(_local4);
};
};
}
static function RenderPanel(){
var _local1:String;
var _local2:Number;
if (readySetGoCount != -1){
GraphicObjects.RenderAt(GraphicObjects.gfx_startlight, readySetGoCount, main.screenBD, 320, 100);
};
GraphicObjects.RenderAt(GraphicObjects.gfx_scorebar, 0, main.screenBD, -44, 0);
_local2 = (mainTimerMax - mainTimer);
_local1 = Utils.DP2((_local2 / Defs.fps)).toString();
GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font3, 10, 17, _local1, null, false);
_local1 = eventScore.toString();
GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font1, 15, 0, _local1, null, false);
_local1 = kongmessage;
GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font1, 0, 455, _local1, null);
}
public static function SaveData():void{
var _local1:SharedObject;
var _local2:int;
var _local3:EventDef;
var _local4:Array;
var _local5:Challenge;
var _local6:Array;
_local1 = SharedObject.getLocal(saveDataId);
if (_local1 == null){
return;
};
trace("SAVING DATA");
_local1.clear();
_local1.data.currentScore = currentScore;
_local1.data.playerMoney = playerMoney;
_local1.data.playerColorR = playerColorR;
_local1.data.playerColorG = playerColorG;
_local1.data.playerColorB = playerColorB;
_local1.data.playerColorX = playerColorX;
_local1.data.playerCarType = playerCarType;
_local1.data.eventScores = new Array();
for each (_local2 in eventScores) {
_local1.data.eventScores.push(_local2);
};
_local1.data.challengesComplete = new Array();
_local1.data.eventsLocked = new Array();
for each (_local3 in EventDefs.list) {
_local1.data.eventsLocked.push(_local3.locked);
for each (_local5 in _local3.challenges) {
_local1.data.challengesComplete.push(_local5.complete);
};
};
_local1.data.pickupTables = new Array();
for each (_local4 in pickupTables) {
_local6 = new Array();
_local2 = 0;
while (_local2 < _local4.length) {
_local6.push(_local4[_local2]);
_local2++;
};
_local1.data.pickupTables.push(_local6);
};
_local1.data.upgradeLevels = new Array(Shop.upgradeLevels.length);
_local2 = 0;
while (_local2 < Shop.upgradeLevels.length) {
_local1.data.upgradeLevels[_local2] = Shop.upgradeLevels[_local2];
_local2++;
};
_local1.close();
_local1.flush();
}
static function fpsChangedCallback(_arg1:Number){
main.stage.frameRate = _arg1;
}
public static function SetVolume(_arg1:SoundChannel, _arg2:Number){
if (_arg1 == null){
return;
};
if (st == null){
st = new SoundTransform(_arg2);
} else {
st.volume = _arg2;
};
if (SoundPlayer.doSFX == false){
st.volume = 0;
};
_arg1.soundTransform = st;
}
}
}//package
Section 41
//GameObj (GameObj)
package {
import flash.geom.*;
import flash.events.*;
import flash.display.*;
public class GameObj {
var graphicID:int;
var flashTimerMax:Number;
var turnDiff:Number;
var externyvel:Number;
public var xvel:Number;
var pickupTimer:int;
var path:Poly;
var shadowFrame:int;
public var todir:Number;
var ftime:Number;
var minFrame:int;
var rotVel:Number;
public var speed:Number;
var yoffset:Number;
var startx:Number;
public var ypos2:Number;
var startz:Number;
var health:Number;
var starty:Number;
var frame1:Number;
public var movementVec:Vec;
var shootTimer:Number;
var maxFrame:int;
public var visible:Boolean;
var skidVolume:Number;
public var yvel:Number;
var surfaceID:uint;
public var dir:Number;
var graphicID2:int;
public var radius:Number;
var posRelativeToPlayer:int;
public var controlMode:int;
public var origspeed:Number;
var pickupID:int;
var messageFontID:int;// = 0
var slideAmt0:Number;
var slideAmt1:Number;
var shadowGraphicID:int;
public var xpos2:Number;
var draftX:Number;
var draftY:Number;
public var xpos:Number;
var turnDir:Number;
var skidTime:int;
public var zvel:Number;
var arrowFrame:Number;// = 0
var xflip:Boolean;
var maxSpeedUpdateTimer:int;
public var frameVel:Number;
var nextPointFailTimer:int;
var draftMode:int;
var shadowMatrix:Matrix;
public var xacc:Number;
var xoffset:Number;
public var active:Boolean;
public var count:int;
public var hp:int;
var racePosition:int;
var shootTimerMax:Number;
var inDraftTimer:Number;
var hitBananaCount:int;
var currentTotalCheckpoint:int;
var flashTimer:Number;
public var type:int;
public var ypos:Number;
var maxSpeed:Number;
var timer:Number;
var airTime:int;
public var hitWallTimer:int;
var lastPickupInGroup:int;
public var wheeldir:Number;
var popFlag:Boolean;
var boostTimer:Number;
public var yacc:Number;
var currentLap:int;
var frame:Number;
var popTimer:int;
public var controlIndex:int;
var pathNodeIndex:int;
public var hitTimer:Number;
public var subtype:int;
var flashFlag:Boolean;
var coneHitCount:int;
public var oldxpos:Number;
var timer1:Number;
var draftRadius:Number;
public var zpos:Number;
public var toPosX:Number;
public var toPosY:Number;
var hitBananaVel:Number;
var dist:Number;
public var driveVec:Vec;
var pathIndex:int;
public var baseID:int;
var main:Main;
var externxvel:Number;
var inFrontZone:Poly;
var skidDist:Number;
var messageText:String;
public var zpos2:Number;
var currentMaxSpeed:Number;
var timerMax:Number;
var shootMissileType:int;
public var oldypos:Number;
public var handleRender:Boolean;
var boostMode:int;
var inAir:Boolean;
var carColor:ColorTransform;
var currentCheckpoint:int;
var parentObj:GameObj;
public var explosionType:int;
static const gotype_AIPLAYER = 2;
static const gotype_MESSAGE = 9;
static const gotype_PERSON = 7;
static const gotype_OBSTACLE = 4;
static const gotype_PICKUPGEN = 5;
static const obstacletype_CONE = 0;
static const nextPointFailTimerMax:int = (Defs.fps * 10);
static const gotype_PLAYER = 1;
static const draftMode_IN = 1;
static const obstacletype_BARRIER = 1;
static const gotype_PERSONGEN = 8;
static const controlMode_NORMAL = 0;
static const obstacletype_SNOWMAN = 2;
static const gotype_BACKGROUND = 0;
static const obstacletype_BANANA_SKIN = 4;
static const draftMode_NONE = 0;
static const controlMode_SPINOFF = 1;
static const gotype_PICKUP = 6;
static const obstacletype_BANANA_WHOLE = 3;
static const gotype_BULLET = 3;
public function GameObj(_arg1, _arg2, _arg3){
arrowFrame = 0;
messageFontID = 0;
super();
xpos = _arg2;
ypos = _arg3;
zpos = 1;
zpos2 = 1;
starty = _arg2;
startx = _arg2;
active = false;
main = _arg1;
graphicID = 0;
frame = 0;
frameVel = 0;
controlIndex = 0;
timer = 0;
timer1 = 0;
radius = 24;
minFrame = 0;
maxFrame = 0;
handleRender = true;
flashTimer = 0;
flashFlag = true;
xflip = false;
shadowMatrix = new Matrix();
}
function PersonTestInfrontOfCar():GameObj{
var _local1:GameObj;
for each (_local1 in GameObjects.objs) {
if (((_local1.active) && ((((_local1.type == GameObj.gotype_PLAYER)) || ((_local1.type == GameObj.gotype_AIPLAYER)))))){
if (_local1.inFrontZone.lineList){
if (Collision.PointInConvexPoly(xpos, ypos, _local1.inFrontZone.lineList)){
return (_local1);
};
};
};
};
return (null);
}
function UpdateDraftZone(){
draftRadius = 32;
draftX = (xpos - (driveVec.GetUnitXComponent() * 50));
draftY = (ypos - (driveVec.GetUnitYComponent() * 50));
}
public function LimitVel(_arg1:Number){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = Math.sqrt(((xvel * xvel) + (yvel * yvel)));
_local3 = (xvel / _local2);
_local4 = (yvel / _local2);
if (_local2 > _arg1){
xvel = (_local3 * _arg1);
yvel = (_local4 * _arg1);
};
}
function RandBetween(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.random() * (_arg2 - _arg1));
_local3 = (_local3 + _arg1);
return (_local3);
}
function CarUpdateBoost(){
if (boostMode == 0){
currentMaxSpeed = maxSpeed;
return;
};
boostTimer--;
if (boostTimer < 0){
boostMode = 0;
};
currentMaxSpeed = (maxSpeed + 2);
}
function UpdateAirTime():void{
var _local1:String;
var _local2:GameObj;
if (inAir){
airTime++;
if (zpos2 == startz){
inAir = false;
if (type == gotype_PLAYER){
EventDefs.playerTotalInAirTime = (EventDefs.playerTotalInAirTime + airTime);
if (airTime > EventDefs.playerLargestInAirTime){
EventDefs.playerLargestInAirTime = airTime;
};
_local1 = ("Air " + airTime);
_local2 = GameObjects.AddObj(gotype_MESSAGE, (xpos - 20), (ypos - 20), 100);
_local2.InitMessage(_local1);
};
airTime = 0;
};
};
}
function UpdatePopping(){
if (popFlag == false){
return;
};
popTimer--;
if (popTimer < 0){
popTimer = 0;
popFlag = false;
};
}
public function HitLine(_arg1:Line):void{
movementVec.speed = 0;
driveVec.speed = (driveVec.speed * TweakVars.GetNumber("CollisionCoeff"));
DontDrawTyreMarks();
}
function DoExternalVel():void{
var _local1:Number;
xpos = (xpos + (externxvel * ftime));
ypos = (ypos + (externyvel * ftime));
_local1 = 0.9;
externxvel = (externxvel * _local1);
externyvel = (externyvel * _local1);
}
function UpdateCheckopints(){
var _local1:String;
var _local2:Poly;
_local2 = Collision.SingleObjectTypeCollision(this, Poly.polytype_CHECKPOINT);
if (_local2){
if (_local2.iparam0 == currentCheckpoint){
currentCheckpoint++;
currentTotalCheckpoint++;
if (currentCheckpoint >= Game.highestCheckpoint){
currentLap++;
currentCheckpoint = 0;
if (currentLap == Game.numLaps){
if (racePosition == -1){
racePosition = Game.racePositionCount;
Game.racePositionCount++;
};
};
if ((((type == gotype_PLAYER)) && (!((currentLap == 0))))){
Game.lapTimes.push(Game.currentLapTime);
Game.raceTime = (Game.raceTime + Game.currentLapTime);
Game.currentLapTime = 0;
if (currentLap == Game.numLaps){
Game.SetGameState(Game.gameState_PostRace);
if (Game.eventScore > Game.eventScores[Game.currentLevel]){
Game.eventScores[Game.currentLevel] = Game.eventScore;
};
Game.CaclulateFinalScore();
EventDefs.playerFinalPosition = racePosition;
EventDefs.playerFinalTime = Game.raceTime;
EventDefs.EndOfRace();
Kong.SubmitScore(Game.currentScore, "HighScore");
_local1 = ("HighScoreLevel" + int((Game.currentLevel + 1)));
Kong.SubmitScore(Game.eventScores[Game.currentLevel], _local1);
_local1 = ("BestTimeLevel" + int((Game.currentLevel + 1)));
Kong.SubmitStat(Game.raceTime, _local1);
Game.SaveData();
};
};
};
};
};
}
function Pop(){
popFlag = true;
popTimer = 3;
}
function InitPlayer():void{
inAir = false;
InitAnyCar();
pickupID = 0;
pickupTimer = 0;
carColor = new ColorTransform();
carColor.redOffset = Game.playerColorR;
carColor.greenOffset = Game.playerColorG;
carColor.blueOffset = Game.playerColorB;
maxSpeed = (currentMaxSpeed = 8);
if (Game.playerCarType == 0){
graphicID = GraphicObjects.gfx_car1;
graphicID2 = GraphicObjects.gfx_car1a;
} else {
graphicID = GraphicObjects.gfx_car2;
graphicID2 = GraphicObjects.gfx_car2a;
};
}
function RenderCar(_arg1:Number, _arg2:Number){
var _local3:int;
_local3 = GraphicObjects.idList[graphicID];
GraphicObjects.graphicobjs[_local3].frames[frame].RenderAtColTrans(main.screenBD, _arg1, _arg2, carColor, xflip);
}
function UpdatePickupGen(){
var _local1:GameObj;
if (controlMode == 0){
timer--;
if (timer < 0){
timer = (Defs.fps * 5);
_local1 = GameObjects.AddObj(GameObj.gotype_PICKUP, xpos, ypos, 1000);
_local1.parentObj = this;
_local1.pickupID = pickupID;
controlMode = 1;
};
};
}
function CarUpdatePickupTimer(){
}
function InitBullet(_arg1):void{
var _local2:Number;
var _local3:Number;
parentObj = _arg1;
_local2 = 10;
_local3 = 20;
xpos = (_arg1.xpos + (_arg1.driveVec.GetUnitXComponent() * _local3));
ypos = (_arg1.ypos + (_arg1.driveVec.GetUnitYComponent() * _local3));
xvel = (_arg1.movementVec.GetXComponent() + (_arg1.driveVec.GetUnitXComponent() * _local2));
yvel = (_arg1.movementVec.GetYComponent() + (_arg1.driveVec.GetUnitYComponent() * _local2));
timer = 60;
}
function NormalizeDir(_arg1:Number):Number{
while (_arg1 < 0) {
_arg1 = (_arg1 + (Math.PI * 2));
};
while (_arg1 > (Math.PI * 2)) {
_arg1 = (_arg1 - (Math.PI * 2));
};
return (_arg1);
}
function UpdatePlayerEngineSound(){
var _local1:Number;
}
function InitAIPlayer():void{
var _local1:Array;
nextPointFailTimer = 0;
InitAnyCar();
maxSpeedUpdateTimer = 0;
currentMaxSpeed = (maxSpeed = Utils.RandBetweenFloat(8, 8.2));
_local1 = Poly.FindAllByType(Poly.polytype_PATH, Game.polygonList);
pathIndex = Utils.RandBetweenInt(0, (_local1.length - 1));
path = _local1[pathIndex];
pathNodeIndex = 0;
if (Game.playerCarType != 0){
graphicID = GraphicObjects.gfx_car1;
graphicID2 = GraphicObjects.gfx_car1a;
} else {
graphicID = GraphicObjects.gfx_car2;
graphicID2 = GraphicObjects.gfx_car2a;
};
}
function SpeedAndDirFromDxDy(_arg1:Number, _arg2:Number){
movementVec.rot = Math.atan2(_arg2, _arg1);
movementVec.speed = Math.sqrt(((_arg1 * _arg1) + (_arg2 * _arg2)));
}
function InitPersonGen(){
timer = 0;
graphicID = GraphicObjects.gfx_particle_red;
controlMode = 0;
}
public function PersonCollided():void{
}
function BounceOffWalls(){
var _local1:Number;
var _local2:Number;
_local1 = 0;
_local2 = 1000;
if (xpos > _local2){
xvel = (xvel * -1);
xpos = _local2;
};
if (xpos < _local1){
xvel = (xvel * -1);
xpos = _local1;
};
}
function RenderShadow(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int){
var _local5:Bitmap;
_local5 = GraphicObjects.GetBitmap(_arg3, _arg4, xflip);
shadowMatrix.identity();
shadowMatrix.translate(_arg1, _arg2);
main.screenBD.draw(_local5, shadowMatrix, null, BlendMode.HARDLIGHT);
}
public function PlayAnimation():Boolean{
var _local1:int;
_local1 = GraphicObjects.GetNumFrames(graphicID);
frame = (frame + (frameVel * ftime));
if (frame >= _local1){
frame = _local1;
return (true);
};
return (false);
}
public function GetDirBetween(_arg1, _arg2, _arg3, _arg4):Number{
var _local5:*;
_local5 = Math.atan2((_arg4 - _arg2), (_arg3 - _arg1));
return (_local5);
}
function HandleFlash(){
flashTimerMax = 10;
flashTimer = (flashTimer + ftime);
if (flashTimer >= flashTimerMax){
flashTimer = 0.01;
if (flashFlag == false){
flashFlag = true;
} else {
flashFlag = false;
};
};
}
function AddVels(){
var _local1:Number;
var _local2:*;
_local1 = 10;
_local2 = 0.1;
yvel = (yvel + ((_local2 * ftime) * ftime));
if (yvel > _local1){
yvel = _local1;
};
if (yvel < -(_local1)){
yvel = -(_local1);
};
xpos = (xpos + (xvel * ftime));
ypos = (ypos + (yvel * ftime));
}
function UpdateObstacle():void{
if (controlMode == 0){
};
if (controlMode == 1){
xpos = (xpos + movementVec.GetXComponent());
ypos = (ypos + movementVec.GetYComponent());
zvel = (zvel + 0.2);
if (zvel > 5){
zvel = 5;
};
zpos2 = (zpos2 + zvel);
if (zpos2 > startz){
movementVec.speed = (movementVec.speed * 0.5);
zpos2 = startz;
zvel = (zvel * -0.5);
if (Math.abs(zvel) < 0.1){
controlMode = 0;
};
};
CycleAnimationEx();
};
if (controlMode == 2){
xpos = (xpos + movementVec.GetXComponent());
ypos = (ypos + movementVec.GetYComponent());
zvel = (zvel + 0.2);
if (zvel > 5){
zvel = 5;
};
zpos2 = (zpos2 + zvel);
if (zpos2 > startz){
movementVec.speed = (movementVec.speed * 0.5);
zpos2 = startz;
zvel = (zvel * -0.5);
};
if (PlayAnimationEx()){
controlMode = 99;
};
};
if (controlMode == 4){
xpos = (xpos + movementVec.GetXComponent());
ypos = (ypos + movementVec.GetYComponent());
zvel = (zvel + 0.2);
if (zvel > 5){
zvel = 5;
};
zpos2 = (zpos2 + zvel);
if (zpos2 > startz){
movementVec.speed = (movementVec.speed * 0.5);
zpos2 = startz;
zvel = (zvel * -0.5);
if (Math.abs(zvel) < 0.1){
subtype = obstacletype_BANANA_SKIN;
minFrame = 8;
frame = 8;
maxFrame = 14;
controlMode = 0;
};
};
CycleAnimationEx();
};
if (controlMode == 3){
xpos = (xpos + movementVec.GetXComponent());
ypos = (ypos + movementVec.GetYComponent());
movementVec.speed = (movementVec.speed * 0.9);
if (PlayAnimationEx()){
controlMode = 0;
};
};
SetZposFromYpos();
if (controlMode == 99){
zpos = 10000;
zpos2 = startz;
};
}
function UpdateCarInFrontZone(){
var _local1:Point;
var _local2:Point;
var _local3:Point;
var _local4:Number;
var _local5:Number;
var _local6:Vec;
_local4 = 40;
_local5 = 200;
_local6 = movementVec;
_local1 = new Point((_local6.GetUnitXComponent() * -20), (_local6.GetUnitYComponent() * -20));
_local2 = new Point(((_local6.GetUnitXComponent() * _local5) - (_local6.GetUnitTangent().x * _local4)), ((_local6.GetUnitYComponent() * _local5) - (_local6.GetUnitTangent().y * _local4)));
_local3 = new Point(((_local6.GetUnitXComponent() * _local5) + (_local6.GetUnitTangent().x * _local4)), ((_local6.GetUnitYComponent() * _local5) + (_local6.GetUnitTangent().y * _local4)));
_local1.x = (_local1.x + xpos);
_local1.y = (_local1.y + ypos);
_local2.x = (_local2.x + xpos);
_local2.y = (_local2.y + ypos);
_local3.x = (_local3.x + xpos);
_local3.y = (_local3.y + ypos);
inFrontZone = new Poly("0", 0);
inFrontZone.AddLine(_local1.x, _local1.y, _local2.x, _local2.y);
inFrontZone.AddLine(_local2.x, _local2.y, _local3.x, _local3.y);
inFrontZone.AddLine(_local3.x, _local3.y, _local1.x, _local1.y);
}
public function CarHitByBullet(){
if (controlMode == controlMode_NORMAL){
driveVec.AddRot(Utils.RandBetweenFloat(-0.5, 0.5));
controlMode = controlMode_SPINOFF;
timer = (Defs.fps * 2);
};
}
function UpdateAnyCar(){
var _local1:Number;
var _local2:Number;
var _local3:int;
var _local4:Particle;
if (hitWallTimer > 0){
hitWallTimer--;
};
zvel = (zvel + 0.2);
if (zvel > 5){
zvel = 5;
};
zpos2 = (zpos2 + zvel);
if (zpos2 > startz){
zpos2 = startz;
};
if (hitBananaCount > 0){
hitBananaCount--;
driveVec.AddRot(hitBananaVel);
};
_local1 = MoveMovementVecTowardsDriveVec();
turnDiff = _local1;
xpos = (xpos + movementVec.GetXComponent());
ypos = (ypos + movementVec.GetYComponent());
xflip = false;
_local2 = driveVec.rot;
_local2 = (_local2 + (Math.PI * 0.5));
_local2 = (_local2 + (Math.PI / 32));
_local2 = NormalizeDir(_local2);
frame = ((32 / (Math.PI * 2)) * _local2);
frame = Math.floor(frame);
if (frame >= 17){
frame = (32 - frame);
xflip = true;
};
if (frame < 0){
frame = 0;
};
if (frame > 16){
frame = 16;
};
shadowFrame = frame;
frame = (frame * 7);
_local3 = 0;
if (movementVec.speed > 6){
if (turnDiff < 0.9){
_local3 = 3;
if (xflip){
_local3 = 5;
};
if (turnDir < 0){
_local3 = 5;
if (xflip){
_local3 = 3;
};
};
};
if (turnDiff < 0.8){
_local3 = 4;
if (xflip){
_local3 = 5;
};
if (turnDir < 0){
_local3 = 6;
if (xflip){
_local3 = 4;
};
};
};
};
if (zpos2 != startz){
if (zvel < -0.1){
_local3 = 1;
};
if (zvel > 0.1){
_local3 = 2;
};
};
if (Game.xflipMap){
xflip = (xflip == false);
};
frame = (frame + _local3);
if (zpos2 >= 0){
if (_local1 < 0.8){
_local4 = Particles.Add(Particles.type_dust, (xpos + (driveVec.GetUnitXComponent() * -20)), (ypos + (driveVec.GetUnitYComponent() * -20)), movementVec.rot, movementVec.speed);
if (Game.currentLevel == 0){
_local4.graphicID = GraphicObjects.gfx_particle_dust1;
if (surfaceID == 1){
_local4.graphicID = GraphicObjects.gfx_particle_dust2;
};
};
if (Game.currentLevel == 1){
_local4.graphicID = GraphicObjects.gfx_particle_dust3;
if (surfaceID == 1){
_local4.graphicID = GraphicObjects.gfx_particle_dust4;
};
};
if (Game.currentLevel == 2){
_local4.graphicID = GraphicObjects.gfx_particle_dust5;
if (surfaceID == 1){
_local4.graphicID = GraphicObjects.gfx_particle_dust6;
};
};
DrawTyreMarks();
} else {
DontDrawTyreMarks();
};
} else {
DontDrawTyreMarks();
};
CarUpdateBoost();
UpdateCheckopints();
SetZposFromYpos();
UpdatePopping();
UpdateAirTime();
posRelativeToPlayer = (currentTotalCheckpoint - Game.goPlayer.currentTotalCheckpoint);
}
function GetRelativeSpeedToMax():Number{
return (Utils.ScaleToUnit(0, currentMaxSpeed, driveVec.speed));
}
public function CycleAnimationEx():Boolean{
var _local1:Boolean;
var _local2:*;
_local1 = false;
frame = (frame + frameVel);
_local2 = (maxFrame - minFrame);
if (frame > maxFrame){
frame = (frame - _local2);
_local1 = true;
};
if (frame < minFrame){
frame = (frame + _local2);
_local1 = true;
};
return (_local1);
}
function InitPerson():void{
graphicID = GraphicObjects.gfx_pickup1;
controlMode = 0;
toPosX = (startx + Utils.RandBetweenFloat(-50, 50));
toPosY = (starty + Utils.RandBetweenFloat(-50, 50));
movementVec = new Vec();
}
public function InitMessage(_arg1:String, _arg2:int=0, _arg3:int=0){
messageFontID = _arg3;
subtype = _arg2;
messageText = _arg1;
timer = 100;
}
function GetSurface(){
var _local1:Number;
var _local2:Number;
var _local3:uint;
_local1 = xpos;
_local2 = ypos;
if (Game.xflipMap){
_local1 = (Math.floor(Game.scrollW) - xpos);
};
_local3 = GraphicObjects.GetPixelAt(GraphicObjects.gfx_backgroundsurface, Game.goBackground.frame, int(_local1), int(_local2));
_local3 = (_local3 & 0xFFFFFF);
if (_local3 == 0xFF00){
surfaceID = 0;
};
if (_local3 == 0xFF0000){
surfaceID = 1;
};
slideAmt0 = TweakVars.GetNumber("TurnSpeedAtMax");
slideAmt1 = TweakVars.GetNumber("TurnSpeed");
if (type == gotype_PLAYER){
slideAmt0 = Shop.GetValue(Shop.ul_turnspeedatmax);
slideAmt1 = Shop.GetValue(Shop.ul_turnspeed);
};
if (surfaceID == 1){
slideAmt0 = (slideAmt0 * 0.75);
slideAmt1 = (slideAmt1 * 0.75);
};
}
function SetEdgePos():int{
var _local1:Number;
_local1 = 50;
if (RandBetween(0, 100) < 50){
ypos = RandBetween(0, 1000);
xpos = (0 - _local1);
if (RandBetween(0, 100) < 50){
xpos = (1000 + _local1);
return (1);
};
return (3);
//unresolved jump
};
xpos = RandBetween(0, 1000);
ypos = (0 - _local1);
if (RandBetween(0, 100) < 50){
ypos = (1000 + _local1);
return (2);
};
return (0);
}
function UpdatePickup():void{
frameVel = 0.2;
CycleAnimation();
}
function TestSwapZone():Boolean{
var _local1:SwapPath;
var _local2:Point;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:Point;
var _local7:Array;
for each (_local1 in Game.swapPathList) {
for each (_local2 in _local1.pointList) {
if (int(_local2.x) == pathIndex){
if (int(_local2.y) == pathNodeIndex){
_local3 = pathIndex;
_local4 = pathNodeIndex;
_local5 = Utils.RandBetweenInt(0, (_local1.swapList.length - 1));
_local6 = _local1.swapList[_local5];
pathIndex = int(_local6.x);
pathNodeIndex = int(_local6.y);
_local7 = Poly.FindAllByType(Poly.polytype_PATH, Game.polygonList);
path = _local7[pathIndex];
return (true);
};
};
};
};
return (false);
}
function TestZones():void{
var _local1:Poly;
var _local2:Number;
_local1 = Collision.SingleObjectTypeCollision(this, Poly.polytype_ZONE);
if (_local1){
if (_local1.name == "Jump"){
if (zpos2 == startz){
_local2 = -(TweakVars.GetNumber("JumpVel"));
if (type == gotype_PLAYER){
_local2 = (_local2 - (Shop.GetValue(Shop.ul_weight) * 0.3));
};
zvel = (_local2 * GetRelativeSpeedToMax());
if (zvel > -1){
zvel = 0;
};
if (zvel != 0){
InitAirTime();
};
};
};
};
}
public function CarCollectedPickup(_arg1:GameObj):void{
var _local2:int;
var _local3:String;
var _local4:GameObj;
_arg1.active = false;
_local2 = 1000;
Game.playerMoney = (Game.playerMoney + _local2);
_local3 = ("$" + _local2.toString());
_local4 = GameObjects.AddObj(gotype_MESSAGE, xpos, ypos, 100);
_local4.InitMessage(_local3, 0, 1);
Game.SetPickupActive(_arg1.pickupID, false);
SoundPlayer.Play(SoundPlayer.SOUND_CASHREGISTER);
}
function UpdatePersonGen(){
var _local1:GameObj;
if (controlMode == 0){
timer--;
if (timer < 0){
timer = (Defs.fps * 5);
_local1 = GameObjects.AddObj(GameObj.gotype_PERSON, xpos, ypos, 1000);
_local1.parentObj = this;
controlMode = 1;
};
};
}
function IsInWorld(_arg1:Number):Boolean{
if (xpos < (0 - _arg1)){
return (false);
};
if (ypos < (0 - _arg1)){
return (false);
};
if (xpos > (Game.scrollW + _arg1)){
return (false);
};
if (ypos > (Game.scrollH + _arg1)){
return (false);
};
return (true);
}
public function UpdateMessage(){
ypos = (ypos - 0.2);
timer--;
if (timer < 0){
active = false;
};
}
public function Update():void{
oldxpos = xpos;
oldypos = ypos;
ftime = main.ftime;
if (type == gotype_BACKGROUND){
xpos = -(Game.scrollX);
ypos = -(Game.scrollY);
} else {
if (type == gotype_PLAYER){
} else {
if (type == gotype_AIPLAYER){
UpdateAIPlayer();
} else {
if (type == gotype_OBSTACLE){
UpdateObstacle();
} else {
if (type == gotype_BULLET){
UpdateBullet();
} else {
if (type == gotype_PICKUPGEN){
UpdatePickupGen();
} else {
if (type == gotype_PERSONGEN){
UpdatePersonGen();
} else {
if (type == gotype_PICKUP){
UpdatePickup();
} else {
if (type == gotype_PERSON){
UpdatePerson();
} else {
if (type == gotype_MESSAGE){
UpdateMessage();
};
};
};
};
};
};
};
};
};
};
}
function GetLen(_arg1, _arg2):Number{
var _local3:*;
_local3 = Math.sqrt(((_arg1 * _arg1) + (_arg2 * _arg2)));
return (_local3);
}
function UpdateAIPlayer():void{
var _local1:Point;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
maxSpeedUpdateTimer--;
if (maxSpeedUpdateTimer <= 0){
maxSpeedUpdateTimer = Utils.RandBetweenInt(50, 100);
_local2 = (posRelativeToPlayer * -(TweakVars.GetNumber("AiCatchup")));
currentMaxSpeed = (maxSpeed = (Game.goPlayer.currentMaxSpeed + _local2));
if (currentMaxSpeed < 7){
currentMaxSpeed = 7;
};
if (currentMaxSpeed > 15){
currentMaxSpeed = 15;
};
if (maxSpeed < 7){
maxSpeed = 7;
};
if (maxSpeed > 15){
maxSpeed = 15;
};
};
GetSurface();
_local1 = path.GetPoint(pathNodeIndex);
toPosX = _local1.x;
toPosY = _local1.y;
TestCrossedLine();
TestZones();
if (controlMode == controlMode_SPINOFF){
UpdateCarSpinOff();
} else {
_local3 = movementVec.speed;
_local4 = driveVec.speed;
_local5 = movementVec.rot;
_local6 = driveVec.rot;
_local7 = GetDirBetween(xpos, ypos, toPosX, toPosY);
_local8 = (_local6 + (Math.PI / 2));
_local8 = NormalizeDir(_local8);
_local9 = Utils.DotProduct(Math.cos(_local7), Math.sin(_local7), Math.cos(_local8), Math.sin(_local8));
if (driveVec.NearRot(_local7, 0.1)){
driveVec.rot = _local7;
} else {
if (_local9 > 0){
driveVec.AddRot(0.1);
} else {
driveVec.AddRot(-0.1);
};
};
};
if (controlMode == 99){
driveVec.speed = 0;
};
UpdateAnyCar();
if (turnDiff > TweakVars.GetNumber("AICarSlowdownDiff")){
driveVec.speed = (driveVec.speed + 0.2);
if (driveVec.speed > currentMaxSpeed){
driveVec.speed = currentMaxSpeed;
};
} else {
driveVec.speed = (driveVec.speed - 0.2);
if (driveVec.speed < (currentMaxSpeed / 2)){
driveVec.speed = (currentMaxSpeed / 2);
};
};
}
public function RotDistTowards(_arg1:Number, _arg2:Number):Number{
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:Number;
_local3 = 3.141592658;
_local4 = (_local3 * 2);
_local5 = Math.cos(_arg1);
_local6 = Math.sin(_arg1);
_local7 = Math.cos(_arg2);
_local8 = Math.sin(_arg2);
_local9 = ((_local5 * _local8) - (_local7 * _local6));
_local9 = Math.abs(_local9);
return (_local9);
}
function UpdateCarSpinOff(){
timer--;
if (timer < 0){
timer = 0;
controlMode = controlMode_NORMAL;
};
driveVec.speed = (driveVec.speed - 0.1);
if (driveVec.speed < 0){
driveVec.speed = 0;
} else {
driveVec.AddRot(0.1);
};
}
function SetZposFromYpos(){
zpos = (5000 - ypos);
}
function UpdatePlayer():void{
var _local1:Boolean;
var _local2:Boolean;
var _local3:Boolean;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
GetSurface();
if (surfaceID != 0){
EventDefs.playerTimeOffRoad++;
};
TestZones();
CarUpdatePickupTimer();
if (controlMode == controlMode_SPINOFF){
UpdateCarSpinOff();
} else {
_local1 = false;
_local2 = false;
_local3 = false;
_local4 = false;
if (controlMode != 99){
if (Game.xflipMap){
if (KeyReader.Down(KeyReader.KEY_RIGHT)){
_local1 = true;
};
if (KeyReader.Down(KeyReader.KEY_LEFT)){
_local2 = true;
};
if (KeyReader.Down(KeyReader.KEY_D)){
_local1 = true;
};
if (KeyReader.Down(KeyReader.KEY_A)){
_local2 = true;
};
} else {
if (KeyReader.Down(KeyReader.KEY_LEFT)){
_local1 = true;
};
if (KeyReader.Down(KeyReader.KEY_RIGHT)){
_local2 = true;
};
if (KeyReader.Down(KeyReader.KEY_A)){
_local1 = true;
};
if (KeyReader.Down(KeyReader.KEY_D)){
_local2 = true;
};
};
if (KeyReader.Down(KeyReader.KEY_UP)){
_local3 = true;
};
if (KeyReader.Down(KeyReader.KEY_W)){
_local3 = true;
};
if (_local3 == false){
EventDefs.timeNotAccelerating++;
};
};
_local5 = TweakVars.GetNumber("TurnRate");
_local6 = TweakVars.GetNumber("Accel");
_local7 = -(TweakVars.GetNumber("Decel"));
currentMaxSpeed = TweakVars.GetNumber("MaxSpeed");
_local5 = Shop.GetValue(Shop.ul_handling);
_local6 = Shop.GetValue(Shop.ul_accel);
_local7 = -(Shop.GetValue(Shop.ul_accel));
currentMaxSpeed = Shop.GetValue(Shop.ul_speed);
if (inAir){
_local5 = 0;
};
_local8 = driveVec.dotRot(movementVec.rot);
if (_local8 > 0){
if (_local1){
driveVec.AddRot(-(_local5));
};
if (_local2){
driveVec.AddRot(_local5);
};
};
if (_local3){
driveVec.speed = (driveVec.speed + _local6);
if (driveVec.speed > currentMaxSpeed){
driveVec.speed = currentMaxSpeed;
};
} else {
if (Math.abs((driveVec.speed - currentMaxSpeed)) < 0.1){
if (inAir == false){
Pop();
};
};
driveVec.speed = (driveVec.speed + _local7);
if (driveVec.speed < 0){
driveVec.speed = 0;
};
};
};
UpdateAnyCar();
UpdatePlayerEngineSound();
if (skidTime > 0){
skidVolume = (skidVolume + 0.1);
if (skidVolume > 1){
skidVolume = 1;
};
} else {
skidVolume = (skidVolume - 0.1);
if (skidVolume < 0){
skidVolume = 0;
};
};
Game.SetVolume(Game.skidSound0, skidVolume);
}
function Graph(_arg1:Number, _arg2:int):Number{
var _local3:Number;
if (_arg2 == 0){
_local3 = (_arg1 * (Math.PI * 0.5));
_local3 = Math.sin(_local3);
return (_local3);
};
return (_arg1);
}
public function Init(_arg1:int):void{
var _local2:int;
var _local3:Number;
_local2 = 0;
_local3 = 0;
type = _arg1;
controlMode = _local2;
xvel = _local3;
frame = _local3;
frameVel = _local3;
timer = _local3;
hitTimer = _local3;
hp = 1;
handleRender = true;
visible = true;
shootTimer = _local3;
shootTimerMax = _local3;
externxvel = _local3;
externyvel = _local3;
flashTimer = _local3;
flashFlag = true;
dir = 0;
todir = 0;
health = 1;
zvel = 0;
shadowGraphicID = 0;
if (type == gotype_BACKGROUND){
frame = 0;
graphicID = GraphicObjects.gfx_background;
zpos = 20000;
} else {
if (type == gotype_PLAYER){
} else {
if (type == gotype_AIPLAYER){
} else {
if (type == gotype_BULLET){
graphicID = GraphicObjects.gfx_particle_dust1;
} else {
if (type == gotype_OBSTACLE){
} else {
if (type == gotype_PICKUPGEN){
} else {
if (type == gotype_PERSONGEN){
InitPersonGen();
} else {
if (type == gotype_PICKUP){
InitPickup();
} else {
if (type == gotype_PERSON){
InitPerson();
};
};
};
};
};
};
};
};
};
}
function CarUpdateInDraft(){
if (boostMode != 0){
draftMode = draftMode_NONE;
};
if (draftMode == draftMode_IN){
inDraftTimer++;
if (inDraftTimer > (Defs.fps * 1)){
boostMode = 1;
boostTimer = (Defs.fps * 3);
draftMode = draftMode_NONE;
};
} else {
inDraftTimer = 0;
};
}
function UpdateBullet():void{
xpos = (xpos + xvel);
ypos = (ypos + yvel);
timer--;
if (timer < 0){
active = false;
};
}
function MoveMovementVecTowardsDriveVec():Number{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:*;
if (zpos2 < 0){
return (0);
};
_local1 = movementVec.speed;
_local2 = driveVec.speed;
_local3 = movementVec.rot;
_local4 = driveVec.rot;
_local5 = Utils.DotProduct(driveVec.GetUnitXComponent(), driveVec.GetUnitYComponent(), movementVec.GetUnitXComponent(), movementVec.GetUnitYComponent());
_local6 = (_local4 + (Math.PI / 2));
_local6 = NormalizeDir(_local6);
_local7 = Utils.DotProduct(Math.cos(_local3), Math.sin(_local3), Math.cos(_local6), Math.sin(_local6));
turnDir = _local7;
if (movementVec.NearRot(_local4, _local8)){
movementVec.rot = _local4;
movementVec.speed = _local2;
return (1);
};
if (driveVec.speed < 2){
movementVec.rot = _local4;
movementVec.speed = _local2;
return (1);
};
_local8 = slideAmt1;
if (Math.abs((_local2 - currentMaxSpeed)) < 0.1){
_local8 = slideAmt0;
};
if (_local7 > 0){
_local3 = (_local3 - _local8);
} else {
_local3 = (_local3 + _local8);
};
_local3 = NormalizeDir(_local3);
_local9 = Utils.DotProductAng(_local3, _local4);
_local1 = _local2;
movementVec.speed = _local1;
movementVec.rot = _local3;
return (_local9);
}
public function CycleAnimation():void{
var _local1:Number;
var _local2:int;
_local1 = frameVel;
_local2 = GraphicObjects.GetNumFrames(graphicID);
frame = (frame + _local1);
if (frame >= _local2){
frame = (frame - _local2);
};
if (frame < 0){
frame = (frame + _local2);
};
}
function TestCrossedLine():void{
var _local1:Line;
var _local2:Boolean;
var _local3:Line;
var _local4:Line;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local1 = path.GetLine(pathNodeIndex);
if (nextPointFailTimer > 0){
nextPointFailTimer--;
if (nextPointFailTimer == 0){
_local3 = path.GetLine(pathNodeIndex);
xpos = _local3.x0;
ypos = _local3.y0;
driveVec.speed = 0;
movementVec.speed = 0;
nextPointFailTimer = nextPointFailTimerMax;
pathNodeIndex++;
if (pathNodeIndex > path.GetNumPoints()){
pathNodeIndex = 0;
};
return;
};
};
if (pathNodeIndex != 0){
_local4 = path.GetLine((pathNodeIndex - 1));
_local5 = (_local1.nx + _local4.nx);
_local6 = (_local1.ny + _local4.ny);
_local7 = Math.atan2(_local6, _local5);
_local7 = (_local7 + (Math.PI * 0.5));
_local8 = (Math.cos(_local7) * 50);
_local9 = (Math.sin(_local7) * 50);
_local2 = Utils.SideOfLine(_local1.x0, _local1.y0, (_local1.x0 + _local8), (_local1.y0 + _local9), xpos, ypos);
} else {
_local2 = Utils.SideOfLine(_local1.x0, _local1.y0, _local1.x1, _local1.y1, xpos, ypos);
};
if (_local2){
if (TestSwapZone()){
} else {
pathNodeIndex++;
if (pathNodeIndex > path.GetNumPoints()){
pathNodeIndex = 0;
};
};
nextPointFailTimer = nextPointFailTimerMax;
};
}
public function PlayAnimationEx():Boolean{
var _local1:Boolean;
_local1 = false;
frame = (frame + frameVel);
if (frame > maxFrame){
frame = maxFrame;
_local1 = true;
};
if (frame < minFrame){
frame = minFrame;
_local1 = true;
};
return (_local1);
}
function Anim_FromVel():void{
var _local1:int;
var _local2:Number;
var _local3:Number;
var _local4:*;
_local1 = GraphicObjects.GetNumFrames(graphicID);
_local2 = xvel;
_local3 = yvel;
_local4 = Math.atan2(_local3, _local2);
frame = ((_local1 / (Math.PI * 2)) * -(_local4));
if (frame < 0){
frame = (frame + _local1);
};
if (frame > _local1){
frame = (frame - _local1);
};
frame = (frame + (_local1 / 2));
if (frame > _local1){
frame = (frame - _local1);
};
}
function DistanceToObj(_arg1:GameObj):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (_arg1.xpos - xpos);
_local3 = (_arg1.ypos - ypos);
_local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3)));
return (_local4);
}
public function SetStartAngle(_arg1:Number){
var _local2:Number;
_local2 = (((Math.PI * 2) / 360) * _arg1);
_local2 = (_local2 - (Math.PI / 2));
movementVec.Set(_local2, 0);
driveVec.Set(_local2, 0);
}
function MakeUnitVel():Number{
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = GetLen(xvel, yvel);
_local2 = (xvel / _local1);
_local3 = (yvel / _local1);
xvel = _local2;
yvel = _local3;
return (_local1);
}
function InitAnyCar(){
var _local1:uint;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:int;
skidVolume = 0;
skidTime = 0;
skidDist = 0;
hitWallTimer = 0;
posRelativeToPlayer = 0;
racePosition = -1;
hitBananaCount = 0;
hitBananaVel = 0;
popTimer = 0;
popFlag = false;
currentLap = 0;
currentCheckpoint = 0;
currentTotalCheckpoint = 0;
carColor = new ColorTransform();
_local1 = Game.AICarColor;
_local2 = ((_local1 >> 16) & 0xFF);
_local3 = ((_local1 >> 8) & 0xFF);
_local4 = (_local1 & 0xFF);
_local5 = 50;
_local2 = (_local2 + Utils.RandBetweenInt(-(_local5), _local5));
_local3 = (_local3 + Utils.RandBetweenInt(-(_local5), _local5));
_local4 = (_local4 + Utils.RandBetweenInt(-(_local5), _local5));
_local2 = Utils.ClampInt(_local2, 0, 0xFF);
_local3 = Utils.ClampInt(_local3, 0, 0xFF);
_local4 = Utils.ClampInt(_local4, 0, 0xFF);
carColor.redOffset = (_local2 - 127);
carColor.greenOffset = (_local3 - 127);
carColor.blueOffset = (_local4 - 127);
inDraftTimer = 0;
draftMode = draftMode_NONE;
boostMode = 0;
boostTimer = 0;
xpos = 200;
ypos = 200;
speed = 0;
frameVel = 0;
dir = 0;
wheeldir = 0;
frame1 = (frame = 0);
movementVec = new Vec();
driveVec = new Vec();
movementVec.Set(0, 0);
driveVec.Set(0, 0);
controlMode = controlMode_NORMAL;
inFrontZone = new Poly("0", 0);
radius = 22;
}
function DontDrawTyreMarks(){
var _local1:String;
var _local2:GameObj;
if (skidTime > 0){
if (type == gotype_PLAYER){
Game.AddScore(skidDist);
if (skidDist > 30){
_local1 = ("Skid: " + Utils.DP2(skidDist).toString());
_local2 = GameObjects.AddObj(gotype_MESSAGE, xpos, ypos, 100);
_local2.InitMessage(_local1);
};
if (skidDist > EventDefs.playerLargestSkid){
EventDefs.playerLargestSkid = skidDist;
};
EventDefs.playerTotalSkid = (EventDefs.playerTotalSkid + skidDist);
};
};
skidTime = 0;
skidDist = 0;
pickupID = 0;
}
function UpdatePerson():void{
var _local1:Number;
var _local2:Number;
var _local3:GameObj;
if (controlMode == 0){
_local1 = Math.atan2((toPosY - ypos), (toPosX - xpos));
movementVec.Set(_local1, 0.5);
xpos = (xpos + movementVec.GetXComponent());
ypos = (ypos + movementVec.GetYComponent());
_local2 = Utils.DistBetweenPoints(xpos, ypos, toPosX, toPosY);
if (_local2 < 5){
toPosX = (startx + Utils.RandBetweenFloat(-50, 50));
toPosY = (starty + Utils.RandBetweenFloat(-50, 50));
timer = Utils.RandBetweenFloat(20, 40);
controlMode = 1;
};
} else {
if (controlMode == 1){
timer--;
if (timer < 0){
controlMode = 0;
};
};
};
if ((((controlMode == 0)) || ((controlMode == 1)))){
_local3 = PersonTestInfrontOfCar();
if (_local3){
controlMode = 2;
_local2 = 500;
_local1 = (_local3.movementVec.rot + (Math.PI * 0.5));
toPosX = (xpos + (Math.cos(_local1) * _local2));
toPosY = (ypos + (Math.sin(_local1) * _local2));
timer = 14;
};
};
if (controlMode == 2){
_local1 = Math.atan2((toPosY - ypos), (toPosX - xpos));
movementVec.Set(_local1, 3);
xpos = (xpos + movementVec.GetXComponent());
ypos = (ypos + movementVec.GetYComponent());
timer--;
if (timer < 0){
toPosX = (startx + Utils.RandBetweenFloat(-50, 50));
toPosY = (starty + Utils.RandBetweenFloat(-50, 50));
timer = Utils.RandBetweenFloat(20, 40);
controlMode = 1;
};
};
}
public function CarHitWall(){
var _local1:int;
_local1 = 0;
while (_local1 < 3) {
MoveMovementVecTowardsDriveVec();
_local1++;
};
driveVec.speed = (driveVec.speed * TweakVars.GetNumber("CollisionCoeff"));
movementVec.speed = (movementVec.speed * TweakVars.GetNumber("CollisionCoeff"));
DontDrawTyreMarks();
Game.AddWallSparks(this, Collision.IntersectionX, Collision.IntersectionY);
}
function RandBetweenRandNeg(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.random() * (_arg2 - _arg1));
_local3 = (_local3 + _arg1);
if (Math.random() < 0.5){
_local3 = -(_local3);
};
return (_local3);
}
function DistanceToObj1(_arg1:GameObj, _arg2:Number, _arg3:Number):Number{
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local4 = (_arg1.xpos - _arg2);
_local5 = (_arg1.ypos - _arg3);
_local6 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
return (_local6);
}
public function Render(_arg1):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:int;
var _local10:int;
var _local11:uint;
var _local12:Number;
var _local13:Number;
var _local14:Line;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Line;
var _local20:Number;
var _local21:Number;
if (visible == false){
return;
};
_local2 = Math.floor(Game.scrollX);
_local3 = Math.floor(Game.scrollY);
_local4 = Math.floor(xpos);
_local5 = Math.floor(ypos);
_local6 = (_local4 - _local2);
_local7 = (_local5 - _local3);
if (Game.xflipMap){
_local8 = _local6;
_local2 = Math.floor(Game.scrollX);
_local6 = (Math.floor((Game.scrollW - xpos)) - _local2);
if (type == gotype_PLAYER){
};
};
if (type == gotype_BACKGROUND){
GraphicObjects.RenderAt(graphicID, frame, main.screenBD, _local4, _local5);
} else {
if ((((type == gotype_PLAYER)) || ((type == gotype_AIPLAYER)))){
RenderShadow((_local6 - 24), (_local7 - 24), GraphicObjects.gfx_carshadow, shadowFrame);
RenderCar((_local6 - 24), ((_local7 - 24) + (zpos2 - startz)));
GraphicObjects.RenderAt(graphicID2, frame, main.screenBD, (_local6 - 24), ((_local7 - 24) + (zpos2 - startz)), xflip);
if (popFlag){
GraphicObjects.RenderAt(GraphicObjects.gfx_car_pop, shadowFrame, main.screenBD, (_local6 - 24), (_local7 - 24), xflip);
};
if (type == gotype_PLAYER){
if (Game.arrowCount != 0){
arrowFrame = (arrowFrame + 0.5);
if (arrowFrame > 6){
arrowFrame = 0;
};
GraphicObjects.RenderAt(GraphicObjects.gfx_car_arrow, arrowFrame, main.screenBD, _local6, (_local7 - 10));
};
};
} else {
if (type == gotype_MESSAGE){
_local9 = GraphicObjects.gfx_font1;
if (messageFontID == 0){
_local9 = GraphicObjects.gfx_font1;
};
if (messageFontID == 1){
_local9 = GraphicObjects.gfx_font2;
};
if (subtype == 0){
GraphicObjects.RenderStringAt(main.screenBD, _local9, _local6, _local7, messageText, null);
} else {
GraphicObjects.RenderStringAt(main.screenBD, _local9, _local4, _local5, messageText, null);
};
} else {
if (zpos2 < startz){
RenderShadow(_local6, _local7, shadowGraphicID, 0);
};
GraphicObjects.RenderAt(graphicID, frame, main.screenBD, _local6, (_local7 + (zpos2 - startz)));
};
};
};
if ((Game.debugMode & 1)){
if ((((type == gotype_PLAYER)) || ((type == gotype_AIPLAYER)))){
_local12 = (movementVec.GetUnitXComponent() * 50);
_local13 = (movementVec.GetUnitYComponent() * 50);
Utils.RenderDotLine(main.screenBD, _local6, _local7, (_local6 + _local12), (_local7 + _local13), 50, 4294967295);
_local12 = (driveVec.GetUnitXComponent() * 50);
_local13 = (driveVec.GetUnitYComponent() * 50);
Utils.RenderDotLine(main.screenBD, _local6, _local7, (_local6 + _local12), (_local7 + _local13), 50, 4294901760);
};
};
if ((Game.debugMode & 2)){
if (type == gotype_AIPLAYER){
_local10 = 0;
while (_local10 < path.GetNumPoints()) {
_local11 = 4290822336;
if (_local10 == pathNodeIndex){
_local11 = 4294967295;
};
_local14 = path.GetLine(_local10);
Utils.RenderDotLine(main.screenBD, (_local14.x0 - _local2), (_local14.y0 - _local3), (_local14.x1 - _local2), (_local14.y1 - _local3), 100, _local11);
_local11 = 1099494916095;
if (_local10 == pathNodeIndex){
_local11 = 4278190335;
};
_local15 = (_local14.nx * -50);
_local16 = (_local14.ny * -50);
_local17 = (_local14.nx * 150);
_local18 = (_local14.ny * 150);
if (_local10 != 0){
_local19 = path.GetLine((_local10 - 1));
_local20 = (_local14.nx + _local19.nx);
_local21 = (_local14.ny + _local19.ny);
_local15 = (_local20 * -50);
_local16 = (_local21 * -50);
_local17 = (_local20 * 150);
_local18 = (_local21 * 150);
};
Utils.RenderDotLine(main.screenBD, ((_local14.x0 + _local15) - _local2), ((_local14.y0 + _local16) - _local3), ((_local14.x0 + _local17) - _local2), ((_local14.y0 + _local18) - _local3), 300, _local11);
_local10++;
};
};
};
}
function InitPickup():void{
graphicID = GraphicObjects.gfx_pickup1;
}
function DrawTyreMarks(){
var _local1:Matrix;
var _local2:EventDef;
var _local3:Bitmap;
var _local4:BitmapData;
var _local5:Bitmap;
var _local6:Number;
var _local7:Number;
var _local8:int;
var _local9:Number;
var _local10:Number;
var _local11:int;
var _local12:Number;
var _local13:Number;
_local2 = EventDefs.GetEventDef(Game.currentLevel);
_local3 = GraphicObjects.GetBitmap(GraphicObjects.gfx_background, _local2.trackID);
_local4 = _local3.bitmapData;
_local5 = GraphicObjects.GetBitmap(GraphicObjects.gfx_car_skid, shadowFrame);
_local6 = xpos;
_local7 = oldxpos;
if (Game.xflipMap){
_local6 = (Math.floor(Game.scrollW) - xpos);
_local7 = (Math.floor(Game.scrollW) - oldxpos);
};
if (skidTime == 0){
_local1 = new Matrix();
_local1.translate((xpos - 24), (ypos - 24));
_local4.draw(_local5, _local1, null, BlendMode.HARDLIGHT);
} else {
_local8 = 5;
_local9 = ((_local6 - _local7) / _local8);
_local10 = ((ypos - oldypos) / _local8);
_local12 = _local7;
_local13 = oldypos;
_local11 = 0;
while (_local11 < _local8) {
_local12 = (_local12 + _local9);
_local13 = (_local13 + _local10);
_local1 = new Matrix();
_local1.translate((_local12 - 24), (_local13 - 24));
_local4.draw(_local5, _local1, null, BlendMode.HARDLIGHT);
_local11++;
};
};
skidTime++;
skidDist = (skidDist + 1);
}
public function InitPickupGen(_arg1:int){
pickupID = _arg1;
timer = 0;
graphicID = GraphicObjects.gfx_particle_red;
controlMode = 0;
visible = false;
}
function InitAirTime():void{
airTime = 0;
inAir = true;
}
public function RotateTowards(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:Number;
var _local11:*;
_local4 = Math.PI;
_local5 = (_local4 * 2);
_local6 = Math.cos(_arg1);
_local7 = Math.sin(_arg1);
_local8 = Math.cos(_arg2);
_local9 = Math.sin(_arg2);
_local10 = ((_local8 * _local7) - (_local6 * _local9));
_local11 = _arg1;
if (_local10 < 0){
_local11 = (_local11 + _arg3);
} else {
if (_local10 > 0){
_local11 = (_local11 - _arg3);
};
};
if (_local11 > _local5){
_local11 = (_local11 - _local5);
};
if (_local11 < 0){
_local11 = (_local11 + _local5);
};
return (_local11);
}
public function InitObstacle(_arg1:String, _arg2:int){
var _local3:int;
shadowGraphicID = GraphicObjects.gfx_obstacle_cone_shadow;
movementVec = new Vec();
if (_arg1 == "Cone"){
graphicID = GraphicObjects.gfx_obstacle_cone;
subtype = obstacletype_CONE;
minFrame = 0;
maxFrame = 15;
coneHitCount = 0;
};
if (_arg1 == "Barrier"){
graphicID = GraphicObjects.gfx_obstacle_barrier;
subtype = obstacletype_BARRIER;
_local3 = _arg2;
if (Game.xflipMap){
trace("barrier flip");
if (_arg2 == 1){
_arg2 = 3;
} else {
if (_arg2 == 3){
_arg2 = 1;
};
};
};
minFrame = (0 + (_arg2 * 7));
maxFrame = (5 + (_arg2 * 7));
};
if (_arg1 == "Snowman"){
graphicID = GraphicObjects.gfx_obstacle_snowman;
subtype = obstacletype_SNOWMAN;
minFrame = 0;
maxFrame = 7;
};
if (_arg1 == "Banana"){
graphicID = GraphicObjects.gfx_obstacle_banana;
subtype = obstacletype_BANANA_WHOLE;
minFrame = 0;
maxFrame = 7;
};
frame = minFrame;
controlMode = 0;
}
public function ObstacleHitByCar(_arg1:GameObj){
var _local2:Boolean;
var _local3:int;
var _local4:String;
var _local5:GameObj;
var _local6:Number;
_local2 = false;
if (_arg1.type == gotype_PLAYER){
if (_arg1.skidTime > 0){
_local3 = (100 + (100 * (_arg1.pickupID + 1)));
_arg1.pickupID++;
} else {
_local3 = 100;
};
Game.AddScore(_local3);
_local4 = _local3.toString();
_local5 = GameObjects.AddObj(gotype_MESSAGE, (_arg1.xpos - 20), (_arg1.ypos - 20), 100);
_local5.InitMessage(_local4);
_local2 = true;
if (subtype == obstacletype_CONE){
if (Utils.RandBetweenInt(0, 100) < 50){
SoundPlayer.Play(SoundPlayer.SOUND_CONE0);
} else {
SoundPlayer.Play(SoundPlayer.SOUND_CONE1);
};
};
if (subtype == obstacletype_BARRIER){
SoundPlayer.Play(SoundPlayer.SOUND_BARRIER);
};
if ((((subtype == obstacletype_SNOWMAN)) || ((subtype == obstacletype_BANANA_WHOLE)))){
SoundPlayer.Play(SoundPlayer.SOUND_SNOWMAN);
};
};
if (subtype == obstacletype_CONE){
coneHitCount++;
controlMode = 1;
movementVec.CopyFrom(_arg1.movementVec);
movementVec.AddRot(Utils.RandBetweenFloat(-0.3, 0.3));
zvel = -(Utils.RandBetweenFloat(2, 4));
frame = minFrame;
frameVel = Utils.RandBetweenFloat(0.4, 0.6);
if (_local2){
EventDefs.numObjectsHit++;
EventDefs.numConesKnockedOver++;
};
} else {
if (subtype == obstacletype_BARRIER){
controlMode = 2;
movementVec.CopyFrom(_arg1.movementVec);
movementVec.AddRot(Utils.RandBetweenFloat(-0.3, 0.3));
zvel = -(Utils.RandBetweenFloat(2, 4));
movementVec.speed = (movementVec.speed * 0.75);
frame = minFrame;
frameVel = Utils.RandBetweenFloat(0.3, 0.3);
if (_local2){
EventDefs.numObjectsHit++;
EventDefs.numObjectsDestroyed++;
};
} else {
if (subtype == obstacletype_SNOWMAN){
controlMode = 2;
movementVec.CopyFrom(_arg1.movementVec);
movementVec.AddRot(Utils.RandBetweenFloat(-0.3, 0.3));
zvel = -(Utils.RandBetweenFloat(2, 4));
movementVec.speed = (movementVec.speed * 0.75);
frame = minFrame;
frameVel = Utils.RandBetweenFloat(0.3, 0.3);
if (_local2){
EventDefs.numObjectsHit++;
EventDefs.numObjectsDestroyed++;
};
} else {
if (subtype == obstacletype_BANANA_WHOLE){
controlMode = 4;
movementVec.CopyFrom(_arg1.movementVec);
movementVec.AddRot(Utils.RandBetweenFloat(-0.3, 0.3));
zvel = -(Utils.RandBetweenFloat(2, 4));
movementVec.speed = (movementVec.speed * 0.5);
frame = minFrame;
frameVel = Utils.RandBetweenFloat(0.3, 0.3);
if (_local2){
EventDefs.numObjectsHit++;
EventDefs.numBananasHit++;
};
} else {
if (subtype == obstacletype_BANANA_SKIN){
controlMode = 3;
movementVec.CopyFrom(_arg1.movementVec);
movementVec.AddRot(Math.PI);
movementVec.AddRot(Utils.RandBetweenFloat(-0.3, 0.3));
movementVec.speed = (movementVec.speed * 0.5);
frame = minFrame;
frameVel = Utils.RandBetweenFloat(0.3, 0.3);
_local6 = RandBetweenRandNeg(0.1, 0.1);
_arg1.hitBananaCount = 10;
_arg1.hitBananaVel = _local6;
if (_local2){
EventDefs.numObjectsHit++;
EventDefs.numBananasHit++;
};
};
};
};
};
};
}
public function GetVelFromDir(_arg1:Number){
xvel = (Math.cos(dir) * _arg1);
yvel = (Math.sin(dir) * _arg1);
}
}
}//package
Section 42
//GameObjects (GameObjects)
package {
import flash.events.*;
class GameObjects {
public static var numobjs;
static var m:Main;
public static var zorder:Array;
public static var objs:Array;
public function GameObjGroup(){
}
public static function GetZOrder():int{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Number;
var _local6:Number;
var _local7:int;
_local1 = 0;
while (_local1 < numobjs) {
if (objs[_local1].active == true){
if (objs[_local1].handleRender == true){
zorder[_local3] = _local1;
_local3++;
};
};
_local1++;
};
_local4 = _local3;
_local1 = 0;
while (_local1 < (_local4 - 1)) {
_local2 = (_local1 + 1);
while (_local2 < _local4) {
_local5 = objs[zorder[_local1]].zpos;
_local6 = objs[zorder[_local2]].zpos;
if (_local6 > _local5){
_local7 = zorder[_local1];
zorder[_local1] = zorder[_local2];
zorder[_local2] = _local7;
};
_local2++;
};
_local1++;
};
return (_local4);
}
public static function Update():void{
var _local1:int;
_local1 = 0;
while (_local1 < objs.length) {
if (objs[_local1].active == true){
objs[_local1].Update();
};
_local1++;
};
}
public static function InitOnce(_arg1:Main, _arg2:int){
var _local3:*;
numobjs = _arg2;
m = _arg1;
objs = new Array();
zorder = new Array(numobjs);
_local3 = 0;
while (_local3 < numobjs) {
objs.push(new GameObj(m, 0, 0));
_local3++;
};
}
public static function ClearAll(){
var _local1:int;
_local1 = 0;
while (_local1 < numobjs) {
objs[_local1].active = false;
_local1++;
};
}
public static function AddObj(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Number):GameObj{
var _local5:int;
var _local6:GameObj;
_local5 = 0;
while (_local5 < numobjs) {
if (objs[_local5].active == false){
_local6 = objs[_local5];
_local6.active = true;
_local6.zpos = _arg4;
_local6.zpos2 = _arg4;
_local6.xpos = _arg2;
_local6.ypos = _arg3;
_local6.startx = _arg2;
_local6.starty = _arg3;
_local6.startz = _arg4;
_local6.Init(_arg1);
return (objs[_local5]);
};
_local5++;
};
trace("ERROR! NO FREE OBJECTS");
return (null);
}
public static function Render():void{
var _local1:GameObj;
var _local2:Array;
_local2 = new Array();
for each (_local1 in objs) {
if (((_local1.active) && (_local1.visible))){
_local2.push(_local1);
};
};
_local2.sortOn("zpos", (Array.NUMERIC | Array.DESCENDING));
for each (_local1 in _local2) {
_local1.Render(m);
};
}
}
}//package
Section 43
//GraphicObjects (GraphicObjects)
package {
import flash.geom.*;
import flash.text.*;
import flash.display.*;
public class GraphicObjects {
public static const gfx_car_skid = 15;
public static const gfx_car2a = 13;
public static const gfx_obstacle_barrier = 42;
public static const gfx_obstacle_cone_shadow = 41;
public static const gfx_particle_explosion = 21;
public static const gfx_uicar_1a = 61;
public static const gfx_uicar_1b = 62;
public static const gfx_carcar_collision = 67;
public static const gfx_scorebar = 3;
public static const gfx_car_palette = 17;
public static const gfx_particle_dust1 = 22;
public static const gfx_obstacle_snowman = 43;
public static const gfx_particle_dust3 = 24;
public static const gfx_particle_dust4 = 25;
public static const gfx_particle_dust5 = 26;
public static const gfx_particle_dust6 = 27;
public static const gfx_particle_dust2 = 23;
public static const gfx_uicar_2b = 64;
public static const gfx_obstacle_banana = 44;
public static const gfx_uicar_2a = 63;
public static const gfx_particle_red = 20;
public static const gfx_pickup1 = 30;
public static const gfx_startlight = 60;
public static const gfx_font1 = 90;
public static const gfx_font2 = 91;
public static const gfx_font3 = 92;
public static const gfx_backgroundsurface = 1;
public static const gfx_wall_collision = 66;
public static const gfx_obstacle_cone = 40;
public static const gfx_car_arrow = 16;
public static const gfx_car_pop = 14;
public static const gfx_carshadow = 2;
public static const gfx_background = 0;
public static const gfx_fontblack = 93;
public static const gfx_car1a = 11;
public static const gfx_car1 = 10;
public static const gfx_car2 = 12;
public static const gfx_choosecolor = 65;
static var count:int;
public static var stringCharBitmap:Bitmap;
public static var stringCharX:Number;
public static var stringCharY:Number;
static var graphicobjs:Array;
static var idList:Array;
static var main:Main;
public static function GetBitmap(_arg1:int, _arg2:int, _arg3:Boolean=false):Bitmap{
var _local4:int;
_local4 = idList[_arg1];
if (_arg3 == false){
return (graphicobjs[_local4].frames[_arg2].bitmaps[0]);
};
return (graphicobjs[_local4].frames[_arg2].bitmaps[1]);
}
public static function RenderStringAt(_arg1:BitmapData, _arg2:int, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Object, _arg7:Boolean=true){
var _local8:int;
var _local9:int;
stringCharX = _arg3;
stringCharY = _arg4;
_local8 = 0;
while (_local8 < _arg5.length) {
_local9 = int(_arg5.charCodeAt(_local8));
if (_local9 < 0){
_local9 = 0;
};
if (_local9 > 127){
_local9 = 127;
};
if (_arg7){
RenderAt(gfx_fontblack, _local9, _arg1, stringCharX, stringCharY);
};
RenderAt(_arg2, _local9, _arg1, stringCharX, stringCharY);
stringCharBitmap = GetBitmap(_arg2, _local9);
if (_arg6 != null){
_arg6();
} else {
stringCharX = (stringCharX + stringCharBitmap.width);
};
_local8++;
};
}
public static function RenderNumberAt(_arg1:BitmapData, _arg2:int, _arg3:Number, _arg4:Number, _arg5:int){
var _local6:Array;
var _local7:int;
var _local8:int;
var _local9:Boolean;
var _local10:int;
var _local11:int;
var _local12:Bitmap;
_local6 = new Array();
_local7 = _arg5;
_local8 = 0;
while (_local8 < 11) {
_local10 = (_local7 % 10);
_local6.push(_local10);
_local7 = (_local7 / 10);
_local8++;
};
_local9 = false;
_local8 = (_local6.length - 1);
while (_local8--) {
_local11 = _local6[_local8];
if ((((_local9 == false)) && (!((_local11 == 0))))){
_local9 = true;
};
if (_local9){
RenderAt(_arg2, (_local11 + 48), _arg1, _arg3, _arg4);
_local12 = GetBitmap(_arg2, (_local11 + 48));
_arg3 = (_arg3 + _local12.width);
};
(_local8 >= 0);
};
return (_arg3);
}
public static function GetWidth(_arg1:int, _arg2:int, _arg3:Boolean=false):int{
var _local4:int;
_local4 = idList[_arg1];
if (_arg3 == false){
return (graphicobjs[_local4].frames[_arg2].bitmaps[0].width);
};
return (graphicobjs[_local4].frames[_arg2].bitmaps[1].width);
}
public static function GetNumFrames(_arg1:int):int{
var _local2:int;
_local2 = idList[_arg1];
return (graphicobjs[_local2].frames.length);
}
public static function GetPixelAt(_arg1:int, _arg2:int, _arg3:int, _arg4:int):uint{
var _local5:int;
var _local6:Bitmap;
var _local7:uint;
_local5 = idList[_arg1];
_local6 = graphicobjs[_local5].frames[_arg2].bitmaps[0];
_local7 = _local6.bitmapData.getPixel32(_arg3, _arg4);
return (_local7);
}
public static function RenderAtAlpha(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number){
var _local7:int;
_local7 = idList[_arg1];
graphicobjs[_local7].frames[_arg2].RenderAtAlpha(_arg3, _arg4, _arg5, _arg6);
}
public static function AddFont(_arg1:int, _arg2:TextFormat):void{
var _local3:DisplayObj;
_local3 = new DisplayObj(null, 0, 0);
_local3.CreateFont(_arg2);
idList[_arg1] = count;
graphicobjs.push(_local3);
count++;
}
public static function RenderAtAdditive(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number){
var _local7:int;
_local7 = idList[_arg1];
graphicobjs[_local7].frames[_arg2].RenderAtAdditive(_arg3, _arg4, _arg5, _arg6);
}
public static function Add(_arg1:int, _arg2:DisplayObj):void{
idList[_arg1] = count;
graphicobjs.push(_arg2);
count++;
}
public static function RenderAt(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Boolean=false){
var _local7:int;
_local7 = idList[_arg1];
graphicobjs[_local7].frames[_arg2].RenderAt(_arg3, _arg4, _arg5, _arg6);
}
public static function RenderAtRot(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean){
var _local8:int;
_local8 = idList[_arg1];
if (_arg7){
graphicobjs[_local8].frames[_arg2].RenderAtRotBurned(_arg3, _arg4, _arg5, _arg6);
} else {
graphicobjs[_local8].frames[_arg2].RenderAtRot(_arg3, _arg4, _arg5, _arg6);
};
}
public static function Remove(_arg1:int):void{
var _local2:int;
var _local3:DisplayObj;
_local2 = idList[_arg1];
if (_local2 == -1){
return;
};
_local3 = graphicobjs[_local2];
_local3 = null;
graphicobjs[_local2] = null;
idList[_arg1] = -1;
}
public static function InitOnce(_arg1:Main):void{
var _local2:int;
var _local3:ColorTransform;
main = _arg1;
graphicobjs = new Array();
idList = new Array(100);
_local2 = 0;
while (_local2 < 100) {
idList[_local2] = -1;
_local2++;
};
count = 0;
AddFont(gfx_font1, main.tf_scorespr);
AddFont(gfx_font2, main.tf_scorespr1);
AddFont(gfx_font3, main.tf_scorespr2);
AddFont(gfx_fontblack, main.tf_scoresprblack);
Add(gfx_backgroundsurface, new DisplayObj(new BackgroundSurface(), 1, 0));
Add(gfx_car1, new DisplayObj(new Car1(), 1, 2));
Add(gfx_car1a, new DisplayObj(new Car1a(), 1, 2));
Add(gfx_car2, new DisplayObj(new Car2(), 1, 2));
Add(gfx_car2a, new DisplayObj(new Car2a(), 1, 2));
Add(gfx_car_pop, new DisplayObj(new CarPop(), 1, 2));
Add(gfx_car_skid, new DisplayObj(new CarSkidmark(), 1, 2));
Add(gfx_particle_red, new DisplayObj(new Particle_Red(), 1, 0));
_local3 = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
Add(gfx_particle_dust1, new DisplayObj(new Particle_Dust(), 1, 0, _local3));
_local3 = new ColorTransform(1, 1, 1, 1, (190 - 127), (160 - 127), (115 - 127), 0);
Add(gfx_particle_dust2, new DisplayObj(new Particle_Dust(), 1, 0, _local3));
_local3 = new ColorTransform(1, 1, 1, 1, (179 - 127), (187 - 127), (208 - 127), 0);
Add(gfx_particle_dust3, new DisplayObj(new Particle_Dust(), 1, 0, _local3));
_local3 = new ColorTransform(1, 1, 1, 1, (235 - 127), (235 - 127), (0xFF - 127), 0);
Add(gfx_particle_dust4, new DisplayObj(new Particle_Dust(), 1, 0, _local3));
_local3 = new ColorTransform(1, 1, 1, 1, (111 - 127), (88 - 127), (54 - 127), 0);
Add(gfx_particle_dust5, new DisplayObj(new Particle_Dust(), 1, 0, _local3));
_local3 = new ColorTransform(1, 1, 1, 1, (63 - 127), (60 - 127), (45 - 127), 0);
Add(gfx_particle_dust6, new DisplayObj(new Particle_Dust(), 1, 0, _local3));
Add(gfx_particle_explosion, new DisplayObj(new Particle_Explosion(), 1, 0));
Add(gfx_pickup1, new DisplayObj(new Pickup1(), 1, 0));
Add(gfx_carshadow, new DisplayObj(new CarShadow(), 1, 2));
Add(gfx_scorebar, new DisplayObj(new ScoreBar(), 1, 0));
Add(gfx_obstacle_cone_shadow, new DisplayObj(new ObstacleConeShadow(), 1, 2));
Add(gfx_obstacle_cone, new DisplayObj(new ObstacleCone(), 1, 0));
Add(gfx_obstacle_barrier, new DisplayObj(new ObstacleBarrier(), 1, 0));
Add(gfx_obstacle_snowman, new DisplayObj(new ObstacleSnowman(), 1, 0));
Add(gfx_obstacle_banana, new DisplayObj(new ObstacleBanana(), 1, 0));
Add(gfx_startlight, new DisplayObj(new StartLight(), 1, 0));
Add(gfx_uicar_1a, new DisplayObj(new TitleCar1A(), 1, 0));
Add(gfx_uicar_1b, new DisplayObj(new TitleCar1B(), 1, 0));
Add(gfx_uicar_2a, new DisplayObj(new TitleCar2A(), 1, 0));
Add(gfx_uicar_2b, new DisplayObj(new TitleCar2B(), 1, 0));
Add(gfx_choosecolor, new DisplayObj(new ChooseColor(), 1, 0));
Add(gfx_car_arrow, new DisplayObj(new Car_Arrow(), 1, 0));
Add(gfx_car_palette, new DisplayObj(new Car_Palette(), 1, 0));
Add(gfx_wall_collision, new DisplayObj(new WallCollision(), 1, 0));
Add(gfx_carcar_collision, new DisplayObj(new CarCarCollision(), 1, 0));
}
public static function GetHeight(_arg1:int, _arg2:int, _arg3:Boolean=false):int{
var _local4:int;
_local4 = idList[_arg1];
if (_arg3 == false){
return (graphicobjs[_local4].frames[_arg2].bitmaps[0].height);
};
return (graphicobjs[_local4].frames[_arg2].bitmaps[1].height);
}
}
}//package
Section 44
//HelpOverlay (HelpOverlay)
package {
import flash.display.*;
public class HelpOverlay {
static var currentType:String;
static var displayTimer:Number;
static var textQueue:Array;
static var displayedFlags:Array;
static var fps:Number;
static var overlayMC:MovieClip;
static var displayingFlag:Boolean;
static var allowHelpFlag:Boolean;
static var typeQueue:Array;
static var main:MovieClip;
public static function DisplayOnce(_arg1:int, _arg2:String, _arg3:String){
if (_arg1 >= 0x0100){
return;
};
if (displayedFlags[_arg1] == 0){
Display(_arg2, _arg3);
displayedFlags[_arg1] = 1;
};
}
public static function IsBeingDisplayed():Boolean{
return (displayingFlag);
}
public static function InitOnce(_arg1:MovieClip, _arg2:Number){
var _local3:int;
main = _arg1;
fps = _arg2;
displayingFlag = false;
displayTimer = 0;
overlayMC = null;
currentType = "";
allowHelpFlag = true;
typeQueue = new Array();
textQueue = new Array();
displayedFlags = new Array(0x0100);
_local3 = 0;
while (_local3 < 0x0100) {
displayedFlags[_local3] = 0;
_local3++;
};
}
static function AddToQueue(_arg1:String, _arg2:String){
if ((((allowHelpFlag == false)) && ((_arg1 == "standard")))){
return;
};
typeQueue.push(_arg1);
textQueue.push(_arg2);
}
static function RemoveMovieClip(_arg1:MovieClip):void{
main.removeChild(_arg1);
}
static function AddMovieClip(_arg1:Number, _arg2:Number, _arg3:MovieClip):MovieClip{
_arg3.x = _arg1;
_arg3.y = _arg2;
main.addChild(_arg3);
return (_arg3);
}
static function UpdateQueue():void{
var _local1:String;
var _local2:String;
var _local3:MovieClip;
if (displayingFlag == false){
if (typeQueue.length > 0){
_local1 = typeQueue.shift();
_local2 = textQueue.shift();
displayingFlag = true;
displayTimer = (fps * 4);
currentType = _local1;
if (_local1 == "standard"){
};
};
};
}
public static function Update(_arg1:Number){
UpdateQueue();
if (displayingFlag == true){
displayTimer = (displayTimer - _arg1);
if (displayTimer <= 0){
displayingFlag = false;
displayTimer = 0;
RemoveMovieClip(overlayMC);
overlayMC = null;
};
};
}
public static function Display(_arg1:String, _arg2:String){
if ((((allowHelpFlag == false)) && ((_arg1 == "standard")))){
return;
};
AddToQueue(_arg1, _arg2);
}
}
}//package
Section 45
//HelpScreen (HelpScreen)
package {
import flash.display.*;
public dynamic class HelpScreen extends MovieClip {
public var buttonKong:SimpleButton;
public var buttonOK:SimpleButton;
}
}//package
Section 46
//IMP_Barrel_Hit1 (IMP_Barrel_Hit1)
package {
import flash.media.*;
public dynamic class IMP_Barrel_Hit1 extends Sound {
}
}//package
Section 47
//IMP_Barrel_Hit2 (IMP_Barrel_Hit2)
package {
import flash.media.*;
public dynamic class IMP_Barrel_Hit2 extends Sound {
}
}//package
Section 48
//IMP_Barrier_Break (IMP_Barrier_Break)
package {
import flash.media.*;
public dynamic class IMP_Barrier_Break extends Sound {
}
}//package
Section 49
//IMP_ConeHit2 (IMP_ConeHit2)
package {
import flash.media.*;
public dynamic class IMP_ConeHit2 extends Sound {
}
}//package
Section 50
//IMP_ConeHit3 (IMP_ConeHit3)
package {
import flash.media.*;
public dynamic class IMP_ConeHit3 extends Sound {
}
}//package
Section 51
//IMP_Snowman (IMP_Snowman)
package {
import flash.media.*;
public dynamic class IMP_Snowman extends Sound {
}
}//package
Section 52
//IMP_Susp1 (IMP_Susp1)
package {
import flash.media.*;
public dynamic class IMP_Susp1 extends Sound {
}
}//package
Section 53
//IMP_Susp2 (IMP_Susp2)
package {
import flash.media.*;
public dynamic class IMP_Susp2 extends Sound {
}
}//package
Section 54
//KeyReader (KeyReader)
package {
import flash.events.*;
import flash.display.*;
public class KeyReader {
static const KEY_LEFT = 37;
static const KEY_UP = 38;
static const KEY_DOWN = 40;
static const KEY_3 = 51;
static const KEY_5 = 53;
static const KEY_7 = 55;
static const KEY_1 = 49;
static const KEY_2 = 50;
static const KEY_4 = 52;
static const KEY_6 = 54;
static const KEY_8 = 56;
static const KEY_9 = 57;
static const KEY_A = 65;
static const KEY_B = 66;
static const KEY_C = 67;
static const KEY_E = 69;
static const KEY_F = 70;
static const KEY_G = 71;
static const KEY_H = 72;
static const KEY_I = 73;
static const KEY_J = 74;
static const KEY_D = 68;
static const KEY_M = 77;
static const KEY_N = 78;
static const KEY_O = 79;
static const KEY_P = 80;
static const KEY_Q = 81;
static const KEY_R = 82;
static const KEY_L = 76;
static const KEY_T = 84;
static const KEY_U = 85;
static const KEY_V = 86;
static const KEY_W = 87;
static const KEY_X = 88;
static const KEY_Y = 89;
static const KEY_K = 75;
static const KEY_0 = 58;
static const KEY_Z = 90;
static const KEY_S = 83;
static const KEY_SPACE = 32;
static const KEY_RIGHT = 39;
static var keysPressed:Array;
static var keysDown:Array;
public static function Pressed(_arg1:int):Boolean{
return (keysPressed[_arg1]);
}
static function keyUpListener(_arg1:KeyboardEvent):void{
var _local2:int;
_local2 = _arg1.keyCode;
keysDown[_local2] = 0;
}
public static function Down(_arg1:int):Boolean{
return (!((keysDown[_arg1] == 0)));
}
static function keyDownListener(_arg1:KeyboardEvent):void{
var _local2:int;
_local2 = _arg1.keyCode;
var _local3 = keysDown;
var _local4 = _local2;
var _local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
}
public static function UpdateOncePerFrame():void{
var _local1:int;
_local1 = 0;
while (_local1 < 0x0100) {
if (keysDown[_local1] == 1){
keysPressed[_local1] = true;
var _local2 = keysDown;
var _local3 = _local1;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
} else {
keysPressed[_local1] = false;
};
_local1++;
};
}
public static function InitOnce(_arg1:Stage){
var _local2:int;
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyUpListener);
_arg1.focus = _arg1;
keysDown = new Array(0x0100);
keysPressed = new Array(0x0100);
_local2 = 0;
while (_local2 < 0x0100) {
keysDown[_local2] = int(0);
keysPressed[_local2] = Boolean(false);
_local2++;
};
}
}
}//package
Section 55
//Kong (Kong)
package {
import flash.net.*;
import flash.display.*;
import flash.events.*;
public class Kong {
static var root:Object;
static var kongregate;
public static function InitOnce(_arg1:Object){
var _local2:Object;
var _local3:Object;
var _local4:String;
var _local5:URLRequest;
var _local6:Loader;
Game.kongmessage = "V8";
if (Licensors.IsAtKongregate() == false){
return;
};
root = _arg1;
_local2 = root.loaderInfo.loader;
_local3 = LoaderInfo(_local2.loaderInfo).parameters;
_local4 = ((_local3.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf"));
trace(("API path: " + _local4));
_local5 = new URLRequest(_local4);
_local6 = new Loader();
_local6.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
_local6.load(_local5);
root.addChild(_local6);
}
public static function SubmitScore(_arg1:Number, _arg2:String){
if (Licensors.IsAtKongregate() == false){
return;
};
kongregate.scores.submit(_arg1, _arg2);
}
public static function SubmitStat(_arg1:Number, _arg2:String){
if (Licensors.IsAtKongregate() == false){
return;
};
kongregate.stats.submit(_arg2, _arg1);
}
static function loadComplete(_arg1:Event):void{
kongregate = _arg1.target.content;
kongregate.services.connect();
Game.kongmessage = "K8";
trace(("\n" + kongregate.services));
trace(("\n" + kongregate.user));
trace(("\n" + kongregate.scores));
trace(("\n" + kongregate.stats));
}
}
}//package
Section 56
//LevelDef_Level2 (LevelDef_Level2)
package {
public class LevelDef_Level2 {
public static function Init(){
SetupScript.LineStart("Jump", 1267, 1257, 2, "Zone", "", "", "");
SetupScript.LineAdd(1334, 1257, 2);
SetupScript.LineAdd(1342, 1386, 2);
SetupScript.LineAdd(1263, 1386, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2199, 811, 2, "Zone", "", "", "");
SetupScript.LineAdd(2345, 812, 2);
SetupScript.LineAdd(2352, 885, 2);
SetupScript.LineAdd(2197, 879, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1017, 1256, 2, "Zone", "", "", "");
SetupScript.LineAdd(1084, 1256, 2);
SetupScript.LineAdd(1092, 1385, 2);
SetupScript.LineAdd(1013, 1385, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1082, 609, 2, "Zone", "", "", "");
SetupScript.LineAdd(1151, 565, 2);
SetupScript.LineAdd(1321, 726, 2);
SetupScript.LineAdd(1259, 0x0300, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 41, 772, 7, "Checkpoint", "", "0", "");
SetupScript.LineAdd(479, 775, 7);
SetupScript.LineAdd(482, 818, 7);
SetupScript.LineAdd(38, 817, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 674, 1064, 7, "Checkpoint", "", "6", "");
SetupScript.LineAdd(1132, 848, 7);
SetupScript.LineAdd(1137, 878, 7);
SetupScript.LineAdd(706, 1127, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1999, 218, 7, "Checkpoint", "", "9", "");
SetupScript.LineAdd(2055, 214, 7);
SetupScript.LineAdd(2045, 563, 7);
SetupScript.LineAdd(2002, 564, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1576, 1137, 7, "Checkpoint", "", "13", "");
SetupScript.LineAdd(1556, 1452, 7);
SetupScript.LineAdd(1514, 1464, 7);
SetupScript.LineAdd(1527, 1140, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 166, 1478, 7, "Checkpoint", "", "15", "");
SetupScript.LineAdd(450, 1221, 7);
SetupScript.LineAdd(503, 1256, 7);
SetupScript.LineAdd(219, 1503, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 50, 1022, 7, "Checkpoint", "", "16", "");
SetupScript.LineAdd(472, 1022, 7);
SetupScript.LineAdd(496, 1064, 7);
SetupScript.LineAdd(51, 1062, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2574, 426, 0, "Collision", "", "", "");
SetupScript.LineAdd(2439, 529, 0);
SetupScript.LineAdd(2433, 418, 0);
SetupScript.LineAdd(2258, 294, 0);
SetupScript.LineAdd(2105, 274, 0);
SetupScript.LineAdd(1972, 278, 0);
SetupScript.LineAdd(1911, 289, 0);
SetupScript.LineAdd(1776, 293, 0);
SetupScript.LineAdd(1710, 344, 0);
SetupScript.LineAdd(1658, 379, 0);
SetupScript.LineAdd(1643, 535, 0);
SetupScript.LineAdd(1633, 567, 0);
SetupScript.LineAdd(1591, 589, 0);
SetupScript.LineAdd(1464, 667, 0);
SetupScript.LineAdd(1258, 800, 0);
SetupScript.LineAdd(1122, 896, 0);
SetupScript.LineAdd(1108, 895, 0);
SetupScript.LineAdd(1097, 886, 0);
SetupScript.LineAdd(1108, 851, 0);
SetupScript.LineAdd(1235.54, 770.8934, 0);
SetupScript.LineAdd(1381, 686, 0);
SetupScript.LineAdd(1486, 609, 0);
SetupScript.LineAdd(1529, 521, 0);
SetupScript.LineAdd(1527, 456, 0);
SetupScript.LineAdd(1531, 274, 0);
SetupScript.LineAdd(1505, 209, 0);
SetupScript.LineAdd(1481, 174, 0);
SetupScript.LineAdd(1414.9, 133.1829, 0);
SetupScript.LineAdd(1348, 107, 0);
SetupScript.LineAdd(1218, 86, 0);
SetupScript.LineAdd(992, 84, 0);
SetupScript.LineAdd(818, 87, 0);
SetupScript.LineAdd(639, 91, 0);
SetupScript.LineAdd(462, 104, 0);
SetupScript.LineAdd(333, 124, 0);
SetupScript.LineAdd(247, 164, 0);
SetupScript.LineAdd(196, 204, 0);
SetupScript.LineAdd(139, 253, 0);
SetupScript.LineAdd(105, 313, 0);
SetupScript.LineAdd(95, 379, 0);
SetupScript.LineAdd(-57, 435, 0);
SetupScript.LineAdd(-47, -51, 0);
SetupScript.LineAdd(2582, -47, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2441, 527, 0, "Collision", "", "", "");
SetupScript.LineAdd(2571, 504, 0);
SetupScript.LineAdd(2590, 1683, 0);
SetupScript.LineAdd(1797, 1677, 0);
SetupScript.LineAdd(1790, 1425, 0);
SetupScript.LineAdd(1915, 1387, 0);
SetupScript.LineAdd(1998, 1328, 0);
SetupScript.LineAdd(2200, 1321, 0);
SetupScript.LineAdd(2255.947, 1307.844, 0);
SetupScript.LineAdd(2343, 1264, 0);
SetupScript.LineAdd(2408.47, 1235.781, 0);
SetupScript.LineAdd(2436, 1203, 0);
SetupScript.LineAdd(2476, 1100, 0);
SetupScript.LineAdd(2472, 841, 0);
SetupScript.LineAdd(2449.256, 799.865, 0);
SetupScript.LineAdd(2443, 786, 0);
SetupScript.LineAdd(2447.74, 773.8093, 0);
SetupScript.LineAdd(2476, 741, 0);
SetupScript.LineAdd(2475, 652, 0);
SetupScript.LineAdd(2477.603, 579.8286, 0);
SetupScript.LineAdd(2440, 541, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1791, 1424, 0, "Collision", "", "", "");
SetupScript.LineAdd(0x0700, 1678, 0);
SetupScript.LineAdd(-45, 1674, 0);
SetupScript.LineAdd(-45, 1312, 0);
SetupScript.LineAdd(111, 1368, 0);
SetupScript.LineAdd(295, 1497, 0);
SetupScript.LineAdd(357, 1548, 0);
SetupScript.LineAdd(409, 1560, 0);
SetupScript.LineAdd(464, 1538, 0);
SetupScript.LineAdd(555, 1519, 0);
SetupScript.LineAdd(651, 1526, 0);
SetupScript.LineAdd(733, 1498, 0);
SetupScript.LineAdd(839, 1464, 0);
SetupScript.LineAdd(938, 1433, 0);
SetupScript.LineAdd(1033.031, 1447.933, 0);
SetupScript.LineAdd(1167.956, 1439.742, 0);
SetupScript.LineAdd(1189, 1448, 0);
SetupScript.LineAdd(1238, 1458, 0);
SetupScript.LineAdd(1291, 1447, 0);
SetupScript.LineAdd(1324, 1426, 0);
SetupScript.LineAdd(1350, 1432, 0);
SetupScript.LineAdd(1379, 1447, 0);
SetupScript.LineAdd(1462.648, 1449.246, 0);
SetupScript.LineAdd(1496, 1451, 0);
SetupScript.LineAdd(1526, 1438, 0);
SetupScript.LineAdd(1584, 1407, 0);
SetupScript.LineAdd(1637, 1408, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", -69, 421, 0, "Collision", "", "", "");
SetupScript.LineAdd(94, 379, 0);
SetupScript.LineAdd(103, 445, 0);
SetupScript.LineAdd(106, 528, 0);
SetupScript.LineAdd(122, 579, 0);
SetupScript.LineAdd(123, 832, 0);
SetupScript.LineAdd(110, 872, 0);
SetupScript.LineAdd(109, 907, 0);
SetupScript.LineAdd(119, 940, 0);
SetupScript.LineAdd(130, 977, 0);
SetupScript.LineAdd(123, 1040, 0);
SetupScript.LineAdd(102, 1077, 0);
SetupScript.LineAdd(102, 1353, 0);
SetupScript.LineAdd(115, 1378, 0);
SetupScript.LineAdd(-70, 1386, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 507, 344, 0, "Collision", "", "", "");
SetupScript.LineAdd(569, 329, 0);
SetupScript.LineAdd(776, 330, 0);
SetupScript.LineAdd(873, 321, 0);
SetupScript.LineAdd(981, 320, 0);
SetupScript.LineAdd(1070, 317, 0);
SetupScript.LineAdd(1121, 328, 0);
SetupScript.LineAdd(1152, 347, 0);
SetupScript.LineAdd(1219, 382, 0);
SetupScript.LineAdd(1237, 402, 0);
SetupScript.LineAdd(1239, 422, 0);
SetupScript.LineAdd(1217, 473, 0);
SetupScript.LineAdd(1196, 555, 0);
SetupScript.LineAdd(1100, 604, 0);
SetupScript.LineAdd(876, 754, 0);
SetupScript.LineAdd(777, 790, 0);
SetupScript.LineAdd(717, 849, 0);
SetupScript.LineAdd(710, 949, 0);
SetupScript.LineAdd(711, 1000, 0);
SetupScript.LineAdd(730, 1011, 0);
SetupScript.LineAdd(766, 1011, 0);
SetupScript.LineAdd(796, 1014, 0);
SetupScript.LineAdd(876, 1078, 0);
SetupScript.LineAdd(929, 1098, 0);
SetupScript.LineAdd(920, 1213, 0);
SetupScript.LineAdd(767, 1233, 0);
SetupScript.LineAdd(699, 1270, 0);
SetupScript.LineAdd(647, 1287, 0);
SetupScript.LineAdd(563, 1291, 0);
SetupScript.LineAdd(508, 1291, 0);
SetupScript.LineAdd(457, 1276, 0);
SetupScript.LineAdd(443, 1260, 0);
SetupScript.LineAdd(434, 1213, 0);
SetupScript.LineAdd(442, 1150, 0);
SetupScript.LineAdd(467, 1045, 0);
SetupScript.LineAdd(443, 993, 0);
SetupScript.LineAdd(447, 899, 0);
SetupScript.LineAdd(461, 869, 0);
SetupScript.LineAdd(461, 790, 0);
SetupScript.LineAdd(444, 752, 0);
SetupScript.LineAdd(447, 593, 0);
SetupScript.LineAdd(451, 540, 0);
SetupScript.LineAdd(447, 447, 0);
SetupScript.LineAdd(464, 388, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 929, 1099, 0, "Collision", "", "", "");
SetupScript.LineAdd(1053, 1120, 0);
SetupScript.LineAdd(1130, 1124, 0);
SetupScript.LineAdd(1207, 1105, 0);
SetupScript.LineAdd(1297, 1039, 0);
SetupScript.LineAdd(1373, 1000, 0);
SetupScript.LineAdd(1454, 939, 0);
SetupScript.LineAdd(1586, 866, 0);
SetupScript.LineAdd(1639, 830, 0);
SetupScript.LineAdd(1696, 783, 0);
SetupScript.LineAdd(1762, 739, 0);
SetupScript.LineAdd(1826, 691, 0);
SetupScript.LineAdd(1880, 650, 0);
SetupScript.LineAdd(1909, 618, 0);
SetupScript.LineAdd(1925, 553, 0);
SetupScript.LineAdd(1937, 521, 0);
SetupScript.LineAdd(1964, 503, 0);
SetupScript.LineAdd(2017, 499, 0);
SetupScript.LineAdd(2046, 500, 0);
SetupScript.LineAdd(2080, 510, 0);
SetupScript.LineAdd(2126, 540, 0);
SetupScript.LineAdd(2144, 582, 0);
SetupScript.LineAdd(2144, 731, 0);
SetupScript.LineAdd(2140, 852, 0);
SetupScript.LineAdd(2149, 978, 0);
SetupScript.LineAdd(2138, 1030, 0);
SetupScript.LineAdd(2126, 1100, 0);
SetupScript.LineAdd(2112, 1118, 0);
SetupScript.LineAdd(2093, 1125, 0);
SetupScript.LineAdd(1975, 1123, 0);
SetupScript.LineAdd(1893, 1126, 0);
SetupScript.LineAdd(1865, 1150, 0);
SetupScript.LineAdd(1742, 1204, 0);
SetupScript.LineAdd(1701, 1228, 0);
SetupScript.LineAdd(1669, 1228, 0);
SetupScript.LineAdd(1611, 1205, 0);
SetupScript.LineAdd(1578, 1217, 0);
SetupScript.LineAdd(1538, 1236, 0);
SetupScript.LineAdd(1516, 1238, 0);
SetupScript.LineAdd(1442, 1223, 0);
SetupScript.LineAdd(1386, 1226, 0);
SetupScript.LineAdd(1347, 1237, 0);
SetupScript.LineAdd(1269, 1232, 0);
SetupScript.LineAdd(1179, 1217, 0);
SetupScript.LineAdd(1106, 1204, 0);
SetupScript.LineAdd(913, 1211, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 261, 844, 3, "Path", "", "", "");
SetupScript.LineAdd(282, 379, 3);
SetupScript.LineAdd(621, 187, 3);
SetupScript.LineAdd(1234, 208, 3);
SetupScript.LineAdd(1377, 418, 3);
SetupScript.LineAdd(1128, 633, 3);
SetupScript.LineAdd(896, 837, 3);
SetupScript.LineAdd(1027, 1000, 3);
SetupScript.LineAdd(1322, 950, 3);
SetupScript.LineAdd(1673, 643, 3);
SetupScript.LineAdd(1786, 456, 3);
SetupScript.LineAdd(2167, 445, 3);
SetupScript.LineAdd(2290, 662, 3);
SetupScript.LineAdd(2265, 1121, 3);
SetupScript.LineAdd(2042, 1225, 3);
SetupScript.LineAdd(1713, 1314, 3);
SetupScript.LineAdd(925, 1347, 3);
SetupScript.LineAdd(588, 1436, 3);
SetupScript.LineAdd(328, 1327, 3);
SetupScript.LineAdd(261, 1146, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 335, 845, 3, "Path", "", "", "");
SetupScript.LineAdd(358, 438, 3);
SetupScript.LineAdd(539, 285, 3);
SetupScript.LineAdd(1086, 262, 3);
SetupScript.LineAdd(1246, 379, 3);
SetupScript.LineAdd(1194, 600, 3);
SetupScript.LineAdd(974, 848, 3);
SetupScript.LineAdd(1061, 953, 3);
SetupScript.LineAdd(0x0505, 862, 3);
SetupScript.LineAdd(1857, 515, 3);
SetupScript.LineAdd(2137, 492, 3);
SetupScript.LineAdd(2194, 642, 3);
SetupScript.LineAdd(2177, 1105, 3);
SetupScript.LineAdd(1933, 1226, 3);
SetupScript.LineAdd(1384, 1274, 3);
SetupScript.LineAdd(908, 1303, 3);
SetupScript.LineAdd(580, 1382, 3);
SetupScript.LineAdd(419, 1300, 3);
SetupScript.LineAdd(335, 1111, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 302, 845, 3, "Path", "", "", "");
SetupScript.LineAdd(313, 424, 3);
SetupScript.LineAdd(413, 249, 3);
SetupScript.LineAdd(700, 208, 3);
SetupScript.LineAdd(1272, 233, 3);
SetupScript.LineAdd(1383, 399, 3);
SetupScript.LineAdd(1277, 609, 3);
SetupScript.LineAdd(989, 774, 3);
SetupScript.LineAdd(1094, 932, 3);
SetupScript.LineAdd(1344, 873, 3);
SetupScript.LineAdd(1755, 540, 3);
SetupScript.LineAdd(1953, 441, 3);
SetupScript.LineAdd(2186, 0x0202, 3);
SetupScript.LineAdd(2240, 805, 3);
SetupScript.LineAdd(2205, 1085, 3);
SetupScript.LineAdd(2093, 1252, 3);
SetupScript.LineAdd(1780, 1327, 3);
SetupScript.LineAdd(1356, 1358, 3);
SetupScript.LineAdd(998, 1363, 3);
SetupScript.LineAdd(654, 1449, 3);
SetupScript.LineAdd(406, 1453, 3);
SetupScript.LineAdd(291, 1302, 3);
SetupScript.LineAdd(294, 1052, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 62, 453, 7, "Checkpoint", "", "1", "");
SetupScript.LineAdd(487, 469, 7);
SetupScript.LineAdd(492, 513, 7);
SetupScript.LineAdd(64, 488, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 597, 39, 7, "Checkpoint", "", "2", "");
SetupScript.LineAdd(651, 368, 7);
SetupScript.LineAdd(613, 369, 7);
SetupScript.LineAdd(559, 56, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1073, 50, 7, "Checkpoint", "", "3", "");
SetupScript.LineAdd(1055, 372, 7);
SetupScript.LineAdd(1018, 375, 7);
SetupScript.LineAdd(1035, 54, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1171, 413, 7, "Checkpoint", "", "4", "");
SetupScript.LineAdd(1561, 416, 7);
SetupScript.LineAdd(1556, 457, 7);
SetupScript.LineAdd(1177, 444, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1034, 587, 7, "Checkpoint", "", "5", "");
SetupScript.LineAdd(1246, 805, 7);
SetupScript.LineAdd(1208, 825, 7);
SetupScript.LineAdd(1004, 621, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 0x0500, 0x0300, 7, "Checkpoint", "", "7", "");
SetupScript.LineAdd(1438, 986, 7);
SetupScript.LineAdd(1408, 1006, 7);
SetupScript.LineAdd(1258, 785, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1582, 562, 7, "Checkpoint", "", "8", "");
SetupScript.LineAdd(1775, 0x0300, 7);
SetupScript.LineAdd(1742, 782, 7);
SetupScript.LineAdd(1560, 585, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2103, 619, 7, "Checkpoint", "", "10", "");
SetupScript.LineAdd(2509, 587, 7);
SetupScript.LineAdd(2509, 634, 7);
SetupScript.LineAdd(2100, 656, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2092, 938, 7, "Checkpoint", "", "11", "");
SetupScript.LineAdd(2504, 955, 7);
SetupScript.LineAdd(2503, 991, 7);
SetupScript.LineAdd(2103, 969, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2054, 1087, 7, "Checkpoint", "", "12", "");
SetupScript.LineAdd(2122, 1360, 7);
SetupScript.LineAdd(2073, 1360, 7);
SetupScript.LineAdd(2013, 1100, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 922, 1185, 7, "Checkpoint", "", "14", "");
SetupScript.LineAdd(965, 1182, 7);
SetupScript.LineAdd(978, 1467, 7);
SetupScript.LineAdd(938, 1470, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 217, 841, 3, "Path", "", "", "");
SetupScript.LineAdd(238, 488, 3);
SetupScript.LineAdd(442, 325, 3);
SetupScript.LineAdd(914, 217, 3);
SetupScript.LineAdd(1273, 247, 3);
SetupScript.LineAdd(1305, 401, 3);
SetupScript.LineAdd(1189, 656, 3);
SetupScript.LineAdd(1004, 876, 3);
SetupScript.LineAdd(1102, 958, 3);
SetupScript.LineAdd(1338, 900, 3);
SetupScript.LineAdd(1702, 651, 3);
SetupScript.LineAdd(1938, 418, 3);
SetupScript.LineAdd(2166, 466, 3);
SetupScript.LineAdd(2245, 700, 3);
SetupScript.LineAdd(2247, 1058, 3);
SetupScript.LineAdd(2112, 1180, 3);
SetupScript.LineAdd(1889, 1311, 3);
SetupScript.LineAdd(1463, 1346, 3);
SetupScript.LineAdd(1064, 1322, 3);
SetupScript.LineAdd(689, 1384, 3);
SetupScript.LineAdd(409, 1392, 3);
SetupScript.LineAdd(230, 1148, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("SwapPath", 1313, 756, 2, "Zone", "", "", "");
SetupScript.LineAdd(1479, 936, 2);
SetupScript.LineAdd(1324, 1058, 2);
SetupScript.LineAdd(1180, 838, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("SwapPath", 2155, 0x0404, 2, "Zone", "", "", "");
SetupScript.LineAdd(0x0900, 1045, 2);
SetupScript.LineAdd(2299, 1164, 2);
SetupScript.LineAdd(2147, 1126, 2);
SetupScript.LineEnd(true);
SetupScript.AddObject("Undefined", 218, 1083, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 319, 1080, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 360, 1079, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 258, 1132, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 310, 1127, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 353, 1130, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 214, 1125, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 268, 1082, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 215, 1160, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 262, 1161, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 307, 1164, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 360, 1169, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 363, 1205, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 308, 1200, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 267, 1201, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 219, 1199, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 215, 1240, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 269, 1238, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 312, 1239, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 361, 1237, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 361, 1267, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 315, 1269, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 259, 1274, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 214, 1276, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 223, 1312, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 268, 1308, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 318, 1303, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 362, 1305, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 363, 1338, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 319, 1337, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 268, 1338, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 223, 1343, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 138, 497, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 886, 108, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 473, 327, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1190, 336, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 741, 912, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1670, 424, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2442, 625, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2137, 1069, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2278, 1275, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1611, 1236, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1407, 1418, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 883, 1435, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 386, 1534, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 133, 1217, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 202, 335, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 209, 279, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 233, 248, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 269, 208, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 324, 184, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 376, 167, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 419, 429, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 418, 384, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 424, 346, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 450, 314, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 487, 296, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 539, 287, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 591, 292, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1277, 137, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1321, 143, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1360, 159, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1393, 175, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1434, 197, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1453, 216, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1475, 249, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 990, 795, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 963, 829, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 946, 860, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 946, 884, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 948, 916, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 967, 947, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1000, 970, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1033, 981, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1078, 985, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1118, 976, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1161, 959, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1200, 940, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1457, 870, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1489, 837, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1506, 805, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1526, 770, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1541, 729, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1551, 676, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2115, 332, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2165, 339, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2198, 339, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2232, 362, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2278, 376, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2307, 397, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2332, 416, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2359, 446, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1882, 505, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1919, 476, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1957, 455, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2025, 452, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2070, 455, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2108, 482, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2153, 530, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2391, 846, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2413, 881, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2422, 927, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2429, 980, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2424, 1014, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2406, 1061, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1936, 1318, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1911, 1342, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1873, 1358, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1842, 1367, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1790, 1371, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 758, 1291, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 716, 1295, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 678, 1318, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 649, 1337, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 618, 1364, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 529, 1345, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 494, 1341, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 458, 1322, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 438, 1303, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 712, 137, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 769, 139, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 838, 143, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 908, 141, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 979, 144, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1048, 143, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 899, 1064, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 966, 1084, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 1047, 1088, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 1125, 1080, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 2178, 690, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2208, 705, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2258, 726, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2305, 737, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2347, 753, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1990, 1148, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1992, 1178, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2003, 1213, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2010, 1250, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2023, 1287, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1161, 1233, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1095, 1235, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1006, 1240, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 940, 1241, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 846, 1243, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1163, 1102, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 493, 1310, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 439, 827, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1062, 899, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1969, 481, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 438, 1046, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 144, 887, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1039, 1227, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2169, 323, "PickupGen", "obj", "", 0, 0, 0, 0);
}
}
}//package
Section 57
//LevelDef_Level2a (LevelDef_Level2a)
package {
public class LevelDef_Level2a {
public static function Init(){
SetupScript.LineStart("Jump", 1267, 1257, 2, "Zone", "", "", "");
SetupScript.LineAdd(1334, 1257, 2);
SetupScript.LineAdd(1342, 1386, 2);
SetupScript.LineAdd(1263, 1386, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2199, 811, 2, "Zone", "", "", "");
SetupScript.LineAdd(2345, 812, 2);
SetupScript.LineAdd(2352, 885, 2);
SetupScript.LineAdd(2197, 879, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1017, 1256, 2, "Zone", "", "", "");
SetupScript.LineAdd(1084, 1256, 2);
SetupScript.LineAdd(1092, 1385, 2);
SetupScript.LineAdd(1013, 1385, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1082, 609, 2, "Zone", "", "", "");
SetupScript.LineAdd(1151, 565, 2);
SetupScript.LineAdd(1321, 726, 2);
SetupScript.LineAdd(1259, 0x0300, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 41, 772, 7, "Checkpoint", "", "15", "");
SetupScript.LineAdd(479, 775, 7);
SetupScript.LineAdd(482, 818, 7);
SetupScript.LineAdd(38, 817, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 674, 1064, 7, "Checkpoint", "", "9", "");
SetupScript.LineAdd(1132, 848, 7);
SetupScript.LineAdd(1137, 878, 7);
SetupScript.LineAdd(706, 1127, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1999, 218, 7, "Checkpoint", "", "6", "");
SetupScript.LineAdd(2055, 214, 7);
SetupScript.LineAdd(2045, 563, 7);
SetupScript.LineAdd(2002, 564, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1576, 1137, 7, "Checkpoint", "", "2", "");
SetupScript.LineAdd(1556, 1452, 7);
SetupScript.LineAdd(1514, 1464, 7);
SetupScript.LineAdd(1527, 1140, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 166, 1478, 7, "Checkpoint", "", "0", "");
SetupScript.LineAdd(450, 1221, 7);
SetupScript.LineAdd(503, 1256, 7);
SetupScript.LineAdd(219, 1503, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 50, 1022, 7, "Checkpoint", "", "16", "");
SetupScript.LineAdd(472, 1022, 7);
SetupScript.LineAdd(496, 1064, 7);
SetupScript.LineAdd(51, 1062, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2574, 426, 0, "Collision", "", "", "");
SetupScript.LineAdd(2439, 529, 0);
SetupScript.LineAdd(2433, 418, 0);
SetupScript.LineAdd(2258, 294, 0);
SetupScript.LineAdd(2105, 274, 0);
SetupScript.LineAdd(1972, 278, 0);
SetupScript.LineAdd(1911, 289, 0);
SetupScript.LineAdd(1776, 293, 0);
SetupScript.LineAdd(1710, 344, 0);
SetupScript.LineAdd(1658, 379, 0);
SetupScript.LineAdd(1643, 535, 0);
SetupScript.LineAdd(1633, 567, 0);
SetupScript.LineAdd(1591, 589, 0);
SetupScript.LineAdd(1464, 667, 0);
SetupScript.LineAdd(1258, 800, 0);
SetupScript.LineAdd(1122, 896, 0);
SetupScript.LineAdd(1108, 895, 0);
SetupScript.LineAdd(1097, 886, 0);
SetupScript.LineAdd(1108, 851, 0);
SetupScript.LineAdd(1235.54, 770.8934, 0);
SetupScript.LineAdd(1381, 686, 0);
SetupScript.LineAdd(1486, 609, 0);
SetupScript.LineAdd(1529, 521, 0);
SetupScript.LineAdd(1527, 456, 0);
SetupScript.LineAdd(1531, 274, 0);
SetupScript.LineAdd(1505, 209, 0);
SetupScript.LineAdd(1481, 174, 0);
SetupScript.LineAdd(1414.9, 133.1829, 0);
SetupScript.LineAdd(1348, 107, 0);
SetupScript.LineAdd(1218, 86, 0);
SetupScript.LineAdd(992, 84, 0);
SetupScript.LineAdd(818, 87, 0);
SetupScript.LineAdd(639, 91, 0);
SetupScript.LineAdd(462, 104, 0);
SetupScript.LineAdd(333, 124, 0);
SetupScript.LineAdd(247, 164, 0);
SetupScript.LineAdd(196, 204, 0);
SetupScript.LineAdd(139, 253, 0);
SetupScript.LineAdd(105, 313, 0);
SetupScript.LineAdd(95, 379, 0);
SetupScript.LineAdd(-57, 435, 0);
SetupScript.LineAdd(-47, -51, 0);
SetupScript.LineAdd(2582, -47, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2441, 527, 0, "Collision", "", "", "");
SetupScript.LineAdd(2571, 504, 0);
SetupScript.LineAdd(2590, 1683, 0);
SetupScript.LineAdd(1797, 1677, 0);
SetupScript.LineAdd(1790, 1425, 0);
SetupScript.LineAdd(1915, 1387, 0);
SetupScript.LineAdd(1998, 1328, 0);
SetupScript.LineAdd(2200, 1321, 0);
SetupScript.LineAdd(2255.947, 1307.844, 0);
SetupScript.LineAdd(2343, 1264, 0);
SetupScript.LineAdd(2408.47, 1235.781, 0);
SetupScript.LineAdd(2436, 1203, 0);
SetupScript.LineAdd(2476, 1100, 0);
SetupScript.LineAdd(2472, 841, 0);
SetupScript.LineAdd(2449.256, 799.865, 0);
SetupScript.LineAdd(2443, 786, 0);
SetupScript.LineAdd(2447.74, 773.8093, 0);
SetupScript.LineAdd(2476, 741, 0);
SetupScript.LineAdd(2475, 652, 0);
SetupScript.LineAdd(2477.603, 579.8286, 0);
SetupScript.LineAdd(2440, 541, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1791, 1424, 0, "Collision", "", "", "");
SetupScript.LineAdd(0x0700, 1678, 0);
SetupScript.LineAdd(-45, 1674, 0);
SetupScript.LineAdd(-45, 1312, 0);
SetupScript.LineAdd(111, 1368, 0);
SetupScript.LineAdd(295, 1497, 0);
SetupScript.LineAdd(357, 1548, 0);
SetupScript.LineAdd(409, 1560, 0);
SetupScript.LineAdd(464, 1538, 0);
SetupScript.LineAdd(555, 1519, 0);
SetupScript.LineAdd(651, 1526, 0);
SetupScript.LineAdd(733, 1498, 0);
SetupScript.LineAdd(839, 1464, 0);
SetupScript.LineAdd(938, 1433, 0);
SetupScript.LineAdd(1033.031, 1447.933, 0);
SetupScript.LineAdd(1167.956, 1439.742, 0);
SetupScript.LineAdd(1189, 1448, 0);
SetupScript.LineAdd(1238, 1458, 0);
SetupScript.LineAdd(1291, 1447, 0);
SetupScript.LineAdd(1324, 1426, 0);
SetupScript.LineAdd(1350, 1432, 0);
SetupScript.LineAdd(1379, 1447, 0);
SetupScript.LineAdd(1462.648, 1449.246, 0);
SetupScript.LineAdd(1496, 1451, 0);
SetupScript.LineAdd(1526, 1438, 0);
SetupScript.LineAdd(1584, 1407, 0);
SetupScript.LineAdd(1637, 1408, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", -69, 421, 0, "Collision", "", "", "");
SetupScript.LineAdd(94, 379, 0);
SetupScript.LineAdd(103, 445, 0);
SetupScript.LineAdd(106, 528, 0);
SetupScript.LineAdd(122, 579, 0);
SetupScript.LineAdd(123, 832, 0);
SetupScript.LineAdd(110, 872, 0);
SetupScript.LineAdd(109, 907, 0);
SetupScript.LineAdd(119, 940, 0);
SetupScript.LineAdd(130, 977, 0);
SetupScript.LineAdd(123, 1040, 0);
SetupScript.LineAdd(102, 1077, 0);
SetupScript.LineAdd(102, 1353, 0);
SetupScript.LineAdd(115, 1378, 0);
SetupScript.LineAdd(-70, 1386, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 507, 344, 0, "Collision", "", "", "");
SetupScript.LineAdd(569, 329, 0);
SetupScript.LineAdd(776, 330, 0);
SetupScript.LineAdd(873, 321, 0);
SetupScript.LineAdd(981, 320, 0);
SetupScript.LineAdd(1070, 317, 0);
SetupScript.LineAdd(1121, 328, 0);
SetupScript.LineAdd(1152, 347, 0);
SetupScript.LineAdd(1219, 382, 0);
SetupScript.LineAdd(1237, 402, 0);
SetupScript.LineAdd(1239, 422, 0);
SetupScript.LineAdd(1217, 473, 0);
SetupScript.LineAdd(1196, 555, 0);
SetupScript.LineAdd(1100, 604, 0);
SetupScript.LineAdd(876, 754, 0);
SetupScript.LineAdd(777, 790, 0);
SetupScript.LineAdd(717, 849, 0);
SetupScript.LineAdd(710, 949, 0);
SetupScript.LineAdd(711, 1000, 0);
SetupScript.LineAdd(730, 1011, 0);
SetupScript.LineAdd(766, 1011, 0);
SetupScript.LineAdd(796, 1014, 0);
SetupScript.LineAdd(876, 1078, 0);
SetupScript.LineAdd(929, 1098, 0);
SetupScript.LineAdd(920, 1213, 0);
SetupScript.LineAdd(767, 1233, 0);
SetupScript.LineAdd(699, 1270, 0);
SetupScript.LineAdd(647, 1287, 0);
SetupScript.LineAdd(563, 1291, 0);
SetupScript.LineAdd(508, 1291, 0);
SetupScript.LineAdd(457, 1276, 0);
SetupScript.LineAdd(443, 1260, 0);
SetupScript.LineAdd(434, 1213, 0);
SetupScript.LineAdd(442, 1150, 0);
SetupScript.LineAdd(467, 1045, 0);
SetupScript.LineAdd(443, 993, 0);
SetupScript.LineAdd(447, 899, 0);
SetupScript.LineAdd(461, 869, 0);
SetupScript.LineAdd(461, 790, 0);
SetupScript.LineAdd(444, 752, 0);
SetupScript.LineAdd(447, 593, 0);
SetupScript.LineAdd(451, 540, 0);
SetupScript.LineAdd(447, 447, 0);
SetupScript.LineAdd(464, 388, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 929, 1099, 0, "Collision", "", "", "");
SetupScript.LineAdd(1053, 1120, 0);
SetupScript.LineAdd(1130, 1124, 0);
SetupScript.LineAdd(1207, 1105, 0);
SetupScript.LineAdd(1297, 1039, 0);
SetupScript.LineAdd(1373, 1000, 0);
SetupScript.LineAdd(1454, 939, 0);
SetupScript.LineAdd(1586, 866, 0);
SetupScript.LineAdd(1639, 830, 0);
SetupScript.LineAdd(1696, 783, 0);
SetupScript.LineAdd(1762, 739, 0);
SetupScript.LineAdd(1826, 691, 0);
SetupScript.LineAdd(1880, 650, 0);
SetupScript.LineAdd(1909, 618, 0);
SetupScript.LineAdd(1925, 553, 0);
SetupScript.LineAdd(1937, 521, 0);
SetupScript.LineAdd(1964, 503, 0);
SetupScript.LineAdd(2017, 499, 0);
SetupScript.LineAdd(2046, 500, 0);
SetupScript.LineAdd(2080, 510, 0);
SetupScript.LineAdd(2126, 540, 0);
SetupScript.LineAdd(2144, 582, 0);
SetupScript.LineAdd(2144, 731, 0);
SetupScript.LineAdd(2140, 852, 0);
SetupScript.LineAdd(2149, 978, 0);
SetupScript.LineAdd(2138, 1030, 0);
SetupScript.LineAdd(2126, 1100, 0);
SetupScript.LineAdd(2112, 1118, 0);
SetupScript.LineAdd(2093, 1125, 0);
SetupScript.LineAdd(1975, 1123, 0);
SetupScript.LineAdd(1893, 1126, 0);
SetupScript.LineAdd(1865, 1150, 0);
SetupScript.LineAdd(1742, 1204, 0);
SetupScript.LineAdd(1701, 1228, 0);
SetupScript.LineAdd(1669, 1228, 0);
SetupScript.LineAdd(1611, 1205, 0);
SetupScript.LineAdd(1578, 1217, 0);
SetupScript.LineAdd(1538, 1236, 0);
SetupScript.LineAdd(1516, 1238, 0);
SetupScript.LineAdd(1442, 1223, 0);
SetupScript.LineAdd(1386, 1226, 0);
SetupScript.LineAdd(1347, 1237, 0);
SetupScript.LineAdd(1269, 1232, 0);
SetupScript.LineAdd(1179, 1217, 0);
SetupScript.LineAdd(1106, 1204, 0);
SetupScript.LineAdd(913, 1211, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 261, 1146, 3, "Path", "", "", "");
SetupScript.LineAdd(328, 1327, 3);
SetupScript.LineAdd(588, 1436, 3);
SetupScript.LineAdd(925, 1347, 3);
SetupScript.LineAdd(1713, 1314, 3);
SetupScript.LineAdd(2042, 1225, 3);
SetupScript.LineAdd(2265, 1121, 3);
SetupScript.LineAdd(2290, 662, 3);
SetupScript.LineAdd(2167, 445, 3);
SetupScript.LineAdd(1786, 456, 3);
SetupScript.LineAdd(1673, 643, 3);
SetupScript.LineAdd(1322, 950, 3);
SetupScript.LineAdd(1027, 1000, 3);
SetupScript.LineAdd(896, 837, 3);
SetupScript.LineAdd(1128, 633, 3);
SetupScript.LineAdd(1377, 418, 3);
SetupScript.LineAdd(1234, 208, 3);
SetupScript.LineAdd(621, 187, 3);
SetupScript.LineAdd(282, 379, 3);
SetupScript.LineAdd(261, 844, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 339, 1145, 3, "Path", "", "", "");
SetupScript.LineAdd(419, 1300, 3);
SetupScript.LineAdd(580, 1382, 3);
SetupScript.LineAdd(908, 1303, 3);
SetupScript.LineAdd(1384, 1274, 3);
SetupScript.LineAdd(1933, 1226, 3);
SetupScript.LineAdd(2177, 1105, 3);
SetupScript.LineAdd(2194, 642, 3);
SetupScript.LineAdd(2137, 492, 3);
SetupScript.LineAdd(1857, 515, 3);
SetupScript.LineAdd(0x0505, 862, 3);
SetupScript.LineAdd(1061, 953, 3);
SetupScript.LineAdd(974, 848, 3);
SetupScript.LineAdd(1194, 600, 3);
SetupScript.LineAdd(1246, 379, 3);
SetupScript.LineAdd(1086, 262, 3);
SetupScript.LineAdd(539, 285, 3);
SetupScript.LineAdd(358, 438, 3);
SetupScript.LineAdd(335, 845, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 301, 1131, 3, "Path", "", "", "");
SetupScript.LineAdd(291, 1302, 3);
SetupScript.LineAdd(406, 1453, 3);
SetupScript.LineAdd(654, 1449, 3);
SetupScript.LineAdd(998, 1363, 3);
SetupScript.LineAdd(1356, 1358, 3);
SetupScript.LineAdd(1780, 1327, 3);
SetupScript.LineAdd(2093, 1252, 3);
SetupScript.LineAdd(2205, 1085, 3);
SetupScript.LineAdd(2240, 805, 3);
SetupScript.LineAdd(2186, 0x0202, 3);
SetupScript.LineAdd(1953, 441, 3);
SetupScript.LineAdd(1755, 540, 3);
SetupScript.LineAdd(1344, 873, 3);
SetupScript.LineAdd(1094, 932, 3);
SetupScript.LineAdd(989, 774, 3);
SetupScript.LineAdd(1277, 609, 3);
SetupScript.LineAdd(1383, 399, 3);
SetupScript.LineAdd(1272, 233, 3);
SetupScript.LineAdd(700, 208, 3);
SetupScript.LineAdd(413, 249, 3);
SetupScript.LineAdd(313, 424, 3);
SetupScript.LineAdd(302, 845, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 62, 453, 7, "Checkpoint", "", "14", "");
SetupScript.LineAdd(487, 469, 7);
SetupScript.LineAdd(492, 513, 7);
SetupScript.LineAdd(64, 488, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 597, 39, 7, "Checkpoint", "", "13", "");
SetupScript.LineAdd(651, 368, 7);
SetupScript.LineAdd(613, 369, 7);
SetupScript.LineAdd(559, 56, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1073, 50, 7, "Checkpoint", "", "12", "");
SetupScript.LineAdd(1055, 372, 7);
SetupScript.LineAdd(1018, 375, 7);
SetupScript.LineAdd(1035, 54, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1171, 413, 7, "Checkpoint", "", "11", "");
SetupScript.LineAdd(1561, 416, 7);
SetupScript.LineAdd(1556, 457, 7);
SetupScript.LineAdd(1177, 444, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1034, 587, 7, "Checkpoint", "", "10", "");
SetupScript.LineAdd(1246, 805, 7);
SetupScript.LineAdd(1208, 825, 7);
SetupScript.LineAdd(1004, 621, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 0x0500, 0x0300, 7, "Checkpoint", "", "8", "");
SetupScript.LineAdd(1438, 986, 7);
SetupScript.LineAdd(1408, 1006, 7);
SetupScript.LineAdd(1258, 785, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1582, 562, 7, "Checkpoint", "", "7", "");
SetupScript.LineAdd(1775, 0x0300, 7);
SetupScript.LineAdd(1742, 782, 7);
SetupScript.LineAdd(1560, 585, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2103, 619, 7, "Checkpoint", "", "5", "");
SetupScript.LineAdd(2509, 587, 7);
SetupScript.LineAdd(2509, 634, 7);
SetupScript.LineAdd(2100, 656, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2092, 938, 7, "Checkpoint", "", "4", "");
SetupScript.LineAdd(2504, 955, 7);
SetupScript.LineAdd(2503, 991, 7);
SetupScript.LineAdd(2103, 969, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2054, 1087, 7, "Checkpoint", "", "3", "");
SetupScript.LineAdd(2122, 1360, 7);
SetupScript.LineAdd(2073, 1360, 7);
SetupScript.LineAdd(2013, 1100, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 922, 1185, 7, "Checkpoint", "", "1", "");
SetupScript.LineAdd(965, 1182, 7);
SetupScript.LineAdd(978, 1467, 7);
SetupScript.LineAdd(938, 1470, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 230, 1148, 3, "Path", "", "", "");
SetupScript.LineAdd(409, 1392, 3);
SetupScript.LineAdd(689, 1384, 3);
SetupScript.LineAdd(1064, 1322, 3);
SetupScript.LineAdd(1463, 1346, 3);
SetupScript.LineAdd(1889, 1311, 3);
SetupScript.LineAdd(2112, 1180, 3);
SetupScript.LineAdd(2247, 1058, 3);
SetupScript.LineAdd(2245, 700, 3);
SetupScript.LineAdd(2166, 466, 3);
SetupScript.LineAdd(1938, 418, 3);
SetupScript.LineAdd(1702, 651, 3);
SetupScript.LineAdd(1338, 900, 3);
SetupScript.LineAdd(1102, 958, 3);
SetupScript.LineAdd(1004, 876, 3);
SetupScript.LineAdd(1189, 656, 3);
SetupScript.LineAdd(1305, 401, 3);
SetupScript.LineAdd(1273, 247, 3);
SetupScript.LineAdd(914, 217, 3);
SetupScript.LineAdd(442, 325, 3);
SetupScript.LineAdd(238, 488, 3);
SetupScript.LineAdd(217, 841, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("SwapPath", 1313, 756, 2, "Zone", "", "", "");
SetupScript.LineAdd(1479, 936, 2);
SetupScript.LineAdd(1324, 1058, 2);
SetupScript.LineAdd(1180, 838, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("SwapPath", 2155, 0x0404, 2, "Zone", "", "", "");
SetupScript.LineAdd(0x0900, 1045, 2);
SetupScript.LineAdd(2299, 1164, 2);
SetupScript.LineAdd(2147, 1126, 2);
SetupScript.LineEnd(true);
SetupScript.AddObject("Undefined", 218, 1003, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 315, 999, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 361, 1002, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 271, 971, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 323, 966, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 366, 969, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 227, 964, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 268, 999, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 225, 930, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 272, 931, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 317, 934, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 370, 939, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 367, 903, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 312, 898, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 271, 899, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 223, 897, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 138, 497, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 886, 108, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 473, 327, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1190, 336, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 741, 912, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1670, 424, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2442, 625, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2137, 1069, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2278, 1275, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1611, 1236, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1407, 1418, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 883, 1435, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 386, 1534, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 133, 1217, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 202, 335, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 209, 279, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 233, 248, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 269, 208, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 324, 184, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 376, 167, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 419, 429, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 418, 384, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 424, 346, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 450, 314, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 487, 296, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 539, 287, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 591, 292, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1277, 137, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1321, 143, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1360, 159, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1393, 175, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1434, 197, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1453, 216, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1475, 249, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 990, 795, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 963, 829, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 946, 860, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 946, 884, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 948, 916, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 967, 947, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1000, 970, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1033, 981, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1078, 985, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1118, 976, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1161, 959, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1200, 940, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1457, 870, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1489, 837, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1506, 805, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1526, 770, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1541, 729, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1551, 676, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2115, 332, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2165, 339, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2198, 339, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2232, 362, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2278, 376, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2307, 397, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2332, 416, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2359, 446, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1882, 505, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1919, 476, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1957, 455, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2025, 452, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2070, 455, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2108, 482, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2153, 530, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2391, 846, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2413, 881, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2422, 927, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2429, 980, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2424, 1014, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2406, 1061, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1936, 1318, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1911, 1342, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1873, 1358, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1842, 1367, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1790, 1371, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 758, 1291, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 716, 1295, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 678, 1318, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 649, 1337, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 618, 1364, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 529, 1345, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 494, 1341, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 458, 1322, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 438, 1303, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 712, 137, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 769, 139, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 838, 143, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 908, 141, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 979, 144, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1048, 143, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 899, 1064, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 966, 1084, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 1047, 1088, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 1125, 1080, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 2178, 690, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2208, 705, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2258, 726, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2305, 737, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2347, 753, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1990, 1148, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1992, 1178, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2003, 1213, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2010, 1250, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2023, 1287, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1161, 1233, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1095, 1235, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1006, 1240, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 940, 1241, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 846, 1243, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1163, 1102, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 493, 1310, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 439, 827, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1062, 899, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1969, 481, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 438, 1046, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 144, 887, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2139, 306, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 993, 1227, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 236, 200, "PickupGen", "obj", "", 0, 0, 0, 0);
}
}
}//package
Section 58
//LevelDef_Level3 (LevelDef_Level3)
package {
public class LevelDef_Level3 {
public static function Init(){
SetupScript.LineStart("", -54, -65, 0, "Collision", "", "", "");
SetupScript.LineAdd(2606, -62, 0);
SetupScript.LineAdd(2614, 209, 0);
SetupScript.LineAdd(2519, 217, 0);
SetupScript.LineAdd(2418, 127, 0);
SetupScript.LineAdd(2288, 57, 0);
SetupScript.LineAdd(2201, 43, 0);
SetupScript.LineAdd(1360, 46, 0);
SetupScript.LineAdd(526, 43, 0);
SetupScript.LineAdd(447, 19, 0);
SetupScript.LineAdd(268, 19, 0);
SetupScript.LineAdd(190, 38, 0);
SetupScript.LineAdd(81, 86, 0);
SetupScript.LineAdd(51, 135, 0);
SetupScript.LineAdd(51, 203, 0);
SetupScript.LineAdd(32, 306, 0);
SetupScript.LineAdd(32, 371, 0);
SetupScript.LineAdd(-92, 377, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2511, 190, 0, "Collision", "", "", "");
SetupScript.LineAdd(2617, 176, 0);
SetupScript.LineAdd(2592, 1704, 0);
SetupScript.LineAdd(1772, 1808, 0);
SetupScript.LineAdd(1791, 1517, 0);
SetupScript.LineAdd(1829, 1509, 0);
SetupScript.LineAdd(1878, 1550, 0);
SetupScript.LineAdd(1932, 1574, 0);
SetupScript.LineAdd(1984, 1593, 0);
SetupScript.LineAdd(2065, 1609, 0);
SetupScript.LineAdd(2155, 1609, 0);
SetupScript.LineAdd(2253, 1607, 0);
SetupScript.LineAdd(2321, 1601, 0);
SetupScript.LineAdd(2399, 1579, 0);
SetupScript.LineAdd(2459, 1552, 0);
SetupScript.LineAdd(2502, 1509, 0);
SetupScript.LineAdd(2532, 1460, 0);
SetupScript.LineAdd(2543, 1406, 0);
SetupScript.LineAdd(2549, 1251, 0);
SetupScript.LineAdd(2508, 999, 0);
SetupScript.LineAdd(2530, 885, 0);
SetupScript.LineAdd(2540, 787, 0);
SetupScript.LineAdd(2511, 659, 0);
SetupScript.LineAdd(2475, 575, 0);
SetupScript.LineAdd(2478, 499, 0);
SetupScript.LineAdd(2511, 423, 0);
SetupScript.LineAdd(2521, 290, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", -114, 347, 0, "Collision", "", "", "");
SetupScript.LineAdd(32, 369, 0);
SetupScript.LineAdd(21, 808, 0);
SetupScript.LineAdd(38, 1007, 0);
SetupScript.LineAdd(35, 1346, 0);
SetupScript.LineAdd(57, 1444, 0);
SetupScript.LineAdd(108, 1498, 0);
SetupScript.LineAdd(157, 1547, 0);
SetupScript.LineAdd(171, 1590, 0);
SetupScript.LineAdd(187, 1617, 0);
SetupScript.LineAdd(214, 1631, 0);
SetupScript.LineAdd(252, 1631, 0);
SetupScript.LineAdd(328, 1612, 0);
SetupScript.LineAdd(719, 1631, 0);
SetupScript.LineAdd(868, 1620, 0);
SetupScript.LineAdd(1142, 1623, 0);
SetupScript.LineAdd(1484, 1620, 0);
SetupScript.LineAdd(1569, 1604, 0);
SetupScript.LineAdd(1623, 1590, 0);
SetupScript.LineAdd(1655, 1574, 0);
SetupScript.LineAdd(1691, 1552, 0);
SetupScript.LineAdd(1721, 1528, 0);
SetupScript.LineAdd(1745, 1501, 0);
SetupScript.LineAdd(1778, 1501, 0);
SetupScript.LineAdd(1794, 1501, 0);
SetupScript.LineAdd(1778, 1726, 0);
SetupScript.LineAdd(-29, 1764, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 817, 982, 0, "Collision", "", "", "");
SetupScript.LineAdd(819, 878, 0);
SetupScript.LineAdd(839, 778, 0);
SetupScript.LineAdd(868, 739, 0);
SetupScript.LineAdd(905, 704, 0);
SetupScript.LineAdd(941, 681, 0);
SetupScript.LineAdd(993, 661, 0);
SetupScript.LineAdd(1052, 647, 0);
SetupScript.LineAdd(1101, 638, 0);
SetupScript.LineAdd(1486, 640, 0);
SetupScript.LineAdd(1615, 653, 0);
SetupScript.LineAdd(1670, 669, 0);
SetupScript.LineAdd(1728, 685, 0);
SetupScript.LineAdd(1767, 722, 0);
SetupScript.LineAdd(1783, 759, 0);
SetupScript.LineAdd(1797, 841, 0);
SetupScript.LineAdd(1795, 907, 0);
SetupScript.LineAdd(1795, 1429, 0);
SetupScript.LineAdd(1806, 1457, 0);
SetupScript.LineAdd(1820, 1484, 0);
SetupScript.LineAdd(1830, 1517, 0);
SetupScript.LineAdd(1808, 1552, 0);
SetupScript.LineAdd(1773, 1560, 0);
SetupScript.LineAdd(1750, 1545, 0);
SetupScript.LineAdd(1742, 1515, 0);
SetupScript.LineAdd(1742, 1492, 0);
SetupScript.LineAdd(1760, 1457, 0);
SetupScript.LineAdd(1763, 1414, 0);
SetupScript.LineAdd(1767, 1034, 0);
SetupScript.LineAdd(1756, 843, 0);
SetupScript.LineAdd(1732, 798, 0);
SetupScript.LineAdd(1685, 759, 0);
SetupScript.LineAdd(1625, 722, 0);
SetupScript.LineAdd(1560, 700, 0);
SetupScript.LineAdd(1464, 681, 0);
SetupScript.LineAdd(1394, 677, 0);
SetupScript.LineAdd(1281, 677, 0);
SetupScript.LineAdd(1115, 683, 0);
SetupScript.LineAdd(1023, 698, 0);
SetupScript.LineAdd(974, 716, 0);
SetupScript.LineAdd(931, 735, 0);
SetupScript.LineAdd(886, 767, 0);
SetupScript.LineAdd(853, 810, 0);
SetupScript.LineAdd(851, 860, 0);
SetupScript.LineAdd(847, 974, 0);
SetupScript.LineAdd(880, 995, 0);
SetupScript.LineAdd(911, 1011, 0);
SetupScript.LineAdd(935, 1038, 0);
SetupScript.LineAdd(935, 1058, 0);
SetupScript.LineAdd(921, 1070, 0);
SetupScript.LineAdd(894, 1077, 0);
SetupScript.LineAdd(851, 1091, 0);
SetupScript.LineAdd(823, 1085, 0);
SetupScript.LineAdd(806, 1044, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 311, 1081, 0, "Collision", "", "", "");
SetupScript.LineAdd(352, 1058, 0);
SetupScript.LineAdd(387, 1066, 0);
SetupScript.LineAdd(466, 1050, 0);
SetupScript.LineAdd(501, 1081, 0);
SetupScript.LineAdd(513, 1140, 0);
SetupScript.LineAdd(540, 1193, 0);
SetupScript.LineAdd(585, 1224, 0);
SetupScript.LineAdd(649, 1259, 0);
SetupScript.LineAdd(761, 1281, 0);
SetupScript.LineAdd(862, 0x0505, 0);
SetupScript.LineAdd(929, 1296, 0);
SetupScript.LineAdd(991, 1314, 0);
SetupScript.LineAdd(966, 1363, 0);
SetupScript.LineAdd(933, 1408, 0);
SetupScript.LineAdd(839, 1425, 0);
SetupScript.LineAdd(782, 1427, 0);
SetupScript.LineAdd(739, 1421, 0);
SetupScript.LineAdd(726, 1406, 0);
SetupScript.LineAdd(722, 1378, 0);
SetupScript.LineAdd(724, 1341, 0);
SetupScript.LineAdd(718, 1326, 0);
SetupScript.LineAdd(659, 1308, 0);
SetupScript.LineAdd(583, 1279, 0);
SetupScript.LineAdd(528, 1230, 0);
SetupScript.LineAdd(493, 1220, 0);
SetupScript.LineAdd(460, 1226, 0);
SetupScript.LineAdd(425, 1183, 0);
SetupScript.LineAdd(407, 1169, 0);
SetupScript.LineAdd(364, 1156, 0);
SetupScript.LineAdd(329, 1138, 0);
SetupScript.LineAdd(301, 1126, 0);
SetupScript.LineAdd(298, 1097, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1193, 884, 0, "Collision", "", "", "");
SetupScript.LineAdd(1271, 874, 0);
SetupScript.LineAdd(1324, 874, 0);
SetupScript.LineAdd(1369, 894, 0);
SetupScript.LineAdd(1406, 925, 0);
SetupScript.LineAdd(1435, 962, 0);
SetupScript.LineAdd(1437, 1013, 0);
SetupScript.LineAdd(1435, 1189, 0);
SetupScript.LineAdd(1435, 1308, 0);
SetupScript.LineAdd(1414, 1347, 0);
SetupScript.LineAdd(1380, 1380, 0);
SetupScript.LineAdd(1337, 1404, 0);
SetupScript.LineAdd(1275, 1414, 0);
SetupScript.LineAdd(1214, 1416, 0);
SetupScript.LineAdd(1163, 1416, 0);
SetupScript.LineAdd(1111, 1406, 0);
SetupScript.LineAdd(1070, 1386, 0);
SetupScript.LineAdd(1032, 1365, 0);
SetupScript.LineAdd(1005, 1349, 0);
SetupScript.LineAdd(976, 1341, 0);
SetupScript.LineAdd(982, 1310, 0);
SetupScript.LineAdd(1027, 1322, 0);
SetupScript.LineAdd(1075, 1349, 0);
SetupScript.LineAdd(1105, 1357, 0);
SetupScript.LineAdd(1148, 1326, 0);
SetupScript.LineAdd(1199, 1298, 0);
SetupScript.LineAdd(1253, 1281, 0);
SetupScript.LineAdd(1300, 1247, 0);
SetupScript.LineAdd(1359, 1206, 0);
SetupScript.LineAdd(1388, 1181, 0);
SetupScript.LineAdd(1402, 1146, 0);
SetupScript.LineAdd(1408, 1064, 0);
SetupScript.LineAdd(1402, 1013, 0);
SetupScript.LineAdd(1371, 989, 0);
SetupScript.LineAdd(1333, 984, 0);
SetupScript.LineAdd(1269, 966, 0);
SetupScript.LineAdd(1212, 952, 0);
SetupScript.LineAdd(1189, 931, 0);
SetupScript.LineAdd(1181, 909, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 682, 415, 0, "Collision", "", "", "");
SetupScript.LineAdd(713, 402, 0);
SetupScript.LineAdd(745, 405, 0);
SetupScript.LineAdd(765, 425, 0);
SetupScript.LineAdd(764, 469, 0);
SetupScript.LineAdd(741, 486, 0);
SetupScript.LineAdd(703, 495, 0);
SetupScript.LineAdd(668, 496, 0);
SetupScript.LineAdd(650, 482, 0);
SetupScript.LineAdd(651, 448, 0);
SetupScript.LineAdd(666, 429, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 415, 1015, 0, "Collision", "", "", "");
SetupScript.LineAdd(419, 530, 0);
SetupScript.LineAdd(425, 432, 0);
SetupScript.LineAdd(483, 348, 0);
SetupScript.LineAdd(522, 315, 0);
SetupScript.LineAdd(599, 286, 0);
SetupScript.LineAdd(667, 268, 0);
SetupScript.LineAdd(737, 260, 0);
SetupScript.LineAdd(808, 266, 0);
SetupScript.LineAdd(882, 280, 0);
SetupScript.LineAdd(937, 294, 0);
SetupScript.LineAdd(991, 321, 0);
SetupScript.LineAdd(1052, 344, 0);
SetupScript.LineAdd(1099, 350, 0);
SetupScript.LineAdd(1146, 354, 0);
SetupScript.LineAdd(1228, 354, 0);
SetupScript.LineAdd(1226, 395, 0);
SetupScript.LineAdd(1091, 391, 0);
SetupScript.LineAdd(1003, 372, 0);
SetupScript.LineAdd(915, 331, 0);
SetupScript.LineAdd(847, 309, 0);
SetupScript.LineAdd(774, 307, 0);
SetupScript.LineAdd(708, 307, 0);
SetupScript.LineAdd(626, 311, 0);
SetupScript.LineAdd(567, 344, 0);
SetupScript.LineAdd(511, 376, 0);
SetupScript.LineAdd(475, 417, 0);
SetupScript.LineAdd(452, 466, 0);
SetupScript.LineAdd(446, 608, 0);
SetupScript.LineAdd(448, 837, 0);
SetupScript.LineAdd(448, 1011, 0);
SetupScript.LineAdd(456, 1075, 0);
SetupScript.LineAdd(413, 1085, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1216, 352, 0, "Collision", "", "", "");
SetupScript.LineAdd(1357, 352, 0);
SetupScript.LineAdd(1541, 348, 0);
SetupScript.LineAdd(1627, 337, 0);
SetupScript.LineAdd(1687, 319, 0);
SetupScript.LineAdd(1732, 294, 0);
SetupScript.LineAdd(1787, 276, 0);
SetupScript.LineAdd(1844, 262, 0);
SetupScript.LineAdd(1908, 0xFF, 0);
SetupScript.LineAdd(1994, 260, 0);
SetupScript.LineAdd(2053, 270, 0);
SetupScript.LineAdd(2090, 290, 0);
SetupScript.LineAdd(2125, 335, 0);
SetupScript.LineAdd(2148, 395, 0);
SetupScript.LineAdd(2156, 528, 0);
SetupScript.LineAdd(2156, 610, 0);
SetupScript.LineAdd(2156, 726, 0);
SetupScript.LineAdd(2160, 886, 0);
SetupScript.LineAdd(2154, 964, 0);
SetupScript.LineAdd(2162, 1054, 0);
SetupScript.LineAdd(2164, 1115, 0);
SetupScript.LineAdd(2160, 1234, 0);
SetupScript.LineAdd(2154, 1304, 0);
SetupScript.LineAdd(2139, 1318, 0);
SetupScript.LineAdd(2121, 1320, 0);
SetupScript.LineAdd(2111, 1310, 0);
SetupScript.LineAdd(2098, 1290, 0);
SetupScript.LineAdd(2090, 1234, 0);
SetupScript.LineAdd(2100, 1038, 0);
SetupScript.LineAdd(2096, 819, 0);
SetupScript.LineAdd(2096, 634, 0);
SetupScript.LineAdd(2098, 468, 0);
SetupScript.LineAdd(2092, 374, 0);
SetupScript.LineAdd(2074, 354, 0);
SetupScript.LineAdd(2045, 321, 0);
SetupScript.LineAdd(1973, 303, 0);
SetupScript.LineAdd(1906, 303, 0);
SetupScript.LineAdd(1853, 307, 0);
SetupScript.LineAdd(1773, 327, 0);
SetupScript.LineAdd(1715, 360, 0);
SetupScript.LineAdd(1654, 380, 0);
SetupScript.LineAdd(1566, 399, 0);
SetupScript.LineAdd(1408, 399, 0);
SetupScript.LineAdd(1283, 399, 0);
SetupScript.LineAdd(1210, 395, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 245, 135, 0, "Collision", "", "", "");
SetupScript.LineAdd(290, 126, 0);
SetupScript.LineAdd(337, 109, 0);
SetupScript.LineAdd(372, 104, 0);
SetupScript.LineAdd(383, 120, 0);
SetupScript.LineAdd(372, 149, 0);
SetupScript.LineAdd(337, 167, 0);
SetupScript.LineAdd(280, 202, 0);
SetupScript.LineAdd(233, 227, 0);
SetupScript.LineAdd(208, 227, 0);
SetupScript.LineAdd(196, 217, 0);
SetupScript.LineAdd(190, 200, 0);
SetupScript.LineAdd(212, 176, 0);
SetupScript.LineAdd(235, 153, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1023, 1498, 3, "Path", "", "", "");
SetupScript.LineAdd(722, 1478, 3);
SetupScript.LineAdd(438, 1459, 3);
SetupScript.LineAdd(288, 1390, 3);
SetupScript.LineAdd(253, 1253, 3);
SetupScript.LineAdd(223, 921, 3);
SetupScript.LineAdd(233, 745, 3);
SetupScript.LineAdd(264, 450, 3);
SetupScript.LineAdd(432, 315, 3);
SetupScript.LineAdd(727, 217, 3);
SetupScript.LineAdd(1177, 195, 3);
SetupScript.LineAdd(1841, 212, 3);
SetupScript.LineAdd(2071, 227, 3);
SetupScript.LineAdd(2188, 344, 3);
SetupScript.LineAdd(2218, 618, 3);
SetupScript.LineAdd(2208, 972, 3);
SetupScript.LineAdd(2198, 1282, 3);
SetupScript.LineAdd(2176, 1372, 3);
SetupScript.LineAdd(2069, 1353, 3);
SetupScript.LineAdd(2015, 854, 3);
SetupScript.LineAdd(2003, 596, 3);
SetupScript.LineAdd(1785, 522, 3);
SetupScript.LineAdd(1260, 510, 3);
SetupScript.LineAdd(810, 549, 3);
SetupScript.LineAdd(637, 652, 3);
SetupScript.LineAdd(608, 1052, 3);
SetupScript.LineAdd(708, 1201, 3);
SetupScript.LineAdd(935, 1172, 3);
SetupScript.LineAdd(1082, 1089, 3);
SetupScript.LineAdd(1084, 952, 3);
SetupScript.LineAdd(1126, 847, 3);
SetupScript.LineAdd(1350, 830, 3);
SetupScript.LineAdd(1475, 911, 3);
SetupScript.LineAdd(1524, 1187, 3);
SetupScript.LineAdd(1487, 1404, 3);
SetupScript.LineAdd(1345, 1482, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1030, 1534, 3, "Path", "", "", "");
SetupScript.LineAdd(571, 1521, 3);
SetupScript.LineAdd(293, 1477, 3);
SetupScript.LineAdd(158, 1221, 3);
SetupScript.LineAdd(180, 740, 3);
SetupScript.LineAdd(229, 422, 3);
SetupScript.LineAdd(439, 263, 3);
SetupScript.LineAdd(789, 161, 3);
SetupScript.LineAdd(1157, 151, 3);
SetupScript.LineAdd(1665, 144, 3);
SetupScript.LineAdd(2117, 185, 3);
SetupScript.LineAdd(2239, 366, 3);
SetupScript.LineAdd(2286, 740, 3);
SetupScript.LineAdd(2279, 1133, 3);
SetupScript.LineAdd(2237, 1336, 3);
SetupScript.LineAdd(2186, 1426, 3);
SetupScript.LineAdd(2049, 1402, 3);
SetupScript.LineAdd(1937, 1104, 3);
SetupScript.LineAdd(1929, 749, 3);
SetupScript.LineAdd(1856, 603, 3);
SetupScript.LineAdd(1419, 561, 3);
SetupScript.LineAdd(891, 600, 3);
SetupScript.LineAdd(725, 693, 3);
SetupScript.LineAdd(710, 1013, 3);
SetupScript.LineAdd(779, 1143, 3);
SetupScript.LineAdd(977, 1113, 3);
SetupScript.LineAdd(1021, 1013, 3);
SetupScript.LineAdd(1074, 832, 3);
SetupScript.LineAdd(1192, 786, 3);
SetupScript.LineAdd(1521, 908, 3);
SetupScript.LineAdd(1636, 1079, 3);
SetupScript.LineAdd(1573, 1272, 3);
SetupScript.LineAdd(1502, 1446, 3);
SetupScript.LineAdd(1370, 1516, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1043, 1570, 3, "Path", "", "", "");
SetupScript.LineAdd(693, 1558, 3);
SetupScript.LineAdd(361, 1538, 3);
SetupScript.LineAdd(180, 1416, 3);
SetupScript.LineAdd(105, 1074, 3);
SetupScript.LineAdd(161, 742, 3);
SetupScript.LineAdd(271, 346, 3);
SetupScript.LineAdd(415, 251, 3);
SetupScript.LineAdd(583, 163, 3);
SetupScript.LineAdd(923, 131, 3);
SetupScript.LineAdd(1243, 127, 3);
SetupScript.LineAdd(1634, 109, 3);
SetupScript.LineAdd(1871, 136, 3);
SetupScript.LineAdd(2147, 173, 3);
SetupScript.LineAdd(2266, 349, 3);
SetupScript.LineAdd(2323, 703, 3);
SetupScript.LineAdd(2330, 959, 3);
SetupScript.LineAdd(2310, 1260, 3);
SetupScript.LineAdd(2266, 1392, 3);
SetupScript.LineAdd(2171, 1450, 3);
SetupScript.LineAdd(2042, 1450, 3);
SetupScript.LineAdd(1963, 1377, 3);
SetupScript.LineAdd(1949, 930, 3);
SetupScript.LineAdd(1939, 664, 3);
SetupScript.LineAdd(1753, 583, 3);
SetupScript.LineAdd(1350, 571, 3);
SetupScript.LineAdd(835, 615, 3);
SetupScript.LineAdd(723, 688, 3);
SetupScript.LineAdd(649, 938, 3);
SetupScript.LineAdd(737, 1148, 3);
SetupScript.LineAdd(977, 1152, 3);
SetupScript.LineAdd(1001, 867, 3);
SetupScript.LineAdd(1189, 769, 3);
SetupScript.LineAdd(1426, 0x0303, 3);
SetupScript.LineAdd(1509, 959, 3);
SetupScript.LineAdd(1578, 1372, 3);
SetupScript.LineAdd(1477, 1516, 3);
SetupScript.LineAdd(1292, 1575, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 411, 1336, 0, "Collision", "", "", "");
SetupScript.LineAdd(450, 1365, 0);
SetupScript.LineAdd(489, 1371, 0);
SetupScript.LineAdd(515.3819, 1392.718, 0);
SetupScript.LineAdd(522, 1405, 0);
SetupScript.LineAdd(515, 1416, 0);
SetupScript.LineAdd(480, 1420, 0);
SetupScript.LineAdd(448, 1409, 0);
SetupScript.LineAdd(403, 1404, 0);
SetupScript.LineAdd(350, 1372, 0);
SetupScript.LineAdd(370, 1341, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 89, 847, 2, "Zone", "", "", "");
SetupScript.LineAdd(259, 852, 2);
SetupScript.LineAdd(264, 903, 2);
SetupScript.LineAdd(80, 903, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 82, 519, 2, "Zone", "", "", "");
SetupScript.LineAdd(264, 527, 2);
SetupScript.LineAdd(267, 585, 2);
SetupScript.LineAdd(70, 580, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1107, 85, 2, "Zone", "", "", "");
SetupScript.LineAdd(1105, 216, 2);
SetupScript.LineAdd(1022, 221, 2);
SetupScript.LineAdd(1010, 89, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1615, 87, 2, "Zone", "", "", "");
SetupScript.LineAdd(1617, 223, 2);
SetupScript.LineAdd(1544, 225, 2);
SetupScript.LineAdd(1530, 89, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2188, 408, 2, "Zone", "", "", "");
SetupScript.LineAdd(2372, 410, 2);
SetupScript.LineAdd(2372, 471, 2);
SetupScript.LineAdd(2193, 476, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2183, 582, 2, "Zone", "", "", "");
SetupScript.LineAdd(2368, 578, 2);
SetupScript.LineAdd(2375, 653, 2);
SetupScript.LineAdd(2185, 655, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2205, 743, 2, "Zone", "", "", "");
SetupScript.LineAdd(2360, 740, 2);
SetupScript.LineAdd(2365, 799, 2);
SetupScript.LineAdd(2190, 803, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2210, 1073, 2, "Zone", "", "", "");
SetupScript.LineAdd(2355, 1063, 2);
SetupScript.LineAdd(2358, 1112, 2);
SetupScript.LineAdd(2198, 1114, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1605, 466, 2, "Zone", "", "", "");
SetupScript.LineAdd(1692, 471, 2);
SetupScript.LineAdd(1692, 614, 2);
SetupScript.LineAdd(1607, 609, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1061, 471, 2, "Zone", "", "", "");
SetupScript.LineAdd(1141, 471, 2);
SetupScript.LineAdd(1148, 612, 2);
SetupScript.LineAdd(1063, 612, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 828, 1394, 7, "Checkpoint", "", "0", "");
SetupScript.LineAdd(869, 1394, 7);
SetupScript.LineAdd(874, 1673, 7);
SetupScript.LineAdd(825, 1666, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 0, 684, 7, "Checkpoint", "", "4", "");
SetupScript.LineAdd(432, 680, 7);
SetupScript.LineAdd(432, 723, 7);
SetupScript.LineAdd(9, 735, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1406, 7, 7, "Checkpoint", "", "7", "");
SetupScript.LineAdd(1435, 371, 7);
SetupScript.LineAdd(1382, 371, 7);
SetupScript.LineAdd(1372, 14, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2125, 667, 7, "Checkpoint", "", "10", "");
SetupScript.LineAdd(2542, 663, 7);
SetupScript.LineAdd(2545, 704, 7);
SetupScript.LineAdd(2132, 701, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2117, 1262, 7, "Checkpoint", "", "13", "");
SetupScript.LineAdd(2147, 1262, 7);
SetupScript.LineAdd(2173, 1658, 7);
SetupScript.LineAdd(2120, 1651, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1773, 842, 7, "Checkpoint", "", "15", "");
SetupScript.LineAdd(2130, 835, 7);
SetupScript.LineAdd(2127, 874, 7);
SetupScript.LineAdd(1775, 876, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1228, 366, 7, "Checkpoint", "", "17", "");
SetupScript.LineAdd(1284, 366, 7);
SetupScript.LineAdd(1297, 655, 7);
SetupScript.LineAdd(1248, 655, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 429, 908, 7, "Checkpoint", "", "20", "");
SetupScript.LineAdd(837, 903, 7);
SetupScript.LineAdd(835, 925, 7);
SetupScript.LineAdd(427, 944, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1112, 660, 7, "Checkpoint", "", "23", "");
SetupScript.LineAdd(1146, 655, 7);
SetupScript.LineAdd(1248, 910, 7);
SetupScript.LineAdd(1202, 918, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1418, 1158, 7, "Checkpoint", "", "25", "");
SetupScript.LineAdd(1782, 1153, 7);
SetupScript.LineAdd(1782, 1197, 7);
SetupScript.LineAdd(1423, 1199, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1105, 1382, 7, "Checkpoint", "", "27", "");
SetupScript.LineAdd(1141, 1382, 7);
SetupScript.LineAdd(1156, 1656, 7);
SetupScript.LineAdd(1114, 1658, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 35, 1487, 7, "Checkpoint", "", "2", "");
SetupScript.LineAdd(496, 1189, 7);
SetupScript.LineAdd(534, 1210, 7);
SetupScript.LineAdd(67, 1531, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 602, 1259, 7, "Checkpoint", "", "1", "");
SetupScript.LineAdd(635, 1275, 7);
SetupScript.LineAdd(453, 1674, 7);
SetupScript.LineAdd(404, 1666, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 5, 1058, 7, "Checkpoint", "", "3", "");
SetupScript.LineAdd(431, 1026, 7);
SetupScript.LineAdd(434, 1056, 7);
SetupScript.LineAdd(10, 1115, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 138, 13, 7, "Checkpoint", "", "5", "");
SetupScript.LineAdd(534, 404, 7);
SetupScript.LineAdd(502, 431, 7);
SetupScript.LineAdd(86, 29, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 863, 13, 7, "Checkpoint", "", "6", "");
SetupScript.LineAdd(860, 333, 7);
SetupScript.LineAdd(822, 333, 7);
SetupScript.LineAdd(822, 16, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1932, 16, 7, "Checkpoint", "", "8", "");
SetupScript.LineAdd(1938, 333, 7);
SetupScript.LineAdd(1894, 331, 7);
SetupScript.LineAdd(1900, 13, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2049, 366, 7, "Checkpoint", "", "9", "");
SetupScript.LineAdd(2440, 84, 7);
SetupScript.LineAdd(2486, 133, 7);
SetupScript.LineAdd(2071, 399, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2131, 1012, 7, "Checkpoint", "", "11", "");
SetupScript.LineAdd(2532, 1031, 7);
SetupScript.LineAdd(2535, 1077, 7);
SetupScript.LineAdd(2141, 1072, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2141, 1216, 7, "Checkpoint", "", "12", "");
SetupScript.LineAdd(2581, 1297, 7);
SetupScript.LineAdd(2576, 1332, 7);
SetupScript.LineAdd(2141, 1248, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1775, 1240, 7, "Checkpoint", "", "14", "");
SetupScript.LineAdd(2120, 1156, 7);
SetupScript.LineAdd(2117, 1183, 7);
SetupScript.LineAdd(1778, 1281, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1441, 662, 7, "Checkpoint", "", "16", "");
SetupScript.LineAdd(1468, 352, 7);
SetupScript.LineAdd(1514, 352, 7);
SetupScript.LineAdd(1479, 662, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 754, 266, 7, "Checkpoint", "", "18", "");
SetupScript.LineAdd(789, 266, 7);
SetupScript.LineAdd(936, 705, 7);
SetupScript.LineAdd(893, 738, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 420, 754, 7, "Checkpoint", "", "19", "");
SetupScript.LineAdd(857, 787, 7);
SetupScript.LineAdd(844, 822, 7);
SetupScript.LineAdd(428, 789, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 833, 1039, 7, "Checkpoint", "", "21", "");
SetupScript.LineAdd(868, 1050, 7);
SetupScript.LineAdd(0x0300, 1303, 7);
SetupScript.LineAdd(716, 1294, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 833, 944, 7, "Checkpoint", "", "22", "");
SetupScript.LineAdd(1213, 904, 7);
SetupScript.LineAdd(1218, 928, 7);
SetupScript.LineAdd(836, 974, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1658, 711, 7, "Checkpoint", "", "24", "");
SetupScript.LineAdd(1710, 751, 7);
SetupScript.LineAdd(1398, 963, 7);
SetupScript.LineAdd(1365, 931, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1406, 1313, 7, "Checkpoint", "", "26", "");
SetupScript.LineAdd(1685, 1590, 7);
SetupScript.LineAdd(1642, 1617, 7);
SetupScript.LineAdd(1387, 1338, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1117, 254, 0, "Collision", "", "", "");
SetupScript.LineAdd(1143, 246, 0);
SetupScript.LineAdd(1364, 246, 0);
SetupScript.LineAdd(1562, 248, 0);
SetupScript.LineAdd(1589, 259, 0);
SetupScript.LineAdd(1590, 276, 0);
SetupScript.LineAdd(1579, 283, 0);
SetupScript.LineAdd(1438, 282, 0);
SetupScript.LineAdd(1129, 282, 0);
SetupScript.LineAdd(1107, 278, 0);
SetupScript.LineAdd(1093, 269, 0);
SetupScript.LineAdd(1095, 259, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 573, 790, 2, "Zone", "", "", "");
SetupScript.LineAdd(719, 794, 2);
SetupScript.LineAdd(720, 856, 2);
SetupScript.LineAdd(577, 856, 2);
SetupScript.LineEnd(true);
SetupScript.AddObject("Undefined", 1165, 1476, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1165, 1500, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1163, 1521, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1163, 1541, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1161, 1566, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1181, 1568, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1187, 1541, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1185, 1519, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1187, 1502, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1187, 1476, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1204, 1478, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1204, 1496, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1204, 1517, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1201, 1531, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1201, 1558, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1204, 1570, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1220, 1570, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1220, 1550, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1220, 1527, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1220, 1507, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1222, 1482, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1220, 1476, "StartPoint", "obj", "", 270, 0, 0, 0);
SetupScript.AddObject("Undefined", 1001, 1400, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 678, 1392, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 356, 1194, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 0x0101, 1600, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 376, 1022, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 72, 307, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 442, 43, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 213, 135, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 521, 297, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1311, 63, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1350, 320, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2322, 122, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2512, 793, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2510, 1238, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2231, 1593, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2127, 1349, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1971, 1576, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1822, 1326, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2060, 479, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1726, 387, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1754, 662, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 629, 493, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 790, 423, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 854, 713, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1090, 1284, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1308, 1012, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1662, 1513, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1520, 721, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1735, 897, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 420, 1313, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 362, 1326, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 336, 1367, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 359, 1402, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 418, 1430, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 469, 1437, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 524, 1429, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 534, 1375, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 349, 1592, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 309, 1581, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 269, 1565, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 228, 0x0606, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 202, 1519, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 234, 807, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 216, 760, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 187, 721, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 157, 686, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 103, 639, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 302, 590, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 336, 561, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 362, 523, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 373, 486, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 869, 92, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 900, 98, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 935, 115, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 970, 129, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 994, 144, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 907, 265, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 963, 262, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1008, 259, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1049, 260, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1628, 0x0101, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1668, 258, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1711, 258, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1756, 260, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2124, 113, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2209, 140, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2267, 162, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2320, 198, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2356, 234, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2435, 604, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2438, 720, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2443, 863, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2443, 961, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2440, 1078, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2447, 1237, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2443, 1345, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2180, 1252, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2184, 1288, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2192, 1316, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2192, 1349, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2172, 1383, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2132, 1395, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2098, 1382, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2082, 1365, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2067, 1322, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2073, 1263, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2029, 499, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1985, 466, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1944, 447, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1899, 431, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1855, 424, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 883, 495, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 805, 513, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 724, 545, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 676, 571, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 634, 605, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 585, 656, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 660, 1167, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 725, 1194, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 799, 1207, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 889, 1195, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 933, 1175, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 974, 1146, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1007, 1106, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1402, 744, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1453, 744, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1516, 761, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1576, 796, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1644, 859, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1682, 940, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1613, 1459, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1574, 1495, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1534, 1515, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1468, 1547, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 149, 258, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 136, 190, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1916, 379, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1975, 405, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2451, 267, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2503, 323, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2450, 404, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2464, 0x0303, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2490, 1165, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2522, 1318, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2494, 1388, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1827, 1164, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1827, 1070, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1822, 979, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1504, 426, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1402, 427, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1304, 419, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1199, 427, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 753, 321, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 671, 328, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 591, 353, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 489, 521, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 479, 582, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 523, 598, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 517, 547, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 491, 560, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 895, 816, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 925, 784, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 956, 760, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1172, 1199, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1220, 1155, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1248, 1104, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1247, 1031, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1736, 1060, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1738, 1126, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1737, 1191, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 380, 756, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 470, 1340, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 491, 852, "PickupGen", "obj", "", 0, 0, 0, 0);
}
}
}//package
Section 59
//LevelDef_Level3a (LevelDef_Level3a)
package {
public class LevelDef_Level3a {
public static function Init(){
SetupScript.LineStart("", -54, -65, 0, "Collision", "", "", "");
SetupScript.LineAdd(2606, -62, 0);
SetupScript.LineAdd(2614, 209, 0);
SetupScript.LineAdd(2519, 217, 0);
SetupScript.LineAdd(2418, 127, 0);
SetupScript.LineAdd(2288, 57, 0);
SetupScript.LineAdd(2201, 43, 0);
SetupScript.LineAdd(1360, 46, 0);
SetupScript.LineAdd(526, 43, 0);
SetupScript.LineAdd(447, 19, 0);
SetupScript.LineAdd(268, 19, 0);
SetupScript.LineAdd(190, 38, 0);
SetupScript.LineAdd(81, 86, 0);
SetupScript.LineAdd(51, 135, 0);
SetupScript.LineAdd(51, 203, 0);
SetupScript.LineAdd(32, 306, 0);
SetupScript.LineAdd(32, 371, 0);
SetupScript.LineAdd(-92, 377, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2511, 190, 0, "Collision", "", "", "");
SetupScript.LineAdd(2617, 176, 0);
SetupScript.LineAdd(2592, 1704, 0);
SetupScript.LineAdd(1772, 1808, 0);
SetupScript.LineAdd(1791, 1517, 0);
SetupScript.LineAdd(1829, 1509, 0);
SetupScript.LineAdd(1878, 1550, 0);
SetupScript.LineAdd(1932, 1574, 0);
SetupScript.LineAdd(1984, 1593, 0);
SetupScript.LineAdd(2065, 1609, 0);
SetupScript.LineAdd(2155, 1609, 0);
SetupScript.LineAdd(2253, 1607, 0);
SetupScript.LineAdd(2321, 1601, 0);
SetupScript.LineAdd(2399, 1579, 0);
SetupScript.LineAdd(2459, 1552, 0);
SetupScript.LineAdd(2502, 1509, 0);
SetupScript.LineAdd(2532, 1460, 0);
SetupScript.LineAdd(2543, 1406, 0);
SetupScript.LineAdd(2549, 1251, 0);
SetupScript.LineAdd(2508, 999, 0);
SetupScript.LineAdd(2530, 885, 0);
SetupScript.LineAdd(2540, 787, 0);
SetupScript.LineAdd(2511, 659, 0);
SetupScript.LineAdd(2475, 575, 0);
SetupScript.LineAdd(2478, 499, 0);
SetupScript.LineAdd(2511, 423, 0);
SetupScript.LineAdd(2521, 290, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", -114, 347, 0, "Collision", "", "", "");
SetupScript.LineAdd(32, 369, 0);
SetupScript.LineAdd(21, 808, 0);
SetupScript.LineAdd(38, 1007, 0);
SetupScript.LineAdd(35, 1346, 0);
SetupScript.LineAdd(57, 1444, 0);
SetupScript.LineAdd(108, 1498, 0);
SetupScript.LineAdd(157, 1547, 0);
SetupScript.LineAdd(171, 1590, 0);
SetupScript.LineAdd(187, 1617, 0);
SetupScript.LineAdd(214, 1631, 0);
SetupScript.LineAdd(252, 1631, 0);
SetupScript.LineAdd(328, 1612, 0);
SetupScript.LineAdd(719, 1631, 0);
SetupScript.LineAdd(868, 1620, 0);
SetupScript.LineAdd(1142, 1623, 0);
SetupScript.LineAdd(1484, 1620, 0);
SetupScript.LineAdd(1569, 1604, 0);
SetupScript.LineAdd(1623, 1590, 0);
SetupScript.LineAdd(1655, 1574, 0);
SetupScript.LineAdd(1691, 1552, 0);
SetupScript.LineAdd(1721, 1528, 0);
SetupScript.LineAdd(1745, 1501, 0);
SetupScript.LineAdd(1778, 1501, 0);
SetupScript.LineAdd(1794, 1501, 0);
SetupScript.LineAdd(1778, 1726, 0);
SetupScript.LineAdd(-29, 1764, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 817, 982, 0, "Collision", "", "", "");
SetupScript.LineAdd(819, 878, 0);
SetupScript.LineAdd(839, 778, 0);
SetupScript.LineAdd(868, 739, 0);
SetupScript.LineAdd(905, 704, 0);
SetupScript.LineAdd(941, 681, 0);
SetupScript.LineAdd(993, 661, 0);
SetupScript.LineAdd(1052, 647, 0);
SetupScript.LineAdd(1101, 638, 0);
SetupScript.LineAdd(1486, 640, 0);
SetupScript.LineAdd(1615, 653, 0);
SetupScript.LineAdd(1670, 669, 0);
SetupScript.LineAdd(1728, 685, 0);
SetupScript.LineAdd(1767, 722, 0);
SetupScript.LineAdd(1783, 759, 0);
SetupScript.LineAdd(1797, 841, 0);
SetupScript.LineAdd(1795, 907, 0);
SetupScript.LineAdd(1795, 1429, 0);
SetupScript.LineAdd(1806, 1457, 0);
SetupScript.LineAdd(1820, 1484, 0);
SetupScript.LineAdd(1830, 1517, 0);
SetupScript.LineAdd(1808, 1552, 0);
SetupScript.LineAdd(1773, 1560, 0);
SetupScript.LineAdd(1750, 1545, 0);
SetupScript.LineAdd(1742, 1515, 0);
SetupScript.LineAdd(1742, 1492, 0);
SetupScript.LineAdd(1760, 1457, 0);
SetupScript.LineAdd(1763, 1414, 0);
SetupScript.LineAdd(1767, 1034, 0);
SetupScript.LineAdd(1756, 843, 0);
SetupScript.LineAdd(1732, 798, 0);
SetupScript.LineAdd(1685, 759, 0);
SetupScript.LineAdd(1625, 722, 0);
SetupScript.LineAdd(1560, 700, 0);
SetupScript.LineAdd(1464, 681, 0);
SetupScript.LineAdd(1394, 677, 0);
SetupScript.LineAdd(1281, 677, 0);
SetupScript.LineAdd(1115, 683, 0);
SetupScript.LineAdd(1023, 698, 0);
SetupScript.LineAdd(974, 716, 0);
SetupScript.LineAdd(931, 735, 0);
SetupScript.LineAdd(886, 767, 0);
SetupScript.LineAdd(853, 810, 0);
SetupScript.LineAdd(851, 860, 0);
SetupScript.LineAdd(847, 974, 0);
SetupScript.LineAdd(880, 995, 0);
SetupScript.LineAdd(911, 1011, 0);
SetupScript.LineAdd(935, 1038, 0);
SetupScript.LineAdd(935, 1058, 0);
SetupScript.LineAdd(921, 1070, 0);
SetupScript.LineAdd(894, 1077, 0);
SetupScript.LineAdd(851, 1091, 0);
SetupScript.LineAdd(823, 1085, 0);
SetupScript.LineAdd(806, 1044, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 311, 1081, 0, "Collision", "", "", "");
SetupScript.LineAdd(352, 1058, 0);
SetupScript.LineAdd(387, 1066, 0);
SetupScript.LineAdd(466, 1050, 0);
SetupScript.LineAdd(501, 1081, 0);
SetupScript.LineAdd(513, 1140, 0);
SetupScript.LineAdd(540, 1193, 0);
SetupScript.LineAdd(585, 1224, 0);
SetupScript.LineAdd(649, 1259, 0);
SetupScript.LineAdd(761, 1281, 0);
SetupScript.LineAdd(862, 0x0505, 0);
SetupScript.LineAdd(929, 1296, 0);
SetupScript.LineAdd(991, 1314, 0);
SetupScript.LineAdd(966, 1363, 0);
SetupScript.LineAdd(933, 1408, 0);
SetupScript.LineAdd(839, 1425, 0);
SetupScript.LineAdd(782, 1427, 0);
SetupScript.LineAdd(739, 1421, 0);
SetupScript.LineAdd(726, 1406, 0);
SetupScript.LineAdd(722, 1378, 0);
SetupScript.LineAdd(724, 1341, 0);
SetupScript.LineAdd(718, 1326, 0);
SetupScript.LineAdd(659, 1308, 0);
SetupScript.LineAdd(583, 1279, 0);
SetupScript.LineAdd(528, 1230, 0);
SetupScript.LineAdd(493, 1220, 0);
SetupScript.LineAdd(460, 1226, 0);
SetupScript.LineAdd(425, 1183, 0);
SetupScript.LineAdd(407, 1169, 0);
SetupScript.LineAdd(364, 1156, 0);
SetupScript.LineAdd(329, 1138, 0);
SetupScript.LineAdd(301, 1126, 0);
SetupScript.LineAdd(298, 1097, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1193, 884, 0, "Collision", "", "", "");
SetupScript.LineAdd(1271, 874, 0);
SetupScript.LineAdd(1324, 874, 0);
SetupScript.LineAdd(1369, 894, 0);
SetupScript.LineAdd(1406, 925, 0);
SetupScript.LineAdd(1435, 962, 0);
SetupScript.LineAdd(1437, 1013, 0);
SetupScript.LineAdd(1435, 1189, 0);
SetupScript.LineAdd(1435, 1308, 0);
SetupScript.LineAdd(1414, 1347, 0);
SetupScript.LineAdd(1380, 1380, 0);
SetupScript.LineAdd(1337, 1404, 0);
SetupScript.LineAdd(1275, 1414, 0);
SetupScript.LineAdd(1214, 1416, 0);
SetupScript.LineAdd(1163, 1416, 0);
SetupScript.LineAdd(1111, 1406, 0);
SetupScript.LineAdd(1070, 1386, 0);
SetupScript.LineAdd(1032, 1365, 0);
SetupScript.LineAdd(1005, 1349, 0);
SetupScript.LineAdd(976, 1341, 0);
SetupScript.LineAdd(982, 1310, 0);
SetupScript.LineAdd(1027, 1322, 0);
SetupScript.LineAdd(1075, 1349, 0);
SetupScript.LineAdd(1105, 1357, 0);
SetupScript.LineAdd(1148, 1326, 0);
SetupScript.LineAdd(1199, 1298, 0);
SetupScript.LineAdd(1253, 1281, 0);
SetupScript.LineAdd(1300, 1247, 0);
SetupScript.LineAdd(1359, 1206, 0);
SetupScript.LineAdd(1388, 1181, 0);
SetupScript.LineAdd(1402, 1146, 0);
SetupScript.LineAdd(1408, 1064, 0);
SetupScript.LineAdd(1402, 1013, 0);
SetupScript.LineAdd(1371, 989, 0);
SetupScript.LineAdd(1333, 984, 0);
SetupScript.LineAdd(1269, 966, 0);
SetupScript.LineAdd(1212, 952, 0);
SetupScript.LineAdd(1189, 931, 0);
SetupScript.LineAdd(1181, 909, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 682, 415, 0, "Collision", "", "", "");
SetupScript.LineAdd(713, 402, 0);
SetupScript.LineAdd(745, 405, 0);
SetupScript.LineAdd(765, 425, 0);
SetupScript.LineAdd(764, 469, 0);
SetupScript.LineAdd(741, 486, 0);
SetupScript.LineAdd(703, 495, 0);
SetupScript.LineAdd(668, 496, 0);
SetupScript.LineAdd(650, 482, 0);
SetupScript.LineAdd(651, 448, 0);
SetupScript.LineAdd(666, 429, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 415, 1015, 0, "Collision", "", "", "");
SetupScript.LineAdd(419, 530, 0);
SetupScript.LineAdd(425, 432, 0);
SetupScript.LineAdd(483, 348, 0);
SetupScript.LineAdd(522, 315, 0);
SetupScript.LineAdd(599, 286, 0);
SetupScript.LineAdd(667, 268, 0);
SetupScript.LineAdd(737, 260, 0);
SetupScript.LineAdd(808, 266, 0);
SetupScript.LineAdd(882, 280, 0);
SetupScript.LineAdd(937, 294, 0);
SetupScript.LineAdd(991, 321, 0);
SetupScript.LineAdd(1052, 344, 0);
SetupScript.LineAdd(1099, 350, 0);
SetupScript.LineAdd(1146, 354, 0);
SetupScript.LineAdd(1228, 354, 0);
SetupScript.LineAdd(1226, 395, 0);
SetupScript.LineAdd(1091, 391, 0);
SetupScript.LineAdd(1003, 372, 0);
SetupScript.LineAdd(915, 331, 0);
SetupScript.LineAdd(847, 309, 0);
SetupScript.LineAdd(774, 307, 0);
SetupScript.LineAdd(708, 307, 0);
SetupScript.LineAdd(626, 311, 0);
SetupScript.LineAdd(567, 344, 0);
SetupScript.LineAdd(511, 376, 0);
SetupScript.LineAdd(475, 417, 0);
SetupScript.LineAdd(452, 466, 0);
SetupScript.LineAdd(446, 608, 0);
SetupScript.LineAdd(448, 837, 0);
SetupScript.LineAdd(448, 1011, 0);
SetupScript.LineAdd(456, 1075, 0);
SetupScript.LineAdd(413, 1085, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1216, 352, 0, "Collision", "", "", "");
SetupScript.LineAdd(1357, 352, 0);
SetupScript.LineAdd(1541, 348, 0);
SetupScript.LineAdd(1627, 337, 0);
SetupScript.LineAdd(1687, 319, 0);
SetupScript.LineAdd(1732, 294, 0);
SetupScript.LineAdd(1787, 276, 0);
SetupScript.LineAdd(1844, 262, 0);
SetupScript.LineAdd(1908, 0xFF, 0);
SetupScript.LineAdd(1994, 260, 0);
SetupScript.LineAdd(2053, 270, 0);
SetupScript.LineAdd(2090, 290, 0);
SetupScript.LineAdd(2125, 335, 0);
SetupScript.LineAdd(2148, 395, 0);
SetupScript.LineAdd(2156, 528, 0);
SetupScript.LineAdd(2156, 610, 0);
SetupScript.LineAdd(2156, 726, 0);
SetupScript.LineAdd(2160, 886, 0);
SetupScript.LineAdd(2154, 964, 0);
SetupScript.LineAdd(2162, 1054, 0);
SetupScript.LineAdd(2164, 1115, 0);
SetupScript.LineAdd(2160, 1234, 0);
SetupScript.LineAdd(2154, 1304, 0);
SetupScript.LineAdd(2139, 1318, 0);
SetupScript.LineAdd(2121, 1320, 0);
SetupScript.LineAdd(2111, 1310, 0);
SetupScript.LineAdd(2098, 1290, 0);
SetupScript.LineAdd(2090, 1234, 0);
SetupScript.LineAdd(2100, 1038, 0);
SetupScript.LineAdd(2096, 819, 0);
SetupScript.LineAdd(2096, 634, 0);
SetupScript.LineAdd(2098, 468, 0);
SetupScript.LineAdd(2092, 374, 0);
SetupScript.LineAdd(2074, 354, 0);
SetupScript.LineAdd(2045, 321, 0);
SetupScript.LineAdd(1973, 303, 0);
SetupScript.LineAdd(1906, 303, 0);
SetupScript.LineAdd(1853, 307, 0);
SetupScript.LineAdd(1773, 327, 0);
SetupScript.LineAdd(1715, 360, 0);
SetupScript.LineAdd(1654, 380, 0);
SetupScript.LineAdd(1566, 399, 0);
SetupScript.LineAdd(1408, 399, 0);
SetupScript.LineAdd(1283, 399, 0);
SetupScript.LineAdd(1210, 395, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 245, 135, 0, "Collision", "", "", "");
SetupScript.LineAdd(290, 126, 0);
SetupScript.LineAdd(337, 109, 0);
SetupScript.LineAdd(372, 104, 0);
SetupScript.LineAdd(383, 120, 0);
SetupScript.LineAdd(372, 149, 0);
SetupScript.LineAdd(337, 167, 0);
SetupScript.LineAdd(280, 202, 0);
SetupScript.LineAdd(233, 227, 0);
SetupScript.LineAdd(208, 227, 0);
SetupScript.LineAdd(196, 217, 0);
SetupScript.LineAdd(190, 200, 0);
SetupScript.LineAdd(212, 176, 0);
SetupScript.LineAdd(235, 153, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1290, 1482, 3, "Path", "", "", "");
SetupScript.LineAdd(1487, 1404, 3);
SetupScript.LineAdd(1524, 1187, 3);
SetupScript.LineAdd(1475, 911, 3);
SetupScript.LineAdd(1350, 830, 3);
SetupScript.LineAdd(1126, 847, 3);
SetupScript.LineAdd(1084, 952, 3);
SetupScript.LineAdd(1082, 1089, 3);
SetupScript.LineAdd(935, 1172, 3);
SetupScript.LineAdd(708, 1201, 3);
SetupScript.LineAdd(608, 1052, 3);
SetupScript.LineAdd(637, 652, 3);
SetupScript.LineAdd(810, 549, 3);
SetupScript.LineAdd(1260, 510, 3);
SetupScript.LineAdd(1785, 522, 3);
SetupScript.LineAdd(2003, 596, 3);
SetupScript.LineAdd(2015, 854, 3);
SetupScript.LineAdd(2069, 1353, 3);
SetupScript.LineAdd(2176, 1372, 3);
SetupScript.LineAdd(2198, 1282, 3);
SetupScript.LineAdd(2208, 972, 3);
SetupScript.LineAdd(2218, 618, 3);
SetupScript.LineAdd(2188, 344, 3);
SetupScript.LineAdd(2071, 227, 3);
SetupScript.LineAdd(1841, 212, 3);
SetupScript.LineAdd(1177, 195, 3);
SetupScript.LineAdd(727, 217, 3);
SetupScript.LineAdd(432, 315, 3);
SetupScript.LineAdd(264, 450, 3);
SetupScript.LineAdd(233, 745, 3);
SetupScript.LineAdd(223, 921, 3);
SetupScript.LineAdd(253, 1253, 3);
SetupScript.LineAdd(288, 1390, 3);
SetupScript.LineAdd(438, 1459, 3);
SetupScript.LineAdd(722, 1478, 3);
SetupScript.LineAdd(1023, 1498, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1288, 1528, 3, "Path", "", "", "");
SetupScript.LineAdd(1502, 1446, 3);
SetupScript.LineAdd(1573, 1272, 3);
SetupScript.LineAdd(1636, 1079, 3);
SetupScript.LineAdd(1521, 908, 3);
SetupScript.LineAdd(1192, 786, 3);
SetupScript.LineAdd(1074, 832, 3);
SetupScript.LineAdd(1021, 1013, 3);
SetupScript.LineAdd(977, 1113, 3);
SetupScript.LineAdd(779, 1143, 3);
SetupScript.LineAdd(710, 1013, 3);
SetupScript.LineAdd(725, 693, 3);
SetupScript.LineAdd(891, 600, 3);
SetupScript.LineAdd(1419, 561, 3);
SetupScript.LineAdd(1856, 603, 3);
SetupScript.LineAdd(1929, 749, 3);
SetupScript.LineAdd(1937, 1104, 3);
SetupScript.LineAdd(2049, 1402, 3);
SetupScript.LineAdd(2186, 1426, 3);
SetupScript.LineAdd(2237, 1336, 3);
SetupScript.LineAdd(2279, 1133, 3);
SetupScript.LineAdd(2286, 740, 3);
SetupScript.LineAdd(2239, 366, 3);
SetupScript.LineAdd(2117, 185, 3);
SetupScript.LineAdd(1665, 144, 3);
SetupScript.LineAdd(1157, 151, 3);
SetupScript.LineAdd(789, 161, 3);
SetupScript.LineAdd(439, 263, 3);
SetupScript.LineAdd(229, 422, 3);
SetupScript.LineAdd(180, 740, 3);
SetupScript.LineAdd(158, 1221, 3);
SetupScript.LineAdd(293, 1477, 3);
SetupScript.LineAdd(571, 1521, 3);
SetupScript.LineAdd(1030, 1534, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1292, 1575, 3, "Path", "", "", "");
SetupScript.LineAdd(1477, 1516, 3);
SetupScript.LineAdd(1578, 1372, 3);
SetupScript.LineAdd(1509, 959, 3);
SetupScript.LineAdd(1426, 0x0303, 3);
SetupScript.LineAdd(1189, 769, 3);
SetupScript.LineAdd(1001, 867, 3);
SetupScript.LineAdd(977, 1152, 3);
SetupScript.LineAdd(737, 1148, 3);
SetupScript.LineAdd(649, 938, 3);
SetupScript.LineAdd(723, 688, 3);
SetupScript.LineAdd(835, 615, 3);
SetupScript.LineAdd(1350, 571, 3);
SetupScript.LineAdd(1753, 583, 3);
SetupScript.LineAdd(1939, 664, 3);
SetupScript.LineAdd(1949, 930, 3);
SetupScript.LineAdd(1963, 1377, 3);
SetupScript.LineAdd(2042, 1450, 3);
SetupScript.LineAdd(2171, 1450, 3);
SetupScript.LineAdd(2266, 1392, 3);
SetupScript.LineAdd(2310, 1260, 3);
SetupScript.LineAdd(2330, 959, 3);
SetupScript.LineAdd(2323, 703, 3);
SetupScript.LineAdd(2266, 349, 3);
SetupScript.LineAdd(2147, 173, 3);
SetupScript.LineAdd(1871, 136, 3);
SetupScript.LineAdd(1634, 109, 3);
SetupScript.LineAdd(1243, 127, 3);
SetupScript.LineAdd(923, 131, 3);
SetupScript.LineAdd(583, 163, 3);
SetupScript.LineAdd(415, 251, 3);
SetupScript.LineAdd(271, 346, 3);
SetupScript.LineAdd(161, 742, 3);
SetupScript.LineAdd(105, 1074, 3);
SetupScript.LineAdd(180, 1416, 3);
SetupScript.LineAdd(361, 1538, 3);
SetupScript.LineAdd(693, 1558, 3);
SetupScript.LineAdd(1043, 1570, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 411, 1336, 0, "Collision", "", "", "");
SetupScript.LineAdd(450, 1365, 0);
SetupScript.LineAdd(489, 1371, 0);
SetupScript.LineAdd(515.3819, 1392.718, 0);
SetupScript.LineAdd(522, 1405, 0);
SetupScript.LineAdd(515, 1416, 0);
SetupScript.LineAdd(480, 1420, 0);
SetupScript.LineAdd(448, 1409, 0);
SetupScript.LineAdd(403, 1404, 0);
SetupScript.LineAdd(350, 1372, 0);
SetupScript.LineAdd(370, 1341, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 89, 847, 2, "Zone", "", "", "");
SetupScript.LineAdd(259, 852, 2);
SetupScript.LineAdd(264, 903, 2);
SetupScript.LineAdd(80, 903, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 82, 519, 2, "Zone", "", "", "");
SetupScript.LineAdd(264, 527, 2);
SetupScript.LineAdd(267, 585, 2);
SetupScript.LineAdd(70, 580, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1107, 85, 2, "Zone", "", "", "");
SetupScript.LineAdd(1105, 216, 2);
SetupScript.LineAdd(1022, 221, 2);
SetupScript.LineAdd(1010, 89, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1615, 87, 2, "Zone", "", "", "");
SetupScript.LineAdd(1617, 223, 2);
SetupScript.LineAdd(1544, 225, 2);
SetupScript.LineAdd(1530, 89, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2188, 408, 2, "Zone", "", "", "");
SetupScript.LineAdd(2372, 410, 2);
SetupScript.LineAdd(2372, 471, 2);
SetupScript.LineAdd(2193, 476, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2183, 582, 2, "Zone", "", "", "");
SetupScript.LineAdd(2368, 578, 2);
SetupScript.LineAdd(2375, 653, 2);
SetupScript.LineAdd(2185, 655, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2205, 743, 2, "Zone", "", "", "");
SetupScript.LineAdd(2360, 740, 2);
SetupScript.LineAdd(2365, 799, 2);
SetupScript.LineAdd(2190, 803, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2210, 1073, 2, "Zone", "", "", "");
SetupScript.LineAdd(2355, 1063, 2);
SetupScript.LineAdd(2358, 1112, 2);
SetupScript.LineAdd(2198, 1114, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1605, 466, 2, "Zone", "", "", "");
SetupScript.LineAdd(1692, 471, 2);
SetupScript.LineAdd(1692, 614, 2);
SetupScript.LineAdd(1607, 609, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1061, 471, 2, "Zone", "", "", "");
SetupScript.LineAdd(1141, 471, 2);
SetupScript.LineAdd(1148, 612, 2);
SetupScript.LineAdd(1063, 612, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 828, 1394, 7, "Checkpoint", "", "26", "");
SetupScript.LineAdd(869, 1394, 7);
SetupScript.LineAdd(874, 1673, 7);
SetupScript.LineAdd(825, 1666, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 0, 684, 7, "Checkpoint", "", "22", "");
SetupScript.LineAdd(432, 680, 7);
SetupScript.LineAdd(432, 723, 7);
SetupScript.LineAdd(9, 735, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1406, 7, 7, "Checkpoint", "", "19", "");
SetupScript.LineAdd(1435, 371, 7);
SetupScript.LineAdd(1382, 371, 7);
SetupScript.LineAdd(1372, 14, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2125, 667, 7, "Checkpoint", "", "16", "");
SetupScript.LineAdd(2542, 663, 7);
SetupScript.LineAdd(2545, 704, 7);
SetupScript.LineAdd(2132, 701, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2117, 1262, 7, "Checkpoint", "", "13", "");
SetupScript.LineAdd(2147, 1262, 7);
SetupScript.LineAdd(2173, 1658, 7);
SetupScript.LineAdd(2120, 1651, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1773, 842, 7, "Checkpoint", "", "11", "");
SetupScript.LineAdd(2130, 835, 7);
SetupScript.LineAdd(2127, 874, 7);
SetupScript.LineAdd(1775, 876, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1228, 366, 7, "Checkpoint", "", "9", "");
SetupScript.LineAdd(1284, 366, 7);
SetupScript.LineAdd(1297, 655, 7);
SetupScript.LineAdd(1248, 655, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 429, 908, 7, "Checkpoint", "", "6", "");
SetupScript.LineAdd(837, 903, 7);
SetupScript.LineAdd(835, 925, 7);
SetupScript.LineAdd(427, 944, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1112, 660, 7, "Checkpoint", "", "3", "");
SetupScript.LineAdd(1146, 655, 7);
SetupScript.LineAdd(1248, 910, 7);
SetupScript.LineAdd(1202, 918, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1418, 1158, 7, "Checkpoint", "", "1", "");
SetupScript.LineAdd(1782, 1153, 7);
SetupScript.LineAdd(1782, 1197, 7);
SetupScript.LineAdd(1423, 1199, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1105, 1382, 7, "Checkpoint", "", "27", "");
SetupScript.LineAdd(1141, 1382, 7);
SetupScript.LineAdd(1156, 1656, 7);
SetupScript.LineAdd(1114, 1658, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 35, 1487, 7, "Checkpoint", "", "24", "");
SetupScript.LineAdd(496, 1189, 7);
SetupScript.LineAdd(534, 1210, 7);
SetupScript.LineAdd(67, 1531, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 602, 1259, 7, "Checkpoint", "", "25", "");
SetupScript.LineAdd(635, 1275, 7);
SetupScript.LineAdd(453, 1674, 7);
SetupScript.LineAdd(404, 1666, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 5, 1058, 7, "Checkpoint", "", "23", "");
SetupScript.LineAdd(431, 1026, 7);
SetupScript.LineAdd(434, 1056, 7);
SetupScript.LineAdd(10, 1115, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 138, 13, 7, "Checkpoint", "", "21", "");
SetupScript.LineAdd(534, 404, 7);
SetupScript.LineAdd(502, 431, 7);
SetupScript.LineAdd(86, 29, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 863, 13, 7, "Checkpoint", "", "20", "");
SetupScript.LineAdd(860, 333, 7);
SetupScript.LineAdd(822, 333, 7);
SetupScript.LineAdd(822, 16, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1932, 16, 7, "Checkpoint", "", "18", "");
SetupScript.LineAdd(1938, 333, 7);
SetupScript.LineAdd(1894, 331, 7);
SetupScript.LineAdd(1900, 13, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2049, 366, 7, "Checkpoint", "", "17", "");
SetupScript.LineAdd(2440, 84, 7);
SetupScript.LineAdd(2486, 133, 7);
SetupScript.LineAdd(2071, 399, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2131, 1012, 7, "Checkpoint", "", "15", "");
SetupScript.LineAdd(2532, 1031, 7);
SetupScript.LineAdd(2535, 1077, 7);
SetupScript.LineAdd(2141, 1072, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2141, 1216, 7, "Checkpoint", "", "14", "");
SetupScript.LineAdd(2581, 1297, 7);
SetupScript.LineAdd(2576, 1332, 7);
SetupScript.LineAdd(2141, 1248, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1775, 1240, 7, "Checkpoint", "", "12", "");
SetupScript.LineAdd(2120, 1156, 7);
SetupScript.LineAdd(2117, 1183, 7);
SetupScript.LineAdd(1778, 1281, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1441, 662, 7, "Checkpoint", "", "10", "");
SetupScript.LineAdd(1468, 352, 7);
SetupScript.LineAdd(1514, 352, 7);
SetupScript.LineAdd(1479, 662, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 754, 266, 7, "Checkpoint", "", "8", "");
SetupScript.LineAdd(789, 266, 7);
SetupScript.LineAdd(936, 705, 7);
SetupScript.LineAdd(893, 738, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 420, 754, 7, "Checkpoint", "", "7", "");
SetupScript.LineAdd(857, 787, 7);
SetupScript.LineAdd(844, 822, 7);
SetupScript.LineAdd(428, 789, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 833, 1039, 7, "Checkpoint", "", "5", "");
SetupScript.LineAdd(868, 1050, 7);
SetupScript.LineAdd(0x0300, 1303, 7);
SetupScript.LineAdd(716, 1294, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 833, 944, 7, "Checkpoint", "", "4", "");
SetupScript.LineAdd(1213, 904, 7);
SetupScript.LineAdd(1218, 928, 7);
SetupScript.LineAdd(836, 974, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1658, 711, 7, "Checkpoint", "", "2", "");
SetupScript.LineAdd(1710, 751, 7);
SetupScript.LineAdd(1398, 963, 7);
SetupScript.LineAdd(1365, 931, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1406, 1313, 7, "Checkpoint", "", "0", "");
SetupScript.LineAdd(1685, 1590, 7);
SetupScript.LineAdd(1642, 1617, 7);
SetupScript.LineAdd(1387, 1338, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1117, 254, 0, "Collision", "", "", "");
SetupScript.LineAdd(1143, 246, 0);
SetupScript.LineAdd(1364, 246, 0);
SetupScript.LineAdd(1562, 248, 0);
SetupScript.LineAdd(1589, 259, 0);
SetupScript.LineAdd(1590, 276, 0);
SetupScript.LineAdd(1579, 283, 0);
SetupScript.LineAdd(1438, 282, 0);
SetupScript.LineAdd(1129, 282, 0);
SetupScript.LineAdd(1107, 278, 0);
SetupScript.LineAdd(1093, 269, 0);
SetupScript.LineAdd(1095, 259, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 573, 788, 2, "Zone", "", "", "");
SetupScript.LineAdd(724, 798, 2);
SetupScript.LineAdd(721, 858, 2);
SetupScript.LineAdd(566, 857, 2);
SetupScript.LineEnd(true);
SetupScript.AddObject("Undefined", 1090, 1474, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1090, 1498, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1088, 1519, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1088, 1539, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1086, 1564, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1064, 1565, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1070, 1538, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1068, 1516, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1070, 1499, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1070, 1473, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1050, 1475, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1050, 1493, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1047, 1528, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1047, 1555, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1050, 1567, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1013, 1561, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1013, 1541, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1013, 1518, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1013, 1498, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1015, 1473, "StartPoint", "obj", "", 90, 0, 0, 0);
SetupScript.AddObject("Undefined", 1001, 1400, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 678, 1392, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 356, 1194, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 0x0101, 1600, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 376, 1022, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 72, 307, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 442, 43, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 213, 135, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 521, 297, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1311, 63, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1350, 320, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2322, 122, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2512, 793, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2510, 1238, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2231, 1593, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2127, 1349, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1971, 1576, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1822, 1326, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2060, 479, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1726, 387, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1754, 662, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 629, 493, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 790, 423, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 854, 713, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1090, 1284, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1308, 1012, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1662, 1513, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1520, 721, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1735, 897, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 420, 1313, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 362, 1326, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 336, 1367, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 359, 1402, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 418, 1430, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 469, 1437, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 524, 1429, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 534, 1375, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 349, 1592, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 309, 1581, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 269, 1565, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 228, 0x0606, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 202, 1519, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 234, 807, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 216, 760, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 187, 721, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 157, 686, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 103, 639, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 302, 590, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 336, 561, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 362, 523, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 373, 486, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 869, 92, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 900, 98, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 935, 115, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 970, 129, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 994, 144, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 907, 265, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 963, 262, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1008, 259, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1049, 260, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1628, 0x0101, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1668, 258, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1711, 258, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1756, 260, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2124, 113, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2209, 140, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2267, 162, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2320, 198, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2356, 234, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2435, 604, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2438, 720, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2443, 863, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2443, 961, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2440, 1078, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2447, 1237, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2443, 1345, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2180, 1252, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2184, 1288, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2192, 1316, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2192, 1349, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2172, 1383, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2132, 1395, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2098, 1382, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2082, 1365, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2067, 1322, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2073, 1263, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2029, 499, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1985, 466, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1944, 447, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1899, 431, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1855, 424, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 883, 495, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 805, 513, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 724, 545, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 676, 571, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 634, 605, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 585, 656, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 660, 1167, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 725, 1194, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 799, 1207, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 889, 1195, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 933, 1175, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 974, 1146, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1007, 1106, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1402, 744, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1453, 744, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1516, 761, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1576, 796, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1644, 859, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1682, 940, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1613, 1459, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1574, 1495, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1534, 1515, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1468, 1547, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 149, 258, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 136, 190, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1916, 379, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1975, 405, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2451, 267, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2503, 323, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2450, 404, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2464, 0x0303, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2490, 1165, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2522, 1318, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2494, 1388, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1827, 1164, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1827, 1070, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1822, 979, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1504, 426, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1402, 427, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1304, 419, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1199, 427, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 753, 321, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 671, 328, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 591, 353, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 489, 521, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 479, 582, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 523, 598, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 517, 547, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 491, 560, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 895, 816, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 925, 784, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 956, 760, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1172, 1199, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1220, 1155, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1248, 1104, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1247, 1031, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1736, 1060, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1738, 1126, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1737, 1191, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 380, 756, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 470, 1340, "Obstacle", "obj", "Snowman", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 483, 817, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 371, 887, "PickupGen", "obj", "", 0, 0, 0, 0);
}
}
}//package
Section 60
//LevelDef_Level4 (LevelDef_Level4)
package {
public class LevelDef_Level4 {
public static function Init(){
SetupScript.LineStart("Jump", 57, 1068, 2, "Zone", "", "", "");
SetupScript.LineAdd(213, 1068, 2);
SetupScript.LineAdd(216, 1156, 2);
SetupScript.LineAdd(52, 1156, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1649, 487, 2, "Zone", "", "", "");
SetupScript.LineAdd(1794, 491, 2);
SetupScript.LineAdd(0x0707, 571, 2);
SetupScript.LineAdd(1644, 565, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2114, 958, 2, "Zone", "", "", "");
SetupScript.LineAdd(2263, 956, 2);
SetupScript.LineAdd(2269, 1026, 2);
SetupScript.LineAdd(2106, 1026, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1835, 1399, 2, "Zone", "", "", "");
SetupScript.LineAdd(1915, 1402, 2);
SetupScript.LineAdd(1915, 1505, 2);
SetupScript.LineAdd(1840, 1503, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1987, 84, 0, "Collision", "", "", "");
SetupScript.LineAdd(2185, 97, 0);
SetupScript.LineAdd(2535, 328, 0);
SetupScript.LineAdd(2540, 537, 0);
SetupScript.LineAdd(2359, 632, 0);
SetupScript.LineAdd(2334, 665, 0);
SetupScript.LineAdd(2331, 735, 0);
SetupScript.LineAdd(2334, 1053, 0);
SetupScript.LineAdd(2353, 1085, 0);
SetupScript.LineAdd(2397, 1115, 0);
SetupScript.LineAdd(2426, 1164, 0);
SetupScript.LineAdd(2426, 1208, 0);
SetupScript.LineAdd(2473, 1227, 0);
SetupScript.LineAdd(2535, 1232, 0);
SetupScript.LineAdd(2614, 1243, 0);
SetupScript.LineAdd(2614, -35, 0);
SetupScript.LineAdd(1987, -54, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2579, 1224, 0, "Collision", "", "", "");
SetupScript.LineAdd(2584, 1645, 0);
SetupScript.LineAdd(-54, 1683, 0);
SetupScript.LineAdd(-67, 1338, 0);
SetupScript.LineAdd(70, 1381, 0);
SetupScript.LineAdd(173, 1425, 0);
SetupScript.LineAdd(225, 1493, 0);
SetupScript.LineAdd(271, 1539, 0);
SetupScript.LineAdd(331, 1590, 0);
SetupScript.LineAdd(396, 1596, 0);
SetupScript.LineAdd(529, 1604, 0);
SetupScript.LineAdd(724, 1604, 0);
SetupScript.LineAdd(917, 1596, 0);
SetupScript.LineAdd(993, 1598, 0);
SetupScript.LineAdd(1007, 1579, 0);
SetupScript.LineAdd(1007, 1528, 0);
SetupScript.LineAdd(1007, 1303, 0);
SetupScript.LineAdd(996, 1281, 0);
SetupScript.LineAdd(982, 1273, 0);
SetupScript.LineAdd(917, 1267, 0);
SetupScript.LineAdd(898, 1243, 0);
SetupScript.LineAdd(893, 1189, 0);
SetupScript.LineAdd(904, 1151, 0);
SetupScript.LineAdd(942, 1115, 0);
SetupScript.LineAdd(1001, 1096, 0);
SetupScript.LineAdd(1069, 1099, 0);
SetupScript.LineAdd(1118, 1137, 0);
SetupScript.LineAdd(1142, 1191, 0);
SetupScript.LineAdd(1153, 1232, 0);
SetupScript.LineAdd(1186, 1256, 0);
SetupScript.LineAdd(1218, 1275, 0);
SetupScript.LineAdd(1248, 1270, 0);
SetupScript.LineAdd(1286, 1281, 0);
SetupScript.LineAdd(1311, 1294, 0);
SetupScript.LineAdd(1311, 1322, 0);
SetupScript.LineAdd(1316, 1430, 0);
SetupScript.LineAdd(1332, 1457, 0);
SetupScript.LineAdd(1360, 1474, 0);
SetupScript.LineAdd(1406, 1517, 0);
SetupScript.LineAdd(1414, 1560, 0);
SetupScript.LineAdd(1419, 1588, 0);
SetupScript.LineAdd(1438, 1604, 0);
SetupScript.LineAdd(1465, 1596, 0);
SetupScript.LineAdd(1680, 1596, 0);
SetupScript.LineAdd(2451, 1590, 0);
SetupScript.LineAdd(2451, 1569, 0);
SetupScript.LineAdd(2451, 1531, 0);
SetupScript.LineAdd(2451, 1495, 0);
SetupScript.LineAdd(2467, 1474, 0);
SetupScript.LineAdd(2502, 1452, 0);
SetupScript.LineAdd(2535, 1444, 0);
SetupScript.LineAdd(2559, 1422, 0);
SetupScript.LineAdd(2543, 1205, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 366, -86, 0, "Collision", "", "", "");
SetupScript.LineAdd(371, 10, 0);
SetupScript.LineAdd(304, 24, 0);
SetupScript.LineAdd(222, 24, 0);
SetupScript.LineAdd(146, 27, 0);
SetupScript.LineAdd(78, 27, 0);
SetupScript.LineAdd(54, 32, 0);
SetupScript.LineAdd(43, 65, 0);
SetupScript.LineAdd(38, 108, 0);
SetupScript.LineAdd(19, 211, 0);
SetupScript.LineAdd(27, 301, 0);
SetupScript.LineAdd(62, 344, 0);
SetupScript.LineAdd(105, 366, 0);
SetupScript.LineAdd(114, 393, 0);
SetupScript.LineAdd(116, 431, 0);
SetupScript.LineAdd(92, 464, 0);
SetupScript.LineAdd(40, 513, 0);
SetupScript.LineAdd(32, 545, 0);
SetupScript.LineAdd(48, 580, 0);
SetupScript.LineAdd(92, 627, 0);
SetupScript.LineAdd(138, 656, 0);
SetupScript.LineAdd(187, 678, 0);
SetupScript.LineAdd(187, 730, 0);
SetupScript.LineAdd(165, 800, 0);
SetupScript.LineAdd(105, 830, 0);
SetupScript.LineAdd(54, 879, 0);
SetupScript.LineAdd(5, 914, 0);
SetupScript.LineAdd(-10, 944, 0);
SetupScript.LineAdd(-16, 1156, 0);
SetupScript.LineAdd(2, 1292, 0);
SetupScript.LineAdd(51, 1324, 0);
SetupScript.LineAdd(84, 1354, 0);
SetupScript.LineAdd(89, 1389, 0);
SetupScript.LineAdd(62, 1408, 0);
SetupScript.LineAdd(-43, 1406, 0);
SetupScript.LineAdd(-89, -27, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2000, -35, 0, "Collision", "", "", "");
SetupScript.LineAdd(1992, 84, 0);
SetupScript.LineAdd(1897, 103, 0);
SetupScript.LineAdd(1810, 138, 0);
SetupScript.LineAdd(1655, 247, 0);
SetupScript.LineAdd(1626, 282, 0);
SetupScript.LineAdd(1623, 317, 0);
SetupScript.LineAdd(1617, 407, 0);
SetupScript.LineAdd(1582, 447, 0);
SetupScript.LineAdd(1493, 447, 0);
SetupScript.LineAdd(1373, 447, 0);
SetupScript.LineAdd(1308, 431, 0);
SetupScript.LineAdd(1286, 409, 0);
SetupScript.LineAdd(1284, 380, 0);
SetupScript.LineAdd(1294, 350, 0);
SetupScript.LineAdd(1327, 333, 0);
SetupScript.LineAdd(1357, 268, 0);
SetupScript.LineAdd(1351, 160, 0);
SetupScript.LineAdd(1313, 111, 0);
SetupScript.LineAdd(1240, 78, 0);
SetupScript.LineAdd(1088, 70, 0);
SetupScript.LineAdd(1004, 70, 0);
SetupScript.LineAdd(931, 97, 0);
SetupScript.LineAdd(846, 146, 0);
SetupScript.LineAdd(789, 184, 0);
SetupScript.LineAdd(716, 195, 0);
SetupScript.LineAdd(656, 184, 0);
SetupScript.LineAdd(586, 157, 0);
SetupScript.LineAdd(513, 105, 0);
SetupScript.LineAdd(439, 57, 0);
SetupScript.LineAdd(385, 19, 0);
SetupScript.LineAdd(363, 2, 0);
SetupScript.LineAdd(363, -59, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 314, 222, 0, "Collision", "", "", "");
SetupScript.LineAdd(363, 222, 0);
SetupScript.LineAdd(401, 252, 0);
SetupScript.LineAdd(461, 301, 0);
SetupScript.LineAdd(513, 328, 0);
SetupScript.LineAdd(556, 325, 0);
SetupScript.LineAdd(589, 339, 0);
SetupScript.LineAdd(627, 390, 0);
SetupScript.LineAdd(665, 431, 0);
SetupScript.LineAdd(716, 442, 0);
SetupScript.LineAdd(762, 426, 0);
SetupScript.LineAdd(814, 396, 0);
SetupScript.LineAdd(895, 355, 0);
SetupScript.LineAdd(950, 320, 0);
SetupScript.LineAdd(993, 293, 0);
SetupScript.LineAdd(1045, 266, 0);
SetupScript.LineAdd(1072, 263, 0);
SetupScript.LineAdd(1091, 274, 0);
SetupScript.LineAdd(1088, 290, 0);
SetupScript.LineAdd(1066, 309, 0);
SetupScript.LineAdd(0x0404, 331, 0);
SetupScript.LineAdd(914, 399, 0);
SetupScript.LineAdd(827, 447, 0);
SetupScript.LineAdd(719, 494, 0);
SetupScript.LineAdd(694, 526, 0);
SetupScript.LineAdd(692, 556, 0);
SetupScript.LineAdd(694, 602, 0);
SetupScript.LineAdd(705, 640, 0);
SetupScript.LineAdd(776, 705, 0);
SetupScript.LineAdd(838, 773, 0);
SetupScript.LineAdd(868, 784, 0);
SetupScript.LineAdd(893, 784, 0);
SetupScript.LineAdd(988, 749, 0);
SetupScript.LineAdd(1058, 722, 0);
SetupScript.LineAdd(1134, 675, 0);
SetupScript.LineAdd(1175, 646, 0);
SetupScript.LineAdd(1232, 621, 0);
SetupScript.LineAdd(1297, 618, 0);
SetupScript.LineAdd(1343, 624, 0);
SetupScript.LineAdd(1368, 673, 0);
SetupScript.LineAdd(1368, 722, 0);
SetupScript.LineAdd(1368, 841, 0);
SetupScript.LineAdd(1360, 871, 0);
SetupScript.LineAdd(1319, 887, 0);
SetupScript.LineAdd(1270, 890, 0);
SetupScript.LineAdd(1180, 890, 0);
SetupScript.LineAdd(980, 909, 0);
SetupScript.LineAdd(874, 920, 0);
SetupScript.LineAdd(757, 931, 0);
SetupScript.LineAdd(716, 955, 0);
SetupScript.LineAdd(689, 980, 0);
SetupScript.LineAdd(675, 1018, 0);
SetupScript.LineAdd(665, 1088, 0);
SetupScript.LineAdd(662, 1365, 0);
SetupScript.LineAdd(643, 1398, 0);
SetupScript.LineAdd(599, 1408, 0);
SetupScript.LineAdd(559, 1414, 0);
SetupScript.LineAdd(515, 1406, 0);
SetupScript.LineAdd(475, 1381, 0);
SetupScript.LineAdd(268, 1237, 0);
SetupScript.LineAdd(0xFF, 1218, 0);
SetupScript.LineAdd(0xFF, 1191, 0);
SetupScript.LineAdd(252, 1034, 0);
SetupScript.LineAdd(263, 1009, 0);
SetupScript.LineAdd(287, 990, 0);
SetupScript.LineAdd(323, 971, 0);
SetupScript.LineAdd(339, 950, 0);
SetupScript.LineAdd(361, 912, 0);
SetupScript.LineAdd(412, 879, 0);
SetupScript.LineAdd(453, 863, 0);
SetupScript.LineAdd(461, 830, 0);
SetupScript.LineAdd(456, 602, 0);
SetupScript.LineAdd(431, 561, 0);
SetupScript.LineAdd(388, 518, 0);
SetupScript.LineAdd(363, 483, 0);
SetupScript.LineAdd(366, 447, 0);
SetupScript.LineAdd(390, 396, 0);
SetupScript.LineAdd(393, 363, 0);
SetupScript.LineAdd(369, 312, 0);
SetupScript.LineAdd(331, 266, 0);
SetupScript.LineAdd(312, 244, 0);
SetupScript.LineAdd(306, 230, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 977, 534, 0, "Collision", "", "", "");
SetupScript.LineAdd(1042, 494, 0);
SetupScript.LineAdd(1091, 458, 0);
SetupScript.LineAdd(1132, 434, 0);
SetupScript.LineAdd(1180, 407, 0);
SetupScript.LineAdd(1229, 382, 0);
SetupScript.LineAdd(1262, 369, 0);
SetupScript.LineAdd(1292, 363, 0);
SetupScript.LineAdd(1305, 377, 0);
SetupScript.LineAdd(1305, 399, 0);
SetupScript.LineAdd(1270, 426, 0);
SetupScript.LineAdd(1199, 450, 0);
SetupScript.LineAdd(1118, 499, 0);
SetupScript.LineAdd(1045, 537, 0);
SetupScript.LineAdd(1009, 561, 0);
SetupScript.LineAdd(977, 589, 0);
SetupScript.LineAdd(958, 591, 0);
SetupScript.LineAdd(947, 580, 0);
SetupScript.LineAdd(947, 559, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1615, 510, 0, "Collision", "", "", "");
SetupScript.LineAdd(1617, 575, 0);
SetupScript.LineAdd(1617, 692, 0);
SetupScript.LineAdd(1617, 784, 0);
SetupScript.LineAdd(1615, 800, 0);
SetupScript.LineAdd(1601, 811, 0);
SetupScript.LineAdd(1593, 811, 0);
SetupScript.LineAdd(1579, 803, 0);
SetupScript.LineAdd(1577, 784, 0);
SetupScript.LineAdd(1577, 705, 0);
SetupScript.LineAdd(1569, 610, 0);
SetupScript.LineAdd(1550, 561, 0);
SetupScript.LineAdd(1531, 529, 0);
SetupScript.LineAdd(1509, 510, 0);
SetupScript.LineAdd(1468, 488, 0);
SetupScript.LineAdd(1468, 472, 0);
SetupScript.LineAdd(1455, 428, 0);
SetupScript.LineAdd(1582, 385, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1370, 866, 0, "Collision", "", "", "");
SetupScript.LineAdd(1392, 912, 0);
SetupScript.LineAdd(1425, 944, 0);
SetupScript.LineAdd(1455, 1007, 0);
SetupScript.LineAdd(1471, 1037, 0);
SetupScript.LineAdd(1433, 1123, 0);
SetupScript.LineAdd(1400, 1096, 0);
SetupScript.LineAdd(1351, 1047, 0);
SetupScript.LineAdd(1313, 993, 0);
SetupScript.LineAdd(1289, 958, 0);
SetupScript.LineAdd(1270, 912, 0);
SetupScript.LineAdd(1248, 855, 0);
SetupScript.LineAdd(1341, 830, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1620, 1001, 0, "Collision", "", "", "");
SetupScript.LineAdd(1729, 980, 0);
SetupScript.LineAdd(1805, 947, 0);
SetupScript.LineAdd(1851, 895, 0);
SetupScript.LineAdd(1870, 846, 0);
SetupScript.LineAdd(1865, 800, 0);
SetupScript.LineAdd(1851, 749, 0);
SetupScript.LineAdd(1851, 705, 0);
SetupScript.LineAdd(1854, 643, 0);
SetupScript.LineAdd(1875, 578, 0);
SetupScript.LineAdd(1865, 521, 0);
SetupScript.LineAdd(1865, 445, 0);
SetupScript.LineAdd(1892, 366, 0);
SetupScript.LineAdd(1930, 323, 0);
SetupScript.LineAdd(1965, 306, 0);
SetupScript.LineAdd(2022, 298, 0);
SetupScript.LineAdd(2093, 304, 0);
SetupScript.LineAdd(2152, 325, 0);
SetupScript.LineAdd(2207, 371, 0);
SetupScript.LineAdd(2245, 418, 0);
SetupScript.LineAdd(2245, 453, 0);
SetupScript.LineAdd(2228, 491, 0);
SetupScript.LineAdd(2174, 534, 0);
SetupScript.LineAdd(2057, 616, 0);
SetupScript.LineAdd(2027, 659, 0);
SetupScript.LineAdd(2014, 700, 0);
SetupScript.LineAdd(2041, 760, 0);
SetupScript.LineAdd(2052, 808, 0);
SetupScript.LineAdd(2055, 893, 0);
SetupScript.LineAdd(2041, 966, 0);
SetupScript.LineAdd(2019, 1007, 0);
SetupScript.LineAdd(2022, 1075, 0);
SetupScript.LineAdd(2022, 1132, 0);
SetupScript.LineAdd(2044, 1153, 0);
SetupScript.LineAdd(2095, 1180, 0);
SetupScript.LineAdd(2141, 1232, 0);
SetupScript.LineAdd(2185, 1265, 0);
SetupScript.LineAdd(2198, 1305, 0);
SetupScript.LineAdd(2188, 1330, 0);
SetupScript.LineAdd(2166, 1343, 0);
SetupScript.LineAdd(2093, 1354, 0);
SetupScript.LineAdd(1642, 1354, 0);
SetupScript.LineAdd(1596, 1349, 0);
SetupScript.LineAdd(1544, 1319, 0);
SetupScript.LineAdd(1514, 1284, 0);
SetupScript.LineAdd(1506, 1246, 0);
SetupScript.LineAdd(1495, 1218, 0);
SetupScript.LineAdd(1457, 1175, 0);
SetupScript.LineAdd(1419, 1148, 0);
SetupScript.LineAdd(1408, 1118, 0);
SetupScript.LineAdd(1419, 1064, 0);
SetupScript.LineAdd(1455, 1026, 0);
SetupScript.LineAdd(1484, 1009, 0);
SetupScript.LineAdd(1541, 996, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1283, 1446, 7, "Checkpoint", "", "10", "");
SetupScript.LineAdd(1560, 1237, 7);
SetupScript.LineAdd(1584, 1276, 7);
SetupScript.LineAdd(1329, 1492, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1014, 861, 7, "Checkpoint", "", "12", "");
SetupScript.LineAdd(1031, 1134, 7);
SetupScript.LineAdd(975, 1134, 7);
SetupScript.LineAdd(950, 879, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 134, 1457, 7, "Checkpoint", "", "15", "");
SetupScript.LineAdd(336, 1240, 7);
SetupScript.LineAdd(397, 1262, 7);
SetupScript.LineAdd(184, 1496, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 234, -138, 7, "Checkpoint", "", "19", "");
SetupScript.LineAdd(400, 273, 7);
SetupScript.LineAdd(368, 294, 7);
SetupScript.LineAdd(163, -88, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1038, 276, 7, "Checkpoint", "", "22", "");
SetupScript.LineAdd(1322, 70, 7);
SetupScript.LineAdd(1375, 109, 7);
SetupScript.LineAdd(1060, 290, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1414, 393, 7, "Checkpoint", "", "26", "");
SetupScript.LineAdd(1322, 687, 7);
SetupScript.LineAdd(1283, 655, 7);
SetupScript.LineAdd(1358, 400, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1726, 106, 7, "Checkpoint", "", "1", "");
SetupScript.LineAdd(1974, 368, 7);
SetupScript.LineAdd(1943, 393, 7);
SetupScript.LineAdd(1698, 145, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1978, 769, 7, "Checkpoint", "", "5", "");
SetupScript.LineAdd(2386, 748, 7);
SetupScript.LineAdd(2386, 783, 7);
SetupScript.LineAdd(1992, 797, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2134, 1272, 7, "Checkpoint", "", "7", "");
SetupScript.LineAdd(2467, 1652, 7);
SetupScript.LineAdd(2382, 1659, 7);
SetupScript.LineAdd(2099, 1290, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1627, 1297, 7, "Checkpoint", "", "9", "");
SetupScript.LineAdd(1666, 1297, 7);
SetupScript.LineAdd(1673, 1666, 7);
SetupScript.LineAdd(1620, 1659, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1604, 635, 7, "Checkpoint", "", "30", "");
SetupScript.LineAdd(1870, 643, 7);
SetupScript.LineAdd(1870, 670, 7);
SetupScript.LineAdd(1598, 670, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1571, 274, 7, "Checkpoint", "", "0", "");
SetupScript.LineAdd(1900, 418, 7);
SetupScript.LineAdd(1884, 464, 7);
SetupScript.LineAdd(1566, 320, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2084, 339, 7, "Checkpoint", "", "2", "");
SetupScript.LineAdd(2212, 73, 7);
SetupScript.LineAdd(2255, 97, 7);
SetupScript.LineAdd(2106, 358, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2196, 420, 7, "Checkpoint", "", "3", "");
SetupScript.LineAdd(2562, 418, 7);
SetupScript.LineAdd(2562, 442, 7);
SetupScript.LineAdd(2207, 445, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2112, 504, 7, "Checkpoint", "", "4", "");
SetupScript.LineAdd(2386, 640, 7);
SetupScript.LineAdd(2367, 667, 7);
SetupScript.LineAdd(2076, 540, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2006, 1180, 7, "Checkpoint", "", "6", "");
SetupScript.LineAdd(2394, 1045, 7);
SetupScript.LineAdd(2407, 1075, 7);
SetupScript.LineAdd(2033, 1205, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1881, 1303, 7, "Checkpoint", "", "8", "");
SetupScript.LineAdd(1927, 1303, 7);
SetupScript.LineAdd(1927, 1628, 7);
SetupScript.LineAdd(1881, 1628, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1134, 1256, 7, "Checkpoint", "", "11", "");
SetupScript.LineAdd(1373, 1015, 7);
SetupScript.LineAdd(1392, 1031, 7);
SetupScript.LineAdd(1156, 1278, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 589, 1183, 7, "Checkpoint", "", "13", "");
SetupScript.LineAdd(928, 1208, 7);
SetupScript.LineAdd(931, 1240, 7);
SetupScript.LineAdd(597, 1224, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 608, 1324, 7, "Checkpoint", "", "14", "");
SetupScript.LineAdd(632, 1623, 7);
SetupScript.LineAdd(591, 1623, 7);
SetupScript.LineAdd(572, 1327, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", -108, 1020, 7, "Checkpoint", "", "16", "");
SetupScript.LineAdd(276, 1039, 7);
SetupScript.LineAdd(271, 1069, 7);
SetupScript.LineAdd(-111, 1053, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 100, 703, 7, "Checkpoint", "", "17", "");
SetupScript.LineAdd(496, 713, 7);
SetupScript.LineAdd(485, 746, 7);
SetupScript.LineAdd(100, 741, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 29, 420, 7, "Checkpoint", "", "18", "");
SetupScript.LineAdd(420, 404, 7);
SetupScript.LineAdd(423, 431, 7);
SetupScript.LineAdd(40, 453, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 665, 103, 7, "Checkpoint", "", "20", "");
SetupScript.LineAdd(580, 393, 7);
SetupScript.LineAdd(540, 377, 7);
SetupScript.LineAdd(629, 86, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 925, 54, 7, "Checkpoint", "", "21", "");
SetupScript.LineAdd(1007, 306, 7);
SetupScript.LineAdd(969, 325, 7);
SetupScript.LineAdd(887, 76, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 942, 347, 7, "Checkpoint", "", "23", "");
SetupScript.LineAdd(1077, 491, 7);
SetupScript.LineAdd(1042, 507, 7);
SetupScript.LineAdd(917, 371, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 713, 700, 7, "Checkpoint", "", "24", "");
SetupScript.LineAdd(966, 553, 7);
SetupScript.LineAdd(974, 572, 7);
SetupScript.LineAdd(754, 727, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1118, 458, 7, "Checkpoint", "", "25", "");
SetupScript.LineAdd(1186, 689, 7);
SetupScript.LineAdd(1156, 697, 7);
SetupScript.LineAdd(1085, 485, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1322, 760, 7, "Checkpoint", "", "27", "");
SetupScript.LineAdd(1590, 713, 7);
SetupScript.LineAdd(1593, 743, 7);
SetupScript.LineAdd(1330, 789, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1585, 770, 7, "Checkpoint", "", "28", "");
SetupScript.LineAdd(1609, 770, 7);
SetupScript.LineAdd(1639, 1034, 7);
SetupScript.LineAdd(1593, 1031, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1601, 711, 7, "Checkpoint", "", "29", "");
SetupScript.LineAdd(1886, 792, 7);
SetupScript.LineAdd(1889, 825, 7);
SetupScript.LineAdd(1604, 743, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1688, 599, 3, "Path", "", "", "");
SetupScript.LineAdd(1751, 390, 3);
SetupScript.LineAdd(1946, 268, 3);
SetupScript.LineAdd(2266, 295, 3);
SetupScript.LineAdd(2293, 521, 3);
SetupScript.LineAdd(2171, 724, 3);
SetupScript.LineAdd(2147, 1113, 3);
SetupScript.LineAdd(2253, 1316, 3);
SetupScript.LineAdd(2193, 1406, 3);
SetupScript.LineAdd(1761, 1422, 3);
SetupScript.LineAdd(1465, 1370, 3);
SetupScript.LineAdd(1284, 1123, 3);
SetupScript.LineAdd(1075, 988, 3);
SetupScript.LineAdd(817, 1085, 3);
SetupScript.LineAdd(803, 1292, 3);
SetupScript.LineAdd(749, 1430, 3);
SetupScript.LineAdd(621, 1487, 3);
SetupScript.LineAdd(312, 1365, 3);
SetupScript.LineAdd(190, 1224, 3);
SetupScript.LineAdd(211, 971, 3);
SetupScript.LineAdd(323, 757, 3);
SetupScript.LineAdd(266, 586, 3);
SetupScript.LineAdd(290, 428, 3);
SetupScript.LineAdd(222, 274, 3);
SetupScript.LineAdd(347, 171, 3);
SetupScript.LineAdd(510, 252, 3);
SetupScript.LineAdd(760, 333, 3);
SetupScript.LineAdd(996, 206, 3);
SetupScript.LineAdd(1189, 190, 3);
SetupScript.LineAdd(1121, 336, 3);
SetupScript.LineAdd(914, 513, 3);
SetupScript.LineAdd(890, 624, 3);
SetupScript.LineAdd(1009, 618, 3);
SetupScript.LineAdd(1284, 523, 3);
SetupScript.LineAdd(1433, 616, 3);
SetupScript.LineAdd(1514, 895, 3);
SetupScript.LineAdd(1677, 876, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1732, 591, 3, "Path", "", "", "");
SetupScript.LineAdd(1780, 415, 3);
SetupScript.LineAdd(1908, 298, 3);
SetupScript.LineAdd(2136, 260, 3);
SetupScript.LineAdd(2318, 423, 3);
SetupScript.LineAdd(2212, 648, 3);
SetupScript.LineAdd(2215, 936, 3);
SetupScript.LineAdd(2307, 1251, 3);
SetupScript.LineAdd(2293, 1403, 3);
SetupScript.LineAdd(2103, 1449, 3);
SetupScript.LineAdd(1742, 1438, 3);
SetupScript.LineAdd(1457, 1411, 3);
SetupScript.LineAdd(1365, 1278, 3);
SetupScript.LineAdd(1232, 1132, 3);
SetupScript.LineAdd(1072, 1018, 3);
SetupScript.LineAdd(841, 1102, 3);
SetupScript.LineAdd(833, 1324, 3);
SetupScript.LineAdd(855, 1406, 3);
SetupScript.LineAdd(719, 1479, 3);
SetupScript.LineAdd(445, 1446, 3);
SetupScript.LineAdd(225, 1292, 3);
SetupScript.LineAdd(160, 1107, 3);
SetupScript.LineAdd(192, 942, 3);
SetupScript.LineAdd(276, 776, 3);
SetupScript.LineAdd(219, 583, 3);
SetupScript.LineAdd(181, 290, 3);
SetupScript.LineAdd(225, 179, 3);
SetupScript.LineAdd(426, 184, 3);
SetupScript.LineAdd(648, 290, 3);
SetupScript.LineAdd(871, 274, 3);
SetupScript.LineAdd(1026, 165, 3);
SetupScript.LineAdd(1205, 160, 3);
SetupScript.LineAdd(1227, 233, 3);
SetupScript.LineAdd(1053, 377, 3);
SetupScript.LineAdd(871, 504, 3);
SetupScript.LineAdd(871, 640, 3);
SetupScript.LineAdd(993, 651, 3);
SetupScript.LineAdd(1254, 551, 3);
SetupScript.LineAdd(1362, 589, 3);
SetupScript.LineAdd(1468, 836, 3);
SetupScript.LineAdd(1569, 933, 3);
SetupScript.LineAdd(1718, 890, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1770, 589, 3, "Path", "", "", "");
SetupScript.LineAdd(0x0707, 377, 3);
SetupScript.LineAdd(2055, 241, 3);
SetupScript.LineAdd(2280, 290, 3);
SetupScript.LineAdd(2345, 434, 3);
SetupScript.LineAdd(2277, 594, 3);
SetupScript.LineAdd(2212, 860, 3);
SetupScript.LineAdd(2220, 1096, 3);
SetupScript.LineAdd(2312, 1332, 3);
SetupScript.LineAdd(2190, 1427, 3);
SetupScript.LineAdd(1938, 1455, 3);
SetupScript.LineAdd(1631, 1455, 3);
SetupScript.LineAdd(1430, 1419, 3);
SetupScript.LineAdd(1205, 1075, 3);
SetupScript.LineAdd(950, 1039, 3);
SetupScript.LineAdd(846, 1151, 3);
SetupScript.LineAdd(844, 1322, 3);
SetupScript.LineAdd(749, 1482, 3);
SetupScript.LineAdd(366, 1403, 3);
SetupScript.LineAdd(149, 1194, 3);
SetupScript.LineAdd(114, 1001, 3);
SetupScript.LineAdd(247, 743, 3);
SetupScript.LineAdd(176, 529, 3);
SetupScript.LineAdd(135, 0xFF, 3);
SetupScript.LineAdd(271, 152, 3);
SetupScript.LineAdd(515, 211, 3);
SetupScript.LineAdd(800, 312, 3);
SetupScript.LineAdd(1118, 171, 3);
SetupScript.LineAdd(1172, 266, 3);
SetupScript.LineAdd(977, 420, 3);
SetupScript.LineAdd(855, 564, 3);
SetupScript.LineAdd(955, 662, 3);
SetupScript.LineAdd(1218, 513, 3);
SetupScript.LineAdd(1406, 613, 3);
SetupScript.LineAdd(1484, 827, 3);
SetupScript.LineAdd(1626, 950, 3);
SetupScript.LineAdd(1767, 814, 3);
SetupScript.LineEnd(true);
SetupScript.AddObject("Undefined", 1672, 686, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1699, 686, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1729, 686, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1753, 686, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1761, 711, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1732, 705, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1702, 711, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1674, 705, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1674, 727, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1704, 732, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1734, 732, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1759, 732, "StartPoint", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1677, 302, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2058, 680, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2210, 1333, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2516, 1426, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2035, 1577, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1246, 928, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1179, 1227, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 965, 1308, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 931, 1556, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 23, 1148, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 69, 547, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 324, 288, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 75, 53, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 689, 405, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 757, 233, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1109, 260, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 873, 750, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1431, 476, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1474, 982, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1838, 830, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1851, 219, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1919, 188, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1999, 170, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2059, 166, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2105, 173, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2162, 180, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2207, 202, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2462, 359, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2482, 381, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2495, 425, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2495, 472, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2472, 515, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2432, 1315, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2447, 1361, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2437, 1408, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2409, 1447, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2362, 1476, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2309, 1482, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2247, 1483, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1171, 952, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1106, 950, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1022, 951, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 934, 964, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 873, 984, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 812, 1019, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 766, 1049, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 730, 1084, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 974, 1378, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 975, 1424, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 953, 1481, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 905, 1510, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 846, 1530, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 50, 991, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 69, 946, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 98, 919, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 132, 888, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 178, 863, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 62, 189, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 73, 150, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 99, 121, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 129, 99, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 163, 82, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 200, 70, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 261, 64, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 310, 66, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 367, 86, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1057, 245, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1086, 232, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1118, 229, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1139, 245, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1138, 279, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1098, 306, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1064, 120, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1119, 114, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1171, 122, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1235, 142, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1267, 163, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1301, 199, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1309, 243, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 777, 572, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 774, 623, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 789, 648, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 827, 682, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 871, 698, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 925, 712, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 971, 705, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1460, 928, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1494, 957, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1558, 978, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1609, 980, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1690, 969, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1743, 944, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1787, 905, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1830, 542, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1827, 499, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1831, 449, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1843, 404, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2269, 990, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2286, 990, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2308, 991, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2087, 992, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2068, 990, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2046, 990, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2213, 1293, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2236, 1307, "Obstacle", "obj", "Barrier", 1, 0, 0, 0);
SetupScript.AddObject("Undefined", 2244, 1346, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2223, 1371, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 2183, 1377, "Obstacle", "obj", "Barrier", 4, 0, 0, 0);
SetupScript.AddObject("Undefined", 1747, 1557, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1708, 1557, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1634, 1560, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1567, 1556, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1495, 1554, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 703, 1313, "Obstacle", "obj", "Barrier", 1, 0, 0, 0);
SetupScript.AddObject("Undefined", 728, 1340, "Obstacle", "obj", "Barrier", 1, 0, 0, 0);
SetupScript.AddObject("Undefined", 758, 1368, "Obstacle", "obj", "Barrier", 1, 0, 0, 0);
SetupScript.AddObject("Undefined", 786, 1401, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 777, 1426, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 743, 1440, "Obstacle", "obj", "Barrier", 4, 0, 0, 0);
SetupScript.AddObject("Undefined", 700, 1448, "Obstacle", "obj", "Barrier", 4, 0, 0, 0);
SetupScript.AddObject("Undefined", 93, 593, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 128, 587, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 158, 580, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 197, 574, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 236, 566, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 274, 555, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 302, 547, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 332, 539, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 369, 528, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 142, 628, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 185, 616, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 237, 602, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 280, 592, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 326, 584, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 366, 569, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1570, 827, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1579, 859, "Obstacle", "obj", "Barrier", 1, 0, 0, 0);
SetupScript.AddObject("Undefined", 1604, 876, "Obstacle", "obj", "Barrier", 4, 0, 0, 0);
SetupScript.AddObject("Undefined", 1626, 855, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 1629, 818, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1773, 326, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2111, 217, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2356, 312, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2382, 492, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2253, 770, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2305, 840, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2262, 882, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2156, 854, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2359, 1274, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2332, 1377, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2350, 1419, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2379, 1343, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1353, 1298, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1304, 1247, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1362, 1175, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1393, 1271, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1343, 1228, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 862, 1366, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 892, 1449, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 923, 1483, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 838, 1486, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 908, 1410, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 536, 1516, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 424, 1439, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 333, 1461, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 239, 1391, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 151, 1281, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 164, 538, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 200, 530, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 236, 519, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 478, 146, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 541, 253, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 625, 304, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 574, 215, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1190, 336, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1082, 423, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1112, 369, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1159, 389, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1405, 543, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1473, 579, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1476, 652, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1432, 646, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1417, 580, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2312, 230, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 730, 993, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2337, 1137, "PickupGen", "obj", "", 0, 0, 0, 0);
}
}
}//package
Section 61
//LevelDef_Level4a (LevelDef_Level4a)
package {
public class LevelDef_Level4a {
public static function Init(){
SetupScript.LineStart("Jump", 57, 1068, 2, "Zone", "", "", "");
SetupScript.LineAdd(213, 1068, 2);
SetupScript.LineAdd(216, 1156, 2);
SetupScript.LineAdd(52, 1156, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1649, 487, 2, "Zone", "", "", "");
SetupScript.LineAdd(1794, 491, 2);
SetupScript.LineAdd(0x0707, 571, 2);
SetupScript.LineAdd(1644, 565, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 2114, 958, 2, "Zone", "", "", "");
SetupScript.LineAdd(2263, 956, 2);
SetupScript.LineAdd(2269, 1026, 2);
SetupScript.LineAdd(2106, 1026, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("Jump", 1835, 1399, 2, "Zone", "", "", "");
SetupScript.LineAdd(1915, 1402, 2);
SetupScript.LineAdd(1915, 1505, 2);
SetupScript.LineAdd(1840, 1503, 2);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1987, 84, 0, "Collision", "", "", "");
SetupScript.LineAdd(2185, 97, 0);
SetupScript.LineAdd(2535, 328, 0);
SetupScript.LineAdd(2540, 537, 0);
SetupScript.LineAdd(2359, 632, 0);
SetupScript.LineAdd(2334, 665, 0);
SetupScript.LineAdd(2331, 735, 0);
SetupScript.LineAdd(2334, 1053, 0);
SetupScript.LineAdd(2353, 1085, 0);
SetupScript.LineAdd(2397, 1115, 0);
SetupScript.LineAdd(2426, 1164, 0);
SetupScript.LineAdd(2426, 1208, 0);
SetupScript.LineAdd(2473, 1227, 0);
SetupScript.LineAdd(2535, 1232, 0);
SetupScript.LineAdd(2614, 1243, 0);
SetupScript.LineAdd(2614, -35, 0);
SetupScript.LineAdd(1987, -54, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2579, 1224, 0, "Collision", "", "", "");
SetupScript.LineAdd(2584, 1645, 0);
SetupScript.LineAdd(-54, 1683, 0);
SetupScript.LineAdd(-67, 1338, 0);
SetupScript.LineAdd(70, 1381, 0);
SetupScript.LineAdd(173, 1425, 0);
SetupScript.LineAdd(225, 1493, 0);
SetupScript.LineAdd(271, 1539, 0);
SetupScript.LineAdd(331, 1590, 0);
SetupScript.LineAdd(396, 1596, 0);
SetupScript.LineAdd(529, 1604, 0);
SetupScript.LineAdd(724, 1604, 0);
SetupScript.LineAdd(917, 1596, 0);
SetupScript.LineAdd(993, 1598, 0);
SetupScript.LineAdd(1007, 1579, 0);
SetupScript.LineAdd(1007, 1528, 0);
SetupScript.LineAdd(1007, 1303, 0);
SetupScript.LineAdd(996, 1281, 0);
SetupScript.LineAdd(982, 1273, 0);
SetupScript.LineAdd(917, 1267, 0);
SetupScript.LineAdd(898, 1243, 0);
SetupScript.LineAdd(893, 1189, 0);
SetupScript.LineAdd(904, 1151, 0);
SetupScript.LineAdd(942, 1115, 0);
SetupScript.LineAdd(1001, 1096, 0);
SetupScript.LineAdd(1069, 1099, 0);
SetupScript.LineAdd(1118, 1137, 0);
SetupScript.LineAdd(1142, 1191, 0);
SetupScript.LineAdd(1153, 1232, 0);
SetupScript.LineAdd(1186, 1256, 0);
SetupScript.LineAdd(1218, 1275, 0);
SetupScript.LineAdd(1248, 1270, 0);
SetupScript.LineAdd(1286, 1281, 0);
SetupScript.LineAdd(1311, 1294, 0);
SetupScript.LineAdd(1311, 1322, 0);
SetupScript.LineAdd(1316, 1430, 0);
SetupScript.LineAdd(1332, 1457, 0);
SetupScript.LineAdd(1360, 1474, 0);
SetupScript.LineAdd(1406, 1517, 0);
SetupScript.LineAdd(1414, 1560, 0);
SetupScript.LineAdd(1419, 1588, 0);
SetupScript.LineAdd(1438, 1604, 0);
SetupScript.LineAdd(1465, 1596, 0);
SetupScript.LineAdd(1680, 1596, 0);
SetupScript.LineAdd(2451, 1590, 0);
SetupScript.LineAdd(2451, 1569, 0);
SetupScript.LineAdd(2451, 1531, 0);
SetupScript.LineAdd(2451, 1495, 0);
SetupScript.LineAdd(2467, 1474, 0);
SetupScript.LineAdd(2502, 1452, 0);
SetupScript.LineAdd(2535, 1444, 0);
SetupScript.LineAdd(2559, 1422, 0);
SetupScript.LineAdd(2543, 1205, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 366, -86, 0, "Collision", "", "", "");
SetupScript.LineAdd(371, 10, 0);
SetupScript.LineAdd(304, 24, 0);
SetupScript.LineAdd(222, 24, 0);
SetupScript.LineAdd(146, 27, 0);
SetupScript.LineAdd(78, 27, 0);
SetupScript.LineAdd(54, 32, 0);
SetupScript.LineAdd(43, 65, 0);
SetupScript.LineAdd(38, 108, 0);
SetupScript.LineAdd(19, 211, 0);
SetupScript.LineAdd(27, 301, 0);
SetupScript.LineAdd(62, 344, 0);
SetupScript.LineAdd(105, 366, 0);
SetupScript.LineAdd(114, 393, 0);
SetupScript.LineAdd(116, 431, 0);
SetupScript.LineAdd(92, 464, 0);
SetupScript.LineAdd(40, 513, 0);
SetupScript.LineAdd(32, 545, 0);
SetupScript.LineAdd(48, 580, 0);
SetupScript.LineAdd(92, 627, 0);
SetupScript.LineAdd(138, 656, 0);
SetupScript.LineAdd(187, 678, 0);
SetupScript.LineAdd(187, 730, 0);
SetupScript.LineAdd(165, 800, 0);
SetupScript.LineAdd(105, 830, 0);
SetupScript.LineAdd(54, 879, 0);
SetupScript.LineAdd(5, 914, 0);
SetupScript.LineAdd(-10, 944, 0);
SetupScript.LineAdd(-16, 1156, 0);
SetupScript.LineAdd(2, 1292, 0);
SetupScript.LineAdd(51, 1324, 0);
SetupScript.LineAdd(84, 1354, 0);
SetupScript.LineAdd(89, 1389, 0);
SetupScript.LineAdd(62, 1408, 0);
SetupScript.LineAdd(-43, 1406, 0);
SetupScript.LineAdd(-89, -27, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2000, -35, 0, "Collision", "", "", "");
SetupScript.LineAdd(1992, 84, 0);
SetupScript.LineAdd(1897, 103, 0);
SetupScript.LineAdd(1810, 138, 0);
SetupScript.LineAdd(1655, 247, 0);
SetupScript.LineAdd(1626, 282, 0);
SetupScript.LineAdd(1623, 317, 0);
SetupScript.LineAdd(1617, 407, 0);
SetupScript.LineAdd(1582, 447, 0);
SetupScript.LineAdd(1493, 447, 0);
SetupScript.LineAdd(1373, 447, 0);
SetupScript.LineAdd(1308, 431, 0);
SetupScript.LineAdd(1286, 409, 0);
SetupScript.LineAdd(1284, 380, 0);
SetupScript.LineAdd(1294, 350, 0);
SetupScript.LineAdd(1327, 333, 0);
SetupScript.LineAdd(1357, 268, 0);
SetupScript.LineAdd(1351, 160, 0);
SetupScript.LineAdd(1313, 111, 0);
SetupScript.LineAdd(1240, 78, 0);
SetupScript.LineAdd(1088, 70, 0);
SetupScript.LineAdd(1004, 70, 0);
SetupScript.LineAdd(931, 97, 0);
SetupScript.LineAdd(846, 146, 0);
SetupScript.LineAdd(789, 184, 0);
SetupScript.LineAdd(716, 195, 0);
SetupScript.LineAdd(656, 184, 0);
SetupScript.LineAdd(586, 157, 0);
SetupScript.LineAdd(513, 105, 0);
SetupScript.LineAdd(439, 57, 0);
SetupScript.LineAdd(385, 19, 0);
SetupScript.LineAdd(363, 2, 0);
SetupScript.LineAdd(363, -59, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 314, 222, 0, "Collision", "", "", "");
SetupScript.LineAdd(363, 222, 0);
SetupScript.LineAdd(401, 252, 0);
SetupScript.LineAdd(461, 301, 0);
SetupScript.LineAdd(513, 328, 0);
SetupScript.LineAdd(556, 325, 0);
SetupScript.LineAdd(589, 339, 0);
SetupScript.LineAdd(627, 390, 0);
SetupScript.LineAdd(665, 431, 0);
SetupScript.LineAdd(716, 442, 0);
SetupScript.LineAdd(762, 426, 0);
SetupScript.LineAdd(814, 396, 0);
SetupScript.LineAdd(895, 355, 0);
SetupScript.LineAdd(950, 320, 0);
SetupScript.LineAdd(993, 293, 0);
SetupScript.LineAdd(1045, 266, 0);
SetupScript.LineAdd(1072, 263, 0);
SetupScript.LineAdd(1091, 274, 0);
SetupScript.LineAdd(1088, 290, 0);
SetupScript.LineAdd(1066, 309, 0);
SetupScript.LineAdd(0x0404, 331, 0);
SetupScript.LineAdd(914, 399, 0);
SetupScript.LineAdd(827, 447, 0);
SetupScript.LineAdd(719, 494, 0);
SetupScript.LineAdd(694, 526, 0);
SetupScript.LineAdd(692, 556, 0);
SetupScript.LineAdd(694, 602, 0);
SetupScript.LineAdd(705, 640, 0);
SetupScript.LineAdd(776, 705, 0);
SetupScript.LineAdd(838, 773, 0);
SetupScript.LineAdd(868, 784, 0);
SetupScript.LineAdd(893, 784, 0);
SetupScript.LineAdd(988, 749, 0);
SetupScript.LineAdd(1058, 722, 0);
SetupScript.LineAdd(1134, 675, 0);
SetupScript.LineAdd(1175, 646, 0);
SetupScript.LineAdd(1232, 621, 0);
SetupScript.LineAdd(1297, 618, 0);
SetupScript.LineAdd(1343, 624, 0);
SetupScript.LineAdd(1368, 673, 0);
SetupScript.LineAdd(1368, 722, 0);
SetupScript.LineAdd(1368, 841, 0);
SetupScript.LineAdd(1360, 871, 0);
SetupScript.LineAdd(1319, 887, 0);
SetupScript.LineAdd(1270, 890, 0);
SetupScript.LineAdd(1180, 890, 0);
SetupScript.LineAdd(980, 909, 0);
SetupScript.LineAdd(874, 920, 0);
SetupScript.LineAdd(757, 931, 0);
SetupScript.LineAdd(716, 955, 0);
SetupScript.LineAdd(689, 980, 0);
SetupScript.LineAdd(675, 1018, 0);
SetupScript.LineAdd(665, 1088, 0);
SetupScript.LineAdd(662, 1365, 0);
SetupScript.LineAdd(643, 1398, 0);
SetupScript.LineAdd(599, 1408, 0);
SetupScript.LineAdd(559, 1414, 0);
SetupScript.LineAdd(515, 1406, 0);
SetupScript.LineAdd(475, 1381, 0);
SetupScript.LineAdd(268, 1237, 0);
SetupScript.LineAdd(0xFF, 1218, 0);
SetupScript.LineAdd(0xFF, 1191, 0);
SetupScript.LineAdd(252, 1034, 0);
SetupScript.LineAdd(263, 1009, 0);
SetupScript.LineAdd(287, 990, 0);
SetupScript.LineAdd(323, 971, 0);
SetupScript.LineAdd(339, 950, 0);
SetupScript.LineAdd(361, 912, 0);
SetupScript.LineAdd(412, 879, 0);
SetupScript.LineAdd(453, 863, 0);
SetupScript.LineAdd(461, 830, 0);
SetupScript.LineAdd(456, 602, 0);
SetupScript.LineAdd(431, 561, 0);
SetupScript.LineAdd(388, 518, 0);
SetupScript.LineAdd(363, 483, 0);
SetupScript.LineAdd(366, 447, 0);
SetupScript.LineAdd(390, 396, 0);
SetupScript.LineAdd(393, 363, 0);
SetupScript.LineAdd(369, 312, 0);
SetupScript.LineAdd(331, 266, 0);
SetupScript.LineAdd(312, 244, 0);
SetupScript.LineAdd(306, 230, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 977, 534, 0, "Collision", "", "", "");
SetupScript.LineAdd(1042, 494, 0);
SetupScript.LineAdd(1091, 458, 0);
SetupScript.LineAdd(1132, 434, 0);
SetupScript.LineAdd(1180, 407, 0);
SetupScript.LineAdd(1229, 382, 0);
SetupScript.LineAdd(1262, 369, 0);
SetupScript.LineAdd(1292, 363, 0);
SetupScript.LineAdd(1305, 377, 0);
SetupScript.LineAdd(1305, 399, 0);
SetupScript.LineAdd(1270, 426, 0);
SetupScript.LineAdd(1199, 450, 0);
SetupScript.LineAdd(1118, 499, 0);
SetupScript.LineAdd(1045, 537, 0);
SetupScript.LineAdd(1009, 561, 0);
SetupScript.LineAdd(977, 589, 0);
SetupScript.LineAdd(958, 591, 0);
SetupScript.LineAdd(947, 580, 0);
SetupScript.LineAdd(947, 559, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1615, 510, 0, "Collision", "", "", "");
SetupScript.LineAdd(1617, 575, 0);
SetupScript.LineAdd(1617, 692, 0);
SetupScript.LineAdd(1617, 784, 0);
SetupScript.LineAdd(1615, 800, 0);
SetupScript.LineAdd(1601, 811, 0);
SetupScript.LineAdd(1593, 811, 0);
SetupScript.LineAdd(1579, 803, 0);
SetupScript.LineAdd(1577, 784, 0);
SetupScript.LineAdd(1577, 705, 0);
SetupScript.LineAdd(1569, 610, 0);
SetupScript.LineAdd(1550, 561, 0);
SetupScript.LineAdd(1531, 529, 0);
SetupScript.LineAdd(1509, 510, 0);
SetupScript.LineAdd(1468, 488, 0);
SetupScript.LineAdd(1468, 472, 0);
SetupScript.LineAdd(1455, 428, 0);
SetupScript.LineAdd(1582, 385, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1370, 866, 0, "Collision", "", "", "");
SetupScript.LineAdd(1392, 912, 0);
SetupScript.LineAdd(1425, 944, 0);
SetupScript.LineAdd(1455, 1007, 0);
SetupScript.LineAdd(1471, 1037, 0);
SetupScript.LineAdd(1433, 1123, 0);
SetupScript.LineAdd(1400, 1096, 0);
SetupScript.LineAdd(1351, 1047, 0);
SetupScript.LineAdd(1313, 993, 0);
SetupScript.LineAdd(1289, 958, 0);
SetupScript.LineAdd(1270, 912, 0);
SetupScript.LineAdd(1248, 855, 0);
SetupScript.LineAdd(1341, 830, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1620, 1001, 0, "Collision", "", "", "");
SetupScript.LineAdd(1729, 980, 0);
SetupScript.LineAdd(1805, 947, 0);
SetupScript.LineAdd(1851, 895, 0);
SetupScript.LineAdd(1870, 846, 0);
SetupScript.LineAdd(1865, 800, 0);
SetupScript.LineAdd(1851, 749, 0);
SetupScript.LineAdd(1851, 705, 0);
SetupScript.LineAdd(1854, 643, 0);
SetupScript.LineAdd(1875, 578, 0);
SetupScript.LineAdd(1865, 521, 0);
SetupScript.LineAdd(1865, 445, 0);
SetupScript.LineAdd(1892, 366, 0);
SetupScript.LineAdd(1930, 323, 0);
SetupScript.LineAdd(1965, 306, 0);
SetupScript.LineAdd(2022, 298, 0);
SetupScript.LineAdd(2093, 304, 0);
SetupScript.LineAdd(2152, 325, 0);
SetupScript.LineAdd(2207, 371, 0);
SetupScript.LineAdd(2245, 418, 0);
SetupScript.LineAdd(2245, 453, 0);
SetupScript.LineAdd(2228, 491, 0);
SetupScript.LineAdd(2174, 534, 0);
SetupScript.LineAdd(2057, 616, 0);
SetupScript.LineAdd(2027, 659, 0);
SetupScript.LineAdd(2014, 700, 0);
SetupScript.LineAdd(2041, 760, 0);
SetupScript.LineAdd(2052, 808, 0);
SetupScript.LineAdd(2055, 893, 0);
SetupScript.LineAdd(2041, 966, 0);
SetupScript.LineAdd(2019, 1007, 0);
SetupScript.LineAdd(2022, 1075, 0);
SetupScript.LineAdd(2022, 1132, 0);
SetupScript.LineAdd(2044, 1153, 0);
SetupScript.LineAdd(2095, 1180, 0);
SetupScript.LineAdd(2141, 1232, 0);
SetupScript.LineAdd(2185, 1265, 0);
SetupScript.LineAdd(2198, 1305, 0);
SetupScript.LineAdd(2188, 1330, 0);
SetupScript.LineAdd(2166, 1343, 0);
SetupScript.LineAdd(2093, 1354, 0);
SetupScript.LineAdd(1642, 1354, 0);
SetupScript.LineAdd(1596, 1349, 0);
SetupScript.LineAdd(1544, 1319, 0);
SetupScript.LineAdd(1514, 1284, 0);
SetupScript.LineAdd(1506, 1246, 0);
SetupScript.LineAdd(1495, 1218, 0);
SetupScript.LineAdd(1457, 1175, 0);
SetupScript.LineAdd(1419, 1148, 0);
SetupScript.LineAdd(1408, 1118, 0);
SetupScript.LineAdd(1419, 1064, 0);
SetupScript.LineAdd(1455, 1026, 0);
SetupScript.LineAdd(1484, 1009, 0);
SetupScript.LineAdd(1541, 996, 0);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1283, 1446, 7, "Checkpoint", "", "19", "");
SetupScript.LineAdd(1560, 1237, 7);
SetupScript.LineAdd(1584, 1276, 7);
SetupScript.LineAdd(1329, 1492, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1014, 861, 7, "Checkpoint", "", "17", "");
SetupScript.LineAdd(1031, 1134, 7);
SetupScript.LineAdd(975, 1134, 7);
SetupScript.LineAdd(950, 879, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 134, 1457, 7, "Checkpoint", "", "14", "");
SetupScript.LineAdd(336, 1240, 7);
SetupScript.LineAdd(397, 1262, 7);
SetupScript.LineAdd(184, 1496, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 234, -138, 7, "Checkpoint", "", "10", "");
SetupScript.LineAdd(400, 273, 7);
SetupScript.LineAdd(368, 294, 7);
SetupScript.LineAdd(163, -88, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1038, 276, 7, "Checkpoint", "", "7", "");
SetupScript.LineAdd(1322, 70, 7);
SetupScript.LineAdd(1375, 109, 7);
SetupScript.LineAdd(1060, 290, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1414, 393, 7, "Checkpoint", "", "3", "");
SetupScript.LineAdd(1322, 687, 7);
SetupScript.LineAdd(1283, 655, 7);
SetupScript.LineAdd(1358, 400, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1726, 106, 7, "Checkpoint", "", "28", "");
SetupScript.LineAdd(1974, 368, 7);
SetupScript.LineAdd(1943, 393, 7);
SetupScript.LineAdd(1698, 145, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1978, 769, 7, "Checkpoint", "", "24", "");
SetupScript.LineAdd(2386, 748, 7);
SetupScript.LineAdd(2386, 783, 7);
SetupScript.LineAdd(1992, 797, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2134, 1272, 7, "Checkpoint", "", "22", "");
SetupScript.LineAdd(2467, 1652, 7);
SetupScript.LineAdd(2382, 1659, 7);
SetupScript.LineAdd(2099, 1290, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1627, 1297, 7, "Checkpoint", "", "20", "");
SetupScript.LineAdd(1666, 1297, 7);
SetupScript.LineAdd(1673, 1666, 7);
SetupScript.LineAdd(1620, 1659, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1604, 635, 7, "Checkpoint", "", "30", "");
SetupScript.LineAdd(1870, 643, 7);
SetupScript.LineAdd(1870, 670, 7);
SetupScript.LineAdd(1598, 670, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1571, 274, 7, "Checkpoint", "", "29", "");
SetupScript.LineAdd(1900, 418, 7);
SetupScript.LineAdd(1884, 464, 7);
SetupScript.LineAdd(1566, 320, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2084, 339, 7, "Checkpoint", "", "27", "");
SetupScript.LineAdd(2212, 73, 7);
SetupScript.LineAdd(2255, 97, 7);
SetupScript.LineAdd(2106, 358, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2196, 420, 7, "Checkpoint", "", "26", "");
SetupScript.LineAdd(2562, 418, 7);
SetupScript.LineAdd(2562, 442, 7);
SetupScript.LineAdd(2207, 445, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2112, 504, 7, "Checkpoint", "", "25", "");
SetupScript.LineAdd(2386, 640, 7);
SetupScript.LineAdd(2367, 667, 7);
SetupScript.LineAdd(2076, 540, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 2006, 1180, 7, "Checkpoint", "", "23", "");
SetupScript.LineAdd(2394, 1045, 7);
SetupScript.LineAdd(2407, 1075, 7);
SetupScript.LineAdd(2033, 1205, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1881, 1303, 7, "Checkpoint", "", "21", "");
SetupScript.LineAdd(1927, 1303, 7);
SetupScript.LineAdd(1927, 1628, 7);
SetupScript.LineAdd(1881, 1628, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1134, 1256, 7, "Checkpoint", "", "18", "");
SetupScript.LineAdd(1373, 1015, 7);
SetupScript.LineAdd(1392, 1031, 7);
SetupScript.LineAdd(1156, 1278, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 589, 1183, 7, "Checkpoint", "", "16", "");
SetupScript.LineAdd(928, 1208, 7);
SetupScript.LineAdd(931, 1240, 7);
SetupScript.LineAdd(597, 1224, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 608, 1324, 7, "Checkpoint", "", "15", "");
SetupScript.LineAdd(632, 1623, 7);
SetupScript.LineAdd(591, 1623, 7);
SetupScript.LineAdd(572, 1327, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", -108, 1020, 7, "Checkpoint", "", "13", "");
SetupScript.LineAdd(276, 1039, 7);
SetupScript.LineAdd(271, 1069, 7);
SetupScript.LineAdd(-111, 1053, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 100, 703, 7, "Checkpoint", "", "12", "");
SetupScript.LineAdd(496, 713, 7);
SetupScript.LineAdd(485, 746, 7);
SetupScript.LineAdd(100, 741, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 29, 420, 7, "Checkpoint", "", "11", "");
SetupScript.LineAdd(420, 404, 7);
SetupScript.LineAdd(423, 431, 7);
SetupScript.LineAdd(40, 453, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 665, 103, 7, "Checkpoint", "", "9", "");
SetupScript.LineAdd(580, 393, 7);
SetupScript.LineAdd(540, 377, 7);
SetupScript.LineAdd(629, 86, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 925, 54, 7, "Checkpoint", "", "8", "");
SetupScript.LineAdd(1007, 306, 7);
SetupScript.LineAdd(969, 325, 7);
SetupScript.LineAdd(887, 76, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 942, 347, 7, "Checkpoint", "", "6", "");
SetupScript.LineAdd(1077, 491, 7);
SetupScript.LineAdd(1042, 507, 7);
SetupScript.LineAdd(917, 371, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 713, 700, 7, "Checkpoint", "", "5", "");
SetupScript.LineAdd(966, 553, 7);
SetupScript.LineAdd(974, 572, 7);
SetupScript.LineAdd(754, 727, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1118, 458, 7, "Checkpoint", "", "4", "");
SetupScript.LineAdd(1186, 689, 7);
SetupScript.LineAdd(1156, 697, 7);
SetupScript.LineAdd(1085, 485, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1322, 760, 7, "Checkpoint", "", "2", "");
SetupScript.LineAdd(1590, 713, 7);
SetupScript.LineAdd(1593, 743, 7);
SetupScript.LineAdd(1330, 789, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1585, 770, 7, "Checkpoint", "", "1", "");
SetupScript.LineAdd(1609, 770, 7);
SetupScript.LineAdd(1639, 1034, 7);
SetupScript.LineAdd(1593, 1031, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1601, 711, 7, "Checkpoint", "", "0", "");
SetupScript.LineAdd(1886, 792, 7);
SetupScript.LineAdd(1889, 825, 7);
SetupScript.LineAdd(1604, 743, 7);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1675, 875, 3, "Path", "", "", "");
SetupScript.LineAdd(1514, 895, 3);
SetupScript.LineAdd(1433, 616, 3);
SetupScript.LineAdd(1284, 523, 3);
SetupScript.LineAdd(1009, 618, 3);
SetupScript.LineAdd(890, 624, 3);
SetupScript.LineAdd(914, 513, 3);
SetupScript.LineAdd(1121, 336, 3);
SetupScript.LineAdd(1189, 190, 3);
SetupScript.LineAdd(996, 206, 3);
SetupScript.LineAdd(760, 333, 3);
SetupScript.LineAdd(510, 252, 3);
SetupScript.LineAdd(347, 171, 3);
SetupScript.LineAdd(222, 274, 3);
SetupScript.LineAdd(290, 428, 3);
SetupScript.LineAdd(266, 586, 3);
SetupScript.LineAdd(323, 757, 3);
SetupScript.LineAdd(211, 971, 3);
SetupScript.LineAdd(190, 1224, 3);
SetupScript.LineAdd(312, 1365, 3);
SetupScript.LineAdd(621, 1487, 3);
SetupScript.LineAdd(749, 1430, 3);
SetupScript.LineAdd(803, 1292, 3);
SetupScript.LineAdd(817, 1085, 3);
SetupScript.LineAdd(1075, 988, 3);
SetupScript.LineAdd(1284, 1123, 3);
SetupScript.LineAdd(1465, 1370, 3);
SetupScript.LineAdd(1761, 1422, 3);
SetupScript.LineAdd(2193, 1406, 3);
SetupScript.LineAdd(2253, 1316, 3);
SetupScript.LineAdd(2147, 1113, 3);
SetupScript.LineAdd(2171, 724, 3);
SetupScript.LineAdd(2293, 521, 3);
SetupScript.LineAdd(2266, 295, 3);
SetupScript.LineAdd(1946, 268, 3);
SetupScript.LineAdd(1751, 390, 3);
SetupScript.LineAdd(1688, 599, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1720, 868, 3, "Path", "", "", "");
SetupScript.LineAdd(1569, 933, 3);
SetupScript.LineAdd(1468, 836, 3);
SetupScript.LineAdd(1362, 589, 3);
SetupScript.LineAdd(1254, 551, 3);
SetupScript.LineAdd(993, 651, 3);
SetupScript.LineAdd(871, 640, 3);
SetupScript.LineAdd(871, 504, 3);
SetupScript.LineAdd(1053, 377, 3);
SetupScript.LineAdd(1227, 233, 3);
SetupScript.LineAdd(1205, 160, 3);
SetupScript.LineAdd(1026, 165, 3);
SetupScript.LineAdd(871, 274, 3);
SetupScript.LineAdd(648, 290, 3);
SetupScript.LineAdd(426, 184, 3);
SetupScript.LineAdd(225, 179, 3);
SetupScript.LineAdd(181, 290, 3);
SetupScript.LineAdd(219, 583, 3);
SetupScript.LineAdd(276, 776, 3);
SetupScript.LineAdd(192, 942, 3);
SetupScript.LineAdd(160, 1107, 3);
SetupScript.LineAdd(225, 1292, 3);
SetupScript.LineAdd(445, 1446, 3);
SetupScript.LineAdd(719, 1479, 3);
SetupScript.LineAdd(855, 1406, 3);
SetupScript.LineAdd(833, 1324, 3);
SetupScript.LineAdd(841, 1102, 3);
SetupScript.LineAdd(1072, 1018, 3);
SetupScript.LineAdd(1232, 1132, 3);
SetupScript.LineAdd(1365, 1278, 3);
SetupScript.LineAdd(1457, 1411, 3);
SetupScript.LineAdd(1742, 1438, 3);
SetupScript.LineAdd(2103, 1449, 3);
SetupScript.LineAdd(2293, 1403, 3);
SetupScript.LineAdd(2307, 1251, 3);
SetupScript.LineAdd(2215, 936, 3);
SetupScript.LineAdd(2212, 648, 3);
SetupScript.LineAdd(2318, 423, 3);
SetupScript.LineAdd(2136, 260, 3);
SetupScript.LineAdd(1908, 298, 3);
SetupScript.LineAdd(1780, 415, 3);
SetupScript.LineAdd(1732, 591, 3);
SetupScript.LineEnd(true);
SetupScript.LineStart("", 1766, 772, 3, "Path", "", "", "");
SetupScript.LineAdd(1626, 950, 3);
SetupScript.LineAdd(1484, 827, 3);
SetupScript.LineAdd(1406, 613, 3);
SetupScript.LineAdd(1218, 513, 3);
SetupScript.LineAdd(955, 662, 3);
SetupScript.LineAdd(855, 564, 3);
SetupScript.LineAdd(977, 420, 3);
SetupScript.LineAdd(1172, 266, 3);
SetupScript.LineAdd(1118, 171, 3);
SetupScript.LineAdd(800, 312, 3);
SetupScript.LineAdd(515, 211, 3);
SetupScript.LineAdd(271, 152, 3);
SetupScript.LineAdd(135, 0xFF, 3);
SetupScript.LineAdd(176, 529, 3);
SetupScript.LineAdd(247, 743, 3);
SetupScript.LineAdd(114, 1001, 3);
SetupScript.LineAdd(149, 1194, 3);
SetupScript.LineAdd(366, 1403, 3);
SetupScript.LineAdd(749, 1482, 3);
SetupScript.LineAdd(844, 1322, 3);
SetupScript.LineAdd(846, 1151, 3);
SetupScript.LineAdd(950, 1039, 3);
SetupScript.LineAdd(1205, 1075, 3);
SetupScript.LineAdd(1430, 1419, 3);
SetupScript.LineAdd(1631, 1455, 3);
SetupScript.LineAdd(1938, 1455, 3);
SetupScript.LineAdd(2190, 1427, 3);
SetupScript.LineAdd(2312, 1332, 3);
SetupScript.LineAdd(2220, 1096, 3);
SetupScript.LineAdd(2212, 860, 3);
SetupScript.LineAdd(2277, 594, 3);
SetupScript.LineAdd(2345, 434, 3);
SetupScript.LineAdd(2280, 290, 3);
SetupScript.LineAdd(2055, 241, 3);
SetupScript.LineAdd(0x0707, 377, 3);
SetupScript.LineAdd(1770, 589, 3);
SetupScript.LineEnd(true);
SetupScript.AddObject("Undefined", 1681, 620, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1708, 620, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1738, 620, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1762, 620, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1764, 586, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1735, 580, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1705, 586, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1677, 580, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1679, 541, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1709, 546, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1739, 546, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1764, 546, "StartPoint", "obj", "", 180, 0, 0, 0);
SetupScript.AddObject("Undefined", 1677, 302, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2058, 680, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2210, 1333, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2516, 1426, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2035, 1577, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1246, 928, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1179, 1227, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 965, 1308, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 931, 1556, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 23, 1148, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 69, 547, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 324, 288, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 75, 53, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 689, 405, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 757, 233, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1109, 260, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 873, 750, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1431, 476, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1474, 982, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1838, 830, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1851, 219, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1919, 188, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1999, 170, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2059, 166, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2105, 173, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2162, 180, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2207, 202, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2462, 359, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2482, 381, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2495, 425, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2495, 472, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2472, 515, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2432, 1315, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2447, 1361, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2437, 1408, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2409, 1447, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2362, 1476, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2309, 1482, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2247, 1483, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1171, 952, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1106, 950, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1022, 951, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 934, 964, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 873, 984, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 812, 1019, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 766, 1049, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 730, 1084, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 974, 1378, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 975, 1424, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 953, 1481, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 905, 1510, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 846, 1530, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 50, 991, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 69, 946, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 98, 919, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 132, 888, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 178, 863, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 62, 189, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 73, 150, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 99, 121, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 129, 99, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 163, 82, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 200, 70, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 261, 64, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 310, 66, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 367, 86, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1057, 245, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1086, 232, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1118, 229, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1139, 245, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1138, 279, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1098, 306, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1064, 120, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1119, 114, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1171, 122, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1235, 142, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1267, 163, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1301, 199, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1309, 243, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 777, 572, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 774, 623, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 789, 648, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 827, 682, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 871, 698, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 925, 712, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 971, 705, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1460, 928, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1494, 957, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1558, 978, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1609, 980, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1690, 969, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1743, 944, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1787, 905, "Obstacle", "obj", "Cone", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1830, 542, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1827, 499, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1831, 449, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1843, 404, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2269, 990, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2286, 990, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2308, 991, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2087, 992, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2068, 990, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2046, 990, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2213, 1293, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 2236, 1307, "Obstacle", "obj", "Barrier", 1, 0, 0, 0);
SetupScript.AddObject("Undefined", 2244, 1346, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2223, 1371, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 2183, 1377, "Obstacle", "obj", "Barrier", 4, 0, 0, 0);
SetupScript.AddObject("Undefined", 1747, 1557, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1708, 1557, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1634, 1560, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1567, 1556, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1495, 1554, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 703, 1313, "Obstacle", "obj", "Barrier", 1, 0, 0, 0);
SetupScript.AddObject("Undefined", 728, 1340, "Obstacle", "obj", "Barrier", 1, 0, 0, 0);
SetupScript.AddObject("Undefined", 758, 1368, "Obstacle", "obj", "Barrier", 1, 0, 0, 0);
SetupScript.AddObject("Undefined", 786, 1401, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 777, 1426, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 743, 1440, "Obstacle", "obj", "Barrier", 4, 0, 0, 0);
SetupScript.AddObject("Undefined", 700, 1448, "Obstacle", "obj", "Barrier", 4, 0, 0, 0);
SetupScript.AddObject("Undefined", 93, 593, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 128, 587, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 158, 580, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 197, 574, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 236, 566, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 274, 555, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 302, 547, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 332, 539, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 369, 528, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 142, 628, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 185, 616, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 237, 602, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 280, 592, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 326, 584, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 366, 569, "Obstacle", "obj", "Barrier", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1570, 828, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1581, 861, "Obstacle", "obj", "Barrier", 1, 0, 0, 0);
SetupScript.AddObject("Undefined", 1604, 874, "Obstacle", "obj", "Barrier", 4, 0, 0, 0);
SetupScript.AddObject("Undefined", 1624, 853, "Obstacle", "obj", "Barrier", 3, 0, 0, 0);
SetupScript.AddObject("Undefined", 1628, 823, "Obstacle", "obj", "Barrier", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1773, 326, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2111, 217, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2356, 312, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2382, 492, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2253, 770, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2305, 840, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2262, 882, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2156, 854, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2359, 1274, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2332, 1377, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2350, 1419, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2379, 1343, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1353, 1298, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1304, 1247, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1362, 1175, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1393, 1271, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1343, 1228, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 862, 1366, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 892, 1449, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 923, 1483, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 838, 1486, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 908, 1410, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 536, 1516, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 424, 1439, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 333, 1461, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 239, 1391, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 151, 1281, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 164, 538, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 200, 530, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 236, 519, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 478, 146, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 541, 253, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 625, 304, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 574, 215, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1190, 336, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1082, 423, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1112, 369, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1159, 389, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1405, 543, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1473, 579, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1476, 652, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1432, 646, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1417, 580, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1854, 246, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1938, 253, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1921, 273, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2001, 141, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2382, 410, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2322, 404, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2403, 362, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2201, 1112, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2148, 1146, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2389, 1395, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2112, 1490, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2038, 1510, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1813, 1396, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1884, 1431, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1821, 1463, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 0x0700, 1446, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1374, 1405, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1441, 1360, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1235, 0x0404, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1170, 996, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 902, 1123, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 842, 1089, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 636, 1550, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 194, 1206, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 96, 1176, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 153, 1137, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 289, 789, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 363, 738, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 362, 688, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 251, 375, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 247, 443, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 140, 188, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 922, 485, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 820, 549, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1194, 591, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 1716, 767, "Obstacle", "obj", "Banana", 2, 0, 0, 0);
SetupScript.AddObject("Undefined", 2372, 249, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 1452, 1541, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 743, 1012, "PickupGen", "obj", "", 0, 0, 0, 0);
SetupScript.AddObject("Undefined", 420, 836, "PickupGen", "obj", "", 0, 0, 0, 0);
}
}
}//package
Section 62
//LevelDef2 (LevelDef2)
package {
public class LevelDef2 {
static var main:Main;
public static function Init(_arg1:Main){
var _local2:GameObj;
main = _arg1;
LevelDef_Level2.Init();
Game.scrollW = 0x0A00;
Game.scrollH = 1648;
}
}
}//package
Section 63
//LevelDef2a (LevelDef2a)
package {
public class LevelDef2a {
static var main:Main;
public static function Init(_arg1:Main){
var _local2:GameObj;
main = _arg1;
LevelDef_Level2a.Init();
Game.scrollW = 0x0A00;
Game.scrollH = 1648;
}
}
}//package
Section 64
//LevelDef3 (LevelDef3)
package {
public class LevelDef3 {
static var main:Main;
public static function Init(_arg1:Main){
var _local2:GameObj;
main = _arg1;
LevelDef_Level3.Init();
Game.scrollW = 0x0A00;
Game.scrollH = 1664;
}
}
}//package
Section 65
//LevelDef3a (LevelDef3a)
package {
public class LevelDef3a {
static var main:Main;
public static function Init(_arg1:Main){
var _local2:GameObj;
main = _arg1;
LevelDef_Level3a.Init();
Game.scrollW = 0x0A00;
Game.scrollH = 1664;
}
}
}//package
Section 66
//LevelDef4 (LevelDef4)
package {
public class LevelDef4 {
static var main:Main;
public static function Init(_arg1:Main){
var _local2:GameObj;
main = _arg1;
LevelDef_Level4.Init();
Game.scrollW = 0x0A00;
Game.scrollH = 1600;
}
}
}//package
Section 67
//LevelDef4a (LevelDef4a)
package {
public class LevelDef4a {
static var main:Main;
public static function Init(_arg1:Main){
var _local2:GameObj;
main = _arg1;
LevelDef_Level4a.Init();
Game.scrollW = 0x0A00;
Game.scrollH = 1600;
}
}
}//package
Section 68
//Licensors (Licensors)
package {
public class Licensors {
public static const LICENSOR_BIGFISH = 6;
public static const LICENSOR_ANDKON = 5;
public static const LICENSOR_KONGREGATE = 1;
public static const LICENSOR_MINDJOLT = 4;
public static const LICENSOR_ARMORGAMES = 8;
public static const LICENSOR_MINICLIP = 2;
public static const LICENSOR_DOOF = 3;
public static const LICENSOR_BUBBLEBOX = 7;
public static const LICENSOR_NONE = 0;
static var licensor:int = 8;
public static function InitOnce():void{
if (licensor == LICENSOR_MINDJOLT){
};
}
public static function IsAtKongregate():Boolean{
if (licensor != LICENSOR_KONGREGATE){
return (false);
};
if (SiteLock.GetDomain() == "kongregate.com"){
return (true);
};
return (false);
}
public static function GetLicensor():int{
return (licensor);
}
public static function CanUseMochiAds():Boolean{
if (licensor == LICENSOR_NONE){
return (true);
};
if (licensor == LICENSOR_KONGREGATE){
return (true);
};
if (licensor == LICENSOR_MINICLIP){
return (false);
};
if (licensor == LICENSOR_DOOF){
return (false);
};
if (licensor == LICENSOR_MINDJOLT){
return (true);
};
if (licensor == LICENSOR_ANDKON){
return (false);
};
if (licensor == LICENSOR_BIGFISH){
return (false);
};
if (licensor == LICENSOR_ARMORGAMES){
return (false);
};
return (true);
}
public static function SetLicensor(_arg1:int):void{
licensor = _arg1;
}
public static function IsHosted():Boolean{
if (licensor == LICENSOR_NONE){
return (false);
};
if (licensor == LICENSOR_ANDKON){
return (true);
};
if (licensor == LICENSOR_BIGFISH){
return (true);
};
if (licensor == LICENSOR_KONGREGATE){
if (SiteLock.GetDomain() == "kongregate.com"){
return (true);
};
return (false);
};
if (licensor == LICENSOR_MINICLIP){
if (SiteLock.GetDomain() == "miniclip.com"){
return (true);
};
return (false);
};
if (licensor == LICENSOR_DOOF){
if (SiteLock.GetDomain() == "doof.com"){
return (true);
};
return (false);
};
if (licensor == LICENSOR_MINDJOLT){
return (false);
};
return (false);
}
public static function CanUseMochiBot():Boolean{
if (licensor == LICENSOR_ARMORGAMES){
return (false);
};
return (true);
}
}
}//package
Section 69
//Line (Line)
package {
import flash.geom.*;
public class Line {
public var nx:Number;
public var ny:Number;
public var dir:Number;
public var dy:Number;
public var y0:Number;
public var y1:Number;
public var dx:Number;
public var normalDir:Number;
public var length:Number;
public var boundingRect:Rectangle;
public var x0:Number;
public var x1:Number;
public function Line(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
x0 = _arg1;
y0 = _arg2;
x1 = _arg3;
y1 = _arg4;
CalcNormal();
CalcBoundingRect();
}
function CalcNormal():void{
dir = Math.atan2((y1 - y0), (x1 - x0));
normalDir = (dir - (Math.PI * 0.5));
nx = Math.cos(normalDir);
ny = Math.sin(normalDir);
dx = (x1 - x0);
dy = (y1 - y0);
length = Math.sqrt(((dx * dx) + (dy * dy)));
}
function CalcBoundingRect():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = x0;
_local2 = x1;
if (_local1 > _local2){
_local1 = x1;
_local2 = x0;
};
_local3 = y0;
_local4 = y1;
if (_local3 > _local4){
_local3 = y1;
_local4 = y0;
};
boundingRect = new Rectangle(_local1, _local3, ((_local2 - _local1) + 1), ((_local4 - _local3) + 1));
}
}
}//package
Section 70
//Main (Main)
package {
import flash.text.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.ui.*;
public class Main extends MovieClip {
public var tf_scorespr:TextFormat;
var framecounter:int;// = 0
public var tf_scorespr2:TextFormat;
var cheatMode:Boolean;
var debugTxt:TextField;
var levelTimer:Number;
var ftime:Number;
public var tf_scorespr1:TextFormat;
private var screenB:Bitmap;
public var backgroundMC:MovieClip;
var levelTimerMax:Number;
public var mochiScores;
var scoretxt:TextField;
public var screenBD:BitmapData;
var debugMode:Boolean;// = false
var gameState:int;// = 0
var currentTime:Number;// = 0
var secondCounter:Number;// = 0
public var fps:Number;
public var tf_scoresprblack:TextFormat;
static const gameState_HIGHSCORES = 5;
static const gameState_TITLE = 0;
static const gameState_LEVEL_PLAY = 2;
public static var theStage:Stage;
static var theRoot:MovieClip;
public function Main(){
currentTime = 0;
debugMode = false;
gameState = gameState_TITLE;
framecounter = 0;
secondCounter = 0;
super();
SetEverythingUpOnce();
}
function calcFrameTime(){
var _local1:Number;
_local1 = currentTime;
currentTime = getTimer();
if (currentTime < _local1){
_local1 = (currentTime - 100);
};
if (currentTime > (_local1 + (100 * 10))){
_local1 = (100 * 10);
};
ftime = ((1 / (1000 / Defs.fps)) * (currentTime - _local1));
framecounter++;
secondCounter = (secondCounter + (currentTime - _local1));
if (secondCounter > 1000){
fps = ((Number(framecounter) / secondCounter) * 1000);
framecounter = 0;
secondCounter = 0;
};
ftime = 1;
}
function addedToStage(_arg1:Event){
SetEverythingUpOnce2();
}
private function CreateTextField(_arg1:TextFormat, _arg2:Number, _arg3:Number, _arg4:String):TextField{
var _local5:TextField;
_local5 = new TextField();
_local5.selectable = false;
_local5.embedFonts = true;
_local5.autoSize = TextFieldAutoSize.CENTER;
_local5.x = _arg2;
_local5.y = _arg3;
_local5.text = _arg4;
_local5.setTextFormat(_arg1);
addChild(_local5);
return (_local5);
}
function AddMovieClip(_arg1:Number, _arg2:Number, _arg3:MovieClip):MovieClip{
_arg3.x = _arg1;
_arg3.y = _arg2;
addChild(_arg3);
return (_arg3);
}
function InitLevel(){
InitStageForGame();
Overlay.StartFadeIn(null);
Particles.Reset();
MouseControl.Reset();
Particles.Reset();
GameObjects.ClearAll();
Game.InitLevel();
}
function run(_arg1:Event):void{
KeyReader.UpdateOncePerFrame();
if (SiteLock.IsLocked()){
return;
};
calcFrameTime();
Overlay.Update();
switch (gameState){
case gameState_TITLE:
TitleScreenState.Update(this);
break;
case gameState_HIGHSCORES:
break;
case gameState_LEVEL_PLAY:
RunLevel();
break;
};
}
function SetEverythingUpOnce2():void{
theRoot = this;
theStage = this.root.stage;
Licensors.InitOnce();
Kong.InitOnce(this.root);
MusicPlayer.InitOnce();
KeyReader.InitOnce(theStage);
MouseControl.InitOnce(theStage);
SoundPlayer.InitOnce(this);
PauseMenu.InitOnce(this);
Particles.InitOnce(this, 1000);
GameObjects.InitOnce(this, 400);
InitDrawScreen();
InitFonts();
GraphicObjects.InitOnce(this);
Overlay.InitOnce(this, null, null);
HelpOverlay.InitOnce(this, Defs.fps);
TweakVars.InitOnce(this);
Shop.InitOnce();
EventDefs.InitOnce();
if (Licensors.CanUseMochiBot()){
MochiBot.track(this, "2377a7cd");
};
addEventListener(Event.ENTER_FRAME, run);
InitStage();
Game.Init(this);
SetGameState(gameState_TITLE);
}
function SetEverythingUpOnce():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedToStage);
} else {
SetEverythingUpOnce2();
};
}
function InitFonts():void{
var _local1:Font;
_local1 = new Font20();
tf_scorespr = new TextFormat();
tf_scorespr1 = new TextFormat();
tf_scorespr2 = new TextFormat();
tf_scoresprblack = new TextFormat();
tf_scorespr.font = _local1.fontName;
tf_scorespr.size = 14;
tf_scorespr.color = 4280352544;
tf_scorespr1.font = _local1.fontName;
tf_scorespr1.size = 14;
tf_scorespr1.color = 68719116288;
tf_scorespr2.font = _local1.fontName;
tf_scorespr2.size = 40;
tf_scorespr2.color = 4280352544;
tf_scoresprblack.font = _local1.fontName;
tf_scoresprblack.size = 16;
tf_scoresprblack.color = 0;
}
function InitStage(){
var _local1:int;
_local1 = (this.numChildren - 1);
while (_local1 >= 0) {
removeChildAt(_local1);
_local1--;
};
addChild(screenB);
screenB.x = 0;
screenB.y = 0;
}
function Render(){
this.x = 0;
this.y = 0;
GameObjects.Render();
Particles.Render(this);
Game.RenderPanel();
Game.Render();
}
function InitDrawScreen():void{
screenBD = new BitmapData(Defs.displayarea_w, Defs.displayarea_h, true, 0);
screenB = new Bitmap(screenBD);
}
function InitStageNoBackground(){
var _local1:int;
_local1 = (this.numChildren - 1);
while (_local1 >= 0) {
removeChildAt(_local1);
_local1--;
};
}
function InitStageForGame(){
var _local1:int;
_local1 = (this.numChildren - 1);
while (_local1 >= 0) {
removeChildAt(_local1);
_local1--;
};
addChild(screenB);
screenB.x = 0;
screenB.y = 0;
}
function RunTitle(){
}
function SetGameState(_arg1:int):void{
gameState = _arg1;
Mouse.show();
switch (gameState){
case gameState_TITLE:
TitleScreenState.Init(this);
break;
case gameState_HIGHSCORES:
break;
case gameState_LEVEL_PLAY:
InitLevel();
break;
};
}
function RunLevel(){
HelpOverlay.Update(ftime);
Game.UpdateGameplay();
Render();
}
}
}//package
Section 71
//MochiBot (MochiBot)
package {
import flash.net.*;
import flash.display.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 72
//MouseControl (MouseControl)
package {
import flash.events.*;
import flash.display.*;
public class MouseControl {
public static var mouseVelX:Number = 0;
public static var mouseVelY:Number = 0;
public static var mouseOldPosX:Number = 0;
public static var mouseOldPosY:Number = 0;
public static var mousePosX:Number = 0;
public static var mousePosY:Number = 0;
public static var buttonPressed:Boolean = false;
public static var buttonReleased:Boolean = false;
public static function MouseHandler(_arg1:MouseEvent):void{
mousePosX = _arg1.stageX;
mousePosY = _arg1.stageY;
mouseVelX = (mousePosX - mouseOldPosX);
mouseVelY = (mousePosY - mouseOldPosY);
mouseOldPosX = mousePosX;
mouseOldPosY = mousePosY;
}
public static function InitOnce(_arg1:Stage):void{
_arg1.addEventListener(MouseEvent.MOUSE_MOVE, MouseHandler);
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, MouseClickHandler);
_arg1.addEventListener(MouseEvent.MOUSE_UP, MouseUpHandler);
}
public static function MouseUpHandler(_arg1:MouseEvent):void{
buttonPressed = false;
buttonReleased = true;
}
public static function Reset():void{
buttonPressed = false;
buttonReleased = false;
}
public static function MouseClickHandler(_arg1:MouseEvent):void{
buttonPressed = true;
buttonReleased = false;
}
}
}//package
Section 73
//Music1 (Music1)
package {
import flash.media.*;
public dynamic class Music1 extends Sound {
}
}//package
Section 74
//Music2 (Music2)
package {
import flash.media.*;
public dynamic class Music2 extends Sound {
}
}//package
Section 75
//Music3 (Music3)
package {
import flash.media.*;
public dynamic class Music3 extends Sound {
}
}//package
Section 76
//MusicPlayer (MusicPlayer)
package {
import flash.media.*;
public class MusicPlayer {
static var musicChannel:SoundChannel = null;
static var musicSound1:Sound;
static var musicSoundTransform:SoundTransform;
static var musicSound:Sound;
static var nextMusicID:int = 0;
static var musicSoundTransform1:SoundTransform;
static var lastMusicID = -1;
static var musicChannel1:SoundChannel = null;
static var currentMusicID:int = -1;
static var doMusic:Boolean = true;
public static function PauseMusic(){
musicChannel.stop();
}
public static function StartMusic(_arg1:int){
nextMusicID++;
nextMusicID = (nextMusicID % 3);
_arg1 = nextMusicID;
if (doMusic == false){
return;
};
if (musicChannel != null){
musicChannel.stop();
};
if (musicChannel1 != null){
musicChannel1.stop();
};
if (_arg1 == 0){
musicSoundTransform = new SoundTransform(0.75, 0);
musicSound = new Music1();
musicChannel = musicSound.play(0, 999999, musicSoundTransform);
};
if (_arg1 == 1){
musicSoundTransform = new SoundTransform(0.75, 0);
musicSound = new Music2();
musicChannel = musicSound.play(0, 999999, musicSoundTransform);
};
if (_arg1 == 2){
musicSoundTransform = new SoundTransform(0.75, 0);
musicSound = new Music3();
musicChannel = musicSound.play(0, 999999, musicSoundTransform);
};
lastMusicID = _arg1;
}
public static function InitOnce():void{
doMusic = true;
lastMusicID = -1;
currentMusicID = -1;
nextMusicID = 0;
}
public static function ResumeMusic(){
currentMusicID = (lastMusicID - 1);
StartMusic(lastMusicID);
}
}
}//package
Section 77
//ObstacleBanana (ObstacleBanana)
package {
import flash.display.*;
public dynamic class ObstacleBanana extends MovieClip {
}
}//package
Section 78
//ObstacleBarrier (ObstacleBarrier)
package {
import flash.display.*;
public dynamic class ObstacleBarrier extends MovieClip {
}
}//package
Section 79
//ObstacleCone (ObstacleCone)
package {
import flash.display.*;
public dynamic class ObstacleCone extends MovieClip {
}
}//package
Section 80
//ObstacleConeShadow (ObstacleConeShadow)
package {
import flash.display.*;
public dynamic class ObstacleConeShadow extends MovieClip {
}
}//package
Section 81
//ObstacleSnowman (ObstacleSnowman)
package {
import flash.display.*;
public dynamic class ObstacleSnowman extends MovieClip {
}
}//package
Section 82
//Overlay (Overlay)
package {
import flash.display.*;
public class Overlay {
static var callback:Object;
static var parent:MovieClip;
static var fadingOut:Boolean;
static var mcOut:MovieClip;
static var mcIn:MovieClip;
static var fadingIn:Boolean;
public static function InitOnce(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip){
fadingIn = false;
fadingOut = false;
AddClips(_arg1, _arg2, _arg3);
}
public static function Update():void{
if (fadingOut == true){
mcOut.nextFrame();
if (mcOut.currentFrame == mcOut.totalFrames){
fadingOut = false;
parent.removeChild(mcOut);
if (callback != null){
callback();
};
};
};
if (fadingIn == true){
mcIn.nextFrame();
if (mcIn.currentFrame == mcIn.totalFrames){
parent.removeChild(mcIn);
fadingIn = false;
if (callback != null){
callback();
};
};
};
}
public static function StartFadeIn(_arg1:Object):void{
if (mcIn == null){
return;
};
callback = _arg1;
parent.addChild(mcIn);
mcIn.gotoAndStop(0);
fadingIn = true;
}
public static function AddClips(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip):void{
mcIn = _arg3;
mcOut = _arg2;
parent = _arg1;
}
public static function IsActive():Boolean{
if (fadingIn == true){
return (true);
};
if (fadingOut == true){
return (true);
};
return (false);
}
public static function StartFadeOut(_arg1:Object):void{
if (mcOut == null){
return;
};
callback = _arg1;
parent.addChild(mcOut);
mcOut.gotoAndStop(0);
fadingOut = true;
}
}
}//package
Section 83
//Particle (Particle)
package {
class Particle {
var graphicID:int;
public var yvel:Number;
var timer:Number;
var active:Boolean;
var maxframe:int;
var counter:int;
var speed:Number;
var dir:Number;
var xpos:Number;
var alpha:Number;
var alphaAdd:Number;
public var xvel:Number;
var m:Main;
var frame:Number;
var frameVel:Number;
var visible:Boolean;
var type:int;
var ypos:Number;
function PlayAnimation():Boolean{
frame = (frame + frameVel);
if (frame >= maxframe){
frame = maxframe;
return (true);
};
return (false);
}
function Update(_arg1:Number){
var _local2:Number;
var _local3:Number;
_local3 = 0.02;
if (type == Particles.type_dust){
xvel = (Math.cos(dir) * speed);
yvel = (Math.sin(dir) * speed);
xpos = (xpos + xvel);
ypos = (ypos + yvel);
frame = (frame + frameVel);
if (frame >= maxframe){
frame = maxframe;
};
speed = (speed - 0.3);
if (speed <= 0){
speed = 0;
};
if (PlayAnimation() == true){
active = false;
};
};
if (type == Particles.type_wallspark){
if (PlayAnimation()){
active = false;
};
};
if (type == Particles.type_carspark){
xpos = (xpos + xvel);
ypos = (ypos + yvel);
timer--;
if (timer < 0){
active = false;
};
};
}
}
}//package
Section 84
//Particle_Dust (Particle_Dust)
package {
import flash.display.*;
public dynamic class Particle_Dust extends MovieClip {
}
}//package
Section 85
//Particle_Explosion (Particle_Explosion)
package {
import flash.display.*;
public dynamic class Particle_Explosion extends MovieClip {
}
}//package
Section 86
//Particle_Red (Particle_Red)
package {
import flash.display.*;
public dynamic class Particle_Red extends MovieClip {
}
}//package
Section 87
//Particles (Particles)
package {
import flash.geom.*;
public class Particles {
public static const type_carspark = 1;
public static const type_dust = 0;
public static const type_wallspark = 2;
static var max:int;
static var main:Main;
static var list:Array;
static var nextIndex:int;
public function Particles():void{
}
public static function Add(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Particle{
var _local6:Number;
var _local7:Number;
var _local8:Particle;
_local8 = list[nextIndex];
nextIndex++;
if (nextIndex >= max){
nextIndex = 0;
};
_local8.active = true;
_local8.timer = 0;
_local8.type = _arg1;
_local8.alpha = 1;
_local8.alphaAdd = 0;
_local8.visible = true;
if (_arg1 == type_dust){
_local8.xpos = _arg2;
_local8.ypos = _arg3;
_local8.dir = _arg4;
_local8.dir = (_local8.dir + Utils.RandBetweenFloat(-0.02, 0.02));
_local8.speed = (_arg5 * 1);
_local8.graphicID = GraphicObjects.gfx_particle_dust1;
_local8.alpha = 0.5;
_local8.frame = 0;
_local8.frameVel = Utils.RandBetweenFloat(0.2, 0.5);
_local8.alphaAdd = Utils.RandBetweenFloat(-0.01, -0.03);
_local8.maxframe = (GraphicObjects.GetNumFrames(_local8.graphicID) - 1);
};
if (_arg1 == type_wallspark){
_local8.xpos = _arg2;
_local8.ypos = _arg3;
_local8.xvel = Utils.RandBetweenFloat(-1, 1);
_local8.yvel = Utils.RandBetweenFloat(-1, 1);
_local8.graphicID = GraphicObjects.gfx_wall_collision;
_local8.frameVel = 0.33;
_local8.maxframe = (GraphicObjects.GetNumFrames(_local8.graphicID) - 1);
_local8.frame = 0;
};
if (_arg1 == type_carspark){
_local8.xpos = _arg2;
_local8.ypos = _arg3;
_local8.xvel = Utils.RandBetweenFloat(-1, 1);
_local8.yvel = Utils.RandBetweenFloat(-1, 1);
_local8.graphicID = -1;
_local8.graphicID = GraphicObjects.gfx_carcar_collision;
_local8.frame = Utils.RandBetweenInt(0, (GraphicObjects.GetNumFrames(_local8.graphicID) - 1));
_local8.timer = Utils.RandBetweenInt(1, 3);
};
return (_local8);
}
public static function GetNextIndex():int{
return (nextIndex);
}
public static function CountActive():int{
var _local1:int;
var _local2:int;
_local1 = 0;
_local2 = 0;
while (_local2 < max) {
if (list[_local2].active){
_local1++;
};
_local2++;
};
return (_local1);
}
public static function Reset(){
var _local1:int;
nextIndex = 0;
_local1 = 0;
while (_local1 < max) {
list[_local1].active = false;
_local1++;
};
}
public static function Update(_arg1:Number){
var _local2:int;
var _local3:Particle;
_local2 = 0;
while (_local2 < max) {
_local3 = list[_local2];
if (_local3.active == true){
_local3.Update(_arg1);
};
_local2++;
};
}
public static function InitOnce(_arg1:Main, _arg2:int):void{
var _local3:int;
main = _arg1;
max = _arg2;
nextIndex = 0;
list = new Array(max);
_local3 = 0;
while (_local3 < max) {
list[_local3] = new Particle();
list[_local3].active = false;
_local3++;
};
}
public static function Render(_arg1:Main){
var _local2:Boolean;
var _local3:int;
var _local4:Particle;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:uint;
_local2 = Game.xflipMap;
_local3 = 0;
while (_local3 < max) {
_local4 = list[_local3];
if (((_local4.active) && (_local4.visible))){
_local5 = (_local4.xpos - Game.scrollX);
_local6 = (_local4.ypos - Game.scrollY);
if (_local2){
_local7 = Math.floor(Game.scrollX);
_local5 = (Math.floor((Game.scrollW - _local4.xpos)) - _local7);
};
if (_local4.graphicID == -1){
_local8 = 4286578688;
_arg1.screenBD.setPixel32(_local5, _local6, 4294901760);
_arg1.screenBD.setPixel32((_local5 - 1), _local6, _local8);
_arg1.screenBD.setPixel32((_local5 + 1), _local6, _local8);
_arg1.screenBD.setPixel32(_local5, (_local6 - 1), _local8);
_arg1.screenBD.setPixel32(_local5, (_local6 + 1), _local8);
} else {
GraphicObjects.RenderAt(_local4.graphicID, _local4.frame, _arg1.screenBD, _local5, _local6);
};
};
_local3++;
};
}
}
}//package
Section 88
//PauseMenu (PauseMenu)
package {
import flash.events.*;
import flash.text.*;
import flash.geom.*;
import flash.net.*;
import flash.ui.*;
import flash.display.*;
public class PauseMenu {
static var active:Boolean;
static var pauseMC:MovieClip;
static var helpMC:MovieClip;
static var main:Main;
public function PauseMenu():void{
}
public static function buttonQuitPressed(_arg1:MouseEvent){
Unpause();
Game.StopSoundLoops();
Game.main.SetGameState(Main.gameState_TITLE);
}
public static function Unpause():void{
active = false;
Game.main.removeChild(pauseMC);
pauseMC = null;
KeyReader.InitOnce(Game.main.stage);
}
public static function buttonSFXPressed(_arg1:MouseEvent){
var _local2:Boolean;
_local2 = SoundPlayer.doSFX;
SoundPlayer.doSFX = (_local2 == false);
pauseMC.selectedSFX.visible = SoundPlayer.doSFX;
}
public static function buttonContinuePressed(_arg1:MouseEvent){
Unpause();
}
public static function buttonHelpPressed(_arg1:MouseEvent){
InitHelpScreen();
}
public static function InitOnce(_arg1:Main):void{
main = _arg1;
active = false;
}
public static function Pause():void{
pauseMC = new PauseMenuScreen();
main.addChild(pauseMC);
pauseMC.buttonMusic.addEventListener(MouseEvent.CLICK, buttonMusicPressed);
pauseMC.buttonSFX.addEventListener(MouseEvent.CLICK, buttonSFXPressed);
pauseMC.buttonHelp.addEventListener(MouseEvent.CLICK, buttonHelpPressed);
pauseMC.buttonQuit.addEventListener(MouseEvent.CLICK, buttonQuitPressed);
pauseMC.buttonContinue.addEventListener(MouseEvent.CLICK, buttonContinuePressed);
pauseMC.buttonRestartLevel.addEventListener(MouseEvent.CLICK, buttonRestartLevelPressed);
active = true;
TitleScreenState.MoreGamesButton(pauseMC);
pauseMC.selectedMusic.visible = MusicPlayer.doMusic;
pauseMC.selectedSFX.visible = SoundPlayer.doSFX;
Game.SetVolume(Game.skidSound0, 0);
TitleScreenState.KongButton(pauseMC);
}
public static function buttonHelpOKPressed(_arg1:MouseEvent){
Game.main.removeChild(helpMC);
helpMC = null;
}
public static function buttonRestartLevelPressed(_arg1:MouseEvent){
trace("Restart Level");
Unpause();
Game.InitLevel();
}
public static function InitHelpScreen():void{
helpMC = new HelpScreen();
main.addChild(helpMC);
TitleScreenState.KongButton(helpMC);
helpMC.buttonOK.addEventListener(MouseEvent.CLICK, buttonHelpOKPressed);
}
public static function buttonMusicPressed(_arg1:MouseEvent){
var _local2:Boolean;
_local2 = MusicPlayer.doMusic;
if (_local2 == true){
MusicPlayer.PauseMusic();
MusicPlayer.doMusic = false;
} else {
MusicPlayer.doMusic = true;
MusicPlayer.ResumeMusic();
};
pauseMC.selectedMusic.visible = MusicPlayer.doMusic;
}
public static function IsPaused():Boolean{
return (active);
}
}
}//package
Section 89
//PauseMenuScreen (PauseMenuScreen)
package {
import flash.display.*;
public dynamic class PauseMenuScreen extends MovieClip {
public var buttonSFX:SimpleButton;
public var buttonRestartLevel:SimpleButton;
public var buttonMusic:SimpleButton;
public var buttonMoreGames:SimpleButton;
public var buttonKong:SimpleButton;
public var selectedMusic:MovieClip;
public var buttonHelp:SimpleButton;
public var buttonQuit:SimpleButton;
public var selectedSFX:MovieClip;
public var buttonContinue:SimpleButton;
}
}//package
Section 90
//Pickup1 (Pickup1)
package {
import flash.display.*;
public dynamic class Pickup1 extends MovieClip {
}
}//package
Section 91
//Player1 (Player1)
package {
import flash.display.*;
public dynamic class Player1 extends MovieClip {
}
}//package
Section 92
//Player2 (Player2)
package {
import flash.display.*;
public dynamic class Player2 extends MovieClip {
}
}//package
Section 93
//Poly (Poly)
package {
import flash.geom.*;
public class Poly {
var param0:String;
var param1:String;
var subTypeName:String;
var active:Boolean;
var name:String;
var typeName:String;
var boundingRectangle:Rectangle;
var iparam0:int;
var lineList:Array;
var hitCallback:Object;
var type:int;
public static const polytype_CHECKPOINT = 7;
public static const polytype_WALL = 0;
public static const polytype_ZONE = 2;
public static const polytype_OVERLAY = 4;
public static const polytype_PATH = 3;
public static const polytype_TRIGGER = 1;
public function Poly(_arg1:String, _arg2:int):void{
lineList = new Array();
active = true;
type = _arg2;
name = _arg1;
boundingRectangle = null;
hitCallback = null;
}
public function Finish(_arg1:Boolean){
var _local2:Line;
var _local3:Line;
var _local4:Line;
var _local5:Rectangle;
if (_arg1){
_local2 = lineList[0];
_local3 = lineList[(lineList.length - 1)];
_local4 = new Line(_local3.x1, _local3.y1, _local2.x0, _local2.y0);
lineList.push(_local4);
_local5 = boundingRectangle.clone();
boundingRectangle = _local5.union(_local4.boundingRect);
};
}
public function GetPoint(_arg1:int):Point{
return (new Point(lineList[_arg1].x0, lineList[_arg1].y0));
}
public function GetPointNormal(_arg1:int):Point{
return (new Point(lineList[_arg1].nx, lineList[_arg1].ny));
}
public function AddLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Line;
var _local6:Rectangle;
_local5 = new Line(_arg1, _arg2, _arg3, _arg4);
lineList.push(_local5);
if (boundingRectangle == null){
boundingRectangle = _local5.boundingRect;
} else {
_local6 = boundingRectangle.clone();
boundingRectangle = _local6.union(_local5.boundingRect);
};
}
public function GetLine(_arg1:int):Line{
return (lineList[_arg1]);
}
public function GetNumPoints():int{
return ((lineList.length - 1));
}
public static function FindIndexByName(_arg1:String, _arg2:Array):int{
var _local3:int;
var _local4:Poly;
_local3 = 0;
for each (_local4 in _arg2) {
if (_local4.name == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public static function FindAllByType(_arg1:int, _arg2:Array):Array{
var _local3:Array;
var _local4:Poly;
_local3 = new Array();
for each (_local4 in _arg2) {
if (_local4.type == _arg1){
_local3.push(_local4);
};
};
return (_local3);
}
public static function FindByName(_arg1:String, _arg2:Array):Poly{
var _local3:Poly;
for each (_local3 in _arg2) {
if (_local3.name == _arg1){
return (_local3);
};
};
return (null);
}
}
}//package
Section 94
//PostRaceScreen (PostRaceScreen)
package {
import flash.text.*;
import flash.display.*;
public dynamic class PostRaceScreen extends MovieClip {
public var textCh2:TextField;
public var textCh3:TextField;
public var textCh0:TextField;
public var textCh5:TextField;
public var textCh4:TextField;
public var textCh6:TextField;
public var textTime2:TextField;
public var textEventScore:TextField;
public var textCh7:TextField;
public var buttonKong:SimpleButton;
public var buttonOK:SimpleButton;
public var textTotalScore:TextField;
public var textFinished:TextField;
public var textTime0:TextField;
public var textTime1:TextField;
public var textTime3:TextField;
public var textCh1:TextField;
}
}//package
Section 95
//ScoreBar (ScoreBar)
package {
import flash.display.*;
public dynamic class ScoreBar extends MovieClip {
}
}//package
Section 96
//SetupScript (SetupScript)
package {
import flash.geom.*;
public class SetupScript {
static const outputMessages:Boolean = false;
static var main:Main;
static var lastGOGeneratedX;
static var lastGOGeneratedY;
static var lineStartX:int;
static var lineStartY:int;
static var lineType:int;
static var lineRectangle:Rectangle;
static var currentPoly:Poly;
static var lastGOGenerated;
static var lineList:Array;
public static function InitOnce(_arg1:Main){
main = _arg1;
}
static function AddPickup(_arg1:int, _arg2:int):void{
}
static function AddEnemy(_arg1:String, _arg2:int, _arg3:int, _arg4:int):void{
}
static function AddObject(_arg1:String, _arg2:int, _arg3:int, _arg4:String, _arg5:String, _arg6:String, _arg7:int=0, _arg8:int=0, _arg9:Number=0, _arg10:Number=0):void{
var _local11:GameObj;
if (outputMessages){
trace((((((("SetupScript.AddObject(" + _arg2) + ", ") + _arg3) + ", ") + _arg4) + ");"));
};
if (_arg5 == "obj"){
if (_arg4 == "StartPoint"){
Game.startPoints.push(new Point(_arg2, _arg3));
Game.startPointDirs.push(Number(_arg7));
};
if (_arg4 == "PickupGen"){
if (Game.IsPickupActive(Game.initPickupIndex)){
_local11 = GameObjects.AddObj(GameObj.gotype_PICKUPGEN, _arg2, _arg3, 1000);
_local11.InitPickupGen(Game.initPickupIndex);
};
Game.initPickupIndex++;
};
if (_arg4 == "PersonGen"){
_local11 = GameObjects.AddObj(GameObj.gotype_PERSONGEN, _arg2, _arg3, 1000);
};
if (_arg4 == "Obstacle"){
_local11 = GameObjects.AddObj(GameObj.gotype_OBSTACLE, _arg2, _arg3, 1000);
_local11.InitObstacle(_arg6, _arg7);
};
};
lastGOGenerated = _local11;
lastGOGeneratedX = _arg2;
lastGOGeneratedY = _arg3;
}
static function LineEnd(_arg1:Boolean){
if (outputMessages){
trace((("SetupScript.LineEnd(" + _arg1) + ");"));
};
currentPoly.Finish(_arg1);
Game.polygonList.push(currentPoly);
if (lineType == 1){
Trigger.Add((Game.polygonList.length - 1));
};
}
static function LineStart(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:String="", _arg6:String="", _arg7:String="", _arg8:String=""){
if (outputMessages){
trace((((((("SetupScript.LineStart(" + _arg2) + ", ") + _arg3) + ", ") + _arg4) + ");"));
};
lineStartX = _arg2;
lineStartY = _arg3;
lineType = _arg4;
currentPoly = new Poly(_arg1, _arg4);
currentPoly.typeName = _arg5;
currentPoly.subTypeName = _arg6;
currentPoly.iparam0 = int(_arg7);
}
static function LineAdd(_arg1:int, _arg2:int, _arg3:int){
if (outputMessages){
trace((((((("SetupScript.LineAdd(" + _arg1) + ", ") + _arg2) + ", ") + _arg3) + ");"));
};
currentPoly.AddLine(lineStartX, lineStartY, _arg1, _arg2);
lineStartX = _arg1;
lineStartY = _arg2;
}
static function AddExit(_arg1:int, _arg2:int):void{
}
}
}//package
Section 97
//Shop (Shop)
package {
import flash.events.*;
import flash.display.*;
public class Shop {
public static const ul_accel = 0;
public static const ul_decel = 6;
public static const ul_turnspeed = 5;
public static const ul_handling = 2;
public static const ul_turnspeedatmax = 4;
public static const ul_speed = 1;
public static const ul_weight = 3;
static var indicators:Array;
static var active:Boolean;
static var costs:Array;
static var shopClip:MovieClip;
static var values:Array;
public static var upgradeLevels:Array;
static var texts:Array;
public static function Exit(){
active = false;
Game.main.removeChild(shopClip);
Game.ShopToTweakvars();
Game.SaveData();
}
static function buttonBuyPressed(_arg1:MouseEvent){
var _local2:String;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = _arg1.currentTarget.name;
_local3 = 0;
if (_local2 == "buttonBuy0"){
_local3 = 0;
};
if (_local2 == "buttonBuy1"){
_local3 = 1;
};
if (_local2 == "buttonBuy2"){
_local3 = 2;
};
if (_local2 == "buttonBuy3"){
_local3 = 3;
};
if (upgradeLevels[_local3] >= 5){
return;
};
if (Game.playerMoney >= costs[upgradeLevels[_local3]]){
Game.playerMoney = (Game.playerMoney - costs[upgradeLevels[_local3]]);
var _local6 = upgradeLevels;
var _local7 = _local3;
var _local8 = (_local6[_local7] + 1);
_local6[_local7] = _local8;
};
SetIndicators();
SetCosts();
SetCash();
_local4 = 0;
_local5 = 0;
while (_local5 < 4) {
_local4 = (_local4 + upgradeLevels[_local5]);
_local5++;
};
Kong.SubmitStat(_local4, "NumUpgrades");
}
public static function InitOnce(){
values = new Array();
values.push(0.2, 0.24, 0.28, 0.32, 0.36, 0.4);
values.push(8, 8.2, 8.4, 8.6, 8.8, 9);
values.push(0.1, 0.11, 0.115, 0.12, 0.125, 0.13);
values.push(2.5, 2.6, 2.7, 2.8, 2.9, 3);
values.push(0.04, 0.038, 0.036, 0.034, 0.032, 0.03);
values.push(0.07, 0.066, 0.062, 0.058, 0.054, 0.05);
values.push(0.1, 0.1, 0.11, 0.11, 0.12, 0.12);
costs = new Array(3000, 4000, 5000, 6000, 7000, 0);
shopClip = new ShopScreen();
upgradeLevels = new Array();
upgradeLevels.push(0);
upgradeLevels.push(0);
upgradeLevels.push(0);
upgradeLevels.push(0);
indicators = new Array();
indicators.push(shopClip.indicator0);
indicators.push(shopClip.indicator1);
indicators.push(shopClip.indicator2);
indicators.push(shopClip.indicator3);
texts = new Array();
texts.push(shopClip.price0);
texts.push(shopClip.price1);
texts.push(shopClip.price2);
texts.push(shopClip.price3);
shopClip.buttonBuy0.addEventListener(MouseEvent.CLICK, buttonBuyPressed);
shopClip.buttonBuy1.addEventListener(MouseEvent.CLICK, buttonBuyPressed);
shopClip.buttonBuy2.addEventListener(MouseEvent.CLICK, buttonBuyPressed);
shopClip.buttonBuy3.addEventListener(MouseEvent.CLICK, buttonBuyPressed);
shopClip.buttonBack.addEventListener(MouseEvent.CLICK, buttonBackPressed);
TitleScreenState.KongButton(shopClip);
active = false;
}
public static function SetValue(_arg1:int, _arg2:Number){
var _local3:int;
var _local4:int;
_local3 = 0;
if (_arg1 == ul_accel){
_local3 = ul_accel;
} else {
if (_arg1 == ul_speed){
_local3 = ul_speed;
} else {
if (_arg1 == ul_handling){
_local3 = ul_handling;
} else {
if (_arg1 == ul_weight){
_local3 = ul_weight;
} else {
if (_arg1 == ul_turnspeedatmax){
_local3 = ul_handling;
} else {
if (_arg1 == ul_turnspeed){
_local3 = ul_handling;
} else {
if (_arg1 == ul_decel){
_local3 = ul_accel;
};
};
};
};
};
};
};
_local4 = (_arg1 * 6);
_local4 = (_local4 + upgradeLevels[_local3]);
values[_local4] = _arg2;
}
public static function GetValue(_arg1:int):Number{
var _local2:int;
var _local3:int;
_local2 = 0;
if (_arg1 == ul_accel){
_local2 = ul_accel;
} else {
if (_arg1 == ul_speed){
_local2 = ul_speed;
} else {
if (_arg1 == ul_handling){
_local2 = ul_handling;
} else {
if (_arg1 == ul_weight){
_local2 = ul_weight;
} else {
if (_arg1 == ul_turnspeedatmax){
_local2 = ul_handling;
} else {
if (_arg1 == ul_turnspeed){
_local2 = ul_handling;
} else {
if (_arg1 == ul_decel){
_local2 = ul_accel;
};
};
};
};
};
};
};
_local3 = (_arg1 * 6);
_local3 = (_local3 + upgradeLevels[_local2]);
return (values[_local3]);
}
static function SetIndicators(){
var _local1:int;
_local1 = 0;
while (_local1 < 4) {
indicators[_local1].gotoAndStop((upgradeLevels[_local1] + 1));
_local1++;
};
}
public static function Update(){
}
public static function Init(){
Game.TweakvarsToShop();
active = true;
Game.main.addChild(shopClip);
SetIndicators();
SetCosts();
SetCash();
}
static function SetCosts(){
var _local1:String;
var _local2:int;
_local2 = 0;
while (_local2 < 4) {
if (costs[upgradeLevels[_local2]] == 0){
texts[_local2].text = "Full";
} else {
_local1 = ("$" + costs[upgradeLevels[_local2]].toString());
texts[_local2].text = _local1;
};
_local2++;
};
}
public static function ResetUpgrades(){
upgradeLevels = new Array();
upgradeLevels.push(0);
upgradeLevels.push(0);
upgradeLevels.push(0);
upgradeLevels.push(0);
}
static function SetCash(){
shopClip.cash.text = ("$" + Game.playerMoney.toString());
}
static function buttonBackPressed(_arg1:MouseEvent){
Exit();
}
public static function IsActive():Boolean{
return (active);
}
}
}//package
Section 98
//ShopScreen (ShopScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ShopScreen extends MovieClip {
public var indicator0:MovieClip;
public var price1:TextField;
public var indicator1:MovieClip;
public var indicator3:MovieClip;
public var price0:TextField;
public var price3:TextField;
public var indicator2:MovieClip;
public var price2:TextField;
public var cash:TextField;
public var buttonBack:SimpleButton;
public var buttonKong:SimpleButton;
public var buttonBuy1:buttonBuy;
public var buttonBuy2:buttonBuy;
public var buttonBuy0:buttonBuy;
public var buttonBuy3:buttonBuy;
}
}//package
Section 99
//SiteLock (SiteLock)
package {
import flash.events.*;
public class SiteLock {
static var miniclip_locked:Boolean = false;
static var sitelockActive:Boolean = false;
public static function InitOnce():void{
}
static function onValidDomain(_arg1:Event):void{
trace("Miniclip sitelock OK");
miniclip_locked = false;
}
public static function IsLocked():Boolean{
var _local1:String;
_local1 = GetDomain();
if (Licensors.GetLicensor() == Licensors.LICENSOR_ARMORGAMES){
if (_local1 != "armorgames.com"){
return (true);
};
return (false);
};
if (Licensors.GetLicensor() == Licensors.LICENSOR_BUBBLEBOX){
if (_local1 != "bubblebox.com"){
return (true);
};
return (false);
};
if (Licensors.GetLicensor() == Licensors.LICENSOR_ANDKON){
if (_local1 != "andkon.com"){
return (true);
};
return (false);
};
if (Licensors.GetLicensor() == Licensors.LICENSOR_BIGFISH){
if (((((((((((!((_local1 == "bigfishgames.com"))) && (!((_local1 == "bigfishgames.de"))))) && (!((_local1 == "bigfishgames.fr"))))) && (!((_local1 == "bigfishgames.es"))))) && (!((_local1 == "bigfishgames.mx"))))) && (!((_local1 == "bigfishgames.jp"))))){
return (true);
};
return (false);
};
return (false);
}
public static function GetDomain():String{
var _local1:String;
var _local2:Number;
var _local3:Number;
var _local4:String;
var _local5:Number;
var _local6:Number;
_local1 = Main.theStage.loaderInfo.url;
_local2 = (_local1.indexOf("://") + 3);
_local3 = _local1.indexOf("/", _local2);
_local4 = _local1.substring(_local2, _local3);
_local5 = (_local4.lastIndexOf(".") - 1);
_local6 = (_local4.lastIndexOf(".", _local5) + 1);
_local4 = _local4.substring(_local6, _local4.length);
return (_local4);
}
public static function GetDomainFromUrl(_arg1:String):String{
var _local2:Number;
var _local3:Number;
var _local4:String;
var _local5:Number;
var _local6:Number;
_local2 = (_arg1.indexOf("://") + 3);
_local3 = _arg1.indexOf("/", _local2);
_local4 = _arg1.substring(_local2, _local3);
_local5 = (_local4.lastIndexOf(".") - 1);
_local6 = (_local4.lastIndexOf(".", _local5) + 1);
_local4 = _local4.substring(_local6, _local4.length);
return (_local4);
}
static function onInvalidDomain(_arg1:Event):void{
trace("Miniclip sitelock INVALID");
miniclip_locked = true;
}
}
}//package
Section 100
//SoundPlayer (SoundPlayer)
package {
import flash.media.*;
import flash.utils.*;
public class SoundPlayer {
public static const SOUND_SNOWMAN = 11;
public static const SOUND_STARTBEEP0 = 13;
public static const SOUND_STARTBEEP1 = 14;
public static const minPlayTime = 3;
public static const SOUND_CONE0 = 5;
public static const SOUND_CONE1 = 6;
public static const SOUND_CASHREGISTER = 12;
public static const SOUND_SKID = 9;
public static const SOUND_BARRIER = 10;
static const maxSounds = 8;
public static const SOUND_IMPACT0 = 7;
public static const SOUND_IMPACT1 = 8;
public static const SOUND_ENGINE0 = 0;
public static const SOUND_ENGINE1 = 1;
public static const SOUND_ENGINE2 = 2;
public static const SOUND_MAX = 8;
public static const SOUND_BARREL0 = 3;
public static const SOUND_BARREL1 = 4;
static var doSFX:Boolean;
static var channel:SoundChannel;
public static var startTimes:Array;
static var active = false;
public static var sound:Sound;
public static var soundTransform:SoundTransform;
static var main:Main;
static var playingFlag:Boolean;
public static var sounds:Array;
static var timer:Timer;
public static var lengths:Array;
static var Instances:Array;
public static var soundTransforms:Array;
public static var soundChannels:Array;
static function AddSound(_arg1:Number, _arg2:Number){
startTimes.push((_arg1 * 1000));
lengths.push((_arg2 * 1000));
sounds.push(null);
}
public static function StartLoop(_arg1:int):SoundChannel{
var _local2:SoundChannel;
var _local3:Sound;
if (sounds[_arg1] != null){
_local3 = sounds[_arg1];
_local2 = _local3.play(0, 9999999, new SoundTransform(0, 0));
return (_local2);
};
return (null);
}
public static function Play(_arg1:int):void{
var _local2:SoundTransform;
var _local3:Sound;
var _local4:int;
var _local5:SoundPlay;
if (doSFX == false){
return;
};
if (sounds[_arg1] != null){
_local3 = sounds[_arg1];
_local2 = new SoundTransform();
_local3.play(0);
} else {
_local4 = 0;
while (_local4 < maxSounds) {
_local5 = Instances[_local4];
if (_local5.Active() == false){
_local5.Play(_arg1);
return;
};
_local4++;
};
};
}
public static function InitOnce(_arg1:Main):void{
var _local2:int;
var _local3:SoundPlay;
doSFX = true;
main = _arg1;
Instances = new Array(maxSounds);
_local2 = 0;
while (_local2 < maxSounds) {
_local3 = new SoundPlay();
_local3.Clear();
Instances[_local2] = _local3;
_local2++;
};
startTimes = new Array();
lengths = new Array();
sounds = new Array();
soundChannels = new Array();
soundTransforms = new Array();
AddSound1(new IMP_Barrel_Hit1());
AddSound1(new IMP_Barrel_Hit1());
AddSound1(new IMP_Barrel_Hit1());
AddSound1(new IMP_Barrel_Hit1());
AddSound1(new IMP_Barrel_Hit2());
AddSound1(new IMP_ConeHit2());
AddSound1(new IMP_ConeHit3());
AddSound1(new IMP_Susp1());
AddSound1(new IMP_Susp2());
AddSound1(new SRF_Tarmac_Skid());
AddSound1(new IMP_Barrier_Break());
AddSound1(new IMP_Snowman());
AddSound1(new CashRegister());
AddSound1(new beep1SFX());
AddSound1(new beep2SFX());
soundTransform = new SoundTransform(1, 0);
active = true;
playingFlag = false;
}
static function AddSound1(_arg1:Sound){
sounds.push(_arg1);
startTimes.push(0);
lengths.push(0);
}
}
}//package
import flash.media.*;
import flash.utils.*;
import flash.events.*;
class SoundPlay {
private var channel:SoundChannel;
private var timer:Timer;
private var playingFlag;
private function SoundPlay(){
}
private function timerHandler(_arg1:TimerEvent):void{
timer.stop();
channel.stop();
playingFlag = false;
}
public function Clear():void{
playingFlag = false;
timer = null;
}
public function Active():Boolean{
return (playingFlag);
}
public function Play(_arg1:int):void{
channel = SoundPlayer.sound.play(SoundPlayer.startTimes[_arg1], 1, SoundPlayer.soundTransform);
timer = new Timer(SoundPlayer.lengths[_arg1]);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
playingFlag = true;
}
}
Section 101
//SRF_Tarmac_Skid (SRF_Tarmac_Skid)
package {
import flash.media.*;
public dynamic class SRF_Tarmac_Skid extends Sound {
}
}//package
Section 102
//StartLight (StartLight)
package {
import flash.display.*;
public dynamic class StartLight extends MovieClip {
}
}//package
Section 103
//StartOrContinueScreen (StartOrContinueScreen)
package {
import flash.display.*;
public dynamic class StartOrContinueScreen extends MovieClip {
public var buttonStart:SimpleButton;
public var buttonContinue:SimpleButton;
}
}//package
Section 104
//SwapPath (SwapPath)
package {
import flash.geom.*;
public class SwapPath {
var swapList:Array;
var pointList:Array;
public function SwapPath(){
pointList = new Array();
swapList = new Array();
}
public function AddSwap(_arg1:int, _arg2:int){
var _local3:Point;
_local3 = new Point(_arg1, _arg2);
swapList.push(_local3);
}
public function AddPoint(_arg1:int, _arg2:int){
var _local3:Point;
_local3 = new Point(_arg1, _arg2);
pointList.push(_local3);
}
}
}//package
Section 105
//TitleCar1A (TitleCar1A)
package {
import flash.display.*;
public dynamic class TitleCar1A extends MovieClip {
}
}//package
Section 106
//TitleCar1B (TitleCar1B)
package {
import flash.display.*;
public dynamic class TitleCar1B extends MovieClip {
}
}//package
Section 107
//TitleCar2A (TitleCar2A)
package {
import flash.display.*;
public dynamic class TitleCar2A extends MovieClip {
}
}//package
Section 108
//TitleCar2B (TitleCar2B)
package {
import flash.display.*;
public dynamic class TitleCar2B extends MovieClip {
}
}//package
Section 109
//TitlePage (TitlePage)
package {
import flash.display.*;
public dynamic class TitlePage extends MovieClip {
public var buttonHighScores:SimpleButton;
public var buttonLongAnimals:SimpleButton;
public var buttonMoreGames:SimpleButton;
public var buttonStartGame:SimpleButton;
public var buttonArmorGames:SimpleButton;
public function TitlePage(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package
Section 110
//TitleScreenState (TitleScreenState)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.net.*;
public class TitleScreenState {
static var carR:uint = 0;
static var main:Main;
static var numEvents:int = 6;
static var bd:BitmapData;
static var b:Bitmap;
static var carG:uint = 0;
static var titleMC:MovieClip;
static var carFrame:Number = 0;
static var carB:uint = 0;
public static function ClearMC(){
if (titleMC != null){
titleMC.removeEventListener(Event.ENTER_FRAME, challengeInfoUpdate);
titleMC.removeEventListener(Event.ENTER_FRAME, chooseCarUpdate);
main.removeChild(titleMC);
titleMC = null;
};
}
public static function TitlePage_buttonStartPressed(_arg1:MouseEvent){
InitStartOrContinueScreen();
}
public static function ChooseCarScreen_buttonCar2Pressed(_arg1:MouseEvent){
Game.playerCarType = 1;
carFrame = 0;
titleMC.buttonCar1.gotoAndStop(1);
titleMC.buttonCar2.gotoAndStop(2);
}
public static function ChooseChallengeScreen_eventPressed(_arg1:MouseEvent){
var _local2:String;
var _local3:int;
var _local4:*;
var _local5:String;
var _local6:MovieClip;
var _local7:EventDef;
_local2 = _arg1.currentTarget.name;
_local4 = false;
_local3 = 0;
while (_local3 < numEvents) {
_local5 = ("event" + _local3.toString());
_local6 = titleMC[_local5];
_local7 = EventDefs.GetEventDef(_local3);
if (_local2 == _local5){
if (_local7.IsLocked() == false){
_local4 = true;
};
};
_local3++;
};
if (_local4){
_local3 = 0;
while (_local3 < numEvents) {
_local5 = ("event" + _local3.toString());
_local6 = titleMC[_local5];
_local6.gotoAndStop(1);
if (_local2 == _local5){
_local6.gotoAndStop(2);
Game.currentLevel = _local3;
};
_local3++;
};
};
}
public static function PostRaceScreen_buttonOKPressed(_arg1:MouseEvent){
InitChallengeInfoScreen(true);
}
public static function buttonHelpPressed(_arg1:MouseEvent){
PauseMenu.InitHelpScreen();
}
public static function buttonLongAnimalsPressed(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.longanimalsgames.com?refer=driftrunners"), "_blank");
}
public static function ChooseCarScreen_buttonCar1Pressed(_arg1:MouseEvent){
Game.playerCarType = 0;
carFrame = 0;
titleMC.buttonCar1.gotoAndStop(2);
titleMC.buttonCar2.gotoAndStop(1);
}
static function MoreGamesButton(_arg1:MovieClip){
if (Licensors.GetLicensor() == Licensors.LICENSOR_KONGREGATE){
if (Licensors.IsAtKongregate()){
_arg1.buttonMoreGames.visible = false;
} else {
_arg1.buttonMoreGames.visible = true;
_arg1.buttonMoreGames.addEventListener(MouseEvent.CLICK, buttonMoreGamesPressed, false, 0, true);
};
} else {
if (Licensors.GetLicensor() == Licensors.LICENSOR_ANDKON){
_arg1.buttonMoreGames.visible = true;
_arg1.buttonMoreGames.addEventListener(MouseEvent.CLICK, buttonAndkonPressed, false, 0, true);
} else {
if (Licensors.GetLicensor() == Licensors.LICENSOR_BUBBLEBOX){
_arg1.buttonMoreGames.visible = false;
} else {
if (Licensors.GetLicensor() == Licensors.LICENSOR_ARMORGAMES){
_arg1.buttonMoreGames.visible = true;
_arg1.buttonMoreGames.addEventListener(MouseEvent.CLICK, buttonArmorGamesPressed, false, 0, true);
};
};
};
};
}
public static function ChooseChallengeScreen_buttonBackPressed(_arg1:MouseEvent){
InitChooseCarScreen();
}
public static function InitChallengeInfoScreen(_arg1:Boolean){
var _local2:int;
var _local3:EventDef;
var _local4:*;
var _local5:Challenge;
var _local6:MovieClip;
_local2 = Game.currentLevel;
carR = Game.playerColorR;
carG = Game.playerColorG;
carB = Game.playerColorB;
ClearMC();
titleMC = main.AddMovieClip(0, 0, new ChallengeInfoScreen());
bd = new BitmapData(Defs.displayarea_w, Defs.displayarea_h, true, 0);
b = new Bitmap(bd);
main.addChild(b);
titleMC.addEventListener(Event.ENTER_FRAME, challengeInfoUpdate, false, 0, true);
titleMC.buttonHelp.addEventListener(MouseEvent.CLICK, buttonHelpPressed, false, 0, true);
MoreGamesButton(titleMC);
if (_arg1){
titleMC.buttonBack.visible = false;
titleMC.buttonOK.addEventListener(MouseEvent.CLICK, ChallengeInfoScreen_buttonOKAfterRacePressed, false, 0, true);
} else {
titleMC.buttonBack.addEventListener(MouseEvent.CLICK, ChallengeInfoScreen_buttonBackPressed, false, 0, true);
titleMC.buttonOK.addEventListener(MouseEvent.CLICK, ChallengeInfoScreen_buttonOKPressed, false, 0, true);
};
_local3 = EventDefs.GetEventDef(_local2);
titleMC.textTrack.text = ("TRACK: " + _local3.trackName);
titleMC.textEvent.text = ("EVENT: " + _local3.eventNumber.toString());
titleMC.textScore.text = ("EVENT BEST SCORE: " + Game.eventScores[Game.currentLevel].toString());
titleMC.textCash.text = Game.playerMoney.toString();
titleMC.textTotalScore.text = ("TOTAL SCORE: " + Game.currentScore.toString());
titleMC.textQualifyTime.text = (("TO COMPLETE GOALS FINISH IN " + _local3.qualifyTime.toString()) + " Sec. ");
if (Game.currentLevel != 5){
titleMC.textQualifyTime.text = (titleMC.textQualifyTime.text + " FINISH 1ST TO UNLOCK NEXT LEVEL");
};
titleMC.wreath.visible = false;
titleMC.cup.visible = false;
if (_local3.GetNumCompleteChallenges() >= 3){
titleMC.wreath.visible = true;
};
if (_local3.GetNumCompleteChallenges() >= 5){
titleMC.cup.visible = true;
};
titleMC.trackSymbol.gotoAndStop(_local3.trackID);
_local4 = 0;
while (_local4 < 5) {
_local5 = _local3.challenges[_local4];
_local6 = titleMC[("infoBar" + _local4)];
if (_local5.complete){
_local6.challengeStar.gotoAndPlay(1);
} else {
_local6.challengeStar.gotoAndStop(6);
};
_local6.challengeInfo.text = _local5.name;
_local4++;
};
KongButton(titleMC);
}
public static function Init(_arg1:Main){
main = _arg1;
MusicPlayer.StartMusic(1);
main.InitStage();
titleMC = main.AddMovieClip(0, 0, new TitlePage());
MoreGamesButton(titleMC);
if (Game.IsThereSavedData()){
titleMC.buttonStartGame.addEventListener(MouseEvent.CLICK, TitlePage_buttonStartPressed, false, 0, true);
} else {
titleMC.buttonStartGame.addEventListener(MouseEvent.CLICK, buttonStartPressed, false, 0, true);
};
titleMC.buttonHighScores.visible = false;
titleMC.buttonLongAnimals.addEventListener(MouseEvent.CLICK, buttonLongAnimalsPressed, false, 0, true);
if (Licensors.GetLicensor() == Licensors.LICENSOR_KONGREGATE){
titleMC.buttonKong.addEventListener(MouseEvent.CLICK, buttonKongregatePressed, false, 0, true);
titleMC.buttonKong1.addEventListener(MouseEvent.CLICK, buttonKongregatePressed, false, 0, true);
if (Licensors.IsAtKongregate()){
titleMC.buttonKong1.visible = false;
} else {
titleMC.buttonKong.visible = false;
};
} else {
if (Licensors.GetLicensor() == Licensors.LICENSOR_ANDKON){
titleMC.buttonAndkon.addEventListener(MouseEvent.CLICK, buttonAndkonPressed, false, 0, true);
} else {
if (Licensors.GetLicensor() == Licensors.LICENSOR_ARMORGAMES){
titleMC.buttonArmorGames.addEventListener(MouseEvent.CLICK, buttonArmorGamesPressed, false, 0, true);
};
};
};
}
public static function buttonStartPressed(_arg1:MouseEvent){
Game.InitGame(false);
InitChooseCarScreen();
}
public static function ChooseChallengeScreen_buttonShopPressed(_arg1:MouseEvent){
Shop.Init();
}
static function InitPostRaceScreen(_arg1:Boolean){
var _local2:Array;
var _local3:int;
var _local4:int;
Game.StopSoundLoops();
_local2 = new Array("1st", "2nd", "3rd", "4th", "5th", "6th", "7th", "8th");
ClearMC();
titleMC = main.AddMovieClip(0, 0, new PostRaceScreen());
titleMC.buttonOK.addEventListener(MouseEvent.CLICK, PostRaceScreen_buttonOKPressed, false, 0, true);
if (_arg1){
titleMC.textFinished.text = (("YOU FINISHED IN " + _local2[EventDefs.playerFinalPosition]) + " PLACE");
titleMC.textEventScore.text = ((("EVENT SCORE " + Game.eventScore.toString()) + " YOUR BEST: ") + Game.eventScores[Game.currentLevel].toString());
titleMC.textTotalScore.text = ("TOTAL SCORE " + Game.currentScore.toString());
titleMC.textTime0.text = (("LAP 1: " + Utils.DP2((Game.lapTimes[0] / Defs.fps)).toString()) + " SECONDS");
titleMC.textTime1.text = (("LAP 2: " + Utils.DP2((Game.lapTimes[1] / Defs.fps)).toString()) + " SECONDS");
titleMC.textTime2.text = (("LAP 3: " + Utils.DP2((Game.lapTimes[2] / Defs.fps)).toString()) + " SECONDS");
titleMC.textTime3.text = (("RACE TIME: " + Utils.DP2((Game.raceTime / Defs.fps)).toString()) + " SECONDS");
titleMC.textCh0.text = (("HIT " + EventDefs.numObjectsHit.toString()) + " OBJECTS");
titleMC.textCh1.text = (("DESTROYED " + EventDefs.numObjectsDestroyed.toString()) + " OBJECTS");
titleMC.textCh2.text = ("LARGEST SKID: " + EventDefs.playerLargestSkid.toString());
titleMC.textCh3.text = ("TOTAL SKID: " + EventDefs.playerTotalSkid.toString());
titleMC.textCh4.text = ("LARGEST JUMP: " + EventDefs.playerLargestInAirTime.toString());
titleMC.textCh5.text = ("TOTAL JUMP: " + EventDefs.playerTotalInAirTime.toString());
titleMC.textCh6.text = (("HIT " + EventDefs.numConesKnockedOver.toString()) + " CONES");
titleMC.textCh7.text = (("HIT: " + EventDefs.numBananasHit.toString()) + " BANANAS");
} else {
titleMC.textFinished.text = "YOU FAILED TO FINISH IN TIME";
titleMC.textEventScore.visible = false;
titleMC.textTotalScore.visible = false;
titleMC.textTime0.visible = false;
titleMC.textTime1.visible = false;
titleMC.textTime2.visible = false;
titleMC.textTime3.visible = false;
titleMC.textCh0.visible = false;
titleMC.textCh1.visible = false;
titleMC.textCh2.visible = false;
titleMC.textCh3.visible = false;
titleMC.textCh4.visible = false;
titleMC.textCh5.visible = false;
titleMC.textCh6.visible = false;
titleMC.textCh7.visible = false;
};
if (Licensors.GetLicensor() == Licensors.LICENSOR_BUBBLEBOX){
titleMC.bbscore.setScore(Game.currentScore, 1314);
};
KongButton(titleMC, _arg1);
}
public static function buttonKongregatePressed(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=driftrunners"), "_blank");
}
public static function buttonAndkonPressed(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.andkon.com"), "_blank");
}
static function InitChooseCarScreen(){
Game.playerColorR = (Game.playerColorG = (Game.playerColorB = 128));
Game.playerCarType = 0;
ClearMC();
titleMC = main.AddMovieClip(0, 0, new ChooseCarScreen());
bd = new BitmapData(Defs.displayarea_w, Defs.displayarea_h, true, 0);
b = new Bitmap(bd);
main.addChild(b);
titleMC.buttonOK.addEventListener(MouseEvent.CLICK, ChooseCarScreen_buttonOKPressed, false, 0, true);
titleMC.buttonCar1.addEventListener(MouseEvent.CLICK, ChooseCarScreen_buttonCar1Pressed);
titleMC.buttonCar2.addEventListener(MouseEvent.CLICK, ChooseCarScreen_buttonCar2Pressed, false, 0, true);
titleMC.buttonHelp.addEventListener(MouseEvent.CLICK, buttonHelpPressed, false, 0, true);
titleMC.addEventListener(Event.ENTER_FRAME, chooseCarUpdate, false, 0, true);
titleMC.buttonCar1.gotoAndStop(2);
titleMC.buttonCar2.gotoAndStop(1);
KongButton(titleMC);
}
public static function ChallengeInfoScreen_buttonBackPressed(_arg1:MouseEvent){
InitChooseChallengeScreen();
}
static function InitChooseChallengeScreen(){
var _local1:int;
var _local2:int;
var _local3:EventDef;
var _local4:MovieClip;
var _local5:MovieClip;
ClearMC();
titleMC = main.AddMovieClip(0, 0, new ChooseChallengeScreen());
titleMC.buttonOK.addEventListener(MouseEvent.CLICK, ChooseChallengeScreen_buttonOKPressed, false, 0, true);
titleMC.buttonShop.addEventListener(MouseEvent.CLICK, ChooseChallengeScreen_buttonShopPressed, false, 0, true);
titleMC.buttonBack.addEventListener(MouseEvent.CLICK, ChooseChallengeScreen_buttonBackPressed, false, 0, true);
titleMC.buttonHelp.addEventListener(MouseEvent.CLICK, buttonHelpPressed, false, 0, true);
MoreGamesButton(titleMC);
_local1 = 0;
while (_local1 < numEvents) {
_local3 = EventDefs.GetEventDef(_local1);
_local4 = titleMC[("event" + _local1.toString())];
_local4.gotoAndStop(1);
_local4.padlock.visible = false;
if (_local3.IsLocked()){
_local4.padlock.visible = true;
};
_local2 = 0;
while (_local2 < 5) {
_local5 = _local4[("star" + (_local2 + 1).toString())];
_local5.gotoAndStop(6);
if (_local3.challenges[_local2].complete){
_local5.gotoAndStop(1);
};
_local2++;
};
_local4.addEventListener(MouseEvent.CLICK, ChooseChallengeScreen_eventPressed, false, 0, true);
if (_local1 == Game.currentLevel){
_local4.gotoAndStop(2);
};
_local1++;
};
KongButton(titleMC);
}
static function KongButton(_arg1:MovieClip, _arg2:Boolean=false){
if (Licensors.GetLicensor() == Licensors.LICENSOR_KONGREGATE){
if (((Licensors.IsAtKongregate()) && ((_arg2 == false)))){
_arg1.buttonKong.visible = false;
} else {
_arg1.buttonKong.visible = true;
_arg1.buttonKong.addEventListener(MouseEvent.CLICK, buttonKongregateGamePressed, false, 0, true);
};
} else {
_arg1.buttonKong.visible = false;
};
}
public static function ChallengeInfoScreen_buttonOKPressed(_arg1:MouseEvent){
StartGame();
}
public static function StartGame(){
ClearMC();
main.SetGameState(Main.gameState_LEVEL_PLAY);
}
static function challengeInfoUpdate(_arg1:Event):void{
var _local2:ColorTransform;
var _local3:int;
var _local4:int;
var _local5:Number;
var _local6:Number;
_local2 = new ColorTransform();
_local2.redOffset = carR;
_local2.greenOffset = carG;
_local2.blueOffset = carB;
carFrame = (carFrame + 0.5);
if (carFrame >= 24){
carFrame = 0;
};
_local4 = int(carFrame);
bd.fillRect(new Rectangle(0, 0, Defs.displayarea_w, Defs.displayarea_h), 0);
_local5 = 10;
_local6 = 150;
_local3 = GraphicObjects.idList[GraphicObjects.gfx_uicar_1a];
GraphicObjects.graphicobjs[_local3].frames[_local4].RenderAtColTrans(bd, _local5, _local6, _local2, false);
GraphicObjects.RenderAt(GraphicObjects.gfx_uicar_1b, _local4, bd, _local5, _local6);
}
public static function ChooseCarScreen_buttonOKPressed(_arg1:MouseEvent){
InitChooseChallengeScreen();
}
public static function ChallengeInfoScreen_buttonOKAfterRacePressed(_arg1:MouseEvent){
InitChooseChallengeScreen();
}
static function chooseCarUpdate(_arg1:Event):void{
var _local2:ColorTransform;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:Number;
var _local7:Number;
var _local8:*;
var _local9:*;
var _local10:Number;
var _local11:Number;
var _local12:Bitmap;
var _local13:BitmapData;
var _local14:int;
var _local15:int;
var _local16:uint;
_local2 = new ColorTransform();
_local2.redOffset = carR;
_local2.greenOffset = carG;
_local2.blueOffset = carB;
carFrame = (carFrame + 0.5);
if (carFrame >= 24){
carFrame = 0;
};
_local4 = int(carFrame);
_local5 = int(carFrame);
if (Game.playerCarType == 0){
_local5 = 0;
};
if (Game.playerCarType == 1){
_local4 = 0;
};
bd.fillRect(new Rectangle(0, 0, Defs.displayarea_w, Defs.displayarea_h), 0);
_local6 = (titleMC.buttonCar1.x + 10);
_local7 = (titleMC.buttonCar1.y + 3);
_local3 = GraphicObjects.idList[GraphicObjects.gfx_uicar_1a];
GraphicObjects.graphicobjs[_local3].frames[_local4].RenderAtColTrans(bd, _local6, _local7, _local2, false);
GraphicObjects.RenderAt(GraphicObjects.gfx_uicar_1b, _local4, bd, _local6, _local7);
_local6 = (titleMC.buttonCar2.x + 10);
_local7 = (titleMC.buttonCar2.y + 3);
_local3 = GraphicObjects.idList[GraphicObjects.gfx_uicar_2a];
GraphicObjects.graphicobjs[_local3].frames[_local5].RenderAtColTrans(bd, _local6, _local7, _local2, false);
GraphicObjects.RenderAt(GraphicObjects.gfx_uicar_2b, _local5, bd, _local6, _local7);
_local6 = titleMC.colorPicker.x;
_local7 = titleMC.colorPicker.y;
_local8 = (_local6 + GraphicObjects.GetWidth(GraphicObjects.gfx_choosecolor, 0));
_local9 = (_local7 + GraphicObjects.GetHeight(GraphicObjects.gfx_choosecolor, 0));
if (MouseControl.buttonPressed){
_local10 = MouseControl.mousePosX;
_local11 = MouseControl.mousePosY;
if ((((((((_local10 > _local6)) && ((_local10 < _local8)))) && ((_local11 > _local7)))) && ((_local11 < _local9)))){
_local12 = GraphicObjects.GetBitmap(GraphicObjects.gfx_choosecolor, 0);
_local13 = _local12.bitmapData;
_local14 = (_local10 - _local6);
_local15 = (_local11 - _local7);
_local16 = _local13.getPixel32(_local14, _local15);
carB = (_local16 & 0xFF);
carG = ((_local16 >> 8) & 0xFF);
carR = ((_local16 >> 16) & 0xFF);
carR = (carR - 127);
carG = (carG - 127);
carB = (carB - 127);
Game.playerColorR = carR;
Game.playerColorG = carG;
Game.playerColorB = carB;
Game.playerColorX = _local14;
};
};
}
static function InitStartOrContinueScreen(){
ClearMC();
titleMC = main.AddMovieClip(0, 0, new StartOrContinueScreen());
titleMC.buttonStart.addEventListener(MouseEvent.CLICK, buttonStartPressed, false, 0, true);
titleMC.buttonContinue.addEventListener(MouseEvent.CLICK, buttonContinuePressed, false, 0, true);
}
public static function Update(_arg1:Main){
}
public static function buttonKongregateGamePressed(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.kongregate.com/games/LongAnimals/drift-runners?gamereferral=driftrunners"), "_blank");
}
public static function buttonArmorGamesPressed(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.armorgames.com"), "_blank");
}
public static function buttonMoreGamesPressed(_arg1:MouseEvent){
if (Licensors.GetLicensor() == Licensors.LICENSOR_KONGREGATE){
buttonKongregatePressed(_arg1);
} else {
if (Licensors.GetLicensor() == Licensors.LICENSOR_ANDKON){
buttonAndkonPressed(_arg1);
};
};
}
public static function buttonContinuePressed(_arg1:MouseEvent){
Game.InitGame(true);
InitChooseChallengeScreen();
}
public static function ChooseChallengeScreen_buttonOKPressed(_arg1:MouseEvent){
InitChallengeInfoScreen(false);
}
}
}//package
Section 111
//Trigger (Trigger)
package {
public class Trigger {
static var lineIDLookup:Array;
static var index:int;
static var triggerList:Array;
public static function Add(_arg1:int){
var _local2:TriggerInst;
_local2 = new TriggerInst();
_local2.lineID = _arg1;
lineIDLookup[_arg1] = index;
triggerList.push(_local2);
index++;
}
public static function CanTrigger(_arg1:int):Boolean{
var _local2:int;
var _local3:TriggerInst;
_local2 = lineIDLookup[_arg1];
if (_local2 == -1){
trace(("ERROR: LineIDLookup:" + _arg1));
};
_local3 = triggerList[_local2];
if (_local3.active){
if (_local3.canTriggerCallbackFunction != null){
return (_local3.canTriggerCallbackFunction(_local3));
};
if (_local3.triggerCount < 1){
return (true);
};
};
return (false);
}
public static function DoTrigger(_arg1:int):void{
var _local2:int;
var _local3:TriggerInst;
_local2 = lineIDLookup[_arg1];
if (_local2 == -1){
trace("ERROR: LineIDLookup");
};
_local3 = triggerList[_local2];
if (_local3.active){
_local3.triggerCount++;
if (_local3.callbackFunction != null){
_local3.callbackFunction(_local3);
};
};
}
public static function SetCanTriggerCallback(_arg1:String, _arg2){
var _local3:int;
var _local4:int;
var _local5:TriggerInst;
_local3 = Poly.FindIndexByName(_arg1, Game.polygonList);
if (_local3 != -1){
_local4 = lineIDLookup[_local3];
_local5 = triggerList[_local4];
_local5.canTriggerCallbackFunction = _arg2;
};
}
public static function InitOnce():void{
var _local1:int;
triggerList = new Array();
lineIDLookup = new Array(0x0100);
_local1 = 0;
while (_local1 < 0x0100) {
lineIDLookup[_local1] = int(-1);
_local1++;
};
index = 0;
}
public static function SetTriggerCallback(_arg1:String, _arg2){
var _local3:int;
var _local4:int;
var _local5:TriggerInst;
_local3 = Poly.FindIndexByName(_arg1, Game.polygonList);
if (_local3 != -1){
_local4 = lineIDLookup[_local3];
_local5 = triggerList[_local4];
_local5.callbackFunction = _arg2;
};
}
}
}//package
Section 112
//TriggerInst (TriggerInst)
package {
public class TriggerInst {
var canTriggerCallbackFunction;
var active:Boolean;
var lineID:int;
var triggerCount:int;
var callbackFunction;
public function TriggerInst():void{
active = true;
triggerCount = 0;
lineID = 0;
callbackFunction = null;
canTriggerCallbackFunction = null;
}
public function Disable():void{
active = false;
}
}
}//package
Section 113
//TweakVar (TweakVar)
package {
import flash.geom.*;
import flash.display.*;
public class TweakVar {
var initValue:Number;
var name:String;
var min:Number;
var maxw:Number;// = 100
var changedCallback:Object;
var rate:Number;
var h:Number;// = 10
var max:Number;
var y:Number;
var variable:Number;
var x:Number;
public function TweakVar(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number){
maxw = 100;
h = 10;
super();
name = _arg1;
min = _arg2;
max = _arg3;
rate = ((max - min) / 50);
variable = _arg4;
initValue = _arg4;
changedCallback = null;
}
public function SetVarFromPos(_arg1:Number){
variable = ((((max - min) / maxw) * _arg1) + min);
}
public function Dec(){
variable = (variable - rate);
if (variable >= max){
variable = max;
};
}
public function Render(_arg1:BitmapData){
var _local2:Rectangle;
var _local3:Rectangle;
var _local4:Rectangle;
var _local5:String;
_local2 = GetRenderRect();
_arg1.fillRect(_local2, 4278190080);
_local3 = new Rectangle(x, y, ((maxw / (max - min)) * (variable - min)), h);
_arg1.fillRect(_local3, 4294901760);
_local4 = new Rectangle((x + ((maxw / (max - min)) * (initValue - min))), y, 1, h);
_arg1.fillRect(_local4, 4294934656);
_local5 = ((Utils.DP2(variable) + " ") + name);
GraphicObjects.RenderStringAt(_arg1, GraphicObjects.gfx_font1, ((x + maxw) + 10), (y - 5), _local5, null);
}
public function GetRenderRect():Rectangle{
var _local1:Rectangle;
_local1 = new Rectangle(x, y, maxw, h);
return (_local1);
}
public function Inc(){
variable = (variable + rate);
if (variable >= max){
variable = max;
};
}
}
}//package
Section 114
//TweakVars (TweakVars)
package {
import flash.geom.*;
public class TweakVars {
static var y:Number;
static var yd:Number;
static var x:Number;
static var main:Main;
static var list:Array;
public static function AddCB(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object){
var _local6:*;
_local6 = new TweakVar(_arg1, _arg2, _arg3, _arg4);
_local6.x = x;
_local6.y = (y + (list.length * yd));
_local6.changedCallback = _arg5;
list.push(_local6);
}
public static function Add(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number){
var _local5:*;
_local5 = new TweakVar(_arg1, _arg2, _arg3, _arg4);
_local5.x = x;
_local5.y = (y + (list.length * yd));
list.push(_local5);
}
public static function Update(){
var _local1:Number;
var _local2:Number;
var _local3:TweakVar;
var _local4:Rectangle;
var _local5:Number;
_local1 = MouseControl.mousePosX;
_local2 = MouseControl.mousePosY;
if (MouseControl.buttonPressed != true){
return;
};
for each (_local3 in list) {
_local4 = _local3.GetRenderRect();
if (_local4.contains(_local1, _local2)){
_local5 = (_local1 - _local4.x);
_local3.SetVarFromPos(_local5);
if (_local3.changedCallback != null){
_local3.changedCallback(_local3.variable);
};
};
};
}
public static function Reset(){
list = new Array();
x = 10;
y = 10;
yd = 15;
}
public static function InitOnce(_arg1:Main){
Reset();
main = _arg1;
}
public static function SetNumber(_arg1:String, _arg2:Number){
var _local3:TweakVar;
for each (_local3 in list) {
if (_local3.name == _arg1){
_local3.variable = _arg2;
};
};
}
public static function Render(){
var _local1:TweakVar;
for each (_local1 in list) {
_local1.Render(main.screenBD);
};
}
public static function GetNumber(_arg1:String):Number{
var _local2:TweakVar;
for each (_local2 in list) {
if (_local2.name == _arg1){
return (_local2.variable);
};
};
return (0);
}
}
}//package
Section 115
//Utils (Utils)
package {
import flash.display.*;
import flash.geom.*;
public class Utils {
static function RenderRectangle(_arg1:BitmapData, _arg2:Rectangle, _arg3:uint):void{
RenderDotLine(_arg1, _arg2.left, _arg2.top, _arg2.right, _arg2.top, 100, _arg3);
RenderDotLine(_arg1, _arg2.left, _arg2.bottom, _arg2.right, _arg2.bottom, 100, _arg3);
RenderDotLine(_arg1, _arg2.left, _arg2.top, _arg2.left, _arg2.bottom, 100, _arg3);
RenderDotLine(_arg1, _arg2.right, _arg2.top, _arg2.right, _arg2.bottom, 100, _arg3);
}
static function SideOfLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Boolean{
var _local7:Number;
_local7 = DotProduct((_arg3 - _arg1), (_arg4 - _arg2), (_arg5 - _arg1), (_arg6 - _arg2));
if (_local7 < 0){
return (false);
};
return (true);
}
public static function DP1(_arg1:Number):Number{
var _local2:Number;
_local2 = (Math.ceil((_arg1 * 10)) / 10);
return (_local2);
}
public static function DP2(_arg1:Number):Number{
var _local2:Number;
_local2 = (Math.ceil((_arg1 * 100)) / 100);
return (_local2);
}
static function RenderDotLine(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:int, _arg7:uint):void{
var _local8:int;
var _local9:int;
var _local10:Number;
var _local11:Number;
_local9 = _arg6;
_local10 = ((_arg4 - _arg2) / Number(_local9));
_local11 = ((_arg5 - _arg3) / Number(_local9));
_local8 = 0;
while (_local8 < _local9) {
_arg2 = (_arg2 + _local10);
_arg3 = (_arg3 + _local11);
_arg1.setPixel32(int(_arg2), int(_arg3), _arg7);
_local8++;
};
}
static function RenderCircle(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:uint):void{
var _local6:int;
var _local7:Number;
var _local8:int;
var _local9:Number;
var _local10:Number;
var _local11:Number;
_local6 = 100;
_local7 = ((Math.PI * 2) / _local6);
_local9 = 0;
_local8 = 0;
while (_local8 < _local6) {
_local10 = (_arg2 + (Math.cos(_local9) * _arg4));
_local11 = (_arg3 + (Math.sin(_local9) * _arg4));
_local9 = (_local9 + _local7);
_arg1.setPixel32(int(_local10), int(_local11), _arg5);
_local8++;
};
}
public static function ScaleToUnit(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:Number;
_local4 = ((1 / (_arg2 - _arg1)) * _arg3);
return (_local4);
}
static function RandBetweenInt(_arg1:int, _arg2:int):int{
var _local3:int;
_local3 = (Math.random() * ((_arg2 - _arg1) + 1));
_local3 = (_local3 + _arg1);
return (_local3);
}
static function DotProduct(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
_local5 = ((_arg1 * _arg3) + (_arg2 * _arg4));
return (_local5);
}
public static function NumberToString2DP(_arg1:Number):String{
var _local2:String;
var _local3:int;
var _local4:int;
_local2 = DP2(_arg1).toString();
_local3 = _local2.lastIndexOf(".");
if (_local3 == -1){
_local2.concat(".00");
} else {
_local4 = _local2.length;
if (_local3 == (_local4 - 1)){
_local2.concat("0");
};
};
return (_local2);
}
public static function ClampInt(_arg1:int, _arg2:int, _arg3:int):int{
if (_arg1 < _arg2){
_arg1 = _arg2;
};
if (_arg1 > _arg3){
_arg1 = _arg3;
};
return (_arg1);
}
public static function RandCircle():Number{
return ((Math.random() * (Math.PI * 2)));
}
public static function RadToDeg(_arg1:Number):Number{
return (((360 / (Math.PI * 2)) * _arg1));
}
static function RandBetweenFloat(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.random() * (_arg2 - _arg1));
_local3 = (_local3 + _arg1);
return (_local3);
}
public static function LineLength(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
_local5 = (_arg3 - _arg1);
_local6 = (_arg4 - _arg2);
return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6))));
}
static function DotProductAng(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local3 = Math.cos(_arg1);
_local4 = Math.sin(_arg1);
_local5 = Math.cos(_arg2);
_local6 = Math.sin(_arg2);
_local7 = ((_local3 * _local5) + (_local4 * _local6));
return (_local7);
}
static function DistBetweenPoints(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
_local5 = (_arg3 - _arg1);
_local6 = (_arg4 - _arg2);
return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6))));
}
public static function ScaleBetween(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:Number;
_local4 = ((_arg2 - _arg1) * _arg3);
_local4 = (_arg1 + _local4);
return (_local4);
}
}
}//package
Section 116
//Vec (Vec)
package {
import flash.geom.*;
public class Vec {
public var speed:Number;
public var rot:Number;
public function Add(_arg1:Vec){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local2 = (Math.cos(rot) * speed);
_local3 = (Math.sin(rot) * speed);
_local4 = (Math.cos(_arg1.rot) * _arg1.speed);
_local5 = (Math.sin(_arg1.rot) * _arg1.speed);
_local6 = (_local2 + _local4);
_local7 = (_local3 + _local5);
rot = Math.atan2(_local7, _local6);
speed = Math.sqrt(((_local6 * _local6) + (_local7 * _local7)));
}
public function Set(_arg1:Number, _arg2:Number){
rot = _arg1;
speed = _arg2;
}
public function GetUnitYComponent():Number{
return (Math.sin(rot));
}
public function GetUnitXComponent():Number{
return (Math.cos(rot));
}
function NormalizeRot():void{
while (rot < 0) {
rot = (rot + (Math.PI * 2));
};
while (rot > (Math.PI * 2)) {
rot = (rot - (Math.PI * 2));
};
}
public function GetUnitTangent():Point{
var _local1:Number;
var _local2:Point;
_local1 = (rot + (Math.PI * 0.5));
_local2 = new Point(Math.cos(_local1), Math.sin(_local1));
return (_local2);
}
public function NearRot(_arg1:Number, _arg2:Number):Boolean{
var _local3:Number;
var _local4:Number;
_local3 = (rot - _arg1);
_local4 = Math.abs(_local3);
if (_local3 > Math.PI){
if (_arg1 < rot){
_arg1 = (_arg1 + (Math.PI * 2));
} else {
_arg1 = (_arg1 - (Math.PI * 2));
};
_local3 = (rot - _arg1);
};
if (Math.abs(_local3) <= _arg2){
return (true);
};
return (false);
}
public function dotRot(_arg1:Number):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local2 = Math.cos(rot);
_local3 = Math.sin(rot);
_local4 = Math.cos(_arg1);
_local5 = Math.sin(_arg1);
_local6 = ((_local2 * _local4) + (_local3 * _local5));
return (_local6);
}
public function GetYComponent():Number{
return ((Math.sin(rot) * speed));
}
public function GetXComponent():Number{
return ((Math.cos(rot) * speed));
}
public function AddRot(_arg1:Number):void{
rot = (rot + _arg1);
NormalizeRot();
}
public function CopyFrom(_arg1:Vec){
rot = _arg1.rot;
speed = _arg1.speed;
}
}
}//package
Section 117
//WallCollision (WallCollision)
package {
import flash.display.*;
public dynamic class WallCollision extends MovieClip {
}
}//package