STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228014
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5119

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/52458800?noj=FRM52458800-16DC" width="1" height="1"></div>

Globetrotter XL.swf

This is the info page for
Flash #205285

(Click the ID number above for more basic data on this flash file.)


Text
<p align="center"><font face="Baar Sophia" size="36" color="#000000" letterSpacing="0.000000" kerning="1"><b>Munich, Germany</b></font></p>

saving

Play again

<p align="left"></p>

Score:

Game Complete

Congratulations

Globetrotter XL - Kongregate 1.1
© 2009 games.dschini.org - All Rights Reserved

More Games like this?

<p align="left"></p>

<p align="left"></p>

Level:

Game Over

Start

Globetrotter XL - Kongregate 1.1
© 2009 games.dschini.org - All Rights Reserved

<p align="left"><font face="Baar Sophia" size="36" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Level 15</b></font></p>

<p align="left"><font face="Baar Sophia" size="36" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>1250/3</b></font></p>

goal:

next:

Continue

<p align="left"></p>

<p align="center"><font face="Baar Sophia" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><b>title</b></font></p>

Next

<p align="center"><font face="Baar Sophia" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><b>title</b></font></p>

<p align="left"><font face="Baar Sophia" size="14" color="#009900" letterSpacing="0.000000" kerning="1"><b>total</b></font></p>

<p align="left"><font face="Baar Sophia" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><b>1</b></font></p>

<p align="center"><font face="Baar Sophia" size="24" color="#000000" letterSpacing="0.000000" kerning="1"><b>radius</b></font></p>

<p align="left"><font face="Baar Sophia" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><b>1</b></font></p>

Total:

Time Bonus:

Distance Score:

<p align="left"><font face="Baar Sophia" size="18" color="#000000" letterSpacing="0.000000" kerning="1"><b>target</b></font></p>

Target:

<p align="left"><font face="Baar Sophia" size="14" color="#009900" letterSpacing="0.000000" kerning="1"><b>10</b></font></p>

<p align="center"><font face="Baar Sophia" size="36" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>target</b></font></p>

<p align="left"><font face="Baar Sophia" size="18" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>30</b></font></p>

<p align="right"><font face="Baar Sophia" size="18" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Interpret</b></font></p>

Yours:

Required:

Target:

<p align="left"></p>

<p align="left"></p>

<p align="left"></p>

Level:

Score:

<p align="left"></p>

<p align="left"></p>

ActionScript [AS3]

Section 1
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent) package com.kongregate.as3.client.events { import flash.events.*; public class KongregateEvent extends Event { public static const COMPLETE:String = "component_api_available"; public function KongregateEvent(_arg1:String){ super(_arg1); } } }//package com.kongregate.as3.client.events
Section 2
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService) package com.kongregate.as3.client.services { import flash.events.*; public class AbstractShadowService extends EventDispatcher { protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{ trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4)); } } }//package com.kongregate.as3.client.services
Section 3
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow) package com.kongregate.as3.client.services { public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices { private var mode:String; public function HighScoreServiceShadow(){ mode = ""; } public function submit(_arg1:Number, _arg2:String=null):void{ alert("IHighScoreServices", "submit", arguments); } public function connect():Boolean{ alert("IKongregateServices", "connect"); return (true); } public function requestList(_arg1:Function):void{ alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]")); _arg1({success:false}); } public function setMode(_arg1:String):void{ alert("IHighScoreServices", "setMode", arguments); this.mode = _arg1; } } }//package com.kongregate.as3.client.services
Section 4
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices) package com.kongregate.as3.client.services { public interface IHighScoreServices { function setMode(_arg1:String):void; function submit(_arg1:Number, _arg2:String=null):void; function requestList(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 5
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices) package com.kongregate.as3.client.services { import flash.events.*; public interface IKongregateServices extends IEventDispatcher { function getPlayerInfo(_arg1:Function):void; function connect(_arg1:Number=-1):Boolean; } }//package com.kongregate.as3.client.services
Section 6
//IStatServices (com.kongregate.as3.client.services.IStatServices) package com.kongregate.as3.client.services { public interface IStatServices { function submitArray(_arg1:Array):void; function submit(_arg1:String, _arg2:Number):void; } }//package com.kongregate.as3.client.services
Section 7
//IUserServices (com.kongregate.as3.client.services.IUserServices) package com.kongregate.as3.client.services { public interface IUserServices { function getName():String; function getPlayerInfo(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 8
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow) package com.kongregate.as3.client.services { public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices { public function getName():String{ alert("IKongregateServices", "getName"); return ("Guest"); } public function connect(_arg1:Number=-1):Boolean{ alert("IKongregateServices", "connect", arguments); return (true); } public function getPlayerInfo(_arg1:Function):void{ alert("IKongregateServices", "getPlayerInfo"); _arg1(new Object()); } } }//package com.kongregate.as3.client.services
Section 9
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow) package com.kongregate.as3.client.services { public class StatServiceShadow extends AbstractShadowService implements IStatServices { public function submitArray(_arg1:Array):void{ alert("IStatServices", "submitArray", arguments); } public function submit(_arg1:String, _arg2:Number):void{ alert("IStatServices", "submitStat", arguments); } } }//package com.kongregate.as3.client.services
Section 10
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow) package com.kongregate.as3.client.services { public class UserServiceShadow extends AbstractShadowService implements IUserServices { public function getName():String{ alert("UserService", "getName"); return ("Guest"); } public function getPlayerInfo(_arg1:Function):void{ alert("UserService", "getPlayerInfo"); _arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""}); } } }//package com.kongregate.as3.client.services
Section 11
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap) package com.kongregate.as3.client { import flash.events.*; import flash.display.*; public interface IAPIBootstrap { function init(_arg1:Event=null, _arg2:Stage=null):void; function hideLog():void; function showLog(_arg1:int=0):void; } }//package com.kongregate.as3.client
Section 12
//KongregateAPI (com.kongregate.as3.client.KongregateAPI) package com.kongregate.as3.client { import flash.events.*; import flash.display.*; import com.kongregate.as3.client.services.*; import com.kongregate.as3.client.events.*; import flash.utils.*; import flash.system.*; import flash.net.*; import flash.errors.*; public class KongregateAPI extends Sprite { private const VERSION:Number = 1; private var loader:Loader; private var loadedDomain:ApplicationDomain; private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices"; private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices"; private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices"; private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices"; private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf"; private static var _connected:Boolean; private static var kUser:IUserServices; private static var _loaded:Boolean; private static var kServices:IKongregateServices; private static var kScores:IHighScoreServices; private static var mInstance:KongregateAPI; private static var kStats:IStatServices; private static var kAPI:IAPIBootstrap; public function KongregateAPI(){ if (mInstance != null){ throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access.")); }; mInstance = this; this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true); } public function get loaded():Boolean{ return (_loaded); } public function get connected():Boolean{ return (_connected); } private function alertConnected(_arg1:TimerEvent=null):void{ var _local2:KongregateEvent; var _local3:Boolean; _local2 = new KongregateEvent(KongregateEvent.COMPLETE); _local3 = this.dispatchEvent(_local2); } private function init(_arg1:Event):void{ var _local2:Object; var _local3:String; var _local4:URLRequest; var _local5:LoaderContext; this.removeEventListener(Event.ADDED_TO_STAGE, init); _loaded = false; _connected = false; _local2 = LoaderInfo(root.loaderInfo).parameters; _local3 = _local2.api_path; if (_local3 == null){ trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded."); createShadowServices(); return; }; Security.allowDomain("*.kongregate.com"); Security.allowDomain("kongregatetrunk.com"); _local4 = new URLRequest(_local3); _local5 = new LoaderContext(false); _local5.applicationDomain = ApplicationDomain.currentDomain; _local5.securityDomain = SecurityDomain.currentDomain; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); loader.load(_local4, _local5); } public function get api():IAPIBootstrap{ return (kAPI); } private function loadComplete(_arg1:Event):void{ getServices(); } public function get scores():IHighScoreServices{ return (kScores); } private function ioErrorHandler(_arg1:IOErrorEvent):void{ throw (new IOError(("API file not found. " + _arg1))); } public function get services():IKongregateServices{ return (kServices); } public function get stats():IStatServices{ return (kStats); } private function createShadowServices():void{ var _local1:Timer; trace(">>> Kongregate Shadow Services instantiated for local development.."); kServices = new KongregateServiceShadow(); kScores = new HighScoreServiceShadow(); kStats = new StatServiceShadow(); kUser = new UserServiceShadow(); _local1 = new Timer(200, 1); _local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected); _local1.start(); _connected = true; } public function get user():IUserServices{ return (kUser); } private function getServices():void{ var _local1:ApplicationDomain; var _local2:*; var _local3:*; var _local4:*; var _local5:*; _local1 = ApplicationDomain.currentDomain; kAPI = IAPIBootstrap(loader.getChildAt(0)); this.addChild(loader); _local2 = _local1.getDefinition(CLASS_SERVICES); trace(_local2); kServices = _local2.getInstance(); _local3 = _local1.getDefinition(CLASS_SCORES); kScores = _local3.getInstance(); _local4 = _local1.getDefinition(CLASS_STATS); kStats = _local4.getInstance(); _local5 = _local1.getDefinition(CLASS_USER); kUser = _local5.getInstance(); kServices.connect(VERSION); _loaded = true; _connected = true; alertConnected(); } public static function getInstance():KongregateAPI{ if (!mInstance){ throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it.")); }; return (mInstance); } } }//package com.kongregate.as3.client
Section 13
//Regular (fl.transitions.easing.Regular) package fl.transitions.easing { public class Regular { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } } }//package fl.transitions.easing
Section 14
//Strong (fl.transitions.easing.Strong) package fl.transitions.easing { public class Strong { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } } }//package fl.transitions.easing
Section 15
//Tween (fl.transitions.Tween) package fl.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tween extends EventDispatcher { private var _position:Number;// = NAN public var prevTime:Number;// = NAN public var prevPos:Number;// = NAN public var isPlaying:Boolean;// = false private var _fps:Number;// = NAN private var _time:Number;// = NAN public var begin:Number;// = NAN private var _finish:Number;// = NAN public var change:Number;// = NAN public var looping:Boolean;// = false private var _intervalID:uint;// = 0 public var func:Function; private var _timer:Timer;// = null private var _startTime:Number;// = NAN public var prop:String;// = "" private var _duration:Number;// = NAN public var obj:Object;// = null public var useSeconds:Boolean;// = false protected static var _mc:MovieClip = new MovieClip(); public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){ this.func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); }; super(); if (!arguments.length){ return; }; this.obj = _arg1; this.prop = _arg2; this.begin = _arg4; this.position = _arg4; this.duration = _arg6; this.useSeconds = _arg7; if ((_arg3 is Function)){ this.func = _arg3; }; this.finish = _arg5; this._timer = new Timer(100); this.start(); } public function continueTo(_arg1:Number, _arg2:Number):void{ this.begin = this.position; this.finish = _arg1; if (!isNaN(_arg2)){ this.duration = _arg2; }; this.start(); } protected function startEnterFrame():void{ var _local1:Number; if (isNaN(this._fps)){ _mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true); } else { _local1 = (1000 / this._fps); this._timer.delay = _local1; this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true); this._timer.start(); }; this.isPlaying = true; } public function stop():void{ this.stopEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position)); } private function fixTime():void{ if (this.useSeconds){ this._startTime = (getTimer() - (this._time * 1000)); }; } public function set FPS(_arg1:Number):void{ var _local2:Boolean = this.isPlaying; this.stopEnterFrame(); this._fps = _arg1; if (_local2){ this.startEnterFrame(); }; } public function get finish():Number{ return ((this.begin + this.change)); } public function get duration():Number{ return (this._duration); } protected function stopEnterFrame():void{ if (isNaN(this._fps)){ _mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } else { this._timer.stop(); }; this.isPlaying = false; } public function set time(_arg1:Number):void{ this.prevTime = this._time; if (_arg1 > this.duration){ if (this.looping){ this.rewind((_arg1 - this._duration)); this.update(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position)); } else { if (this.useSeconds){ this._time = this._duration; this.update(); }; this.stop(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position)); }; } else { if (_arg1 < 0){ this.rewind(); this.update(); } else { this._time = _arg1; this.update(); }; }; } public function getPosition(_arg1:Number=NaN):Number{ if (isNaN(_arg1)){ _arg1 = this._time; }; return (this.func(_arg1, this.begin, this.change, this._duration)); } public function set finish(_arg1:Number):void{ this.change = (_arg1 - this.begin); } public function set duration(_arg1:Number):void{ this._duration = ((_arg1)<=0) ? Infinity : _arg1; } public function get position():Number{ return (this.getPosition(this._time)); } public function setPosition(_arg1:Number):void{ this.prevPos = this._position; if (this.prop.length){ this.obj[this.prop] = (this._position = _arg1); }; this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position)); } public function resume():void{ this.fixTime(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position)); } public function fforward():void{ this.time = this._duration; this.fixTime(); } protected function onEnterFrame(_arg1:Event):void{ this.nextFrame(); } public function yoyo():void{ this.continueTo(this.begin, this.time); } public function nextFrame():void{ if (this.useSeconds){ this.time = ((getTimer() - this._startTime) / 1000); } else { this.time = (this._time + 1); }; } protected function timerHandler(_arg1:TimerEvent):void{ this.nextFrame(); _arg1.updateAfterEvent(); } public function get FPS():Number{ return (this._fps); } public function rewind(_arg1:Number=0):void{ this._time = _arg1; this.fixTime(); this.update(); } public function set position(_arg1:Number):void{ this.setPosition(_arg1); } public function get time():Number{ return (this._time); } private function update():void{ this.setPosition(this.getPosition(this._time)); } public function start():void{ this.rewind(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position)); } public function prevFrame():void{ if (!this.useSeconds){ this.time = (this._time - 1); }; } } }//package fl.transitions
Section 16
//TweenEvent (fl.transitions.TweenEvent) package fl.transitions { import flash.events.*; public class TweenEvent extends Event { public var position:Number;// = NAN public var time:Number;// = NAN public static const MOTION_START:String = "motionStart"; public static const MOTION_STOP:String = "motionStop"; public static const MOTION_LOOP:String = "motionLoop"; public static const MOTION_CHANGE:String = "motionChange"; public static const MOTION_FINISH:String = "motionFinish"; public static const MOTION_RESUME:String = "motionResume"; public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){ super(_arg1, _arg4, _arg5); this.time = _arg2; this.position = _arg3; } override public function clone():Event{ return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable)); } } }//package fl.transitions
Section 17
//Fx1 (fxs.Fx1) package fxs { import flash.media.*; public class Fx1 extends Sound { public function Fx1():void{ } } }//package fxs
Section 18
//Fx2 (fxs.Fx2) package fxs { import flash.media.*; public class Fx2 extends Sound { public function Fx2():void{ } } }//package fxs
Section 19
//Fx3 (fxs.Fx3) package fxs { import flash.media.*; public class Fx3 extends Sound { public function Fx3():void{ } } }//package fxs
Section 20
//Fx4 (fxs.Fx4) package fxs { import flash.media.*; public class Fx4 extends Sound { public function Fx4():void{ } } }//package fxs
Section 21
//Fx5 (fxs.Fx5) package fxs { import flash.media.*; public class Fx5 extends Sound { public function Fx5():void{ } } }//package fxs
Section 22
//SavingSymbol_32 (game_fla.SavingSymbol_32) package game_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.system.*; import flash.text.*; import flash.net.*; import flash.geom.*; import flash.errors.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; public dynamic class SavingSymbol_32 extends MovieClip { public function SavingSymbol_32(){ addFrameScript(49, frame50); } function frame50(){ stop(); } } }//package game_fla
Section 23
//SoundLoop1 (loops.SoundLoop1) package loops { import flash.media.*; public class SoundLoop1 extends Sound { public function SoundLoop1():void{ } } }//package loops
Section 24
//SoundLoop10 (loops.SoundLoop10) package loops { import flash.media.*; public class SoundLoop10 extends Sound { public function SoundLoop10():void{ } } }//package loops
Section 25
//SoundLoop11 (loops.SoundLoop11) package loops { import flash.media.*; public class SoundLoop11 extends Sound { public function SoundLoop11():void{ } } }//package loops
Section 26
//SoundLoop13 (loops.SoundLoop13) package loops { import flash.media.*; public class SoundLoop13 extends Sound { public function SoundLoop13():void{ } } }//package loops
Section 27
//SoundLoop14 (loops.SoundLoop14) package loops { import flash.media.*; public class SoundLoop14 extends Sound { public function SoundLoop14():void{ } } }//package loops
Section 28
//SoundLoop15 (loops.SoundLoop15) package loops { import flash.media.*; public class SoundLoop15 extends Sound { public function SoundLoop15():void{ } } }//package loops
Section 29
//SoundLoop16 (loops.SoundLoop16) package loops { import flash.media.*; public class SoundLoop16 extends Sound { public function SoundLoop16():void{ } } }//package loops
Section 30
//SoundLoop17 (loops.SoundLoop17) package loops { import flash.media.*; public class SoundLoop17 extends Sound { public function SoundLoop17():void{ } } }//package loops
Section 31
//SoundLoop2 (loops.SoundLoop2) package loops { import flash.media.*; public class SoundLoop2 extends Sound { public function SoundLoop2():void{ } } }//package loops
Section 32
//SoundLoop3 (loops.SoundLoop3) package loops { import flash.media.*; public class SoundLoop3 extends Sound { public function SoundLoop3():void{ } } }//package loops
Section 33
//SoundLoop4 (loops.SoundLoop4) package loops { import flash.media.*; public class SoundLoop4 extends Sound { public function SoundLoop4():void{ } } }//package loops
Section 34
//SoundLoop5 (loops.SoundLoop5) package loops { import flash.media.*; public class SoundLoop5 extends Sound { public function SoundLoop5():void{ } } }//package loops
Section 35
//SoundLoop6 (loops.SoundLoop6) package loops { import flash.media.*; public class SoundLoop6 extends Sound { public function SoundLoop6():void{ } } }//package loops
Section 36
//Alertbox (Alertbox) package { import flash.events.*; import flash.display.*; import flash.media.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.text.*; public class Alertbox extends MovieClip { public var body:TextField; public var data:Object; public var title:TextField; public var continueButton:MovieClip; public static var CONTINUE:String = "alertboxContinue"; public function Alertbox():void{ } public function init(_arg1:Object):void{ this.data = _arg1; _arg1.soundLoopsChannel.soundTransform = new SoundTransform(((this.data.volume >= 0.9)) ? 0.4 : 0, 0); title.text = _arg1.levels[_arg1.currentLevel].targets[_arg1.currentLevelTarget].title; body.htmlText = ((((((("<b><br><font color=\"#cc0000\">No Score!</font></b>" + "<br>") + "<br>") + "<b>Did you know?</b>") + "<br>") + "You can also play games in real life!") + "<br>") + "The game has paused"); body.y = (title.y + title.height); continueButton.buttonMode = true; continueButton.addEventListener(MouseEvent.CLICK, continueButtonClickHandler); } public function continueButtonClickHandler(_arg1:MouseEvent):void{ data.soundLoopsChannel.soundTransform = new SoundTransform(this.data.volume, 0); continueButton.removeEventListener(MouseEvent.CLICK, continueButtonClickHandler); dispatchEvent(new Event(CONTINUE)); } public function dispose():void{ data = null; } } }//package
Section 37
//Board (Board) package { import flash.events.*; import flash.display.*; import flash.media.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.utils.*; import fxs.*; import flash.text.*; import flash.filters.*; import flash.ui.*; public class Board extends MovieClip { private var outTweenTimerbar:Tween; private var inTweenBottom:Tween; private var inTweenTimerbar:Tween; private var inTweenTargetTextY:Tween; public var statusbox:Statusbox; public var blurTimer:Timer; public var fx1:Fx1; public var fx2:Fx2; public var fx3:Fx3; public var fx5:Fx5; public var fx4:Fx4; public var bottom:MovieClip; public var timerbar:Timerbar; private var inTweenTop:Tween; private var inTweenInfobox:Tween; public var data:Object; private var outTweenTargetTextY:Tween; private var outTweenBottom:Tween; private var outTweenAlertbox:Tween; public var top:MovieClip; private var outTweenScorebox:Tween; private var outTweenTop:Tween; private var inTweenScorebox:Tween; private var outTweenInfobox:Tween; private var outTweenStatusbox:Tween; public var infobox:Infobox; public var map:Map; public var targetText:TargetText; public var alertbox:Alertbox; private var inTweenStatusbox:Tween; public var fxYeahs:ExtendedArray; private var inTweenAlertbox:Tween; public var scorebox:Scorebox; private var inTweenTargetTextAlpha:Tween; public static var START:String = "boardStart"; public static var CONTINUE:String = "boardContinue"; public static var END:String = "boardEnd"; public static var WIN:String = "boardWin"; public function Board():void{ } public function removeMouseListeners():void{ map.removeEventListener(Map.MAP_CLICK, mapClickHandler); } public function blurOff(_arg1:TimerEvent):void{ var _local2:BlurFilter = new BlurFilter(); _local2.blurX = 0; _local2.blurY = 0; _local2.quality = BitmapFilterQuality.HIGH; map.world.worldShape.filters = [_local2]; map.world.worldBorders.filters = [_local2]; blurTimer.removeEventListener(TimerEvent.TIMER, blurOn); blurTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, blurOff); blurTimer.stop(); blurTimer = null; } public function init(_arg1:Object):void{ this.data = _arg1; fx1 = new Fx1(); fx2 = new Fx2(); fx3 = new Fx3(); fx4 = new Fx4(); fx5 = new Fx5(); fxYeahs = new ExtendedArray(); fxYeahs.push(fx3); fxYeahs.push(fx4); fxYeahs.push(fx4); setTimeout(timerStart, 50); _arg1.levels[_arg1.currentLevel].targets.shuffle(); map.init(_arg1); map.cacheAsBitmap = true; inTween(); } public function addMouseListeners():void{ map.addEventListener(Map.MAP_CLICK, mapClickHandler); } public function timerStart():void{ fxYeahs.shuffle(); map.addListeners(); addMouseListeners(); addTimerListeners(); statusbox.init(data); scorebox.init(data); var _local1:String = data.levels[data.currentLevel].targets[data.currentLevelTarget].title; targetText.init(_local1); targetText.x = 400; inTweenTargetTextY = new Tween(targetText, "y", Regular.easeOut, -25, 50, 10); inTweenTargetTextAlpha = new Tween(targetText, "alpha", Regular.easeOut, 0, 1, 5); addChild(targetText); dispatchEvent(new Event(START)); timerbar.init(data); } public function removeTimerListeners():void{ timerbar.removeEventListener(Timerbar.TIMER_FINISH, timerbarHandler); timerbar.removeEventListener(Timerbar.TIMER_FREEZE, timerbarHandler); } public function blurOn(_arg1:TimerEvent):void{ var _local2:BlurFilter = new BlurFilter(); _local2.blurX = 4; _local2.blurY = 4; _local2.quality = BitmapFilterQuality.LOW; map.world.worldShape.filters = [_local2]; map.world.worldBorders.filters = [_local2]; } public function toogleSoundHandler(_arg1:Event):void{ game.instance.volume = (data.volume = ((data.volume <= 0)) ? 0.9 : 0); data.soundLoopsChannel.soundTransform = new SoundTransform(data.volume, 0); } public function mapClickHandler(_arg1:Event):void{ removeMouseListeners(); map.removeListeners(); timerbar.freeze(); fx1.play(); removeTimerListeners(); } public function outTween():void{ outTweenStatusbox = new Tween(statusbox, "y", Regular.easeOut, statusbox.y, (statusbox.y - statusbox.height), 10); outTweenScorebox = new Tween(scorebox, "y", Regular.easeOut, scorebox.y, (scorebox.y - scorebox.height), 10); outTweenTop = new Tween(top, "y", Regular.easeOut, top.y, (top.y - top.height), 10); outTweenTimerbar = new Tween(timerbar, "y", Regular.easeOut, timerbar.y, (timerbar.y + top.height), 10); outTweenBottom = new Tween(bottom, "y", Regular.easeOut, bottom.y, (bottom.y + bottom.height), 10); outTweenTargetTextY = new Tween(targetText, "y", Regular.easeOut, 50, -25, 10); } public function dispose():void{ fx1 = null; fx2 = null; fx3 = null; fx4 = null; fx5 = null; fxYeahs = null; inTweenAlertbox = null; inTweenStatusbox = null; inTweenScorebox = null; inTweenTop = null; inTweenBottom = null; inTweenTimerbar = null; outTweenAlertbox = null; outTweenStatusbox = null; outTweenScorebox = null; outTweenTop = null; outTweenTimerbar = null; outTweenBottom = null; inTweenTargetTextY = null; inTweenTargetTextAlpha = null; outTweenTargetTextY = null; timerbar.removeEventListener(Timerbar.TOOGLE_SOUND, toogleSoundHandler); timerbar.removeEventListener(Timerbar.TIMER_FINISH, timerbarHandler); timerbar.removeEventListener(Timerbar.TIMER_FREEZE, timerbarHandler); map.removeEventListener(MouseEvent.CLICK, mapClickHandler); } public function nextHandler(_arg1:Event):void{ data.currentLevelTarget++; if (inTweenInfobox){ inTweenInfobox.stop(); inTweenInfobox = null; }; if (infobox){ infobox.removeEventListener(Infobox.NEXT, nextHandler); infobox.dispose(); removeChild(infobox); infobox = null; }; if (inTweenAlertbox){ inTweenAlertbox.stop(); inTweenAlertbox = null; }; if (alertbox){ alertbox.removeEventListener(Alertbox.CONTINUE, nextHandler); alertbox.dispose(); removeChild(alertbox); alertbox = null; }; map.dispose(); if (data.currentLevelTarget >= data.levels[data.currentLevel].maxTargets){ outTween(); if (data.levels[data.currentLevel].minScore <= data.levels[data.currentLevel].score){ data.currentLevel++; data.currentLevelTarget = 0; if (data.currentLevel >= data.levels.length){ setTimeout(dispatchEvent, 300, new Event(WIN)); } else { setTimeout(dispatchEvent, 300, new Event(CONTINUE)); }; } else { setTimeout(dispatchEvent, 300, new Event(END)); }; return; }; map.init(data); setTimeout(timerStart, 50); } public function inTween():void{ inTweenStatusbox = new Tween(statusbox, "y", Regular.easeOut, (statusbox.y - statusbox.height), statusbox.y, 10); inTweenScorebox = new Tween(scorebox, "y", Regular.easeOut, (scorebox.y - scorebox.height), scorebox.y, 10); inTweenTop = new Tween(top, "y", Regular.easeOut, (top.y - top.height), top.y, 10); inTweenTimerbar = new Tween(timerbar, "y", Regular.easeOut, (timerbar.y + bottom.height), timerbar.y, 10); inTweenBottom = new Tween(bottom, "y", Regular.easeOut, (bottom.y + bottom.height), bottom.y, 10); } public function timerbarHandler(_arg1:Event):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; inTweenTargetTextY = null; inTweenTargetTextAlpha = null; switch (_arg1.type){ case Timerbar.TIMER_FINISH: _local2 = data.levels[data.currentLevel].targets[data.currentLevelTarget].x; _local3 = data.levels[data.currentLevel].targets[data.currentLevelTarget].y; map.theRedFlag(_local2, _local3); alertbox = new Alertbox(); alertbox.init(data); inTweenAlertbox = new Tween(alertbox, "y", Strong.easeOut, 200, 300, 10); if (data.levels[data.currentLevel].targets[data.currentLevelTarget].x > 400){ alertbox.x = 200; } else { alertbox.x = 600; }; alertbox.addEventListener(Alertbox.CONTINUE, nextHandler); addChild(alertbox); removeMouseListeners(); map.removeListeners(); removeTimerListeners(); fx1.play(); map.removeChild(map.cursor); Mouse.show(); break; case Timerbar.TIMER_FREEZE: _local2 = data.levels[data.currentLevel].targets[data.currentLevelTarget].x; _local3 = data.levels[data.currentLevel].targets[data.currentLevelTarget].y; map.theRedFlag(_local2, _local3); _local2 = map.cursorPositionOnClick.x; _local3 = map.cursorPositionOnClick.y; map.theGreenFlag(_local2, _local3); _local4 = timerbar.timer.currentCount; _local5 = map.distance.radius; _local6 = Math.round(((timerbar.timer.repeatCount - _local4) / 40)); _local7 = (((100 - _local5) < 0)) ? 0 : (100 - _local5); _local8 = 1; if (_local5 <= 1){ blurTimer = new Timer(1, 10); blurTimer.addEventListener(TimerEvent.TIMER, blurOn); blurTimer.addEventListener(TimerEvent.TIMER_COMPLETE, blurOff); blurTimer.start(); _local8 = 5; data.soundFxsChannel = fx2.play(); data.soundFxsChannel.soundTransform = new SoundTransform(0.75, 0); } else { if (_local5 <= 6){ data.soundFxsChannel = fxYeahs[Math.round((Math.random() * 2))].play(); data.soundFxsChannel.soundTransform = new SoundTransform(0.75, 0); _local8 = 3; } else { _local8 = 1; }; }; data.levels[data.currentLevel].targets[data.currentLevelTarget].time = _local4; data.levels[data.currentLevel].targets[data.currentLevelTarget].radius = _local5; data.levels[data.currentLevel].targets[data.currentLevelTarget].bonusTime = _local6; data.levels[data.currentLevel].targets[data.currentLevelTarget].scoreRadius = _local7; data.levels[data.currentLevel].targets[data.currentLevelTarget].bonusRadius = _local8; data.levels[data.currentLevel].score = (data.levels[data.currentLevel].score + (_local6 + (_local7 * _local8))); data.score = (data.score + (_local6 + (_local7 * _local8))); statusbox.init(data); scorebox.init(data); infobox = new Infobox(); infobox.init(data); inTweenInfobox = new Tween(infobox, "y", Strong.easeOut, 200, 300, 10); if (Math.abs((map.cursorPositionOnClick.x - data.levels[data.currentLevel].targets[data.currentLevelTarget].x)) > 280){ infobox.x = ((map.cursorPositionOnClick.x > data.levels[data.currentLevel].targets[data.currentLevelTarget].x)) ? (data.levels[data.currentLevel].targets[data.currentLevelTarget].x + (Math.abs((map.cursorPositionOnClick.x - data.levels[data.currentLevel].targets[data.currentLevelTarget].x)) / 2)) : (map.cursorPositionOnClick.x + (Math.abs((map.cursorPositionOnClick.x - data.levels[data.currentLevel].targets[data.currentLevelTarget].x)) / 2)); } else { if ((map.cursorPositionOnClick.x + data.levels[data.currentLevel].targets[data.currentLevelTarget].x) < 800){ infobox.x = 600; } else { if ((map.cursorPositionOnClick.x + data.levels[data.currentLevel].targets[data.currentLevelTarget].x) > 800){ infobox.x = 200; } else { if ((((data.levels[data.currentLevel].targets[data.currentLevelTarget].x >= 400)) && ((map.cursorPositionOnClick.x >= 400)))){ infobox.x = 200; } else { if ((((data.levels[data.currentLevel].targets[data.currentLevelTarget].x <= 400)) && ((map.cursorPositionOnClick.x <= 400)))){ infobox.x = 600; } else { infobox.x = 0; }; }; }; }; }; infobox.addEventListener(Infobox.NEXT, nextHandler); addChild(infobox); break; }; } public function addTimerListeners():void{ timerbar.addEventListener(Timerbar.TIMER_FINISH, timerbarHandler); timerbar.addEventListener(Timerbar.TIMER_FREEZE, timerbarHandler); timerbar.addEventListener(Timerbar.TOOGLE_SOUND, toogleSoundHandler); } } }//package
Section 38
//Distance (Distance) package { import flash.events.*; import flash.display.*; import flash.utils.*; public class Distance extends MovieClip { public var circle:MovieClip; private var _radius:Number; public var radius:Number; public var timer:Timer; public function Distance():void{ timer = new Timer(10); timer.addEventListener(TimerEvent.TIMER, timerHandler); } public function timerHandler(_arg1:TimerEvent):void{ circle.graphics.clear(); if (_radius < radius){ circle.graphics.lineStyle(0.5, 0xCC0000); circle.graphics.drawCircle(0, 0, _radius); } else { circle.graphics.beginFill(0xFF00, 0.1); circle.graphics.lineStyle(0.5, 0xFF00); circle.graphics.drawCircle(0, 0, radius); circle.graphics.endFill(); timer.stop(); timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer = null; }; _radius = (_radius * 1.1); } public function init(_arg1:Object):void{ radius = _arg1.radius; if (circle){ removeChild(circle); circle = null; }; _radius = 1; circle = new MovieClip(); addChild(circle); timer.start(); } } }//package
Section 39
//End (End) package { import flash.events.*; import flash.display.*; import com.kongregate.as3.client.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.text.*; import flash.net.*; import flash.errors.*; public class End extends MovieClip { public var inTween:Tween; public var copyright:MovieClip; public var urlVariables:URLVariables; public var levelText:TextField; public var outTween:Tween; public var kongregate:KongregateAPI; public var playAgainButton:MovieClip; public var scoreText:TextField; public var urlRequest:URLRequest; public var urlLoader:URLLoader; public var data:Object; public var playMoreButton:MovieClip; public static var PLAY_AGAIN:String = "endPlayAgain"; public function End():void{ cacheAsBitmap = true; } public function outTweenFinishHandler(_arg1:TweenEvent):void{ outTween.removeEventListener(TweenEvent.MOTION_FINISH, outTweenFinishHandler); outTween = null; dispatchEvent(new Event(PLAY_AGAIN)); } public function playMoreButtonClickHandler(_arg1:MouseEvent):void{ var event = _arg1; var request:URLRequest = new URLRequest("http://games.dschini.org/"); try { navigateToURL(request, "_blank"); } catch(e:Error) { }; } public function init(_arg1:Object):void{ this.data = _arg1; kongregate = KongregateAPI.getInstance(); kongregate.scores.submit(_arg1.score); kongregate.stats.submit("Score", _arg1.score); levelText.text = (_arg1.currentLevel + 1); scoreText.text = _arg1.score; playAgainButton.buttonMode = true; playAgainButton.addEventListener(MouseEvent.CLICK, playAgainButtonClickHandler); playMoreButton.buttonMode = true; playMoreButton.addEventListener(MouseEvent.CLICK, playMoreButtonClickHandler); inTween = new Tween(this, "alpha", Regular.easeOut, 0, 1, 10); inTween.addEventListener(TweenEvent.MOTION_FINISH, inTweenFinishHandler); } public function inTweenFinishHandler(_arg1:TweenEvent):void{ inTween.removeEventListener(TweenEvent.MOTION_FINISH, inTweenFinishHandler); inTween = null; } public function playAgainButtonClickHandler(_arg1:MouseEvent):void{ playAgainButton.removeEventListener(MouseEvent.CLICK, playAgainButtonClickHandler); outTween = new Tween(this, "alpha", Regular.easeIn, 1, 0, 10); outTween.addEventListener(TweenEvent.MOTION_FINISH, outTweenFinishHandler); } } }//package
Section 40
//ExtendedArray (ExtendedArray) package { public dynamic class ExtendedArray extends Array { public function ExtendedArray(... _args){ var _local2:*; super(); for each (_local2 in _args) { super.push(_local2); }; } public function shuffle(_arg1:int=0, _arg2:int=0):Array{ var _local3:Array = this.sort(__shuffle); return (this.sort(__shuffle)); } function __shuffle(_arg1, _arg2):int{ var _local3:int = (Math.round((Math.random() * 2)) - 1); return (_local3); } public function _shuffle(_arg1:int=0, _arg2:int=0):Array{ var _local4:int; var _local5:*; if (_arg2 == 0){ _arg2 = (this.length - 1); }; var _local3:int = _arg2; while (_local3 > _arg1) { _local4 = (Math.floor((Math.random() * _arg2)) + _arg1); _local5 = this[_local3]; this[_local3] = this[_local4]; this[_local4] = _local5; _local3--; }; return (this); } } }//package
Section 41
//game (game) package { import flash.events.*; import flash.display.*; import flash.media.*; import com.kongregate.as3.client.*; import fl.transitions.*; import com.kongregate.as3.client.events.*; import fl.transitions.easing.*; import flash.utils.*; import loops.*; public class game extends MovieClip { var soundLoops:ExtendedArray; var targets:ExtendedArray; public var loader:MovieClip; public var volume:Number; public var kongregate:KongregateAPI; public var win:Win; public var end:End; public var flashvars:Object; public var board:Board; public var splash:Splash; public var data:Object; public var background:MovieClip; public var url:URL; public static var instance:game; public function game():void{ soundLoops = new ExtendedArray({instance:new SoundLoop1(), title:"COOL DISCO GROOVE 2", author:"Ravedeman", link:"http://www.mp3.com/ravedeman"}, {instance:new SoundLoop2(), title:".:: Mellow Trance ::.", author:"calpomatt", link:"http://http//www.calpoly.edu/~mghanson/flash/spacegrid.html"}, {instance:new SoundLoop3(), title:".:: Chill ::.", author:"calpomatt", link:"http://http//www.calpoly.edu/~mghanson/flash/spacegrid.html"}, {instance:new SoundLoop4(), title:"..Moonlight Sound..", author:"SLrec.", link:"http://http//www.frychen.de"}, {instance:new SoundLoop5(), title:".::Searching For Truth::.", author:"calpomatt", link:"http://http//www.calpoly.edu/~mghanson/flash/spacegrid.html"}, {instance:new SoundLoop6(), title:".::Smooth::.", author:"calpomatt", link:"http://http//www.calpoly.edu/~mghanson/flash/spacegrid.html"}, {instance:new SoundLoop10(), title:"Jazzloop", author:"Florian Ennemoser", link:"http://www.flashkit.com/loops/Easy_Listening/Jazz/Jazzloop-Florian_-4699/index.php"}, {instance:new SoundLoop11(), title:"Dreadlock Holida", author:"ZRS", link:"http://www.flashkit.com/loops/Ethnic/Reggae/Dreadloc-ZRS-3845/index.php"}, {instance:new SoundLoop13(), title:"Arabian dreams", author:"Sarbah", link:"http://www.flashkit.com/search.php?term=Sarbah&cat=loops&per=10&page=1&field=Contact_Name"}, {instance:new SoundLoop14(), title:"AMBIENTAL", author:"DAFILEMAN", link:"http://www.flashkit.com/search.php?term=DAFILEMAN&cat=loops&per=10&page=1&field=Contact_Name"}, {instance:new SoundLoop15(), title:"Steinhaug4", author:"Kim Steinhaug", link:"http://www.steinhaug.com/"}, {instance:new SoundLoop16(), title:"Adulterous Empress", author:"Lee I. Garnett", link:"http://www.sentrymarketing.com/"}, {instance:new SoundLoop17(), title:"A Track like this", author:"Beetown Records", link:"http://www.beetown.ch/"}); targets = new ExtendedArray({title:"Calcutta, India", x:584, y:352}, {title:"Cairo, Egypt", x:463, y:335}, {title:"Tianjin, China", x:645.8, y:311.55}, {title:"Sao Paulo, Brazil", x:298.75, y:453.3}, {title:"Hyderabad, India", x:564.1, y:363.5}, {title:"Casablanca, Morocco", x:382.35, y:325.85}, {title:"Pusan, South Korea", x:670.45, y:320.6}, {title:"Alexandria, Egypt", x:461.5, y:331.95}, {title:"Bakersfield, USA", x:144.5, y:320.3}, {title:"Joinville, Brazil", x:294.25, y:459.3}, {title:"Ciudad de Mexico, Mexico", x:186.75, y:359.05}, {title:"Virginia Beach, USA", x:235.75, y:318.05}, {title:"Memphis, USA", x:207, y:321.05}, {title:"Columbus, USA", x:221.25, y:307.8}, {title:"Omaha, USA", x:194.75, y:304.8}, {title:"Nassau, The Bahamas", x:232.5, y:346.55}, {title:"Halifax, Canada", x:262, y:294.3}, {title:"Mt Pearl, Newfoundland", x:284.5, y:287.05}, {title:"Pearl Harbor, Honolulu", x:62, y:354.55}, {title:"Lanzhou, China", x:619.8, y:317.8}, {title:"Wuhan, China", x:637.8, y:333.8}, {title:"Guiyang, China", x:624.8, y:343.55}, {title:"Nanning, China", x:648.05, y:329.8}, {title:"Wulumuqi, China", x:582.3, y:295.8}, {title:"Sassari, Sardegna Italy", x:415.5, y:306.8}, {title:"Cagliari, Sardegna Italy", x:417, y:310.8}, {title:"Charlotte, USA", x:226.25, y:321.3}, {title:"San Antonio, USA", x:188.1, y:335.7}, {title:"Tampa, USA", x:222.75, y:339.55}, {title:"Orlando, USA", x:224.5, y:337.05}, {title:"Tucson, USA", x:161, y:329.05}, {title:"Omaha, USA", x:193.75, y:305.55}, {title:"Indianapolis, USA", x:216, y:309.55}, {title:"Colorado Springs, USA", x:175.25, y:312.8}, {title:"Trondheim, Norway", x:419.5, y:226.5}, {title:"Ar Riyad, Saudi Arabia", x:495.5, y:347}, {title:"Malatya, Turkey", x:479.25, y:312.95}, {title:"Leeds, United Kingdom", x:393.95, y:267.35}, {title:"Aberdeen, United Kingdom", x:392.45, y:252.95}, {title:"Visby, Sweden", x:434.3, y:250.5}, {title:"Calgary, Canada", x:154.5, y:274.5}, {title:"Winnipeg, Canada", x:190.75, y:279}, {title:"Ottawa, Canada", x:235.75, y:294.05}, {title:"Fairbanks, Alaska", x:84.25, y:218.75}, {title:"Magadan, Russia", x:716.8, y:242.5}, {title:"Sapporo, Japan", x:698.3, y:300.05}, {title:"Salalah, Oman", x:512.5, y:364.5}, {title:"Cordoba, Argentinia", x:261.5, y:471.05}, {title:"Rosario, Argentinia", x:268, y:475.2}, {title:"Noumea, New Caledonia", x:750, y:449.05}, {title:"Broken Hill, Australia", x:697.8, y:472.55}, {title:"Rocky Point, Australia", x:699.05, y:429.55}, {title:"Alice Springs, Australia", x:680.55, y:452.55}, {title:"Broome, Australia", x:657.6, y:440.9}, {title:"Derby, Australia", x:660.4, y:437.45}, {title:"Karumba, Australia", x:696.5, y:439.95}, {title:"Linz, Austria", x:428.25, y:283.55}, {title:"Szeged, Hungary", x:439.8, y:289.35}, {title:"Split, Croatia", x:431.45, y:298}, {title:"Cluj, Romania", x:446.75, y:289.1}, {title:"Constanta, Romania", x:457.4, y:296.6}, {title:"Homyel, Belarus", x:462.6, y:270.35}, {title:"Mariupol, Ukraine", x:476.4, y:287.35}, {title:"Lugansk, Ukraine", x:480.45, y:283.35}, {title:"Jeddah, Saudi Arabia", x:480.7, y:354.25}, {title:"Esfahan, Iran", x:506.4, y:327.45}, {title:"Shiraz, Iran", x:508.4, y:334.35}, {title:"Bagasra, India", x:548.15, y:354.5}, {title:"Szczecin, Poland", x:429.1, y:267.65}, {title:"Lublin, Poland", x:445.4, y:274.7}, {title:"Gdansk, Poland", x:436.65, y:263.2}, {title:"Brno, Czech Republic", x:432.15, y:280.65}, {title:"Venezia, Italy", x:423.3, y:292.3}, {title:"Parma, Italy", x:419.8, y:294.7}, {title:"Rennes, France", x:393.5, y:284.8}, {title:"Montpellier, France", x:405.35, y:298.1}, {title:"Le Havre, France", x:397.7, y:280.25}, {title:"Nantes, France", x:394.2, y:287.45}, {title:"Murcia, Spain", x:394.7, y:314.55}, {title:"El Ejido, Spain", x:391.85, y:316.75}, {title:"Cadiz, Spain", x:384.1, y:317.4}, {title:"Salamanca, Spain", x:385.75, y:306.3}, {title:"Sintra, Portugal", x:377.8, y:311.6}, {title:"Bologna, Italy", x:422, y:295.7}, {title:"Catanzaro, Italy,", x:433, y:312}, {title:"Rotterdam, Netherlands", x:406.75, y:272}, {title:"Eindhoven, Netherlands", x:410, y:272.3}, {title:"Liege, Belgium", x:409.2, y:276.05}, {title:"Liverpool, United Kingdom", x:390.65, y:267.35}, {title:"Berlin, Germany", x:425.5, y:271}, {title:"Kiel, Germany", x:418.9, y:263.8}, {title:"Stuttgart, Germany", x:416.65, y:283.2}, {title:"Leipzig, Germany", x:423.65, y:273.55}, {title:"Frankfurt am Main, Germany", x:415.75, y:278.8}, {title:"Karlsruhe, Germany", x:415, y:282.55}, {title:"Hannover, Germany", x:418, y:271.3}, {title:"Nürnberg, Germany", x:421.25, y:281.2}, {title:"Regensburg, Germany", x:423.75, y:282.05}, {title:"Augsburg, Germany", x:420.9, y:283.3}, {title:"Trier, Germany", x:411.25, y:279.75}, {title:"Philadelphia, USA", x:238, y:309.05}, {title:"Quebec, Canada", x:246.5, y:287.95}, {title:"San Jose, Costa Rica", x:219.25, y:380.7}, {title:"Al Qatif, Saudi Arabia", x:503.2, y:343.2}, {title:"Mecca, Saudi Arabia", x:481.2, y:353.95}, {title:"Al Kuwayt, Kuwait", x:498.7, y:336.55}, {title:"Al Wakrah, Qatar", x:506.15, y:346.25}, {title:"Adan, Yemen", x:492.35, y:373.45}, {title:"Masqat, Oman", x:521.8, y:350.95}, {title:"Dubai, United Arab Emirates", x:514.55, y:346.8}, {title:"Mumbai, India", x:552.3, y:359.25}, {title:"New Delhi, India", x:561.3, y:337.05}, {title:"Nagpur, India", x:565.75, y:356.3}, {title:"Colombo, Sri Lanka", x:568.3, y:387.3}, {title:"Dacca, Bangladesh", x:588.95, y:349.6}, {title:"Kathmandu, Nepal", x:579, y:340.5}, {title:"Boston, USA", x:246.85, y:300.65}, {title:"Chicago, USA", x:210.85, y:302.85}, {title:"Minneapolis, USA", x:201.3, y:292.05}, {title:"Portland Oregon, USA", x:137.5, y:293.25}, {title:"Honolulu, Hawai", x:62.4, y:355.1}, {title:"Vancover, Canada", x:136.2, y:280.9}, {title:"Toronto, Canada", x:229.1, y:297.85}, {title:"Edmonton, Canada", x:157, y:265.7}, {title:"Anchorage, Alaska", x:79.3, y:236.3}, {title:"Salt Lake City, USA", x:159.75, y:304.3}, {title:"Denver, USA", x:173.6, y:309.2}, {title:"Kansas City, USA", x:197.15, y:312.6}, {title:"Dayton, USA", x:217.9, y:307.95}, {title:"Nashville, USA", x:213.25, y:317.8}, {title:"Atlanta, USA", x:218.85, y:326.55}, {title:"New Orleans, USA", x:207.25, y:335.35}, {title:"Dallas, USA", x:191.9, y:327.85}, {title:"Houston, USA", x:195.35, y:335.65}, {title:"Albuquerque, USA", x:171.8, y:323.1}, {title:"Phoenix, USA", x:157.3, y:324.85}, {title:"Los Angeles, USA", x:145.6, y:324.4}, {title:"San Francisco, USA", x:137.15, y:314.35}, {title:"San Diego, USA", x:147.95, y:326.95}, {title:"Las Vegas, USA", x:153.4, y:320.65}, {title:"Santo Domingo, Dominican Republic", x:247.5, y:361.8}, {title:"Carolina, Puerto Rico", x:257.5, y:362.55}, {title:"Panama, Panama", x:228, y:382.55}, {title:"Managua, Nicaragua", x:214.15, y:375.3}, {title:"Tegucigalpa, Honduras", x:212.65, y:371.2}, {title:"San Miguel, El Salvador", x:210.25, y:373.05}, {title:"Guatemala, Guatemala", x:203.75, y:369.8}, {title:"Belmopand, Belize", x:209.75, y:364.2}, {title:"Benito Juarez, Mexico", x:212.25, y:356.8}, {title:"Acapulco, Mexico", x:186, y:365.3}, {title:"Monterrey, Mexico", x:184, y:345.55}, {title:"Toluca, Mexico", x:187.75, y:360.55}, {title:"Guadalajara, Mexico", x:178.25, y:358.3}, {title:"Los Cabos, Mexico", x:164.25, y:350.55}, {title:"Miami, USA", x:226.75, y:345.05}, {title:"Jacksonville, USA", x:224, y:333.8}, {title:"Amsterdam, Netherlands", x:407.9, y:270.45}, {title:"Den Haag, Netherlands", x:406.95, y:271.7}, {title:"Brussel, Belgium", x:406, y:275.85}, {title:"Cologne, Germany", x:413.4, y:277.8}, {title:"La Habana, Cuba", x:222.65, y:351.15}, {title:"Kingston, Jamaica", x:234.05, y:362.85}, {title:"Port-au-Prince, Haiti", x:242.7, y:361.1}, {title:"Paramaribo, Suriname", x:279.4, y:389.45}, {title:"Cayenne, French Guiana", x:285.8, y:391.05}, {title:"Rostock, Germany", x:423, y:264.7}, {title:"Caracas, Venezuela", x:253.9, y:379.2}, {title:"Georgetown, Guyana", x:272.75, y:385.95}, {title:"Stanley, Falkland Islands", x:274, y:530.05}, {title:"Punta Arenas, Chile", x:246.55, y:534.9}, {title:"Puerto Mont, Chile", x:242.35, y:499}, {title:"Santiago, Chile", x:247.45, y:476.6}, {title:"Calama, Chile", x:250.3, y:448.95}, {title:"Mendoza, Argentina", x:251.4, y:478.2}, {title:"Buenos Aires, Argentina", x:274.1, y:480.2}, {title:"Mar del Plata, Argentina", x:274.7, y:489.3}, {title:"Trelew, Argentina", x:258.05, y:506.05}, {title:"Montevideo, Uruguay", x:279.1, y:480}, {title:"Rio de Janeiro, Brazil", x:303.15, y:451.45}, {title:"Porto Alegre, Brazil", x:289.8, y:468.55}, {title:"Salvador, Brazil", x:315.75, y:427.9}, {title:"Manaus, Brazil", x:268.7, y:406.85}, {title:"Fortaleza, Brazil", x:315.2, y:409.65}, {title:"Santana, Brazil", x:289.65, y:400.3}, {title:"Asuncion, Paraguay", x:273.45, y:455.05}, {title:"La Paz, Bolivia", x:252.4, y:436.05}, {title:"Trinidad, Bolivia", x:258.85, y:432.1}, {title:"Santa Cruz, Bolivia", x:261.4, y:437.7}, {title:"Lima, Peru", x:234.8, y:429}, {title:"Trujillo, Peru", x:229.5, y:418.9}, {title:"Guayaquil, Ecuador", x:227.45, y:405.8}, {title:"Buenaventura, Colombia", x:233.75, y:394.6}, {title:"Bogota, Colombia", x:239.55, y:392.9}, {title:"Barranquilla, Colombia", x:238.95, y:378.2}, {title:"Maracaibo, Venezuela", x:245.15, y:379.15}, {title:"Longyearbyen, Svalbard", x:431.5, y:125.5}, {title:"Torshavn, Faroe Islands", x:382.75, y:232.5}, {title:"Reykjavik, Iceland", x:351.75, y:222.25}, {title:"Akureyri, Iceland", x:359.5, y:214.75}, {title:"Brisbane, Australia", x:721.8, y:463.3}, {title:"Adelaide, Australia", x:690.8, y:481.55}, {title:"Auckland, New Zealand", x:769.3, y:487.05}, {title:"Wellington, New Zealand", x:767.8, y:498.3}, {title:"Hobart, Tasmania", x:709.8, y:502.3}, {title:"Phnum Penh, Cambodia", x:618.45, y:376.75}, {title:"Bangkok, Thailand", x:611, y:372.3}, {title:"Singapore, Republic of Singapore", x:617.3, y:397.7}, {title:"Bantaeng, Indonesia", x:650.5, y:412.95}, {title:"Manilla, Philippines", x:653.6, y:367.5}, {title:"Port Moresby, Papua New Guinea", x:708.95, y:421.1}, {title:"Darwin, Australia", x:676.95, y:427.9}, {title:"Perth, Australia", x:643.4, y:473.3}, {title:"Sydney, Australia", x:716.7, y:479.55}, {title:"Halab, Syria", x:476, y:319.3}, {title:"Baghdad, Iraq", x:490.7, y:326.3}, {title:"Mosul, Iraq", x:489.2, y:318.8}, {title:"Tabriz, Iran", x:494.95, y:313.45}, {title:"Tehran, Iran", x:506.8, y:321.45}, {title:"Bakhtaran, Iran", x:497.95, y:324.55}, {title:"Mashhad, Iran", x:523, y:319.05}, {title:"Tel Aviv, Israel", x:471.2, y:329.6}, {title:"Jerusalem, Israel", x:471.5, y:330.3}, {title:"Al Qahirah, Egypt", x:462.85, y:335.1}, {title:"Tarabulus, Libya", x:425.2, y:328.6}, {title:"Tunis, Tunisia", x:418.8, y:318.1}, {title:"El-Jazair, Algeria", x:403.6, y:318.4}, {title:"Oran, Algeria", x:396.4, y:321.25}, {title:"Rabat, Morocco", x:383.75, y:324.85}, {title:"Agadir, Morocco", x:377.1, y:334.95}, {title:"Las Palmas de Gran Canaria", x:364.5, y:339.8}, {title:"Laayoune, Western Sahara", x:369.2, y:341.7}, {title:"Nouakchott, Mauritania", x:364.2, y:362.9}, {title:"Bamako, Mali", x:379.85, y:374.45}, {title:"Dakar, Senegal", x:361.2, y:369.75}, {title:"Conakry, Guinea", x:368.8, y:380.55}, {title:"Freetown Sierra Leone", x:370.2, y:383.9}, {title:"Monrovia, Liberia", x:375.4, y:387.95}, {title:"Tamale, Ghana", x:395.2, y:381.8}, {title:"Accra, Ghana", x:397.1, y:389}, {title:"Bobo-Dioulasso, Burkina Faso", x:388.15, y:377.95}, {title:"Benin City, Nigeria", x:409.55, y:388.45}, {title:"Niamey, Niger", x:401.95, y:372.45}, {title:"Sarh, Chad", x:435.55, y:382.5}, {title:"Douala, Cameroon", x:418.25, y:393.55}, {title:"Bata, Equatorial Guinea", x:418.4, y:398.5}, {title:"Libreville, Gabon", x:417.85, y:402.25}, {title:"Bambari, Central African Republic", x:436.2, y:392.45}, {title:"Al Khurtum, Sudan", x:467.85, y:367.4}, {title:"Mitsiwa, Eritrea", x:480.6, y:368.5}, {title:"Adis Abeba, Ethiopia", x:480.05, y:382.65}, {title:"Djibouti, Djibouti", x:488.2, y:376.3}, {title:"Mogadishu, Somalia", x:492.3, y:396.45}, {title:"Nairobi, Kenya", x:476, y:403.5}, {title:"Kampala, Uganda", x:466.6, y:401.55}, {title:"Kisangani, Congo", x:452, y:401.25}, {title:"Mwanza, Tanzania", x:467.55, y:406.4}, {title:"Dar es Salaam, Tanzania", x:480.05, y:416.5}, {title:"Luanda, Angola", x:425.75, y:420.75}, {title:"Lusaka, Zambia", x:458.2, y:433.9}, {title:"Lilongwe, Malawi", x:469.65, y:431.1}, {title:"Maputo, Mozambique", x:466.8, y:457.45}, {title:"Harare, Zimbabwe", x:464.2, y:438.95}, {title:"Gaborone, Botswana", x:453.2, y:455.15}, {title:"Windhoek, Namibia", x:433.95, y:450.4}, {title:"Mbabane, Swaziland", x:464.75, y:459.05}, {title:"Pretoria, South Afrika", x:458.35, y:457.5}, {title:"Maseru, Lesotho", x:457.6, y:466.3}, {title:"Durban, South Afrika", x:462.4, y:468.2}, {title:"East London, South Afrika", x:456.7, y:474.7}, {title:"Antananarivo, Madagascar", x:497.7, y:442.6}, {title:"Port Louis, Mauritius", x:519.15, y:445.3}, {title:"Saint-Denis, Reunion", x:515.45, y:447.2}, {title:"Astana, Kazakhstan", x:549.1, y:273.75}, {title:"Ashgabat, Turkmenistan", x:520.8, y:313.95}, {title:"Samarqand, Uzbekistan", x:538.5, y:310.05}, {title:"Dushanbe, Tajikistan", x:543.45, y:312.65}, {title:"Bishkek, Kyrgyzstan", x:555.3, y:300.7}, {title:"Kabul, Afghanistan", x:544.4, y:323.5}, {title:"Islamabad, Pakistan", x:552.85, y:325.75}, {title:"Karachi, Pakistan", x:539.7, y:346.15}, {title:"Pyongyang, North Korea", x:664.1, y:311}, {title:"Seoul, South Korea", x:666.9, y:315.6}, {title:"Beijing, China", x:641.85, y:310.2}, {title:"Gwangju, South Korea", x:666.5, y:322.05}, {title:"Hiroshima, Japan", x:677.8, y:323.5}, {title:"Tokyo, Japan", x:692, y:321.05}, {title:"Taipei, Taiwan", x:655, y:347.5}, {title:"Hong Kong, China", x:639.15, y:352.3}, {title:"Shanghai, China", x:654.75, y:331.95}, {title:"Yangon, Burma", x:600.4, y:365.7}, {title:"Mandalay, Burma", x:601.4, y:353}, {title:"Haerbin, China", x:665.45, y:290.4}, {title:"Ha Noi, Vietnam", x:621.35, y:355.4}, {title:"Ho Chi Minh, Vietnam", x:623.6, y:378.9}, {title:"Istanbul, Turkey", x:458.05, y:305.6}, {title:"Ankara, Turkey", x:466.55, y:308.8}, {title:"Antalya, Turkey", x:462.45, y:317}, {title:"Erzurum, Turkey", x:485, y:308.7}, {title:"Beirut, Lebanon", x:472.55, y:324.9}, {title:"Dimashq, Syria", x:473.85, y:326.05}, {title:"Novosibirsk, Russia", x:570.5, y:260}, {title:"Samara, Russia", x:503.85, y:267.4}, {title:"Ulaanbaatar, Mongolia", x:625.3, y:284.95}, {title:"Baky, Azerbaijan", x:502.75, y:308}, {title:"Gyumri, Armenia", x:490.2, y:306.55}, {title:"Minsk, Belarus", x:456, y:264.8}, {title:"Sankt-Peterburg, Russia", x:461.45, y:241.8}, {title:"Moskva, Russia", x:476.15, y:256.95}, {title:"Zagreb, Croatia", x:430.65, y:291.6}, {title:"Sarajevo, Bosnia and Herzegovina", x:435.8, y:297.5}, {title:"Belgrad, Serbia", x:440.2, y:294.55}, {title:"Bucuresti, Romania", x:452.6, y:295.65}, {title:"Sofia, Bulgaria", x:446.6, y:301.15}, {title:"Kaunu, Lithuania", x:447.95, y:261.45}, {title:"Vilnius, Lithuania", x:450.75, y:261.9}, {title:"Vienna, Austria", x:431.7, y:283.65}, {title:"Luxembourg,Luxembourg", x:410.8, y:279.95}, {title:"Dortmund, Germany", x:412.95, y:272.95}, {title:"Dresden, Germany", x:425.85, y:274.6}, {title:"Strasbourg, France", x:413.45, y:283.4}, {title:"Praha, Czech Republic", x:427.65, y:278.1}, {title:"Warszawa, Poland", x:441.7, y:271.75}, {title:"Krakow, Poland", x:439.65, y:278.55}, {title:"Budapest, Hungary", x:437, y:285.95}, {title:"Liechtenstein", x:418.3, y:287.65}, {title:"Innsbruck, Austria", x:421.3, y:287.1}, {title:"Salzburg, Austria", x:424.9, y:285.1}, {title:"Graz, Austria", x:430, y:287.5}, {title:"Le Mans, France", x:396.25, y:284.4}, {title:"Zurich, Switzerland", x:415.45, y:287.5}, {title:"Bern, Switzerland", x:412.7, y:288.45}, {title:"Bari, Italy", x:433.2, y:305.8}, {title:"Napoli, Italy", x:427.15, y:306}, {title:"Palermo, Italy", x:425.4, y:313.45}, {title:"Malta, Republic of Malta", x:426.6, y:318.15}, {title:"Milano, Italy", x:415.75, y:292.7}, {title:"Genova, Italy", x:416.4, y:295.45}, {title:"Encamp, Andorra", x:400.6, y:301.75}, {title:"Marseille, France", x:408.2, y:299.05}, {title:"Toulouse, France", x:400.05, y:298.45}, {title:"Nimes, France", x:406, y:297.9}, {title:"Monaco, Monaco", x:411.3, y:299.3}, {title:"Lyon, France", x:406.45, y:292.1}, {title:"Bordeaux, France", x:395.15, y:294}, {title:"Vigo, Spain", x:378.75, y:302.85}, {title:"Valencia, Spain", x:397.2, y:310.2}, {title:"Palma, Spain", x:403, y:309.95}, {title:"Barcelona, Spain", x:401.6, y:304.9}, {title:"Malaga, Spain", x:387.9, y:317.2}, {title:"Sevilla, Spain", x:384.25, y:315.5}, {title:"Valladolid, Spain", x:387.9, y:304.55}, {title:"Helsinki, Finland", x:450.35, y:240.2}, {title:"Bergen, Norway", x:408.5, y:239.9}, {title:"Oslo, Norway", x:418.65, y:242.1}, {title:"Uppsala, Sweden", x:433.9, y:241.65}, {title:"Stockholm, Sweden", x:435.2, y:244.2}, {title:"Goteborg, Sweden", x:422.3, y:250.75}, {title:"Sundsvall, Sweden", x:433.9, y:231.4}, {title:"Oulu, Finland", x:451.1, y:217.75}, {title:"Belfast, North Ireland", x:383.75, y:261.95}, {title:"Dublin, Ireland", x:383.9, y:267.55}, {title:"Cork, Ireland", x:378.65, y:272.25}, {title:"Galway, Ireland", x:377.05, y:267.15}, {title:"Edinburgh, United Kingdom", x:390.75, y:257.2}, {title:"Glasgow, United Kingdom", x:387.5, y:257.75}, {title:"Manchester, United Kingdom", x:391.65, y:266.65}, {title:"Bradford, United Kingdom", x:393.5, y:264.9}, {title:"Birmingham, United Kingdom", x:392.9, y:270}, {title:"New York City, USA", x:240.5, y:306.05}, {title:"Hamburg, Germany", x:417.35, y:266}, {title:"Munich, Germany", x:422.3, y:283.75}, {title:"Tbilisi, Georgia", x:492.3, y:304.05}, {title:"Bodo, Nordland", x:428.4, y:206.15}, {title:"Cape Town, South Afrika", x:436.65, y:478.2}, {title:"Monrovia, Liberia", x:374.15, y:387.2}, {title:"Colombo, Sri Lanka", x:566.85, y:386.7}, {title:"Athina, Greece", x:447.55, y:314}, {title:"Sofia, Bulgaria", x:447.25, y:300.95}, {title:"Stockholm, Sweden", x:434.5, y:244.2}, {title:"Copenhagen, Denmark", x:422.9, y:259.6}, {title:"London, England", x:396.3, y:272.9}, {title:"Paris, France", x:401.7, y:282.15}, {title:"Riga, Latvia", x:448.5, y:253.45}, {title:"Talinn, Estonia", x:450, y:243.65}, {title:"Helsinki, Finland", x:450.15, y:240.05}, {title:"Rome, Italy", x:423.65, y:302.7}, {title:"Quito, Ecuador", x:229.75, y:401.5}, {title:"Madrid, Spain", x:389.4, y:307.55}, {title:"Lisboa, Portugal", x:377.65, y:312.45}); super(); addFrameScript(0, frame1); loader = new MovieClip(); addChild(loader); game.instance = this; volume = 0.9; flashvars = LoaderInfo(this.loaderInfo).parameters; url = new URL(LoaderInfo(this.loaderInfo).loaderURL); this.loaderInfo.addEventListener(Event.COMPLETE, gameLoaded); this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress); } public function goHandler(_arg1:Event):void{ var _local2:Sound = Sound(data.levels[data.currentLevel].loop.instance); data.soundLoopsChannel = new LoopSoundChannel(_local2.play(0, 99)); data.soundLoopsChannel.soundTransform = new SoundTransform(data.volume, 0); splash.removeEventListener(Splash.GO, goHandler); removeChild(splash); splash = null; board = new Board(); board.init(data); addChild(board); board.addEventListener(Board.WIN, boardHandler); board.addEventListener(Board.END, boardHandler); board.addEventListener(Board.CONTINUE, boardHandler); } public function showSplash():void{ splash = new Splash(); splash.init(data); splash.x = 400; splash.y = 300; addChild(splash); splash.addEventListener(Splash.GO, goHandler); } public function showProgress(_arg1:ProgressEvent):void{ var _local2:Number = Math.round(((_arg1.bytesLoaded / _arg1.bytesTotal) * 760)); loader.graphics.clear(); loader.graphics.lineStyle(1, 0x660000, 0.5); loader.graphics.beginFill(0x660000, 0.5); loader.graphics.drawRect(20, 560, _local2, 20); } public function boardHandler(_arg1:Event):void{ board.removeEventListener(Board.WIN, boardHandler); board.removeEventListener(Board.END, boardHandler); board.removeEventListener(Board.CONTINUE, boardHandler); data.soundLoopsChannel.fadeOut(data.volume); switch (_arg1.type){ case Board.WIN: removeChild(board); board = null; win = new Win(); win.init(data); win.x = 400; win.y = 300; addChild(win); win.addEventListener(Win.PLAY_AGAIN, playAgainHandler); break; case Board.END: removeChild(board); board = null; end = new End(); end.init(data); end.x = 400; end.y = 300; addChild(end); end.addEventListener(End.PLAY_AGAIN, playAgainHandler); break; case Board.CONTINUE: board.dispose(); removeChild(board); board = null; showSplash(); break; }; } public function init(_arg1:Event):void{ soundLoops.shuffle(); targets.shuffle(); data = new Object(); data.username = (flashvars["player"]) ? String(flashvars["player"]) : "Undefined"; data.score = 0; data.volume = volume; data.currentLevel = 0; data.currentLevelTarget = 0; data.levels = new Array(); data.levels[0] = {minScore:350, maxTime:13000, score:0, maxTargets:3, mapBorders:true, mapBackground:true, mapShape:true, mapShapeColor:0xCCCCCC, mapBordersColor:0x333333, mapBackgroundColor:0x777777, targets:targets, loop:soundLoops[0]}; data.levels[1] = {minScore:550, maxTime:12000, score:0, maxTargets:4, mapBorders:true, mapBackground:true, mapShape:true, mapShapeColor:0x666666, mapBordersColor:0xBBBBBB, mapBackgroundColor:0x333333, targets:targets, loop:soundLoops[1]}; data.levels[2] = {minScore:750, maxTime:11000, score:0, maxTargets:5, mapBorders:true, mapBackground:true, mapShape:true, mapShapeColor:0x333333, mapBordersColor:0x999999, mapBackgroundColor:0x666666, targets:targets, loop:soundLoops[2]}; data.levels[3] = {minScore:1000, maxTime:10000, score:0, maxTargets:6, mapBorders:true, mapBackground:true, mapShape:true, mapShapeColor:0xCCCCCC, mapBordersColor:0x454545, mapBackgroundColor:0x222222, targets:targets, loop:soundLoops[3]}; data.levels[4] = {minScore:1250, maxTime:9000, score:0, maxTargets:7, mapBorders:true, mapBackground:true, mapShape:true, mapShapeColor:0xA00B00, mapBordersColor:0xEEEEEE, mapBackgroundColor:0x300400, targets:targets, loop:soundLoops[4]}; data.levels[5] = {minScore:1450, maxTime:8000, score:0, maxTargets:8, mapBorders:true, mapBackground:true, mapShape:true, mapShapeColor:1192242, mapBordersColor:0xEEEEEE, mapBackgroundColor:0x666666, targets:targets, loop:soundLoops[5]}; data.levels[6] = {minScore:1700, maxTime:7000, score:0, maxTargets:9, mapBorders:false, mapBackground:true, mapShape:true, mapShapeColor:0xCCCCCC, mapBordersColor:0x454545, mapBackgroundColor:0x222222, targets:targets, loop:soundLoops[6]}; data.levels[7] = {minScore:2000, maxTime:6000, score:0, maxTargets:10, mapBorders:false, mapBackground:true, mapShape:true, mapShapeColor:0x333333, mapBordersColor:0xAAAAAA, mapBackgroundColor:0x999999, targets:targets, loop:soundLoops[7]}; data.levels[8] = {minScore:2300, maxTime:5000, score:0, maxTargets:11, mapBorders:false, mapBackground:true, mapShape:true, mapShapeColor:0xCCCCCC, mapBordersColor:0x454545, mapBackgroundColor:0x222222, targets:targets, loop:soundLoops[8]}; data.levels[9] = {minScore:2650, maxTime:4000, score:0, maxTargets:12, mapBorders:false, mapBackground:true, mapShape:true, mapShapeColor:0x333333, mapBordersColor:0xAAAAAA, mapBackgroundColor:0x999999, targets:targets, loop:soundLoops[9]}; showSplash(); } public function gameLoaded(_arg1:Event):void{ if (loader){ loader.loaderInfo.removeEventListener(Event.COMPLETE, init); loader.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, showProgress); removeChild(loader); loader = null; }; kongregate = KongregateAPI.getInstance(); kongregate.addEventListener(KongregateEvent.COMPLETE, kongregateAPILoaded); } public function kongregateAPILoaded(_arg1:KongregateEvent):void{ kongregate.removeEventListener(KongregateEvent.COMPLETE, kongregateAPILoaded); kongregate.services.connect(); init(new Event(Event.INIT)); } public function playAgainHandler(_arg1:Event):void{ switch (_arg1.type){ case End.PLAY_AGAIN: end.removeEventListener(End.PLAY_AGAIN, playAgainHandler); removeChild(end); end = null; break; case Win.PLAY_AGAIN: win.removeEventListener(Win.PLAY_AGAIN, playAgainHandler); removeChild(win); win = null; break; }; init(new Event(Event.INIT)); } function frame1(){ } } }//package
Section 42
//GreenFlag (GreenFlag) package { import flash.display.*; public class GreenFlag extends MovieClip { public function GreenFlag():void{ addFrameScript(10, frame11); } function frame11(){ stop(); } } }//package
Section 43
//Infobox (Infobox) package { import flash.events.*; import flash.display.*; import flash.media.*; import com.kongregate.as3.client.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.utils.*; import flash.text.*; public class Infobox extends MovieClip { public var nextButtonTimer:Timer; public var total:TextField; public var nextButton:MovieClip; public var scoreRadius:TextField; public var bonusTime:TextField; public var bonusRadius:TextField; public var radius:TextField; public var target:TextField; public var kongregate:KongregateAPI; public var title:TextField; public var data:Object; public static var SCALE:Number = 34; public static var NEXT:String = "infoboxNext"; public function Infobox():void{ title.autoSize = TextFieldAutoSize.CENTER; radius.autoSize = TextFieldAutoSize.CENTER; target.autoSize = TextFieldAutoSize.LEFT; total.autoSize = TextFieldAutoSize.LEFT; bonusTime.autoSize = TextFieldAutoSize.LEFT; scoreRadius.autoSize = TextFieldAutoSize.LEFT; bonusRadius.autoSize = TextFieldAutoSize.LEFT; } public function nextButtonClickHandler(_arg1:Event):void{ data.soundLoopsChannel.soundTransform = new SoundTransform(this.data.volume, 0); nextButtonTimer.removeEventListener(TimerEvent.TIMER, nextButtonTimerHandler); nextButtonTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, nextButtonClickHandler); nextButton.removeEventListener(MouseEvent.CLICK, nextButtonClickHandler); nextButtonTimer.stop(); nextButtonTimer = null; dispatchEvent(new Event(NEXT)); } public function init(_arg1:Object):void{ kongregate = KongregateAPI.getInstance(); this.data = _arg1; _arg1.soundLoopsChannel.soundTransform = new SoundTransform(((this.data.volume >= 0.9)) ? 0.6 : 0, 0); title.text = _arg1.levels[_arg1.currentLevel].targets[_arg1.currentLevelTarget].title; title.autoSize = TextFieldAutoSize.CENTER; var _local2:Number = (_arg1.levels[_arg1.currentLevel].targets[_arg1.currentLevelTarget].radius * SCALE); var _local3:Number = ((_local2 == 0)) ? _local2 : (_local2 + (SCALE * (Math.random() - 0.5))); _local3 = ((_local3 < 0)) ? 0 : Math.round(_local3); if (_local3 <= 0){ radius.text = "STRIKE"; kongregate.stats.submit("Strikes", 1); } else { radius.text = (_local3 + " km"); }; bonusTime.text = _arg1.levels[_arg1.currentLevel].targets[_arg1.currentLevelTarget].bonusTime; scoreRadius.text = _arg1.levels[_arg1.currentLevel].targets[_arg1.currentLevelTarget].scoreRadius; bonusRadius.text = ("x" + _arg1.levels[_arg1.currentLevel].targets[_arg1.currentLevelTarget].bonusRadius); bonusRadius.x = (scoreRadius.x + scoreRadius.width); total.text = (_arg1.levels[_arg1.currentLevel].targets[_arg1.currentLevelTarget].bonusTime + (_arg1.levels[_arg1.currentLevel].targets[_arg1.currentLevelTarget].scoreRadius * _arg1.levels[_arg1.currentLevel].targets[_arg1.currentLevelTarget].bonusRadius)); target.text = (((_arg1.currentLevelTarget + 1) + "/") + _arg1.levels[_arg1.currentLevel].maxTargets); radius.y = (title.y + title.height); nextButton.buttonMode = true; nextButton.addEventListener(MouseEvent.CLICK, nextButtonClickHandler); nextButtonTimer = new Timer(10, 350); nextButtonTimer.addEventListener(TimerEvent.TIMER, nextButtonTimerHandler); nextButtonTimer.addEventListener(TimerEvent.TIMER_COMPLETE, nextButtonClickHandler); nextButtonTimer.start(); } public function dispose():void{ data = null; nextButtonTimer = null; } public function nextButtonTimerHandler(_arg1:TimerEvent):void{ nextButton.nextButtonMask.width = (nextButton.nextButtonMask.width - (160 / 350)); } } }//package
Section 44
//LoopSoundChannel (LoopSoundChannel) package { import flash.events.*; import flash.media.*; import flash.utils.*; public class LoopSoundChannel { public var channel:SoundChannel; public var timer:Timer; public var volume:Number; public function LoopSoundChannel(_arg1, _arg2=false){ channel = _arg1; channel.soundTransform = new SoundTransform((_arg2) ? 0 : 1, 0); } public function fadeIn(_arg1:Number=0):void{ this.volume = _arg1; timer = new Timer(10, 30); timer.addEventListener(TimerEvent.TIMER, fadeInTimerHandler); timer.addEventListener(TimerEvent.TIMER_COMPLETE, fadeInTimerCompleteHandler); timer.start(); } public function set soundTransform(_arg1:SoundTransform):void{ channel.soundTransform = _arg1; } private function fadeInTimerCompleteHandler(_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER, fadeInTimerHandler); timer.removeEventListener(TimerEvent.TIMER_COMPLETE, fadeInTimerCompleteHandler); timer = null; } public function fadeOut(_arg1:Number=1):void{ this.volume = _arg1; timer = new Timer(10, 100); timer.addEventListener(TimerEvent.TIMER, fadeOutTimerHandler); timer.addEventListener(TimerEvent.TIMER_COMPLETE, fadeOutTimerCompleteHandler); timer.start(); } private function fadeInTimerHandler(_arg1:TimerEvent):void{ channel.soundTransform = new SoundTransform(volume, 0); volume = ((volume > 0.9)) ? 0.9 : (volume + (1 / 30)); } private function fadeOutTimerHandler(_arg1:TimerEvent):void{ channel.soundTransform = new SoundTransform(volume, 0); volume = ((volume < 0)) ? 0 : (volume - (1 / 100)); } private function fadeOutTimerCompleteHandler(_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER, fadeOutTimerHandler); timer.removeEventListener(TimerEvent.TIMER_COMPLETE, fadeOutTimerCompleteHandler); volume = 0; channel.stop(); channel = null; timer.stop(); timer = null; } } }//package
Section 45
//Map (Map) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.geom.*; import flash.ui.*; public class Map extends MovieClip { public var cursorPositionOnClick:Point; public var greenFlag:GreenFlag; public var world:World; public var cursor:MapCursor; public var redFlag:RedFlag; public var data:Object; public var distance:Distance; public static var MAP_CLICK:String = "mapClick"; public function Map():void{ world.cacheAsBitmap = true; } public function theDistance():Distance{ var _local1:*; var _local2:*; var _local3:Number; if (((redFlag) && (greenFlag))){ _local2 = (redFlag.x - greenFlag.x); _local3 = (redFlag.y - greenFlag.y); _local1 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); }; distance.init({radius:_local1}); distance.x = greenFlag.x; distance.y = greenFlag.y; addChild(distance); return (distance); } public function init(_arg1:Object):void{ this.data = _arg1; world.init(_arg1); cursor = new MapCursor(); addChild(cursor); distance = new Distance(); distance.cacheAsBitmap = true; Mouse.hide(); } private function mouseMoveHandler(_arg1:MouseEvent):void{ Mouse.hide(); cursor.x = _arg1.localX; cursor.y = _arg1.localY; _arg1.updateAfterEvent(); cursor.visible = true; } public function removeListeners():void{ removeEventListener(MouseEvent.MOUSE_OVER, mouseMoveHandler); removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); removeEventListener(MouseEvent.CLICK, mouseClickHandler); } public function theGreenFlag(_arg1:Number, _arg2:Number):GreenFlag{ greenFlag = new GreenFlag(); greenFlag.stop(); greenFlag.x = _arg1; greenFlag.y = _arg2; if (redFlag){ theDistance(); //unresolved jump }; addChild(greenFlag); setTimeout(greenFlag.play, 0); return (greenFlag); } public function dispose():void{ cursorPositionOnClick = null; removeListeners(); Mouse.show(); data = null; if (greenFlag){ if (contains(greenFlag)){ removeChild(greenFlag); }; greenFlag = null; }; if (redFlag){ if (contains(redFlag)){ removeChild(redFlag); }; redFlag = null; }; if (cursor){ if (contains(cursor)){ removeChild(cursor); }; cursor = null; }; if (distance){ if (contains(distance)){ removeChild(distance); }; distance = null; }; } private function mouseOutHandler(_arg1:MouseEvent):void{ Mouse.show(); cursor.visible = false; } public function addListeners():void{ addEventListener(MouseEvent.MOUSE_OVER, mouseMoveHandler); addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); addEventListener(MouseEvent.CLICK, mouseClickHandler); addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); } private function mouseClickHandler(_arg1:MouseEvent):void{ cursor.x = _arg1.localX; cursor.y = _arg1.localY; cursorPositionOnClick = new Point(cursor.x, cursor.y); dispatchEvent(new Event(MAP_CLICK)); removeListeners(); removeChild(cursor); Mouse.show(); } public function theRedFlag(_arg1:Number, _arg2:Number):RedFlag{ redFlag = new RedFlag(); redFlag.stop(); redFlag.x = _arg1; redFlag.y = _arg2; if (greenFlag){ theDistance(); //unresolved jump }; addChild(redFlag); setTimeout(redFlag.play, 250); return (redFlag); } } }//package
Section 46
//MapCursor (MapCursor) package { import flash.display.*; public class MapCursor extends Shape { public function MapCursor(){ visible = false; draw(); } public function draw():void{ graphics.clear(); graphics.lineStyle(0.25, 0, 0.5); graphics.drawCircle(0, 0, 15); graphics.lineStyle(0.25, 0xFFFFFF, 0.5); graphics.moveTo(0, -20); graphics.lineTo(0, -1); graphics.moveTo(0, 1); graphics.lineTo(0, 20); graphics.moveTo(-20, 0); graphics.lineTo(-1, 0); graphics.moveTo(1, 0); graphics.lineTo(20, 0); } } }//package
Section 47
//NextButton (NextButton) package { import flash.display.*; public class NextButton extends MovieClip { public var nextButtonMask:MovieClip; public function NextButton():void{ } public function init():void{ } public function dispose():void{ } } }//package
Section 48
//RedFlag (RedFlag) package { import flash.display.*; public class RedFlag extends MovieClip { public function RedFlag():void{ addFrameScript(10, frame11); } function frame11(){ stop(); } } }//package
Section 49
//Scorebox (Scorebox) package { import flash.events.*; import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.text.*; public class Scorebox extends MovieClip { public var score:TextField; public var level:TextField; public var data:Object; public function Scorebox():void{ } public function init(_arg1:Object):void{ this.data = _arg1; level.text = (_arg1.currentLevel + 1); score.text = _arg1.score; } } }//package
Section 50
//Splash (Splash) package { import flash.events.*; import flash.display.*; import com.kongregate.as3.client.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.text.*; import flash.net.*; public class Splash extends MovieClip { public var inTween:Tween; public var data:Object; public var goal:TextField; public var startButton:MovieClip; public var title:TextField; public var playMoreButton:MovieClip; public var outTween:Tween; public static var GO:String = "splashGo"; public static var READY:String = "splashReady"; public function Splash():void{ cacheAsBitmap = true; } public function outTweenFinishHandler(_arg1:TweenEvent):void{ outTween.removeEventListener(TweenEvent.MOTION_FINISH, outTweenFinishHandler); outTween = null; dispatchEvent(new Event(GO)); } public function playMoreButtonClickHandler(_arg1:MouseEvent):void{ var event = _arg1; var request:URLRequest = new URLRequest("http://games.dschini.org/"); try { navigateToURL(request, "_blank"); } catch(e:Error) { }; } public function startButtonClickHandler(_arg1:MouseEvent):void{ startButton.removeEventListener(MouseEvent.CLICK, startButtonClickHandler); outTween = new Tween(this, "alpha", Regular.easeIn, 1, 0, 10); outTween.addEventListener(TweenEvent.MOTION_FINISH, outTweenFinishHandler); } public function inTweenFinishHandler(_arg1:TweenEvent):void{ inTween.removeEventListener(TweenEvent.MOTION_FINISH, inTweenFinishHandler); inTween = null; dispatchEvent(new Event(READY)); } public function init(_arg1:Object):void{ this.data = _arg1; title.text = ("Level " + (_arg1.currentLevel + 1)); goal.text = ((_arg1.levels[_arg1.currentLevel].minScore + "/") + _arg1.levels[_arg1.currentLevel].maxTargets); kongregate = KongregateAPI.getInstance(); kongregate.stats.submit("Level", (_arg1.currentLevel + 1)); startButton.buttonMode = true; startButton.addEventListener(MouseEvent.CLICK, startButtonClickHandler); playMoreButton.buttonMode = true; playMoreButton.addEventListener(MouseEvent.CLICK, playMoreButtonClickHandler); inTween = new Tween(this, "alpha", Regular.easeOut, 0, 1, 10); inTween.addEventListener(TweenEvent.MOTION_FINISH, inTweenFinishHandler); } } }//package
Section 51
//Statusbox (Statusbox) package { import flash.events.*; import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.text.*; public class Statusbox extends MovieClip { public var yours:TextField; public var data:Object; public var target:TextField; public var tweenScoreMask:Tween; public var levelscoreMask:MovieClip; public var required:TextField; public function Statusbox():void{ levelscoreMask.width = 0; } public function tweenHandler(_arg1:TweenEvent):void{ tweenScoreMask.removeEventListener(TweenEvent.MOTION_FINISH, tweenHandler); tweenScoreMask = null; } public function init(_arg1:Object):void{ this.data = _arg1; required.text = _arg1.levels[_arg1.currentLevel].minScore; yours.text = _arg1.levels[_arg1.currentLevel].score; target.text = (((_arg1.currentLevelTarget + 1) + "/") + _arg1.levels[_arg1.currentLevel].maxTargets); tweenScoreMaskTarget = ((150 / _arg1.levels[_arg1.currentLevel].minScore) * _arg1.levels[_arg1.currentLevel].score); tweenScoreMask = new Tween(levelscoreMask, "width", Strong.easeOut, levelscoreMask.width, tweenScoreMaskTarget, 10); tweenScoreMask.addEventListener(TweenEvent.MOTION_FINISH, tweenHandler); } public function dispose():void{ tweenScoreMask.removeEventListener(TweenEvent.MOTION_FINISH, tweenHandler); tweenScoreMask = null; data = null; } } }//package
Section 52
//TargetText (TargetText) package { import flash.events.*; import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.utils.*; import flash.text.*; public class TargetText extends MovieClip { public var title:TextField; public function TargetText():void{ this.cacheAsBitmap = true; title.antiAliasType = AntiAliasType.ADVANCED; title.embedFonts = true; title.autoSize = TextFieldAutoSize.CENTER; } public function init(_arg1:String):void{ title.text = _arg1; title.y = (-(title.height) / 2); } } }//package
Section 53
//Timerbar (Timerbar) package { import flash.events.*; import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.utils.*; import flash.text.*; import flash.geom.*; public class Timerbar extends MovieClip { public var timerbarMask:MovieClip; public var timer:Timer; public var inTween:Tween; var colorTransform:ColorTransform; public var timerbarBar:MovieClip; public var interpret:TextField; public var duration:uint; public var title:TextField; public var volume:MovieClip; public var data:Object; public var outTween:Tween; public static var TIMER_FREEZE:String = "timerFreeze"; public static var TOOGLE_SOUND:String = "toogleSound"; public static var TIMER_FINISH:String = "timerFinish"; public function Timerbar():void{ timer = new Timer(5); timer.addEventListener(TimerEvent.TIMER, timerHandler); timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteHandler); volume.addEventListener(MouseEvent.CLICK, volumeClickHandler); volume.buttonMode = true; colorTransform = timerbarBar.transform.colorTransform; colorTransform.color = 0x6600; timerbarBar.transform.colorTransform = colorTransform; } public function init(_arg1:Object):void{ this.data = _arg1; volume.alpha = ((_arg1.volume <= 0)) ? 0.25 : 0.75; interpret.alpha = ((_arg1.volume <= 0)) ? 0.25 : 1; interpret.text = ((_arg1.levels[_arg1.currentLevel].loop.title + " by ") + _arg1.levels[_arg1.currentLevel].loop.author); colorTransform.color = 0x6600; timerbarBar.transform.colorTransform = colorTransform; duration = _arg1.levels[_arg1.currentLevel].maxTime; timer.repeatCount = (duration / 5); timer.reset(); timer.start(); } public function freeze():void{ timer.stop(); dispatchEvent(new Event(TIMER_FREEZE)); } public function volumeClickHandler(_arg1:MouseEvent):void{ dispatchEvent(new Event(TOOGLE_SOUND)); volume.alpha = ((data.volume <= 0)) ? 0.25 : 0.75; interpret.alpha = ((data.volume <= 0)) ? 0.25 : 1; } public function timerHandler(_arg1:TimerEvent):void{ title.text = (Math.round(((duration - (timer.currentCount * timer.delay)) / 1000)) + " seconds left"); timerbarMask.scaleX = ((1 / duration) * (duration - (timer.currentCount * timer.delay))); if (timerbarMask.scaleX <= 0.25){ colorTransform.color = 0x990000; } else { if (timerbarMask.scaleX <= 0.5){ colorTransform.color = 0x996600; } else { if (timerbarMask.scaleX <= 0.75){ colorTransform.color = 0x6666; } else { colorTransform.color = 0x6600; }; }; }; timerbarBar.transform.colorTransform = colorTransform; } public function dispose():void{ if (volume){ volume.removeEventListener(MouseEvent.CLICK, volumeClickHandler); }; if (timer){ timer.stop(); timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteHandler); timer = null; }; } public function timerCompleteHandler(_arg1:TimerEvent):void{ dispatchEvent(new Event(TIMER_FINISH)); } } }//package
Section 54
//TrailerText (TrailerText) package { import flash.events.*; import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.utils.*; import flash.text.*; public class TrailerText extends MovieClip { public var outTweenAlpha:Tween; public var inTweenX:Tween; public var inTweenY:Tween; public var duration:uint; public var inTweenAlpha:Tween; public var outTweenX:Tween; public var outTweenY:Tween; public var title:TextField; public function TrailerText():void{ this.cacheAsBitmap = true; title.embedFonts = true; } public function outTweenFinishHandler():void{ outTweenX = null; outTweenY = null; outTweenAlpha = null; } public function inTweenFinishHandler():void{ inTweenX = null; inTweenY = null; inTweenAlpha = null; outTweenX = new Tween(this, "scaleX", Strong.easeIn, 1, 0.5, ((duration / 2) / 1000), true); outTweenY = new Tween(this, "scaleY", Strong.easeIn, 1, 0.5, ((duration / 2) / 1000), true); outTweenAlpha = new Tween(this, "alpha", Strong.easeIn, 1, 0, ((duration / 2) / 1000), true); setTimeout(outTweenFinishHandler, (duration / 2)); } public function init(_arg1:Object):void{ title.text = _arg1.title; duration = _arg1.duration; inTweenX = new Tween(this, "scaleX", Strong.easeOut, 1.5, 1, ((duration / 2) / 1000), true); inTweenY = new Tween(this, "scaleY", Strong.easeOut, 1.5, 1, ((duration / 2) / 1000), true); inTweenAlpha = new Tween(this, "alpha", Strong.easeOut, 0, 1, ((duration / 2) / 1000), true); setTimeout(inTweenFinishHandler, (duration / 2)); } } }//package
Section 55
//URL (URL) package { public class URL { private var _scheme:String; private var _host:String; private var _query:String; private var _path:String; private var _userinfo:String; private var _port:String; private var _url:String; private var _fragment:String; private static const PATTERN:RegExp = /^([A-Za-z0-9_+.]{1,8}:\/\/)?([!-~]+@)?([^\/?#:]*)(:[0-9]*)?(\/[^?#]*)?(\?[^#]*)?(\#.*)?/i; public function URL(_arg1:String):void{ var _local2:Array = _arg1.match(URL.PATTERN); _url = _local2[0]; _scheme = _local2[1]; _userinfo = _local2[2]; _host = _local2[3]; _port = _local2[4]; _path = _local2[5]; _query = _local2[6]; _fragment = _local2[7]; } public function get port():int{ return (((_port.length <= 0)) ? undefined : int(_port.substring(1, _port.length))); } public function get fragment():String{ return (((_fragment.length <= 0)) ? undefined : _fragment); } public function get query():Object{ var _local2:String; var _local3:Array; var _local4:int; var _local5:Array; var _local1:* = {raw:undefined, parsed:undefined}; if (((_query) && ((_query.length > 0)))){ _local1.raw = _query; _local2 = _query.substring(1, _query.length); _local3 = _local2.split("&"); _local1.parsed = ((_local3.length > 0)) ? {} : undefined; _local4 = 0; while (_local4 < _local3.length) { _local5 = _local3[_local4].split("="); _local1.parsed[_local5[0]] = _local5[1]; _local4++; }; }; return (_local1); } public function get scheme():String{ return (((_scheme.length <= 0)) ? undefined : _scheme.substring(0, (_scheme.length - 3))); } public function get host():String{ return (((_host.length <= 0)) ? undefined : _host); } public function get path():String{ return (((_path.length <= 0)) ? undefined : _path); } public function get url():String{ return (((_url.length <= 0)) ? undefined : _url); } public function get userinfo():Object{ var _local2:Array; var _local1:* = {user:undefined, pass:undefined}; if (_userinfo){ _local2 = _userinfo.substring(0, (_userinfo.length - 1)).split(":"); _local1.user = (_local2[0]) ? _local2[0] : _local1.user; _local1.pass = (_local2[1]) ? _local2[1] : _local1.pas; }; return (_local1); } } }//package
Section 56
//Win (Win) package { import flash.events.*; import flash.display.*; import com.kongregate.as3.client.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.text.*; import flash.net.*; import flash.errors.*; public class Win extends MovieClip { public var inTween:Tween; public var copyright:MovieClip; public var urlVariables:URLVariables; public var outTween:Tween; public var kongregate:KongregateAPI; public var playAgainButton:MovieClip; public var scoreText:TextField; public var urlRequest:URLRequest; public var urlLoader:URLLoader; public var data:Object; public var playMoreButton:MovieClip; public static var PLAY_AGAIN:String = "winPlayAgain"; public function Win():void{ cacheAsBitmap = true; } public function playMoreButtonClickHandler(_arg1:MouseEvent):void{ var event = _arg1; var request:URLRequest = new URLRequest("http://games.dschini.org/"); try { navigateToURL(request, "_blank"); } catch(e:Error) { }; } public function outTweenFinishHandler(_arg1:TweenEvent):void{ outTween.removeEventListener(TweenEvent.MOTION_FINISH, outTweenFinishHandler); outTween = null; dispatchEvent(new Event(PLAY_AGAIN)); } public function inTweenFinishHandler(_arg1:TweenEvent):void{ inTween.removeEventListener(TweenEvent.MOTION_FINISH, inTweenFinishHandler); inTween = null; } public function init(_arg1:Object):void{ this.data = _arg1; kongregate = KongregateAPI.getInstance(); kongregate.scores.submit(_arg1.score); kongregate.stats.submit("Score", _arg1.score); kongregate.stats.submit("Wins", 1); scoreText.text = _arg1.score; playAgainButton.buttonMode = true; playAgainButton.addEventListener(MouseEvent.CLICK, playAgainButtonClickHandler); playMoreButton.buttonMode = true; playMoreButton.addEventListener(MouseEvent.CLICK, playMoreButtonClickHandler); inTween = new Tween(this, "alpha", Regular.easeOut, 0, 1, 10); inTween.addEventListener(TweenEvent.MOTION_FINISH, inTweenFinishHandler); } public function playAgainButtonClickHandler(_arg1:MouseEvent):void{ playAgainButton.removeEventListener(MouseEvent.CLICK, playAgainButtonClickHandler); outTween = new Tween(this, "alpha", Regular.easeIn, 1, 0, 10); outTween.addEventListener(TweenEvent.MOTION_FINISH, outTweenFinishHandler); } } }//package
Section 57
//World (World) package { import flash.events.*; import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.utils.*; import flash.geom.*; public class World extends MovieClip { public var worldBackground:WorldBackground; public var data:Object; public var worldBorders:WorldBorders; public var worldShape:WorldShape; public function World():void{ } public function dispose():void{ if (contains(worldBorders)){ removeChild(worldBorders); }; worldBorders = null; if (contains(worldBackground)){ removeChild(worldBackground); }; worldBackground = null; if (contains(worldShape)){ removeChild(worldShape); }; worldShape = null; } public function init(_arg1:Object):void{ var _local2:ColorTransform; var _local3:ColorTransform; var _local4:ColorTransform; this.data = _arg1; if (!worldShape){ worldShape = new WorldShape(); worldShape.cacheAsBitmap = true; addChild(worldShape); }; if (!worldBackground){ worldBackground = new WorldBackground(); worldBackground.cacheAsBitmap = true; addChild(worldBackground); }; if (!worldBorders){ worldBorders = new WorldBorders(); worldBorders.cacheAsBitmap = true; addChild(worldBorders); }; if (_arg1.levels[_arg1.currentLevel].mapBackground){ _local2 = worldBackground.transform.colorTransform; _local2.color = _arg1.levels[_arg1.currentLevel].mapBackgroundColor; worldBackground.transform.colorTransform = _local2; } else { if (contains(worldBackground)){ removeChild(worldBackground); }; }; if (_arg1.levels[_arg1.currentLevel].mapBorders){ _local3 = worldBorders.transform.colorTransform; _local3.color = _arg1.levels[_arg1.currentLevel].mapBordersColor; worldBorders.transform.colorTransform = _local3; } else { if (contains(worldBorders)){ removeChild(worldBorders); }; }; if (_arg1.levels[_arg1.currentLevel].mapShape){ _local4 = worldShape.transform.colorTransform; _local4.color = _arg1.levels[_arg1.currentLevel].mapShapeColor; worldShape.transform.colorTransform = _local4; } else { if (contains(worldShape)){ removeChild(worldShape); }; }; } } }//package
Section 58
//WorldBackground (WorldBackground) package { import flash.events.*; import flash.display.*; import flash.utils.*; public class WorldBackground extends MovieClip { public function WorldBackground():void{ alpha = 0.5; } public function init():void{ } public function dispose():void{ } } }//package
Section 59
//WorldBorders (WorldBorders) package { import flash.display.*; public class WorldBorders extends MovieClip { public function WorldBorders():void{ } public function init():void{ } public function dispose():void{ } } }//package
Section 60
//WorldShape (WorldShape) package { import flash.display.*; public class WorldShape extends MovieClip { public function WorldShape():void{ } public function init():void{ } public function dispose():void{ } } }//package

Library Items

Symbol 1 Sound {loops.SoundLoop6}
Symbol 2 Sound {fxs.Fx5}
Symbol 3 Sound {loops.SoundLoop5}
Symbol 4 Sound {loops.SoundLoop4}
Symbol 5 Sound {fxs.Fx4}
Symbol 6 Sound {loops.SoundLoop3}
Symbol 7 Sound {fxs.Fx3}
Symbol 8 Sound {loops.SoundLoop2}
Symbol 9 Sound {fxs.Fx2}
Symbol 10 Sound {loops.SoundLoop17}
Symbol 11 Sound {loops.SoundLoop16}
Symbol 12 Sound {loops.SoundLoop15}
Symbol 13 Sound {loops.SoundLoop14}
Symbol 14 Sound {loops.SoundLoop13}
Symbol 15 Sound {loops.SoundLoop11}
Symbol 16 Sound {loops.SoundLoop10}
Symbol 17 Sound {fxs.Fx1}
Symbol 18 Sound {loops.SoundLoop1}
Symbol 19 FontUsed by:20 23 27 29 30 31 32 36 40 41 42 43 45 49 50 51 52 55 59 64 66 67 68 69 70 71 72 73 74 75 76 79 85 86 99 100 101 102 103 104 109 110 111 112
Symbol 20 EditableTextUses:19Used by:21
Symbol 21 MovieClip {TrailerText}Uses:20
Symbol 22 GraphicUsed by:38
Symbol 23 TextUses:19Used by:24
Symbol 24 MovieClipUses:23Used by:25
Symbol 25 MovieClip {game_fla.SavingSymbol_32}Uses:24Used by:38 44
Symbol 26 GraphicUsed by:28 46 56 65
Symbol 27 TextUses:19Used by:28
Symbol 28 MovieClipUses:26 27Used by:38 44
Symbol 29 EditableTextUses:19Used by:38
Symbol 30 TextUses:19Used by:38 44
Symbol 31 TextUses:19Used by:38
Symbol 32 TextUses:19Used by:38
Symbol 33 FontUsed by:34 47
Symbol 34 TextUses:33Used by:38 44
Symbol 35 GraphicUsed by:37
Symbol 36 TextUses:19Used by:37
Symbol 37 MovieClipUses:35 36Used by:38 44 53
Symbol 38 MovieClip {Win}Uses:22 25 28 29 30 31 32 34 37
Symbol 39 GraphicUsed by:44
Symbol 40 EditableTextUses:19Used by:44
Symbol 41 EditableTextUses:19Used by:44
Symbol 42 TextUses:19Used by:44
Symbol 43 TextUses:19Used by:44
Symbol 44 MovieClip {End}Uses:39 25 28 37 40 30 41 42 43 34
Symbol 45 TextUses:19Used by:46
Symbol 46 MovieClipUses:26 45Used by:53
Symbol 47 TextUses:33Used by:53
Symbol 48 GraphicUsed by:53
Symbol 49 EditableTextUses:19Used by:53
Symbol 50 EditableTextUses:19Used by:53
Symbol 51 TextUses:19Used by:53
Symbol 52 TextUses:19Used by:53
Symbol 53 MovieClip {Splash}Uses:46 37 47 48 49 50 51 52
Symbol 54 GraphicUsed by:60 78
Symbol 55 TextUses:19Used by:56
Symbol 56 MovieClipUses:26 55Used by:60
Symbol 57 FontUsed by:58
Symbol 58 EditableTextUses:57Used by:60
Symbol 59 EditableTextUses:19Used by:60
Symbol 60 MovieClip {Alertbox}Uses:54 56 58 59
Symbol 61 GraphicUsed by:65
Symbol 62 GraphicUsed by:63 106 107
Symbol 63 MovieClipUses:62Used by:65
Symbol 64 TextUses:19Used by:65
Symbol 65 MovieClip {NextButton}Uses:61 63 26 64Used by:78
Symbol 66 EditableTextUses:19Used by:78
Symbol 67 EditableTextUses:19Used by:78
Symbol 68 EditableTextUses:19Used by:78
Symbol 69 EditableTextUses:19Used by:78
Symbol 70 EditableTextUses:19Used by:78
Symbol 71 TextUses:19Used by:78
Symbol 72 TextUses:19Used by:78
Symbol 73 TextUses:19Used by:78
Symbol 74 EditableTextUses:19Used by:78
Symbol 75 TextUses:19Used by:78
Symbol 76 EditableTextUses:19Used by:78
Symbol 77 GraphicUsed by:78
Symbol 78 MovieClip {Infobox}Uses:54 65 66 67 68 69 70 71 72 73 74 75 76 77
Symbol 79 EditableTextUses:19Used by:80
Symbol 80 MovieClip {TargetText}Uses:79Used by:114
Symbol 81 GraphicUsed by:82
Symbol 82 MovieClipUses:81Used by:89
Symbol 83 GraphicUsed by:84
Symbol 84 MovieClipUses:83Used by:89
Symbol 85 EditableTextUses:19Used by:89
Symbol 86 EditableTextUses:19Used by:89
Symbol 87 GraphicUsed by:88
Symbol 88 MovieClipUses:87Used by:89
Symbol 89 MovieClip {Timerbar}Uses:82 84 85 86 88Used by:114
Symbol 90 GraphicUsed by:91
Symbol 91 MovieClipUses:90Used by:92
Symbol 92 MovieClip {World}Uses:91Used by:93
Symbol 93 MovieClip {Map}Uses:92Used by:114
Symbol 94 GraphicUsed by:95
Symbol 95 MovieClipUses:94Used by:114
Symbol 96 GraphicUsed by:97
Symbol 97 MovieClipUses:96Used by:114
Symbol 98 GraphicUsed by:107
Symbol 99 TextUses:19Used by:107
Symbol 100 TextUses:19Used by:107
Symbol 101 TextUses:19Used by:107
Symbol 102 EditableTextUses:19Used by:107
Symbol 103 EditableTextUses:19Used by:107
Symbol 104 EditableTextUses:19Used by:107
Symbol 105 GraphicUsed by:107
Symbol 106 MovieClipUses:62Used by:107
Symbol 107 MovieClip {Statusbox}Uses:98 99 100 101 102 103 104 105 106 62Used by:114
Symbol 108 GraphicUsed by:113
Symbol 109 TextUses:19Used by:113
Symbol 110 TextUses:19Used by:113
Symbol 111 EditableTextUses:19Used by:113
Symbol 112 EditableTextUses:19Used by:113
Symbol 113 MovieClip {Scorebox}Uses:108 109 110 111 112Used by:114
Symbol 114 MovieClip {Board}Uses:93 95 97 89 80 107 113
Symbol 115 GraphicUsed by:125
Symbol 116 GraphicUsed by:125
Symbol 117 GraphicUsed by:125
Symbol 118 GraphicUsed by:125
Symbol 119 GraphicUsed by:125
Symbol 120 GraphicUsed by:125
Symbol 121 GraphicUsed by:125
Symbol 122 GraphicUsed by:125
Symbol 123 GraphicUsed by:125
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClip {RedFlag}Uses:115 116 117 118 119 120 121 122 123 124
Symbol 126 GraphicUsed by:136
Symbol 127 GraphicUsed by:136
Symbol 128 GraphicUsed by:136
Symbol 129 GraphicUsed by:136
Symbol 130 GraphicUsed by:136
Symbol 131 GraphicUsed by:136
Symbol 132 GraphicUsed by:136
Symbol 133 GraphicUsed by:136
Symbol 134 GraphicUsed by:136
Symbol 135 GraphicUsed by:136
Symbol 136 MovieClip {GreenFlag}Uses:126 127 128 129 130 131 132 133 134 135
Symbol 137 GraphicUsed by:138
Symbol 138 MovieClip {WorldBorders}Uses:137
Symbol 139 BitmapUsed by:140
Symbol 140 GraphicUses:139Used by:141
Symbol 141 MovieClip {WorldBackground}Uses:140
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClip {WorldShape}Uses:142
Symbol 144 MovieClip {com.kongregate.as3.client.KongregateAPI}Used by:Timeline
Symbol 145 GraphicUsed by:148
Symbol 146 GraphicUsed by:147
Symbol 147 MovieClipUses:146Used by:148
Symbol 148 MovieClipUses:145 147Used by:149
Symbol 149 MovieClipUses:148Used by:Timeline

Instance Names

"title"Symbol 21 MovieClip {TrailerText} Frame 1Symbol 20 EditableText
"playAgainButton"Symbol 38 MovieClip {Win} Frame 1Symbol 28 MovieClip
"scoreText"Symbol 38 MovieClip {Win} Frame 1Symbol 29 EditableText
"playMoreButton"Symbol 38 MovieClip {Win} Frame 1Symbol 37 MovieClip
"playAgainButton"Symbol 44 MovieClip {End} Frame 1Symbol 28 MovieClip
"playMoreButton"Symbol 44 MovieClip {End} Frame 1Symbol 37 MovieClip
"scoreText"Symbol 44 MovieClip {End} Frame 1Symbol 40 EditableText
"levelText"Symbol 44 MovieClip {End} Frame 1Symbol 41 EditableText
"startButton"Symbol 53 MovieClip {Splash} Frame 1Symbol 46 MovieClip
"playMoreButton"Symbol 53 MovieClip {Splash} Frame 1Symbol 37 MovieClip
"title"Symbol 53 MovieClip {Splash} Frame 1Symbol 49 EditableText
"goal"Symbol 53 MovieClip {Splash} Frame 1Symbol 50 EditableText
"continueButton"Symbol 60 MovieClip {Alertbox} Frame 1Symbol 56 MovieClip
"body"Symbol 60 MovieClip {Alertbox} Frame 1Symbol 58 EditableText
"title"Symbol 60 MovieClip {Alertbox} Frame 1Symbol 59 EditableText
"nextButtonMask"Symbol 65 MovieClip {NextButton} Frame 1Symbol 63 MovieClip
"nextButton"Symbol 78 MovieClip {Infobox} Frame 1Symbol 65 MovieClip {NextButton}
"title"Symbol 78 MovieClip {Infobox} Frame 1Symbol 66 EditableText
"total"Symbol 78 MovieClip {Infobox} Frame 1Symbol 67 EditableText
"bonusTime"Symbol 78 MovieClip {Infobox} Frame 1Symbol 68 EditableText
"radius"Symbol 78 MovieClip {Infobox} Frame 1Symbol 69 EditableText
"scoreRadius"Symbol 78 MovieClip {Infobox} Frame 1Symbol 70 EditableText
"target"Symbol 78 MovieClip {Infobox} Frame 1Symbol 74 EditableText
"bonusRadius"Symbol 78 MovieClip {Infobox} Frame 1Symbol 76 EditableText
"title"Symbol 80 MovieClip {TargetText} Frame 1Symbol 79 EditableText
"timerbarMask"Symbol 89 MovieClip {Timerbar} Frame 1Symbol 82 MovieClip
"timerbarBar"Symbol 89 MovieClip {Timerbar} Frame 1Symbol 84 MovieClip
"title"Symbol 89 MovieClip {Timerbar} Frame 1Symbol 85 EditableText
"interpret"Symbol 89 MovieClip {Timerbar} Frame 1Symbol 86 EditableText
"volume"Symbol 89 MovieClip {Timerbar} Frame 1Symbol 88 MovieClip
"world"Symbol 93 MovieClip {Map} Frame 1Symbol 92 MovieClip {World}
"yours"Symbol 107 MovieClip {Statusbox} Frame 1Symbol 102 EditableText
"required"Symbol 107 MovieClip {Statusbox} Frame 1Symbol 103 EditableText
"target"Symbol 107 MovieClip {Statusbox} Frame 1Symbol 104 EditableText
"levelscoreMask"Symbol 107 MovieClip {Statusbox} Frame 1Symbol 106 MovieClip
"level"Symbol 113 MovieClip {Scorebox} Frame 1Symbol 111 EditableText
"score"Symbol 113 MovieClip {Scorebox} Frame 1Symbol 112 EditableText
"map"Symbol 114 MovieClip {Board} Frame 1Symbol 93 MovieClip {Map}
"top"Symbol 114 MovieClip {Board} Frame 1Symbol 95 MovieClip
"bottom"Symbol 114 MovieClip {Board} Frame 1Symbol 97 MovieClip
"timerbar"Symbol 114 MovieClip {Board} Frame 1Symbol 89 MovieClip {Timerbar}
"targetText"Symbol 114 MovieClip {Board} Frame 1Symbol 80 MovieClip {TargetText}
"statusbox"Symbol 114 MovieClip {Board} Frame 1Symbol 107 MovieClip {Statusbox}
"scorebox"Symbol 114 MovieClip {Board} Frame 1Symbol 113 MovieClip {Scorebox}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS3.




http://swfchan.com/42/205285/info.shtml
Created: 25/7 -2019 07:40:53 Last modified: 25/7 -2019 07:40:53 Server time: 16/04 -2024 20:18:41