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

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

hostage-crisis.swf

This is the info page for
Flash #123230

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


Text
www.kongregate.com

www.kongregate.com

ActionScript [AS3]

Section 1
//BitmapAsset (mx.core.BitmapAsset) package mx.core { import flash.display.*; public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject { mx_internal static const VERSION:String = "3.4.1.10084"; public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } public function get measuredWidth():Number{ if (bitmapData){ return (bitmapData.width); }; return (0); } public function get measuredHeight():Number{ if (bitmapData){ return (bitmapData.height); }; return (0); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } } }//package mx.core
Section 2
//EdgeMetrics (mx.core.EdgeMetrics) package mx.core { public class EdgeMetrics { public var top:Number; public var left:Number; public var bottom:Number; public var right:Number; mx_internal static const VERSION:String = "3.4.1.10084"; public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); ; public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){ this.left = _arg1; this.top = _arg2; this.right = _arg3; this.bottom = _arg4; } public function clone():EdgeMetrics{ return (new EdgeMetrics(left, top, right, bottom)); } } }//package mx.core
Section 3
//FlexBitmap (mx.core.FlexBitmap) package mx.core { import flash.display.*; import mx.utils.*; public class FlexBitmap extends Bitmap { mx_internal static const VERSION:String = "3.4.1.10084"; public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ var bitmapData = _arg1; var pixelSnapping = _arg2; var smoothing = _arg3; super(bitmapData, pixelSnapping, smoothing); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 4
//FlexLoader (mx.core.FlexLoader) package mx.core { import flash.display.*; import mx.utils.*; public class FlexLoader extends Loader { mx_internal static const VERSION:String = "3.4.1.10084"; public function FlexLoader(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 5
//FlexMovieClip (mx.core.FlexMovieClip) package mx.core { import flash.display.*; import mx.utils.*; public class FlexMovieClip extends MovieClip { mx_internal static const VERSION:String = "3.4.1.10084"; public function FlexMovieClip(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 6
//FlexShape (mx.core.FlexShape) package mx.core { import flash.display.*; import mx.utils.*; public class FlexShape extends Shape { mx_internal static const VERSION:String = "3.4.1.10084"; public function FlexShape(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 7
//FlexVersion (mx.core.FlexVersion) package mx.core { import mx.resources.*; public class FlexVersion { public static const VERSION_2_0_1:uint = 33554433; public static const CURRENT_VERSION:uint = 50331648; public static const VERSION_3_0:uint = 50331648; public static const VERSION_2_0:uint = 33554432; public static const VERSION_ALREADY_READ:String = "versionAlreadyRead"; public static const VERSION_ALREADY_SET:String = "versionAlreadySet"; mx_internal static const VERSION:String = "3.4.1.10084"; private static var compatibilityVersionChanged:Boolean = false; private static var _compatibilityErrorFunction:Function; private static var _compatibilityVersion:uint = 50331648; private static var compatibilityVersionRead:Boolean = false; mx_internal static function changeCompatibilityVersionString(_arg1:String):void{ var _local2:Array = _arg1.split("."); var _local3:uint = parseInt(_local2[0]); var _local4:uint = parseInt(_local2[1]); var _local5:uint = parseInt(_local2[2]); _compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5); } public static function set compatibilityVersion(_arg1:uint):void{ var _local2:String; if (_arg1 == _compatibilityVersion){ return; }; if (compatibilityVersionChanged){ if (compatibilityErrorFunction == null){ _local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_SET); throw (new Error(_local2)); }; compatibilityErrorFunction(_arg1, VERSION_ALREADY_SET); }; if (compatibilityVersionRead){ if (compatibilityErrorFunction == null){ _local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_READ); throw (new Error(_local2)); }; compatibilityErrorFunction(_arg1, VERSION_ALREADY_READ); }; _compatibilityVersion = _arg1; compatibilityVersionChanged = true; } public static function get compatibilityVersion():uint{ compatibilityVersionRead = true; return (_compatibilityVersion); } public static function set compatibilityErrorFunction(_arg1:Function):void{ _compatibilityErrorFunction = _arg1; } public static function set compatibilityVersionString(_arg1:String):void{ var _local2:Array = _arg1.split("."); var _local3:uint = parseInt(_local2[0]); var _local4:uint = parseInt(_local2[1]); var _local5:uint = parseInt(_local2[2]); compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5); } public static function get compatibilityErrorFunction():Function{ return (_compatibilityErrorFunction); } public static function get compatibilityVersionString():String{ var _local1:uint = ((compatibilityVersion >> 24) & 0xFF); var _local2:uint = ((compatibilityVersion >> 16) & 0xFF); var _local3:uint = (compatibilityVersion & 0xFFFF); return (((((_local1.toString() + ".") + _local2.toString()) + ".") + _local3.toString())); } } }//package mx.core
Section 8
//FontAsset (mx.core.FontAsset) package mx.core { import flash.text.*; public class FontAsset extends Font implements IFlexAsset { mx_internal static const VERSION:String = "3.4.1.10084"; } }//package mx.core
Section 9
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 10
//IButton (mx.core.IButton) package mx.core { public interface IButton extends IUIComponent { function get emphasized():Boolean; function set emphasized(_arg1:Boolean):void; function callLater(_arg1:Function, _arg2:Array=null):void; } }//package mx.core
Section 11
//IChildList (mx.core.IChildList) package mx.core { import flash.display.*; import flash.geom.*; public interface IChildList { function get numChildren():int; function removeChild(_arg1:DisplayObject):DisplayObject; function getChildByName(_arg1:String):DisplayObject; function removeChildAt(_arg1:int):DisplayObject; function getChildIndex(_arg1:DisplayObject):int; function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject; function getObjectsUnderPoint(_arg1:Point):Array; function setChildIndex(_arg1:DisplayObject, _arg2:int):void; function getChildAt(_arg1:int):DisplayObject; function addChild(_arg1:DisplayObject):DisplayObject; function contains(_arg1:DisplayObject):Boolean; } }//package mx.core
Section 12
//IContainer (mx.core.IContainer) package mx.core { import flash.display.*; import flash.geom.*; import mx.managers.*; import flash.media.*; import flash.text.*; public interface IContainer extends IUIComponent { function set hitArea(_arg1:Sprite):void; function swapChildrenAt(_arg1:int, _arg2:int):void; function getChildByName(_arg1:String):DisplayObject; function get doubleClickEnabled():Boolean; function get graphics():Graphics; function get useHandCursor():Boolean; function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject; function set mouseChildren(_arg1:Boolean):void; function set creatingContentPane(_arg1:Boolean):void; function get textSnapshot():TextSnapshot; function getChildIndex(_arg1:DisplayObject):int; function set doubleClickEnabled(_arg1:Boolean):void; function getObjectsUnderPoint(_arg1:Point):Array; function get creatingContentPane():Boolean; function setChildIndex(_arg1:DisplayObject, _arg2:int):void; function get soundTransform():SoundTransform; function set useHandCursor(_arg1:Boolean):void; function get numChildren():int; function contains(_arg1:DisplayObject):Boolean; function get verticalScrollPosition():Number; function set defaultButton(_arg1:IFlexDisplayObject):void; function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void; function set horizontalScrollPosition(_arg1:Number):void; function get focusManager():IFocusManager; function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void; function set mouseEnabled(_arg1:Boolean):void; function getChildAt(_arg1:int):DisplayObject; function set soundTransform(_arg1:SoundTransform):void; function get tabChildren():Boolean; function get tabIndex():int; function set focusRect(_arg1:Object):void; function get hitArea():Sprite; function get mouseChildren():Boolean; function removeChildAt(_arg1:int):DisplayObject; function get defaultButton():IFlexDisplayObject; function stopDrag():void; function set tabEnabled(_arg1:Boolean):void; function get horizontalScrollPosition():Number; function get focusRect():Object; function get viewMetrics():EdgeMetrics; function set verticalScrollPosition(_arg1:Number):void; function get dropTarget():DisplayObject; function get mouseEnabled():Boolean; function set tabChildren(_arg1:Boolean):void; function set buttonMode(_arg1:Boolean):void; function get tabEnabled():Boolean; function get buttonMode():Boolean; function removeChild(_arg1:DisplayObject):DisplayObject; function set tabIndex(_arg1:int):void; function addChild(_arg1:DisplayObject):DisplayObject; function areInaccessibleObjectsUnderPoint(_arg1:Point):Boolean; } }//package mx.core
Section 13
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 14
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.accessibility.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(_arg1:Point):Point; function get name():String; function set width(_arg1:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(_arg1:String):void; function set scaleX(_arg1:Number):void; function set scaleY(_arg1:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(_arg1:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(_arg1:Point):Point; function get height():Number; function set blendMode(_arg1:String):void; function get parent():DisplayObjectContainer; function getBounds(_arg1:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(_arg1:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(_arg1:Number):void; function set accessibilityProperties(_arg1:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(_arg1:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(_arg1:Number):void; function set mask(_arg1:DisplayObject):void; function getRect(_arg1:DisplayObject):Rectangle; function get alpha():Number; function set transform(_arg1:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(_arg1:DisplayObject):Boolean; function set opaqueBackground(_arg1:Object):void; function set visible(_arg1:Boolean):void; function get mask():DisplayObject; function set x(_arg1:Number):void; function set y(_arg1:Number):void; function get transform():Transform; function set filters(_arg1:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(_arg1:Number):void; function get stage():Stage; } }//package mx.core
Section 15
//IFlexModuleFactory (mx.core.IFlexModuleFactory) package mx.core { import flash.utils.*; public interface IFlexModuleFactory { function get preloadedRSLs():Dictionary; function allowInsecureDomain(... _args):void; function create(... _args):Object; function allowDomain(... _args):void; function info():Object; } }//package mx.core
Section 16
//IInvalidating (mx.core.IInvalidating) package mx.core { public interface IInvalidating { function validateNow():void; function invalidateSize():void; function invalidateDisplayList():void; function invalidateProperties():void; } }//package mx.core
Section 17
//IProgrammaticSkin (mx.core.IProgrammaticSkin) package mx.core { public interface IProgrammaticSkin { function validateNow():void; function validateDisplayList():void; } }//package mx.core
Section 18
//IRawChildrenContainer (mx.core.IRawChildrenContainer) package mx.core { public interface IRawChildrenContainer { function get rawChildren():IChildList; } }//package mx.core
Section 19
//IRectangularBorder (mx.core.IRectangularBorder) package mx.core { import flash.geom.*; public interface IRectangularBorder extends IBorder { function get backgroundImageBounds():Rectangle; function get hasBackgroundImage():Boolean; function set backgroundImageBounds(_arg1:Rectangle):void; function layoutBackgroundImage():void; } }//package mx.core
Section 20
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(_arg1:Array):void; function get isDocument():Boolean; function set repeaters(_arg1:Array):void; function initializeRepeaterArrays(_arg1:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(_arg1:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 21
//ISWFBridgeGroup (mx.core.ISWFBridgeGroup) package mx.core { import flash.events.*; public interface ISWFBridgeGroup { function getChildBridgeProvider(_arg1:IEventDispatcher):ISWFBridgeProvider; function removeChildBridge(_arg1:IEventDispatcher):void; function get parentBridge():IEventDispatcher; function addChildBridge(_arg1:IEventDispatcher, _arg2:ISWFBridgeProvider):void; function set parentBridge(_arg1:IEventDispatcher):void; function containsBridge(_arg1:IEventDispatcher):Boolean; function getChildBridges():Array; } }//package mx.core
Section 22
//ISWFBridgeProvider (mx.core.ISWFBridgeProvider) package mx.core { import flash.events.*; public interface ISWFBridgeProvider { function get childAllowsParent():Boolean; function get swfBridge():IEventDispatcher; function get parentAllowsChild():Boolean; } }//package mx.core
Section 23
//IUIComponent (mx.core.IUIComponent) package mx.core { import flash.display.*; import mx.managers.*; public interface IUIComponent extends IFlexDisplayObject { function set focusPane(_arg1:Sprite):void; function get enabled():Boolean; function set enabled(_arg1:Boolean):void; function set isPopUp(_arg1:Boolean):void; function get explicitMinHeight():Number; function get percentWidth():Number; function get isPopUp():Boolean; function get owner():DisplayObjectContainer; function get percentHeight():Number; function get baselinePosition():Number; function owns(_arg1:DisplayObject):Boolean; function initialize():void; function get maxWidth():Number; function get minWidth():Number; function getExplicitOrMeasuredWidth():Number; function get explicitMaxWidth():Number; function get explicitMaxHeight():Number; function set percentHeight(_arg1:Number):void; function get minHeight():Number; function set percentWidth(_arg1:Number):void; function get document():Object; function get focusPane():Sprite; function getExplicitOrMeasuredHeight():Number; function set tweeningProperties(_arg1:Array):void; function set explicitWidth(_arg1:Number):void; function set measuredMinHeight(_arg1:Number):void; function get explicitMinWidth():Number; function get tweeningProperties():Array; function get maxHeight():Number; function set owner(_arg1:DisplayObjectContainer):void; function set includeInLayout(_arg1:Boolean):void; function setVisible(_arg1:Boolean, _arg2:Boolean=false):void; function parentChanged(_arg1:DisplayObjectContainer):void; function get explicitWidth():Number; function get measuredMinHeight():Number; function set measuredMinWidth(_arg1:Number):void; function set explicitHeight(_arg1:Number):void; function get includeInLayout():Boolean; function get measuredMinWidth():Number; function get explicitHeight():Number; function set systemManager(_arg1:ISystemManager):void; function set document(_arg1:Object):void; function get systemManager():ISystemManager; } }//package mx.core
Section 24
//MovieClipAsset (mx.core.MovieClipAsset) package mx.core { public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.4.1.10084"; public function MovieClipAsset(){ _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 25
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 26
//Singleton (mx.core.Singleton) package mx.core { public class Singleton { mx_internal static const VERSION:String = "3.4.1.10084"; private static var classMap:Object = {}; public static function registerClass(_arg1:String, _arg2:Class):void{ var _local3:Class = classMap[_arg1]; if (!_local3){ classMap[_arg1] = _arg2; }; } public static function getClass(_arg1:String):Class{ return (classMap[_arg1]); } public static function getInstance(_arg1:String):Object{ var _local2:Class = classMap[_arg1]; if (!_local2){ throw (new Error((("No class registered for interface '" + _arg1) + "'."))); }; return (_local2["getInstance"]()); } } }//package mx.core
Section 27
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "3.4.1.10084"; } }//package mx.core
Section 28
//UIComponentGlobals (mx.core.UIComponentGlobals) package mx.core { import flash.display.*; import flash.geom.*; import mx.managers.*; public class UIComponentGlobals { mx_internal static var callLaterSuspendCount:int = 0; mx_internal static var layoutManager:ILayoutManager; mx_internal static var nextFocusObject:InteractiveObject; mx_internal static var designTime:Boolean = false; mx_internal static var tempMatrix:Matrix = new Matrix(); mx_internal static var callLaterDispatcherCount:int = 0; private static var _catchCallLaterExceptions:Boolean = false; public static function set catchCallLaterExceptions(_arg1:Boolean):void{ _catchCallLaterExceptions = _arg1; } public static function get designMode():Boolean{ return (designTime); } public static function set designMode(_arg1:Boolean):void{ designTime = _arg1; } public static function get catchCallLaterExceptions():Boolean{ return (_catchCallLaterExceptions); } } }//package mx.core
Section 29
//ModuleEvent (mx.events.ModuleEvent) package mx.events { import flash.events.*; import mx.modules.*; public class ModuleEvent extends ProgressEvent { public var errorText:String; private var _module:IModuleInfo; public static const READY:String = "ready"; public static const ERROR:String = "error"; public static const PROGRESS:String = "progress"; mx_internal static const VERSION:String = "3.4.1.10084"; public static const SETUP:String = "setup"; public static const UNLOAD:String = "unload"; public function ModuleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null, _arg7:IModuleInfo=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); this.errorText = _arg6; this._module = _arg7; } public function get module():IModuleInfo{ if (_module){ return (_module); }; return ((target as IModuleInfo)); } override public function clone():Event{ return (new ModuleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText, module)); } } }//package mx.events
Section 30
//ResourceEvent (mx.events.ResourceEvent) package mx.events { import flash.events.*; public class ResourceEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.4.1.10084"; public static const COMPLETE:String = "complete"; public static const PROGRESS:String = "progress"; public static const ERROR:String = "error"; public function ResourceEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); this.errorText = _arg6; } override public function clone():Event{ return (new ResourceEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText)); } } }//package mx.events
Section 31
//StyleEvent (mx.events.StyleEvent) package mx.events { import flash.events.*; public class StyleEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.4.1.10084"; public static const COMPLETE:String = "complete"; public static const PROGRESS:String = "progress"; public static const ERROR:String = "error"; public function StyleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); this.errorText = _arg6; } override public function clone():Event{ return (new StyleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText)); } } }//package mx.events
Section 32
//RectangularDropShadow (mx.graphics.RectangularDropShadow) package mx.graphics { import mx.core.*; import flash.display.*; import flash.geom.*; import mx.utils.*; import flash.filters.*; public class RectangularDropShadow { private var leftShadow:BitmapData; private var _tlRadius:Number;// = 0 private var _trRadius:Number;// = 0 private var _angle:Number;// = 45 private var topShadow:BitmapData; private var _distance:Number;// = 4 private var rightShadow:BitmapData; private var _alpha:Number;// = 0.4 private var shadow:BitmapData; private var _brRadius:Number;// = 0 private var _blRadius:Number;// = 0 private var _color:int;// = 0 private var bottomShadow:BitmapData; private var changed:Boolean;// = true mx_internal static const VERSION:String = "3.4.1.10084"; public function get blRadius():Number{ return (_blRadius); } public function set brRadius(_arg1:Number):void{ if (_brRadius != _arg1){ _brRadius = _arg1; changed = true; }; } public function set color(_arg1:int):void{ if (_color != _arg1){ _color = _arg1; changed = true; }; } public function drawShadow(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; if (changed){ createShadowBitmaps(); changed = false; }; _arg4 = Math.ceil(_arg4); _arg5 = Math.ceil(_arg5); var _local6:int = (leftShadow) ? leftShadow.width : 0; var _local7:int = (rightShadow) ? rightShadow.width : 0; var _local8:int = (topShadow) ? topShadow.height : 0; var _local9:int = (bottomShadow) ? bottomShadow.height : 0; var _local10:int = (_local6 + _local7); var _local11:int = (_local8 + _local9); var _local12:Number = ((_arg5 + _local11) / 2); var _local13:Number = ((_arg4 + _local10) / 2); var _local14:Matrix = new Matrix(); if (((leftShadow) || (topShadow))){ _local15 = Math.min((tlRadius + _local10), _local13); _local16 = Math.min((tlRadius + _local11), _local12); _local14.tx = (_arg2 - _local6); _local14.ty = (_arg3 - _local8); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((_arg2 - _local6), (_arg3 - _local8), _local15, _local16); _arg1.endFill(); }; if (((rightShadow) || (topShadow))){ _local17 = Math.min((trRadius + _local10), _local13); _local18 = Math.min((trRadius + _local11), _local12); _local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width); _local14.ty = (_arg3 - _local8); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((((_arg2 + _arg4) + _local7) - _local17), (_arg3 - _local8), _local17, _local18); _arg1.endFill(); }; if (((leftShadow) || (bottomShadow))){ _local19 = Math.min((blRadius + _local10), _local13); _local20 = Math.min((blRadius + _local11), _local12); _local14.tx = (_arg2 - _local6); _local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((_arg2 - _local6), (((_arg3 + _arg5) + _local9) - _local20), _local19, _local20); _arg1.endFill(); }; if (((rightShadow) || (bottomShadow))){ _local21 = Math.min((brRadius + _local10), _local13); _local22 = Math.min((brRadius + _local11), _local12); _local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width); _local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((((_arg2 + _arg4) + _local7) - _local21), (((_arg3 + _arg5) + _local9) - _local22), _local21, _local22); _arg1.endFill(); }; if (leftShadow){ _local14.tx = (_arg2 - _local6); _local14.ty = 0; _arg1.beginBitmapFill(leftShadow, _local14); _arg1.drawRect((_arg2 - _local6), ((_arg3 - _local8) + _local16), _local6, ((((_arg5 + _local8) + _local9) - _local16) - _local20)); _arg1.endFill(); }; if (rightShadow){ _local14.tx = (_arg2 + _arg4); _local14.ty = 0; _arg1.beginBitmapFill(rightShadow, _local14); _arg1.drawRect((_arg2 + _arg4), ((_arg3 - _local8) + _local18), _local7, ((((_arg5 + _local8) + _local9) - _local18) - _local22)); _arg1.endFill(); }; if (topShadow){ _local14.tx = 0; _local14.ty = (_arg3 - _local8); _arg1.beginBitmapFill(topShadow, _local14); _arg1.drawRect(((_arg2 - _local6) + _local15), (_arg3 - _local8), ((((_arg4 + _local6) + _local7) - _local15) - _local17), _local8); _arg1.endFill(); }; if (bottomShadow){ _local14.tx = 0; _local14.ty = (_arg3 + _arg5); _arg1.beginBitmapFill(bottomShadow, _local14); _arg1.drawRect(((_arg2 - _local6) + _local19), (_arg3 + _arg5), ((((_arg4 + _local6) + _local7) - _local19) - _local21), _local9); _arg1.endFill(); }; } public function get brRadius():Number{ return (_brRadius); } public function get angle():Number{ return (_angle); } private function createShadowBitmaps():void{ var _local1:Number = ((Math.max(tlRadius, blRadius) + (2 * distance)) + Math.max(trRadius, brRadius)); var _local2:Number = ((Math.max(tlRadius, trRadius) + (2 * distance)) + Math.max(blRadius, brRadius)); if ((((_local1 < 0)) || ((_local2 < 0)))){ return; }; var _local3:Shape = new FlexShape(); var _local4:Graphics = _local3.graphics; _local4.beginFill(0xFFFFFF); GraphicsUtil.drawRoundRectComplex(_local4, 0, 0, _local1, _local2, tlRadius, trRadius, blRadius, brRadius); _local4.endFill(); var _local5:BitmapData = new BitmapData(_local1, _local2, true, 0); _local5.draw(_local3, new Matrix()); var _local6:DropShadowFilter = new DropShadowFilter(distance, angle, color, alpha); _local6.knockout = true; var _local7:Rectangle = new Rectangle(0, 0, _local1, _local2); var _local8:Rectangle = _local5.generateFilterRect(_local7, _local6); var _local9:Number = (_local7.left - _local8.left); var _local10:Number = (_local8.right - _local7.right); var _local11:Number = (_local7.top - _local8.top); var _local12:Number = (_local8.bottom - _local7.bottom); shadow = new BitmapData(_local8.width, _local8.height); shadow.applyFilter(_local5, _local7, new Point(_local9, _local11), _local6); var _local13:Point = new Point(0, 0); var _local14:Rectangle = new Rectangle(); if (_local9 > 0){ _local14.x = 0; _local14.y = ((tlRadius + _local11) + _local12); _local14.width = _local9; _local14.height = 1; leftShadow = new BitmapData(_local9, 1); leftShadow.copyPixels(shadow, _local14, _local13); } else { leftShadow = null; }; if (_local10 > 0){ _local14.x = (shadow.width - _local10); _local14.y = ((trRadius + _local11) + _local12); _local14.width = _local10; _local14.height = 1; rightShadow = new BitmapData(_local10, 1); rightShadow.copyPixels(shadow, _local14, _local13); } else { rightShadow = null; }; if (_local11 > 0){ _local14.x = ((tlRadius + _local9) + _local10); _local14.y = 0; _local14.width = 1; _local14.height = _local11; topShadow = new BitmapData(1, _local11); topShadow.copyPixels(shadow, _local14, _local13); } else { topShadow = null; }; if (_local12 > 0){ _local14.x = ((blRadius + _local9) + _local10); _local14.y = (shadow.height - _local12); _local14.width = 1; _local14.height = _local12; bottomShadow = new BitmapData(1, _local12); bottomShadow.copyPixels(shadow, _local14, _local13); } else { bottomShadow = null; }; } public function get alpha():Number{ return (_alpha); } public function get color():int{ return (_color); } public function set angle(_arg1:Number):void{ if (_angle != _arg1){ _angle = _arg1; changed = true; }; } public function set trRadius(_arg1:Number):void{ if (_trRadius != _arg1){ _trRadius = _arg1; changed = true; }; } public function set tlRadius(_arg1:Number):void{ if (_tlRadius != _arg1){ _tlRadius = _arg1; changed = true; }; } public function get trRadius():Number{ return (_trRadius); } public function set distance(_arg1:Number):void{ if (_distance != _arg1){ _distance = _arg1; changed = true; }; } public function get distance():Number{ return (_distance); } public function get tlRadius():Number{ return (_tlRadius); } public function set alpha(_arg1:Number):void{ if (_alpha != _arg1){ _alpha = _arg1; changed = true; }; } public function set blRadius(_arg1:Number):void{ if (_blRadius != _arg1){ _blRadius = _arg1; changed = true; }; } } }//package mx.graphics
Section 33
//IFocusManager (mx.managers.IFocusManager) package mx.managers { import flash.events.*; import mx.core.*; import flash.display.*; public interface IFocusManager { function get focusPane():Sprite; function getFocus():IFocusManagerComponent; function deactivate():void; function set defaultButton(_arg1:IButton):void; function set focusPane(_arg1:Sprite):void; function set showFocusIndicator(_arg1:Boolean):void; function moveFocus(_arg1:String, _arg2:DisplayObject=null):void; function addSWFBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void; function removeSWFBridge(_arg1:IEventDispatcher):void; function get defaultButtonEnabled():Boolean; function findFocusManagerComponent(_arg1:InteractiveObject):IFocusManagerComponent; function get nextTabIndex():int; function get defaultButton():IButton; function get showFocusIndicator():Boolean; function setFocus(_arg1:IFocusManagerComponent):void; function activate():void; function showFocus():void; function set defaultButtonEnabled(_arg1:Boolean):void; function hideFocus():void; function getNextFocusManagerComponent(_arg1:Boolean=false):IFocusManagerComponent; } }//package mx.managers
Section 34
//IFocusManagerComponent (mx.managers.IFocusManagerComponent) package mx.managers { public interface IFocusManagerComponent { function set focusEnabled(_arg1:Boolean):void; function drawFocus(_arg1:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package mx.managers
Section 35
//IFocusManagerContainer (mx.managers.IFocusManagerContainer) package mx.managers { import flash.events.*; import flash.display.*; public interface IFocusManagerContainer extends IEventDispatcher { function set focusManager(_arg1:IFocusManager):void; function get focusManager():IFocusManager; function get systemManager():ISystemManager; function contains(_arg1:DisplayObject):Boolean; } }//package mx.managers
Section 36
//ILayoutManager (mx.managers.ILayoutManager) package mx.managers { import flash.events.*; public interface ILayoutManager extends IEventDispatcher { function validateNow():void; function validateClient(_arg1:ILayoutManagerClient, _arg2:Boolean=false):void; function isInvalid():Boolean; function invalidateDisplayList(_arg1:ILayoutManagerClient):void; function set usePhasedInstantiation(_arg1:Boolean):void; function invalidateSize(_arg1:ILayoutManagerClient):void; function get usePhasedInstantiation():Boolean; function invalidateProperties(_arg1:ILayoutManagerClient):void; } }//package mx.managers
Section 37
//ILayoutManagerClient (mx.managers.ILayoutManagerClient) package mx.managers { import flash.events.*; public interface ILayoutManagerClient extends IEventDispatcher { function get updateCompletePendingFlag():Boolean; function set updateCompletePendingFlag(_arg1:Boolean):void; function set initialized(_arg1:Boolean):void; function validateProperties():void; function validateDisplayList():void; function get nestLevel():int; function get initialized():Boolean; function get processedDescriptors():Boolean; function validateSize(_arg1:Boolean=false):void; function set nestLevel(_arg1:int):void; function set processedDescriptors(_arg1:Boolean):void; } }//package mx.managers
Section 38
//ISystemManager (mx.managers.ISystemManager) package mx.managers { import flash.events.*; import mx.core.*; import flash.display.*; import flash.geom.*; import flash.text.*; public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory { function set focusPane(_arg1:Sprite):void; function get toolTipChildren():IChildList; function useSWFBridge():Boolean; function isFontFaceEmbedded(_arg1:TextFormat):Boolean; function deployMouseShields(_arg1:Boolean):void; function get rawChildren():IChildList; function get topLevelSystemManager():ISystemManager; function dispatchEventFromSWFBridges(_arg1:Event, _arg2:IEventDispatcher=null, _arg3:Boolean=false, _arg4:Boolean=false):void; function getSandboxRoot():DisplayObject; function get swfBridgeGroup():ISWFBridgeGroup; function removeFocusManager(_arg1:IFocusManagerContainer):void; function addChildToSandboxRoot(_arg1:String, _arg2:DisplayObject):void; function get document():Object; function get focusPane():Sprite; function get loaderInfo():LoaderInfo; function addChildBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void; function getTopLevelRoot():DisplayObject; function removeChildBridge(_arg1:IEventDispatcher):void; function isDisplayObjectInABridgedApplication(_arg1:DisplayObject):Boolean; function get popUpChildren():IChildList; function get screen():Rectangle; function removeChildFromSandboxRoot(_arg1:String, _arg2:DisplayObject):void; function getDefinitionByName(_arg1:String):Object; function activate(_arg1:IFocusManagerContainer):void; function deactivate(_arg1:IFocusManagerContainer):void; function get cursorChildren():IChildList; function set document(_arg1:Object):void; function get embeddedFontList():Object; function set numModalWindows(_arg1:int):void; function isTopLevel():Boolean; function isTopLevelRoot():Boolean; function get numModalWindows():int; function addFocusManager(_arg1:IFocusManagerContainer):void; function get stage():Stage; function getVisibleApplicationRect(_arg1:Rectangle=null):Rectangle; } }//package mx.managers
Section 39
//SystemManagerGlobals (mx.managers.SystemManagerGlobals) package mx.managers { public class SystemManagerGlobals { public static var topLevelSystemManagers:Array = []; public static var changingListenersInOtherSystemManagers:Boolean; public static var bootstrapLoaderInfoURL:String; public static var showMouseCursor:Boolean; public static var dispatchingEventToOtherSystemManagers:Boolean; } }//package mx.managers
Section 40
//IModuleInfo (mx.modules.IModuleInfo) package mx.modules { import flash.events.*; import mx.core.*; import flash.utils.*; import flash.system.*; public interface IModuleInfo extends IEventDispatcher { function get ready():Boolean; function get loaded():Boolean; function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void; function release():void; function get error():Boolean; function get data():Object; function publish(_arg1:IFlexModuleFactory):void; function get factory():IFlexModuleFactory; function set data(_arg1:Object):void; function get url():String; function get setup():Boolean; function unload():void; } }//package mx.modules
Section 41
//ModuleManager (mx.modules.ModuleManager) package mx.modules { import mx.core.*; public class ModuleManager { mx_internal static const VERSION:String = "3.4.1.10084"; public static function getModule(_arg1:String):IModuleInfo{ return (getSingleton().getModule(_arg1)); } private static function getSingleton():Object{ if (!ModuleManagerGlobals.managerSingleton){ ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl(); }; return (ModuleManagerGlobals.managerSingleton); } public static function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{ return (getSingleton().getAssociatedFactory(_arg1)); } } }//package mx.modules import flash.events.*; import mx.core.*; import flash.utils.*; import flash.system.*; import flash.display.*; import mx.events.*; import flash.net.*; class ModuleInfoProxy extends EventDispatcher implements IModuleInfo { private var _data:Object; private var info:ModuleInfo; private var referenced:Boolean;// = false private function ModuleInfoProxy(_arg1:ModuleInfo){ this.info = _arg1; _arg1.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.UNLOAD, moduleEventHandler, false, 0, true); } public function get loaded():Boolean{ return (info.loaded); } public function release():void{ if (referenced){ info.removeReference(); referenced = false; }; } public function get error():Boolean{ return (info.error); } public function get factory():IFlexModuleFactory{ return (info.factory); } public function publish(_arg1:IFlexModuleFactory):void{ info.publish(_arg1); } public function set data(_arg1:Object):void{ _data = _arg1; } public function get ready():Boolean{ return (info.ready); } public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{ var _local4:ModuleEvent; info.resurrect(); if (!referenced){ info.addReference(); referenced = true; }; if (info.error){ dispatchEvent(new ModuleEvent(ModuleEvent.ERROR)); } else { if (info.loaded){ if (info.setup){ dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); if (info.ready){ _local4 = new ModuleEvent(ModuleEvent.PROGRESS); _local4.bytesLoaded = info.size; _local4.bytesTotal = info.size; dispatchEvent(_local4); dispatchEvent(new ModuleEvent(ModuleEvent.READY)); }; }; } else { info.load(_arg1, _arg2, _arg3); }; }; } private function moduleEventHandler(_arg1:ModuleEvent):void{ dispatchEvent(_arg1); } public function get url():String{ return (info.url); } public function get data():Object{ return (_data); } public function get setup():Boolean{ return (info.setup); } public function unload():void{ info.unload(); info.removeEventListener(ModuleEvent.SETUP, moduleEventHandler); info.removeEventListener(ModuleEvent.PROGRESS, moduleEventHandler); info.removeEventListener(ModuleEvent.READY, moduleEventHandler); info.removeEventListener(ModuleEvent.ERROR, moduleEventHandler); info.removeEventListener(ModuleEvent.UNLOAD, moduleEventHandler); } } class ModuleManagerImpl extends EventDispatcher { private var moduleList:Object; private function ModuleManagerImpl(){ moduleList = {}; super(); } public function getModule(_arg1:String):IModuleInfo{ var _local2:ModuleInfo = (moduleList[_arg1] as ModuleInfo); if (!_local2){ _local2 = new ModuleInfo(_arg1); moduleList[_arg1] = _local2; }; return (new ModuleInfoProxy(_local2)); } public function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{ var m:Object; var info:ModuleInfo; var domain:ApplicationDomain; var cls:Class; var object = _arg1; var className:String = getQualifiedClassName(object); for each (m in moduleList) { info = (m as ModuleInfo); if (!info.ready){ } else { domain = info.applicationDomain; try { cls = Class(domain.getDefinition(className)); if ((object is cls)){ return (info.factory); }; } catch(error:Error) { }; }; }; return (null); } } class ModuleInfo extends EventDispatcher { private var _error:Boolean;// = false private var loader:Loader; private var factoryInfo:FactoryInfo; private var limbo:Dictionary; private var _loaded:Boolean;// = false private var _ready:Boolean;// = false private var numReferences:int;// = 0 private var _url:String; private var _setup:Boolean;// = false private function ModuleInfo(_arg1:String){ _url = _arg1; } private function clearLoader():void{ if (loader){ if (loader.contentLoaderInfo){ loader.contentLoaderInfo.removeEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler); loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); }; try { if (loader.content){ loader.content.removeEventListener("ready", readyHandler); loader.content.removeEventListener("error", moduleErrorHandler); }; } catch(error:Error) { }; if (_loaded){ try { loader.close(); } catch(error:Error) { }; }; try { loader.unload(); } catch(error:Error) { }; loader = null; }; } public function get size():int{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.bytesTotal : 0); } public function get loaded():Boolean{ return ((limbo) ? false : _loaded); } public function release():void{ if (((_ready) && (!(limbo)))){ limbo = new Dictionary(true); limbo[factoryInfo] = 1; factoryInfo = null; } else { unload(); }; } public function get error():Boolean{ return ((limbo) ? false : _error); } public function get factory():IFlexModuleFactory{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.factory : null); } public function completeHandler(_arg1:Event):void{ var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded; _local2.bytesTotal = loader.contentLoaderInfo.bytesTotal; dispatchEvent(_local2); } public function publish(_arg1:IFlexModuleFactory):void{ if (factoryInfo){ return; }; if (_url.indexOf("published://") != 0){ return; }; factoryInfo = new FactoryInfo(); factoryInfo.factory = _arg1; _loaded = true; _setup = true; _ready = true; _error = false; dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); dispatchEvent(new ModuleEvent(ModuleEvent.PROGRESS)); dispatchEvent(new ModuleEvent(ModuleEvent.READY)); } public function initHandler(_arg1:Event):void{ var moduleEvent:ModuleEvent; var event = _arg1; factoryInfo = new FactoryInfo(); try { factoryInfo.factory = (loader.content as IFlexModuleFactory); } catch(error:Error) { }; if (!factoryInfo.factory){ moduleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable); moduleEvent.bytesLoaded = 0; moduleEvent.bytesTotal = 0; moduleEvent.errorText = "SWF is not a loadable module"; dispatchEvent(moduleEvent); return; }; loader.content.addEventListener("ready", readyHandler); loader.content.addEventListener("error", moduleErrorHandler); try { factoryInfo.applicationDomain = loader.contentLoaderInfo.applicationDomain; } catch(error:Error) { }; _setup = true; dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); } public function resurrect():void{ var _local1:Object; if (((!(factoryInfo)) && (limbo))){ for (_local1 in limbo) { factoryInfo = (_local1 as FactoryInfo); break; }; limbo = null; }; if (!factoryInfo){ if (_loaded){ dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD)); }; loader = null; _loaded = false; _setup = false; _ready = false; _error = false; }; } public function errorHandler(_arg1:ErrorEvent):void{ _error = true; var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = 0; _local2.bytesTotal = 0; _local2.errorText = _arg1.text; dispatchEvent(_local2); } public function get ready():Boolean{ return ((limbo) ? false : _ready); } private function loadBytes(_arg1:ApplicationDomain, _arg2:ByteArray):void{ var _local3:LoaderContext = new LoaderContext(); _local3.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain); if (("allowLoadBytesCodeExecution" in _local3)){ _local3["allowLoadBytesCodeExecution"] = true; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); loader.loadBytes(_arg2, _local3); } public function removeReference():void{ numReferences--; if (numReferences == 0){ release(); }; } public function addReference():void{ numReferences++; } public function progressHandler(_arg1:ProgressEvent):void{ var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{ if (_loaded){ return; }; _loaded = true; limbo = null; if (_arg3){ loadBytes(_arg1, _arg3); return; }; if (_url.indexOf("published://") == 0){ return; }; var _local4:URLRequest = new URLRequest(_url); var _local5:LoaderContext = new LoaderContext(); _local5.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain); _local5.securityDomain = _arg2; if ((((_arg2 == null)) && ((Security.sandboxType == Security.REMOTE)))){ _local5.securityDomain = SecurityDomain.currentDomain; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); loader.load(_local4, _local5); } public function get url():String{ return (_url); } public function get applicationDomain():ApplicationDomain{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null); } public function moduleErrorHandler(_arg1:Event):void{ var _local2:ModuleEvent; _ready = true; factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal; clearLoader(); if ((_arg1 is ModuleEvent)){ _local2 = ModuleEvent(_arg1); } else { _local2 = new ModuleEvent(ModuleEvent.ERROR); }; dispatchEvent(_local2); } public function readyHandler(_arg1:Event):void{ _ready = true; factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal; var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.READY); _local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded; _local2.bytesTotal = loader.contentLoaderInfo.bytesTotal; clearLoader(); dispatchEvent(_local2); } public function get setup():Boolean{ return ((limbo) ? false : _setup); } public function unload():void{ clearLoader(); if (_loaded){ dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD)); }; limbo = null; factoryInfo = null; _loaded = false; _setup = false; _ready = false; _error = false; } } class FactoryInfo { public var bytesTotal:int;// = 0 public var factory:IFlexModuleFactory; public var applicationDomain:ApplicationDomain; private function FactoryInfo(){ } }
Section 42
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals) package mx.modules { public class ModuleManagerGlobals { public static var managerSingleton:Object = null; } }//package mx.modules
Section 43
//IResourceBundle (mx.resources.IResourceBundle) package mx.resources { public interface IResourceBundle { function get content():Object; function get locale():String; function get bundleName():String; } }//package mx.resources
Section 44
//IResourceManager (mx.resources.IResourceManager) package mx.resources { import flash.events.*; import flash.system.*; public interface IResourceManager extends IEventDispatcher { function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher; function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean; function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class; function getLocales():Array; function removeResourceBundlesForLocale(_arg1:String):void; function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle; function get localeChain():Array; function getInt(_arg1:String, _arg2:String, _arg3:String=null):int; function update():void; function set localeChain(_arg1:Array):void; function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint; function addResourceBundle(_arg1:IResourceBundle):void; function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array; function getBundleNamesForLocale(_arg1:String):Array; function removeResourceBundle(_arg1:String, _arg2:String):void; function getObject(_arg1:String, _arg2:String, _arg3:String=null); function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String; function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void; function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void; function getPreferredLocaleChain():Array; function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle; function initializeLocaleChain(_arg1:Array):void; function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number; } }//package mx.resources
Section 45
//IResourceModule (mx.resources.IResourceModule) package mx.resources { public interface IResourceModule { function get resourceBundles():Array; } }//package mx.resources
Section 46
//LocaleSorter (mx.resources.LocaleSorter) package mx.resources { public class LocaleSorter { mx_internal static const VERSION:String = "3.4.1.10084"; private static function normalizeLocale(_arg1:String):String{ return (_arg1.toLowerCase().replace(/-/g, "_")); } public static function sortLocalesByPreference(_arg1:Array, _arg2:Array, _arg3:String=null, _arg4:Boolean=false):Array{ var result:Array; var hasLocale:Object; var i:int; var j:int; var k:int; var l:int; var locale:String; var plocale:LocaleID; var appLocales = _arg1; var systemPreferences = _arg2; var ultimateFallbackLocale = _arg3; var addAll = _arg4; var promote:Function = function (_arg1:String):void{ if (typeof(hasLocale[_arg1]) != "undefined"){ result.push(appLocales[hasLocale[_arg1]]); delete hasLocale[_arg1]; }; }; result = []; hasLocale = {}; var locales:Array = trimAndNormalize(appLocales); var preferenceLocales:Array = trimAndNormalize(systemPreferences); addUltimateFallbackLocale(preferenceLocales, ultimateFallbackLocale); j = 0; while (j < locales.length) { hasLocale[locales[j]] = j; j = (j + 1); }; i = 0; l = preferenceLocales.length; while (i < l) { plocale = LocaleID.fromString(preferenceLocales[i]); promote(preferenceLocales[i]); promote(plocale.toString()); while (plocale.transformToParent()) { promote(plocale.toString()); }; plocale = LocaleID.fromString(preferenceLocales[i]); j = 0; while (j < l) { locale = preferenceLocales[j]; if (plocale.isSiblingOf(LocaleID.fromString(locale))){ promote(locale); }; j = (j + 1); }; j = 0; k = locales.length; while (j < k) { locale = locales[j]; if (plocale.isSiblingOf(LocaleID.fromString(locale))){ promote(locale); }; j = (j + 1); }; i = (i + 1); }; if (addAll){ j = 0; k = locales.length; while (j < k) { promote(locales[j]); j = (j + 1); }; }; return (result); } private static function addUltimateFallbackLocale(_arg1:Array, _arg2:String):void{ var _local3:String; if (((!((_arg2 == null))) && (!((_arg2 == ""))))){ _local3 = normalizeLocale(_arg2); if (_arg1.indexOf(_local3) == -1){ _arg1.push(_local3); }; }; } private static function trimAndNormalize(_arg1:Array):Array{ var _local2:Array = []; var _local3:int; while (_local3 < _arg1.length) { _local2.push(normalizeLocale(_arg1[_local3])); _local3++; }; return (_local2); } } }//package mx.resources class LocaleID { private var privateLangs:Boolean;// = false private var script:String;// = "" private var variants:Array; private var privates:Array; private var extensions:Object; private var lang:String;// = "" private var region:String;// = "" private var extended_langs:Array; public static const STATE_PRIMARY_LANGUAGE:int = 0; public static const STATE_REGION:int = 3; public static const STATE_EXTENDED_LANGUAGES:int = 1; public static const STATE_EXTENSIONS:int = 5; public static const STATE_SCRIPT:int = 2; public static const STATE_VARIANTS:int = 4; public static const STATE_PRIVATES:int = 6; private function LocaleID(){ extended_langs = []; variants = []; extensions = {}; privates = []; super(); } public function equals(_arg1:LocaleID):Boolean{ return ((toString() == _arg1.toString())); } public function canonicalize():void{ var _local1:String; for (_local1 in extensions) { if (extensions.hasOwnProperty(_local1)){ if (extensions[_local1].length == 0){ delete extensions[_local1]; } else { extensions[_local1] = extensions[_local1].sort(); }; }; }; extended_langs = extended_langs.sort(); variants = variants.sort(); privates = privates.sort(); if (script == ""){ script = LocaleRegistry.getScriptByLang(lang); }; if ((((script == "")) && (!((region == ""))))){ script = LocaleRegistry.getScriptByLangAndRegion(lang, region); }; if ((((region == "")) && (!((script == ""))))){ region = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script); }; } public function toString():String{ var _local2:String; var _local1:Array = [lang]; Array.prototype.push.apply(_local1, extended_langs); if (script != ""){ _local1.push(script); }; if (region != ""){ _local1.push(region); }; Array.prototype.push.apply(_local1, variants); for (_local2 in extensions) { if (extensions.hasOwnProperty(_local2)){ _local1.push(_local2); Array.prototype.push.apply(_local1, extensions[_local2]); }; }; if (privates.length > 0){ _local1.push("x"); Array.prototype.push.apply(_local1, privates); }; return (_local1.join("_")); } public function isSiblingOf(_arg1:LocaleID):Boolean{ return ((((lang == _arg1.lang)) && ((script == _arg1.script)))); } public function transformToParent():Boolean{ var _local2:String; var _local3:Array; var _local4:String; if (privates.length > 0){ privates.splice((privates.length - 1), 1); return (true); }; var _local1:String; for (_local2 in extensions) { if (extensions.hasOwnProperty(_local2)){ _local1 = _local2; }; }; if (_local1){ _local3 = extensions[_local1]; if (_local3.length == 1){ delete extensions[_local1]; return (true); }; _local3.splice((_local3.length - 1), 1); return (true); }; if (variants.length > 0){ variants.splice((variants.length - 1), 1); return (true); }; if (script != ""){ if (LocaleRegistry.getScriptByLang(lang) != ""){ script = ""; return (true); }; if (region == ""){ _local4 = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script); if (_local4 != ""){ region = _local4; script = ""; return (true); }; }; }; if (region != ""){ if (!(((script == "")) && ((LocaleRegistry.getScriptByLang(lang) == "")))){ region = ""; return (true); }; }; if (extended_langs.length > 0){ extended_langs.splice((extended_langs.length - 1), 1); return (true); }; return (false); } public static function fromString(_arg1:String):LocaleID{ var _local5:Array; var _local8:String; var _local9:int; var _local10:String; var _local2:LocaleID = new (LocaleID); var _local3:int = STATE_PRIMARY_LANGUAGE; var _local4:Array = _arg1.replace(/-/g, "_").split("_"); var _local6:int; var _local7:int = _local4.length; while (_local6 < _local7) { _local8 = _local4[_local6].toLowerCase(); if (_local3 == STATE_PRIMARY_LANGUAGE){ if (_local8 == "x"){ _local2.privateLangs = true; } else { if (_local8 == "i"){ _local2.lang = (_local2.lang + "i-"); } else { _local2.lang = (_local2.lang + _local8); _local3 = STATE_EXTENDED_LANGUAGES; }; }; } else { _local9 = _local8.length; if (_local9 == 0){ } else { _local10 = _local8.charAt(0).toLowerCase(); if ((((_local3 <= STATE_EXTENDED_LANGUAGES)) && ((_local9 == 3)))){ _local2.extended_langs.push(_local8); if (_local2.extended_langs.length == 3){ _local3 = STATE_SCRIPT; }; } else { if ((((_local3 <= STATE_SCRIPT)) && ((_local9 == 4)))){ _local2.script = _local8; _local3 = STATE_REGION; } else { if ((((_local3 <= STATE_REGION)) && ((((_local9 == 2)) || ((_local9 == 3)))))){ _local2.region = _local8; _local3 = STATE_VARIANTS; } else { if ((((_local3 <= STATE_VARIANTS)) && ((((((((_local10 >= "a")) && ((_local10 <= "z")))) && ((_local9 >= 5)))) || ((((((_local10 >= "0")) && ((_local10 <= "9")))) && ((_local9 >= 4)))))))){ _local2.variants.push(_local8); _local3 = STATE_VARIANTS; } else { if ((((_local3 < STATE_PRIVATES)) && ((_local9 == 1)))){ if (_local8 == "x"){ _local3 = STATE_PRIVATES; _local5 = _local2.privates; } else { _local3 = STATE_EXTENSIONS; _local5 = ((_local2.extensions[_local8]) || ([])); _local2.extensions[_local8] = _local5; }; } else { if (_local3 >= STATE_EXTENSIONS){ _local5.push(_local8); }; }; }; }; }; }; }; }; _local6++; }; _local2.canonicalize(); return (_local2); } } class LocaleRegistry { private static const SCRIPT_ID_BY_LANG:Object = {ab:5, af:1, am:2, ar:3, as:4, ay:1, be:5, bg:5, bn:4, bs:1, ca:1, ch:1, cs:1, cy:1, da:1, de:1, dv:6, dz:7, el:8, en:1, eo:1, es:1, et:1, eu:1, fa:3, fi:1, fj:1, fo:1, fr:1, frr:1, fy:1, ga:1, gl:1, gn:1, gu:9, gv:1, he:10, hi:11, hr:1, ht:1, hu:1, hy:12, id:1, in:1, is:1, it:1, iw:10, ja:13, ka:14, kk:5, kl:1, km:15, kn:16, ko:17, la:1, lb:1, ln:1, lo:18, lt:1, lv:1, mg:1, mh:1, mk:5, ml:19, mo:1, mr:11, ms:1, mt:1, my:20, na:1, nb:1, nd:1, ne:11, nl:1, nn:1, no:1, nr:1, ny:1, om:1, or:21, pa:22, pl:1, ps:3, pt:1, qu:1, rn:1, ro:1, ru:5, rw:1, sg:1, si:23, sk:1, sl:1, sm:1, so:1, sq:1, ss:1, st:1, sv:1, sw:1, ta:24, te:25, th:26, ti:2, tl:1, tn:1, to:1, tr:1, ts:1, uk:5, ur:3, ve:1, vi:1, wo:1, xh:1, yi:10, zu:1, cpe:1, dsb:1, frs:1, gsw:1, hsb:1, kok:11, mai:11, men:1, nds:1, niu:1, nqo:27, nso:1, son:1, tem:1, tkl:1, tmh:1, tpi:1, tvl:1, zbl:28}; private static const SCRIPTS:Array = ["", "latn", "ethi", "arab", "beng", "cyrl", "thaa", "tibt", "grek", "gujr", "hebr", "deva", "armn", "jpan", "geor", "khmr", "knda", "kore", "laoo", "mlym", "mymr", "orya", "guru", "sinh", "taml", "telu", "thai", "nkoo", "blis", "hans", "hant", "mong", "syrc"]; private static const DEFAULT_REGION_BY_LANG_AND_SCRIPT:Object = {bg:{5:"bg"}, ca:{1:"es"}, zh:{30:"tw", 29:"cn"}, cs:{1:"cz"}, da:{1:"dk"}, de:{1:"de"}, el:{8:"gr"}, en:{1:"us"}, es:{1:"es"}, fi:{1:"fi"}, fr:{1:"fr"}, he:{10:"il"}, hu:{1:"hu"}, is:{1:"is"}, it:{1:"it"}, ja:{13:"jp"}, ko:{17:"kr"}, nl:{1:"nl"}, nb:{1:"no"}, pl:{1:"pl"}, pt:{1:"br"}, ro:{1:"ro"}, ru:{5:"ru"}, hr:{1:"hr"}, sk:{1:"sk"}, sq:{1:"al"}, sv:{1:"se"}, th:{26:"th"}, tr:{1:"tr"}, ur:{3:"pk"}, id:{1:"id"}, uk:{5:"ua"}, be:{5:"by"}, sl:{1:"si"}, et:{1:"ee"}, lv:{1:"lv"}, lt:{1:"lt"}, fa:{3:"ir"}, vi:{1:"vn"}, hy:{12:"am"}, az:{1:"az", 5:"az"}, eu:{1:"es"}, mk:{5:"mk"}, af:{1:"za"}, ka:{14:"ge"}, fo:{1:"fo"}, hi:{11:"in"}, ms:{1:"my"}, kk:{5:"kz"}, ky:{5:"kg"}, sw:{1:"ke"}, uz:{1:"uz", 5:"uz"}, tt:{5:"ru"}, pa:{22:"in"}, gu:{9:"in"}, ta:{24:"in"}, te:{25:"in"}, kn:{16:"in"}, mr:{11:"in"}, sa:{11:"in"}, mn:{5:"mn"}, gl:{1:"es"}, kok:{11:"in"}, syr:{32:"sy"}, dv:{6:"mv"}, nn:{1:"no"}, sr:{1:"cs", 5:"cs"}, cy:{1:"gb"}, mi:{1:"nz"}, mt:{1:"mt"}, quz:{1:"bo"}, tn:{1:"za"}, xh:{1:"za"}, zu:{1:"za"}, nso:{1:"za"}, se:{1:"no"}, smj:{1:"no"}, sma:{1:"no"}, sms:{1:"fi"}, smn:{1:"fi"}, bs:{1:"ba"}}; private static const SCRIPT_BY_ID:Object = {latn:1, ethi:2, arab:3, beng:4, cyrl:5, thaa:6, tibt:7, grek:8, gujr:9, hebr:10, deva:11, armn:12, jpan:13, geor:14, khmr:15, knda:16, kore:17, laoo:18, mlym:19, mymr:20, orya:21, guru:22, sinh:23, taml:24, telu:25, thai:26, nkoo:27, blis:28, hans:29, hant:30, mong:31, syrc:32}; private static const SCRIPT_ID_BY_LANG_AND_REGION:Object = {zh:{cn:29, sg:29, tw:30, hk:30, mo:30}, mn:{cn:31, sg:5}, pa:{pk:3, in:22}, ha:{gh:1, ne:1}}; private function LocaleRegistry(){ } public static function getScriptByLangAndRegion(_arg1:String, _arg2:String):String{ var _local3:Object = SCRIPT_ID_BY_LANG_AND_REGION[_arg1]; if (_local3 == null){ return (""); }; var _local4:Object = _local3[_arg2]; if (_local4 == null){ return (""); }; return (SCRIPTS[int(_local4)].toLowerCase()); } public static function getScriptByLang(_arg1:String):String{ var _local2:Object = SCRIPT_ID_BY_LANG[_arg1]; if (_local2 == null){ return (""); }; return (SCRIPTS[int(_local2)].toLowerCase()); } public static function getDefaultRegionForLangAndScript(_arg1:String, _arg2:String):String{ var _local3:Object = DEFAULT_REGION_BY_LANG_AND_SCRIPT[_arg1]; var _local4:Object = SCRIPT_BY_ID[_arg2]; if ((((_local3 == null)) || ((_local4 == null)))){ return (""); }; return (((_local3[int(_local4)]) || (""))); } }
Section 47
//ResourceBundle (mx.resources.ResourceBundle) package mx.resources { import mx.core.*; import flash.system.*; import mx.utils.*; public class ResourceBundle implements IResourceBundle { mx_internal var _locale:String; private var _content:Object; mx_internal var _bundleName:String; mx_internal static const VERSION:String = "3.4.1.10084"; mx_internal static var backupApplicationDomain:ApplicationDomain; mx_internal static var locale:String; public function ResourceBundle(_arg1:String=null, _arg2:String=null){ _content = {}; super(); mx_internal::_locale = _arg1; mx_internal::_bundleName = _arg2; _content = getContent(); } protected function getContent():Object{ return ({}); } public function getString(_arg1:String):String{ return (String(_getObject(_arg1))); } public function get content():Object{ return (_content); } public function getBoolean(_arg1:String, _arg2:Boolean=true):Boolean{ var _local3:String = _getObject(_arg1).toLowerCase(); if (_local3 == "false"){ return (false); }; if (_local3 == "true"){ return (true); }; return (_arg2); } public function getStringArray(_arg1:String):Array{ var _local2:Array = _getObject(_arg1).split(","); var _local3:int = _local2.length; var _local4:int; while (_local4 < _local3) { _local2[_local4] = StringUtil.trim(_local2[_local4]); _local4++; }; return (_local2); } public function getObject(_arg1:String):Object{ return (_getObject(_arg1)); } private function _getObject(_arg1:String):Object{ var _local2:Object = content[_arg1]; if (!_local2){ throw (new Error(((("Key " + _arg1) + " was not found in resource bundle ") + bundleName))); }; return (_local2); } public function get locale():String{ return (mx_internal::_locale); } public function get bundleName():String{ return (mx_internal::_bundleName); } public function getNumber(_arg1:String):Number{ return (Number(_getObject(_arg1))); } private static function getClassByName(_arg1:String, _arg2:ApplicationDomain):Class{ var _local3:Class; if (_arg2.hasDefinition(_arg1)){ _local3 = (_arg2.getDefinition(_arg1) as Class); }; return (_local3); } public static function getResourceBundle(_arg1:String, _arg2:ApplicationDomain=null):ResourceBundle{ var _local3:String; var _local4:Class; var _local5:Object; var _local6:ResourceBundle; if (!_arg2){ _arg2 = ApplicationDomain.currentDomain; }; _local3 = (((mx_internal::locale + "$") + _arg1) + "_properties"); _local4 = getClassByName(_local3, _arg2); if (!_local4){ _local3 = (_arg1 + "_properties"); _local4 = getClassByName(_local3, _arg2); }; if (!_local4){ _local3 = _arg1; _local4 = getClassByName(_local3, _arg2); }; if (((!(_local4)) && (mx_internal::backupApplicationDomain))){ _local3 = (_arg1 + "_properties"); _local4 = getClassByName(_local3, mx_internal::backupApplicationDomain); if (!_local4){ _local3 = _arg1; _local4 = getClassByName(_local3, mx_internal::backupApplicationDomain); }; }; if (_local4){ _local5 = new (_local4); if ((_local5 is ResourceBundle)){ _local6 = ResourceBundle(_local5); return (_local6); }; }; throw (new Error(("Could not find resource bundle " + _arg1))); } } }//package mx.resources
Section 48
//ResourceManager (mx.resources.ResourceManager) package mx.resources { import mx.core.*; public class ResourceManager { mx_internal static const VERSION:String = "3.4.1.10084"; private static var implClassDependency:ResourceManagerImpl; private static var instance:IResourceManager; public static function getInstance():IResourceManager{ if (!instance){ try { instance = IResourceManager(Singleton.getInstance("mx.resources::IResourceManager")); } catch(e:Error) { instance = new ResourceManagerImpl(); }; }; return (instance); } } }//package mx.resources
Section 49
//ResourceManagerImpl (mx.resources.ResourceManagerImpl) package mx.resources { import flash.events.*; import mx.core.*; import flash.utils.*; import flash.system.*; import mx.modules.*; import mx.events.*; import mx.utils.*; public class ResourceManagerImpl extends EventDispatcher implements IResourceManager { private var resourceModules:Object; private var initializedForNonFrameworkApp:Boolean;// = false private var localeMap:Object; private var _localeChain:Array; mx_internal static const VERSION:String = "3.4.1.10084"; private static var instance:IResourceManager; public function ResourceManagerImpl(){ localeMap = {}; resourceModules = {}; super(); } public function get localeChain():Array{ return (_localeChain); } public function set localeChain(_arg1:Array):void{ _localeChain = _arg1; update(); } public function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (null); }; var _local5:* = _local4.content[_arg2]; var _local6:Array = String(_local5).split(","); var _local7:int = _local6.length; var _local8:int; while (_local8 < _local7) { _local6[_local8] = StringUtil.trim(_local6[_local8]); _local8++; }; return (_local6); } mx_internal function installCompiledResourceBundle(_arg1:ApplicationDomain, _arg2:String, _arg3:String):void{ var _local4:String; var _local5:String = _arg3; var _local6:int = _arg3.indexOf(":"); if (_local6 != -1){ _local4 = _arg3.substring(0, _local6); _local5 = _arg3.substring((_local6 + 1)); }; if (getResourceBundle(_arg2, _arg3)){ return; }; var _local7 = (((_arg2 + "$") + _local5) + "_properties"); if (_local4 != null){ _local7 = ((_local4 + ".") + _local7); }; var _local8:Class; if (_arg1.hasDefinition(_local7)){ _local8 = Class(_arg1.getDefinition(_local7)); }; if (!_local8){ _local7 = _arg3; if (_arg1.hasDefinition(_local7)){ _local8 = Class(_arg1.getDefinition(_local7)); }; }; if (!_local8){ _local7 = (_arg3 + "_properties"); if (_arg1.hasDefinition(_local7)){ _local8 = Class(_arg1.getDefinition(_local7)); }; }; if (!_local8){ throw (new Error((((("Could not find compiled resource bundle '" + _arg3) + "' for locale '") + _arg2) + "'."))); }; var _local9:ResourceBundle = ResourceBundle(new (_local8)); _local9.mx_internal::_locale = _arg2; _local9.mx_internal::_bundleName = _arg3; addResourceBundle(_local9); } public function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String{ var _local5:IResourceBundle = findBundle(_arg1, _arg2, _arg4); if (!_local5){ return (null); }; var _local6:String = String(_local5.content[_arg2]); if (_arg3){ _local6 = StringUtil.substitute(_local6, _arg3); }; return (_local6); } public function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{ var moduleInfo:IModuleInfo; var resourceEventDispatcher:ResourceEventDispatcher; var timer:Timer; var timerHandler:Function; var url = _arg1; var updateFlag = _arg2; var applicationDomain = _arg3; var securityDomain = _arg4; moduleInfo = ModuleManager.getModule(url); resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo); var readyHandler:Function = function (_arg1:ModuleEvent):void{ var _local2:* = _arg1.module.factory.create(); resourceModules[_arg1.module.url].resourceModule = _local2; if (updateFlag){ update(); }; }; moduleInfo.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true); var errorHandler:Function = function (_arg1:ModuleEvent):void{ var _local3:ResourceEvent; var _local2:String = ("Unable to load resource module from " + url); if (resourceEventDispatcher.willTrigger(ResourceEvent.ERROR)){ _local3 = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local3.bytesLoaded = 0; _local3.bytesTotal = 0; _local3.errorText = _local2; resourceEventDispatcher.dispatchEvent(_local3); } else { throw (new Error(_local2)); }; }; moduleInfo.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true); resourceModules[url] = new ResourceModuleInfo(moduleInfo, readyHandler, errorHandler); timer = new Timer(0); timerHandler = function (_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.stop(); moduleInfo.load(applicationDomain, securityDomain); }; timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true); timer.start(); return (resourceEventDispatcher); } public function getLocales():Array{ var _local2:String; var _local1:Array = []; for (_local2 in localeMap) { _local1.push(_local2); }; return (_local1); } public function removeResourceBundlesForLocale(_arg1:String):void{ delete localeMap[_arg1]; } public function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle{ var _local3:Object = localeMap[_arg1]; if (!_local3){ return (null); }; return (_local3[_arg2]); } private function dumpResourceModule(_arg1):void{ var _local2:ResourceBundle; var _local3:String; for each (_local2 in _arg1.resourceBundles) { trace(_local2.locale, _local2.bundleName); for (_local3 in _local2.content) { }; }; } public function addResourceBundle(_arg1:IResourceBundle):void{ var _local2:String = _arg1.locale; var _local3:String = _arg1.bundleName; if (!localeMap[_local2]){ localeMap[_local2] = {}; }; localeMap[_local2][_local3] = _arg1; } public function getObject(_arg1:String, _arg2:String, _arg3:String=null){ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (undefined); }; return (_local4.content[_arg2]); } public function getInt(_arg1:String, _arg2:String, _arg3:String=null):int{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (0); }; var _local5:* = _local4.content[_arg2]; return (int(_local5)); } private function findBundle(_arg1:String, _arg2:String, _arg3:String):IResourceBundle{ supportNonFrameworkApps(); return (((_arg3)!=null) ? getResourceBundle(_arg3, _arg1) : findResourceBundleWithResource(_arg1, _arg2)); } private function supportNonFrameworkApps():void{ if (initializedForNonFrameworkApp){ return; }; initializedForNonFrameworkApp = true; if (getLocales().length > 0){ return; }; var _local1:ApplicationDomain = ApplicationDomain.currentDomain; if (!_local1.hasDefinition("_CompiledResourceBundleInfo")){ return; }; var _local2:Class = Class(_local1.getDefinition("_CompiledResourceBundleInfo")); var _local3:Array = _local2.compiledLocales; var _local4:Array = _local2.compiledResourceBundleNames; installCompiledResourceBundles(_local1, _local3, _local4); localeChain = _local3; } public function getBundleNamesForLocale(_arg1:String):Array{ var _local3:String; var _local2:Array = []; for (_local3 in localeMap[_arg1]) { _local2.push(_local3); }; return (_local2); } public function getPreferredLocaleChain():Array{ return (LocaleSorter.sortLocalesByPreference(getLocales(), getSystemPreferredLocales(), null, true)); } public function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (NaN); }; var _local5:* = _local4.content[_arg2]; return (Number(_local5)); } public function update():void{ dispatchEvent(new Event(Event.CHANGE)); } public function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (null); }; var _local5:* = _local4.content[_arg2]; return ((_local5 as Class)); } public function removeResourceBundle(_arg1:String, _arg2:String):void{ delete localeMap[_arg1][_arg2]; if (getBundleNamesForLocale(_arg1).length == 0){ delete localeMap[_arg1]; }; } public function initializeLocaleChain(_arg1:Array):void{ localeChain = LocaleSorter.sortLocalesByPreference(_arg1, getSystemPreferredLocales(), null, true); } public function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle{ var _local5:String; var _local6:Object; var _local7:ResourceBundle; if (!_localeChain){ return (null); }; var _local3:int = _localeChain.length; var _local4:int; while (_local4 < _local3) { _local5 = localeChain[_local4]; _local6 = localeMap[_local5]; if (!_local6){ } else { _local7 = _local6[_arg1]; if (!_local7){ } else { if ((_arg2 in _local7.content)){ return (_local7); }; }; }; _local4++; }; return (null); } public function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (0); }; var _local5:* = _local4.content[_arg2]; return (uint(_local5)); } private function getSystemPreferredLocales():Array{ var _local1:Array; if (Capabilities["languages"]){ _local1 = Capabilities["languages"]; } else { _local1 = [Capabilities.language]; }; return (_local1); } public function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void{ var _local7:String; var _local8:int; var _local9:String; var _local4:int = (_arg2) ? _arg2.length : 0; var _local5:int = (_arg3) ? _arg3.length : 0; var _local6:int; while (_local6 < _local4) { _local7 = _arg2[_local6]; _local8 = 0; while (_local8 < _local5) { _local9 = _arg3[_local8]; mx_internal::installCompiledResourceBundle(_arg1, _local7, _local9); _local8++; }; _local6++; }; } public function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (false); }; var _local5:* = _local4.content[_arg2]; return ((String(_local5).toLowerCase() == "true")); } public function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void{ var _local4:Array; var _local5:int; var _local6:int; var _local7:String; var _local8:String; var _local3:ResourceModuleInfo = resourceModules[_arg1]; if (!_local3){ return; }; if (_local3.resourceModule){ _local4 = _local3.resourceModule.resourceBundles; if (_local4){ _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local7 = _local4[_local6].locale; _local8 = _local4[_local6].bundleName; removeResourceBundle(_local7, _local8); _local6++; }; }; }; resourceModules[_arg1] = null; delete resourceModules[_arg1]; _local3.moduleInfo.unload(); if (_arg2){ this.update(); }; } public static function getInstance():IResourceManager{ if (!instance){ instance = new (ResourceManagerImpl); }; return (instance); } } }//package mx.resources import flash.events.*; import mx.modules.*; import mx.events.*; class ResourceModuleInfo { public var resourceModule:IResourceModule; public var errorHandler:Function; public var readyHandler:Function; public var moduleInfo:IModuleInfo; private function ResourceModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){ this.moduleInfo = _arg1; this.readyHandler = _arg2; this.errorHandler = _arg3; } } class ResourceEventDispatcher extends EventDispatcher { private function ResourceEventDispatcher(_arg1:IModuleInfo){ _arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true); } private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{ var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{ var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE); dispatchEvent(_local2); } private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{ var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; _local2.errorText = _arg1.errorText; dispatchEvent(_local2); } }
Section 50
//HaloBorder (mx.skins.halo.HaloBorder) package mx.skins.halo { import mx.core.*; import mx.styles.*; import flash.display.*; import mx.skins.*; import mx.graphics.*; import mx.utils.*; public class HaloBorder extends RectangularBorder { mx_internal var radiusObj:Object; mx_internal var backgroundHole:Object; mx_internal var radius:Number; mx_internal var bRoundedCorners:Boolean; mx_internal var backgroundColor:Object; private var dropShadow:RectangularDropShadow; protected var _borderMetrics:EdgeMetrics; mx_internal var backgroundAlphaName:String; mx_internal static const VERSION:String = "3.4.1.10084"; private static var BORDER_WIDTHS:Object = {none:0, solid:1, inset:2, outset:2, alert:3, dropdown:2, menuBorder:1, comboNonEdit:2}; public function HaloBorder(){ BORDER_WIDTHS["default"] = 3; } override public function styleChanged(_arg1:String):void{ if ((((((((((_arg1 == null)) || ((_arg1 == "styleName")))) || ((_arg1 == "borderStyle")))) || ((_arg1 == "borderThickness")))) || ((_arg1 == "borderSides")))){ _borderMetrics = null; }; invalidateDisplayList(); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ if (((isNaN(_arg1)) || (isNaN(_arg2)))){ return; }; super.updateDisplayList(_arg1, _arg2); backgroundColor = getBackgroundColor(); bRoundedCorners = false; backgroundAlphaName = "backgroundAlpha"; backgroundHole = null; radius = 0; radiusObj = null; drawBorder(_arg1, _arg2); drawBackground(_arg1, _arg2); } mx_internal function drawBorder(_arg1:Number, _arg2:Number):void{ var _local5:Number; var _local6:uint; var _local7:uint; var _local8:String; var _local9:Number; var _local10:uint; var _local11:Boolean; var _local12:uint; var _local13:Array; var _local14:Array; var _local15:uint; var _local16:uint; var _local17:uint; var _local18:uint; var _local19:Boolean; var _local20:Object; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Object; var _local27:Number; var _local28:Number; var _local29:IContainer; var _local30:EdgeMetrics; var _local31:Boolean; var _local32:Number; var _local33:Array; var _local34:uint; var _local35:Boolean; var _local36:Number; var _local3:String = getStyle("borderStyle"); var _local4:Array = getStyle("highlightAlphas"); var _local21:Boolean; var _local26:Graphics = graphics; _local26.clear(); if (_local3){ switch (_local3){ case "none": break; case "inset": _local7 = getStyle("borderColor"); _local22 = ColorUtil.adjustBrightness2(_local7, -40); _local23 = ColorUtil.adjustBrightness2(_local7, 25); _local24 = ColorUtil.adjustBrightness2(_local7, 40); _local25 = backgroundColor; if ((((_local25 === null)) || ((_local25 === "")))){ _local25 = _local7; }; draw3dBorder(_local23, _local22, _local24, Number(_local25), Number(_local25), Number(_local25)); break; case "outset": _local7 = getStyle("borderColor"); _local22 = ColorUtil.adjustBrightness2(_local7, -40); _local23 = ColorUtil.adjustBrightness2(_local7, -25); _local24 = ColorUtil.adjustBrightness2(_local7, 40); _local25 = backgroundColor; if ((((_local25 === null)) || ((_local25 === "")))){ _local25 = _local7; }; draw3dBorder(_local23, _local24, _local22, Number(_local25), Number(_local25), Number(_local25)); break; case "alert": case "default": if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local27 = getStyle("backgroundAlpha"); _local5 = getStyle("borderAlpha"); backgroundAlphaName = "borderAlpha"; radius = getStyle("cornerRadius"); bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true"); _local28 = (bRoundedCorners) ? radius : 0; drawDropShadow(0, 0, _arg1, _arg2, radius, radius, _local28, _local28); if (!bRoundedCorners){ radiusObj = {}; }; _local29 = (parent as IContainer); if (_local29){ _local30 = _local29.viewMetrics; backgroundHole = {x:_local30.left, y:_local30.top, w:Math.max(0, ((_arg1 - _local30.left) - _local30.right)), h:Math.max(0, ((_arg2 - _local30.top) - _local30.bottom)), r:0}; if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){ if (_local27 != _local5){ drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0); }; _local26.beginFill(Number(backgroundColor), _local27); _local26.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h); _local26.endFill(); }; }; backgroundColor = getStyle("borderColor"); }; break; case "dropdown": _local12 = getStyle("dropdownBorderColor"); drawDropShadow(0, 0, _arg1, _arg2, 4, 0, 0, 4); drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, 5068126, 1); drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1); drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3))); if (!isNaN(_local12)){ drawRoundRect(0, 0, (_arg1 + 1), _arg2, {tl:4, tr:0, br:0, bl:4}, _local12, 0.5); drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1); drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3))); }; backgroundColor = null; break; case "menuBorder": _local7 = getStyle("borderColor"); drawRoundRect(0, 0, _arg1, _arg2, 0, _local7, 1); drawDropShadow(1, 1, (_arg1 - 2), (_arg2 - 2), 0, 0, 0, 0); break; case "comboNonEdit": break; case "controlBar": if ((((_arg1 == 0)) || ((_arg2 == 0)))){ backgroundColor = null; break; }; _local14 = getStyle("footerColors"); _local31 = !((_local14 == null)); _local32 = getStyle("borderAlpha"); if (_local31){ _local26.lineStyle(0, ((_local14.length > 0)) ? _local14[1] : _local14[0], _local32); _local26.moveTo(0, 0); _local26.lineTo(_arg1, 0); _local26.lineStyle(0, 0, 0); if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){ radius = IStyleClient(parent.parent).getStyle("cornerRadius"); _local32 = IStyleClient(parent.parent).getStyle("borderAlpha"); }; if (isNaN(radius)){ radius = 0; }; if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){ radius = 0; }; drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2)); if ((((_local14.length > 1)) && (!((_local14[0] == _local14[1]))))){ drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 2, (_arg1 - 2), (_arg2 - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2)); }; }; backgroundColor = null; break; case "applicationControlBar": _local13 = getStyle("fillColors"); _local5 = getStyle("backgroundAlpha"); _local4 = getStyle("highlightAlphas"); _local33 = getStyle("fillAlphas"); _local11 = getStyle("docked"); _local34 = uint(backgroundColor); radius = getStyle("cornerRadius"); if (!radius){ radius = 0; }; drawDropShadow(0, 1, _arg1, (_arg2 - 1), radius, radius, radius, radius); if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){ drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local34, _local5, verticalGradientMatrix(0, 0, _arg1, _arg2)); }; drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local13, _local33, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(0, 1, _arg1, ((_arg2 / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, ((_arg2 / 2) - 1))); drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:_arg1, h:(_arg2 - 2), r:{tl:radius, tr:radius, bl:0, br:0}}); backgroundColor = null; break; default: _local7 = getStyle("borderColor"); _local9 = getStyle("borderThickness"); _local8 = getStyle("borderSides"); _local35 = true; radius = getStyle("cornerRadius"); bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true"); _local36 = Math.max((radius - _local9), 0); _local20 = {x:_local9, y:_local9, w:(_arg1 - (_local9 * 2)), h:(_arg2 - (_local9 * 2)), r:_local36}; if (!bRoundedCorners){ radiusObj = {tl:radius, tr:radius, bl:0, br:0}; _local20.r = {tl:_local36, tr:_local36, bl:0, br:0}; }; if (_local8 != "left top right bottom"){ _local20.r = {tl:_local36, tr:_local36, bl:(bRoundedCorners) ? _local36 : 0, br:(bRoundedCorners) ? _local36 : 0}; radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0}; _local8 = _local8.toLowerCase(); if (_local8.indexOf("left") == -1){ _local20.x = 0; _local20.w = (_local20.w + _local9); _local20.r.tl = 0; _local20.r.bl = 0; radiusObj.tl = 0; radiusObj.bl = 0; _local35 = false; }; if (_local8.indexOf("top") == -1){ _local20.y = 0; _local20.h = (_local20.h + _local9); _local20.r.tl = 0; _local20.r.tr = 0; radiusObj.tl = 0; radiusObj.tr = 0; _local35 = false; }; if (_local8.indexOf("right") == -1){ _local20.w = (_local20.w + _local9); _local20.r.tr = 0; _local20.r.br = 0; radiusObj.tr = 0; radiusObj.br = 0; _local35 = false; }; if (_local8.indexOf("bottom") == -1){ _local20.h = (_local20.h + _local9); _local20.r.bl = 0; _local20.r.br = 0; radiusObj.bl = 0; radiusObj.br = 0; _local35 = false; }; }; if ((((radius == 0)) && (_local35))){ drawDropShadow(0, 0, _arg1, _arg2, 0, 0, 0, 0); _local26.beginFill(_local7); _local26.drawRect(0, 0, _arg1, _arg2); _local26.drawRect(_local9, _local9, (_arg1 - (2 * _local9)), (_arg2 - (2 * _local9))); _local26.endFill(); } else { if (radiusObj){ drawDropShadow(0, 0, _arg1, _arg2, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl); drawRoundRect(0, 0, _arg1, _arg2, radiusObj, _local7, 1, null, null, null, _local20); radiusObj.tl = Math.max((radius - _local9), 0); radiusObj.tr = Math.max((radius - _local9), 0); radiusObj.bl = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0; radiusObj.br = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0; } else { drawDropShadow(0, 0, _arg1, _arg2, radius, radius, radius, radius); drawRoundRect(0, 0, _arg1, _arg2, radius, _local7, 1, null, null, null, _local20); radius = Math.max((getStyle("cornerRadius") - _local9), 0); }; }; }; }; } mx_internal function drawBackground(_arg1:Number, _arg2:Number):void{ var _local4:Number; var _local5:Number; var _local6:EdgeMetrics; var _local7:Graphics; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Array; var _local12:Number; if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){ _local4 = Number(backgroundColor); _local5 = 1; _local6 = getBackgroundColorMetrics(); _local7 = graphics; if (((((isNaN(_local4)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){ _local5 = 0; _local4 = 0xFFFFFF; } else { _local5 = getStyle(backgroundAlphaName); }; if (((!((radius == 0))) || (backgroundHole))){ _local8 = _local6.bottom; if (radiusObj){ _local9 = Math.max((radius - Math.max(_local6.top, _local6.left, _local6.right)), 0); _local10 = (bRoundedCorners) ? Math.max((radius - Math.max(_local6.bottom, _local6.left, _local6.right)), 0) : 0; radiusObj = {tl:_local9, tr:_local9, bl:_local10, br:_local10}; drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radiusObj, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole); } else { drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radius, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole); }; } else { _local7.beginFill(_local4, _local5); _local7.drawRect(_local6.left, _local6.top, ((_arg1 - _local6.right) - _local6.left), ((_arg2 - _local6.bottom) - _local6.top)); _local7.endFill(); }; }; var _local3:String = getStyle("borderStyle"); if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((_local3 == "alert")) || ((_local3 == "default")))))) && ((getStyle("headerColors") == null)))){ _local11 = getStyle("highlightAlphas"); _local12 = (_local11) ? _local11[0] : 0.3; drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local12, null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:radius, tr:radius, bl:0, br:0}}); }; } mx_internal function drawDropShadow(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{ var _local11:Number; var _local12:Boolean; if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((_arg3 == 0)))) || ((_arg4 == 0)))){ return; }; var _local9:Number = getStyle("shadowDistance"); var _local10:String = getStyle("shadowDirection"); if (getStyle("borderStyle") == "applicationControlBar"){ _local12 = getStyle("docked"); _local11 = (_local12) ? 90 : getDropShadowAngle(_local9, _local10); _local9 = Math.abs(_local9); } else { _local11 = getDropShadowAngle(_local9, _local10); _local9 = (Math.abs(_local9) + 2); }; if (!dropShadow){ dropShadow = new RectangularDropShadow(); }; dropShadow.distance = _local9; dropShadow.angle = _local11; dropShadow.color = getStyle("dropShadowColor"); dropShadow.alpha = 0.4; dropShadow.tlRadius = _arg5; dropShadow.trRadius = _arg6; dropShadow.blRadius = _arg8; dropShadow.brRadius = _arg7; dropShadow.drawShadow(graphics, _arg1, _arg2, _arg3, _arg4); } mx_internal function getBackgroundColor():Object{ var _local2:Object; var _local1:IUIComponent = (parent as IUIComponent); if (((_local1) && (!(_local1.enabled)))){ _local2 = getStyle("backgroundDisabledColor"); if (((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))){ return (_local2); }; }; return (getStyle("backgroundColor")); } mx_internal function draw3dBorder(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{ var _local7:Number = width; var _local8:Number = height; drawDropShadow(0, 0, width, height, 0, 0, 0, 0); var _local9:Graphics = graphics; _local9.beginFill(_arg1); _local9.drawRect(0, 0, _local7, _local8); _local9.drawRect(1, 0, (_local7 - 2), _local8); _local9.endFill(); _local9.beginFill(_arg2); _local9.drawRect(1, 0, (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg3); _local9.drawRect(1, (_local8 - 1), (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg4); _local9.drawRect(1, 1, (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg5); _local9.drawRect(1, (_local8 - 2), (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg6); _local9.drawRect(1, 2, (_local7 - 2), (_local8 - 4)); _local9.drawRect(2, 2, (_local7 - 4), (_local8 - 4)); _local9.endFill(); } mx_internal function getBackgroundColorMetrics():EdgeMetrics{ return (borderMetrics); } mx_internal function getDropShadowAngle(_arg1:Number, _arg2:String):Number{ if (_arg2 == "left"){ return (((_arg1 >= 0)) ? 135 : 225); //unresolved jump }; if (_arg2 == "right"){ return (((_arg1 >= 0)) ? 45 : 315); //unresolved jump }; return (((_arg1 >= 0)) ? 90 : 270); } override public function get borderMetrics():EdgeMetrics{ var _local1:Number; var _local3:String; if (_borderMetrics){ return (_borderMetrics); }; var _local2:String = getStyle("borderStyle"); if ((((_local2 == "default")) || ((_local2 == "alert")))){ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _borderMetrics = new EdgeMetrics(0, 0, 0, 0); } else { return (EdgeMetrics.EMPTY); }; } else { if ((((_local2 == "controlBar")) || ((_local2 == "applicationControlBar")))){ _borderMetrics = new EdgeMetrics(1, 1, 1, 1); } else { if (_local2 == "solid"){ _local1 = getStyle("borderThickness"); if (isNaN(_local1)){ _local1 = 0; }; _borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1); _local3 = getStyle("borderSides"); if (_local3 != "left top right bottom"){ if (_local3.indexOf("left") == -1){ _borderMetrics.left = 0; }; if (_local3.indexOf("top") == -1){ _borderMetrics.top = 0; }; if (_local3.indexOf("right") == -1){ _borderMetrics.right = 0; }; if (_local3.indexOf("bottom") == -1){ _borderMetrics.bottom = 0; }; }; } else { _local1 = BORDER_WIDTHS[_local2]; if (isNaN(_local1)){ _local1 = 0; }; _borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1); }; }; }; return (_borderMetrics); } } }//package mx.skins.halo
Section 51
//HaloFocusRect (mx.skins.halo.HaloFocusRect) package mx.skins.halo { import mx.styles.*; import flash.display.*; import mx.skins.*; import mx.utils.*; public class HaloFocusRect extends ProgrammaticSkin implements IStyleClient { private var _focusColor:Number; mx_internal static const VERSION:String = "3.4.1.10084"; public function get inheritingStyles():Object{ return (styleName.inheritingStyles); } public function set inheritingStyles(_arg1:Object):void{ } public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{ } public function registerEffects(_arg1:Array):void{ } public function regenerateStyleCache(_arg1:Boolean):void{ } public function get styleDeclaration():CSSStyleDeclaration{ return (CSSStyleDeclaration(styleName)); } public function getClassStyleDeclarations():Array{ return ([]); } public function get className():String{ return ("HaloFocusRect"); } public function clearStyle(_arg1:String):void{ if (_arg1 == "focusColor"){ _focusColor = NaN; }; } public function setStyle(_arg1:String, _arg2):void{ if (_arg1 == "focusColor"){ _focusColor = _arg2; }; } public function set nonInheritingStyles(_arg1:Object):void{ } public function get nonInheritingStyles():Object{ return (styleName.nonInheritingStyles); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; super.updateDisplayList(_arg1, _arg2); var _local3:String = getStyle("focusBlendMode"); var _local4:Number = getStyle("focusAlpha"); var _local5:Number = getStyle("focusColor"); var _local6:Number = getStyle("cornerRadius"); var _local7:Number = getStyle("focusThickness"); var _local8:String = getStyle("focusRoundedCorners"); var _local9:Number = getStyle("themeColor"); var _local10:Number = _local5; if (isNaN(_local10)){ _local10 = _local9; }; var _local11:Graphics = graphics; _local11.clear(); if (_local3){ blendMode = _local3; }; if (((!((_local8 == "tl tr bl br"))) && ((_local6 > 0)))){ _local12 = 0; _local13 = 0; _local14 = 0; _local15 = 0; _local16 = (_local6 + _local7); if (_local8.indexOf("tl") >= 0){ _local12 = _local16; }; if (_local8.indexOf("tr") >= 0){ _local14 = _local16; }; if (_local8.indexOf("bl") >= 0){ _local13 = _local16; }; if (_local8.indexOf("br") >= 0){ _local15 = _local16; }; _local11.beginFill(_local10, _local4); GraphicsUtil.drawRoundRectComplex(_local11, 0, 0, _arg1, _arg2, _local12, _local14, _local13, _local15); _local12 = (_local12) ? _local6 : 0; _local14 = (_local14) ? _local6 : 0; _local13 = (_local13) ? _local6 : 0; _local15 = (_local15) ? _local6 : 0; GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15); _local11.endFill(); _local16 = (_local6 + (_local7 / 2)); _local12 = (_local12) ? _local16 : 0; _local14 = (_local14) ? _local16 : 0; _local13 = (_local13) ? _local16 : 0; _local15 = (_local15) ? _local16 : 0; _local11.beginFill(_local10, _local4); GraphicsUtil.drawRoundRectComplex(_local11, (_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local12, _local14, _local13, _local15); _local12 = (_local12) ? _local6 : 0; _local14 = (_local14) ? _local6 : 0; _local13 = (_local13) ? _local6 : 0; _local15 = (_local15) ? _local6 : 0; GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15); _local11.endFill(); } else { _local11.beginFill(_local10, _local4); _local17 = (((_local6 > 0)) ? (_local6 + _local7) : 0 * 2); _local11.drawRoundRect(0, 0, _arg1, _arg2, _local17, _local17); _local17 = (_local6 * 2); _local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17); _local11.endFill(); _local11.beginFill(_local10, _local4); _local17 = (((_local6 > 0)) ? (_local6 + (_local7 / 2)) : 0 * 2); _local11.drawRoundRect((_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local17, _local17); _local17 = (_local6 * 2); _local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17); _local11.endFill(); }; } override public function getStyle(_arg1:String){ return (((_arg1 == "focusColor")) ? _focusColor : super.getStyle(_arg1)); } public function set styleDeclaration(_arg1:CSSStyleDeclaration):void{ } } }//package mx.skins.halo
Section 52
//Border (mx.skins.Border) package mx.skins { import mx.core.*; public class Border extends ProgrammaticSkin implements IBorder { mx_internal static const VERSION:String = "3.4.1.10084"; public function get borderMetrics():EdgeMetrics{ return (EdgeMetrics.EMPTY); } } }//package mx.skins
Section 53
//ProgrammaticSkin (mx.skins.ProgrammaticSkin) package mx.skins { import mx.core.*; import mx.styles.*; import flash.display.*; import flash.geom.*; import mx.managers.*; import mx.utils.*; public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin { private var _initialized:Boolean;// = false private var _height:Number; private var invalidateDisplayListFlag:Boolean;// = false private var _styleName:IStyleClient; private var _nestLevel:int;// = 0 private var _processedDescriptors:Boolean;// = false private var _updateCompletePendingFlag:Boolean;// = true private var _width:Number; mx_internal static const VERSION:String = "3.4.1.10084"; private static var tempMatrix:Matrix = new Matrix(); public function ProgrammaticSkin(){ _width = measuredWidth; _height = measuredHeight; } public function getStyle(_arg1:String){ return ((_styleName) ? _styleName.getStyle(_arg1) : null); } protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ } public function get nestLevel():int{ return (_nestLevel); } public function set nestLevel(_arg1:int):void{ _nestLevel = _arg1; invalidateDisplayList(); } override public function get height():Number{ return (_height); } public function get updateCompletePendingFlag():Boolean{ return (_updateCompletePendingFlag); } protected function verticalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{ return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 90)); } public function validateSize(_arg1:Boolean=false):void{ } public function invalidateDisplayList():void{ if (((!(invalidateDisplayListFlag)) && ((nestLevel > 0)))){ invalidateDisplayListFlag = true; UIComponentGlobals.layoutManager.invalidateDisplayList(this); }; } public function set updateCompletePendingFlag(_arg1:Boolean):void{ _updateCompletePendingFlag = _arg1; } protected function horizontalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{ return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 0)); } override public function set height(_arg1:Number):void{ _height = _arg1; invalidateDisplayList(); } public function set processedDescriptors(_arg1:Boolean):void{ _processedDescriptors = _arg1; } public function validateDisplayList():void{ invalidateDisplayListFlag = false; updateDisplayList(width, height); } public function get measuredWidth():Number{ return (0); } override public function set width(_arg1:Number):void{ _width = _arg1; invalidateDisplayList(); } public function get measuredHeight():Number{ return (0); } public function set initialized(_arg1:Boolean):void{ _initialized = _arg1; } protected function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null, _arg6:Object=null, _arg7:Object=null, _arg8:Matrix=null, _arg9:String="linear", _arg10:Array=null, _arg11:Object=null):void{ var _local13:Number; var _local14:Array; var _local15:Object; var _local12:Graphics = graphics; if ((((_arg3 == 0)) || ((_arg4 == 0)))){ return; }; if (_arg6 !== null){ if ((_arg6 is uint)){ _local12.beginFill(uint(_arg6), Number(_arg7)); } else { if ((_arg6 is Array)){ _local14 = ((_arg7 is Array)) ? (_arg7 as Array) : [_arg7, _arg7]; if (!_arg10){ _arg10 = [0, 0xFF]; }; _local12.beginGradientFill(_arg9, (_arg6 as Array), _local14, _arg10, _arg8); }; }; }; if (!_arg5){ _local12.drawRect(_arg1, _arg2, _arg3, _arg4); } else { if ((_arg5 is Number)){ _local13 = (Number(_arg5) * 2); _local12.drawRoundRect(_arg1, _arg2, _arg3, _arg4, _local13, _local13); } else { GraphicsUtil.drawRoundRectComplex(_local12, _arg1, _arg2, _arg3, _arg4, _arg5.tl, _arg5.tr, _arg5.bl, _arg5.br); }; }; if (_arg11){ _local15 = _arg11.r; if ((_local15 is Number)){ _local13 = (Number(_local15) * 2); _local12.drawRoundRect(_arg11.x, _arg11.y, _arg11.w, _arg11.h, _local13, _local13); } else { GraphicsUtil.drawRoundRectComplex(_local12, _arg11.x, _arg11.y, _arg11.w, _arg11.h, _local15.tl, _local15.tr, _local15.bl, _local15.br); }; }; if (_arg6 !== null){ _local12.endFill(); }; } public function get processedDescriptors():Boolean{ return (_processedDescriptors); } public function set styleName(_arg1:Object):void{ if (_styleName != _arg1){ _styleName = (_arg1 as IStyleClient); invalidateDisplayList(); }; } public function setActualSize(_arg1:Number, _arg2:Number):void{ var _local3:Boolean; if (_width != _arg1){ _width = _arg1; _local3 = true; }; if (_height != _arg2){ _height = _arg2; _local3 = true; }; if (_local3){ invalidateDisplayList(); }; } public function styleChanged(_arg1:String):void{ invalidateDisplayList(); } override public function get width():Number{ return (_width); } public function invalidateProperties():void{ } public function get initialized():Boolean{ return (_initialized); } protected function rotatedGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Matrix{ tempMatrix.createGradientBox(_arg3, _arg4, ((_arg5 * Math.PI) / 180), _arg1, _arg2); return (tempMatrix); } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } public function get styleName():Object{ return (_styleName); } public function validateNow():void{ if (invalidateDisplayListFlag){ validateDisplayList(); }; } public function invalidateSize():void{ } public function validateProperties():void{ } } }//package mx.skins
Section 54
//RectangularBorder (mx.skins.RectangularBorder) package mx.skins { import flash.events.*; import mx.core.*; import flash.utils.*; import mx.styles.*; import flash.system.*; import flash.display.*; import flash.geom.*; import mx.resources.*; import flash.net.*; public class RectangularBorder extends Border implements IRectangularBorder { private var backgroundImage:DisplayObject; private var backgroundImageHeight:Number; private var _backgroundImageBounds:Rectangle; private var backgroundImageStyle:Object; private var backgroundImageWidth:Number; private var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.4.1.10084"; public function RectangularBorder(){ resourceManager = ResourceManager.getInstance(); super(); addEventListener(Event.REMOVED, removedHandler); } public function layoutBackgroundImage():void{ var _local4:Number; var _local5:Number; var _local7:Number; var _local8:Number; var _local14:Number; var _local15:Graphics; var _local1:DisplayObject = parent; var _local2:EdgeMetrics = ((_local1 is IContainer)) ? IContainer(_local1).viewMetrics : borderMetrics; var _local3 = !((getStyle("backgroundAttachment") == "fixed")); if (_backgroundImageBounds){ _local4 = _backgroundImageBounds.width; _local5 = _backgroundImageBounds.height; } else { _local4 = ((width - _local2.left) - _local2.right); _local5 = ((height - _local2.top) - _local2.bottom); }; var _local6:Number = getBackgroundSize(); if (isNaN(_local6)){ _local7 = 1; _local8 = 1; } else { _local14 = (_local6 * 0.01); _local7 = ((_local14 * _local4) / backgroundImageWidth); _local8 = ((_local14 * _local5) / backgroundImageHeight); }; backgroundImage.scaleX = _local7; backgroundImage.scaleY = _local8; var _local9:Number = Math.round((0.5 * (_local4 - (backgroundImageWidth * _local7)))); var _local10:Number = Math.round((0.5 * (_local5 - (backgroundImageHeight * _local8)))); backgroundImage.x = _local2.left; backgroundImage.y = _local2.top; var _local11:Shape = Shape(backgroundImage.mask); _local11.x = _local2.left; _local11.y = _local2.top; if (((_local3) && ((_local1 is IContainer)))){ _local9 = (_local9 - IContainer(_local1).horizontalScrollPosition); _local10 = (_local10 - IContainer(_local1).verticalScrollPosition); }; backgroundImage.alpha = getStyle("backgroundAlpha"); backgroundImage.x = (backgroundImage.x + _local9); backgroundImage.y = (backgroundImage.y + _local10); var _local12:Number = ((width - _local2.left) - _local2.right); var _local13:Number = ((height - _local2.top) - _local2.bottom); if (((!((_local11.width == _local12))) || (!((_local11.height == _local13))))){ _local15 = _local11.graphics; _local15.clear(); _local15.beginFill(0xFFFFFF); _local15.drawRect(0, 0, _local12, _local13); _local15.endFill(); }; } public function set backgroundImageBounds(_arg1:Rectangle):void{ if (((((_backgroundImageBounds) && (_arg1))) && (_backgroundImageBounds.equals(_arg1)))){ return; }; _backgroundImageBounds = _arg1; invalidateDisplayList(); } private function getBackgroundSize():Number{ var _local3:int; var _local1:Number = NaN; var _local2:Object = getStyle("backgroundSize"); if (((_local2) && ((_local2 is String)))){ _local3 = _local2.indexOf("%"); if (_local3 != -1){ _local1 = Number(_local2.substr(0, _local3)); }; }; return (_local1); } private function removedHandler(_arg1:Event):void{ var _local2:IChildList; if (backgroundImage){ _local2 = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent); _local2.removeChild(backgroundImage.mask); _local2.removeChild(backgroundImage); backgroundImage = null; }; } private function initBackgroundImage(_arg1:DisplayObject):void{ backgroundImage = _arg1; if ((_arg1 is Loader)){ backgroundImageWidth = Loader(_arg1).contentLoaderInfo.width; backgroundImageHeight = Loader(_arg1).contentLoaderInfo.height; } else { backgroundImageWidth = backgroundImage.width; backgroundImageHeight = backgroundImage.height; if ((_arg1 is ISimpleStyleClient)){ ISimpleStyleClient(_arg1).styleName = styleName; }; }; var _local2:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent); var _local3:Shape = new FlexShape(); _local3.name = "backgroundMask"; _local3.x = 0; _local3.y = 0; _local2.addChild(_local3); var _local4:int = _local2.getChildIndex(this); _local2.addChildAt(backgroundImage, (_local4 + 1)); backgroundImage.mask = _local3; } public function get backgroundImageBounds():Rectangle{ return (_backgroundImageBounds); } public function get hasBackgroundImage():Boolean{ return (!((backgroundImage == null))); } private function completeEventHandler(_arg1:Event):void{ if (!parent){ return; }; var _local2:DisplayObject = DisplayObject(LoaderInfo(_arg1.target).loader); initBackgroundImage(_local2); layoutBackgroundImage(); dispatchEvent(_arg1.clone()); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var cls:Class; var newStyleObj:DisplayObject; var loader:Loader; var loaderContext:LoaderContext; var message:String; var unscaledWidth = _arg1; var unscaledHeight = _arg2; if (!parent){ return; }; var newStyle:Object = getStyle("backgroundImage"); if (newStyle != backgroundImageStyle){ removedHandler(null); backgroundImageStyle = newStyle; if (((newStyle) && ((newStyle as Class)))){ cls = Class(newStyle); initBackgroundImage(new (cls)); } else { if (((newStyle) && ((newStyle is String)))){ try { cls = Class(getDefinitionByName(String(newStyle))); } catch(e:Error) { }; if (cls){ newStyleObj = new (cls); initBackgroundImage(newStyleObj); } else { loader = new FlexLoader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeEventHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler); loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, errorEventHandler); loaderContext = new LoaderContext(); loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); loader.load(new URLRequest(String(newStyle)), loaderContext); }; } else { if (newStyle){ message = resourceManager.getString("skins", "notLoaded", [newStyle]); throw (new Error(message)); }; }; }; }; if (backgroundImage){ layoutBackgroundImage(); }; } private function errorEventHandler(_arg1:Event):void{ } } }//package mx.skins
Section 55
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration) package mx.styles { import flash.events.*; import mx.core.*; import flash.utils.*; import flash.display.*; import mx.managers.*; public class CSSStyleDeclaration extends EventDispatcher { mx_internal var effects:Array; protected var overrides:Object; public var defaultFactory:Function; public var factory:Function; mx_internal var selectorRefCount:int;// = 0 private var styleManager:IStyleManager2; private var clones:Dictionary; mx_internal static const VERSION:String = "3.4.1.10084"; private static const NOT_A_COLOR:uint = 4294967295; private static const FILTERMAP_PROP:String = "__reserved__filterMap"; public function CSSStyleDeclaration(_arg1:String=null){ clones = new Dictionary(true); super(); if (_arg1){ styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2); styleManager.setStyleDeclaration(_arg1, this, false); }; } mx_internal function addStyleToProtoChain(_arg1:Object, _arg2:DisplayObject, _arg3:Object=null):Object{ var p:String; var emptyObjectFactory:Function; var filteredChain:Object; var filterObjectFactory:Function; var i:String; var chain = _arg1; var target = _arg2; var filterMap = _arg3; var nodeAddedToChain:Boolean; var originalChain:Object = chain; if (filterMap){ chain = {}; }; if (defaultFactory != null){ defaultFactory.prototype = chain; chain = new defaultFactory(); nodeAddedToChain = true; }; if (factory != null){ factory.prototype = chain; chain = new factory(); nodeAddedToChain = true; }; if (overrides){ if ((((defaultFactory == null)) && ((factory == null)))){ emptyObjectFactory = function ():void{ }; emptyObjectFactory.prototype = chain; chain = new (emptyObjectFactory); nodeAddedToChain = true; }; for (p in overrides) { if (overrides[p] === undefined){ delete chain[p]; } else { chain[p] = overrides[p]; }; }; }; if (filterMap){ if (nodeAddedToChain){ filteredChain = {}; filterObjectFactory = function ():void{ }; filterObjectFactory.prototype = originalChain; filteredChain = new (filterObjectFactory); for (i in chain) { if (filterMap[i] != null){ filteredChain[filterMap[i]] = chain[i]; }; }; chain = filteredChain; chain[FILTERMAP_PROP] = filterMap; } else { chain = originalChain; }; }; if (nodeAddedToChain){ clones[chain] = 1; }; return (chain); } public function getStyle(_arg1:String){ var _local2:*; var _local3:*; if (overrides){ if ((((_arg1 in overrides)) && ((overrides[_arg1] === undefined)))){ return (undefined); }; _local3 = overrides[_arg1]; if (_local3 !== undefined){ return (_local3); }; }; if (factory != null){ factory.prototype = {}; _local2 = new factory(); _local3 = _local2[_arg1]; if (_local3 !== undefined){ return (_local3); }; }; if (defaultFactory != null){ defaultFactory.prototype = {}; _local2 = new defaultFactory(); _local3 = _local2[_arg1]; if (_local3 !== undefined){ return (_local3); }; }; return (undefined); } public function clearStyle(_arg1:String):void{ setStyle(_arg1, undefined); } public function setStyle(_arg1:String, _arg2):void{ var _local7:int; var _local8:Object; var _local3:Object = getStyle(_arg1); var _local4:Boolean; if ((((((((((selectorRefCount > 0)) && ((factory == null)))) && ((defaultFactory == null)))) && (!(overrides)))) && (!((_local3 === _arg2))))){ _local4 = true; }; if (_arg2 !== undefined){ setStyle(_arg1, _arg2); } else { if (_arg2 == _local3){ return; }; setStyle(_arg1, _arg2); }; var _local5:Array = SystemManagerGlobals.topLevelSystemManagers; var _local6:int = _local5.length; if (_local4){ _local7 = 0; while (_local7 < _local6) { _local8 = _local5[_local7]; _local8.regenerateStyleCache(true); _local7++; }; }; _local7 = 0; while (_local7 < _local6) { _local8 = _local5[_local7]; _local8.notifyStyleChangeInChildren(_arg1, true); _local7++; }; } private function clearStyleAttr(_arg1:String):void{ var _local2:*; if (!overrides){ overrides = {}; }; overrides[_arg1] = undefined; for (_local2 in clones) { delete _local2[_arg1]; }; } mx_internal function createProtoChainRoot():Object{ var _local1:Object = {}; if (defaultFactory != null){ defaultFactory.prototype = _local1; _local1 = new defaultFactory(); }; if (factory != null){ factory.prototype = _local1; _local1 = new factory(); }; clones[_local1] = 1; return (_local1); } mx_internal function clearOverride(_arg1:String):void{ if (((overrides) && (overrides[_arg1]))){ delete overrides[_arg1]; }; } mx_internal function setStyle(_arg1:String, _arg2):void{ var _local3:Object; var _local4:*; var _local5:Number; var _local6:Object; if (_arg2 === undefined){ clearStyleAttr(_arg1); return; }; if ((_arg2 is String)){ if (!styleManager){ styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2); }; _local5 = styleManager.getColorName(_arg2); if (_local5 != NOT_A_COLOR){ _arg2 = _local5; }; }; if (defaultFactory != null){ _local3 = new defaultFactory(); if (_local3[_arg1] !== _arg2){ if (!overrides){ overrides = {}; }; overrides[_arg1] = _arg2; } else { if (overrides){ delete overrides[_arg1]; }; }; }; if (factory != null){ _local3 = new factory(); if (_local3[_arg1] !== _arg2){ if (!overrides){ overrides = {}; }; overrides[_arg1] = _arg2; } else { if (overrides){ delete overrides[_arg1]; }; }; }; if ((((defaultFactory == null)) && ((factory == null)))){ if (!overrides){ overrides = {}; }; overrides[_arg1] = _arg2; }; for (_local4 in clones) { _local6 = _local4[FILTERMAP_PROP]; if (_local6){ if (_local6[_arg1] != null){ _local4[_local6[_arg1]] = _arg2; }; } else { _local4[_arg1] = _arg2; }; }; } } }//package mx.styles
Section 56
//ISimpleStyleClient (mx.styles.ISimpleStyleClient) package mx.styles { public interface ISimpleStyleClient { function set styleName(_arg1:Object):void; function styleChanged(_arg1:String):void; function get styleName():Object; } }//package mx.styles
Section 57
//IStyleClient (mx.styles.IStyleClient) package mx.styles { public interface IStyleClient extends ISimpleStyleClient { function regenerateStyleCache(_arg1:Boolean):void; function get className():String; function clearStyle(_arg1:String):void; function getClassStyleDeclarations():Array; function get inheritingStyles():Object; function set nonInheritingStyles(_arg1:Object):void; function setStyle(_arg1:String, _arg2):void; function get styleDeclaration():CSSStyleDeclaration; function set styleDeclaration(_arg1:CSSStyleDeclaration):void; function get nonInheritingStyles():Object; function set inheritingStyles(_arg1:Object):void; function getStyle(_arg1:String); function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void; function registerEffects(_arg1:Array):void; } }//package mx.styles
Section 58
//IStyleManager (mx.styles.IStyleManager) package mx.styles { import flash.events.*; public interface IStyleManager { function isColorName(_arg1:String):Boolean; function registerParentDisplayListInvalidatingStyle(_arg1:String):void; function registerInheritingStyle(_arg1:String):void; function set stylesRoot(_arg1:Object):void; function get typeSelectorCache():Object; function styleDeclarationsChanged():void; function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void; function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean; function isSizeInvalidatingStyle(_arg1:String):Boolean; function get inheritingStyles():Object; function isValidStyleValue(_arg1):Boolean; function isParentSizeInvalidatingStyle(_arg1:String):Boolean; function getColorName(_arg1:Object):uint; function set typeSelectorCache(_arg1:Object):void; function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void; function getColorNames(_arg1:Array):void; function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher; function isInheritingStyle(_arg1:String):Boolean; function set inheritingStyles(_arg1:Object):void; function get stylesRoot():Object; function initProtoChainRoots():void; function registerColorName(_arg1:String, _arg2:uint):void; function registerParentSizeInvalidatingStyle(_arg1:String):void; function registerSizeInvalidatingStyle(_arg1:String):void; function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void; function isInheritingTextFormatStyle(_arg1:String):Boolean; function getStyleDeclaration(_arg1:String):CSSStyleDeclaration; } }//package mx.styles
Section 59
//IStyleManager2 (mx.styles.IStyleManager2) package mx.styles { import flash.events.*; import flash.system.*; public interface IStyleManager2 extends IStyleManager { function get selectors():Array; function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher; } }//package mx.styles
Section 60
//IStyleModule (mx.styles.IStyleModule) package mx.styles { public interface IStyleModule { function unload():void; } }//package mx.styles
Section 61
//StyleManager (mx.styles.StyleManager) package mx.styles { import flash.events.*; import mx.core.*; import flash.system.*; public class StyleManager { mx_internal static const VERSION:String = "3.4.1.10084"; public static const NOT_A_COLOR:uint = 4294967295; private static var _impl:IStyleManager2; private static var implClassDependency:StyleManagerImpl; public static function isParentSizeInvalidatingStyle(_arg1:String):Boolean{ return (impl.isParentSizeInvalidatingStyle(_arg1)); } public static function registerInheritingStyle(_arg1:String):void{ impl.registerInheritingStyle(_arg1); } mx_internal static function set stylesRoot(_arg1:Object):void{ impl.stylesRoot = _arg1; } mx_internal static function get inheritingStyles():Object{ return (impl.inheritingStyles); } mx_internal static function styleDeclarationsChanged():void{ impl.styleDeclarationsChanged(); } public static function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{ impl.setStyleDeclaration(_arg1, _arg2, _arg3); } public static function registerParentDisplayListInvalidatingStyle(_arg1:String):void{ impl.registerParentDisplayListInvalidatingStyle(_arg1); } mx_internal static function get typeSelectorCache():Object{ return (impl.typeSelectorCache); } mx_internal static function set inheritingStyles(_arg1:Object):void{ impl.inheritingStyles = _arg1; } public static function isColorName(_arg1:String):Boolean{ return (impl.isColorName(_arg1)); } public static function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{ return (impl.isParentDisplayListInvalidatingStyle(_arg1)); } public static function isSizeInvalidatingStyle(_arg1:String):Boolean{ return (impl.isSizeInvalidatingStyle(_arg1)); } public static function getColorName(_arg1:Object):uint{ return (impl.getColorName(_arg1)); } mx_internal static function set typeSelectorCache(_arg1:Object):void{ impl.typeSelectorCache = _arg1; } public static function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{ impl.unloadStyleDeclarations(_arg1, _arg2); } public static function getColorNames(_arg1:Array):void{ impl.getColorNames(_arg1); } public static function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false, _arg4:ApplicationDomain=null, _arg5:SecurityDomain=null):IEventDispatcher{ return (impl.loadStyleDeclarations2(_arg1, _arg2, _arg4, _arg5)); } private static function get impl():IStyleManager2{ if (!_impl){ _impl = IStyleManager2(Singleton.getInstance("mx.styles::IStyleManager2")); }; return (_impl); } public static function isValidStyleValue(_arg1):Boolean{ return (impl.isValidStyleValue(_arg1)); } mx_internal static function get stylesRoot():Object{ return (impl.stylesRoot); } public static function isInheritingStyle(_arg1:String):Boolean{ return (impl.isInheritingStyle(_arg1)); } mx_internal static function initProtoChainRoots():void{ impl.initProtoChainRoots(); } public static function registerParentSizeInvalidatingStyle(_arg1:String):void{ impl.registerParentSizeInvalidatingStyle(_arg1); } public static function get selectors():Array{ return (impl.selectors); } public static function registerSizeInvalidatingStyle(_arg1:String):void{ impl.registerSizeInvalidatingStyle(_arg1); } public static function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{ impl.clearStyleDeclaration(_arg1, _arg2); } public static function registerColorName(_arg1:String, _arg2:uint):void{ impl.registerColorName(_arg1, _arg2); } public static function isInheritingTextFormatStyle(_arg1:String):Boolean{ return (impl.isInheritingTextFormatStyle(_arg1)); } public static function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{ return (impl.getStyleDeclaration(_arg1)); } } }//package mx.styles
Section 62
//StyleManagerImpl (mx.styles.StyleManagerImpl) package mx.styles { import flash.events.*; import mx.core.*; import flash.utils.*; import flash.system.*; import mx.modules.*; import mx.events.*; import mx.resources.*; import mx.managers.*; public class StyleManagerImpl implements IStyleManager2 { private var _stylesRoot:Object; private var _selectors:Object; private var styleModules:Object; private var _inheritingStyles:Object; private var resourceManager:IResourceManager; private var _typeSelectorCache:Object; mx_internal static const VERSION:String = "3.4.1.10084"; private static var parentSizeInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true}; private static var colorNames:Object = {transparent:"transparent", black:0, blue:0xFF, green:0x8000, gray:0x808080, silver:0xC0C0C0, lime:0xFF00, olive:0x808000, white:0xFFFFFF, yellow:0xFFFF00, maroon:0x800000, navy:128, red:0xFF0000, purple:0x800080, teal:0x8080, fuchsia:0xFF00FF, aqua:0xFFFF, magenta:0xFF00FF, cyan:0xFFFF, halogreen:8453965, haloblue:40447, haloorange:0xFFB600, halosilver:11455193}; private static var inheritingTextFormatStyles:Object = {align:true, bold:true, color:true, font:true, indent:true, italic:true, size:true}; private static var instance:IStyleManager2; private static var parentDisplayListInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true}; private static var sizeInvalidatingStyles:Object = {borderStyle:true, borderThickness:true, fontAntiAliasType:true, fontFamily:true, fontGridFitType:true, fontSharpness:true, fontSize:true, fontStyle:true, fontThickness:true, fontWeight:true, headerHeight:true, horizontalAlign:true, horizontalGap:true, kerning:true, leading:true, letterSpacing:true, paddingBottom:true, paddingLeft:true, paddingRight:true, paddingTop:true, strokeWidth:true, tabHeight:true, tabWidth:true, verticalAlign:true, verticalGap:true}; public function StyleManagerImpl(){ _selectors = {}; styleModules = {}; resourceManager = ResourceManager.getInstance(); _inheritingStyles = {}; _typeSelectorCache = {}; super(); } public function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{ _arg2.selectorRefCount++; _selectors[_arg1] = _arg2; typeSelectorCache = {}; if (_arg3){ styleDeclarationsChanged(); }; } public function registerParentDisplayListInvalidatingStyle(_arg1:String):void{ parentDisplayListInvalidatingStyles[_arg1] = true; } public function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{ var _local2:int; if (_arg1.charAt(0) != "."){ _local2 = _arg1.lastIndexOf("."); if (_local2 != -1){ _arg1 = _arg1.substr((_local2 + 1)); }; }; return (_selectors[_arg1]); } public function set typeSelectorCache(_arg1:Object):void{ _typeSelectorCache = _arg1; } public function isColorName(_arg1:String):Boolean{ return (!((colorNames[_arg1.toLowerCase()] === undefined))); } public function set inheritingStyles(_arg1:Object):void{ _inheritingStyles = _arg1; } public function getColorNames(_arg1:Array):void{ var _local4:uint; if (!_arg1){ return; }; var _local2:int = _arg1.length; var _local3:int; while (_local3 < _local2) { if (((!((_arg1[_local3] == null))) && (isNaN(_arg1[_local3])))){ _local4 = getColorName(_arg1[_local3]); if (_local4 != StyleManager.NOT_A_COLOR){ _arg1[_local3] = _local4; }; }; _local3++; }; } public function isInheritingTextFormatStyle(_arg1:String):Boolean{ return ((inheritingTextFormatStyles[_arg1] == true)); } public function registerParentSizeInvalidatingStyle(_arg1:String):void{ parentSizeInvalidatingStyles[_arg1] = true; } public function registerColorName(_arg1:String, _arg2:uint):void{ colorNames[_arg1.toLowerCase()] = _arg2; } public function isParentSizeInvalidatingStyle(_arg1:String):Boolean{ return ((parentSizeInvalidatingStyles[_arg1] == true)); } public function registerInheritingStyle(_arg1:String):void{ inheritingStyles[_arg1] = true; } public function set stylesRoot(_arg1:Object):void{ _stylesRoot = _arg1; } public function get typeSelectorCache():Object{ return (_typeSelectorCache); } public function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{ return ((parentDisplayListInvalidatingStyles[_arg1] == true)); } public function isSizeInvalidatingStyle(_arg1:String):Boolean{ return ((sizeInvalidatingStyles[_arg1] == true)); } public function styleDeclarationsChanged():void{ var _local4:Object; var _local1:Array = SystemManagerGlobals.topLevelSystemManagers; var _local2:int = _local1.length; var _local3:int; while (_local3 < _local2) { _local4 = _local1[_local3]; _local4.regenerateStyleCache(true); _local4.notifyStyleChangeInChildren(null, true); _local3++; }; } public function isValidStyleValue(_arg1):Boolean{ return (!((_arg1 === undefined))); } public function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher{ return (loadStyleDeclarations2(_arg1, _arg2)); } public function get inheritingStyles():Object{ return (_inheritingStyles); } public function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{ var _local4:IModuleInfo; var _local3:StyleModuleInfo = styleModules[_arg1]; if (_local3){ _local3.styleModule.unload(); _local4 = _local3.module; _local4.unload(); _local4.removeEventListener(ModuleEvent.READY, _local3.readyHandler); _local4.removeEventListener(ModuleEvent.ERROR, _local3.errorHandler); styleModules[_arg1] = null; }; if (_arg2){ styleDeclarationsChanged(); }; } public function getColorName(_arg1:Object):uint{ var _local2:Number; var _local3:*; if ((_arg1 is String)){ if (_arg1.charAt(0) == "#"){ _local2 = Number(("0x" + _arg1.slice(1))); return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2)); }; if ((((_arg1.charAt(1) == "x")) && ((_arg1.charAt(0) == "0")))){ _local2 = Number(_arg1); return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2)); }; _local3 = colorNames[_arg1.toLowerCase()]; if (_local3 === undefined){ return (StyleManager.NOT_A_COLOR); }; return (uint(_local3)); }; return (uint(_arg1)); } public function isInheritingStyle(_arg1:String):Boolean{ return ((inheritingStyles[_arg1] == true)); } public function get stylesRoot():Object{ return (_stylesRoot); } public function initProtoChainRoots():void{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ delete _inheritingStyles["textDecoration"]; delete _inheritingStyles["leading"]; }; if (!stylesRoot){ stylesRoot = _selectors["global"].addStyleToProtoChain({}, null); }; } public function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{ var module:IModuleInfo; var styleEventDispatcher:StyleEventDispatcher; var timer:Timer; var timerHandler:Function; var url = _arg1; var update = _arg2; var applicationDomain = _arg3; var securityDomain = _arg4; module = ModuleManager.getModule(url); var readyHandler:Function = function (_arg1:ModuleEvent):void{ var _local2:IStyleModule = IStyleModule(_arg1.module.factory.create()); styleModules[_arg1.module.url].styleModule = _local2; if (update){ styleDeclarationsChanged(); }; }; module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true); styleEventDispatcher = new StyleEventDispatcher(module); var errorHandler:Function = function (_arg1:ModuleEvent):void{ var _local3:StyleEvent; var _local2:String = resourceManager.getString("styles", "unableToLoad", [_arg1.errorText, url]); if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){ _local3 = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local3.bytesLoaded = 0; _local3.bytesTotal = 0; _local3.errorText = _local2; styleEventDispatcher.dispatchEvent(_local3); } else { throw (new Error(_local2)); }; }; module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true); styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler); timer = new Timer(0); timerHandler = function (_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.stop(); module.load(applicationDomain, securityDomain); }; timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true); timer.start(); return (styleEventDispatcher); } public function registerSizeInvalidatingStyle(_arg1:String):void{ sizeInvalidatingStyles[_arg1] = true; } public function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{ var _local3:CSSStyleDeclaration = getStyleDeclaration(_arg1); if (((_local3) && ((_local3.selectorRefCount > 0)))){ _local3.selectorRefCount--; }; delete _selectors[_arg1]; if (_arg2){ styleDeclarationsChanged(); }; } public function get selectors():Array{ var _local2:String; var _local1:Array = []; for (_local2 in _selectors) { _local1.push(_local2); }; return (_local1); } public static function getInstance():IStyleManager2{ if (!instance){ instance = new (StyleManagerImpl); }; return (instance); } } }//package mx.styles import flash.events.*; import mx.modules.*; import mx.events.*; class StyleEventDispatcher extends EventDispatcher { private function StyleEventDispatcher(_arg1:IModuleInfo){ _arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true); } private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{ var _local2:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{ var _local2:StyleEvent = new StyleEvent(StyleEvent.COMPLETE); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{ var _local2:StyleEvent = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; _local2.errorText = _arg1.errorText; dispatchEvent(_local2); } } class StyleModuleInfo { public var errorHandler:Function; public var readyHandler:Function; public var module:IModuleInfo; public var styleModule:IStyleModule; private function StyleModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){ this.module = _arg1; this.readyHandler = _arg2; this.errorHandler = _arg3; } }
Section 63
//ColorUtil (mx.utils.ColorUtil) package mx.utils { public class ColorUtil { mx_internal static const VERSION:String = "3.4.1.10084"; public static function adjustBrightness2(_arg1:uint, _arg2:Number):uint{ var _local3:Number; var _local4:Number; var _local5:Number; if (_arg2 == 0){ return (_arg1); }; if (_arg2 < 0){ _arg2 = ((100 + _arg2) / 100); _local3 = (((_arg1 >> 16) & 0xFF) * _arg2); _local4 = (((_arg1 >> 8) & 0xFF) * _arg2); _local5 = ((_arg1 & 0xFF) * _arg2); } else { _arg2 = (_arg2 / 100); _local3 = ((_arg1 >> 16) & 0xFF); _local4 = ((_arg1 >> 8) & 0xFF); _local5 = (_arg1 & 0xFF); _local3 = (_local3 + ((0xFF - _local3) * _arg2)); _local4 = (_local4 + ((0xFF - _local4) * _arg2)); _local5 = (_local5 + ((0xFF - _local5) * _arg2)); _local3 = Math.min(_local3, 0xFF); _local4 = Math.min(_local4, 0xFF); _local5 = Math.min(_local5, 0xFF); }; return ((((_local3 << 16) | (_local4 << 8)) | _local5)); } public static function rgbMultiply(_arg1:uint, _arg2:uint):uint{ var _local3:Number = ((_arg1 >> 16) & 0xFF); var _local4:Number = ((_arg1 >> 8) & 0xFF); var _local5:Number = (_arg1 & 0xFF); var _local6:Number = ((_arg2 >> 16) & 0xFF); var _local7:Number = ((_arg2 >> 8) & 0xFF); var _local8:Number = (_arg2 & 0xFF); return ((((((_local3 * _local6) / 0xFF) << 16) | (((_local4 * _local7) / 0xFF) << 8)) | ((_local5 * _local8) / 0xFF))); } public static function adjustBrightness(_arg1:uint, _arg2:Number):uint{ var _local3:Number = Math.max(Math.min((((_arg1 >> 16) & 0xFF) + _arg2), 0xFF), 0); var _local4:Number = Math.max(Math.min((((_arg1 >> 8) & 0xFF) + _arg2), 0xFF), 0); var _local5:Number = Math.max(Math.min(((_arg1 & 0xFF) + _arg2), 0xFF), 0); return ((((_local3 << 16) | (_local4 << 8)) | _local5)); } } }//package mx.utils
Section 64
//GraphicsUtil (mx.utils.GraphicsUtil) package mx.utils { import flash.display.*; public class GraphicsUtil { mx_internal static const VERSION:String = "3.4.1.10084"; public static function drawRoundRectComplex(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number):void{ var _local10:Number = (_arg2 + _arg4); var _local11:Number = (_arg3 + _arg5); var _local12:Number = ((_arg4 < _arg5)) ? (_arg4 * 2) : (_arg5 * 2); _arg6 = ((_arg6 < _local12)) ? _arg6 : _local12; _arg7 = ((_arg7 < _local12)) ? _arg7 : _local12; _arg8 = ((_arg8 < _local12)) ? _arg8 : _local12; _arg9 = ((_arg9 < _local12)) ? _arg9 : _local12; var _local13:Number = (_arg9 * 0.292893218813453); var _local14:Number = (_arg9 * 0.585786437626905); _arg1.moveTo(_local10, (_local11 - _arg9)); _arg1.curveTo(_local10, (_local11 - _local14), (_local10 - _local13), (_local11 - _local13)); _arg1.curveTo((_local10 - _local14), _local11, (_local10 - _arg9), _local11); _local13 = (_arg8 * 0.292893218813453); _local14 = (_arg8 * 0.585786437626905); _arg1.lineTo((_arg2 + _arg8), _local11); _arg1.curveTo((_arg2 + _local14), _local11, (_arg2 + _local13), (_local11 - _local13)); _arg1.curveTo(_arg2, (_local11 - _local14), _arg2, (_local11 - _arg8)); _local13 = (_arg6 * 0.292893218813453); _local14 = (_arg6 * 0.585786437626905); _arg1.lineTo(_arg2, (_arg3 + _arg6)); _arg1.curveTo(_arg2, (_arg3 + _local14), (_arg2 + _local13), (_arg3 + _local13)); _arg1.curveTo((_arg2 + _local14), _arg3, (_arg2 + _arg6), _arg3); _local13 = (_arg7 * 0.292893218813453); _local14 = (_arg7 * 0.585786437626905); _arg1.lineTo((_local10 - _arg7), _arg3); _arg1.curveTo((_local10 - _local14), _arg3, (_local10 - _local13), (_arg3 + _local13)); _arg1.curveTo(_local10, (_arg3 + _local14), _local10, (_arg3 + _arg7)); _arg1.lineTo(_local10, (_local11 - _arg9)); } } }//package mx.utils
Section 65
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import mx.core.*; import flash.utils.*; public class NameUtil { mx_internal static const VERSION:String = "3.4.1.10084"; private static var counter:int = 0; public static function displayObjectToString(_arg1:DisplayObject):String{ var result:String; var o:DisplayObject; var s:String; var indices:Array; var displayObject = _arg1; try { o = displayObject; while (o != null) { if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){ break; }; s = o.name; if ((o is IRepeaterClient)){ indices = IRepeaterClient(o).instanceIndices; if (indices){ s = (s + (("[" + indices.join("][")) + "]")); }; }; result = ((result == null)) ? s : ((s + ".") + result); o = o.parent; }; } catch(e:SecurityError) { }; return (result); } public static function createUniqueName(_arg1:Object):String{ if (!_arg1){ return (null); }; var _local2:String = getQualifiedClassName(_arg1); var _local3:int = _local2.indexOf("::"); if (_local3 != -1){ _local2 = _local2.substr((_local3 + 2)); }; var _local4:int = _local2.charCodeAt((_local2.length - 1)); if ((((_local4 >= 48)) && ((_local4 <= 57)))){ _local2 = (_local2 + "_"); }; return ((_local2 + counter++)); } } }//package mx.utils
Section 66
//StringUtil (mx.utils.StringUtil) package mx.utils { public class StringUtil { mx_internal static const VERSION:String = "3.4.1.10084"; public static function trim(_arg1:String):String{ if (_arg1 == null){ return (""); }; var _local2:int; while (isWhitespace(_arg1.charAt(_local2))) { _local2++; }; var _local3:int = (_arg1.length - 1); while (isWhitespace(_arg1.charAt(_local3))) { _local3--; }; if (_local3 >= _local2){ return (_arg1.slice(_local2, (_local3 + 1))); }; return (""); } public static function isWhitespace(_arg1:String):Boolean{ switch (_arg1){ case " ": case "\t": case "\r": case "\n": case "\f": return (true); default: return (false); }; } public static function substitute(_arg1:String, ... _args):String{ var _local4:Array; if (_arg1 == null){ return (""); }; var _local3:uint = _args.length; if ((((_local3 == 1)) && ((_args[0] is Array)))){ _local4 = (_args[0] as Array); _local3 = _local4.length; } else { _local4 = _args; }; var _local5:int; while (_local5 < _local3) { _arg1 = _arg1.replace(new RegExp((("\\{" + _local5) + "\\}"), "g"), _local4[_local5]); _local5++; }; return (_arg1); } public static function trimArrayElements(_arg1:String, _arg2:String):String{ var _local3:Array; var _local4:int; var _local5:int; if (((!((_arg1 == ""))) && (!((_arg1 == null))))){ _local3 = _arg1.split(_arg2); _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { _local3[_local5] = StringUtil.trim(_local3[_local5]); _local5++; }; if (_local4 > 0){ _arg1 = _local3.join(_arg2); }; }; return (_arg1); } } }//package mx.utils
Section 67
//FlxAnim (org.flixel.data.FlxAnim) package org.flixel.data { public class FlxAnim { public var delay:Number; public var frames:Array; public var looped:Boolean; public var name:String; public function FlxAnim(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true){ name = _arg1; delay = 0; if (_arg3 > 0){ delay = (1 / _arg3); }; frames = _arg2; looped = _arg4; } } }//package org.flixel.data
Section 68
//FlxConsole (org.flixel.data.FlxConsole) package org.flixel.data { import flash.display.*; import org.flixel.*; import flash.text.*; public class FlxConsole extends Sprite { protected const MAX_CONSOLE_LINES:uint = 0x0100; protected var _lines:Array; protected var _text:TextField; public var mtrUpdate:FlxMonitor; public var mtrTotal:FlxMonitor; protected var _Y:Number; protected var _console:Sprite; public var mtrRender:FlxMonitor; protected var _curFPS:uint; protected var _extraDisplay:TextField; protected var _bx:int; protected var _by:int; protected var _YT:Number; protected var _byt:int; protected var _fpsDisplay:TextField; public function FlxConsole(_arg1:uint, _arg2:uint, _arg3:uint){ visible = false; x = (_arg1 * _arg3); _by = (_arg2 * _arg3); _byt = (_by - (FlxG.height * _arg3)); _YT = (_Y = (y = _byt)); var _local4:Bitmap = new Bitmap(new BitmapData((FlxG.width * _arg3), (FlxG.height * _arg3), true, 2130706432)); addChild(_local4); mtrUpdate = new FlxMonitor(8); mtrRender = new FlxMonitor(8); mtrTotal = new FlxMonitor(8); _text = new TextField(); _text.width = _local4.width; _text.height = _local4.height; _text.multiline = true; _text.wordWrap = true; _text.embedFonts = true; _text.selectable = false; _text.antiAliasType = AntiAliasType.NORMAL; _text.gridFitType = GridFitType.PIXEL; _text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF); addChild(_text); _fpsDisplay = new TextField(); _fpsDisplay.width = 100; _fpsDisplay.x = (_local4.width - 100); _fpsDisplay.height = 20; _fpsDisplay.multiline = true; _fpsDisplay.wordWrap = true; _fpsDisplay.embedFonts = true; _fpsDisplay.selectable = false; _fpsDisplay.antiAliasType = AntiAliasType.NORMAL; _fpsDisplay.gridFitType = GridFitType.PIXEL; _fpsDisplay.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right"); addChild(_fpsDisplay); _extraDisplay = new TextField(); _extraDisplay.width = 100; _extraDisplay.x = (_local4.width - 100); _extraDisplay.height = 64; _extraDisplay.y = 20; _extraDisplay.alpha = 0.5; _extraDisplay.multiline = true; _extraDisplay.wordWrap = true; _extraDisplay.embedFonts = true; _extraDisplay.selectable = false; _extraDisplay.antiAliasType = AntiAliasType.NORMAL; _extraDisplay.gridFitType = GridFitType.PIXEL; _extraDisplay.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, true, null, null, null, null, "right"); addChild(_extraDisplay); _lines = new Array(); } public function log(_arg1:String):void{ var _local2:String; var _local3:uint; if (_arg1 == null){ _arg1 = "NULL"; }; trace(_arg1); _lines.push(_arg1); if (_lines.length > MAX_CONSOLE_LINES){ _lines.shift(); _local2 = ""; _local3 = 0; while (_local3 < _lines.length) { _local2 = (_local2 + (_lines[_local3] + "\n")); _local3++; }; _text.text = _local2; } else { _text.appendText((_arg1 + "\n")); }; _text.scrollV = _text.height; } public function update():void{ var _local1:Number = mtrTotal.average(); _fpsDisplay.text = (uint((1000 / _local1)) + " fps"); var _local2:uint = mtrUpdate.average(); var _local3:uint = mtrRender.average(); var _local4:uint = (_local2 + _local3); var _local5:uint = uint(_local1); _extraDisplay.text = (((((((((_local2 + "ms update\n") + _local3) + "ms render\n") + _local4) + "ms flixel\n") + (_local5 - _local4)) + "ms flash\n") + _local5) + "ms total"); if (_Y < _YT){ _Y = (_Y + ((FlxG.height * 10) * FlxG.elapsed)); } else { if (_Y > _YT){ _Y = (_Y - ((FlxG.height * 10) * FlxG.elapsed)); }; }; if (_Y > _by){ _Y = _by; } else { if (_Y < _byt){ _Y = _byt; visible = false; }; }; y = Math.floor(_Y); } public function toggle():void{ if (_YT == _by){ _YT = _byt; } else { _YT = _by; visible = true; }; } } }//package org.flixel.data
Section 69
//FlxFade (org.flixel.data.FlxFade) package org.flixel.data { import org.flixel.*; public class FlxFade extends FlxSprite { protected var _delay:Number; protected var _complete:Function; public function FlxFade(){ createGraphic(FlxG.width, FlxG.height, 0, true); scrollFactor.x = 0; scrollFactor.y = 0; exists = false; solid = false; fixed = true; } override public function update():void{ alpha = (alpha + (FlxG.elapsed / _delay)); if (alpha >= 1){ alpha = 1; if (_complete != null){ _complete(); }; }; } public function start(_arg1:uint=4278190080, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ if (((!(_arg4)) && (exists))){ return; }; fill(_arg1); _delay = _arg2; _complete = _arg3; alpha = 0; exists = true; } public function stop():void{ exists = false; } } }//package org.flixel.data
Section 70
//FlxFlash (org.flixel.data.FlxFlash) package org.flixel.data { import org.flixel.*; public class FlxFlash extends FlxSprite { protected var _delay:Number; protected var _complete:Function; public function FlxFlash(){ createGraphic(FlxG.width, FlxG.height, 0, true); scrollFactor.x = 0; scrollFactor.y = 0; exists = false; solid = false; fixed = true; } override public function update():void{ alpha = (alpha - (FlxG.elapsed / _delay)); if (alpha <= 0){ exists = false; if (_complete != null){ _complete(); }; }; } public function start(_arg1:uint=4294967295, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ if (((!(_arg4)) && (exists))){ return; }; fill(_arg1); _delay = _arg2; _complete = _arg3; alpha = 1; exists = true; } public function stop():void{ exists = false; } } }//package org.flixel.data
Section 71
//FlxKeyboard (org.flixel.data.FlxKeyboard) package org.flixel.data { import flash.events.*; public class FlxKeyboard { protected const _t:uint = 0x0100; public var RIGHT:Boolean; public var LEFT:Boolean; public var FOUR:Boolean; public var TWO:Boolean; public var CONTROL:Boolean; public var A:Boolean; public var B:Boolean; public var C:Boolean; public var D:Boolean; public var E:Boolean; public var ONE:Boolean; public var G:Boolean; public var H:Boolean; public var I:Boolean; public var J:Boolean; public var K:Boolean; public var F:Boolean; public var N:Boolean; public var O:Boolean; public var Q:Boolean; public var R:Boolean; public var S:Boolean; public var T:Boolean; public var U:Boolean; public var MINUS:Boolean; public var Y:Boolean; public var L:Boolean; public var Z:Boolean; public var QUOTE:Boolean; public var V:Boolean; public var X:Boolean; public var P:Boolean; public var SHIFT:Boolean; public var SLASH:Boolean; public var BACKSPACE:Boolean; public var EIGHT:Boolean; public var W:Boolean; public var M:Boolean; public var THREE:Boolean; public var ESCAPE:Boolean; public var SEMICOLON:Boolean; public var CAPSLOCK:Boolean; protected var _lookup:Object; public var PLUS:Boolean; protected var _map:Array; public var lastCode:int; public var ZERO:Boolean; public var DOWN:Boolean; public var F1:Boolean; public var F2:Boolean; public var F3:Boolean; public var F4:Boolean; public var F5:Boolean; public var F6:Boolean; public var F7:Boolean; public var NINE:Boolean; public var F9:Boolean; public var ALT:Boolean; public var F8:Boolean; public var DELETE:Boolean; public var LBRACKET:Boolean; public var UP:Boolean; public var ENTER:Boolean; public var FIVE:Boolean; public var SIX:Boolean; public var COMMA:Boolean; public var PERIOD:Boolean; public var BACKSLASH:Boolean; public var F10:Boolean; public var F11:Boolean; public var F12:Boolean; public var SEVEN:Boolean; public var SPACE:Boolean; public var RBRACKET:Boolean; public function FlxKeyboard(){ var _local1:uint; _lookup = new Object(); _map = new Array(_t); _local1 = 65; while (_local1 <= 90) { addKey(String.fromCharCode(_local1), _local1); _local1++; }; _local1 = 48; var _temp1 = _local1; _local1 = (_local1 + 1); addKey("ZERO", _temp1); var _temp2 = _local1; _local1 = (_local1 + 1); addKey("ONE", _temp2); var _temp3 = _local1; _local1 = (_local1 + 1); addKey("TWO", _temp3); var _temp4 = _local1; _local1 = (_local1 + 1); addKey("THREE", _temp4); var _temp5 = _local1; _local1 = (_local1 + 1); addKey("FOUR", _temp5); var _temp6 = _local1; _local1 = (_local1 + 1); addKey("FIVE", _temp6); var _temp7 = _local1; _local1 = (_local1 + 1); addKey("SIX", _temp7); var _temp8 = _local1; _local1 = (_local1 + 1); addKey("SEVEN", _temp8); var _temp9 = _local1; _local1 = (_local1 + 1); addKey("EIGHT", _temp9); var _temp10 = _local1; _local1 = (_local1 + 1); addKey("NINE", _temp10); _local1 = 1; while (_local1 <= 12) { addKey(("F" + _local1), (111 + _local1)); _local1++; }; addKey("ESCAPE", 27); addKey("MINUS", 189); addKey("PLUS", 187); addKey("DELETE", 46); addKey("BACKSPACE", 8); addKey("LBRACKET", 219); addKey("RBRACKET", 221); addKey("BACKSLASH", 220); addKey("CAPSLOCK", 20); addKey("SEMICOLON", 186); addKey("QUOTE", 222); addKey("ENTER", 13); addKey("SHIFT", 16); addKey("COMMA", 188); addKey("PERIOD", 190); addKey("SLASH", 191); addKey("CONTROL", 17); addKey("ALT", 18); addKey("SPACE", 32); addKey("UP", 38); addKey("DOWN", 40); addKey("LEFT", 37); addKey("RIGHT", 39); } public function handleKeyUp(_arg1:KeyboardEvent):void{ lastCode = 0; var _local2:Object = _map[_arg1.keyCode]; if (_local2 == null){ return; }; if (_local2.current > 0){ _local2.current = -1; } else { _local2.current = 0; }; this[_local2.name] = false; } public function pressed(_arg1:String):Boolean{ return (this[_arg1]); } public function justReleased(_arg1:String):Boolean{ return ((_map[_lookup[_arg1]].current == -1)); } public function handleKeyDown(_arg1:KeyboardEvent):void{ lastCode = _arg1.keyCode; var _local2:Object = _map[_arg1.keyCode]; if (_local2 == null){ return; }; if (_local2.current > 0){ _local2.current = 1; } else { _local2.current = 2; }; this[_local2.name] = true; } public function reset():void{ var _local2:Object; var _local1:uint; while (_local1 < _t) { if (_map[_local1] == null){ } else { _local2 = _map[_local1]; this[_local2.name] = false; _local2.current = 0; _local2.last = 0; }; _local1++; }; } public function justPressed(_arg1:String):Boolean{ return ((_map[_lookup[_arg1]].current == 2)); } public function update():void{ var _local2:Object; var _local1:uint; while (_local1 < _t) { if (_map[_local1] == null){ } else { _local2 = _map[_local1]; if ((((_local2.last == -1)) && ((_local2.current == -1)))){ _local2.current = 0; } else { if ((((_local2.last == 2)) && ((_local2.current == 2)))){ _local2.current = 1; }; }; _local2.last = _local2.current; }; _local1++; }; } protected function addKey(_arg1:String, _arg2:uint):void{ _lookup[_arg1] = _arg2; _map[_arg2] = {name:_arg1, current:0, last:0}; } } }//package org.flixel.data
Section 72
//FlxKong (org.flixel.data.FlxKong) package org.flixel.data { import flash.events.*; import flash.display.*; import flash.net.*; public class FlxKong extends Sprite { public var API; public function FlxKong(){ API = null; } public function init():void{ var _local1:Object = LoaderInfo(root.loaderInfo).parameters; var _local2:String = ((_local1.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); var _local3:URLRequest = new URLRequest(_local2); var _local4:Loader = new Loader(); _local4.contentLoaderInfo.addEventListener(Event.COMPLETE, APILoaded); _local4.load(_local3); this.addChild(_local4); } protected function APILoaded(_arg1:Event):void{ API = _arg1.target.content; API.services.connect(); } } }//package org.flixel.data
Section 73
//FlxList (org.flixel.data.FlxList) package org.flixel.data { import org.flixel.*; public class FlxList { public var next:FlxList; public var object:FlxObject; public function FlxList(){ object = null; next = null; } } }//package org.flixel.data
Section 74
//FlxMouse (org.flixel.data.FlxMouse) package org.flixel.data { import flash.events.*; import org.flixel.*; public class FlxMouse { protected var ImgDefaultCursor:Class; protected var _out:Boolean; public var cursor:FlxSprite; public var screenY:int; protected var _last:int; public var x:int; public var y:int; protected var _current:int; public var screenX:int; public function FlxMouse(){ ImgDefaultCursor = FlxMouse_ImgDefaultCursor; super(); x = 0; y = 0; screenX = 0; screenY = 0; _current = 0; _last = 0; cursor = null; _out = false; } public function hide():void{ if (cursor != null){ cursor.visible = false; _out = false; }; } public function update(_arg1:int, _arg2:int, _arg3:Number, _arg4:Number):void{ screenX = _arg1; screenY = _arg2; x = (screenX - FlxU.floor(_arg3)); y = (screenY - FlxU.floor(_arg4)); if (cursor != null){ cursor.x = x; cursor.y = y; }; if ((((_last == -1)) && ((_current == -1)))){ _current = 0; } else { if ((((_last == 2)) && ((_current == 2)))){ _current = 1; }; }; _last = _current; } public function reset():void{ _current = 0; _last = 0; } public function justReleased():Boolean{ return ((_current == -1)); } public function handleMouseOver(_arg1:MouseEvent):void{ if (cursor != null){ cursor.visible = _out; }; } public function handleMouseDown(_arg1:MouseEvent):void{ if (_current > 0){ _current = 1; } else { _current = 2; }; } public function pressed():Boolean{ return ((_current > 0)); } public function justPressed():Boolean{ return ((_current == 2)); } public function load(_arg1:Class, _arg2:int=0, _arg3:int=0):void{ if (_arg1 == null){ _arg1 = ImgDefaultCursor; }; cursor = new FlxSprite(screenX, screenY, _arg1); cursor.offset.x = _arg2; cursor.offset.y = _arg3; } public function handleMouseUp(_arg1:MouseEvent):void{ if (_current > 0){ _current = -1; } else { _current = 0; }; } public function handleMouseOut(_arg1:MouseEvent):void{ if (cursor != null){ _out = cursor.visible; cursor.visible = false; }; } public function show(_arg1:Class=null, _arg2:int=0, _arg3:int=0):void{ _out = true; if (_arg1 != null){ load(_arg1, _arg2, _arg3); } else { if (cursor != null){ cursor.visible = true; } else { load(null); }; }; } public function unload():void{ if (cursor != null){ if (cursor.visible){ load(null); } else { cursor = null; }; }; } } }//package org.flixel.data
Section 75
//FlxMouse_ImgDefaultCursor (org.flixel.data.FlxMouse_ImgDefaultCursor) package org.flixel.data { import mx.core.*; public class FlxMouse_ImgDefaultCursor extends BitmapAsset { } }//package org.flixel.data
Section 76
//FlxPanel (org.flixel.data.FlxPanel) package org.flixel.data { import org.flixel.*; import flash.ui.*; public class FlxPanel extends FlxObject { protected var _close:FlxButton; protected var _digg:FlxButton; protected var _gameTitle:String; protected var _closed:Boolean; protected var _payPalID:String; protected var _donate:FlxButton; private var ImgClose:Class; protected var _topBar:FlxSprite; protected var _ty:Number; protected var _caption:FlxText; protected var _initialized:Boolean; protected var _twitter:FlxButton; protected var _delicious:FlxButton; protected var _stumble:FlxButton; private var ImgDelicious:Class; private var ImgTwitter:Class; protected var _mainBar:FlxSprite; protected var _gameURL:String; private var ImgStumble:Class; private var ImgReddit:Class; private var ImgDigg:Class; protected var _bottomBar:FlxSprite; protected var _payPalAmount:Number; protected var _s:Number; private var ImgDonate:Class; protected var _reddit:FlxButton; public function FlxPanel(){ ImgDonate = FlxPanel_ImgDonate; ImgStumble = FlxPanel_ImgStumble; ImgDigg = FlxPanel_ImgDigg; ImgReddit = FlxPanel_ImgReddit; ImgDelicious = FlxPanel_ImgDelicious; ImgTwitter = FlxPanel_ImgTwitter; ImgClose = FlxPanel_ImgClose; super(); y = -21; _ty = y; _closed = false; _initialized = false; _topBar = new FlxSprite(); _topBar.createGraphic(FlxG.width, 1, 2147483647); _topBar.scrollFactor.x = 0; _topBar.scrollFactor.y = 0; _mainBar = new FlxSprite(); _mainBar.createGraphic(FlxG.width, 19, 2130706432); _mainBar.scrollFactor.x = 0; _mainBar.scrollFactor.y = 0; _bottomBar = new FlxSprite(); _bottomBar.createGraphic(FlxG.width, 1, 2147483647); _bottomBar.scrollFactor.x = 0; _bottomBar.scrollFactor.y = 0; _donate = new FlxButton(3, 0, onDonate); _donate.loadGraphic(new FlxSprite(0, 0, ImgDonate)); _donate.scrollFactor.x = 0; _donate.scrollFactor.y = 0; _stumble = new FlxButton(((((((FlxG.width / 2) - 6) - 13) - 6) - 13) - 6), 0, onStumble); _stumble.loadGraphic(new FlxSprite(0, 0, ImgStumble)); _stumble.scrollFactor.x = 0; _stumble.scrollFactor.y = 0; _digg = new FlxButton(((((FlxG.width / 2) - 6) - 13) - 6), 0, onDigg); _digg.loadGraphic(new FlxSprite(0, 0, ImgDigg)); _digg.scrollFactor.x = 0; _digg.scrollFactor.y = 0; _reddit = new FlxButton(((FlxG.width / 2) - 6), 0, onReddit); _reddit.loadGraphic(new FlxSprite(0, 0, ImgReddit)); _reddit.scrollFactor.x = 0; _reddit.scrollFactor.y = 0; _delicious = new FlxButton((((FlxG.width / 2) + 7) + 6), 0, onDelicious); _delicious.loadGraphic(new FlxSprite(0, 0, ImgDelicious)); _delicious.scrollFactor.x = 0; _delicious.scrollFactor.y = 0; _twitter = new FlxButton((((((FlxG.width / 2) + 7) + 6) + 12) + 6), 0, onTwitter); _twitter.loadGraphic(new FlxSprite(0, 0, ImgTwitter)); _twitter.scrollFactor.x = 0; _twitter.scrollFactor.y = 0; _caption = new FlxText((FlxG.width / 2), 0, ((FlxG.width / 2) - 19), ""); _caption.alignment = "right"; _caption.scrollFactor.x = 0; _caption.scrollFactor.y = 0; _close = new FlxButton((FlxG.width - 16), 0, onClose); _close.loadGraphic(new FlxSprite(0, 0, ImgClose)); _close.scrollFactor.x = 0; _close.scrollFactor.y = 0; hide(); visible = false; _s = 50; } public function onDelicious():void{ FlxU.openURL(((("http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url=" + encodeURIComponent(_gameURL)) + "&amp;title=") + encodeURIComponent(_gameTitle))); } public function onTwitter():void{ FlxU.openURL(("http://twitter.com/home?status=Playing" + encodeURIComponent((((" " + _gameTitle) + " - ") + _gameURL)))); } public function setup(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{ _payPalID = _arg1; if (_payPalID.length <= 0){ _donate.visible = false; }; _payPalAmount = _arg2; _gameTitle = _arg3; _gameURL = _arg4; _caption.text = _arg5; _initialized = true; } public function onStumble():void{ FlxU.openURL(("http://www.stumbleupon.com/submit?url=" + encodeURIComponent(_gameURL))); } override public function render():void{ if (!_initialized){ return; }; if (_topBar.visible){ _topBar.render(); }; if (_mainBar.visible){ _mainBar.render(); }; if (_bottomBar.visible){ _bottomBar.render(); }; if (_donate.visible){ _donate.render(); }; if (_stumble.visible){ _stumble.render(); }; if (_digg.visible){ _digg.render(); }; if (_reddit.visible){ _reddit.render(); }; if (_delicious.visible){ _delicious.render(); }; if (_twitter.visible){ _twitter.render(); }; if (_caption.visible){ _caption.render(); }; if (_close.visible){ _close.render(); }; } public function onDigg():void{ FlxU.openURL(((("http://digg.com/submit?url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle))); } public function onReddit():void{ FlxU.openURL(("http://www.reddit.com/submit?url=" + encodeURIComponent(_gameURL))); } public function onDonate():void{ FlxU.openURL(((((("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + encodeURIComponent(_payPalID)) + "&item_name=") + encodeURIComponent(((_gameTitle + " Contribution (") + _gameURL))) + ")&currency_code=USD&amount=") + _payPalAmount)); } override public function update():void{ if (!_initialized){ return; }; if (_ty != y){ if (y < _ty){ y = (y + (FlxG.elapsed * _s)); if (y > _ty){ y = _ty; }; } else { y = (y - (FlxG.elapsed * _s)); if (y < _ty){ y = _ty; }; }; _topBar.y = y; _mainBar.y = (y + 1); _bottomBar.y = (y + 20); _donate.reset(_donate.x, (y + 4)); _stumble.reset(_stumble.x, (y + 4)); _digg.reset(_digg.x, (y + 4)); _reddit.reset(_reddit.x, (y + 4)); _delicious.reset(_delicious.x, (y + 5)); _twitter.reset(_twitter.x, (y + 4)); _caption.reset(_caption.x, (y + 4)); _close.reset(_close.x, (y + 4)); }; if ((((y <= -21)) || ((y >= FlxG.height)))){ visible = false; } else { visible = true; }; if (visible){ if (_donate.active){ _donate.update(); }; if (_stumble.active){ _stumble.update(); }; if (_digg.active){ _digg.update(); }; if (_reddit.active){ _reddit.update(); }; if (_delicious.active){ _delicious.update(); }; if (_twitter.active){ _twitter.update(); }; if (_caption.active){ _caption.update(); }; if (_close.active){ _close.update(); }; }; } public function show(_arg1:Boolean=true):void{ if (_closed){ return; }; if (!_initialized){ FlxG.log("SUPPORT PANEL ERROR: Uninitialized.\nYou forgot to call FlxGame.setupSupportPanel()\nfrom your game constructor."); return; }; if (_arg1){ y = -21; _ty = -1; } else { y = FlxG.height; _ty = (FlxG.height - 20); }; _donate.reset(_donate.x, (y + 4)); _stumble.reset(_stumble.x, (y + 4)); _digg.reset(_digg.x, (y + 4)); _reddit.reset(_reddit.x, (y + 4)); _delicious.reset(_delicious.x, (y + 5)); _twitter.reset(_twitter.x, (y + 4)); _caption.reset(_caption.x, (y + 4)); _close.reset(_close.x, (y + 4)); if (!FlxG.mouse.cursor.visible){ Mouse.show(); }; visible = true; } public function onClose():void{ _closed = true; hide(); } public function hide():void{ if (y < 0){ _ty = -21; } else { _ty = FlxG.height; }; } } }//package org.flixel.data
Section 77
//FlxPanel_ImgClose (org.flixel.data.FlxPanel_ImgClose) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgClose extends BitmapAsset { } }//package org.flixel.data
Section 78
//FlxPanel_ImgDelicious (org.flixel.data.FlxPanel_ImgDelicious) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDelicious extends BitmapAsset { } }//package org.flixel.data
Section 79
//FlxPanel_ImgDigg (org.flixel.data.FlxPanel_ImgDigg) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDigg extends BitmapAsset { } }//package org.flixel.data
Section 80
//FlxPanel_ImgDonate (org.flixel.data.FlxPanel_ImgDonate) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDonate extends BitmapAsset { } }//package org.flixel.data
Section 81
//FlxPanel_ImgReddit (org.flixel.data.FlxPanel_ImgReddit) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgReddit extends BitmapAsset { } }//package org.flixel.data
Section 82
//FlxPanel_ImgStumble (org.flixel.data.FlxPanel_ImgStumble) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgStumble extends BitmapAsset { } }//package org.flixel.data
Section 83
//FlxPanel_ImgTwitter (org.flixel.data.FlxPanel_ImgTwitter) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgTwitter extends BitmapAsset { } }//package org.flixel.data
Section 84
//FlxPause (org.flixel.data.FlxPause) package org.flixel.data { import org.flixel.*; public class FlxPause extends FlxGroup { private var ImgKeyP:Class; private var ImgKey0:Class; private var ImgKeyPlus:Class; private var ImgKeyMinus:Class; public function FlxPause(){ var _local2:uint; ImgKeyMinus = FlxPause_ImgKeyMinus; ImgKeyPlus = FlxPause_ImgKeyPlus; ImgKey0 = FlxPause_ImgKey0; ImgKeyP = FlxPause_ImgKeyP; super(); scrollFactor.x = 0; scrollFactor.y = 0; var _local1:uint = 80; _local2 = 92; x = ((FlxG.width - _local1) / 2); y = ((FlxG.height - _local2) / 2); add(new FlxSprite().createGraphic(_local1, _local2, 2852126720, true), true); (add(new FlxText(0, 0, _local1, "this game is"), true) as FlxText).alignment = "center"; add(new FlxText(0, 10, _local1, "PAUSED").setFormat(null, 16, 0xFFFFFF, "center"), true); add(new FlxSprite(4, 36, ImgKeyP), true); add(new FlxText(16, 36, (_local1 - 16), "Pause Game"), true); add(new FlxSprite(4, 50, ImgKey0), true); add(new FlxText(16, 50, (_local1 - 16), "Mute Sound"), true); add(new FlxSprite(4, 64, ImgKeyMinus), true); add(new FlxText(16, 64, (_local1 - 16), "Sound Down"), true); add(new FlxSprite(4, 78, ImgKeyPlus), true); add(new FlxText(16, 78, (_local1 - 16), "Sound Up"), true); } } }//package org.flixel.data
Section 85
//FlxPause_ImgKey0 (org.flixel.data.FlxPause_ImgKey0) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKey0 extends BitmapAsset { } }//package org.flixel.data
Section 86
//FlxPause_ImgKeyMinus (org.flixel.data.FlxPause_ImgKeyMinus) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyMinus extends BitmapAsset { } }//package org.flixel.data
Section 87
//FlxPause_ImgKeyP (org.flixel.data.FlxPause_ImgKeyP) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyP extends BitmapAsset { } }//package org.flixel.data
Section 88
//FlxPause_ImgKeyPlus (org.flixel.data.FlxPause_ImgKeyPlus) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyPlus extends BitmapAsset { } }//package org.flixel.data
Section 89
//FlxQuake (org.flixel.data.FlxQuake) package org.flixel.data { import org.flixel.*; public class FlxQuake { public var y:int; protected var _timer:Number; protected var _intensity:Number; public var x:int; protected var _zoom:uint; public function FlxQuake(_arg1:uint){ _zoom = _arg1; start(0); } public function update():void{ if (_timer > 0){ _timer = (_timer - FlxG.elapsed); if (_timer <= 0){ _timer = 0; x = 0; y = 0; } else { x = (((((Math.random() * _intensity) * FlxG.width) * 2) - (_intensity * FlxG.width)) * _zoom); y = (((((Math.random() * _intensity) * FlxG.height) * 2) - (_intensity * FlxG.height)) * _zoom); }; }; } public function start(_arg1:Number=0.05, _arg2:Number=0.5):void{ stop(); _intensity = _arg1; _timer = _arg2; } public function stop():void{ x = 0; y = 0; _intensity = 0; _timer = 0; } } }//package org.flixel.data
Section 90
//FlxButton (org.flixel.FlxButton) package org.flixel { import flash.events.*; public class FlxButton extends FlxGroup { protected var _on:FlxSprite; protected var _offT:FlxText; protected var _initialized:Boolean; protected var _onT:FlxText; protected var _pressed:Boolean; protected var _callback:Function; protected var _off:FlxSprite; protected var _onToggle:Boolean; protected var _sf:FlxPoint; public function FlxButton(_arg1:int, _arg2:int, _arg3:Function){ x = _arg1; y = _arg2; width = 100; height = 20; _off = new FlxSprite().createGraphic(width, height, 4286545791); _off.solid = false; add(_off, true); _on = new FlxSprite().createGraphic(width, height, 4294967295); _on.solid = false; add(_on, true); _offT = null; _onT = null; _callback = _arg3; _onToggle = false; _pressed = false; _initialized = false; _sf = null; } protected function onMouseUp(_arg1:MouseEvent):void{ if (((((((((!(exists)) || (!(visible)))) || (!(active)))) || (!(FlxG.mouse.justReleased())))) || ((_callback == null)))){ return; }; if (overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){ _callback(); }; } override public function update():void{ if (!_initialized){ if (FlxG.stage != null){ FlxG.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); _initialized = true; }; }; super.update(); visibility(false); if (overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){ if (!FlxG.mouse.pressed()){ _pressed = false; } else { if (!_pressed){ _pressed = true; }; }; visibility(!(_pressed)); }; if (_onToggle){ visibility(_off.visible); }; } protected function visibility(_arg1:Boolean):void{ if (_arg1){ _off.visible = false; if (_offT != null){ _offT.visible = false; }; _on.visible = true; if (_onT != null){ _onT.visible = true; }; } else { _on.visible = false; if (_onT != null){ _onT.visible = false; }; _off.visible = true; if (_offT != null){ _offT.visible = true; }; }; } public function get on():Boolean{ return (_onToggle); } public function loadGraphic(_arg1:FlxSprite, _arg2:FlxSprite=null):FlxButton{ _off = (replace(_off, _arg1) as FlxSprite); if (_arg2 == null){ if (_on != _off){ remove(_on); }; _on = _off; } else { _on = (replace(_on, _arg2) as FlxSprite); }; _on.solid = (_off.solid = false); _off.scrollFactor = scrollFactor; _on.scrollFactor = scrollFactor; width = _off.width; height = _off.height; refreshHulls(); return (this); } public function loadText(_arg1:FlxText, _arg2:FlxText=null):FlxButton{ if (_arg1 != null){ if (_offT == null){ _offT = _arg1; add(_offT); } else { _offT = (replace(_offT, _arg1) as FlxText); }; }; if (_arg2 == null){ _onT = _offT; } else { if (_onT == null){ _onT = _arg2; add(_onT); } else { _onT = (replace(_onT, _arg2) as FlxText); }; }; _offT.scrollFactor = scrollFactor; _onT.scrollFactor = scrollFactor; return (this); } override public function destroy():void{ if (FlxG.stage != null){ FlxG.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); }; } public function set on(_arg1:Boolean):void{ _onToggle = _arg1; } } }//package org.flixel
Section 91
//FlxG (org.flixel.FlxG) package org.flixel { import flash.display.*; import flash.geom.*; import org.flixel.data.*; public class FlxG { public static var panel:FlxPanel; protected static var _mute:Boolean; public static var kong:FlxKong; public static var scores:Array; public static var music:FlxSound; public static var height:uint; protected static var _volume:Number; public static var buffer:BitmapData; public static var sounds:Array; public static var debug:Boolean; public static var LIBRARY_MINOR_VERSION:uint = 35; public static var LIBRARY_MAJOR_VERSION:uint = 2; public static var levels:Array; public static var maxElapsed:Number; public static var fade:FlxFade; public static var timeScale:Number; protected static var _cache:Object; public static var level:int; public static var elapsed:Number; public static var score:int; public static var save:int; public static var pauseActive:Boolean = true; protected static var _scrollTarget:Point; public static var followTarget:FlxObject; public static var mouse:FlxMouse; public static var followLead:Point; public static var LIBRARY_NAME:String = "flixel"; protected static var _showBounds:Boolean; public static var gameSaves:Array; public static var width:uint; public static var followLerp:Number; protected static var _game:FlxGame; public static var scroll:Point; public static var quake:FlxQuake; public static var followMin:Point; public static var flash:FlxFlash; public static var followMax:Point; public static var keys:FlxKeyboard; protected static var _pause:Boolean; public static function get stage():Stage{ if (((!((_game._state == null))) && (!((_game._state.parent == null))))){ return (_game._state.parent.stage); }; return (null); } public static function get showBounds():Boolean{ return (_showBounds); } protected static function changeSounds():void{ var _local1:FlxSound; if (((!((music == null))) && (music.active))){ music.updateTransform(); }; var _local2:uint = sounds.length; var _local3:uint; while (_local3 < _local2) { _local1 = (sounds[_local3] as FlxSound); if (((!((_local1 == null))) && (_local1.active))){ _local1.updateTransform(); }; _local3++; }; } public static function get mute():Boolean{ return (_mute); } public static function get volume():Number{ return (_volume); } static function doFollow():void{ if (followTarget != null){ _scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1)); _scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1)); if (((!((followLead == null))) && ((followTarget is FlxSprite)))){ _scrollTarget.x = (_scrollTarget.x - ((followTarget as FlxSprite).velocity.x * followLead.x)); _scrollTarget.y = (_scrollTarget.y - ((followTarget as FlxSprite).velocity.y * followLead.y)); }; scroll.x = (scroll.x + (((_scrollTarget.x - scroll.x) * followLerp) * FlxG.elapsed)); scroll.y = (scroll.y + (((_scrollTarget.y - scroll.y) * followLerp) * FlxG.elapsed)); if (followMin != null){ if (scroll.x > followMin.x){ scroll.x = followMin.x; }; if (scroll.y > followMin.y){ scroll.y = followMin.y; }; }; if (followMax != null){ if (scroll.x < followMax.x){ scroll.x = followMax.x; }; if (scroll.y < followMax.y){ scroll.y = followMax.y; }; }; }; } public static function getMuteValue():uint{ if (_mute){ return (0); }; return (1); } public static function set showBounds(_arg1:Boolean):void{ var _local2:Boolean = _showBounds; _showBounds = _arg1; if (_showBounds != _local2){ FlxObject._refreshBounds = true; }; } public static function addBitmap(_arg1:Class, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null):BitmapData{ var _local8:uint; var _local9:String; var _local10:BitmapData; var _local11:Matrix; var _local5:Boolean; var _local6:String = _arg4; if (_local6 == null){ _local6 = String(_arg1); if (((((_arg3) && (!((_cache[_local6] == undefined))))) && (!((_cache[_local6] == null))))){ _local8 = 0; do { var _temp1 = _local8; _local8 = (_local8 + 1); _local9 = (_local6 + _temp1); } while (((!((_cache[_local9] == undefined))) && (!((_cache[_local9] == null))))); _local6 = _local9; }; }; if (!checkBitmapCache(_local6)){ _cache[_local6] = new (_arg1).bitmapData; if (_arg2){ _local5 = true; }; }; var _local7:BitmapData = _cache[_local6]; if (((((!(_local5)) && (_arg2))) && ((_local7.width == new (_arg1).bitmapData.width)))){ _local5 = true; }; if (_local5){ _local10 = new BitmapData((_local7.width << 1), _local7.height, true, 0); _local10.draw(_local7); _local11 = new Matrix(); _local11.scale(-1, 1); _local11.translate(_local10.width, 0); _local10.draw(_local7, _local11); _local7 = _local10; }; return (_local7); } public static function set state(_arg1:FlxState):void{ _game.switchState(_arg1); } public static function set mute(_arg1:Boolean):void{ _mute = _arg1; changeSounds(); } public static function play(_arg1:Class, _arg2:Number=1, _arg3:Boolean=false):FlxSound{ var _local4:uint = sounds.length; var _local5:uint; while (_local5 < _local4) { if (!(sounds[_local5] as FlxSound).active){ break; }; _local5++; }; if (sounds[_local5] == null){ sounds[_local5] = new FlxSound(); }; var _local6:FlxSound = sounds[_local5]; _local6.loadEmbedded(_arg1, _arg3); _local6.volume = _arg2; _local6.play(); return (_local6); } public static function set volume(_arg1:Number):void{ _volume = _arg1; if (_volume < 0){ _volume = 0; } else { if (_volume > 1){ _volume = 1; }; }; changeSounds(); } static function setGameData(_arg1:FlxGame, _arg2:uint, _arg3:uint, _arg4:uint):void{ _game = _arg1; _cache = new Object(); width = _arg2; height = _arg3; _mute = false; _volume = 0.5; sounds = new Array(); mouse = new FlxMouse(); keys = new FlxKeyboard(); scroll = null; _scrollTarget = null; unfollow(); FlxG.levels = new Array(); FlxG.scores = new Array(); level = 0; score = 0; FlxU.seed = NaN; kong = null; pause = false; timeScale = 1; framerate = 60; frameratePaused = 10; maxElapsed = 0.0333333; FlxG.elapsed = 0; _showBounds = false; FlxObject._refreshBounds = false; panel = new FlxPanel(); quake = new FlxQuake(_arg4); flash = new FlxFlash(); fade = new FlxFade(); FlxU.setWorldBounds(0, 0, FlxG.width, FlxG.height); } public static function playMusic(_arg1:Class, _arg2:Number=1):void{ if (music == null){ music = new FlxSound(); } else { if (music.active){ music.stop(); }; }; music.loadEmbedded(_arg1, true); music.volume = _arg2; music.survive = true; music.play(); } public static function createBitmap(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Boolean=false, _arg5:String=null):BitmapData{ var _local7:uint; var _local8:String; var _local6:String = _arg5; if (_local6 == null){ _local6 = ((((_arg1 + "x") + _arg2) + ":") + _arg3); if (((((_arg4) && (!((_cache[_local6] == undefined))))) && (!((_cache[_local6] == null))))){ _local7 = 0; do { var _temp1 = _local7; _local7 = (_local7 + 1); _local8 = (_local6 + _temp1); } while (((!((_cache[_local8] == undefined))) && (!((_cache[_local8] == null))))); _local6 = _local8; }; }; if (!checkBitmapCache(_local6)){ _cache[_local6] = new BitmapData(_arg1, _arg2, true, _arg3); }; return (_cache[_local6]); } public static function get frameratePaused():uint{ return (_game._frameratePaused); } public static function log(_arg1:Object):void{ if (((!((_game == null))) && (!((_game._console == null))))){ _game._console.log(((_arg1)==null) ? "ERROR: null object" : _arg1.toString()); }; } public static function checkBitmapCache(_arg1:String):Boolean{ return (((!((_cache[_arg1] == undefined))) && (!((_cache[_arg1] == null))))); } static function updateSounds():void{ var _local1:FlxSound; if (((!((music == null))) && (music.active))){ music.update(); }; var _local2:uint = sounds.length; var _local3:uint; while (_local3 < _local2) { _local1 = (sounds[_local3] as FlxSound); if (((!((_local1 == null))) && (_local1.active))){ _local1.update(); }; _local3++; }; } static function updateInput():void{ keys.update(); mouse.update(state.mouseX, state.mouseY, scroll.x, scroll.y); } public static function stream(_arg1:String, _arg2:Number=1, _arg3:Boolean=false):FlxSound{ var _local4:uint = sounds.length; var _local5:uint; while (_local5 < _local4) { if (!(sounds[_local5] as FlxSound).active){ break; }; _local5++; }; if (sounds[_local5] == null){ sounds[_local5] = new FlxSound(); }; var _local6:FlxSound = sounds[_local5]; _local6.loadStream(_arg1, _arg3); _local6.volume = _arg2; _local6.play(); return (_local6); } static function unfollow():void{ followTarget = null; followLead = null; followLerp = 1; followMin = null; followMax = null; if (scroll == null){ scroll = new Point(); } else { scroll.x = (scroll.y = 0); }; if (_scrollTarget == null){ _scrollTarget = new Point(); } else { _scrollTarget.x = (_scrollTarget.y = 0); }; } public static function get state():FlxState{ return (_game._state); } protected static function playSounds():void{ var _local1:FlxSound; if (((!((music == null))) && (music.active))){ music.play(); }; var _local2:uint = sounds.length; var _local3:uint; while (_local3 < _local2) { _local1 = (sounds[_local3] as FlxSound); if (((!((_local1 == null))) && (_local1.active))){ _local1.play(); }; _local3++; }; } public static function followAdjust(_arg1:Number=0, _arg2:Number=0):void{ followLead = new Point(_arg1, _arg2); } public static function set framerate(_arg1:uint):void{ _game._framerate = _arg1; if (((!(_game._paused)) && (!((_game.stage == null))))){ _game.stage.frameRate = _arg1; }; } public static function set frameratePaused(_arg1:uint):void{ _game._frameratePaused = _arg1; if (((_game._paused) && (!((_game.stage == null))))){ _game.stage.frameRate = _arg1; }; } public static function follow(_arg1:FlxObject, _arg2:Number=1):void{ followTarget = _arg1; followLerp = _arg2; _scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1)); _scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1)); scroll.x = _scrollTarget.x; scroll.y = _scrollTarget.y; doFollow(); } public static function resetInput():void{ keys.reset(); mouse.reset(); } public static function get framerate():uint{ return (_game._framerate); } public static function followBounds(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0, _arg5:Boolean=true):void{ followMin = new Point(-(_arg1), -(_arg2)); followMax = new Point((-(_arg3) + width), (-(_arg4) + height)); if (followMax.x > followMin.x){ followMax.x = followMin.x; }; if (followMax.y > followMin.y){ followMax.y = followMin.y; }; if (_arg5){ FlxU.setWorldBounds(_arg1, _arg2, (_arg3 - _arg1), (_arg4 - _arg2)); }; doFollow(); } protected static function pauseSounds():void{ var _local1:FlxSound; if (((!((music == null))) && (music.active))){ music.pause(); }; var _local2:uint = sounds.length; var _local3:uint; while (_local3 < _local2) { _local1 = (sounds[_local3] as FlxSound); if (((!((_local1 == null))) && (_local1.active))){ _local1.pause(); }; _local3++; }; } static function destroySounds(_arg1:Boolean=false):void{ var _local2:FlxSound; if (sounds == null){ return; }; if (((!((music == null))) && (((_arg1) || (!(music.survive)))))){ music.destroy(); }; var _local3:uint = sounds.length; var _local4:uint; while (_local4 < _local3) { _local2 = (sounds[_local4] as FlxSound); if (((!((_local2 == null))) && (((_arg1) || (!(_local2.survive)))))){ _local2.destroy(); }; _local4++; }; } public static function set pause(_arg1:Boolean):void{ var _local2:Boolean; if (pauseActive){ _local2 = _pause; _pause = _arg1; if (_pause != _local2){ if (_pause){ _game.pauseGame(); pauseSounds(); } else { _game.unpauseGame(); playSounds(); }; }; }; } public static function get pause():Boolean{ return (_pause); } } }//package org.flixel
Section 92
//FlxGame (org.flixel.FlxGame) package org.flixel { import flash.events.*; import flash.display.*; import flash.geom.*; import org.flixel.data.*; import flash.text.*; import flash.utils.*; import flash.ui.*; public class FlxGame extends Sprite { protected var SndFlixel:Class; var _screen:Sprite; var _state:FlxState; protected var SndBeep:Class; var _console:FlxConsole; var _gameXOffset:int; var _frameratePaused:uint; var _created:Boolean; var _zoom:uint; var _elapsed:Number; var _total:uint; var _soundTrayBars:Array; var _iState:Class; protected var junk:String;// = "FlxGame_junk" var _zeroPoint:Point; var _paused:Boolean; public var useDefaultHotKeys:Boolean; var _framerate:uint; var _gameYOffset:int; var _buffer:Bitmap; var _soundTray:Sprite; var _frame:Class; public var pause:FlxGroup; var _soundTrayTimer:Number; public function FlxGame(_arg1:uint, _arg2:uint, _arg3:Class, _arg4:uint=2){ SndBeep = FlxGame_SndBeep; SndFlixel = FlxGame_SndFlixel; super(); _zoom = _arg4; FlxState.bgColor = 4278190080; FlxG.setGameData(this, _arg1, _arg2, _arg4); _elapsed = 0; _total = 0; pause = new FlxPause(); _state = null; _iState = _arg3; _zeroPoint = new Point(); useDefaultHotKeys = true; _frame = null; _gameXOffset = 0; _gameYOffset = 0; _paused = false; _created = false; addEventListener(Event.ENTER_FRAME, create); } function pauseGame():void{ if (((!((x == 0))) || (!((y == 0))))){ x = 0; y = 0; }; Mouse.show(); _paused = true; stage.frameRate = _frameratePaused; } function unpauseGame():void{ FlxG.resetInput(); _paused = false; stage.frameRate = _framerate; } protected function onFocus(_arg1:Event=null):void{ if (FlxG.pause){ FlxG.pause = false; }; } protected function onKeyUp(_arg1:KeyboardEvent):void{ var _local2:int; var _local3:String; if ((((_arg1.keyCode == 192)) || ((_arg1.keyCode == 220)))){ _console.toggle(); return; }; if (useDefaultHotKeys){ _local2 = _arg1.keyCode; _local3 = String.fromCharCode(_arg1.charCode); switch (_local2){ case 48: case 96: FlxG.mute = !(FlxG.mute); showSoundTray(); return; case 109: case 189: FlxG.mute = false; FlxG.volume = (FlxG.volume - 0.1); showSoundTray(); return; case 107: case 187: FlxG.mute = false; FlxG.volume = (FlxG.volume + 0.1); showSoundTray(); return; case 80: FlxG.pause = !(FlxG.pause); default: break; }; }; FlxG.keys.handleKeyUp(_arg1); } public function switchState(_arg1:FlxState):void{ FlxG.panel.hide(); FlxG.unfollow(); FlxG.resetInput(); FlxG.destroySounds(); FlxG.flash.stop(); FlxG.fade.stop(); FlxG.quake.stop(); _screen.x = 0; _screen.y = 0; _screen.addChild(_arg1); if (_state != null){ _state.destroy(); _screen.swapChildren(_arg1, _state); _screen.removeChild(_state); }; _state = _arg1; _state.scaleX = (_state.scaleY = _zoom); _state.create(); } protected function update(_arg1:Event):void{ var _local3:uint; var _local4:FlxSave; var _local2:uint = getTimer(); var _local5:uint = (_local2 - _total); _elapsed = (_local5 / 1000); _console.mtrTotal.add(_local5); _total = _local2; FlxG.elapsed = _elapsed; if (FlxG.elapsed > FlxG.maxElapsed){ FlxG.elapsed = FlxG.maxElapsed; }; FlxG.elapsed = (FlxG.elapsed * FlxG.timeScale); if (_soundTray != null){ if (_soundTrayTimer > 0){ _soundTrayTimer = (_soundTrayTimer - _elapsed); } else { if (_soundTray.y > -(_soundTray.height)){ _soundTray.y = (_soundTray.y - ((_elapsed * FlxG.height) * 2)); if (_soundTray.y <= -(_soundTray.height)){ _soundTray.visible = false; _local4 = new FlxSave(); if (_local4.bind("flixel")){ if (_local4.data.sound == null){ _local4.data.sound = new Object(); }; _local4.data.mute = FlxG.mute; _local4.data.volume = FlxG.volume; _local4.forceSave(); }; }; }; }; }; FlxG.panel.update(); if (_console.visible){ _console.update(); }; FlxObject._refreshBounds = false; FlxG.updateInput(); FlxG.updateSounds(); if (_paused){ pause.update(); } else { FlxG.doFollow(); _state.update(); if (FlxG.flash.exists){ FlxG.flash.update(); }; if (FlxG.fade.exists){ FlxG.fade.update(); }; FlxG.quake.update(); _screen.x = FlxG.quake.x; _screen.y = FlxG.quake.y; }; var _local6:uint = getTimer(); _console.mtrUpdate.add((_local6 - _local2)); FlxG.buffer.lock(); _state.preProcess(); _state.render(); if (FlxG.flash.exists){ FlxG.flash.render(); }; if (FlxG.fade.exists){ FlxG.fade.render(); }; if (FlxG.panel.visible){ FlxG.panel.render(); }; if (FlxG.mouse.cursor != null){ if (FlxG.mouse.cursor.active){ FlxG.mouse.cursor.update(); }; if (FlxG.mouse.cursor.visible){ FlxG.mouse.cursor.render(); }; }; _state.postProcess(); if (_paused){ pause.render(); }; FlxG.buffer.unlock(); _console.mtrRender.add((getTimer() - _local6)); } protected function addFrame(_arg1:Class, _arg2:uint, _arg3:uint):FlxGame{ _frame = _arg1; _gameXOffset = _arg2; _gameYOffset = _arg3; return (this); } public function showSoundTray(_arg1:Boolean=false):void{ if (!_arg1){ FlxG.play(SndBeep); }; _soundTrayTimer = 1; _soundTray.y = (_gameYOffset * _zoom); _soundTray.visible = true; var _local2:uint = Math.round((FlxG.volume * 10)); if (FlxG.mute){ _local2 = 0; }; var _local3:uint; while (_local3 < _soundTrayBars.length) { if (_local3 < _local2){ _soundTrayBars[_local3].alpha = 1; } else { _soundTrayBars[_local3].alpha = 0.5; }; _local3++; }; } function create(_arg1:Event):void{ var _local2:uint; var _local3:FlxSave; var _local10:Bitmap; if (root == null){ return; }; stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.frameRate = _framerate; _screen = new Sprite(); addChild(_screen); var _local4:Bitmap = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, FlxState.bgColor)); _local4.x = _gameXOffset; _local4.y = _gameYOffset; _local4.scaleX = (_local4.scaleY = _zoom); _screen.addChild(_local4); FlxG.buffer = _local4.bitmapData; _console = new FlxConsole(_gameXOffset, _gameYOffset, _zoom); addChild(_console); var _local5:String = ((((FlxG.LIBRARY_NAME + " v") + FlxG.LIBRARY_MAJOR_VERSION) + ".") + FlxG.LIBRARY_MINOR_VERSION); if (FlxG.debug){ _local5 = (_local5 + " [debug]"); } else { _local5 = (_local5 + " [release]"); }; var _local6 = ""; _local2 = 0; while (_local2 < (_local5.length + 32)) { _local6 = (_local6 + "-"); _local2++; }; FlxG.log(_local5); FlxG.log(_local6); stage.addEventListener(KeyboardEvent.KEY_DOWN, FlxG.keys.handleKeyDown); stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); stage.addEventListener(MouseEvent.MOUSE_DOWN, FlxG.mouse.handleMouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, FlxG.mouse.handleMouseUp); stage.addEventListener(MouseEvent.MOUSE_OUT, FlxG.mouse.handleMouseOut); stage.addEventListener(MouseEvent.MOUSE_OVER, FlxG.mouse.handleMouseOver); stage.addEventListener(Event.DEACTIVATE, onFocusLost); stage.addEventListener(Event.ACTIVATE, onFocus); _soundTray = new Sprite(); _soundTray.visible = false; _soundTray.scaleX = 2; _soundTray.scaleY = 2; _local4 = new Bitmap(new BitmapData(80, 30, true, 2130706432)); _soundTray.x = (((_gameXOffset + (FlxG.width / 2)) * _zoom) - ((_local4.width / 2) * _soundTray.scaleX)); _soundTray.addChild(_local4); var _local7:TextField = new TextField(); _local7.width = _local4.width; _local7.height = _local4.height; _local7.multiline = true; _local7.wordWrap = true; _local7.selectable = false; _local7.embedFonts = true; _local7.antiAliasType = AntiAliasType.NORMAL; _local7.gridFitType = GridFitType.PIXEL; _local7.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center"); _soundTray.addChild(_local7); _local7.text = "VOLUME"; _local7.y = 16; var _local8:uint = 10; var _local9:uint = 14; _soundTrayBars = new Array(); _local2 = 0; while (_local2 < 10) { _local4 = new Bitmap(new BitmapData(4, (_local2 + 1), false, 0xFFFFFF)); _local4.x = _local8; _local4.y = _local9; _soundTrayBars.push(_soundTray.addChild(_local4)); _local8 = (_local8 + 6); _local9--; _local2++; }; if (_frame != null){ _local10 = new _frame(); _local10.scaleX = _zoom; _local10.scaleY = _zoom; addChild(_local10); }; _local3 = new FlxSave(); if (((_local3.bind("flixel")) && (!((_local3.data.sound == null))))){ if (_local3.data.volume != null){ FlxG.volume = _local3.data.volume; }; if (_local3.data.mute != null){ FlxG.mute = _local3.data.mute; }; }; switchState(new _iState()); FlxState.screen.unsafeBind(FlxG.buffer); removeEventListener(Event.ENTER_FRAME, create); addEventListener(Event.ENTER_FRAME, update); } protected function onFocusLost(_arg1:Event=null):void{ FlxG.pause = true; } } }//package org.flixel
Section 93
//FlxGame_junk (org.flixel.FlxGame_junk) package org.flixel { import mx.core.*; public class FlxGame_junk extends FontAsset { } }//package org.flixel
Section 94
//FlxGame_SndBeep (org.flixel.FlxGame_SndBeep) package org.flixel { import mx.core.*; public class FlxGame_SndBeep extends SoundAsset { } }//package org.flixel
Section 95
//FlxGame_SndFlixel (org.flixel.FlxGame_SndFlixel) package org.flixel { import mx.core.*; public class FlxGame_SndFlixel extends SoundAsset { } }//package org.flixel
Section 96
//FlxGroup (org.flixel.FlxGroup) package org.flixel { public class FlxGroup extends FlxObject { public var members:Array; protected var _first:Boolean; protected var _last:FlxPoint; public function FlxGroup(){ _group = true; solid = false; members = new Array(); _last = new FlxPoint(); _first = true; } public function getFirstExtant():FlxObject{ var _local1:FlxObject; var _local2:uint = members.length; var _local3:uint; while (_local3 < _local2) { _local1 = (members[_local3] as FlxObject); if (((!((_local1 == null))) && (_local1.exists))){ return (_local1); }; _local3++; }; return (null); } override public function destroy():void{ destroyMembers(); super.destroy(); } public function getFirstAlive():FlxObject{ var _local1:FlxObject; var _local2:uint = members.length; var _local3:uint; while (_local3 < _local2) { _local1 = (members[_local3] as FlxObject); if (((((!((_local1 == null))) && (_local1.exists))) && (!(_local1.dead)))){ return (_local1); }; _local3++; }; return (null); } public function remove(_arg1:FlxObject, _arg2:Boolean=false):FlxObject{ var _local3:int = members.indexOf(_arg1); if ((((_local3 < 0)) || ((_local3 >= members.length)))){ return (null); }; if (_arg2){ members.splice(_local3, 1); } else { members[_local3] = null; }; return (_arg1); } override public function update():void{ saveOldPosition(); updateMotion(); updateMembers(); updateFlickering(); } public function resetFirstAvail(_arg1:Number=0, _arg2:Number=0):Boolean{ var _local3:FlxObject = getFirstAvail(); if (_local3 == null){ return (false); }; _local3.reset(_arg1, _arg2); return (true); } override public function reset(_arg1:Number, _arg2:Number):void{ var _local3:Number; var _local4:Number; var _local6:FlxObject; saveOldPosition(); super.reset(_arg1, _arg2); var _local5:Boolean; if (((!((x == _last.x))) || (!((y == _last.y))))){ _local5 = true; _local3 = (x - _last.x); _local4 = (y - _last.y); }; var _local7:uint = members.length; var _local8:uint; while (_local8 < _local7) { _local6 = (members[_local8] as FlxObject); if (((!((_local6 == null))) && (_local6.exists))){ if (_local5){ if (_local6._group){ _local6.reset((_local6.x + _local3), (_local6.y + _local4)); } else { _local6.x = (_local6.x + _local3); _local6.y = (_local6.y + _local4); if (solid){ _local6.colHullX.width = (_local6.colHullX.width + ((_local3)>0) ? _local3 : -(_local3)); if (_local3 < 0){ _local6.colHullX.x = (_local6.colHullX.x + _local3); }; _local6.colHullY.x = x; _local6.colHullY.height = (_local6.colHullY.height + ((_local4)>0) ? _local4 : -(_local4)); if (_local4 < 0){ _local6.colHullY.y = (_local6.colHullY.y + _local4); }; _local6.colVector.x = (_local6.colVector.x + _local3); _local6.colVector.y = (_local6.colVector.y + _local4); }; }; }; }; _local8++; }; } protected function updateMembers():void{ var _local1:Number; var _local2:Number; var _local4:FlxObject; var _local3:Boolean; if (((!((x == _last.x))) || (!((y == _last.y))))){ _local3 = true; _local1 = (x - _last.x); _local2 = (y - _last.y); }; var _local5:uint = members.length; var _local6:uint; while (_local6 < _local5) { _local4 = (members[_local6] as FlxObject); if (((!((_local4 == null))) && (_local4.exists))){ if (_local3){ if (_local4._group){ _local4.reset((_local4.x + _local1), (_local4.y + _local2)); } else { _local4.x = (_local4.x + _local1); _local4.y = (_local4.y + _local2); }; }; if (_local4.active){ _local4.update(); }; if (((_local3) && (_local4.solid))){ _local4.colHullX.width = (_local4.colHullX.width + ((_local1)>0) ? _local1 : -(_local1)); if (_local1 < 0){ _local4.colHullX.x = (_local4.colHullX.x + _local1); }; _local4.colHullY.x = x; _local4.colHullY.height = (_local4.colHullY.height + ((_local2)>0) ? _local2 : -(_local2)); if (_local2 < 0){ _local4.colHullY.y = (_local4.colHullY.y + _local2); }; _local4.colVector.x = (_local4.colVector.x + _local1); _local4.colVector.y = (_local4.colVector.y + _local2); }; }; _local6++; }; } public function countDead():int{ var _local1:FlxObject; var _local2 = -1; var _local3:uint = members.length; var _local4:uint; while (_local4 < _local3) { _local1 = (members[_local4] as FlxObject); if (_local1 != null){ if (_local2 < 0){ _local2 = 0; }; if (_local1.dead){ _local2++; }; }; _local4++; }; return (_local2); } public function getFirstAvail():FlxObject{ var _local1:FlxObject; var _local2:uint = members.length; var _local3:uint; while (_local3 < _local2) { _local1 = (members[_local3] as FlxObject); if (((!((_local1 == null))) && (!(_local1.exists)))){ return (_local1); }; _local3++; }; return (null); } override public function render():void{ renderMembers(); } public function countLiving():int{ var _local1:FlxObject; var _local2 = -1; var _local3:uint = members.length; var _local4:uint; while (_local4 < _local3) { _local1 = (members[_local4] as FlxObject); if (_local1 != null){ if (_local2 < 0){ _local2 = 0; }; if (((_local1.exists) && (!(_local1.dead)))){ _local2++; }; }; _local4++; }; return (_local2); } public function countOnScreen():int{ var _local1:FlxObject; var _local2 = -1; var _local3:uint = members.length; var _local4:uint; while (_local4 < _local3) { _local1 = (members[_local4] as FlxObject); if (_local1 != null){ if (_local2 < 0){ _local2 = 0; }; if (_local1.onScreen()){ _local2++; }; }; _local4++; }; return (_local2); } public function killMembers():void{ var _local1:FlxObject; var _local2:uint = members.length; var _local3:uint; while (_local3 < _local2) { _local1 = (members[_local3] as FlxObject); if (_local1 != null){ _local1.kill(); }; _local3++; }; } override public function kill():void{ killMembers(); super.kill(); } public function getFirstNull():int{ var _local1:uint = members.length; var _local2:uint; while (_local2 < _local1) { if (members[_local2] == null){ return (_local2); }; _local2++; }; return (-1); } protected function renderMembers():void{ var _local1:FlxObject; var _local2:uint = members.length; var _local3:uint; while (_local3 < _local2) { _local1 = (members[_local3] as FlxObject); if (((((!((_local1 == null))) && (_local1.exists))) && (_local1.visible))){ _local1.render(); }; _local3++; }; } public function add(_arg1:FlxObject, _arg2:Boolean=false):FlxObject{ members.push(_arg1); if (_arg2){ _arg1.scrollFactor = scrollFactor; }; return (_arg1); } protected function saveOldPosition():void{ if (_first){ _first = false; _last.x = 0; _last.y = 0; return; }; _last.x = x; _last.y = y; } public function replace(_arg1:FlxObject, _arg2:FlxObject):FlxObject{ var _local3:int = members.indexOf(_arg1); if ((((_local3 < 0)) || ((_local3 >= members.length)))){ return (null); }; members[_local3] = _arg2; return (_arg2); } public function getRandom():FlxObject{ var _local1:uint; var _local2:FlxObject; var _local3:uint = members.length; var _local4:uint = uint((FlxU.random() * _local3)); while ((((_local2 == null)) && ((_local1 < members.length)))) { ++_local4; _local2 = (members[(_local4 % _local3)] as FlxObject); _local1++; }; return (_local2); } public function getFirstDead():FlxObject{ var _local1:FlxObject; var _local2:uint = members.length; var _local3:uint; while (_local3 < _local2) { _local1 = (members[_local3] as FlxObject); if (((!((_local1 == null))) && (_local1.dead))){ return (_local1); }; _local3++; }; return (null); } protected function destroyMembers():void{ var _local1:FlxObject; var _local2:uint = members.length; var _local3:uint; while (_local3 < _local2) { _local1 = (members[_local3] as FlxObject); if (_local1 != null){ _local1.destroy(); }; _local3++; }; members.length = 0; } } }//package org.flixel
Section 97
//FlxMonitor (org.flixel.FlxMonitor) package org.flixel { public class FlxMonitor { protected var _size:uint; protected var _itr:uint; protected var _data:Array; public function FlxMonitor(_arg1:uint, _arg2:Number=0){ _size = _arg1; if (_size <= 0){ _size = 1; }; _itr = 0; _data = new Array(_size); var _local3:uint; while (_local3 < _size) { _data[_local3] = _arg2; _local3++; }; } public function add(_arg1:Number):void{ var _local2 = _itr++; _data[_local2] = _arg1; if (_itr >= _size){ _itr = 0; }; } public function average():Number{ var _local1:Number = 0; var _local2:uint; while (_local2 < _size) { _local1 = (_local1 + _data[_local2]); _local2++; }; return ((_local1 / _size)); } } }//package org.flixel
Section 98
//FlxObject (org.flixel.FlxObject) package org.flixel { import flash.geom.*; public class FlxObject extends FlxRect { public var acceleration:FlxPoint; public var angularAcceleration:Number; public var active:Boolean; public var collideBottom:Boolean; var _group:Boolean; protected var _point:FlxPoint; public var colHullX:FlxRect; protected var _flickerTimer:Number; public var colHullY:FlxRect; protected var _flashPoint:Point; public var colOffsets:Array; protected var _solid:Boolean; public var origin:FlxPoint; public var drag:FlxPoint; public var angularDrag:Number; public var collideTop:Boolean; protected var _flicker:Boolean; protected var _rect:FlxRect; public var moves:Boolean; public var angle:Number; public var exists:Boolean; public var velocity:FlxPoint; public var maxAngular:Number; public var angularVelocity:Number; public var maxVelocity:FlxPoint; public var maxThrust:Number; public var dead:Boolean; public var collideLeft:Boolean; public var thrust:Number; public var onFloor:Boolean; public var health:Number; protected var _fixed:Boolean; public var visible:Boolean; public var colVector:FlxPoint; public var scrollFactor:FlxPoint; public var collideRight:Boolean; protected static const _pZero:FlxPoint = new FlxPoint(); static var _refreshBounds:Boolean; public function FlxObject(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){ super(_arg1, _arg2, _arg3, _arg4); exists = true; active = true; visible = true; _solid = true; _fixed = false; moves = true; collideLeft = true; collideRight = true; collideTop = true; collideBottom = true; origin = new FlxPoint(); velocity = new FlxPoint(); acceleration = new FlxPoint(); drag = new FlxPoint(); maxVelocity = new FlxPoint(10000, 10000); angle = 0; angularVelocity = 0; angularAcceleration = 0; angularDrag = 0; maxAngular = 10000; thrust = 0; scrollFactor = new FlxPoint(1, 1); _flicker = false; _flickerTimer = -1; health = 1; dead = false; _point = new FlxPoint(); _rect = new FlxRect(); _flashPoint = new Point(); colHullX = new FlxRect(); colHullY = new FlxRect(); colVector = new FlxPoint(); colOffsets = new Array(new FlxPoint()); _group = false; } public function getScreenXY(_arg1:FlxPoint=null):FlxPoint{ if (_arg1 == null){ _arg1 = new FlxPoint(); }; _arg1.x = (FlxU.floor((x + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.x * scrollFactor.x))); _arg1.y = (FlxU.floor((y + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.y * scrollFactor.y))); return (_arg1); } public function onScreen():Boolean{ getScreenXY(_point); if (((((((((_point.x + width) < 0)) || ((_point.x > FlxG.width)))) || (((_point.y + height) < 0)))) || ((_point.y > FlxG.height)))){ return (false); }; return (true); } public function kill():void{ exists = false; dead = true; } protected function updateFlickering():void{ if (flickering()){ if (_flickerTimer > 0){ _flickerTimer = (_flickerTimer - FlxG.elapsed); if (_flickerTimer == 0){ _flickerTimer = -1; }; }; if (_flickerTimer < 0){ flicker(-1); } else { _flicker = !(_flicker); visible = !(_flicker); }; }; } public function render():void{ } public function hitBottom(_arg1:FlxObject, _arg2:Number):void{ onFloor = true; if (!fixed){ velocity.y = _arg2; }; } public function get fixed():Boolean{ return (_fixed); } public function overlaps(_arg1:FlxObject):Boolean{ var _local10:FlxSprite; var _local11:FlxSprite; getScreenXY(_point); var _local2:Number = _point.x; var _local3:Number = _point.y; var _local4:Number = width; var _local5:Number = height; if ((this is FlxSprite)){ _local10 = (this as FlxSprite); _local4 = _local10.frameWidth; _local5 = _local10.frameHeight; }; _arg1.getScreenXY(_point); var _local6:Number = _point.x; var _local7:Number = _point.y; var _local8:Number = _arg1.width; var _local9:Number = _arg1.height; if ((_arg1 is FlxSprite)){ _local11 = (_arg1 as FlxSprite); _local8 = _local11.frameWidth; _local9 = _local11.frameHeight; }; if ((((((((_local6 <= (_local2 - _local8))) || ((_local6 >= (_local2 + _local4))))) || ((_local7 <= (_local3 - _local9))))) || ((_local7 >= (_local3 + _local5))))){ return (false); }; return (true); } public function preCollide(_arg1:FlxObject):void{ } public function get solid():Boolean{ return (_solid); } public function hurt(_arg1:Number):void{ if ((health = (health - _arg1)) <= 0){ kill(); }; } public function refreshHulls():void{ colHullX.x = x; colHullX.y = y; colHullX.width = width; colHullX.height = height; colHullY.x = x; colHullY.y = y; colHullY.width = width; colHullY.height = height; } public function hitLeft(_arg1:FlxObject, _arg2:Number):void{ if (!fixed){ velocity.x = _arg2; }; } public function collide(_arg1:FlxObject=null):Boolean{ return (FlxU.collide(this, ((_arg1)==null) ? this : _arg1)); } public function reset(_arg1:Number, _arg2:Number):void{ x = _arg1; y = _arg2; exists = true; dead = false; } public function update():void{ updateMotion(); updateFlickering(); } public function hitTop(_arg1:FlxObject, _arg2:Number):void{ if (!fixed){ velocity.y = _arg2; }; } public function set solid(_arg1:Boolean):void{ _solid = _arg1; } protected function updateMotion():void{ var _local1:Number; var _local2:FlxPoint; var _local5:FlxPoint; var _local6:Number; if (!moves){ return; }; if (_solid){ refreshHulls(); }; onFloor = false; _local1 = ((FlxU.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular) - angularVelocity) / 2); angularVelocity = (angularVelocity + _local1); angle = (angle + (angularVelocity * FlxG.elapsed)); angularVelocity = (angularVelocity + _local1); if (thrust != 0){ _local2 = FlxU.rotatePoint(-(thrust), 0, 0, 0, angle); _local5 = FlxU.rotatePoint(-(maxThrust), 0, 0, 0, angle); _local6 = ((_local5.x)>0) ? _local5.x : -(_local5.x); if (_local6 > ((_local5.y)>0) ? _local5.y : -(_local5.y)){ _local5.y = _local6; } else { _local6 = ((_local5.y)>0) ? _local5.y : -(_local5.y); }; maxVelocity.x = (maxVelocity.y = ((_local6)>0) ? _local6 : -(_local6)); } else { _local2 = _pZero; }; _local1 = ((FlxU.computeVelocity(velocity.x, (acceleration.x + _local2.x), drag.x, maxVelocity.x) - velocity.x) / 2); velocity.x = (velocity.x + _local1); var _local3:Number = (velocity.x * FlxG.elapsed); velocity.x = (velocity.x + _local1); _local1 = ((FlxU.computeVelocity(velocity.y, (acceleration.y + _local2.y), drag.y, maxVelocity.y) - velocity.y) / 2); velocity.y = (velocity.y + _local1); var _local4:Number = (velocity.y * FlxG.elapsed); velocity.y = (velocity.y + _local1); x = (x + _local3); y = (y + _local4); if (!_solid){ return; }; colVector.x = _local3; colVector.y = _local4; colHullX.width = (colHullX.width + ((colVector.x)>0) ? colVector.x : -(colVector.x)); if (colVector.x < 0){ colHullX.x = (colHullX.x + colVector.x); }; colHullY.x = x; colHullY.height = (colHullY.height + ((colVector.y)>0) ? colVector.y : -(colVector.y)); if (colVector.y < 0){ colHullY.y = (colHullY.y + colVector.y); }; } public function getBoundingColor():uint{ if (solid){ if (fixed){ return (2130768421); }; return (2147418130); //unresolved jump }; return (2130743529); } public function set fixed(_arg1:Boolean):void{ _fixed = _arg1; } public function flickering():Boolean{ return ((_flickerTimer >= 0)); } public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{ _arg1 = (_arg1 + FlxU.floor(FlxG.scroll.x)); _arg2 = (_arg2 + FlxU.floor(FlxG.scroll.y)); getScreenXY(_point); if ((((((((_arg1 <= _point.x)) || ((_arg1 >= (_point.x + width))))) || ((_arg2 <= _point.y)))) || ((_arg2 >= (_point.y + height))))){ return (false); }; return (true); } public function hitRight(_arg1:FlxObject, _arg2:Number):void{ hitLeft(_arg1, _arg2); } public function destroy():void{ } public function flicker(_arg1:Number=1):void{ _flickerTimer = _arg1; if (_flickerTimer < 0){ _flicker = false; visible = true; }; } } }//package org.flixel
Section 99
//FlxPoint (org.flixel.FlxPoint) package org.flixel { public class FlxPoint { public var x:Number; public var y:Number; public function FlxPoint(_arg1:Number=0, _arg2:Number=0){ x = _arg1; y = _arg2; } public function toString():String{ return (FlxU.getClassName(this, true)); } } }//package org.flixel
Section 100
//FlxPreloader (org.flixel.FlxPreloader) package org.flixel { import flash.events.*; import flash.display.*; import flash.text.*; import flash.net.*; import flash.utils.*; public class FlxPreloader extends MovieClip { protected var img:Class; public var minDisplayTime:Number; protected var _width:uint; protected var ImgLogoLight:Class; protected var _logo:Bitmap; protected var _text:TextField; protected var _height:uint; public var badUrlMsg:String;// = "Bad Url" protected var _buffer:Sprite; protected var _min:uint; public var className:String; protected var _bmpBar:Bitmap; protected var ImgLogo:Class; protected var _init:Boolean; protected var ImgLogoCorners:Class; public var myURL:String; protected var _t:TextField; protected var _logoGlow:Bitmap; public function FlxPreloader(){ var tmp:Bitmap; var re:RegExp; var fmt:TextFormat; var txt:TextField; ImgLogo = FlxPreloader_ImgLogo; ImgLogoCorners = FlxPreloader_ImgLogoCorners; ImgLogoLight = FlxPreloader_ImgLogoLight; img = FlxPreloader_img; super(); minDisplayTime = 0; stop(); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; try { throw (new Error("Setting global debug flag...")); } catch(e:Error) { re = /\[.*:[0-9]+\]/; FlxG.debug = re.test(e.getStackTrace()); }; if (((((!(FlxG.debug)) && (!((myURL == null))))) && ((root.loaderInfo.url.indexOf(myURL) < 0)))){ tmp = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, true, 4294967295)); addChild(tmp); fmt = new TextFormat(); fmt.color = 0; fmt.size = 16; fmt.align = "center"; fmt.bold = true; fmt.font = "system"; txt = new TextField(); txt.width = (tmp.width - 16); txt.height = (tmp.height - 16); txt.y = 8; txt.multiline = true; txt.wordWrap = true; txt.embedFonts = true; txt.defaultTextFormat = fmt; txt.text = badUrlMsg; addChild(txt); return; }; _init = false; addEventListener(Event.ENTER_FRAME, onEnterFrame); } protected function update(_arg1:Number):void{ _bmpBar.scaleX = (_arg1 * (_width - 8)); _text.text = (FlxU.floor((_arg1 * 100)) + "%"); _text.setTextFormat(_text.defaultTextFormat); if (_arg1 < 0.1){ _logoGlow.alpha = 0; _logo.alpha = 0; } else { if (_arg1 < 0.15){ _logoGlow.alpha = FlxU.random(false); _logo.alpha = 0; } else { if (_arg1 < 0.2){ _logoGlow.alpha = 0; _logo.alpha = 0; } else { if (_arg1 < 0.25){ _logoGlow.alpha = 0; _logo.alpha = FlxU.random(false); } else { if (_arg1 < 0.7){ _logoGlow.alpha = ((_arg1 - 0.45) / 0.45); _logo.alpha = 1; } else { if ((((_arg1 > 0.8)) && ((_arg1 < 0.9)))){ _logoGlow.alpha = (1 - ((_arg1 - 0.8) / 0.1)); _logo.alpha = 0; } else { if (_arg1 > 0.9){ _buffer.alpha = (1 - ((_arg1 - 0.9) / 0.1)); }; }; }; }; }; }; }; } private function goToMyURL(_arg1:MouseEvent=null):void{ navigateToURL(new URLRequest(("http://" + myURL))); } private function onEnterFrame(_arg1:Event):void{ var _local2:int; var _local4:Class; var _local5:Object; var _local6:Number; if (!_init){ if ((((stage.stageWidth <= 0)) || ((stage.stageHeight <= 0)))){ return; }; create(); _init = true; }; graphics.clear(); var _local3:uint = getTimer(); if ((((framesLoaded >= totalFrames)) && ((_local3 > _min)))){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); nextFrame(); _local4 = Class(getDefinitionByName(className)); if (_local4){ _local5 = new (_local4); addChild((_local5 as DisplayObject)); }; removeChild(_buffer); } else { _local6 = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal); if ((((_min > 0)) && ((_local6 > (_local3 / _min))))){ _local6 = (_local3 / _min); }; update(_local6); }; } protected function create():void{ var _local3:uint; _min = 0; if (!FlxG.debug){ _min = (minDisplayTime * 1000); }; _buffer = new Sprite(); _buffer.scaleX = 2; _buffer.scaleY = 2; addChild(_buffer); _width = (stage.stageWidth / _buffer.scaleX); _height = (stage.stageHeight / _buffer.scaleY); var _local1:Bitmap = new ImgLogoLight(); _local1.smoothing = true; _local1.width = (_local1.height = _height); _local1.x = ((_width - _local1.width) / 2); _bmpBar = new Bitmap(new BitmapData(1, 7, false, 0x900000)); _bmpBar.x = 4; _bmpBar.y = (_height - 11); _buffer.addChild(_bmpBar); _text = new TextField(); _text.defaultTextFormat = new TextFormat("system", 8, 0x900000); _text.embedFonts = true; _text.selectable = false; _text.multiline = false; _text.x = 2; _text.y = (_bmpBar.y - 11); _text.width = 80; _buffer.addChild(_text); _logo = new ImgLogo(); _logo.scaleX = (_logo.scaleY = (_height / 8)); _logo.x = ((_width - _logo.width) / 2); _logo.y = ((_height - _logo.height) / 2); _logoGlow = new ImgLogo(); _logoGlow.smoothing = true; _logoGlow.blendMode = "screen"; _logoGlow.scaleX = (_logoGlow.scaleY = (_height / 8)); _logoGlow.x = ((_width - _logoGlow.width) / 2); _logoGlow.y = ((_height - _logoGlow.height) / 2); _local1 = new ImgLogoCorners(); _local1.smoothing = true; _local1.width = _width; _local1.height = _height; _local1 = new Bitmap(new BitmapData(_width, _height, false, 0xFFFFFF)); var _local2:uint; while (_local2 < _height) { _local3 = 0; while (_local3 < _width) { _local1.bitmapData.setPixel(_local3, _local2, 0); _local3++; }; _local2 = (_local2 + 2); }; _local1.blendMode = "overlay"; _local1.alpha = 0.25; } } }//package org.flixel
Section 101
//FlxPreloader_img (org.flixel.FlxPreloader_img) package org.flixel { import mx.core.*; public class FlxPreloader_img extends BitmapAsset { } }//package org.flixel
Section 102
//FlxPreloader_ImgLogo (org.flixel.FlxPreloader_ImgLogo) package org.flixel { import mx.core.*; public class FlxPreloader_ImgLogo extends BitmapAsset { } }//package org.flixel
Section 103
//FlxPreloader_ImgLogoCorners (org.flixel.FlxPreloader_ImgLogoCorners) package org.flixel { import mx.core.*; public class FlxPreloader_ImgLogoCorners extends BitmapAsset { } }//package org.flixel
Section 104
//FlxPreloader_ImgLogoLight (org.flixel.FlxPreloader_ImgLogoLight) package org.flixel { import mx.core.*; public class FlxPreloader_ImgLogoLight extends BitmapAsset { } }//package org.flixel
Section 105
//FlxQuadTree (org.flixel.FlxQuadTree) package org.flixel { import org.flixel.data.*; public class FlxQuadTree extends FlxRect { protected var _sw:FlxQuadTree; protected var _mx:Number; protected var _my:Number; protected var _ne:FlxQuadTree; protected var _hh:Number; protected var _headA:FlxList; protected var _headB:FlxList; protected var _canSubdivide:Boolean; protected var _l:Number; protected var _hw:Number; protected var _nw:FlxQuadTree; protected var _se:FlxQuadTree; protected var _tailA:FlxList; protected var _r:Number; protected var _t:Number; protected var _tailB:FlxList; protected var _b:Number; public static const A_LIST:uint = 0; public static const B_LIST:uint = 1; protected static var _ot:Number; protected static var _or:Number; protected static var _o:FlxObject; protected static var _ob:Number; protected static var _min:uint; protected static var _oc:Function; protected static var _ol:Number; protected static var _oa:uint; public function FlxQuadTree(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:FlxQuadTree=null){ var _local6:FlxList; var _local7:FlxList; super(_arg1, _arg2, _arg3, _arg4); _headA = (_tailA = new FlxList()); _headB = (_tailB = new FlxList()); if (_arg5 != null){ if (_arg5._headA.object != null){ _local6 = _arg5._headA; while (_local6 != null) { if (_tailA.object != null){ _local7 = _tailA; _tailA = new FlxList(); _local7.next = _tailA; }; _tailA.object = _local6.object; _local6 = _local6.next; }; }; if (_arg5._headB.object != null){ _local6 = _arg5._headB; while (_local6 != null) { if (_tailB.object != null){ _local7 = _tailB; _tailB = new FlxList(); _local7.next = _tailB; }; _tailB.object = _local6.object; _local6 = _local6.next; }; }; } else { _min = ((width + height) / (2 * FlxU.quadTreeDivisions)); }; _canSubdivide = (((width > _min)) || ((height > _min))); _nw = null; _ne = null; _se = null; _sw = null; _l = x; _r = (x + width); _hw = (width / 2); _mx = (_l + _hw); _t = y; _b = (y + height); _hh = (height / 2); _my = (_t + _hh); } protected function addObject():void{ if (((!(_canSubdivide)) || ((((((((_l >= _ol)) && ((_r <= _or)))) && ((_t >= _ot)))) && ((_b <= _ob)))))){ addToList(); return; }; if ((((_ol > _l)) && ((_or < _mx)))){ if ((((_ot > _t)) && ((_ob < _my)))){ if (_nw == null){ _nw = new FlxQuadTree(_l, _t, _hw, _hh, this); }; _nw.addObject(); return; }; if ((((_ot > _my)) && ((_ob < _b)))){ if (_sw == null){ _sw = new FlxQuadTree(_l, _my, _hw, _hh, this); }; _sw.addObject(); return; }; }; if ((((_ol > _mx)) && ((_or < _r)))){ if ((((_ot > _t)) && ((_ob < _my)))){ if (_ne == null){ _ne = new FlxQuadTree(_mx, _t, _hw, _hh, this); }; _ne.addObject(); return; }; if ((((_ot > _my)) && ((_ob < _b)))){ if (_se == null){ _se = new FlxQuadTree(_mx, _my, _hw, _hh, this); }; _se.addObject(); return; }; }; if ((((((((_or > _l)) && ((_ol < _mx)))) && ((_ob > _t)))) && ((_ot < _my)))){ if (_nw == null){ _nw = new FlxQuadTree(_l, _t, _hw, _hh, this); }; _nw.addObject(); }; if ((((((((_or > _mx)) && ((_ol < _r)))) && ((_ob > _t)))) && ((_ot < _my)))){ if (_ne == null){ _ne = new FlxQuadTree(_mx, _t, _hw, _hh, this); }; _ne.addObject(); }; if ((((((((_or > _mx)) && ((_ol < _r)))) && ((_ob > _my)))) && ((_ot < _b)))){ if (_se == null){ _se = new FlxQuadTree(_mx, _my, _hw, _hh, this); }; _se.addObject(); }; if ((((((((_or > _l)) && ((_ol < _mx)))) && ((_ob > _my)))) && ((_ot < _b)))){ if (_sw == null){ _sw = new FlxQuadTree(_l, _my, _hw, _hh, this); }; _sw.addObject(); }; } protected function addToList():void{ var _local1:FlxList; if (_oa == A_LIST){ if (_tailA.object != null){ _local1 = _tailA; _tailA = new FlxList(); _local1.next = _tailA; }; _tailA.object = _o; } else { if (_tailB.object != null){ _local1 = _tailB; _tailB = new FlxList(); _local1.next = _tailB; }; _tailB.object = _o; }; if (!_canSubdivide){ return; }; if (_nw != null){ _nw.addToList(); }; if (_ne != null){ _ne.addToList(); }; if (_se != null){ _se.addToList(); }; if (_sw != null){ _sw.addToList(); }; } public function overlap(_arg1:Boolean=true, _arg2:Function=null):Boolean{ var _local4:FlxList; _oc = _arg2; var _local3:Boolean; if (_arg1){ _oa = B_LIST; if (_headA.object != null){ _local4 = _headA; while (_local4 != null) { _o = _local4.object; if (((((_o.exists) && (_o.solid))) && (overlapNode()))){ _local3 = true; }; _local4 = _local4.next; }; }; _oa = A_LIST; if (_headB.object != null){ _local4 = _headB; while (_local4 != null) { _o = _local4.object; if (((_o.exists) && (_o.solid))){ if (((!((_nw == null))) && (_nw.overlapNode()))){ _local3 = true; }; if (((!((_ne == null))) && (_ne.overlapNode()))){ _local3 = true; }; if (((!((_se == null))) && (_se.overlapNode()))){ _local3 = true; }; if (((!((_sw == null))) && (_sw.overlapNode()))){ _local3 = true; }; }; _local4 = _local4.next; }; }; } else { if (_headA.object != null){ _local4 = _headA; while (_local4 != null) { _o = _local4.object; if (((((_o.exists) && (_o.solid))) && (overlapNode(_local4.next)))){ _local3 = true; }; _local4 = _local4.next; }; }; }; if (((!((_nw == null))) && (_nw.overlap(_arg1, _oc)))){ _local3 = true; }; if (((!((_ne == null))) && (_ne.overlap(_arg1, _oc)))){ _local3 = true; }; if (((!((_se == null))) && (_se.overlap(_arg1, _oc)))){ _local3 = true; }; if (((!((_sw == null))) && (_sw.overlap(_arg1, _oc)))){ _local3 = true; }; return (_local3); } public function add(_arg1:FlxObject, _arg2:uint):void{ var _local3:FlxObject; var _local4:Array; var _local5:uint; var _local6:uint; _oa = _arg2; if (_arg1._group){ _local4 = (_arg1 as FlxGroup).members; _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local3 = (_local4[_local6] as FlxObject); if (((!((_local3 == null))) && (_local3.exists))){ if (_local3._group){ add(_local3, _arg2); } else { if (_local3.solid){ _o = _local3; _ol = _o.x; _ot = _o.y; _or = (_o.x + _o.width); _ob = (_o.y + _o.height); addObject(); }; }; }; _local6++; }; }; if (_arg1.solid){ _o = _arg1; _ol = _o.x; _ot = _o.y; _or = (_o.x + _o.width); _ob = (_o.y + _o.height); addObject(); }; } protected function overlapNode(_arg1:FlxList=null):Boolean{ var _local3:FlxObject; var _local2:Boolean; var _local4:FlxList = _arg1; if (_local4 == null){ if (_oa == A_LIST){ _local4 = _headA; } else { _local4 = _headB; }; }; if (_local4.object != null){ while (_local4 != null) { _local3 = _local4.object; if ((((((((((((((((((_o === _local3)) || (!(_local3.exists)))) || (!(_o.exists)))) || (!(_local3.solid)))) || (!(_o.solid)))) || (((_o.x + _o.width) < (_local3.x + FlxU.roundingError))))) || (((_o.x + FlxU.roundingError) > (_local3.x + _local3.width))))) || (((_o.y + _o.height) < (_local3.y + FlxU.roundingError))))) || (((_o.y + FlxU.roundingError) > (_local3.y + _local3.height))))){ _local4 = _local4.next; } else { if (_oc == null){ _o.kill(); _local3.kill(); _local2 = true; } else { if (_oc(_o, _local3)){ _local2 = true; }; }; _local4 = _local4.next; }; }; }; return (_local2); } } }//package org.flixel
Section 106
//FlxRect (org.flixel.FlxRect) package org.flixel { public class FlxRect extends FlxPoint { public var width:Number; public var height:Number; public function FlxRect(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){ super(_arg1, _arg2); width = _arg3; height = _arg4; } public function get bottom():Number{ return ((y + height)); } public function get top():Number{ return (y); } public function get left():Number{ return (x); } public function get right():Number{ return ((x + width)); } } }//package org.flixel
Section 107
//FlxSave (org.flixel.FlxSave) package org.flixel { import flash.net.*; public class FlxSave { protected var _so:SharedObject; public var data:Object; public var name:String; public function FlxSave(){ name = null; _so = null; data = null; } public function read(_arg1:String):Object{ if (_so == null){ FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.read()."); return (null); }; return (data[_arg1]); } public function forceSave(_arg1:uint=0):Boolean{ var MinFileSize = _arg1; if (_so == null){ FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.forceSave()."); return (false); }; var status:Object; try { status = _so.flush(MinFileSize); } catch(e:Error) { FlxG.log("WARNING: There was a problem flushing\nthe shared object data from FlxSave."); return (false); }; return ((status == SharedObjectFlushStatus.FLUSHED)); } public function bind(_arg1:String):Boolean{ var Name = _arg1; name = null; _so = null; data = null; name = Name; try { _so = SharedObject.getLocal(name); } catch(e:Error) { FlxG.log("WARNING: There was a problem binding to\nthe shared object data from FlxSave."); name = null; _so = null; data = null; return (false); }; data = _so.data; return (true); } public function erase(_arg1:uint=0):Boolean{ if (_so == null){ FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.erase()."); return (false); }; _so.clear(); return (forceSave(_arg1)); } public function write(_arg1:String, _arg2:Object, _arg3:uint=0):Boolean{ if (_so == null){ FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.write()."); return (false); }; data[_arg1] = _arg2; return (forceSave(_arg3)); } } }//package org.flixel
Section 108
//FlxSound (org.flixel.FlxSound) package org.flixel { import flash.events.*; import flash.media.*; import flash.net.*; public class FlxSound extends FlxObject { public var name:String; protected var _position:Number; protected var _fadeOutTotal:Number; protected var _fadeOutTimer:Number; protected var _sound:Sound; protected var _pauseOnFadeOut:Boolean; protected var _volumeAdjust:Number; public var playing:Boolean; protected var _radius:Number; protected var _volume:Number; protected var _point2:FlxPoint; protected var _fadeInTimer:Number; public var artist:String; protected var _channel:SoundChannel; protected var _fadeInTotal:Number; protected var _looped:Boolean; protected var _pan:Boolean; protected var _transform:SoundTransform; protected var _init:Boolean; public var survive:Boolean; protected var _core:FlxObject; public function FlxSound(){ _point2 = new FlxPoint(); _transform = new SoundTransform(); init(); fixed = true; } public function loadStream(_arg1:String, _arg2:Boolean=false):FlxSound{ stop(); init(); _sound = new Sound(); _sound.addEventListener(Event.ID3, gotID3); _sound.load(new URLRequest(_arg1)); _looped = _arg2; updateTransform(); active = true; return (this); } public function stop():void{ _position = 0; if (_channel != null){ _channel.stop(); stopped(); }; } public function loadEmbedded(_arg1:Class, _arg2:Boolean=false):FlxSound{ stop(); init(); _sound = new (_arg1); _looped = _arg2; updateTransform(); active = true; return (this); } public function get volume():Number{ return (_volume); } function updateTransform():void{ _transform.volume = (((FlxG.getMuteValue() * FlxG.volume) * _volume) * _volumeAdjust); if (_channel != null){ _channel.soundTransform = _transform; }; } public function fadeOut(_arg1:Number, _arg2:Boolean=false):void{ _pauseOnFadeOut = _arg2; _fadeInTimer = 0; _fadeOutTimer = _arg1; _fadeOutTotal = _fadeOutTimer; } public function play():void{ if (_position < 0){ return; }; if (_looped){ if (_position == 0){ if (_channel == null){ _channel = _sound.play(0, 9999, _transform); }; if (_channel == null){ active = false; }; } else { _channel = _sound.play(_position, 0, _transform); if (_channel == null){ active = false; } else { _channel.addEventListener(Event.SOUND_COMPLETE, looped); }; }; } else { if (_position == 0){ if (_channel == null){ _channel = _sound.play(0, 0, _transform); if (_channel == null){ active = false; } else { _channel.addEventListener(Event.SOUND_COMPLETE, stopped); }; }; } else { _channel = _sound.play(_position, 0, _transform); if (_channel == null){ active = false; }; }; }; playing = !((_channel == null)); _position = 0; } public function set volume(_arg1:Number):void{ _volume = _arg1; if (_volume < 0){ _volume = 0; } else { if (_volume > 1){ _volume = 1; }; }; updateTransform(); } protected function init():void{ _transform.pan = 0; _sound = null; _position = 0; _volume = 1; _volumeAdjust = 1; _looped = false; _core = null; _radius = 0; _pan = false; _fadeOutTimer = 0; _fadeOutTotal = 0; _pauseOnFadeOut = false; _fadeInTimer = 0; _fadeInTotal = 0; active = false; visible = false; solid = false; playing = false; name = null; artist = null; } protected function looped(_arg1:Event=null):void{ if (_channel == null){ return; }; _channel.removeEventListener(Event.SOUND_COMPLETE, looped); _channel = null; play(); } protected function updateSound():void{ var _local3:FlxPoint; var _local4:FlxPoint; var _local5:Number; var _local6:Number; var _local7:Number; if (_position != 0){ return; }; var _local1:Number = 1; var _local2:Number = 1; if (_core != null){ _local3 = new FlxPoint(); _local4 = new FlxPoint(); _core.getScreenXY(_local3); getScreenXY(_local4); _local5 = (_local3.x - _local4.x); _local6 = (_local3.y - _local4.y); _local1 = ((_radius - Math.sqrt(((_local5 * _local5) + (_local6 * _local6)))) / _radius); if (_local1 < 0){ _local1 = 0; }; if (_local1 > 1){ _local1 = 1; }; if (_pan){ _local7 = (-(_local5) / _radius); if (_local7 < -1){ _local7 = -1; } else { if (_local7 > 1){ _local7 = 1; }; }; _transform.pan = _local7; }; }; if (_fadeOutTimer > 0){ _fadeOutTimer = (_fadeOutTimer - FlxG.elapsed); if (_fadeOutTimer <= 0){ if (_pauseOnFadeOut){ pause(); } else { stop(); }; }; _local2 = (_fadeOutTimer / _fadeOutTotal); if (_local2 < 0){ _local2 = 0; }; } else { if (_fadeInTimer > 0){ _fadeInTimer = (_fadeInTimer - FlxG.elapsed); _local2 = (_fadeInTimer / _fadeInTotal); if (_local2 < 0){ _local2 = 0; }; _local2 = (1 - _local2); }; }; _volumeAdjust = (_local1 * _local2); updateTransform(); } public function fadeIn(_arg1:Number):void{ _fadeOutTimer = 0; _fadeInTimer = _arg1; _fadeInTotal = _fadeInTimer; play(); } override public function update():void{ super.update(); updateSound(); } protected function stopped(_arg1:Event=null):void{ if (!_looped){ _channel.removeEventListener(Event.SOUND_COMPLETE, stopped); } else { _channel.removeEventListener(Event.SOUND_COMPLETE, looped); }; _channel = null; active = false; playing = false; } protected function gotID3(_arg1:Event=null):void{ FlxG.log("got ID3 info!"); if (_sound.id3.songName.length > 0){ name = _sound.id3.songName; }; if (_sound.id3.artist.length > 0){ artist = _sound.id3.artist; }; _sound.removeEventListener(Event.ID3, gotID3); } public function pause():void{ if (_channel == null){ _position = -1; return; }; _position = _channel.position; _channel.stop(); if (_looped){ while (_position >= _sound.length) { _position = (_position - _sound.length); }; }; _channel = null; playing = false; } override public function destroy():void{ if (active){ stop(); }; } public function proximity(_arg1:Number, _arg2:Number, _arg3:FlxObject, _arg4:Number, _arg5:Boolean=true):FlxSound{ x = _arg1; y = _arg2; _core = _arg3; _radius = _arg4; _pan = _arg5; return (this); } } }//package org.flixel
Section 109
//FlxSprite (org.flixel.FlxSprite) package org.flixel { import flash.display.*; import flash.geom.*; import org.flixel.data.*; public class FlxSprite extends FlxObject { protected var _mtx:Matrix; protected var _caf:uint; public var finished:Boolean; protected var _animations:Array; protected var _ct:ColorTransform; public var offset:FlxPoint; protected var _callback:Function; protected var _curAnim:FlxAnim; protected var _framePixels:BitmapData; protected var _flipped:uint; public var scale:FlxPoint; protected var _pixels:BitmapData; protected var _bakedRotation:Number; public var blend:String; public var frameWidth:uint; protected var _flashRect2:Rectangle; protected var _bbb:BitmapData; protected var _alpha:Number; protected var _flashPointZero:Point; protected var _curFrame:uint; public var frameHeight:uint; protected var _flashRect:Rectangle; protected var _frameTimer:Number; protected var _facing:uint; public var antialiasing:Boolean; protected var _color:uint; public static const LEFT:uint = 0; public static const DOWN:uint = 3; public static const UP:uint = 2; public static const RIGHT:uint = 1; public function FlxSprite(_arg1:Number=0, _arg2:Number=0, _arg3:Class=null){ x = _arg1; y = _arg2; _flashRect = new Rectangle(); _flashRect2 = new Rectangle(); _flashPointZero = new Point(); offset = new FlxPoint(); scale = new FlxPoint(1, 1); _alpha = 1; _color = 0xFFFFFF; blend = null; antialiasing = false; finished = false; _facing = RIGHT; _animations = new Array(); _flipped = 0; _curAnim = null; _curFrame = 0; _caf = 0; _frameTimer = 0; _mtx = new Matrix(); _callback = null; if (_arg3 == null){ createGraphic(8, 8); } else { loadGraphic(_arg3); }; } override public function set fixed(_arg1:Boolean):void{ var _local2:Boolean = _fixed; _fixed = _arg1; if (((!((_local2 == _fixed))) && (FlxG.showBounds))){ calcFrame(); }; } protected function renderSprite():void{ if (_refreshBounds){ calcFrame(); }; getScreenXY(_point); _flashPoint.x = _point.x; _flashPoint.y = _point.y; if ((((((((((angle == 0)) || ((_bakedRotation > 0)))) && ((scale.x == 1)))) && ((scale.y == 1)))) && ((blend == null)))){ FlxG.buffer.copyPixels(_framePixels, _flashRect, _flashPoint, null, null, true); return; }; _mtx.identity(); _mtx.translate(-(origin.x), -(origin.y)); _mtx.scale(scale.x, scale.y); if (angle != 0){ _mtx.rotate(((Math.PI * 2) * (angle / 360))); }; _mtx.translate((_point.x + origin.x), (_point.y + origin.y)); FlxG.buffer.draw(_framePixels, _mtx, null, blend, null, antialiasing); } public function fill(_arg1:uint):void{ _pixels.fillRect(_flashRect2, _arg1); if (_pixels != _framePixels){ calcFrame(); }; } public function get color():uint{ return (_color); } override public function getScreenXY(_arg1:FlxPoint=null):FlxPoint{ if (_arg1 == null){ _arg1 = new FlxPoint(); }; _arg1.x = ((FlxU.floor((x + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.x * scrollFactor.x))) - offset.x); _arg1.y = ((FlxU.floor((y + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.y * scrollFactor.y))) - offset.y); return (_arg1); } public function get frame():uint{ return (_caf); } override public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{ _arg1 = (_arg1 - FlxU.floor(FlxG.scroll.x)); _arg2 = (_arg2 - FlxU.floor(FlxG.scroll.y)); getScreenXY(_point); if (_arg3){ return (_framePixels.hitTest(new Point(0, 0), 0xFF, new Point((_arg1 - _point.x), (_arg2 - _point.y)))); }; if ((((((((_arg1 <= _point.x)) || ((_arg1 >= (_point.x + frameWidth))))) || ((_arg2 <= _point.y)))) || ((_arg2 >= (_point.y + frameHeight))))){ return (false); }; return (true); } override public function render():void{ renderSprite(); } protected function drawBounds():void{ var _local1:uint = getBoundingColor(); _bbb.fillRect(_flashRect, 0); var _local2:uint = _flashRect.width; var _local3:uint = _flashRect.height; _flashRect.width = width; _flashRect.height = height; _flashRect.x = int(offset.x); _flashRect.y = int(offset.y); _bbb.fillRect(_flashRect, _local1); _flashRect.width = (_flashRect.width - 2); _flashRect.height = (_flashRect.height - 2); _flashRect.x++; _flashRect.y++; _bbb.fillRect(_flashRect, 0); _flashRect.width = _local2; _flashRect.height = _local3; _flashRect.x = (_flashRect.y = 0); _framePixels.copyPixels(_bbb, _flashRect, _flashPointZero, null, null, true); } protected function calcFrame():void{ var _local1:uint = (_caf * frameWidth); var _local2:uint; var _local3:uint = (_flipped) ? _flipped : _pixels.width; if (_local1 >= _local3){ _local2 = (uint((_local1 / _local3)) * frameHeight); _local1 = (_local1 % _local3); }; if (((_flipped) && ((_facing == LEFT)))){ _local1 = (((_flipped << 1) - _local1) - frameWidth); }; _flashRect.x = _local1; _flashRect.y = _local2; _framePixels.copyPixels(_pixels, _flashRect, _flashPointZero); _flashRect.x = (_flashRect.y = 0); if (_ct != null){ _framePixels.colorTransform(_flashRect, _ct); }; if (FlxG.showBounds){ drawBounds(); }; if (_callback != null){ _callback(_curAnim.name, _curFrame, _caf); }; } function unsafeBind(_arg1:BitmapData):void{ _pixels = (_framePixels = _arg1); } public function loadGraphic(_arg1:Class, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:Boolean=false):FlxSprite{ _bakedRotation = 0; _pixels = FlxG.addBitmap(_arg1, _arg3, _arg6); if (_arg3){ _flipped = (_pixels.width >> 1); } else { _flipped = 0; }; if (_arg4 == 0){ if (_arg2){ _arg4 = _pixels.height; } else { if (_flipped > 0){ _arg4 = (_pixels.width / 2); } else { _arg4 = _pixels.width; }; }; }; width = (frameWidth = _arg4); if (_arg5 == 0){ if (_arg2){ _arg5 = width; } else { _arg5 = _pixels.height; }; }; height = (frameHeight = _arg5); resetHelpers(); return (this); } public function get pixels():BitmapData{ return (_pixels); } public function set facing(_arg1:uint):void{ var _local2 = !((_facing == _arg1)); _facing = _arg1; if (_local2){ calcFrame(); }; } protected function resetHelpers():void{ _flashRect.x = 0; _flashRect.y = 0; _flashRect.width = frameWidth; _flashRect.height = frameHeight; _flashRect2.x = 0; _flashRect2.y = 0; _flashRect2.width = _pixels.width; _flashRect2.height = _pixels.height; if ((((((_framePixels == null)) || (!((_framePixels.width == width))))) || (!((_framePixels.height == height))))){ _framePixels = new BitmapData(width, height); }; if ((((((_bbb == null)) || (!((_bbb.width == width))))) || (!((_bbb.height == height))))){ _bbb = new BitmapData(width, height); }; origin.x = (frameWidth / 2); origin.y = (frameHeight / 2); _framePixels.copyPixels(_pixels, _flashRect, _flashPointZero); if (FlxG.showBounds){ drawBounds(); }; _caf = 0; refreshHulls(); } public function addAnimation(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true):void{ _animations.push(new FlxAnim(_arg1, _arg2, _arg3, _arg4)); } public function set alpha(_arg1:Number):void{ if (_arg1 > 1){ _arg1 = 1; }; if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 == _alpha){ return; }; _alpha = _arg1; if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){ _ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha); } else { _ct = null; }; calcFrame(); } protected function updateAnimation():void{ var _local1:uint; var _local2:int; if (_bakedRotation){ _local1 = _caf; _local2 = (angle % 360); if (_local2 < 0){ _local2 = (_local2 + 360); }; _caf = (_local2 / _bakedRotation); if (_local1 != _caf){ calcFrame(); }; return; }; if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){ _frameTimer = (_frameTimer + FlxG.elapsed); if (_frameTimer > _curAnim.delay){ _frameTimer = (_frameTimer - _curAnim.delay); if (_curFrame == (_curAnim.frames.length - 1)){ if (_curAnim.looped){ _curFrame = 0; }; finished = true; } else { _curFrame++; }; _caf = _curAnim.frames[_curFrame]; calcFrame(); }; }; } public function draw(_arg1:FlxSprite, _arg2:int=0, _arg3:int=0):void{ var _local4:BitmapData = _arg1._framePixels; if ((((((((((_arg1.angle == 0)) || ((_arg1._bakedRotation > 0)))) && ((_arg1.scale.x == 1)))) && ((_arg1.scale.y == 1)))) && ((_arg1.blend == null)))){ _flashPoint.x = _arg2; _flashPoint.y = _arg3; _flashRect2.width = _local4.width; _flashRect2.height = _local4.height; _pixels.copyPixels(_local4, _flashRect2, _flashPoint, null, null, true); _flashRect2.width = _pixels.width; _flashRect2.height = _pixels.height; calcFrame(); return; }; _mtx.identity(); _mtx.translate(-(_arg1.origin.x), -(_arg1.origin.y)); _mtx.scale(_arg1.scale.x, _arg1.scale.y); if (_arg1.angle != 0){ _mtx.rotate(((Math.PI * 2) * (_arg1.angle / 360))); }; _mtx.translate((_arg2 + _arg1.origin.x), (_arg3 + _arg1.origin.y)); _pixels.draw(_local4, _mtx, null, _arg1.blend, null, _arg1.antialiasing); calcFrame(); } public function loadRotatedGraphic(_arg1:Class, _arg2:uint=16, _arg3:int=-1, _arg4:Boolean=false, _arg5:Boolean=false):FlxSprite{ var _local12:BitmapData; var _local13:uint; var _local14:uint; var _local15:uint; var _local16:uint; var _local17:uint; var _local18:Number; var _local19:uint; var _local20:uint; var _local21:uint; var _local22:uint; var _local6:uint = Math.sqrt(_arg2); var _local7:BitmapData = FlxG.addBitmap(_arg1); if (_arg3 >= 0){ _local12 = _local7; _local7 = new BitmapData(_local12.height, _local12.height); _local13 = (_arg3 * _local7.width); _local14 = 0; _local15 = _local12.width; if (_local13 >= _local15){ _local14 = (uint((_local13 / _local15)) * _local7.height); _local13 = (_local13 % _local15); }; _flashRect.x = _local13; _flashRect.y = _local14; _flashRect.width = _local7.width; _flashRect.height = _local7.height; _local7.copyPixels(_local12, _flashRect, _flashPointZero); }; var _local8:uint = _local7.width; if (_local7.height > _local8){ _local8 = _local7.height; }; if (_arg5){ _local8 = (_local8 * 1.5); }; var _local9:uint = FlxU.ceil((_arg2 / _local6)); width = (_local8 * _local9); height = (_local8 * _local6); var _local10:String = ((((((String(_arg1) + ":") + _arg3) + ":") + width) + "x") + height); var _local11:Boolean = FlxG.checkBitmapCache(_local10); _pixels = FlxG.createBitmap(width, height, 0, true, _local10); width = (frameWidth = _pixels.width); height = (frameHeight = _pixels.height); _bakedRotation = (360 / _arg2); if (!_local11){ _local18 = 0; _local19 = (_local7.width / 2); _local20 = (_local7.height / 2); _local21 = (_local8 / 2); _local22 = (_local8 / 2); _local16 = 0; while (_local16 < _local6) { _local17 = 0; while (_local17 < _local9) { _mtx.identity(); _mtx.translate(-(_local19), -(_local20)); _mtx.rotate(((Math.PI * 2) * (_local18 / 360))); _mtx.translate(((_local8 * _local17) + _local21), _local22); _local18 = (_local18 + _bakedRotation); _pixels.draw(_local7, _mtx, null, null, null, _arg4); _local17++; }; _local22 = (_local22 + _local8); _local16++; }; }; frameWidth = (frameHeight = (width = (height = _local8))); resetHelpers(); return (this); } override public function update():void{ updateMotion(); updateAnimation(); updateFlickering(); } public function set color(_arg1:uint):void{ _arg1 = (_arg1 & 0xFFFFFF); if (_color == _arg1){ return; }; _color = _arg1; if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){ _ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha); } else { _ct = null; }; calcFrame(); } public function onEmit():void{ } public function createGraphic(_arg1:uint, _arg2:uint, _arg3:uint=4294967295, _arg4:Boolean=false, _arg5:String=null):FlxSprite{ _bakedRotation = 0; _pixels = FlxG.createBitmap(_arg1, _arg2, _arg3, _arg4, _arg5); width = (frameWidth = _pixels.width); height = (frameHeight = _pixels.height); resetHelpers(); return (this); } override public function set solid(_arg1:Boolean):void{ var _local2:Boolean = _solid; _solid = _arg1; if (((!((_local2 == _solid))) && (FlxG.showBounds))){ calcFrame(); }; } public function addAnimationCallback(_arg1:Function):void{ _callback = _arg1; } public function set pixels(_arg1:BitmapData):void{ _pixels = _arg1; width = (frameWidth = _pixels.width); height = (frameHeight = _pixels.height); resetHelpers(); } public function get alpha():Number{ return (_alpha); } public function get facing():uint{ return (_facing); } public function set frame(_arg1:uint):void{ _curAnim = null; _caf = _arg1; calcFrame(); } public function play(_arg1:String, _arg2:Boolean=false):void{ if (((((!(_arg2)) && (!((_curAnim == null))))) && ((_arg1 == _curAnim.name)))){ return; }; _curFrame = 0; _caf = 0; _frameTimer = 0; var _local3:uint = _animations.length; var _local4:uint; while (_local4 < _local3) { if (_animations[_local4].name == _arg1){ _curAnim = _animations[_local4]; if (_curAnim.delay <= 0){ finished = true; } else { finished = false; }; _caf = _curAnim.frames[_curFrame]; calcFrame(); return; }; _local4++; }; } public function randomFrame():void{ _curAnim = null; _caf = int((FlxU.random() * (_pixels.width / frameWidth))); calcFrame(); } } }//package org.flixel
Section 110
//FlxState (org.flixel.FlxState) package org.flixel { import flash.display.*; public class FlxState extends Sprite { public var defaultGroup:FlxGroup; public static var screen:FlxSprite; public static var bgColor:uint; public function FlxState(){ defaultGroup = new FlxGroup(); if (screen == null){ screen = new FlxSprite(); screen.createGraphic(FlxG.width, FlxG.height, 0, true); screen.origin.x = (screen.origin.y = 0); screen.antialiasing = true; screen.exists = false; screen.solid = false; screen.fixed = true; }; } public function add(_arg1:FlxObject):FlxObject{ return (defaultGroup.add(_arg1)); } public function preProcess():void{ screen.fill(bgColor); } public function collide():void{ FlxU.collide(defaultGroup, defaultGroup); } public function render():void{ defaultGroup.render(); } public function update():void{ defaultGroup.update(); } public function destroy():void{ defaultGroup.destroy(); } public function create():void{ } public function postProcess():void{ } } }//package org.flixel
Section 111
//FlxText (org.flixel.FlxText) package org.flixel { import flash.display.*; import flash.text.*; public class FlxText extends FlxSprite { protected var _tf:TextField; protected var _regen:Boolean; protected var _shadow:uint; public function FlxText(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:String=null, _arg5:Boolean=true){ super(_arg1, _arg2); createGraphic(_arg3, 1, 0); if (_arg4 == null){ _arg4 = ""; }; _tf = new TextField(); _tf.width = _arg3; _tf.embedFonts = _arg5; _tf.selectable = false; _tf.sharpness = 100; _tf.multiline = true; _tf.wordWrap = true; _tf.text = _arg4; var _local6:TextFormat = new TextFormat("system", 8, 0xFFFFFF); _tf.defaultTextFormat = _local6; _tf.setTextFormat(_local6); if (_arg4.length <= 0){ _tf.height = 1; } else { _tf.height = 10; }; _regen = true; _shadow = 0; solid = false; calcFrame(); } public function get shadow():uint{ return (_shadow); } public function get size():Number{ return ((_tf.defaultTextFormat.size as Number)); } override public function get color():uint{ return ((_tf.defaultTextFormat.color as uint)); } override public function set color(_arg1:uint):void{ var _local2:TextFormat = dtfCopy(); _local2.color = _arg1; _tf.defaultTextFormat = _local2; _tf.setTextFormat(_local2); _regen = true; calcFrame(); } public function set shadow(_arg1:uint):void{ _shadow = _arg1; calcFrame(); } public function set size(_arg1:Number):void{ var _local2:TextFormat = dtfCopy(); _local2.size = _arg1; _tf.defaultTextFormat = _local2; _tf.setTextFormat(_local2); _regen = true; calcFrame(); } public function get alignment():String{ return (_tf.defaultTextFormat.align); } protected function dtfCopy():TextFormat{ var _local1:TextFormat = _tf.defaultTextFormat; return (new TextFormat(_local1.font, _local1.size, _local1.color, _local1.bold, _local1.italic, _local1.underline, _local1.url, _local1.target, _local1.align)); } public function get text():String{ return (_tf.text); } public function get font():String{ return (_tf.defaultTextFormat.font); } public function set alignment(_arg1:String):void{ var _local2:TextFormat = dtfCopy(); _local2.align = _arg1; _tf.defaultTextFormat = _local2; _tf.setTextFormat(_local2); calcFrame(); } public function set font(_arg1:String):void{ var _local2:TextFormat = dtfCopy(); _local2.font = _arg1; _tf.defaultTextFormat = _local2; _tf.setTextFormat(_local2); _regen = true; calcFrame(); } override protected function calcFrame():void{ var _local1:uint; var _local2:uint; var _local3:TextFormat; var _local4:TextFormat; if (_regen){ _local1 = _tf.numLines; height = 0; _local2 = 0; while (_local2 < _local1) { height = (height + _tf.getLineMetrics(_local2).height); _local2++; }; height = (height + 4); _pixels = new BitmapData(width, height, true, 0); _bbb = new BitmapData(width, height, true, 0); frameHeight = height; _tf.height = (height * 1.2); _flashRect.x = 0; _flashRect.y = 0; _flashRect.width = width; _flashRect.height = height; _regen = false; } else { _pixels.fillRect(_flashRect, 0); }; if (((((!((_tf == null))) && (!((_tf.text == null))))) && ((_tf.text.length > 0)))){ _local3 = _tf.defaultTextFormat; _local4 = _local3; _mtx.identity(); if ((((_local3.align == "center")) && ((_tf.numLines == 1)))){ _local4 = new TextFormat(_local3.font, _local3.size, _local3.color, null, null, null, null, null, "left"); _tf.setTextFormat(_local4); _mtx.translate(Math.floor(((width - _tf.getLineMetrics(0).width) / 2)), 0); }; if (_shadow > 0){ _tf.setTextFormat(new TextFormat(_local4.font, _local4.size, _shadow, null, null, null, null, null, _local4.align)); _mtx.translate(1, 1); _pixels.draw(_tf, _mtx, _ct); _mtx.translate(-1, -1); _tf.setTextFormat(new TextFormat(_local4.font, _local4.size, _local4.color, null, null, null, null, null, _local4.align)); }; _pixels.draw(_tf, _mtx, _ct); _tf.setTextFormat(new TextFormat(_local3.font, _local3.size, _local3.color, null, null, null, null, null, _local3.align)); }; if ((((((_framePixels == null)) || (!((_framePixels.width == _pixels.width))))) || (!((_framePixels.height == _pixels.height))))){ _framePixels = new BitmapData(_pixels.width, _pixels.height, true, 0); }; _framePixels.copyPixels(_pixels, _flashRect, _flashPointZero); if (FlxG.showBounds){ drawBounds(); }; if (solid){ refreshHulls(); }; } public function setFormat(_arg1:String=null, _arg2:Number=8, _arg3:uint=0xFFFFFF, _arg4:String=null, _arg5:uint=0):FlxText{ if (_arg1 == null){ _arg1 = ""; }; var _local6:TextFormat = dtfCopy(); _local6.font = _arg1; _local6.size = _arg2; _local6.color = _arg3; _local6.align = _arg4; _tf.defaultTextFormat = _local6; _tf.setTextFormat(_local6); _shadow = _arg5; _regen = true; calcFrame(); return (this); } public function set text(_arg1:String):void{ var _local2:String = _tf.text; _tf.text = _arg1; if (_tf.text != _local2){ _regen = true; calcFrame(); }; } } }//package org.flixel
Section 112
//FlxU (org.flixel.FlxU) package org.flixel { import flash.net.*; import flash.utils.*; public class FlxU { protected static var _originalSeed:Number; public static var quadTree:FlxQuadTree; protected static var _seed:Number; static var roundingError:Number = 1E-7; public static var quadTreeBounds:FlxRect; public static var quadTreeDivisions:uint = 3; public static function random(_arg1:Boolean=true):Number{ var _local2:Number; if (((_arg1) && (!(isNaN(_seed))))){ _local2 = randomize(_seed); _seed = mutate(_seed, _local2); return (_local2); }; return (Math.random()); } public static function mutate(_arg1:Number, _arg2:Number):Number{ _arg1 = (_arg1 + _arg2); if (_arg1 > 1){ _arg1 = (_arg1 - int(_arg1)); }; return (_arg1); } public static function overlap(_arg1:FlxObject, _arg2:FlxObject, _arg3:Function=null):Boolean{ if ((((((((_arg1 == null)) || (!(_arg1.exists)))) || ((_arg2 == null)))) || (!(_arg2.exists)))){ return (false); }; quadTree = new FlxQuadTree(quadTreeBounds.x, quadTreeBounds.y, quadTreeBounds.width, quadTreeBounds.height); quadTree.add(_arg1, FlxQuadTree.A_LIST); if (_arg1 === _arg2){ return (quadTree.overlap(false, _arg3)); }; quadTree.add(_arg2, FlxQuadTree.B_LIST); return (quadTree.overlap(true, _arg3)); } public static function openURL(_arg1:String):void{ navigateToURL(new URLRequest(_arg1), "_blank"); } public static function endProfile(_arg1:uint, _arg2:String="Profiler", _arg3:Boolean=true):uint{ var _local4:uint = getTimer(); if (_arg3){ FlxG.log((((_arg2 + ": ") + ((_local4 - _arg1) / 1000)) + "s")); }; return (_local4); } public static function getClass(_arg1:String):Class{ return ((getDefinitionByName(_arg1) as Class)); } public static function floor(_arg1:Number):Number{ var _local2:Number = int(_arg1); return (((_arg1)>0) ? _local2 : ((_local2)!=_arg1) ? (_local2 - 1) : _local2); } public static function solveYCollision(_arg1:FlxObject, _arg2:FlxObject):Boolean{ var _local5:Number; var _local7:Boolean; var _local14:uint; var _local15:uint; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local3:Number = _arg1.colVector.y; var _local4:Number = _arg2.colVector.y; if (_local3 == _local4){ return (false); }; _arg1.preCollide(_arg2); _arg2.preCollide(_arg1); var _local6:Boolean; var _local8 = (_local3 == 0); var _local9 = (_local3 < 0); var _local10 = (_local3 > 0); var _local11 = (_local4 == 0); var _local12 = (_local4 < 0); var _local13 = (_local4 > 0); var _local16:FlxRect = _arg1.colHullY; var _local17:FlxRect = _arg2.colHullY; var _local18:Array = _arg1.colOffsets; var _local19:Array = _arg2.colOffsets; var _local20:uint = _local18.length; var _local21:uint = _local19.length; _local7 = ((((((((((_local8) && (_local12))) || (((_local10) && (_local11))))) || (((_local10) && (_local12))))) || (((((_local9) && (_local12))) && ((((_local3)>0) ? _local3 : -(_local3) < ((_local4)>0) ? _local4 : -(_local4))))))) || (((((_local10) && (_local13))) && ((((_local3)>0) ? _local3 : -(_local3) > ((_local4)>0) ? _local4 : -(_local4)))))); if ((_local7) ? ((!(_arg1.collideBottom)) || (!(_arg2.collideTop))) : ((!(_arg1.collideTop)) || (!(_arg2.collideBottom)))){ return (false); }; _local14 = 0; while (_local14 < _local20) { _local22 = _local18[_local14].x; _local23 = _local18[_local14].y; _local16.x = (_local16.x + _local22); _local16.y = (_local16.y + _local23); _local15 = 0; while (_local15 < _local21) { _local24 = _local19[_local15].x; _local25 = _local19[_local15].y; _local17.x = (_local17.x + _local24); _local17.y = (_local17.y + _local25); if (((((((((_local16.x + _local16.width) < (_local17.x + roundingError))) || (((_local16.x + roundingError) > (_local17.x + _local17.width))))) || (((_local16.y + _local16.height) < (_local17.y + roundingError))))) || (((_local16.y + roundingError) > (_local17.y + _local17.height))))){ _local17.x = (_local17.x - _local24); _local17.y = (_local17.y - _local25); } else { if (_local7){ if (_local9){ _local26 = (_local16.y + _arg1.colHullX.height); } else { _local26 = (_local16.y + _local16.height); }; if (_local12){ _local27 = _local17.y; } else { _local27 = ((_local17.y + _local17.height) - _arg2.colHullX.height); }; } else { if (_local12){ _local26 = (-(_local17.y) - _arg2.colHullX.height); } else { _local26 = (-(_local17.y) - _local17.height); }; if (_local9){ _local27 = -(_local16.y); } else { _local27 = ((-(_local16.y) - _local16.height) + _arg1.colHullX.height); }; }; _local5 = (_local26 - _local27); if ((((((_local5 == 0)) || (((!(_arg1.fixed)) && ((((_local5)>0) ? _local5 : -(_local5) > (_local16.height * 0.8))))))) || (((!(_arg2.fixed)) && ((((_local5)>0) ? _local5 : -(_local5) > (_local17.height * 0.8))))))){ _local17.x = (_local17.x - _local24); _local17.y = (_local17.y - _local25); } else { _local6 = true; _local28 = _arg2.velocity.y; _local29 = _arg1.velocity.y; if (((!(_arg1.fixed)) && (_arg2.fixed))){ if (_arg1._group){ _arg1.reset(_arg1.x, (_arg1.y - _local5)); } else { _arg1.y = (_arg1.y - _local5); }; } else { if (((_arg1.fixed) && (!(_arg2.fixed)))){ if (_arg2._group){ _arg2.reset(_arg2.x, (_arg2.y + _local5)); } else { _arg2.y = (_arg2.y + _local5); }; } else { if (((!(_arg1.fixed)) && (!(_arg2.fixed)))){ _local5 = (_local5 / 2); if (_arg1._group){ _arg1.reset(_arg1.x, (_arg1.y - _local5)); } else { _arg1.y = (_arg1.y - _local5); }; if (_arg2._group){ _arg2.reset(_arg2.x, (_arg2.y + _local5)); } else { _arg2.y = (_arg2.y + _local5); }; _local28 = (_local28 / 2); _local29 = (_local29 / 2); }; }; }; if (_local7){ _arg1.hitBottom(_arg2, _local28); _arg2.hitTop(_arg1, _local29); } else { _arg1.hitTop(_arg2, _local28); _arg2.hitBottom(_arg1, _local29); }; if (((!(_arg1.fixed)) && (!((_local5 == 0))))){ if (_local7){ _local16.y = (_local16.y - _local5); if (((_arg2.fixed) && (_arg2.moves))){ _local28 = _arg2.colVector.x; _arg1.x = (_arg1.x + _local28); _local16.x = (_local16.x + _local28); _arg1.colHullX.x = (_arg1.colHullX.x + _local28); }; } else { _local16.y = (_local16.y - _local5); _local16.height = (_local16.height + _local5); }; }; if (((!(_arg2.fixed)) && (!((_local5 == 0))))){ if (_local7){ _local17.y = (_local17.y + _local5); _local17.height = (_local17.height - _local5); } else { _local17.height = (_local17.height + _local5); if (((_arg1.fixed) && (_arg1.moves))){ _local29 = _arg1.colVector.x; _arg2.x = (_arg2.x + _local29); _local17.x = (_local17.x + _local29); _arg2.colHullX.x = (_arg2.colHullX.x + _local29); }; }; }; _local17.x = (_local17.x - _local24); _local17.y = (_local17.y - _local25); }; }; _local15++; }; _local16.x = (_local16.x - _local22); _local16.y = (_local16.y - _local23); _local14++; }; return (_local6); } public static function ceil(_arg1:Number):Number{ var _local2:Number = int(_arg1); return (((_arg1)>0) ? ((_local2)!=_arg1) ? (_local2 + 1) : _local2 : _local2); } public static function getAngle(_arg1:Number, _arg2:Number):Number{ return (((Math.atan2(_arg2, _arg1) * 180) / Math.PI)); } public static function setWorldBounds(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:uint=3):void{ if (quadTreeBounds == null){ quadTreeBounds = new FlxRect(); }; quadTreeBounds.x = _arg1; quadTreeBounds.y = _arg2; if (_arg3 > 0){ quadTreeBounds.width = _arg3; }; if (_arg4 > 0){ quadTreeBounds.height = _arg4; }; if (_arg5 > 0){ quadTreeDivisions = _arg5; }; } public static function startProfile():uint{ return (getTimer()); } public static function set seed(_arg1:Number):void{ _seed = _arg1; _originalSeed = _seed; } public static function getClassName(_arg1:Object, _arg2:Boolean=false):String{ var _local3:String = getQualifiedClassName(_arg1); _local3 = _local3.replace("::", "."); if (_arg2){ _local3 = _local3.substr((_local3.lastIndexOf(".") + 1)); }; return (_local3); } public static function randomize(_arg1:Number):Number{ return ((((69621 * int((_arg1 * 2147483647))) % 2147483647) / 2147483647)); } public static function abs(_arg1:Number):Number{ return (((_arg1)>0) ? _arg1 : -(_arg1)); } public static function rotatePoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:FlxPoint=null):FlxPoint{ if (_arg6 == null){ _arg6 = new FlxPoint(); }; var _local7:Number = ((-(_arg5) / 180) * Math.PI); var _local8:Number = (_arg1 - _arg3); var _local9:Number = (_arg4 - _arg2); _arg6.x = ((_arg3 + (Math.cos(_local7) * _local8)) - (Math.sin(_local7) * _local9)); _arg6.y = (_arg4 - ((Math.sin(_local7) * _local8) + (Math.cos(_local7) * _local9))); return (_arg6); } public static function get seed():Number{ return (_originalSeed); } public static function solveXCollision(_arg1:FlxObject, _arg2:FlxObject):Boolean{ var _local5:Boolean; var _local6:Boolean; var _local7:Number; var _local9:Boolean; var _local16:uint; var _local17:uint; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local3:Number = _arg1.colVector.x; var _local4:Number = _arg2.colVector.x; if (_local3 == _local4){ return (false); }; _arg1.preCollide(_arg2); _arg2.preCollide(_arg1); var _local8:Boolean; var _local10 = (_local3 == 0); var _local11 = (_local3 < 0); var _local12 = (_local3 > 0); var _local13 = (_local4 == 0); var _local14 = (_local4 < 0); var _local15 = (_local4 > 0); var _local18:FlxRect = _arg1.colHullX; var _local19:FlxRect = _arg2.colHullX; var _local20:Array = _arg1.colOffsets; var _local21:Array = _arg2.colOffsets; var _local22:uint = _local20.length; var _local23:uint = _local21.length; _local9 = ((((((((((_local10) && (_local14))) || (((_local12) && (_local13))))) || (((_local12) && (_local14))))) || (((((_local11) && (_local14))) && ((((_local3)>0) ? _local3 : -(_local3) < ((_local4)>0) ? _local4 : -(_local4))))))) || (((((_local12) && (_local15))) && ((((_local3)>0) ? _local3 : -(_local3) > ((_local4)>0) ? _local4 : -(_local4)))))); if ((_local9) ? ((!(_arg1.collideRight)) || (!(_arg2.collideLeft))) : ((!(_arg1.collideLeft)) || (!(_arg2.collideRight)))){ return (false); }; _local16 = 0; while (_local16 < _local22) { _local24 = _local20[_local16].x; _local25 = _local20[_local16].y; _local18.x = (_local18.x + _local24); _local18.y = (_local18.y + _local25); _local17 = 0; while (_local17 < _local23) { _local26 = _local21[_local17].x; _local27 = _local21[_local17].y; _local19.x = (_local19.x + _local26); _local19.y = (_local19.y + _local27); if (((((((((_local18.x + _local18.width) < (_local19.x + roundingError))) || (((_local18.x + roundingError) > (_local19.x + _local19.width))))) || (((_local18.y + _local18.height) < (_local19.y + roundingError))))) || (((_local18.y + roundingError) > (_local19.y + _local19.height))))){ _local19.x = (_local19.x - _local26); _local19.y = (_local19.y - _local27); } else { if (_local9){ if (_local11){ _local28 = (_local18.x + _arg1.colHullY.width); } else { _local28 = (_local18.x + _local18.width); }; if (_local14){ _local29 = _local19.x; } else { _local29 = ((_local19.x + _local19.width) - _arg2.colHullY.width); }; } else { if (_local14){ _local28 = (-(_local19.x) - _arg2.colHullY.width); } else { _local28 = (-(_local19.x) - _local19.width); }; if (_local11){ _local29 = -(_local18.x); } else { _local29 = ((-(_local18.x) - _local18.width) + _arg1.colHullY.width); }; }; _local7 = (_local28 - _local29); if ((((((_local7 == 0)) || (((!(_arg1.fixed)) && ((((_local7)>0) ? _local7 : -(_local7) > (_local18.width * 0.8))))))) || (((!(_arg2.fixed)) && ((((_local7)>0) ? _local7 : -(_local7) > (_local19.width * 0.8))))))){ _local19.x = (_local19.x - _local26); _local19.y = (_local19.y - _local27); } else { _local8 = true; _local30 = _arg2.velocity.x; _local31 = _arg1.velocity.x; if (((!(_arg1.fixed)) && (_arg2.fixed))){ if (_arg1._group){ _arg1.reset((_arg1.x - _local7), _arg1.y); } else { _arg1.x = (_arg1.x - _local7); }; } else { if (((_arg1.fixed) && (!(_arg2.fixed)))){ if (_arg2._group){ _arg2.reset((_arg2.x + _local7), _arg2.y); } else { _arg2.x = (_arg2.x + _local7); }; } else { if (((!(_arg1.fixed)) && (!(_arg2.fixed)))){ _local7 = (_local7 / 2); if (_arg1._group){ _arg1.reset((_arg1.x - _local7), _arg1.y); } else { _arg1.x = (_arg1.x - _local7); }; if (_arg2._group){ _arg2.reset((_arg2.x + _local7), _arg2.y); } else { _arg2.x = (_arg2.x + _local7); }; _local30 = (_local30 / 2); _local31 = (_local31 / 2); }; }; }; if (_local9){ _arg1.hitRight(_arg2, _local30); _arg2.hitLeft(_arg1, _local31); } else { _arg1.hitLeft(_arg2, _local30); _arg2.hitRight(_arg1, _local31); }; if (((!(_arg1.fixed)) && (!((_local7 == 0))))){ if (_local9){ _local18.width = (_local18.width - _local7); } else { _local18.x = (_local18.x - _local7); _local18.width = (_local18.width + _local7); }; _arg1.colHullY.x = (_arg1.colHullY.x - _local7); }; if (((!(_arg2.fixed)) && (!((_local7 == 0))))){ if (_local9){ _local19.x = (_local19.x + _local7); _local19.width = (_local19.width - _local7); } else { _local19.width = (_local19.width + _local7); }; _arg2.colHullY.x = (_arg2.colHullY.x + _local7); }; _local19.x = (_local19.x - _local26); _local19.y = (_local19.y - _local27); }; }; _local17++; }; _local18.x = (_local18.x - _local24); _local18.y = (_local18.y - _local25); _local16++; }; return (_local8); } public static function computeVelocity(_arg1:Number, _arg2:Number=0, _arg3:Number=0, _arg4:Number=10000):Number{ var _local5:Number; if (_arg2 != 0){ _arg1 = (_arg1 + (_arg2 * FlxG.elapsed)); } else { if (_arg3 != 0){ _local5 = (_arg3 * FlxG.elapsed); if ((_arg1 - _local5) > 0){ _arg1 = (_arg1 - _local5); } else { if ((_arg1 + _local5) < 0){ _arg1 = (_arg1 + _local5); } else { _arg1 = 0; }; }; }; }; if (((!((_arg1 == 0))) && (!((_arg4 == 10000))))){ if (_arg1 > _arg4){ _arg1 = _arg4; } else { if (_arg1 < -(_arg4)){ _arg1 = -(_arg4); }; }; }; return (_arg1); } public static function collide(_arg1:FlxObject, _arg2:FlxObject):Boolean{ if ((((((((_arg1 == null)) || (!(_arg1.exists)))) || ((_arg2 == null)))) || (!(_arg2.exists)))){ return (false); }; quadTree = new FlxQuadTree(quadTreeBounds.x, quadTreeBounds.y, quadTreeBounds.width, quadTreeBounds.height); quadTree.add(_arg1, FlxQuadTree.A_LIST); var _local3 = (_arg1 === _arg2); if (!_local3){ quadTree.add(_arg2, FlxQuadTree.B_LIST); }; var _local4:Boolean = quadTree.overlap(!(_local3), solveXCollision); var _local5:Boolean = quadTree.overlap(!(_local3), solveYCollision); return (((_local4) || (_local5))); } } }//package org.flixel
Section 113
//Log (SWFStats.Log) package SWFStats { import flash.events.*; import flash.net.*; import flash.utils.*; import flash.system.*; import flash.external.*; public final class Log { private static const PingR:Timer = new Timer(30000); private static const PingF:Timer = new Timer(60000); public static var GUID:String = ""; private static var Plays:int = 0; public static var Enabled:Boolean = false; private static var Request:LogRequest = new LogRequest(); private static var Pings:int = 0; public static var Queue:Boolean = true; public static var SourceUrl:String; private static var HighestGoal:int = 0; private static var FirstPing:Boolean = true; public static var SWFID:int = 0; private static function SaveCookie(_arg1:String, _arg2:int):void{ var _local3:SharedObject = SharedObject.getLocal("SWFStats"); _local3.data[_arg1] = _arg2.toString(); _local3.flush(); } public static function View(_arg1:int=0, _arg2:String="", _arg3:String=""):void{ if (SWFID > 0){ return; }; SWFID = _arg1; GUID = _arg2; Enabled = true; if ((((SWFID == 0)) || ((GUID == "")))){ Enabled = false; return; }; if (((((!((_arg3.indexOf("http://") == 0))) && (!((Security.sandboxType == "localWithNetwork"))))) && (!((Security.sandboxType == "localTrusted"))))){ Enabled = false; return; }; SourceUrl = GetUrl(_arg3); if ((((SourceUrl == null)) || ((SourceUrl == "")))){ Enabled = false; return; }; Security.allowDomain("http://tracker.SWFStats.com/"); Security.allowInsecureDomain("http://tracker.SWFStats.com/"); Security.loadPolicyFile("http://tracker.SWFStats.com/crossdomain.xml"); Security.allowDomain("http://utils.SWFStats.com/"); Security.allowInsecureDomain("http://utils.SWFStats.com/"); Security.loadPolicyFile("http://utils.SWFStats.com/crossdomain.xml"); var _local4:int = GetCookie("views"); _local4++; SaveCookie("views", _local4); Send(("v/" + _local4), true); PingF.addEventListener(TimerEvent.TIMER, PingServer); PingF.start(); } public static function LevelCounterMetric(_arg1:String, _arg2):void{ if (!Enabled){ return; }; Send(((("lc/" + Clean(_arg1)) + "/") + Clean(_arg2))); } private static function Clean(_arg1:String):String{ return (escape(_arg1.replace("/", "\\").replace("~", "-"))); } public static function Play():void{ if (!Enabled){ return; }; Plays++; Send(("p/" + Plays), true); } private static function Send(_arg1:String, _arg2:Boolean=false):void{ Request.Queue(_arg1); if (((((Request.Ready) || (_arg2))) || (!(Queue)))){ Request.Send(); Request = new LogRequest(); }; } private static function GetUrl(_arg1:String):String{ var url:String; var defaulturl = _arg1; if (ExternalInterface.available){ try { url = String(ExternalInterface.call("window.location.href.toString")); } catch(s:Error) { url = defaulturl; }; } else { if (defaulturl.indexOf("http://") == 0){ url = defaulturl; }; }; if ((((((url == null)) || ((url == "")))) || ((url == "null")))){ if ((((Security.sandboxType == "localWithNetwork")) || ((Security.sandboxType == "localTrusted")))){ url = "http://local-testing/"; } else { url = null; }; }; return (escape(url)); } public static function LevelRangedMetric(_arg1:String, _arg2, _arg3:int):void{ if (!Enabled){ return; }; Send(((((("lr/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3)); } private static function GetCookie(_arg1:String):int{ var _local2:SharedObject = SharedObject.getLocal("SWFStats"); if (_local2.data[_arg1] == undefined){ return (0); }; return (int(_local2.data[_arg1])); } public static function Goal(_arg1:int, _arg2:String):void{ } private static function PingServer(... _args):void{ if (!Enabled){ return; }; Pings++; Send(((("t/" + (FirstPing) ? "y" : "n") + "/") + Pings), true); if (FirstPing){ PingF.stop(); PingR.addEventListener(TimerEvent.TIMER, PingServer); PingR.start(); FirstPing = false; }; } public static function LevelAverageMetric(_arg1:String, _arg2, _arg3:int):void{ if (!Enabled){ return; }; Send(((((("la/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3)); } public static function CustomMetric(_arg1:String, _arg2:String=null):void{ if (!Enabled){ return; }; if (_arg2 == null){ _arg2 = ""; }; Send(((("c/" + Clean(_arg1)) + "/") + Clean(_arg2)), true); } } }//package SWFStats
Section 114
//LogRequest (SWFStats.LogRequest) package SWFStats { import flash.events.*; import flash.net.*; public final class LogRequest { private var Data:String;// = "" public var Ready:Boolean;// = false private var Pieces:int; private static var Failed:int = 0; private function IOErrorHandler(_arg1:IOErrorEvent):void{ Failed++; } public function Queue(_arg1:String):void{ if (Failed > 3){ return; }; this.Pieces++; this.Data = (this.Data + (((this.Data == "")) ? "" : "~" + _arg1)); if ((((this.Pieces == 8)) || ((this.Data.length > 300)))){ this.Ready = true; }; } private function SecurityErrorHandler(_arg1:SecurityErrorEvent):void{ } private function StatusChange(_arg1:HTTPStatusEvent):void{ } public function Send():void{ var _local1:URLLoader = new URLLoader(); _local1.addEventListener(IOErrorEvent.IO_ERROR, this.IOErrorHandler); _local1.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.StatusChange); _local1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.SecurityErrorHandler); _local1.load(new URLRequest((((((((((("http://tracker.SWFStats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z"))); trace((((((((((("http://tracker.SWFStats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z")); } } }//package SWFStats
Section 115
//_activeButtonStyleStyle (_activeButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _activeButtonStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".activeButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 116
//_activeTabStyleStyle (_activeTabStyleStyle) package { import mx.core.*; import mx.styles.*; public class _activeTabStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeTabStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".activeTabStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 117
//_alertButtonStyleStyle (_alertButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _alertButtonStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".alertButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".alertButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.color = 734012; }; }; } } }//package
Section 118
//_comboDropdownStyle (_comboDropdownStyle) package { import mx.core.*; import mx.styles.*; public class _comboDropdownStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".comboDropdown"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".comboDropdown", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.shadowDirection = "center"; this.fontWeight = "normal"; this.dropShadowEnabled = true; this.leading = 0; this.backgroundColor = 0xFFFFFF; this.shadowDistance = 1; this.cornerRadius = 0; this.borderThickness = 0; this.paddingLeft = 5; this.paddingRight = 5; }; }; } } }//package
Section 119
//_dataGridStylesStyle (_dataGridStylesStyle) package { import mx.core.*; import mx.styles.*; public class _dataGridStylesStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dataGridStyles"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".dataGridStyles", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 120
//_dateFieldPopupStyle (_dateFieldPopupStyle) package { import mx.core.*; import mx.styles.*; public class _dateFieldPopupStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dateFieldPopup"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".dateFieldPopup", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.dropShadowEnabled = true; this.backgroundColor = 0xFFFFFF; this.borderThickness = 0; }; }; } } }//package
Section 121
//_errorTipStyle (_errorTipStyle) package { import mx.core.*; import mx.styles.*; public class _errorTipStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".errorTip"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".errorTip", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; this.borderStyle = "errorTipRight"; this.paddingTop = 4; this.borderColor = 13510953; this.color = 0xFFFFFF; this.fontSize = 9; this.shadowColor = 0; this.paddingLeft = 4; this.paddingBottom = 4; this.paddingRight = 4; }; }; } } }//package
Section 122
//_globalStyle (_globalStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _globalStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("global"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("global", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fillColor = 0xFFFFFF; this.kerning = false; this.iconColor = 0x111111; this.textRollOverColor = 2831164; this.horizontalAlign = "left"; this.shadowCapColor = 14015965; this.backgroundAlpha = 1; this.filled = true; this.textDecoration = "none"; this.roundedBottomCorners = true; this.fontThickness = 0; this.focusBlendMode = "normal"; this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE]; this.horizontalGap = 8; this.borderCapColor = 9542041; this.buttonColor = 7305079; this.indentation = 17; this.selectionDisabledColor = 0xDDDDDD; this.closeDuration = 250; this.embedFonts = false; this.paddingTop = 0; this.letterSpacing = 0; this.focusAlpha = 0.4; this.bevel = true; this.fontSize = 10; this.shadowColor = 0xEEEEEE; this.borderAlpha = 1; this.paddingLeft = 0; this.fontWeight = "normal"; this.indicatorGap = 14; this.focusSkin = HaloFocusRect; this.dropShadowEnabled = false; this.leading = 2; this.borderSkin = HaloBorder; this.fontSharpness = 0; this.modalTransparencyDuration = 100; this.borderThickness = 1; this.backgroundSize = "auto"; this.borderStyle = "inset"; this.borderColor = 12040892; this.fontAntiAliasType = "advanced"; this.errorColor = 0xFF0000; this.shadowDistance = 2; this.horizontalGridLineColor = 0xF7F7F7; this.stroked = false; this.modalTransparencyColor = 0xDDDDDD; this.cornerRadius = 0; this.verticalAlign = "top"; this.textIndent = 0; this.fillAlphas = [0.6, 0.4, 0.75, 0.65]; this.verticalGridLineColor = 14015965; this.themeColor = 40447; this.version = "3.0.0"; this.shadowDirection = "center"; this.modalTransparency = 0.5; this.repeatInterval = 35; this.openDuration = 250; this.textAlign = "left"; this.fontFamily = "Verdana"; this.textSelectedColor = 2831164; this.paddingBottom = 0; this.strokeWidth = 1; this.fontGridFitType = "pixel"; this.horizontalGridLines = false; this.useRollOver = true; this.verticalGridLines = true; this.repeatDelay = 500; this.fontStyle = "normal"; this.dropShadowColor = 0; this.focusThickness = 2; this.verticalGap = 6; this.disabledColor = 11187123; this.paddingRight = 0; this.focusRoundedCorners = "tl tr bl br"; this.borderSides = "left top right bottom"; this.disabledIconColor = 0x999999; this.modalTransparencyBlur = 3; this.color = 734012; this.selectionDuration = 250; this.highlightAlphas = [0.3, 0]; }; }; } } }//package
Section 123
//_headerDateTextStyle (_headerDateTextStyle) package { import mx.core.*; import mx.styles.*; public class _headerDateTextStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDateText"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".headerDateText", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; this.textAlign = "center"; }; }; } } }//package
Section 124
//_headerDragProxyStyleStyle (_headerDragProxyStyleStyle) package { import mx.core.*; import mx.styles.*; public class _headerDragProxyStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDragProxyStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".headerDragProxyStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 125
//_linkButtonStyleStyle (_linkButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _linkButtonStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".linkButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".linkButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.paddingLeft = 2; this.paddingBottom = 2; this.paddingRight = 2; }; }; } } }//package
Section 126
//_opaquePanelStyle (_opaquePanelStyle) package { import mx.core.*; import mx.styles.*; public class _opaquePanelStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".opaquePanel"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".opaquePanel", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.borderColor = 0xFFFFFF; this.backgroundColor = 0xFFFFFF; this.headerColors = [0xE7E7E7, 0xD9D9D9]; this.footerColors = [0xE7E7E7, 0xC7C7C7]; this.borderAlpha = 1; }; }; } } }//package
Section 127
//_plainStyle (_plainStyle) package { import mx.core.*; import mx.styles.*; public class _plainStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".plain"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".plain", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 0; this.backgroundColor = 0xFFFFFF; this.backgroundImage = ""; this.horizontalAlign = "left"; this.paddingLeft = 0; this.paddingBottom = 0; this.paddingRight = 0; }; }; } } }//package
Section 128
//_popUpMenuStyle (_popUpMenuStyle) package { import mx.core.*; import mx.styles.*; public class _popUpMenuStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".popUpMenu"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".popUpMenu", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "normal"; this.textAlign = "left"; }; }; } } }//package
Section 129
//_richTextEditorTextAreaStyleStyle (_richTextEditorTextAreaStyleStyle) package { import mx.core.*; import mx.styles.*; public class _richTextEditorTextAreaStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".richTextEditorTextAreaStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".richTextEditorTextAreaStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 130
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle) package { import mx.core.*; import mx.styles.*; public class _swatchPanelTextFieldStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".swatchPanelTextField"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".swatchPanelTextField", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.borderStyle = "inset"; this.borderColor = 14015965; this.highlightColor = 12897484; this.backgroundColor = 0xFFFFFF; this.shadowCapColor = 14015965; this.shadowColor = 14015965; this.paddingLeft = 5; this.buttonColor = 7305079; this.borderCapColor = 9542041; this.paddingRight = 5; }; }; } } }//package
Section 131
//_textAreaHScrollBarStyleStyle (_textAreaHScrollBarStyleStyle) package { import mx.core.*; import mx.styles.*; public class _textAreaHScrollBarStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaHScrollBarStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".textAreaHScrollBarStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 132
//_textAreaVScrollBarStyleStyle (_textAreaVScrollBarStyleStyle) package { import mx.core.*; import mx.styles.*; public class _textAreaVScrollBarStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaVScrollBarStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".textAreaVScrollBarStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 133
//_todayStyleStyle (_todayStyleStyle) package { import mx.core.*; import mx.styles.*; public class _todayStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".todayStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".todayStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.color = 0xFFFFFF; this.textAlign = "center"; }; }; } } }//package
Section 134
//_weekDayStyleStyle (_weekDayStyleStyle) package { import mx.core.*; import mx.styles.*; public class _weekDayStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".weekDayStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".weekDayStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; this.textAlign = "center"; }; }; } } }//package
Section 135
//_windowStatusStyle (_windowStatusStyle) package { import mx.core.*; import mx.styles.*; public class _windowStatusStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStatus"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".windowStatus", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.color = 0x666666; }; }; } } }//package
Section 136
//_windowStylesStyle (_windowStylesStyle) package { import mx.core.*; import mx.styles.*; public class _windowStylesStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStyles"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".windowStyles", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 137
//en_US$core_properties (en_US$core_properties) package { import mx.resources.*; public class en_US$core_properties extends ResourceBundle { public function en_US$core_properties(){ super("en_US", "core"); } override protected function getContent():Object{ var _local1:Object = {multipleChildSets_ClassAndInstance:"Multiple sets of visual children have been specified for this component (component definition and component instance).", truncationIndicator:"...", notExecuting:"Repeater is not executing.", versionAlreadyRead:"Compatibility version has already been read.", multipleChildSets_ClassAndSubclass:"Multiple sets of visual children have been specified for this component (base component definition and derived component definition).", viewSource:"View Source", badFile:"File does not exist.", stateUndefined:"Undefined state '{0}'.", versionAlreadySet:"Compatibility version has already been set."}; return (_local1); } } }//package
Section 138
//en_US$skins_properties (en_US$skins_properties) package { import mx.resources.*; public class en_US$skins_properties extends ResourceBundle { public function en_US$skins_properties(){ super("en_US", "skins"); } override protected function getContent():Object{ var _local1:Object = {notLoaded:"Unable to load '{0}'."}; return (_local1); } } }//package
Section 139
//en_US$styles_properties (en_US$styles_properties) package { import mx.resources.*; public class en_US$styles_properties extends ResourceBundle { public function en_US$styles_properties(){ super("en_US", "styles"); } override protected function getContent():Object{ var _local1:Object = {unableToLoad:"Unable to load style({0}): {1}."}; return (_local1); } } }//package
Section 140
//Main (Main) package { import flash.events.*; import org.flixel.*; import flash.net.*; public dynamic class Main extends FlxGame { private var i:int; private var sndMusic:Class; public static var CONST_HEIGHT_EDITOR:uint = 2; public static var CONST_HEIGHT_BOX:uint = 50; public static var CONST_WIDTH_BOX:uint = 20; public static var CONST_HEIGHT_MAP:uint = (30 * CONST_HEIGHT_EDITOR); public static var CONST_WIDTH_TILE:uint = 20; public static var CONST_WIDTH_MAP:uint = (40 * CONST_WIDTH_EDITOR); public static var CONST_WIDTH_EDITOR:uint = 2; public static var isAch1:Boolean; public static var isAch2:Boolean; public static var isAch3:Boolean; public static var isAch4:Boolean; public static var isAch5:Boolean; public static var levelLast:int; public static var isAch8:Boolean; public static var isAch6:Boolean; public static var isAch7:Boolean; public static var gameSaves:FlxSave; public static var CONST_HEIGHT_TILE:uint = 20; public static var gameStats:Stats; public static var CONST_BLUR_MIN:Number = 0.1; public static var CONST_DAMAGE_BULLET:uint = 25; public static var levelsCount:int = 15; public static var CONST_BLUR_MAX:Number = 0.4; public static var CONST_DAMAGE_BOMB:uint = 1000; public function Main(){ sndMusic = Main_sndMusic; super(640, 480, PreloaderButtonPlay, 1); FlxG.playMusic(sndMusic, 1); gameSaves = new FlxSave(); gameSaves.bind("skill_shooter_gamesaves"); if ((((gameSaves.data["level_last"] == undefined)) || ((gameSaves.data["level_last"] == null)))){ levelLast = 1; } else { levelLast = gameSaves.data["level_last"]; }; var _local1 = 1; while (_local1 <= 8) { if ((((gameSaves.data[("is_ach_" + _local1)] == undefined)) || ((gameSaves.data[("is_ach_" + _local1)] == null)))){ Main[("isAch" + _local1)] = false; } else { if (gameSaves.data[("is_ach_" + _local1)]){ Main[("isAch" + _local1)] = true; } else { Main[("isAch" + _local1)] = false; }; }; _local1++; }; gameStats = new Stats(); } public static function getMapXY(_arg1:Number, _arg2:Number):FlxPoint{ return (new FlxPoint(Math.floor((_arg1 / CONST_WIDTH_TILE)), Math.floor((_arg2 / CONST_HEIGHT_TILE)))); } public static function findClass(_arg1:FlxGroup, _arg2:Class):Boolean{ var _local3:uint; while (_local3 < _arg1.members.length) { if ((_arg1.members[_local3] is _arg2)){ return (true); }; _local3++; }; return (false); } public static function getXY(_arg1:uint, _arg2:uint):FlxPoint{ return (new FlxPoint((_arg1 * CONST_WIDTH_TILE), ((_arg2 * CONST_HEIGHT_TILE) - (CONST_HEIGHT_BOX - CONST_HEIGHT_TILE)))); } public static function url(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=hostage_crisis")); Main.gameStats.clickSponsor(); } public static function findObjectAsClass(_arg1:FlxGroup, _arg2:Class):PlayObject{ var _local3:uint; while (_local3 < _arg1.members.length) { if ((_arg1.members[_local3] is _arg2)){ return (_arg1.members[_local3]); }; _local3++; }; return (null); } } }//package
Section 141
//Main_sndMusic (Main_sndMusic) package { import mx.core.*; public class Main_sndMusic extends SoundAsset { } }//package
Section 142
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; trace("ok"); var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 143
//PlayAch (PlayAch) package { import org.flixel.*; public class PlayAch extends FlxGroup { private var descr:Array; private var names:Array; private var imgAch1:Class; private var imgAch2:Class; private var imgAch3:Class; private var imgAch4:Class; private var imgAch5:Class; private var imgAch6:Class; private var imgAch7:Class; private var imgAch8:Class; private var sprAch:FlxSprite; private var txtName:FlxText; private var isOpen:Boolean;// = false private var type:int; private var sprBack:FlxSprite; private var txtInfo:FlxText; public function PlayAch(_arg1:Number, _arg2:Number, _arg3:int){ imgAch1 = PlayAch_imgAch1; imgAch2 = PlayAch_imgAch2; imgAch3 = PlayAch_imgAch3; imgAch4 = PlayAch_imgAch4; imgAch5 = PlayAch_imgAch5; imgAch6 = PlayAch_imgAch6; imgAch7 = PlayAch_imgAch7; imgAch8 = PlayAch_imgAch8; names = ["Fragged", "Charity", "Bullets Versus Blasts", "Total Victory", "Maniac", "Pacifist", "Impressive! But not very nice", "Game Completionist"]; descr = ["Kill enemy by grenade", "Check out the coolest flash game portal ever", "Kill enemy behind the wall", "Kill navy seal (enemy with grenade launcher) with pistol", "Finish level killing all guards", "Finish level without killing anybody", "Kill 3 hostages with one grenade", "Finish game"]; super(); type = _arg3; sprAch = new FlxSprite(_arg1, _arg2); sprAch.loadGraphic(this[("imgAch" + _arg3)], true, false, 60); sprAch.frame = 0; add(sprAch); txtName = new FlxText(((_arg1 + (sprAch.frameWidth / 2)) - 150), (_arg2 - 5), 300, names[(_arg3 - 1)]); txtName.alignment = "center"; txtName.size = 11; txtName.visible = false; add(txtName); txtInfo = new FlxText(((FlxG.width - 20) + 105), ((FlxG.height - 20) + 320), 460, descr[(_arg3 - 1)]); txtInfo.alignment = "left"; txtInfo.size = 15; txtInfo.visible = false; add(txtInfo); } override public function update():void{ isOpen = Main[("isAch" + type)]; if (isOpen){ sprAch.frame = 1; }; if ((((((((FlxG.mouse.x > sprAch.x)) && ((FlxG.mouse.y > sprAch.y)))) && ((FlxG.mouse.x < (sprAch.x + sprAch.frameWidth))))) && ((FlxG.mouse.y < (sprAch.y + sprAch.frameHeight))))){ sprAch.frame = 1; txtName.visible = true; txtInfo.visible = true; } else { if (!isOpen){ sprAch.frame = 0; }; sprAch.color = 4294967295; txtName.visible = false; txtInfo.visible = false; }; super.update(); } } }//package
Section 144
//PlayAch_imgAch1 (PlayAch_imgAch1) package { import mx.core.*; public class PlayAch_imgAch1 extends BitmapAsset { } }//package
Section 145
//PlayAch_imgAch2 (PlayAch_imgAch2) package { import mx.core.*; public class PlayAch_imgAch2 extends BitmapAsset { } }//package
Section 146
//PlayAch_imgAch3 (PlayAch_imgAch3) package { import mx.core.*; public class PlayAch_imgAch3 extends BitmapAsset { } }//package
Section 147
//PlayAch_imgAch4 (PlayAch_imgAch4) package { import mx.core.*; public class PlayAch_imgAch4 extends BitmapAsset { } }//package
Section 148
//PlayAch_imgAch5 (PlayAch_imgAch5) package { import mx.core.*; public class PlayAch_imgAch5 extends BitmapAsset { } }//package
Section 149
//PlayAch_imgAch6 (PlayAch_imgAch6) package { import mx.core.*; public class PlayAch_imgAch6 extends BitmapAsset { } }//package
Section 150
//PlayAch_imgAch7 (PlayAch_imgAch7) package { import mx.core.*; public class PlayAch_imgAch7 extends BitmapAsset { } }//package
Section 151
//PlayAch_imgAch8 (PlayAch_imgAch8) package { import mx.core.*; public class PlayAch_imgAch8 extends BitmapAsset { } }//package
Section 152
//PlayBlood (PlayBlood) package { import org.flixel.*; public class PlayBlood extends PlayObject { private var sprBlood:FlxSprite; private var CONST_SPEED:uint;// = 150 private var imgBullet:Class; private var newCoord:FlxPoint; private var oldCoord:FlxPoint; private var test:FlxGroup; private var dX:Number; private var dY:Number; private var coord:FlxPoint; public function PlayBlood(_arg1:Number, _arg2:Number, _arg3:Number){ imgBullet = PlayBlood_imgBullet; if (_arg1 < 0){ _arg1 = 0; }; if (_arg2 < 0){ _arg2 = 0; }; coord = Main.getMapXY(_arg1, _arg2); oldCoord = new FlxPoint(coord.x, coord.y); newCoord = new FlxPoint(); super(coord.x, coord.y); coord = FlxU.rotatePoint(CONST_SPEED, 0, 0, 0, _arg3); dX = coord.x; dY = coord.y; sprBlood = new FlxSprite((_arg1 + (dX / 20)), (_arg2 + (dY / 20)), imgBullet); sprBlood.angle = _arg3; sprBlood.color = 4294901760; sprBlood.scale.x = 0.7; sprBlood.scale.y = 0.7; add(sprBlood); test = null; } override public function update():void{ sprBlood.velocity.x = dX; sprBlood.velocity.y = dY; dX = (dX * 0.99); dY = (dY * 0.99); sprBlood.scale.x = (sprBlood.scale.x * 0.95); sprBlood.scale.y = (sprBlood.scale.y * 0.95); coord = Main.getMapXY((sprBlood.x + (sprBlood.frameWidth / 2)), (sprBlood.y + (sprBlood.frameHeight / 2))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ if (((Main.findClass(StatePlay.levelMap[coord.y][coord.x], PlayWall)) && (!((StatePlay.levelMap[coord.y][coord.x] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][coord.x]; }; if (((((Main.findClass(StatePlay.levelMap[coord.y][(coord.x + 1)], PlayWall)) && ((sprBlood.velocity.x > 0)))) && (!((StatePlay.levelMap[coord.y][(coord.x + 1)] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][(coord.x + 1)]; } else { if (((((Main.findClass(StatePlay.levelMap[coord.y][(coord.x - 1)], PlayWall)) && ((sprBlood.velocity.x < 0)))) && (!((StatePlay.levelMap[coord.y][(coord.x - 1)] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][(coord.x - 1)]; } else { if (((((Main.findClass(StatePlay.levelMap[(coord.y + 1)][coord.x], PlayWall)) && ((sprBlood.velocity.y > 0)))) && (!((StatePlay.levelMap[(coord.y + 1)][coord.x] == test))))){ dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[(coord.y + 1)][coord.x]; } else { if (((((Main.findClass(StatePlay.levelMap[(coord.y - 1)][coord.x], PlayWall)) && ((sprBlood.velocity.y < 0)))) && (!((StatePlay.levelMap[(coord.y - 1)][coord.x] == test))))){ dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[(coord.y - 1)][coord.x]; }; }; }; }; sprBlood.angle = ((Math.atan2(dY, dX) * 180) / Math.PI); newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; }; } else { kill(); }; if (sprBlood.scale.x < 0.5){ kill(); }; super.update(); } } }//package
Section 153
//PlayBlood_imgBullet (PlayBlood_imgBullet) package { import mx.core.*; public class PlayBlood_imgBullet extends BitmapAsset { } }//package
Section 154
//PlayBonuse (PlayBonuse) package { import org.flixel.*; public class PlayBonuse extends FlxSprite { private var imgPlastid:Class; private var msg:FlxText;// = null private var sndPickUp:Class; private var imgGrenade:Class; private var imgGunAuto:Class; private var imgGunDrob:Class; private var isTake:Boolean; private var cantake:Boolean;// = true private var imgRadio:Class; private var type:int; private var imgGunBomb:Class; public function PlayBonuse(_arg1:int, _arg2:int, _arg3:int){ sndPickUp = PlayBonuse_sndPickUp; imgGrenade = PlayBonuse_imgGrenade; imgPlastid = PlayBonuse_imgPlastid; imgRadio = PlayBonuse_imgRadio; imgGunDrob = PlayBonuse_imgGunDrob; imgGunBomb = PlayBonuse_imgGunBomb; imgGunAuto = PlayBonuse_imgGunAuto; isTake = false; type = _arg3; super(_arg1, _arg2); switch (_arg3){ case 1: loadGraphic(imgGrenade); break; case 2: loadGraphic(imgPlastid, true, false, 10, 10); break; case 3: loadGraphic(imgRadio, true, false, 10, 15); break; case 4: loadGraphic(imgGunDrob); break; case 5: loadGraphic(imgGunBomb); scale.x = 1.2; scale.y = 1.2; break; case 6: loadGraphic(imgGunAuto); break; }; if (_arg3 != 5){ scale.x = 1.5; scale.y = 1.5; }; cantake = true; if ((((_arg3 == 5)) && ((StatePlay.root_url.indexOf("kongregate.com") < 0)))){ cantake = false; msg = new FlxText((x - 60), (y + 10), 130, "Play with Grenade launcher on Kongregate.com"); msg.alignment = "center"; msg.color = 4294967040; msg.size = 10; StatePlay.low.add(msg); }; StatePlay.low.add(this); } public function toTake():void{ if (!isTake){ FlxG.play(sndPickUp); isTake = true; color = 4294967040; }; } override public function update():void{ var _local1:Number; if (isTake){ if (alpha != 0){ alpha = (alpha - 0.05); } else { kill(); }; } else { _local1 = (((StatePlay.player.sprBody.x - x) * (StatePlay.player.sprBody.x - x)) + ((StatePlay.player.sprBody.y - y) * (StatePlay.player.sprBody.y - y))); if (_local1 < 500){ if (StatePlay.player.sprSpec == null){ if (cantake){ StatePlay.player.toTake(type); toTake(); }; }; }; }; super.update(); } } }//package
Section 155
//PlayBonuse_imgGrenade (PlayBonuse_imgGrenade) package { import mx.core.*; public class PlayBonuse_imgGrenade extends BitmapAsset { } }//package
Section 156
//PlayBonuse_imgGunAuto (PlayBonuse_imgGunAuto) package { import mx.core.*; public class PlayBonuse_imgGunAuto extends BitmapAsset { } }//package
Section 157
//PlayBonuse_imgGunBomb (PlayBonuse_imgGunBomb) package { import mx.core.*; public class PlayBonuse_imgGunBomb extends BitmapAsset { } }//package
Section 158
//PlayBonuse_imgGunDrob (PlayBonuse_imgGunDrob) package { import mx.core.*; public class PlayBonuse_imgGunDrob extends BitmapAsset { } }//package
Section 159
//PlayBonuse_imgPlastid (PlayBonuse_imgPlastid) package { import mx.core.*; public class PlayBonuse_imgPlastid extends BitmapAsset { } }//package
Section 160
//PlayBonuse_imgRadio (PlayBonuse_imgRadio) package { import mx.core.*; public class PlayBonuse_imgRadio extends BitmapAsset { } }//package
Section 161
//PlayBonuse_sndPickUp (PlayBonuse_sndPickUp) package { import mx.core.*; public class PlayBonuse_sndPickUp extends SoundAsset { } }//package
Section 162
//PlayBullet (PlayBullet) package { import org.flixel.*; public class PlayBullet extends PlayObject { private var sndExpl:Class; private var imgGrenade:Class; private var oldCoord:FlxPoint; private var imgRadio:Class; private var test:FlxGroup; private var sndExplHe:Class; private var sprBullet:FlxSprite; public var isPlastid:Boolean; private var imgBullet:Class; private var CONST_SPEED:uint;// = 350 private var ey:int; private var newCoord:FlxPoint; private var sndBeep:Class; private var ex:int; public var isGrenade:Boolean; private var sprExpl:FlxSprite; public var isBullet:Boolean; private var imgExpl:Class; private var by:int; private var imgPlastid:Class; private var bx:int; private var i:int; private var j:int; private var k:int; public var flag:Boolean; public var dX:Number; public var dY:Number; private var lastFrame:int; public var isRadio:Boolean; private var coord:FlxPoint; private var obj:PlayObject; public function PlayBullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:Boolean=false){ sndExpl = PlayBullet_sndExpl; sndExplHe = PlayBullet_sndExplHe; sndBeep = PlayBullet_sndBeep; imgBullet = PlayBullet_imgBullet; imgGrenade = PlayBullet_imgGrenade; imgPlastid = PlayBullet_imgPlastid; imgRadio = PlayBullet_imgRadio; imgExpl = PlayBullet_imgExpl; isGrenade = _arg4; isPlastid = _arg5; isRadio = _arg6; if (((((!(_arg4)) && (!(_arg5)))) && (!(_arg6)))){ isBullet = true; }; if (_arg1 < 0){ _arg1 = 0; }; if (_arg2 < 0){ _arg2 = 0; }; coord = Main.getMapXY(_arg1, _arg2); oldCoord = new FlxPoint(coord.x, coord.y); newCoord = new FlxPoint(); super(coord.x, coord.y); coord = FlxU.rotatePoint(CONST_SPEED, 0, 0, 0, _arg3); dX = coord.x; dY = coord.y; if (_arg4){ dX = (dX * 0.5); dY = (dY * 0.5); sprBullet = new FlxSprite((_arg1 + (dX / 20)), (_arg2 + (dY / 20)), imgGrenade); } else { if (_arg5){ sprBullet = new FlxSprite((_arg1 + (dX / 20)), (_arg2 + (dY / 20))); sprBullet.loadGraphic(imgPlastid, true, false, 10, 10); sprBullet.addAnimation("boom", [1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1], 6, true); } else { if (_arg6){ sprBullet = new FlxSprite((_arg1 + (dX / 20)), (_arg2 + (dY / 20))); sprBullet.loadGraphic(imgRadio, true, false, 10, 15); sprBullet.addAnimation("miganie", [0, 1], 2, true); sprBullet.play("miganie"); } else { sprBullet = new FlxSprite((_arg1 + (dX / 20)), (_arg2 + (dY / 20)), imgBullet); }; }; }; sprBullet.angle = _arg3; add(sprBullet); lastFrame = -1; flag = false; test = null; sprExpl = null; } public function radioBoom():void{ FlxG.play(sndExpl, 0.7); FlxG.quake.start(0.04); sprExpl = new FlxSprite((sprBullet.x - 15), (sprBullet.y - 15)); sprExpl.loadGraphic(imgExpl, true, false, 64); sprExpl.addAnimation("boom", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 32, false); sprExpl.play("boom"); StatePlay.high.add(sprExpl); var _local1:uint; while (_local1 < 10) { new PlayEffect((sprBullet.x - 15), (sprBullet.y - 15), (Math.random() * 360)); _local1++; }; StatePlay.blur.alpha = Main.CONST_BLUR_MIN; coord = Main.getMapXY((sprBullet.x + (sprBullet.frameWidth / 2)), (sprBullet.y + (sprBullet.frameHeight / 2))); bx = (coord.x - 3); by = (coord.y - 3); ex = (coord.x + 3); ey = (coord.y + 3); if (bx < 0){ bx = 0; }; if (by < 0){ by = 0; }; if (ex > (StatePlay.levelWidth - 1)){ ex = (StatePlay.levelWidth - 1); }; if (ey > (StatePlay.levelHeight - 1)){ ey = (StatePlay.levelHeight - 1); }; var _local2:Boolean; k = 0; _local1 = by; while (_local1 <= ey) { j = bx; while (j <= ex) { obj = Main.findObjectAsClass((StatePlay.levelMap[_local1][j] as FlxGroup), PlayWall); if (obj != null){ if ((((((((_local1 == by)) || ((_local1 == ey)))) || ((j == bx)))) || ((j == ex)))){ (obj as PlayWall).tresk(); } else { (obj as PlayWall).boom(); }; }; obj = Main.findObjectAsClass((StatePlay.levelMap[_local1][j] as FlxGroup), PlayCivilian); if (obj != null){ (obj as PlayCivilian).hurt(Main.CONST_DAMAGE_BOMB); k++; }; obj = Main.findObjectAsClass((StatePlay.levelMap[_local1][j] as FlxGroup), PlayEnemy1); if (obj != null){ (obj as PlayEnemy1).hurt(Main.CONST_DAMAGE_BOMB); Main.gameStats.killEnenmyByRadio(); if (((!((obj as PlayEnemy1).testFire())) && (!((obj as PlayEnemy1).pamTestFire)))){ Main.gameStats.killEnemyFromWall(); }; }; obj = Main.findObjectAsClass((StatePlay.levelMap[_local1][j] as FlxGroup), PlayEnemy2); if (obj != null){ (obj as PlayEnemy2).hurt(Main.CONST_DAMAGE_BOMB); Main.gameStats.killEnenmyByRadio(); if (((!((obj as PlayEnemy2).testFire())) && (!((obj as PlayEnemy2).pamTestFire)))){ Main.gameStats.killEnemyFromWall(); }; }; obj = Main.findObjectAsClass((StatePlay.levelMap[_local1][j] as FlxGroup), PlayEnemy3); if (obj != null){ (obj as PlayEnemy3).hurt(Main.CONST_DAMAGE_BOMB); Main.gameStats.killEnenmyByRadio(); if (((!((obj as PlayEnemy3).testFire())) && (!((obj as PlayEnemy3).pamTestFire)))){ Main.gameStats.killEnemyFromWall(); }; }; obj = Main.findObjectAsClass((StatePlay.levelMap[_local1][j] as FlxGroup), PlayGameObject); if (obj != null){ (obj as PlayGameObject).boom(); }; j++; }; _local1++; }; if (k >= 3){ Main.gameStats.killMore3Civ(); }; visible = false; } override public function update():void{ var _local1:PlayBonuse; var _local2:uint; sprBullet.velocity.x = 0; sprBullet.velocity.y = 0; sprBullet.velocity.x = dX; sprBullet.velocity.y = dY; if (isGrenade){ dX = (dX * 0.98); dY = (dY * 0.98); }; if (isPlastid){ dX = (dX * 0.9); dY = (dY * 0.9); }; if (isRadio){ dX = (dX * 0.9); dY = (dY * 0.9); }; if (((isBullet) && (flag))){ dX = (dX * 0.92); dY = (dY * 0.92); sprBullet.scale.x = (sprBullet.scale.x * 0.98); sprBullet.scale.y = (sprBullet.scale.y * 0.98); }; coord = Main.getMapXY((sprBullet.x + (sprBullet.frameWidth / 2)), (sprBullet.y + (sprBullet.frameHeight / 2))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ if (((Main.findClass(StatePlay.levelMap[coord.y][coord.x], PlayWall)) && (!((StatePlay.levelMap[coord.y][coord.x] == test))))){ dX = (dX * (-1 * Math.random())); dY = (dY * (-1 * Math.random())); test = StatePlay.levelMap[coord.y][coord.x]; flag = true; if (isBullet){ kill(); }; }; if (((((Main.findClass(StatePlay.levelMap[coord.y][(coord.x + 1)], PlayWall)) && ((sprBullet.velocity.x > 0)))) && (!((StatePlay.levelMap[coord.y][(coord.x + 1)] == test))))){ dX = (dX * -1); test = StatePlay.levelMap[coord.y][(coord.x + 1)]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[coord.y][(coord.x - 1)], PlayWall)) && ((sprBullet.velocity.x < 0)))) && (!((StatePlay.levelMap[coord.y][(coord.x - 1)] == test))))){ dX = (dX * -1); test = StatePlay.levelMap[coord.y][(coord.x - 1)]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[(coord.y + 1)][coord.x], PlayWall)) && ((sprBullet.velocity.y > 0)))) && (!((StatePlay.levelMap[(coord.y + 1)][coord.x] == test))))){ dY = (dY * -1); test = StatePlay.levelMap[(coord.y + 1)][coord.x]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[(coord.y - 1)][coord.x], PlayWall)) && ((sprBullet.velocity.y < 0)))) && (!((StatePlay.levelMap[(coord.y - 1)][coord.x] == test))))){ dY = (dY * -1); test = StatePlay.levelMap[(coord.y - 1)][coord.x]; flag = true; }; }; }; }; if (((isPlastid) && (!((test == null))))){ sprBullet.play("boom"); dX = 0; dY = 0; if ((((sprBullet.frame == 1)) && (!((sprBullet.frame == lastFrame))))){ FlxG.play(sndBeep); }; lastFrame = sprBullet.frame; if (sprBullet.finished){ if (StatePlay.levelIndex == 1){ StatePlay.arrows1.kill(); }; FlxG.play(sndExplHe, 0.7); StatePlay.player.medlen(); obj = Main.findObjectAsClass(test, PlayWall); if (obj != null){ bx = (obj.mapX - 2); by = (obj.mapY - 2); ex = (obj.mapX + 2); ey = (obj.mapY + 2); if (bx < 0){ bx = 0; }; if (by < 0){ by = 0; }; if (ex > (StatePlay.levelWidth - 1)){ ex = (StatePlay.levelWidth - 1); }; if (ey > (StatePlay.levelHeight - 1)){ ey = (StatePlay.levelHeight - 1); }; i = by; while (i <= ey) { j = bx; while (j <= ex) { obj = Main.findObjectAsClass((StatePlay.levelMap[i][j] as FlxGroup), PlayWall); if (obj != null){ if ((((((((i == by)) || ((i == ey)))) || ((j == bx)))) || ((j == ex)))){ (obj as PlayWall).tresk(); } else { (obj as PlayWall).boom(); }; }; obj = Main.findObjectAsClass((StatePlay.levelMap[i][j] as FlxGroup), PlayGameObject); if (obj != null){ (obj as PlayGameObject).boom(); }; j++; }; i++; }; }; kill(); }; }; if (((((isPlastid) && ((((dX * dX) + (dY * dY)) < 10)))) && ((test == null)))){ _local1 = new PlayBonuse(sprBullet.x, sprBullet.y, 2); _local1.angle = sprBullet.angle; kill(); }; if (((((isGrenade) && ((((dX * dX) + (dY * dY)) < 2500)))) && ((sprExpl == null)))){ FlxG.play(sndExplHe, 0.7); FlxG.quake.start(0.04); sprExpl = new FlxSprite((sprBullet.x - 15), (sprBullet.y - 15)); sprExpl.loadGraphic(imgExpl, true, false, 64); sprExpl.addAnimation("boom", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 32, false); sprExpl.play("boom"); StatePlay.high.add(sprExpl); _local2 = 0; while (_local2 < 10) { new PlayEffect((sprBullet.x - 15), (sprBullet.y - 15), (Math.random() * 360)); _local2++; }; StatePlay.blur.alpha = Main.CONST_BLUR_MIN; coord = Main.getMapXY(sprBullet.x, sprBullet.y); bx = (coord.x - 3); by = (coord.y - 3); ex = (coord.x + 3); ey = (coord.y + 3); if (bx < 0){ bx = 0; }; if (by < 0){ by = 0; }; if (ex > (StatePlay.levelWidth - 1)){ ex = (StatePlay.levelWidth - 1); }; if (ey > (StatePlay.levelHeight - 1)){ ey = (StatePlay.levelHeight - 1); }; k = 0; _local2 = by; while (_local2 <= ey) { j = bx; while (j <= ex) { obj = Main.findObjectAsClass((StatePlay.levelMap[_local2][j] as FlxGroup), PlayWall); if (obj != null){ if ((((((((_local2 == by)) || ((_local2 == ey)))) || ((j == bx)))) || ((j == ex)))){ (obj as PlayWall).tresk(); } else { (obj as PlayWall).boom(); }; }; obj = Main.findObjectAsClass((StatePlay.levelMap[_local2][j] as FlxGroup), PlayCivilian); if (obj != null){ (obj as PlayCivilian).hurt(Main.CONST_DAMAGE_BOMB); k++; }; obj = Main.findObjectAsClass((StatePlay.levelMap[_local2][j] as FlxGroup), PlayEnemy1); if (obj != null){ (obj as PlayEnemy1).hurt(Main.CONST_DAMAGE_BOMB); Main.gameStats.killEnemyByGrenade(); if (((!((obj as PlayEnemy1).testFire())) && (!((obj as PlayEnemy1).pamTestFire)))){ Main.gameStats.killEnemyFromWall(); }; }; obj = Main.findObjectAsClass((StatePlay.levelMap[_local2][j] as FlxGroup), PlayEnemy2); if (obj != null){ (obj as PlayEnemy2).hurt(Main.CONST_DAMAGE_BOMB); Main.gameStats.killEnemyByGrenade(); if (((!((obj as PlayEnemy2).testFire())) && (!((obj as PlayEnemy2).pamTestFire)))){ Main.gameStats.killEnemyFromWall(); }; }; obj = Main.findObjectAsClass((StatePlay.levelMap[_local2][j] as FlxGroup), PlayEnemy3); if (obj != null){ (obj as PlayEnemy3).hurt(Main.CONST_DAMAGE_BOMB); Main.gameStats.killEnemyByGrenade(); if (((!((obj as PlayEnemy3).testFire())) && (!((obj as PlayEnemy3).pamTestFire)))){ Main.gameStats.killEnemyFromWall(); }; }; obj = Main.findObjectAsClass((StatePlay.levelMap[_local2][j] as FlxGroup), PlayGameObject); if (obj != null){ (obj as PlayGameObject).boom(); }; j++; }; _local2++; }; if (k >= 3){ Main.gameStats.killMore3Civ(); }; visible = false; }; if (((isRadio) && (!((test == null))))){ dX = 0; dY = 0; if ((((sprBullet.frame == 1)) && (!((sprBullet.frame == lastFrame))))){ FlxG.play(sndBeep); }; lastFrame = sprBullet.frame; }; if (sprExpl != null){ if (sprExpl.finished){ sprExpl.kill(); sprExpl = null; StatePlay.blur.alpha = Main.CONST_BLUR_MAX; kill(); }; }; sprBullet.angle = ((Math.atan2(dY, dX) * 180) / Math.PI); newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; }; } else { kill(); }; if (sprBullet.scale.x < 0.5){ kill(); }; super.update(); } } }//package
Section 163
//PlayBullet_imgBullet (PlayBullet_imgBullet) package { import mx.core.*; public class PlayBullet_imgBullet extends BitmapAsset { } }//package
Section 164
//PlayBullet_imgExpl (PlayBullet_imgExpl) package { import mx.core.*; public class PlayBullet_imgExpl extends BitmapAsset { } }//package
Section 165
//PlayBullet_imgGrenade (PlayBullet_imgGrenade) package { import mx.core.*; public class PlayBullet_imgGrenade extends BitmapAsset { } }//package
Section 166
//PlayBullet_imgPlastid (PlayBullet_imgPlastid) package { import mx.core.*; public class PlayBullet_imgPlastid extends BitmapAsset { } }//package
Section 167
//PlayBullet_imgRadio (PlayBullet_imgRadio) package { import mx.core.*; public class PlayBullet_imgRadio extends BitmapAsset { } }//package
Section 168
//PlayBullet_sndBeep (PlayBullet_sndBeep) package { import mx.core.*; public class PlayBullet_sndBeep extends SoundAsset { } }//package
Section 169
//PlayBullet_sndExpl (PlayBullet_sndExpl) package { import mx.core.*; public class PlayBullet_sndExpl extends SoundAsset { } }//package
Section 170
//PlayBullet_sndExplHe (PlayBullet_sndExplHe) package { import mx.core.*; public class PlayBullet_sndExplHe extends SoundAsset { } }//package
Section 171
//PlayBullet2 (PlayBullet2) package { import org.flixel.*; public class PlayBullet2 extends PlayObject { private var sprExpl:FlxSprite; private var newCoord:FlxPoint; private var test:FlxGroup; private var imgBoomb:Class; private var sndExplHe:Class; private var sprBullet:FlxSprite; private var imgExpl:Class; private var oldCoord:FlxPoint; private var imgBullet:Class; private var SPEED:uint;// = 300 public var isBomb:Boolean; public var flag:Boolean; private var dX:Number; private var coord:FlxPoint; private var colWithPlayer:Boolean;// = true private var dY:Number; public function PlayBullet2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=true){ sndExplHe = PlayBullet2_sndExplHe; imgBullet = PlayBullet2_imgBullet; imgBoomb = PlayBullet2_imgBoomb; imgExpl = PlayBullet2_imgExpl; isBomb = _arg4; colWithPlayer = _arg5; if (_arg1 < 0){ _arg1 = 0; }; if (_arg2 < 0){ _arg2 = 0; }; coord = Main.getMapXY(_arg1, _arg2); oldCoord = new FlxPoint(coord.x, coord.y); newCoord = new FlxPoint(); super(coord.x, coord.y); coord = FlxU.rotatePoint(SPEED, 0, 0, 0, _arg3); dX = coord.x; dY = coord.y; if (_arg4){ dX = (dX * 0.6); dY = (dY * 0.6); sprBullet = new FlxSprite((_arg1 + (dX / 20)), (_arg2 + (dY / 20)), imgBoomb); } else { sprBullet = new FlxSprite((_arg1 + (dX / 20)), (_arg2 + (dY / 20)), imgBullet); }; sprBullet.color = 4294901760; sprBullet.angle = _arg3; add(sprBullet); sprExpl = null; flag = false; test = null; } override public function update():void{ var _local1:PlayObject; var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:Boolean; var _local7:uint; var _local8:uint; sprBullet.velocity.x = 0; sprBullet.velocity.y = 0; sprBullet.velocity.x = dX; sprBullet.velocity.y = dY; if (isBomb){ sprBullet.scale.x = (sprBullet.scale.x + ((Math.random() / 10) - 0.05)); sprBullet.scale.y = (sprBullet.scale.y + ((Math.random() / 10) - 0.05)); }; if (flag){ dX = (dX * 0.98); dY = (dY * 0.98); }; coord = Main.getMapXY((sprBullet.x + (sprBullet.frameWidth / 2)), (sprBullet.y + (sprBullet.frameHeight / 2))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ if (((Main.findClass(StatePlay.levelMap[coord.y][coord.x], PlayWall)) && (!((StatePlay.levelMap[coord.y][coord.x] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][coord.x]; flag = true; kill(); return; }; if (((((Main.findClass(StatePlay.levelMap[coord.y][(coord.x + 1)], PlayWall)) && ((sprBullet.velocity.x > 0)))) && (!((StatePlay.levelMap[coord.y][(coord.x + 1)] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][(coord.x + 1)]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[coord.y][(coord.x - 1)], PlayWall)) && ((sprBullet.velocity.x < 0)))) && (!((StatePlay.levelMap[coord.y][(coord.x - 1)] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][(coord.x - 1)]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[(coord.y + 1)][coord.x], PlayWall)) && ((sprBullet.velocity.y > 0)))) && (!((StatePlay.levelMap[(coord.y + 1)][coord.x] == test))))){ dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[(coord.y + 1)][coord.x]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[(coord.y - 1)][coord.x], PlayWall)) && ((sprBullet.velocity.y < 0)))) && (!((StatePlay.levelMap[(coord.y - 1)][coord.x] == test))))){ dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[(coord.y - 1)][coord.x]; flag = true; }; }; }; }; if (((isBomb) && (!((test == null))))){ _local1 = Main.findObjectAsClass(test, PlayWall); if (_local1 != null){ _local2 = (_local1.mapX - 2); _local3 = (_local1.mapY - 2); _local4 = (_local1.mapX + 2); _local5 = (_local1.mapY + 2); if (_local2 < 0){ _local2 = 0; }; if (_local3 < 0){ _local3 = 0; }; if (_local4 > (StatePlay.levelWidth - 1)){ _local4 = (StatePlay.levelWidth - 1); }; if (_local5 > (StatePlay.levelHeight - 1)){ _local5 = (StatePlay.levelHeight - 1); }; _local6 = false; _local7 = _local3; while (_local7 <= _local5) { _local8 = _local2; while (_local8 <= _local4) { _local1 = Main.findObjectAsClass((StatePlay.levelMap[_local7][_local8] as FlxGroup), PlayWall); if (_local1 != null){ if ((((((((_local7 == _local3)) || ((_local7 == _local5)))) || ((_local8 == _local2)))) || ((_local8 == _local4)))){ (_local1 as PlayWall).tresk(); } else { _local6 = true; (_local1 as PlayWall).boom(false); }; }; _local1 = Main.findObjectAsClass((StatePlay.levelMap[_local7][_local8] as FlxGroup), PlayCivilian); if (_local1 != null){ _local6 = true; (_local1 as PlayCivilian).hurt(100); }; if (colWithPlayer){ _local1 = Main.findObjectAsClass((StatePlay.levelMap[_local7][_local8] as FlxGroup), PlayPlayer); if (_local1 != null){ _local6 = true; (_local1 as PlayPlayer).hurt(Main.CONST_DAMAGE_BOMB); }; }; _local8++; }; _local7++; }; if (_local6){ FlxG.play(sndExplHe, 0.7); }; }; kill(); return; }; sprBullet.angle = ((Math.atan2(dY, dX) * 180) / Math.PI); newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; }; } else { kill(); return; }; if (((dX * dX) + (dY * dY)) < 10000){ kill(); return; }; super.update(); } } }//package
Section 172
//PlayBullet2_imgBoomb (PlayBullet2_imgBoomb) package { import mx.core.*; public class PlayBullet2_imgBoomb extends BitmapAsset { } }//package
Section 173
//PlayBullet2_imgBullet (PlayBullet2_imgBullet) package { import mx.core.*; public class PlayBullet2_imgBullet extends BitmapAsset { } }//package
Section 174
//PlayBullet2_imgExpl (PlayBullet2_imgExpl) package { import mx.core.*; public class PlayBullet2_imgExpl extends BitmapAsset { } }//package
Section 175
//PlayBullet2_sndExplHe (PlayBullet2_sndExplHe) package { import mx.core.*; public class PlayBullet2_sndExplHe extends SoundAsset { } }//package
Section 176
//PlayBulletPlayer (PlayBulletPlayer) package { import org.flixel.*; public class PlayBulletPlayer extends PlayObject { private var sprExpl:FlxSprite; private var newCoord:FlxPoint; private var test:FlxGroup; private var imgBoomb:Class; private var sndExplHe:Class; private var sprBullet:FlxSprite; private var imgExpl:Class; private var oldCoord:FlxPoint; private var imgBullet:Class; private var SPEED:uint;// = 300 public var isBomb:Boolean; public var flag:Boolean; private var dX:Number; private var coord:FlxPoint; private var colWithPlayer:Boolean;// = true private var dY:Number; public function PlayBulletPlayer(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=true){ sndExplHe = PlayBulletPlayer_sndExplHe; imgBullet = PlayBulletPlayer_imgBullet; imgBoomb = PlayBulletPlayer_imgBoomb; imgExpl = PlayBulletPlayer_imgExpl; isBomb = _arg4; colWithPlayer = _arg5; if (_arg1 < 0){ _arg1 = 0; }; if (_arg2 < 0){ _arg2 = 0; }; coord = Main.getMapXY(_arg1, _arg2); oldCoord = new FlxPoint(coord.x, coord.y); newCoord = new FlxPoint(); super(coord.x, coord.y); coord = FlxU.rotatePoint(SPEED, 0, 0, 0, _arg3); dX = coord.x; dY = coord.y; if (_arg4){ dX = (dX * 0.6); dY = (dY * 0.6); sprBullet = new FlxSprite((_arg1 + (dX / 20)), (_arg2 + (dY / 20)), imgBoomb); } else { sprBullet = new FlxSprite((_arg1 + (dX / 20)), (_arg2 + (dY / 20)), imgBullet); }; sprBullet.color = 4294901760; sprBullet.angle = _arg3; add(sprBullet); sprExpl = null; flag = false; test = null; } override public function update():void{ var _local1:Boolean; var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:PlayObject; sprBullet.velocity.x = 0; sprBullet.velocity.y = 0; sprBullet.velocity.x = dX; sprBullet.velocity.y = dY; if (isBomb){ sprBullet.scale.x = (sprBullet.scale.x + ((Math.random() / 10) - 0.05)); sprBullet.scale.y = (sprBullet.scale.y + ((Math.random() / 10) - 0.05)); }; if (flag){ dX = (dX * 0.98); dY = (dY * 0.98); }; coord = Main.getMapXY((sprBullet.x + (sprBullet.frameWidth / 2)), (sprBullet.y + (sprBullet.frameHeight / 2))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ if (((Main.findClass(StatePlay.levelMap[coord.y][coord.x], PlayWall)) && (!((StatePlay.levelMap[coord.y][coord.x] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][coord.x]; flag = true; kill(); return; }; if (((((Main.findClass(StatePlay.levelMap[coord.y][(coord.x + 1)], PlayWall)) && ((sprBullet.velocity.x > 0)))) && (!((StatePlay.levelMap[coord.y][(coord.x + 1)] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][(coord.x + 1)]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[coord.y][(coord.x - 1)], PlayWall)) && ((sprBullet.velocity.x < 0)))) && (!((StatePlay.levelMap[coord.y][(coord.x - 1)] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][(coord.x - 1)]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[(coord.y + 1)][coord.x], PlayWall)) && ((sprBullet.velocity.y > 0)))) && (!((StatePlay.levelMap[(coord.y + 1)][coord.x] == test))))){ dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[(coord.y + 1)][coord.x]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[(coord.y - 1)][coord.x], PlayWall)) && ((sprBullet.velocity.y < 0)))) && (!((StatePlay.levelMap[(coord.y - 1)][coord.x] == test))))){ dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[(coord.y - 1)][coord.x]; flag = true; }; }; }; }; if (test != null){ _local1 = false; coord = Main.getMapXY(sprBullet.x, sprBullet.y); _local2 = (coord.x - 3); _local3 = (coord.y - 3); _local4 = (coord.x + 3); _local5 = (coord.y + 3); if (_local2 < 0){ _local2 = 0; }; if (_local3 < 0){ _local3 = 0; }; if (_local4 > (StatePlay.levelWidth - 1)){ _local4 = (StatePlay.levelWidth - 1); }; if (_local5 > (StatePlay.levelHeight - 1)){ _local5 = (StatePlay.levelHeight - 1); }; _local6 = _local3; while (_local6 <= _local5) { _local7 = _local2; while (_local7 <= _local4) { _local8 = Main.findObjectAsClass((StatePlay.levelMap[_local6][_local7] as FlxGroup), PlayWall); if (_local8 != null){ if ((((((((_local6 == _local3)) || ((_local6 == _local5)))) || ((_local7 == _local2)))) || ((_local7 == _local4)))){ (_local8 as PlayWall).tresk(); } else { (_local8 as PlayWall).boom(); }; }; _local8 = Main.findObjectAsClass((StatePlay.levelMap[_local6][_local7] as FlxGroup), PlayCivilian); if (_local8 != null){ _local1 = true; (_local8 as PlayCivilian).hurt(Main.CONST_DAMAGE_BOMB); }; _local8 = Main.findObjectAsClass((StatePlay.levelMap[_local6][_local7] as FlxGroup), PlayEnemy1); if (_local8 != null){ (_local8 as PlayEnemy1).hurt(Main.CONST_DAMAGE_BOMB); _local1 = true; }; _local8 = Main.findObjectAsClass((StatePlay.levelMap[_local6][_local7] as FlxGroup), PlayEnemy2); if (_local8 != null){ (_local8 as PlayEnemy2).hurt(Main.CONST_DAMAGE_BOMB); _local1 = true; }; _local8 = Main.findObjectAsClass((StatePlay.levelMap[_local6][_local7] as FlxGroup), PlayEnemy3); if (_local8 != null){ (_local8 as PlayEnemy3).hurt(Main.CONST_DAMAGE_BOMB); _local1 = true; }; _local8 = Main.findObjectAsClass((StatePlay.levelMap[_local6][_local7] as FlxGroup), PlayGameObject); if (_local8 != null){ (_local8 as PlayGameObject).boom(); _local1 = true; }; _local7++; }; _local6++; }; if (_local1){ FlxG.play(sndExplHe, 0.7); }; kill(); }; sprBullet.angle = ((Math.atan2(dY, dX) * 180) / Math.PI); newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; }; } else { kill(); return; }; if (((dX * dX) + (dY * dY)) < 10000){ kill(); return; }; super.update(); } public function boom(_arg1:PlayObject):void{ var _local8:int; var _local2:Boolean; coord = Main.getMapXY(sprBullet.x, sprBullet.y); var _local3:int = (coord.x - 3); var _local4:int = (coord.y - 3); var _local5:int = (coord.x + 3); var _local6:int = (coord.y + 3); if (_local3 < 0){ _local3 = 0; }; if (_local4 < 0){ _local4 = 0; }; if (_local5 > (StatePlay.levelWidth - 1)){ _local5 = (StatePlay.levelWidth - 1); }; if (_local6 > (StatePlay.levelHeight - 1)){ _local6 = (StatePlay.levelHeight - 1); }; var _local7:int = _local4; while (_local7 <= _local6) { _local8 = _local3; while (_local8 <= _local5) { _arg1 = Main.findObjectAsClass((StatePlay.levelMap[_local7][_local8] as FlxGroup), PlayWall); if (_arg1 != null){ if ((((((((_local7 == _local4)) || ((_local7 == _local6)))) || ((_local8 == _local3)))) || ((_local8 == _local5)))){ (_arg1 as PlayWall).tresk(); } else { (_arg1 as PlayWall).boom(); }; }; _arg1 = Main.findObjectAsClass((StatePlay.levelMap[_local7][_local8] as FlxGroup), PlayCivilian); if (_arg1 != null){ _local2 = true; (_arg1 as PlayCivilian).hurt(Main.CONST_DAMAGE_BOMB); }; _arg1 = Main.findObjectAsClass((StatePlay.levelMap[_local7][_local8] as FlxGroup), PlayEnemy1); if (_arg1 != null){ (_arg1 as PlayEnemy1).hurt(Main.CONST_DAMAGE_BOMB); _local2 = true; }; _arg1 = Main.findObjectAsClass((StatePlay.levelMap[_local7][_local8] as FlxGroup), PlayEnemy2); if (_arg1 != null){ (_arg1 as PlayEnemy2).hurt(Main.CONST_DAMAGE_BOMB); _local2 = true; }; _arg1 = Main.findObjectAsClass((StatePlay.levelMap[_local7][_local8] as FlxGroup), PlayEnemy3); if (_arg1 != null){ (_arg1 as PlayEnemy3).hurt(Main.CONST_DAMAGE_BOMB); _local2 = true; }; _arg1 = Main.findObjectAsClass((StatePlay.levelMap[_local7][_local8] as FlxGroup), PlayGameObject); if (_arg1 != null){ (_arg1 as PlayGameObject).boom(); _local2 = true; }; _local8++; }; _local7++; }; if (_local2){ FlxG.play(sndExplHe, 0.7); }; kill(); } } }//package
Section 177
//PlayBulletPlayer_imgBoomb (PlayBulletPlayer_imgBoomb) package { import mx.core.*; public class PlayBulletPlayer_imgBoomb extends BitmapAsset { } }//package
Section 178
//PlayBulletPlayer_imgBullet (PlayBulletPlayer_imgBullet) package { import mx.core.*; public class PlayBulletPlayer_imgBullet extends BitmapAsset { } }//package
Section 179
//PlayBulletPlayer_imgExpl (PlayBulletPlayer_imgExpl) package { import mx.core.*; public class PlayBulletPlayer_imgExpl extends BitmapAsset { } }//package
Section 180
//PlayBulletPlayer_sndExplHe (PlayBulletPlayer_sndExplHe) package { import mx.core.*; public class PlayBulletPlayer_sndExplHe extends SoundAsset { } }//package
Section 181
//PlayCivilian (PlayCivilian) package { import org.flixel.*; public class PlayCivilian extends PlayObject { private var msg:FlxText;// = null private var msgTimer:Number;// = 0 public var timer:Number; private var imgArrow:Class; private var isRed:Boolean; private var dCount:int; private var newCoord:FlxPoint; private var sprArrow:FlxSprite;// = null private var oldCoord:FlxPoint; private var j:int; private var sprCivilian:FlxSprite; public var showDialog:Boolean;// = false private var imgCivilian:Class; private var i:int; private var CONST_SPEED:uint;// = 50 private var k:int; private var dX:int; private var dY:int; private var coord:FlxPoint; public var isSaved:Boolean; private var imgGirl:Class; public function PlayCivilian(_arg1:uint, _arg2:uint, _arg3:Boolean=false){ imgArrow = PlayCivilian_imgArrow; imgCivilian = PlayCivilian_imgCivilian; imgGirl = PlayCivilian_imgGirl; isRed = _arg3; super(_arg1, _arg2); timer = 0; coord = Main.getXY(_arg1, _arg2); newCoord = new FlxPoint(); oldCoord = new FlxPoint(_arg1, _arg2); if (StatePlay.levelIndex > 1){ sprArrow = new FlxSprite(coord.x, coord.y); sprArrow.loadGraphic(imgArrow, true, false, 20, 30); sprArrow.addAnimation("move", [0, 1, 2, 1, 0], 6, true); sprArrow.play("move"); sprArrow.color = 4278242304; sprArrow.scale.y = 0.7; add(sprArrow); }; sprCivilian = new FlxSprite(coord.x, coord.y); if (!_arg3){ sprCivilian.loadGraphic(imgCivilian, true, true, 20, 40); } else { sprCivilian.loadGraphic(imgGirl, true, true, 20, 40); }; sprCivilian.addAnimation("idle", [0]); sprCivilian.addAnimation("run", [0, 1], 8); add(sprCivilian); msg = new FlxText(sprCivilian.x, sprCivilian.y, 100, ""); msg.size = 11; msg.alignment = "center"; if (StatePlay.levelIndex == 0){ msg.text = "Click!"; msg.alignment = "center"; msg.size = 9; msg.visible = false; msg.visible = true; } else { if (StatePlay.levelIndex == 1){ msg.text = "Save me!"; msg.alignment = "center"; msg.size = 11; msg.visible = false; msg.visible = true; } else { msg.visible = false; }; }; msg.color = 4294967040; StatePlay.high.add(msg); isSaved = false; health = 75; } override public function update():void{ var _local1:Number; var _local2:PlayObject; if (StatePlay.levelIndex == 0){ if (FlxG.mouse.justPressed()){ _local1 = (((FlxG.mouse.x - (sprCivilian.x + (sprCivilian.width / 2))) * (FlxG.mouse.x - (sprCivilian.x + (sprCivilian.width / 2)))) + ((FlxG.mouse.y - (sprCivilian.y + (sprCivilian.height / 2))) * (FlxG.mouse.y - (sprCivilian.y + (sprCivilian.height / 2))))); if (_local1 < 400){ kill(); }; }; } else { if (StatePlay.levelIndex > 1){ if (sprArrow != null){ sprArrow.x = ((sprCivilian.x + (sprCivilian.width / 2)) - (sprArrow.frameWidth / 2)); sprArrow.y = (sprCivilian.y - 20); }; }; }; if (isRed){ _local1 = (((StatePlay.player.sprBody.x - (sprCivilian.x + (sprCivilian.width / 2))) * (StatePlay.player.sprBody.x - (sprCivilian.x + (sprCivilian.width / 2)))) + ((StatePlay.player.sprBody.y - (sprCivilian.y + (sprCivilian.height / 2))) * (StatePlay.player.sprBody.y - (sprCivilian.y + (sprCivilian.height / 2))))); if (_local1 < 0x1900){ StatePlay.player.showDialog = true; showDialog = true; }; }; if (showDialog){ msgTimer = (msgTimer + FlxG.elapsed); if ((((msgTimer > 8)) && ((msgTimer < 10)))){ msg.text = "Oh, George..."; msg.visible = true; } else { if (msgTimer < 12){ msg.text = "I love you so much!"; } else { msg.text = ""; showDialog = false; }; }; }; if (msg != null){ msg.x = ((sprCivilian.x + (sprCivilian.width / 2)) - 50); msg.y = (sprCivilian.y - 20); }; if (isSaved){ timer = (timer + FlxG.elapsed); if (timer > 1){ if ((((StatePlay.gui.countCivil == StatePlay.levelCivil)) && (!((StatePlay.levelIndex == 1))))){ StatePlay.gui.missionComplete(); }; super.kill(); }; if (sprCivilian.alpha != 0){ sprCivilian.alpha = (sprCivilian.alpha - 0.05); }; } else { sprCivilian.velocity.x = 0; sprCivilian.velocity.y = 0; timer = (timer + FlxG.elapsed); if (timer > 5){ dCount = Math.round(((Math.random() * 20) + 3)); switch (Math.round((Math.random() * 4))){ case 0: dX = 0; dY = 0; break; case 1: dX = 0; dY = -1; break; case 2: dX = 1; dY = 0; break; case 3: dX = 0; dY = 1; break; case 4: dX = -1; dY = 0; break; }; timer = 0; } else { if (dCount > 0){ sprCivilian.velocity.x = (dX * CONST_SPEED); sprCivilian.velocity.y = (dY * CONST_SPEED); }; }; if (((!((sprCivilian.velocity.x == 0))) || (!((sprCivilian.velocity.y == 0))))){ sprCivilian.play("run"); } else { sprCivilian.play("idle"); }; coord = Main.getMapXY((sprCivilian.x + (sprCivilian.frameWidth / 2)), (sprCivilian.y + (sprCivilian.frameHeight * 0.75))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ i = coord.y; while (i <= coord.y) { j = coord.x; while (j <= coord.x) { _local2 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBullet); if (((!((_local2 == null))) && ((_local2 as PlayBullet).isBullet))){ hurt(Main.CONST_DAMAGE_BULLET); _local2.kill(); }; if (((!((_local2 == null))) && ((_local2 as PlayBullet).isGrenade))){ (_local2 as PlayBullet).dX = 0; (_local2 as PlayBullet).dY = 0; }; _local2 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBullet2); if (((!((_local2 == null))) && (!((_local2 as PlayBullet2).isBomb)))){ hurt(Main.CONST_DAMAGE_BULLET); _local2.kill(); }; j++; }; i++; }; if (((Main.findClass(StatePlay.levelMap[coord.y][(coord.x + 1)], PlayWall)) && ((sprCivilian.velocity.x > 0)))){ sprCivilian.velocity.x = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[coord.y][(coord.x - 1)], PlayWall)) && ((sprCivilian.velocity.x < 0)))){ sprCivilian.velocity.x = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[(coord.y + 1)][coord.x], PlayWall)) && ((sprCivilian.velocity.y > 0)))){ sprCivilian.velocity.y = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[(coord.y - 1)][coord.x], PlayWall)) && ((sprCivilian.velocity.y < 0)))){ sprCivilian.velocity.y = 0; timer = 0; dCount = 0; }; newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; dCount--; }; }; }; super.update(); } override public function hurt(_arg1:Number):void{ if (!isSaved){ super.hurt(_arg1); i = 0; while (i < Math.round((_arg1 / Main.CONST_DAMAGE_BULLET))) { new PlayBlood((sprCivilian.x + (sprCivilian.frameWidth / 2)), (sprCivilian.y + (sprCivilian.frameHeight / 2)), (Math.random() * 360)); i++; }; }; } override public function kill():void{ if (!dead){ if (msg != null){ msg.visible = false; }; if (sprArrow != null){ sprArrow.kill(); sprArrow = null; }; new PlayDeath(this.mapX, this.mapY, "civilian"); i = 0; while (i < 5) { new PlayBlood((sprCivilian.x + (sprCivilian.frameWidth / 2)), (sprCivilian.y + (sprCivilian.frameHeight / 2)), (Math.random() * 360)); i++; }; }; super.kill(); } public function saved():void{ if (sprArrow != null){ sprArrow.kill(); sprArrow = null; }; if (msg != null){ msg.kill(); }; isSaved = true; sprCivilian.color = 4294967040; timer = 0; } } }//package
Section 182
//PlayCivilian_imgArrow (PlayCivilian_imgArrow) package { import mx.core.*; public class PlayCivilian_imgArrow extends BitmapAsset { } }//package
Section 183
//PlayCivilian_imgCivilian (PlayCivilian_imgCivilian) package { import mx.core.*; public class PlayCivilian_imgCivilian extends BitmapAsset { } }//package
Section 184
//PlayCivilian_imgGirl (PlayCivilian_imgGirl) package { import mx.core.*; public class PlayCivilian_imgGirl extends BitmapAsset { } }//package
Section 185
//PlayDeath (PlayDeath) package { import org.flixel.*; public class PlayDeath extends FlxGroup { private var imgPlayerHead:Class; private var timer:Number; private var imgEnemy1Head:Class; private var imgEnemy2Head:Class; private var imgEnemy3Head:Class; private var oldCoord:FlxPoint; private var imgPart:Class; private var imgCivilianHead:Class; private var k2:Number; private var sprPart1:FlxSprite; private var sprPart3:FlxSprite; private var sprPart2:FlxSprite; private var k:Number; private var sprPart4:FlxSprite; private var coord:FlxPoint; private var type:String; private var newCoord:FlxPoint; public function PlayDeath(_arg1:int, _arg2:int, _arg3:String){ imgPart = PlayDeath_imgPart; imgPlayerHead = PlayDeath_imgPlayerHead; imgCivilianHead = PlayDeath_imgCivilianHead; imgEnemy1Head = PlayDeath_imgEnemy1Head; imgEnemy2Head = PlayDeath_imgEnemy2Head; imgEnemy3Head = PlayDeath_imgEnemy3Head; super(); type = _arg3; StatePlay.low.add(this); coord = Main.getXY(_arg1, _arg2); oldCoord = new FlxPoint(_arg1, _arg2); newCoord = new FlxPoint(); coord.x = (coord.x + 5); coord.y = (coord.y + 20); sprPart1 = new FlxSprite((coord.x + 10), (coord.y - 12), imgPart); sprPart1.color = 4291611852; add(sprPart1); sprPart2 = new FlxSprite((coord.x + 7), (coord.y + 7), imgPart); sprPart2.color = 4291611852; sprPart2.scale.x = -1; add(sprPart2); sprPart3 = new FlxSprite((coord.x - 7), (coord.y + 7), imgPart); sprPart3.color = 4291611852; add(sprPart3); sprPart4 = new FlxSprite((coord.x - 10), (coord.y - 12), imgPart); sprPart4.color = 4291611852; sprPart4.scale.x = -1; add(sprPart4); k = 1; k2 = 1; timer = 0; } override public function update():void{ if (k > 0.1){ k = (k * 0.8); sprPart1.velocity.x = ((Math.random() * 100) + (150 * k)); sprPart1.velocity.y = ((-(Math.random()) * 100) + (200 * k)); sprPart1.angularVelocity = ((Math.random() * 300) + (100 * k)); sprPart2.velocity.x = ((Math.random() * 100) + (150 * k)); sprPart2.velocity.y = ((Math.random() * 100) + (200 * k)); sprPart2.angularVelocity = ((Math.random() * 300) + (100 * k)); sprPart3.velocity.x = ((-(Math.random()) * 100) + (150 * k)); sprPart3.velocity.y = ((Math.random() * 100) + (200 * k)); sprPart3.angularVelocity = ((Math.random() * 300) + (100 * k)); sprPart4.velocity.x = ((-(Math.random()) * 100) + (150 * k)); sprPart4.velocity.y = ((-(Math.random()) * 100) + (200 * k)); sprPart4.angularVelocity = ((Math.random() * 300) + (100 * k)); } else { sprPart1.velocity.x = 0; sprPart1.velocity.y = 0; sprPart1.angularVelocity = 0; sprPart2.velocity.x = 0; sprPart2.velocity.y = 0; sprPart2.angularVelocity = 0; sprPart3.velocity.x = 0; sprPart3.velocity.y = 0; sprPart3.angularVelocity = 0; sprPart4.velocity.x = 0; sprPart4.velocity.y = 0; sprPart4.angularVelocity = 0; timer = (timer + FlxG.elapsed); if (timer > 1){ if (StatePlay.levelIndex > 0){ if (type == "player"){ StatePlay.gui.faildKillSelf(); }; if (type == "civilian"){ StatePlay.gui.faildKillCivil(); }; }; active = false; }; }; super.update(); } } }//package
Section 186
//PlayDeath_imgCivilianHead (PlayDeath_imgCivilianHead) package { import mx.core.*; public class PlayDeath_imgCivilianHead extends BitmapAsset { } }//package
Section 187
//PlayDeath_imgEnemy1Head (PlayDeath_imgEnemy1Head) package { import mx.core.*; public class PlayDeath_imgEnemy1Head extends BitmapAsset { } }//package
Section 188
//PlayDeath_imgEnemy2Head (PlayDeath_imgEnemy2Head) package { import mx.core.*; public class PlayDeath_imgEnemy2Head extends BitmapAsset { } }//package
Section 189
//PlayDeath_imgEnemy3Head (PlayDeath_imgEnemy3Head) package { import mx.core.*; public class PlayDeath_imgEnemy3Head extends BitmapAsset { } }//package
Section 190
//PlayDeath_imgPart (PlayDeath_imgPart) package { import mx.core.*; public class PlayDeath_imgPart extends BitmapAsset { } }//package
Section 191
//PlayDeath_imgPlayerHead (PlayDeath_imgPlayerHead) package { import mx.core.*; public class PlayDeath_imgPlayerHead extends BitmapAsset { } }//package
Section 192
//PlayDisplayAch (PlayDisplayAch) package { import org.flixel.*; public class PlayDisplayAch extends FlxGroup { private var timer:Number;// = 0 public var txtTitle:FlxText; private var imgAch1:Class; private var imgAch2:Class; private var imgAch3:Class; private var sprAch:FlxSprite; private var imgAch5:Class; private var imgAch6:Class; private var imgAch7:Class; private var imgAch8:Class; private var names:Array; private var imgAch4:Class; private var txtName:FlxText; public var sprBack:FlxSprite; public function PlayDisplayAch(_arg1:int, _arg2:PlayDisplayAch=null):void{ imgAch1 = PlayDisplayAch_imgAch1; imgAch2 = PlayDisplayAch_imgAch2; imgAch3 = PlayDisplayAch_imgAch3; imgAch4 = PlayDisplayAch_imgAch4; imgAch5 = PlayDisplayAch_imgAch5; imgAch6 = PlayDisplayAch_imgAch6; imgAch7 = PlayDisplayAch_imgAch7; imgAch8 = PlayDisplayAch_imgAch8; names = ["Fragged", "Charity", "Bullets Versus Blasts", "Total Victory", "Maniac", "Pacifist", "Impressive! But not very nice", "Game Completionist"]; super(); var _local3:int = (FlxG.height - 70); if (_arg2 != null){ _local3 = (_arg2.txtTitle.y - 80); }; sprBack = new FlxSprite(15, (_local3 - 5)); sprBack.createGraphic(220, 70, 2852126720); sprBack.scrollFactor.x = (sprBack.scrollFactor.y = 0); add(sprBack); txtTitle = new FlxText(20, _local3, 200, "New Achievements:"); txtTitle.color = 4294967295; txtTitle.size = 15; txtTitle.scrollFactor.x = (txtTitle.scrollFactor.y = 0); add(txtTitle); txtName = new FlxText(65, (_local3 + 30), 200, names[(_arg1 - 1)]); txtName.color = 4294967295; txtName.size = 13; txtName.scrollFactor.x = (txtName.scrollFactor.y = 0); add(txtName); sprAch = new FlxSprite(10, (_local3 + 10)); sprAch.loadGraphic(this[("imgAch" + _arg1)], true, false, 60, 60); sprAch.frame = 1; sprAch.scrollFactor.x = (sprAch.scrollFactor.y = 0); sprAch.scale.x = (sprAch.scale.y = 0.7); add(sprAch); } override public function update():void{ timer = (timer + FlxG.elapsed); if (timer > 4){ sprBack.y++; txtTitle.y++; txtName.y++; sprAch.y++; }; if (sprBack.y > (FlxG.height + 10)){ kill(); }; super.update(); } override public function kill():void{ if (this == Main.gameStats.lastAch){ Main.gameStats.lastAch = null; }; super.kill(); } } }//package
Section 193
//PlayDisplayAch_imgAch1 (PlayDisplayAch_imgAch1) package { import mx.core.*; public class PlayDisplayAch_imgAch1 extends BitmapAsset { } }//package
Section 194
//PlayDisplayAch_imgAch2 (PlayDisplayAch_imgAch2) package { import mx.core.*; public class PlayDisplayAch_imgAch2 extends BitmapAsset { } }//package
Section 195
//PlayDisplayAch_imgAch3 (PlayDisplayAch_imgAch3) package { import mx.core.*; public class PlayDisplayAch_imgAch3 extends BitmapAsset { } }//package
Section 196
//PlayDisplayAch_imgAch4 (PlayDisplayAch_imgAch4) package { import mx.core.*; public class PlayDisplayAch_imgAch4 extends BitmapAsset { } }//package
Section 197
//PlayDisplayAch_imgAch5 (PlayDisplayAch_imgAch5) package { import mx.core.*; public class PlayDisplayAch_imgAch5 extends BitmapAsset { } }//package
Section 198
//PlayDisplayAch_imgAch6 (PlayDisplayAch_imgAch6) package { import mx.core.*; public class PlayDisplayAch_imgAch6 extends BitmapAsset { } }//package
Section 199
//PlayDisplayAch_imgAch7 (PlayDisplayAch_imgAch7) package { import mx.core.*; public class PlayDisplayAch_imgAch7 extends BitmapAsset { } }//package
Section 200
//PlayDisplayAch_imgAch8 (PlayDisplayAch_imgAch8) package { import mx.core.*; public class PlayDisplayAch_imgAch8 extends BitmapAsset { } }//package
Section 201
//PlayEffect (PlayEffect) package { import org.flixel.*; public class PlayEffect extends PlayObject { private var imgBullet:Class; private var sprEffect:FlxSprite; private var CONST_SPEED:uint;// = 450 private var flag:Boolean; private var newCoord:FlxPoint; private var oldCoord:FlxPoint; private var test:FlxGroup; private var dX:Number; private var dY:Number; private var coord:FlxPoint; public function PlayEffect(_arg1:Number, _arg2:Number, _arg3:Number){ imgBullet = PlayEffect_imgBullet; if (_arg1 < 0){ _arg1 = 0; }; if (_arg2 < 0){ _arg2 = 0; }; coord = Main.getMapXY(_arg1, _arg2); oldCoord = new FlxPoint(coord.x, coord.y); newCoord = new FlxPoint(); super(coord.x, coord.y); coord = FlxU.rotatePoint(CONST_SPEED, 0, 0, 0, _arg3); dX = coord.x; dY = coord.y; sprEffect = new FlxSprite((_arg1 + (dX / 20)), (_arg2 + (dY / 20)), imgBullet); sprEffect.angle = _arg3; add(sprEffect); test = null; } override public function update():void{ sprEffect.velocity.x = 0; sprEffect.velocity.y = 0; sprEffect.velocity.x = dX; sprEffect.velocity.y = dY; dX = (dX * 0.95); dY = (dY * 0.95); sprEffect.scale.x = (sprEffect.scale.x * 0.97); sprEffect.scale.y = (sprEffect.scale.y * 0.97); coord = Main.getMapXY((sprEffect.x + (sprEffect.frameWidth / 2)), (sprEffect.y + (sprEffect.frameHeight / 2))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ if (((Main.findClass(StatePlay.levelMap[coord.y][coord.x], PlayWall)) && (!((StatePlay.levelMap[coord.y][(coord.x + 1)] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][(coord.x + 1)]; flag = true; }; if (((((Main.findClass(StatePlay.levelMap[coord.y][(coord.x + 1)], PlayWall)) && ((sprEffect.velocity.x > 0)))) && (!((StatePlay.levelMap[coord.y][(coord.x + 1)] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][(coord.x + 1)]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[coord.y][(coord.x - 1)], PlayWall)) && ((sprEffect.velocity.x < 0)))) && (!((StatePlay.levelMap[coord.y][(coord.x - 1)] == test))))){ dX = (dX * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[coord.y][(coord.x - 1)]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[(coord.y + 1)][coord.x], PlayWall)) && ((sprEffect.velocity.y > 0)))) && (!((StatePlay.levelMap[(coord.y + 1)][coord.x] == test))))){ dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[(coord.y + 1)][coord.x]; flag = true; } else { if (((((Main.findClass(StatePlay.levelMap[(coord.y - 1)][coord.x], PlayWall)) && ((sprEffect.velocity.y < 0)))) && (!((StatePlay.levelMap[(coord.y - 1)][coord.x] == test))))){ dY = (dY * ((-1 * Math.random()) + 0.5)); test = StatePlay.levelMap[(coord.y - 1)][coord.x]; flag = true; }; }; }; }; sprEffect.angle = ((Math.atan2(dY, dX) * 180) / Math.PI); newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; }; } else { kill(); }; if (sprEffect.scale.x < 0.5){ kill(); }; super.update(); } } }//package
Section 202
//PlayEffect_imgBullet (PlayEffect_imgBullet) package { import mx.core.*; public class PlayEffect_imgBullet extends BitmapAsset { } }//package
Section 203
//PlayEnemy1 (PlayEnemy1) package { import org.flixel.*; public class PlayEnemy1 extends PlayObject { private var msg:FlxText;// = null private var imgBody:Class; private var dCount:int; private var imgEnemy:Class; private var oldCoord:FlxPoint; private var mode:String; public var pamTestFire:Boolean;// = false private var CONST_SPEED:uint;// = 50 private var fireTimer:Number; private var newCoord:FlxPoint; private var sndShoot:Class; private var imgHead:Class; private var timer:Number; private var sprGun:FlxSprite; private var i:int; private var j:int; private var k:int; private var p:Boolean; private var flag:Boolean; private var dX:int; private var dY:int; public var sprBody:FlxSprite; private var coord:FlxPoint; private var imgGun:Class; public function PlayEnemy1(_arg1:uint, _arg2:uint){ sndShoot = PlayEnemy1_sndShoot; imgEnemy = PlayEnemy1_imgEnemy; imgBody = PlayEnemy1_imgBody; imgGun = PlayEnemy1_imgGun; imgHead = PlayEnemy1_imgHead; super(_arg1, _arg2); if (StatePlay.levelIndex > 3){ CONST_SPEED = 100; }; coord = Main.getXY(_arg1, _arg2); newCoord = new FlxPoint(); oldCoord = new FlxPoint(_arg1, _arg2); sprBody = new FlxSprite(coord.x, coord.y); sprBody.loadGraphic(imgEnemy, true, true, 20, 40); sprBody.addAnimation("idle", [0]); sprBody.addAnimation("run", [0, 1], 8); add(sprBody); sprGun = new FlxSprite(coord.x, coord.y, imgGun); add(sprGun); if (StatePlay.levelIndex == 1){ msg = new FlxText(sprBody.x, sprBody.y, 100, "Kill him!"); msg.alignment = "center"; msg.size = 11; msg.color = 4294967040; StatePlay.high.add(msg); }; timer = 0; dX = 0; dY = 0; dCount = 0; flag = false; fireTimer = 0; health = 100; } override public function hurt(_arg1:Number):void{ super.hurt(_arg1); i = 0; while (i < Math.round((_arg1 / Main.CONST_DAMAGE_BULLET))) { new PlayBlood((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight / 2)), (Math.random() * 360)); i++; }; } override public function update():void{ var _local2:PlayObject; if (msg != null){ msg.x = ((sprBody.x + (sprBody.width / 2)) - 50); msg.y = (sprBody.y - 15); }; if (StatePlay.levelIndex != 1){ flag = true; p = flag; flag = testFire(); if (flag){ pamTestFire = true; }; if (p != flag){ fireTimer = 0.2; }; if (flag){ sprGun.angle = ((Math.atan2((StatePlay.player.sprBody.y - sprBody.y), (StatePlay.player.sprBody.x - sprBody.x)) * 180) / Math.PI); fireTimer = (fireTimer + FlxG.elapsed); if ((((fireTimer > 0.9)) && (sprBody.onScreen()))){ FlxG.play(sndShoot, 0.8); new PlayBullet2(sprGun.x, sprGun.y, sprGun.angle, false); new PlayBullet2(sprGun.x, sprGun.y, (sprGun.angle + 3), false); new PlayBullet2(sprGun.x, sprGun.y, (sprGun.angle - 3), false); new PlayBullet2(sprGun.x, sprGun.y, (sprGun.angle + 6), false); new PlayBullet2(sprGun.x, sprGun.y, (sprGun.angle - 6), false); fireTimer = 0; }; }; } else { flag = false; }; var _local1:FlxPoint = FlxU.rotatePoint(6, 0, 0, 0, sprGun.angle); sprGun.x = (sprBody.x + _local1.x); sprGun.y = (((sprBody.y + (sprBody.height / 2)) + _local1.y) - 5); if ((((sprGun.angle >= -90)) && ((sprGun.angle < 90)))){ sprBody.facing = FlxSprite.RIGHT; sprGun.scale.y = 1; sprGun.x = (sprGun.x + 5); } else { sprBody.facing = FlxSprite.LEFT; sprGun.scale.y = -1; }; timer = (timer + FlxG.elapsed); if ((((((dCount <= 0)) && (((!((dX == 0))) || (!((dY == 0))))))) || ((((timer > 2)) && ((dCount <= 0)))))){ dCount = Math.round(((Math.random() * 20) + 3)); switch (Math.floor((Math.random() * 4.9))){ case 0: dX = 0; dY = 0; dCount = 0; break; case 1: dX = 0; dY = -1; break; case 2: dX = 1; dY = 0; break; case 3: dX = 0; dY = 1; break; case 4: dX = -1; dY = 0; break; }; if (!flag){ sprGun.angle = (Math.random() * 360); }; timer = 0; } else { if (dCount > 0){ sprBody.velocity.x = (dX * CONST_SPEED); sprBody.velocity.y = (dY * CONST_SPEED); }; }; if (((!((sprBody.velocity.x == 0))) || (!((sprBody.velocity.y == 0))))){ sprBody.play("run"); } else { sprBody.play("idle"); }; coord = Main.getMapXY((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight * 0.75))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ i = (coord.y - 1); while (i <= (coord.y + 1)) { j = (coord.x - 1); while (j <= (coord.x + 1)) { _local2 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBullet); if (((!((_local2 == null))) && ((_local2 as PlayBullet).isBullet))){ hurt(Main.CONST_DAMAGE_BULLET); _local2.kill(); }; _local2 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBulletPlayer); if (_local2 != null){ hurt(Main.CONST_DAMAGE_BULLET); (_local2 as PlayBulletPlayer).boom(this); break; }; j++; }; i++; }; if (((Main.findClass(StatePlay.levelMap[coord.y][(coord.x + 1)], PlayWall)) && ((sprBody.velocity.x > 0)))){ sprBody.velocity.x = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[coord.y][(coord.x - 1)], PlayWall)) && ((sprBody.velocity.x < 0)))){ sprBody.velocity.x = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[(coord.y + 1)][coord.x], PlayWall)) && ((sprBody.velocity.y > 0)))){ sprBody.velocity.y = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[(coord.y - 1)][coord.x], PlayWall)) && ((sprBody.velocity.y < 0)))){ sprBody.velocity.y = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; dCount--; }; }; super.update(); } override public function kill():void{ var _local1:Number; if (!dead){ if (msg != null){ msg.kill(); }; Main.gameStats.killEnemy(); _local1 = Math.random(); if (_local1 < 0.33){ new PlayBonuse(sprBody.x, (sprBody.y + (sprBody.height / 2)), 1); } else { if (_local1 < 0.66){ new PlayBonuse(sprBody.x, (sprBody.y + (sprBody.height / 2)), 2); } else { new PlayBonuse(sprBody.x, (sprBody.y + (sprBody.height / 2)), 3); }; }; new PlayDeath(this.mapX, this.mapY, "enemy1"); i = 0; while (i < 5) { new PlayBlood((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight / 2)), (Math.random() * 360)); i++; }; }; super.kill(); } public function testFire():Boolean{ var _local8:Boolean; var _local1:PlayPlayer = StatePlay.player; var _local2:int = mapX; var _local3:int = mapY; var _local4:int = Math.abs((_local1.mapX - mapX)); var _local5:int = Math.abs((_local1.mapY - mapY)); var _local6:int = ((_local1.mapX - mapX) / _local4); var _local7:int = ((_local1.mapY - mapY) / _local5); if (_local5 > _local4){ k = _local4; _local4 = _local5; _local5 = k; _local8 = true; } else { _local8 = false; }; k = ((2 * _local5) - _local4); i = 0; while (i < _local4) { if (Main.findClass(StatePlay.levelMap[_local3][_local2], PlayWall)){ return (false); }; if (k >= 0){ if (_local8){ _local2 = (_local2 + _local6); } else { _local3 = (_local3 + _local7); }; k = (k - (2 * _local4)); }; if (_local8){ _local3 = (_local3 + _local7); } else { _local2 = (_local2 + _local6); }; k = (k + (2 * _local5)); i++; }; return (true); } } }//package
Section 204
//PlayEnemy1_imgBody (PlayEnemy1_imgBody) package { import mx.core.*; public class PlayEnemy1_imgBody extends BitmapAsset { } }//package
Section 205
//PlayEnemy1_imgEnemy (PlayEnemy1_imgEnemy) package { import mx.core.*; public class PlayEnemy1_imgEnemy extends BitmapAsset { } }//package
Section 206
//PlayEnemy1_imgGun (PlayEnemy1_imgGun) package { import mx.core.*; public class PlayEnemy1_imgGun extends BitmapAsset { } }//package
Section 207
//PlayEnemy1_imgHead (PlayEnemy1_imgHead) package { import mx.core.*; public class PlayEnemy1_imgHead extends BitmapAsset { } }//package
Section 208
//PlayEnemy1_sndShoot (PlayEnemy1_sndShoot) package { import mx.core.*; public class PlayEnemy1_sndShoot extends SoundAsset { } }//package
Section 209
//PlayEnemy2 (PlayEnemy2) package { import org.flixel.*; public class PlayEnemy2 extends PlayObject { private var j:int; private var imgHead:Class; private var newCoord:FlxPoint; private var imgBody:Class; private var dCount:int; private var imgEnemy:Class; private var oldCoord:FlxPoint; private var sprGun:FlxSprite; private var timer:Number; private var mode:String; public var pamTestFire:Boolean;// = false private var i:int; private var k:int; private var CONST_CONST_SPEED:uint;// = 100 private var p:Boolean; private var flag:Boolean; private var dX:int; private var dY:int; private var sndShoot:Class; public var sprBody:FlxSprite; private var coord:FlxPoint; private var imgGun:Class; private var fireTimer:Number; public function PlayEnemy2(_arg1:uint, _arg2:uint){ sndShoot = PlayEnemy2_sndShoot; imgEnemy = PlayEnemy2_imgEnemy; imgBody = PlayEnemy2_imgBody; imgGun = PlayEnemy2_imgGun; imgHead = PlayEnemy2_imgHead; super(_arg1, _arg2); coord = Main.getXY(_arg1, _arg2); newCoord = new FlxPoint(); oldCoord = new FlxPoint(_arg1, _arg2); sprBody = new FlxSprite(coord.x, coord.y); sprBody.loadGraphic(imgEnemy, true, true, 20, 40); sprBody.addAnimation("idle", [0]); sprBody.addAnimation("run", [0, 1], 8); add(sprBody); sprGun = new FlxSprite(coord.x, coord.y, imgGun); add(sprGun); timer = 0; dX = 0; dY = 0; dCount = 0; flag = false; fireTimer = 0; health = 250; } public function testFire():Boolean{ var _local8:Boolean; var _local1:PlayPlayer = StatePlay.player; var _local2:int = mapX; var _local3:int = mapY; var _local4:int = Math.abs((_local1.mapX - mapX)); var _local5:int = Math.abs((_local1.mapY - mapY)); var _local6:int = ((_local1.mapX - mapX) / _local4); var _local7:int = ((_local1.mapY - mapY) / _local5); if (_local5 > _local4){ k = _local4; _local4 = _local5; _local5 = k; _local8 = true; } else { _local8 = false; }; k = ((2 * _local5) - _local4); i = 0; while (i < _local4) { if (Main.findClass(StatePlay.levelMap[_local3][_local2], PlayWall)){ return (false); }; if (k >= 0){ if (_local8){ _local2 = (_local2 + _local6); } else { _local3 = (_local3 + _local7); }; k = (k - (2 * _local4)); }; if (_local8){ _local3 = (_local3 + _local7); } else { _local2 = (_local2 + _local6); }; k = (k + (2 * _local5)); i++; }; return (true); } override public function update():void{ var _local2:PlayObject; p = flag; flag = testFire(); if (flag){ pamTestFire = true; }; if (p != flag){ fireTimer = -0.5; }; if (flag){ sprGun.angle = ((Math.atan2((StatePlay.player.sprBody.y - sprBody.y), (StatePlay.player.sprBody.x - sprBody.x)) * 180) / Math.PI); fireTimer = (fireTimer + FlxG.elapsed); if ((((fireTimer > 0.12)) && (sprBody.onScreen()))){ FlxG.play(sndShoot, 0.8); new PlayBullet2(sprGun.x, sprGun.y, sprGun.angle, false); fireTimer = 0; }; }; var _local1:FlxPoint = FlxU.rotatePoint(6, 0, 0, 0, sprGun.angle); sprGun.x = (sprBody.x + _local1.x); sprGun.y = (((sprBody.y + (sprBody.height / 2)) + _local1.y) - 5); if ((((sprGun.angle >= -90)) && ((sprGun.angle < 90)))){ sprBody.facing = FlxSprite.RIGHT; sprGun.scale.y = 1; sprGun.x = (sprGun.x + 5); } else { sprBody.facing = FlxSprite.LEFT; sprGun.scale.y = -1; }; timer = (timer + FlxG.elapsed); if ((((((dCount <= 0)) && (((!((dX == 0))) || (!((dY == 0))))))) || ((((timer > 2)) && ((dCount <= 0)))))){ dCount = Math.round(((Math.random() * 20) + 3)); switch (Math.floor((Math.random() * 4.9))){ case 0: dX = 0; dY = 0; dCount = 0; break; case 1: dX = 0; dY = -1; break; case 2: dX = 1; dY = 0; break; case 3: dX = 0; dY = 1; break; case 4: dX = -1; dY = 0; break; }; sprGun.angle = (Math.random() * 360); timer = 0; } else { if (dCount > 0){ sprBody.velocity.x = (dX * CONST_CONST_SPEED); sprBody.velocity.y = (dY * CONST_CONST_SPEED); }; }; if (((!((sprBody.velocity.x == 0))) || (!((sprBody.velocity.y == 0))))){ sprBody.play("run"); } else { sprBody.play("idle"); }; coord = Main.getMapXY((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight * 0.75))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ i = (coord.y - 1); while (i <= (coord.y + 1)) { j = (coord.x - 1); while (j <= (coord.x + 1)) { _local2 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBullet); if (((!((_local2 == null))) && ((_local2 as PlayBullet).isBullet))){ hurt(Main.CONST_DAMAGE_BULLET); _local2.kill(); }; _local2 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBulletPlayer); if (_local2 != null){ hurt(Main.CONST_DAMAGE_BULLET); (_local2 as PlayBulletPlayer).boom(this); }; j++; }; i++; }; if (((Main.findClass(StatePlay.levelMap[coord.y][(coord.x + 1)], PlayWall)) && ((sprBody.velocity.x > 0)))){ sprBody.velocity.x = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[coord.y][(coord.x - 1)], PlayWall)) && ((sprBody.velocity.x < 0)))){ sprBody.velocity.x = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[(coord.y + 1)][coord.x], PlayWall)) && ((sprBody.velocity.y > 0)))){ sprBody.velocity.y = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[(coord.y - 1)][coord.x], PlayWall)) && ((sprBody.velocity.y < 0)))){ sprBody.velocity.y = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; dCount--; }; }; super.update(); } override public function hurt(_arg1:Number):void{ super.hurt(_arg1); i = 0; while (i < Math.round((_arg1 / Main.CONST_DAMAGE_BULLET))) { new PlayBlood((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight / 2)), (Math.random() * 360)); i++; }; } override public function kill():void{ var _local1:Number; if (!dead){ Main.gameStats.killEnemy(); _local1 = Math.random(); if (_local1 < 0.33){ new PlayBonuse(sprBody.x, (sprBody.y + (sprBody.height / 2)), 1); } else { if (_local1 < 0.66){ new PlayBonuse(sprBody.x, (sprBody.y + (sprBody.height / 2)), 2); } else { new PlayBonuse(sprBody.x, (sprBody.y + (sprBody.height / 2)), 3); }; }; new PlayDeath(this.mapX, this.mapY, "enemy2"); i = 0; while (i < 5) { new PlayBlood((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight / 2)), (Math.random() * 360)); i++; }; }; super.kill(); } } }//package
Section 210
//PlayEnemy2_imgBody (PlayEnemy2_imgBody) package { import mx.core.*; public class PlayEnemy2_imgBody extends BitmapAsset { } }//package
Section 211
//PlayEnemy2_imgEnemy (PlayEnemy2_imgEnemy) package { import mx.core.*; public class PlayEnemy2_imgEnemy extends BitmapAsset { } }//package
Section 212
//PlayEnemy2_imgGun (PlayEnemy2_imgGun) package { import mx.core.*; public class PlayEnemy2_imgGun extends BitmapAsset { } }//package
Section 213
//PlayEnemy2_imgHead (PlayEnemy2_imgHead) package { import mx.core.*; public class PlayEnemy2_imgHead extends BitmapAsset { } }//package
Section 214
//PlayEnemy2_sndShoot (PlayEnemy2_sndShoot) package { import mx.core.*; public class PlayEnemy2_sndShoot extends SoundAsset { } }//package
Section 215
//PlayEnemy3 (PlayEnemy3) package { import org.flixel.*; public class PlayEnemy3 extends PlayObject { private var j:int; private var imgHead:Class; private var newCoord:FlxPoint; private var imgBody:Class; private var sprGun:FlxSprite; private var timer:Number; private var imgEnemy3:Class; private var dCount:int; private var oldCoord:FlxPoint; private var mode:String; public var pamTestFire:Boolean;// = false private var i:int; private var CONST_SPEED:uint;// = 100 private var fireTimer:Number; private var p:Boolean; private var k:int; private var flag:Boolean; private var dX:int; private var dY:int; private var sndShoot:Class; public var sprBody:FlxSprite; private var coord:FlxPoint; private var imgGun:Class; public function PlayEnemy3(_arg1:uint, _arg2:uint){ sndShoot = PlayEnemy3_sndShoot; imgEnemy3 = PlayEnemy3_imgEnemy3; imgBody = PlayEnemy3_imgBody; imgGun = PlayEnemy3_imgGun; imgHead = PlayEnemy3_imgHead; super(_arg1, _arg2); coord = Main.getXY(_arg1, _arg2); newCoord = new FlxPoint(); oldCoord = new FlxPoint(_arg1, _arg2); sprBody = new FlxSprite(coord.x, coord.y); sprBody.loadGraphic(imgEnemy3, true, true, 20, 40); sprBody.addAnimation("idle", [0]); sprBody.addAnimation("run", [0, 1], 8); add(sprBody); sprGun = new FlxSprite(coord.x, coord.y, imgGun); add(sprGun); timer = 0; dX = 0; dY = 0; dCount = 0; flag = false; fireTimer = 0; health = 500; if (StatePlay.levelIndex == 1){ health = 10000; }; } public function testFire():Boolean{ var _local8:Boolean; var _local1:PlayPlayer = StatePlay.player; var _local2:int = mapX; var _local3:int = mapY; var _local4:int = Math.abs((_local1.mapX - mapX)); var _local5:int = Math.abs((_local1.mapY - mapY)); var _local6:int = ((_local1.mapX - mapX) / _local4); var _local7:int = ((_local1.mapY - mapY) / _local5); if (_local5 > _local4){ k = _local4; _local4 = _local5; _local5 = k; _local8 = true; } else { _local8 = false; }; k = ((2 * _local5) - _local4); i = 0; while (i < _local4) { if (Main.findClass(StatePlay.levelMap[_local3][_local2], PlayWall)){ return (false); }; if (k >= 0){ if (_local8){ _local2 = (_local2 + _local6); } else { _local3 = (_local3 + _local7); }; k = (k - (2 * _local4)); }; if (_local8){ _local3 = (_local3 + _local7); } else { _local2 = (_local2 + _local6); }; k = (k + (2 * _local5)); i++; }; return (true); } override public function update():void{ var _local2:PlayObject; if (StatePlay.levelIndex == 1){ if (StatePlay.boomStart){ sprBody.velocity.y = 100; }; }; p = flag; flag = testFire(); if (flag){ pamTestFire = true; }; if (p != flag){ fireTimer = 1.5; }; if (StatePlay.levelIndex > 1){ if (flag){ sprGun.angle = ((Math.atan2((StatePlay.player.sprBody.y - sprBody.y), (StatePlay.player.sprBody.x - sprBody.x)) * 180) / Math.PI); fireTimer = (fireTimer + FlxG.elapsed); if ((((fireTimer > 2)) && (sprBody.onScreen()))){ FlxG.play(sndShoot, 0.8); new PlayBullet2(sprGun.x, sprGun.y, sprGun.angle, true); new PlayBullet2(sprGun.x, sprGun.y, (sprGun.angle + 10), true); new PlayBullet2(sprGun.x, sprGun.y, (sprGun.angle - 10), true); fireTimer = 0; }; }; }; var _local1:FlxPoint = FlxU.rotatePoint(10, 0, 0, 0, sprGun.angle); sprGun.x = (sprBody.x + _local1.x); sprGun.y = (((sprBody.y + (sprBody.height / 2)) + _local1.y) - 5); if ((((sprGun.angle >= -90)) && ((sprGun.angle < 90)))){ sprBody.facing = FlxSprite.RIGHT; sprGun.scale.y = 1; sprGun.x = (sprGun.x + 5); } else { sprBody.facing = FlxSprite.LEFT; sprGun.scale.y = -1; }; if (StatePlay.levelIndex > 1){ timer = (timer + FlxG.elapsed); if ((((((dCount <= 0)) && (((!((dX == 0))) || (!((dY == 0))))))) || ((((timer > 1)) && ((dCount <= 0)))))){ dCount = Math.round(((Math.random() * 20) + 3)); switch (Math.floor((Math.random() * 4.9))){ case 0: dX = 0; dY = 0; dCount = 0; break; case 1: dX = 0; dY = -1; break; case 2: dX = 1; dY = 0; break; case 3: dX = 0; dY = 1; break; case 4: dX = -1; dY = 0; break; }; sprGun.angle = (Math.random() * 360); timer = 0; } else { if (dCount > 0){ sprBody.velocity.x = (dX * CONST_SPEED); sprBody.velocity.y = (dY * CONST_SPEED); }; }; }; if (((!((sprBody.velocity.x == 0))) || (!((sprBody.velocity.y == 0))))){ sprBody.play("run"); } else { sprBody.play("idle"); }; coord = Main.getMapXY((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight * 0.75))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ if (StatePlay.levelIndex > 1){ i = (coord.y - 1); while (i <= (coord.y + 1)) { j = (coord.x - 1); while (j <= (coord.x + 1)) { _local2 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBullet); if (((!((_local2 == null))) && ((_local2 as PlayBullet).isBullet))){ hurt(Main.CONST_DAMAGE_BULLET); _local2.kill(); }; _local2 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBulletPlayer); if (_local2 != null){ hurt(Main.CONST_DAMAGE_BULLET); (_local2 as PlayBulletPlayer).boom(this); }; j++; }; i++; }; if (((Main.findClass(StatePlay.levelMap[coord.y][(coord.x + 1)], PlayWall)) && ((sprBody.velocity.x > 0)))){ sprBody.velocity.x = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[coord.y][(coord.x - 1)], PlayWall)) && ((sprBody.velocity.x < 0)))){ sprBody.velocity.x = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[(coord.y + 1)][coord.x], PlayWall)) && ((sprBody.velocity.y > 0)))){ sprBody.velocity.y = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; if (((Main.findClass(StatePlay.levelMap[(coord.y - 1)][coord.x], PlayWall)) && ((sprBody.velocity.y < 0)))){ sprBody.velocity.y = 0; dX = 0; dY = 0; timer = 0; dCount = 0; }; }; newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; dCount--; }; }; super.update(); } override public function hurt(_arg1:Number):void{ if ((health - _arg1) <= 0){ Main.gameStats.killEnemy3(); }; super.hurt(_arg1); i = 0; while (i < Math.round((_arg1 / Main.CONST_DAMAGE_BULLET))) { new PlayBlood((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight / 2)), (Math.random() * 360)); i++; }; } override public function kill():void{ var _local1:Number; if (!dead){ Main.gameStats.killEnemy(); _local1 = Math.random(); if (_local1 < 0.33){ new PlayBonuse(sprBody.x, (sprBody.y + (sprBody.height / 2)), 1); } else { if (_local1 < 0.66){ new PlayBonuse(sprBody.x, (sprBody.y + (sprBody.height / 2)), 2); } else { new PlayBonuse(sprBody.x, (sprBody.y + (sprBody.height / 2)), 3); }; }; new PlayDeath(this.mapX, this.mapY, "enemy3"); i = 0; while (i < 5) { new PlayBlood((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight / 2)), (Math.random() * 360)); i++; }; }; super.kill(); } } }//package
Section 216
//PlayEnemy3_imgBody (PlayEnemy3_imgBody) package { import mx.core.*; public class PlayEnemy3_imgBody extends BitmapAsset { } }//package
Section 217
//PlayEnemy3_imgEnemy3 (PlayEnemy3_imgEnemy3) package { import mx.core.*; public class PlayEnemy3_imgEnemy3 extends BitmapAsset { } }//package
Section 218
//PlayEnemy3_imgGun (PlayEnemy3_imgGun) package { import mx.core.*; public class PlayEnemy3_imgGun extends BitmapAsset { } }//package
Section 219
//PlayEnemy3_imgHead (PlayEnemy3_imgHead) package { import mx.core.*; public class PlayEnemy3_imgHead extends BitmapAsset { } }//package
Section 220
//PlayEnemy3_sndShoot (PlayEnemy3_sndShoot) package { import mx.core.*; public class PlayEnemy3_sndShoot extends SoundAsset { } }//package
Section 221
//PlayFloor (PlayFloor) package { import org.flixel.*; import SWFStats.*; public class PlayFloor extends FlxGroup { private var imgFloor1:Class; private var imgFloor2:Class; private var imgFloor3:Class; private var imgFloor4:Class; private var sprFloor:FlxSprite; private var imgFloors10:Class; private var imgFloors5:Class; private var imgFloors6:Class; private var imgFloors7:Class; private var imgFloors8:Class; private var imgFloors9:Class; private var coord:FlxPoint; private var imgWallBoom:Class; public function PlayFloor(_arg1:uint, _arg2:uint, _arg3:int){ var _local4:FlxButton; var _local5:FlxSprite; var _local6:FlxSprite; imgWallBoom = PlayFloor_imgWallBoom; imgFloor1 = PlayFloor_imgFloor1; imgFloor2 = PlayFloor_imgFloor2; imgFloor3 = PlayFloor_imgFloor3; imgFloor4 = PlayFloor_imgFloor4; imgFloors5 = PlayFloor_imgFloors5; imgFloors6 = PlayFloor_imgFloors6; imgFloors7 = PlayFloor_imgFloors7; imgFloors8 = PlayFloor_imgFloors8; imgFloors9 = PlayFloor_imgFloors9; imgFloors10 = PlayFloor_imgFloors10; super(); coord = Main.getXY(_arg1, _arg2); active = false; switch (_arg3){ case 10: sprFloor = new FlxSprite(coord.x, coord.y, imgWallBoom); break; case 21: sprFloor = new FlxSprite(coord.x, coord.y, imgFloor1); break; case 22: sprFloor = new FlxSprite(coord.x, coord.y, imgFloor2); break; case 23: sprFloor = new FlxSprite(coord.x, coord.y, imgFloor3); break; case 24: sprFloor = new FlxSprite(coord.x, coord.y, imgFloor4); break; case 25: sprFloor = new FlxSprite(coord.x, coord.y, imgFloors5); break; case 26: sprFloor = new FlxSprite(coord.x, coord.y, imgFloors6); break; case 27: sprFloor = new FlxSprite(coord.x, coord.y); sprFloor.loadGraphic(imgFloors7, true, false, 20, 50); sprFloor.addAnimation("anim", [0, 1, 2, 3], 21, true); sprFloor.play("anim"); active = true; break; case 28: sprFloor = new FlxSprite(coord.x, coord.y, imgFloors8); break; case 29: sprFloor = new FlxSprite(coord.x, coord.y, imgFloors9); break; case 61: _local4 = new FlxButton(coord.x, coord.y, onClick); _local5 = new FlxSprite(0, 0, imgFloors10); _local6 = new FlxSprite(0, 0, imgFloors10); _local6.scale.x = 1.1; _local6.scale.y = 1.1; _local4.loadGraphic(_local5, _local6); add(_local4); active = true; break; }; add(sprFloor); StatePlay.low.add(this); } public function onClick():void{ Log.CustomMetric("k_button_in_game", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); Main.url(null); } } }//package
Section 222
//PlayFloor_imgFloor1 (PlayFloor_imgFloor1) package { import mx.core.*; public class PlayFloor_imgFloor1 extends BitmapAsset { } }//package
Section 223
//PlayFloor_imgFloor2 (PlayFloor_imgFloor2) package { import mx.core.*; public class PlayFloor_imgFloor2 extends BitmapAsset { } }//package
Section 224
//PlayFloor_imgFloor3 (PlayFloor_imgFloor3) package { import mx.core.*; public class PlayFloor_imgFloor3 extends BitmapAsset { } }//package
Section 225
//PlayFloor_imgFloor4 (PlayFloor_imgFloor4) package { import mx.core.*; public class PlayFloor_imgFloor4 extends BitmapAsset { } }//package
Section 226
//PlayFloor_imgFloors10 (PlayFloor_imgFloors10) package { import mx.core.*; public class PlayFloor_imgFloors10 extends BitmapAsset { } }//package
Section 227
//PlayFloor_imgFloors5 (PlayFloor_imgFloors5) package { import mx.core.*; public class PlayFloor_imgFloors5 extends BitmapAsset { } }//package
Section 228
//PlayFloor_imgFloors6 (PlayFloor_imgFloors6) package { import mx.core.*; public class PlayFloor_imgFloors6 extends BitmapAsset { } }//package
Section 229
//PlayFloor_imgFloors7 (PlayFloor_imgFloors7) package { import mx.core.*; public class PlayFloor_imgFloors7 extends BitmapAsset { } }//package
Section 230
//PlayFloor_imgFloors8 (PlayFloor_imgFloors8) package { import mx.core.*; public class PlayFloor_imgFloors8 extends BitmapAsset { } }//package
Section 231
//PlayFloor_imgFloors9 (PlayFloor_imgFloors9) package { import mx.core.*; public class PlayFloor_imgFloors9 extends BitmapAsset { } }//package
Section 232
//PlayFloor_imgWallBoom (PlayFloor_imgWallBoom) package { import mx.core.*; public class PlayFloor_imgWallBoom extends BitmapAsset { } }//package
Section 233
//PlayGameObject (PlayGameObject) package { import org.flixel.*; public class PlayGameObject extends PlayObject { private var imgObject1:Class; private var imgObject2:Class; private var imgObject3:Class; private var imgObject5:Class; private var imgObject7:Class; private var imgObject4:Class; private var imgObject6:Class; private var sprObject:FlxSprite; private var i:int; private var j:int; private var coord:FlxPoint; public function PlayGameObject(_arg1:uint, _arg2:uint, _arg3:int){ imgObject1 = PlayGameObject_imgObject1; imgObject2 = PlayGameObject_imgObject2; imgObject3 = PlayGameObject_imgObject3; imgObject4 = PlayGameObject_imgObject4; imgObject5 = PlayGameObject_imgObject5; imgObject6 = PlayGameObject_imgObject6; imgObject7 = PlayGameObject_imgObject7; super(_arg1, _arg2); coord = Main.getXY(_arg1, _arg2); switch (_arg3){ case 31: sprObject = new FlxSprite(coord.x, coord.y, imgObject1); break; case 32: sprObject = new FlxSprite(coord.x, coord.y, imgObject2); break; case 33: sprObject = new FlxSprite(coord.x, coord.y); sprObject.loadGraphic(imgObject3, true, false, 20, 50); break; case 34: sprObject = new FlxSprite(coord.x, coord.y); sprObject.loadGraphic(imgObject3, true, false, 20, 50); sprObject.frame = 1; break; case 35: sprObject = new FlxSprite(coord.x, coord.y); sprObject.loadGraphic(imgObject3, true, false, 20, 50); sprObject.frame = 2; break; case 36: sprObject = new FlxSprite(coord.x, coord.y); sprObject.loadGraphic(imgObject3, true, false, 20, 50); sprObject.frame = 3; break; case 37: sprObject = new FlxSprite(coord.x, coord.y, imgObject4); break; case 38: sprObject = new FlxSprite(coord.x, coord.y); sprObject.loadGraphic(imgObject5, true, false, 20, 50); break; case 39: sprObject = new FlxSprite(coord.x, coord.y); sprObject.loadGraphic(imgObject5, true, false, 20, 50); sprObject.frame = 1; break; case 51: sprObject = new FlxSprite(coord.x, coord.y, imgObject6); break; case 52: sprObject = new FlxSprite(coord.x, coord.y, imgObject7); break; }; add(sprObject); } override public function update():void{ var _local1:PlayObject; if (sprObject != null){ coord = Main.getMapXY((sprObject.x + (sprObject.frameWidth / 2)), (sprObject.y + (sprObject.frameHeight * 0.75))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ i = coord.y; while (i <= coord.y) { j = coord.x; while (j <= coord.x) { _local1 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBullet); if (((((((!((_local1 == null))) && (!((_local1 as PlayBullet).isGrenade)))) && (!((_local1 as PlayBullet).isPlastid)))) && (!((_local1 as PlayBullet).isRadio)))){ tresk(); }; _local1 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBullet2); if (((!((_local1 == null))) && (!((_local1 as PlayBullet2).isBomb)))){ tresk(); }; _local1 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBulletPlayer); if (_local1 != null){ tresk(); }; j++; }; i++; }; }; }; super.update(); } public function boom():void{ kill(); } public function tresk():void{ sprObject.angle = (sprObject.angle + Math.round(((Math.random() * 8) - 4))); } } }//package
Section 234
//PlayGameObject_imgObject1 (PlayGameObject_imgObject1) package { import mx.core.*; public class PlayGameObject_imgObject1 extends BitmapAsset { } }//package
Section 235
//PlayGameObject_imgObject2 (PlayGameObject_imgObject2) package { import mx.core.*; public class PlayGameObject_imgObject2 extends BitmapAsset { } }//package
Section 236
//PlayGameObject_imgObject3 (PlayGameObject_imgObject3) package { import mx.core.*; public class PlayGameObject_imgObject3 extends BitmapAsset { } }//package
Section 237
//PlayGameObject_imgObject4 (PlayGameObject_imgObject4) package { import mx.core.*; public class PlayGameObject_imgObject4 extends BitmapAsset { } }//package
Section 238
//PlayGameObject_imgObject5 (PlayGameObject_imgObject5) package { import mx.core.*; public class PlayGameObject_imgObject5 extends BitmapAsset { } }//package
Section 239
//PlayGameObject_imgObject6 (PlayGameObject_imgObject6) package { import mx.core.*; public class PlayGameObject_imgObject6 extends BitmapAsset { } }//package
Section 240
//PlayGameObject_imgObject7 (PlayGameObject_imgObject7) package { import mx.core.*; public class PlayGameObject_imgObject7 extends BitmapAsset { } }//package
Section 241
//PlayGirl (PlayGirl) package { import org.flixel.*; public class PlayGirl extends PlayObject { private var msg:FlxText;// = null private var msgTimer:Number;// = 0 public var timer:Number; private var imgArrow:Class; private var dCount:int; private var coord:FlxPoint; private var oldCoord:FlxPoint; private var j:int; public var showDialog:Boolean;// = false private var SPEED:uint;// = 50 private var i:int; private var k:int; public var sprGirl:FlxSprite; private var dX:int; private var newCoord:FlxPoint; private var dY:int; private var imgGirl:Class; public function PlayGirl(_arg1:uint, _arg2:uint){ imgArrow = PlayGirl_imgArrow; imgGirl = PlayGirl_imgGirl; super(_arg1, _arg2); timer = 0; coord = Main.getXY(_arg1, _arg2); newCoord = new FlxPoint(); oldCoord = new FlxPoint(_arg1, _arg2); sprGirl = new FlxSprite(coord.x, coord.y); sprGirl.loadGraphic(imgGirl, true, true, 20, 40); sprGirl.addAnimation("idle", [0]); sprGirl.addAnimation("run", [0, 1], 8); add(sprGirl); if (StatePlay.levelIndex == 1){ msg = new FlxText(sprGirl.x, sprGirl.y, 100, "Save me!"); msg.alignment = "center"; msg.size = 11; msg.color = 4294967040; StatePlay.high.add(msg); }; health = 75; } override public function hurt(_arg1:Number):void{ super.hurt(_arg1); i = 0; while (i < Math.round((_arg1 / Main.CONST_DAMAGE_BULLET))) { new PlayBlood((sprGirl.x + (sprGirl.frameWidth / 2)), (sprGirl.y + (sprGirl.frameHeight / 2)), (Math.random() * 360)); i++; }; } override public function update():void{ if (msg != null){ msg.x = ((sprGirl.x + (sprGirl.width / 2)) - 50); msg.y = (sprGirl.y - 20); }; if (mapY > 43){ msg.kill(); }; sprGirl.velocity.x = 0; sprGirl.velocity.y = 0; if (StatePlay.boomStart){ sprGirl.velocity.y = 100; }; if (((!((sprGirl.velocity.x == 0))) || (!((sprGirl.velocity.y == 0))))){ sprGirl.play("run"); } else { sprGirl.play("idle"); }; coord = Main.getMapXY((sprGirl.x + (sprGirl.frameWidth / 2)), (sprGirl.y + (sprGirl.frameHeight * 0.75))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; dCount--; }; }; super.update(); } override public function kill():void{ super.kill(); } } }//package
Section 242
//PlayGirl_imgArrow (PlayGirl_imgArrow) package { import mx.core.*; public class PlayGirl_imgArrow extends BitmapAsset { } }//package
Section 243
//PlayGirl_imgGirl (PlayGirl_imgGirl) package { import mx.core.*; public class PlayGirl_imgGirl extends BitmapAsset { } }//package
Section 244
//PlayGui (PlayGui) package { import org.flixel.*; import flash.net.*; import SWFStats.*; public class PlayGui extends FlxGroup { private var exitDialog:FlxGroup; private var imgGrenade:Class; public var butSound:FlxButton;// = null private var imgWindow2:Class; private var s2:FlxSprite; private var camera:FlxSprite; public var countCivil:uint; private var imgSoundYes:Class; private var sndLevelWin:Class; private var flagReset:Boolean; private var sprCivil:FlxSprite; private var imgReset:Class; private var t2:FlxText; private var sprPanel:FlxSprite; private var sndLevelFail:Class; public var timer:Number; private var b:FlxButton; private var txtCivil:FlxText; private var i:int; private var flag:Boolean; private var s:FlxSprite; private var t:FlxText; private var resetDialog:FlxGroup; private var imgGame2:Class; private var imgGame3:Class; private var flagNext:Boolean; public var msg:FlxText;// = null private var imgFloors:Class; private var imgGame1:Class; private var imgBadge1:Class; private var imgBadge2:Class; private var imgBadge3:Class; private var imgBadge4:Class; private var imgWindow:Class; private var sndClick:Class; private var flagExit:Boolean; private var imgMenu:Class; private var needIndex:int; private var sndHostagePickUp:Class; private var imgSoundNo:Class; private var imgCivil:Class; private var imgGirl:Class; public function PlayGui(){ var _local1:int; var _local2:int; var _local3:int; var _local4:String; sndClick = PlayGui_sndClick; sndLevelFail = PlayGui_sndLevelFail; sndLevelWin = PlayGui_sndLevelWin; sndHostagePickUp = PlayGui_sndHostagePickUp; imgGame1 = PlayGui_imgGame1; imgGame2 = PlayGui_imgGame2; imgGame3 = PlayGui_imgGame3; imgBadge1 = PlayGui_imgBadge1; imgBadge2 = PlayGui_imgBadge2; imgBadge3 = PlayGui_imgBadge3; imgBadge4 = PlayGui_imgBadge4; imgGirl = PlayGui_imgGirl; imgMenu = PlayGui_imgMenu; imgReset = PlayGui_imgReset; imgSoundNo = PlayGui_imgSoundNo; imgSoundYes = PlayGui_imgSoundYes; imgFloors = PlayGui_imgFloors; imgCivil = PlayGui_imgCivil; imgWindow = PlayGui_imgWindow; imgWindow2 = PlayGui_imgWindow2; imgGrenade = PlayGui_imgGrenade; super(); scrollFactor.x = (scrollFactor.y = 0); if (StatePlay.levelIndex == 0){ camera = new FlxSprite((FlxG.width / 2), (FlxG.height / 2)); camera.visible = false; add(camera); FlxG.follow(camera, 10); FlxG.followBounds(0, 0, ((FlxG.width * 2) - 20), (FlxG.height * 2)); t = new FlxText(((FlxG.width / 2) - 350), 65, 700, "HOSTAGE CRISIS"); t.size = 55; t.alignment = "center"; t.antialiasing = true; StatePlay.levelLowGroup.add(t); t = new FlxText((((FlxG.width - 20) + (FlxG.width / 2)) - 350), 65, 700, "SELECT LEVEL"); t.size = 55; t.alignment = "center"; t.antialiasing = true; StatePlay.levelLowGroup.add(t); t = new FlxText(((FlxG.width / 2) - 350), ((FlxG.height - 20) + 65), 700, "CREDITS"); t.size = 55; t.alignment = "center"; t.antialiasing = true; StatePlay.levelLowGroup.add(t); t = new FlxText((((FlxG.width - 20) + (FlxG.width / 2)) - 350), ((FlxG.height - 20) + 65), 700, "ACHIEVEMENTS"); t.size = 55; t.alignment = "center"; t.antialiasing = true; StatePlay.levelLowGroup.add(t); t = new FlxText(((FlxG.width / 2) - 350), ((FlxG.height - 20) + 230), 700, "Art and Programming: Kirill \"Crio Nuke\" Byvshev \nMusic & Sounds: Edgard \"Mr. Fuby\" Plotnieks\nProducer: Stefans \"Memphys.sk\" Keiss\n\n2010"); t.size = 17; t.alignment = "center"; t.antialiasing = true; StatePlay.levelLowGroup.add(t); b = new FlxButton(((FlxG.width / 2) - 100), 165, onNewGame); t = new FlxText(0, 0, 200, "New Game"); t.alignment = "center"; t.size = 20; t2 = new FlxText(0, 0, 200, "New Game"); t2.alignment = "center"; t2.size = 20; t2.color = 4294967040; b.loadText(t, t2); b.loadGraphic(new FlxSprite(0, 0).createGraphic(200, 30, 16724787)); StatePlay.levelLowGroup.add(b); b = new FlxButton(((FlxG.width / 2) - 100), 225, onSelectLevel); t = new FlxText(0, 0, 200, "Select Level"); t.alignment = "center"; t.size = 20; t2 = new FlxText(0, 0, 200, "Select Level"); t2.alignment = "center"; t2.size = 20; t2.color = 4294967040; b.loadText(t, t2); b.loadGraphic(new FlxSprite(0, 0).createGraphic(200, 30, 16724787)); StatePlay.levelLowGroup.add(b); b = new FlxButton(((FlxG.width / 2) - 100), 285, onAch); t = new FlxText(0, 0, 200, "Achievements"); t.alignment = "center"; t.size = 20; t2 = new FlxText(0, 0, 200, "Achievements"); t2.alignment = "center"; t2.size = 20; t2.color = 4294967040; b.loadText(t, t2); b.loadGraphic(new FlxSprite(0, 0).createGraphic(200, 30, 16724787)); StatePlay.levelLowGroup.add(b); b = new FlxButton(((FlxG.width / 2) - 100), 345, onCredits); t = new FlxText(0, 0, 200, "Credits"); t.alignment = "center"; t.size = 20; t2 = new FlxText(0, 0, 200, "Credits"); t2.alignment = "center"; t2.size = 20; t2.color = 4294967040; b.loadText(t, t2); b.loadGraphic(new FlxSprite(0, 0).createGraphic(200, 30, 16724787)); StatePlay.levelLowGroup.add(b); b = new FlxButton(((FlxG.width / 2) - 100), 405, onMoreGames); t = new FlxText(0, 0, 200, "More Games"); t.alignment = "center"; t.size = 20; t2 = new FlxText(0, 0, 200, "More Games"); t2.alignment = "center"; t2.size = 20; t2.color = 4294967040; b.loadText(t, t2); b.loadGraphic(new FlxSprite(0, 0).createGraphic(200, 30, 16724787)); StatePlay.levelLowGroup.add(b); if (!FlxG.mute){ butSound = new FlxButton((FlxG.width - 92), (FlxG.height - 73), onSound); s = new FlxSprite(0, 0, imgSoundYes); s.color = 4294967040; butSound.loadGraphic(new FlxSprite(0, 0, imgSoundYes), s); StatePlay.levelLowGroup.add(butSound); } else { butSound = new FlxButton((FlxG.width - 92), (FlxG.height - 73), onSound); s = new FlxSprite(0, 0, imgSoundNo); s.color = 4294967040; butSound.loadGraphic(new FlxSprite(0, 0, imgSoundNo), s); StatePlay.levelLowGroup.add(butSound); }; _local1 = 0; while (_local1 < 3) { _local2 = 0; while (_local2 < 5) { _local3 = ((_local1 * 5) + _local2); if (_local3 <= (Main.levelLast - 1)){ b = new FlxButton((((FlxG.width - 20) + 100) + (_local2 * 100)), (180 + (_local1 * 60)), onLevel); if (_local3 < 10){ _local4 = ("0" + _local3.toString()); } else { _local4 = _local3.toString(); }; t = new FlxText(0, 0, 200, _local4); t.size = 29; t2 = new FlxText(0, 0, 200, _local4); t2.size = 29; t2.color = 4294967040; b.loadText(t, t2); b.loadGraphic(new FlxSprite(0, 0).createGraphic(50, 30, 16724787)); StatePlay.levelLowGroup.add(b); }; _local2++; }; _local1++; }; StatePlay.high.add(new PlayAch(((FlxG.width - 20) + 100), ((FlxG.height - 20) + 160), 1)); StatePlay.high.add(new PlayAch(((FlxG.width - 20) + 220), ((FlxG.height - 20) + 160), 2)); StatePlay.high.add(new PlayAch(((FlxG.width - 20) + 100), ((FlxG.height - 20) + 240), 3)); StatePlay.high.add(new PlayAch(((FlxG.width - 20) + 220), ((FlxG.height - 20) + 240), 4)); StatePlay.high.add(new PlayAch((((FlxG.width - 20) + 100) + 260), ((FlxG.height - 20) + 160), 5)); StatePlay.high.add(new PlayAch((((FlxG.width - 20) + 220) + 260), ((FlxG.height - 20) + 160), 6)); StatePlay.high.add(new PlayAch((((FlxG.width - 20) + 100) + 260), ((FlxG.height - 20) + 240), 7)); StatePlay.high.add(new PlayAch((((FlxG.width - 20) + 220) + 260), ((FlxG.height - 20) + 240), 8)); b = new FlxButton((((FlxG.width - 20) + (FlxG.width / 2)) - 100), 405, onBackFromSelectLevel); t = new FlxText(0, 0, 200, "Back"); t.alignment = "center"; t.size = 20; t2 = new FlxText(0, 0, 200, "Back"); t2.alignment = "center"; t2.size = 20; t2.color = 4294967040; b.loadText(t, t2); b.loadGraphic(new FlxSprite(0, 0).createGraphic(200, 30, 16724787)); StatePlay.levelLowGroup.add(b); b = new FlxButton(((FlxG.width / 2) - 100), ((FlxG.height - 40) + 405), onBackFromCredits); t = new FlxText(0, 0, 200, "Back"); t.alignment = "center"; t.size = 20; t2 = new FlxText(0, 0, 200, "Back"); t2.alignment = "center"; t2.size = 20; t2.color = 4294967040; b.loadText(t, t2); b.loadGraphic(new FlxSprite(0, 0).createGraphic(200, 30, 16724787)); StatePlay.levelLowGroup.add(b); b = new FlxButton((((FlxG.width - 20) + (FlxG.width / 2)) - 100), ((FlxG.height - 40) + 405), onBackFromAch); t = new FlxText(0, 0, 200, "Back"); t.alignment = "center"; t.size = 20; t2 = new FlxText(0, 0, 200, "Back"); t2.alignment = "center"; t2.size = 20; t2.color = 4294967040; b.loadText(t, t2); b.loadGraphic(new FlxSprite(0, 0).createGraphic(200, 30, 16724787)); StatePlay.levelLowGroup.add(b); b = new FlxButton(65, 162, onGame1); s = new FlxSprite(0, 0, imgGame1); s2 = new FlxSprite(0, 0, imgGame1); s2.scale.x = 1.1; s2.scale.y = 1.1; b.loadGraphic(s, s2); StatePlay.levelLowGroup.add(b); b = new FlxButton(65, 262, onGame2); s = new FlxSprite(0, 0, imgGame2); s2 = new FlxSprite(0, 0, imgGame2); s2.scale.x = 1.1; s2.scale.y = 1.1; b.loadGraphic(s, s2); StatePlay.levelLowGroup.add(b); b = new FlxButton(65, 362, onGame3); s = new FlxSprite(0, 0, imgGame3); s2 = new FlxSprite(0, 0, imgGame3); s2.scale.x = 1.1; s2.scale.y = 1.1; b.loadGraphic(s, s2); StatePlay.levelLowGroup.add(b); b = new FlxButton(452, 110, onKongMainMenu); s = new FlxSprite(0, 0, imgBadge2); s2 = new FlxSprite(0, 0, imgBadge2); s2.scale.x = 1.1; s2.scale.y = 1.1; b.loadGraphic(s, s2); StatePlay.levelLowGroup.add(b); b = new FlxButton(445, 847, onKongCredits); s = new FlxSprite(0, 0, imgBadge4); s2 = new FlxSprite(0, 0, imgBadge4); s2.scale.x = 1.1; s2.scale.y = 1.1; b.loadGraphic(s, s2); StatePlay.levelLowGroup.add(b); b = new FlxButton(1065, 407, onKongSelectLevel); s = new FlxSprite(0, 0, imgBadge4); s2 = new FlxSprite(0, 0, imgBadge4); s2.scale.x = 1.1; s2.scale.y = 1.1; b.loadGraphic(s, s2); StatePlay.levelLowGroup.add(b); b = new FlxButton(1065, 847, onKongAchievements); s = new FlxSprite(0, 0, imgBadge4); s2 = new FlxSprite(0, 0, imgBadge4); s2.scale.x = 1.1; s2.scale.y = 1.1; b.loadGraphic(s, s2); StatePlay.levelLowGroup.add(b); b = new FlxButton(400, 370, onGirlKong); s = new FlxSprite(0, 0, imgGirl); s2 = new FlxSprite(0, 0, imgGirl); s2.scale.x = 1.1; s2.scale.y = 1.1; b.loadGraphic(s, s2); StatePlay.levelLowGroup.add(b); } else { b = new FlxButton((FlxG.width - 30), 10, onMenu); s = new FlxSprite(0, 0, imgMenu); s.color = 4294967040; b.loadGraphic(new FlxSprite(0, 0, imgMenu), s); b.scrollFactor.x = (b.scrollFactor.y = 0); add(b, true); if (!FlxG.mute){ butSound = new FlxButton((FlxG.width - 60), 10, onSound); s = new FlxSprite(0, 0, imgSoundYes); s.color = 4294967040; butSound.loadGraphic(new FlxSprite(0, 0, imgSoundYes), s); butSound.scrollFactor.x = (butSound.scrollFactor.y = 0); add(butSound, true); } else { butSound = new FlxButton((FlxG.width - 60), 10, onSound); s = new FlxSprite(0, 0, imgSoundNo); s.color = 4294967040; butSound.loadGraphic(new FlxSprite(0, 0, imgSoundNo), s); butSound.scrollFactor.x = (butSound.scrollFactor.y = 0); add(butSound, true); }; b = new FlxButton((FlxG.width - 95), 10, onReset); s = new FlxSprite(0, 0, imgReset); s.color = 4294967040; b.loadGraphic(new FlxSprite(0, 0, imgReset), s); b.scrollFactor.x = (b.scrollFactor.y = 0); add(b, true); sprCivil = new FlxSprite(10, 15); sprCivil.loadGraphic(imgCivil, true, false); sprCivil.addAnimation("add", [0, 1, 2, 3, 2, 1, 0], 12, false); add(sprCivil, true); countCivil = 0; txtCivil = new FlxText(50, 10, 200, ((countCivil + "/") + StatePlay.levels.getLevelCivil(StatePlay.levelIndex))); txtCivil.size = 40; txtCivil.antialiasing = true; add(txtCivil, true); exitDialog = new FlxGroup(); add(exitDialog, true); resetDialog = new FlxGroup(); add(resetDialog, true); msg = new FlxText(((FlxG.width / 2) - 250), 10, 500, ""); msg.size = 25; msg.color = 4294967040; msg.alignment = "center"; msg.scrollFactor.x = (msg.scrollFactor.y = 0); StatePlay.high.add(msg); timer = 0; flag = false; flagNext = false; flagExit = false; flagReset = false; }; } private function onNo():void{ FlxG.play(sndClick); hideExitDialog(); flagExit = false; } public function faildKillSelf():void{ var _local1:Number; var _local2:FlxButton; var _local3:FlxSprite; var _local4:FlxSprite; FlxG.play(sndLevelFail); FlxG.music.volume = 0.5; FlxG.timeScale = 1; if (!flag){ add(new FlxSprite(40, 180, imgWindow2), true); StatePlay.levelGroup.active = false; _local1 = Math.random(); if (_local1 < 0.25){ t = new FlxText(((FlxG.width / 2) - 250), 190, 500, "Lets try that again, but without the part where you died."); t.size = 25; } else { if (_local1 < 0.5){ t = new FlxText(((FlxG.width / 2) - 250), 190, 500, "Ouch. What a mess?"); t.size = 35; } else { if (_local1 < 0.75){ t = new FlxText(((FlxG.width / 2) - 250), 190, 500, "It's okay, you're \nsupposed to die a lot."); t.size = 30; } else { t = new FlxText(((FlxG.width / 2) - 250), 190, 500, "Whoops, you exploded."); t.size = 35; }; }; }; t.color = 4293848576; t.alignment = "center"; add(t, true); t = new FlxText(((FlxG.width / 2) - 250), 270, 500, "CLICK or press SPACE to continue!"); t.color = 4293848576; t.alignment = "center"; t.size = 15; add(t, true); flag = true; _local2 = new FlxButton(465, 140, onBeetwenLevel); _local3 = new FlxSprite(0, 0, imgBadge2); _local4 = new FlxSprite(0, 0, imgBadge2); _local4.scale.x = 1.1; _local4.scale.y = 1.1; _local2.loadGraphic(_local3, _local4); _local2.scrollFactor.x = 0; _local2.scrollFactor.y = 0; add(_local2); }; } private function onResetYes():void{ FlxG.play(sndClick); FlxG.fade.start(4278190080, 0.5, toReset); } private function onAch():void{ if ((((camera.velocity.x == 0)) && ((camera.velocity.y == 0)))){ FlxG.play(sndClick); camera.velocity.x = 1000; camera.velocity.y = 1000; Log.CustomMetric("button_achievements", "buttons"); }; } private function onBackFromAch():void{ FlxG.play(sndClick); camera.velocity.x = -1000; camera.velocity.y = -1000; } private function toExit():void{ FlxG.state = new StatePlay(0); } public function showResetDialog():void{ var _local1:FlxButton; var _local2:FlxSprite; var _local3:FlxSprite; FlxG.timeScale = 1; if (!flagReset){ resetDialog.add(new FlxSprite(40, 180, imgWindow), true); StatePlay.levelGroup.active = false; t = new FlxText(((FlxG.width / 2) - 250), 200, 500, "Reset this level!"); t.color = 4293848576; t.alignment = "center"; t.size = 50; resetDialog.add(t, true); t = new FlxText(((FlxG.width / 2) - 250), 250, 500, "Are you sure?"); t.color = 4293848576; t.alignment = "center"; t.size = 25; resetDialog.add(t, true); _local1 = new FlxButton(((FlxG.width / 2) - 70), 300, onResetYes); t = new FlxText(0, 0, 200, "Yes"); t.size = 30; t.color = 4294967040; t2 = new FlxText(0, 0, 200, "Yes"); t2.size = 30; _local1.loadText(t, t2); _local1.loadGraphic(new FlxSprite(0, 0).createGraphic(70, 30, 16724787)); _local1.scrollFactor.x = (_local1.scrollFactor.y = 0); resetDialog.add(_local1, true); _local1 = new FlxButton(((FlxG.width / 2) + 10), 300, onResetNo); t = new FlxText(0, 0, 200, "No"); t.size = 30; t.color = 4294967040; t2 = new FlxText(0, 0, 200, "No"); t2.size = 30; _local1.loadText(t, t2); _local1.loadGraphic(new FlxSprite(0, 0).createGraphic(70, 30, 16724787)); _local1.scrollFactor.x = (_local1.scrollFactor.y = 0); resetDialog.add(_local1, true); flagReset = true; _local1 = new FlxButton(465, 140, onBeetwenLevel); _local2 = new FlxSprite(0, 0, imgBadge2); _local3 = new FlxSprite(0, 0, imgBadge2); _local3.scale.x = 1.1; _local3.scale.y = 1.1; _local1.loadGraphic(_local2, _local3); _local1.scrollFactor.x = 0; _local1.scrollFactor.y = 0; resetDialog.add(_local1); }; } private function onBackFromCredits():void{ FlxG.play(sndClick); camera.velocity.y = -1000; } private function toNeedLevel():void{ FlxG.state = new StatePlay(needIndex); } private function onMoreGames():void{ Log.CustomMetric("more_games_button", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); Main.url(null); FlxG.play(sndClick); } private function onKongCredits():void{ Log.CustomMetric("kong_button_in_credits", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=hostage_crisis")); Main.gameStats.clickSponsor(); } private function onSound():void{ FlxG.play(sndClick); FlxG.mute = !(FlxG.mute); if (StatePlay.levelIndex == 0){ if (!FlxG.mute){ if (butSound != null){ butSound.kill(); }; butSound = new FlxButton((FlxG.width - 92), (FlxG.height - 73), onSound); s = new FlxSprite(0, 0, imgSoundYes); s.color = 4294967040; butSound.loadGraphic(new FlxSprite(0, 0, imgSoundYes), s); add(butSound); } else { if (butSound != null){ butSound.kill(); }; butSound = new FlxButton((FlxG.width - 92), (FlxG.height - 73), onSound); s = new FlxSprite(0, 0, imgSoundNo); s.color = 4294967040; butSound.loadGraphic(new FlxSprite(0, 0, imgSoundNo), s); add(butSound); }; } else { if (!FlxG.mute){ if (butSound != null){ butSound.kill(); }; butSound = new FlxButton((FlxG.width - 60), 10, onSound); s = new FlxSprite(0, 0, imgSoundYes); s.color = 4294967040; butSound.loadGraphic(new FlxSprite(0, 0, imgSoundYes), s); butSound.scrollFactor.x = (butSound.scrollFactor.y = 0); add(butSound, true); } else { if (butSound != null){ butSound.kill(); }; butSound = new FlxButton((FlxG.width - 60), 10, onSound); s = new FlxSprite(0, 0, imgSoundNo); s.color = 4294967040; butSound.loadGraphic(new FlxSprite(0, 0, imgSoundNo), s); butSound.scrollFactor.x = (butSound.scrollFactor.y = 0); add(butSound, true); }; }; } private function onKongMainMenu():void{ Log.CustomMetric("kong_button_in_main_menu", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=hostage_crisis")); Main.gameStats.clickSponsor(); } private function onYes():void{ FlxG.play(sndClick); FlxG.fade.start(4278190080, 0.5, toExit); } private function onSelectLevel():void{ if ((((camera.velocity.x == 0)) && ((camera.velocity.y == 0)))){ FlxG.play(sndClick); camera.velocity.x = 1000; }; } private function toReset():void{ FlxG.state = new StatePlay(StatePlay.levelIndex); } private function onResetNo():void{ FlxG.play(sndClick); hideResetDialog(); flagReset = false; } private function onBackFromSelectLevel():void{ FlxG.play(sndClick); camera.velocity.x = -1000; } private function onKongSelectLevel():void{ Log.CustomMetric("kong_button_in_select_levels", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=hostage_crisis")); Main.gameStats.clickSponsor(); } public function onReset():void{ FlxG.play(sndClick); showResetDialog(); } public function savedCivil():void{ FlxG.play(sndHostagePickUp, 0.8); sprCivil.play("add", true); countCivil++; txtCivil.text = ((countCivil + "/") + StatePlay.levelCivil); } private function onBeetwenLevel():void{ Log.CustomMetric("kong_button_between_level", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=hostage_crisis")); Main.gameStats.clickSponsor(); } private function toNewGame():void{ FlxG.state = new StatePlay(1); } private function onCredits():void{ if ((((camera.velocity.x == 0)) && ((camera.velocity.y == 0)))){ FlxG.play(sndClick); camera.velocity.y = 1000; Log.CustomMetric("button_credits", "buttons"); }; } private function toLevel():void{ FlxG.state = new StatePlay(needIndex); } public function faildKillCivil():void{ var _local1:FlxButton; var _local2:FlxSprite; var _local3:FlxSprite; FlxG.play(sndLevelFail); FlxG.music.volume = 0.7; FlxG.timeScale = 1; if (!flag){ add(new FlxSprite(40, 180, imgWindow2), true); StatePlay.levelGroup.active = false; t = new FlxText(((FlxG.width / 2) - 250), 190, 500, "Accidental Civilian Termination. It was an accident, right?"); t.color = 4293848576; t.alignment = "center"; t.size = 25; add(t, true); t = new FlxText(((FlxG.width / 2) - 250), 270, 500, "CLICK or press SPACE to continue!"); t.color = 4293848576; t.alignment = "center"; t.size = 15; add(t, true); flag = true; _local1 = new FlxButton(465, 140, onBeetwenLevel); _local2 = new FlxSprite(0, 0, imgBadge2); _local3 = new FlxSprite(0, 0, imgBadge2); _local3.scale.x = 1.1; _local3.scale.y = 1.1; _local1.loadGraphic(_local2, _local3); _local1.scrollFactor.x = 0; _local1.scrollFactor.y = 0; add(_local1); }; } override public function update():void{ if (((!((msg == null))) && (!((msg.text == ""))))){ timer = (timer + FlxG.elapsed); if (timer > 4){ msg.text = ""; timer = 0; }; }; if (StatePlay.levelIndex == 0){ if ((((camera.velocity.x > 0)) && ((camera.velocity.y == 0)))){ if (camera.x > (FlxG.width * 1.5)){ camera.velocity.x = 0; }; }; if ((((camera.velocity.x < 0)) && ((camera.velocity.y == 0)))){ if (camera.x < (FlxG.width / 2)){ camera.velocity.x = 0; }; }; if ((((camera.velocity.x == 0)) && ((camera.velocity.y > 0)))){ if (camera.y > ((FlxG.height * 1.5) - 40)){ camera.velocity.y = 0; }; }; if ((((camera.velocity.x == 0)) && ((camera.velocity.y < 0)))){ if (camera.y < (FlxG.height / 2)){ camera.velocity.y = 0; }; }; if ((((camera.velocity.x > 0)) && ((camera.velocity.y > 0)))){ if (camera.y > ((FlxG.height * 1.5) - 40)){ camera.velocity.y = 0; }; }; if ((((camera.velocity.x < 0)) && ((camera.velocity.y < 0)))){ if (camera.y < (FlxG.height / 2)){ camera.velocity.y = 0; }; }; if (FlxG.keys.justPressed("ESCAPE")){ if ((((camera.x > FlxG.width)) && ((camera.y < FlxG.height)))){ camera.velocity.x = -1000; }; if ((((camera.x < FlxG.width)) && ((camera.y > FlxG.height)))){ camera.velocity.y = -1000; }; if ((((camera.x > FlxG.width)) && ((camera.y > FlxG.height)))){ camera.velocity.x = -1000; camera.velocity.y = -1000; }; }; } else { if (flag){ if (((FlxG.keys.justPressed("SPACE")) || (FlxG.mouse.justPressed()))){ FlxG.music.volume = 0.8; if (flagNext){ needIndex = (StatePlay.levelIndex + 1); if (needIndex > Main.levelsCount){ needIndex = 0; }; if (needIndex > Main.levelLast){ Main.levelLast = needIndex; }; Main.gameSaves.data["level_last"] = Main.levelLast; Main.gameSaves.forceSave(); FlxG.fade.start(4278190080, 0.5, toLevel); } else { needIndex = StatePlay.levelIndex; FlxG.fade.start(4278190080, 0.5, toLevel); }; }; }; if (flagExit){ if (FlxG.keys.justPressed("ESCAPE")){ hideExitDialog(); flagExit = false; return; }; if (FlxG.keys.justPressed("ENTER")){ FlxG.fade.start(4278190080, 0.5, toExit); }; }; if (flagReset){ if (FlxG.keys.justPressed("ESCAPE")){ hideResetDialog(); flagReset = false; return; }; if (FlxG.keys.justPressed("ENTER")){ FlxG.fade.start(4278190080, 0.5, toReset); }; }; if (((FlxG.keys.justPressed("ESCAPE")) && (!(flagExit)))){ showExitDialog(); }; }; super.update(); } private function onNewGame():void{ Log.Play(); FlxG.play(sndClick); FlxG.fade.start(4278190080, 0.5, toNewGame); } public function hideResetDialog():void{ resetDialog.killMembers(); StatePlay.levelGroup.active = true; } private function onMenu():void{ FlxG.play(sndClick); showExitDialog(); } private function onGirlKong():void{ } private function onGame2():void{ Log.CustomMetric("game2_button", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/games/mos11charlie/undead-highway/?gamereferral=hostage_crisis")); Main.gameStats.clickSponsor(); } private function onGame3():void{ Log.CustomMetric("game3_button", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/games/camaleonyco/moby-dick-the-video-game/?gamereferral=hostage_crisis")); Main.gameStats.clickSponsor(); } public function showExitDialog():void{ var _local1:FlxButton; var _local2:FlxSprite; var _local3:FlxSprite; FlxG.timeScale = 1; if (!flagExit){ exitDialog.add(new FlxSprite(40, 180, imgWindow), true); StatePlay.levelGroup.active = false; t = new FlxText(((FlxG.width / 2) - 250), 200, 500, "Exit to Menu!"); t.color = 4293848576; t.alignment = "center"; t.size = 50; exitDialog.add(t, true); t = new FlxText(((FlxG.width / 2) - 250), 250, 500, "Are you sure?"); t.color = 4293848576; t.alignment = "center"; t.size = 25; exitDialog.add(t, true); _local1 = new FlxButton(((FlxG.width / 2) - 70), 300, onYes); t = new FlxText(0, 0, 200, "Yes"); t.size = 30; t.color = 4294967040; t2 = new FlxText(0, 0, 200, "Yes"); t2.size = 30; _local1.loadText(t, t2); _local1.loadGraphic(new FlxSprite(0, 0).createGraphic(70, 30, 16724787)); _local1.scrollFactor.x = (_local1.scrollFactor.y = 0); exitDialog.add(_local1, true); _local1 = new FlxButton(((FlxG.width / 2) + 10), 300, onNo); t = new FlxText(0, 0, 200, "No"); t.size = 30; t.color = 4294967040; t2 = new FlxText(0, 0, 200, "No"); t2.size = 30; _local1.loadText(t, t2); _local1.loadGraphic(new FlxSprite(0, 0).createGraphic(70, 30, 16724787)); _local1.scrollFactor.x = (_local1.scrollFactor.y = 0); exitDialog.add(_local1, true); flagExit = true; _local1 = new FlxButton(465, 140, onBeetwenLevel); _local2 = new FlxSprite(0, 0, imgBadge2); _local3 = new FlxSprite(0, 0, imgBadge2); _local3.scale.x = 1.1; _local3.scale.y = 1.1; _local1.loadGraphic(_local2, _local3); _local1.scrollFactor.x = 0; _local1.scrollFactor.y = 0; exitDialog.add(_local1); }; } private function onLevel():void{ Log.Play(); FlxG.play(sndClick); var _local1:int = FlxG.mouse.x; var _local2:int = FlxG.mouse.y; var _local3:int = ((Math.floor(((_local2 - 180) / 60)) * 5) + (Math.floor(((_local1 - 100) / 100)) - 6)); needIndex = (_local3 + 1); FlxG.fade.start(4278190080, 0.5, toNeedLevel); } private function onGame1():void{ Log.CustomMetric("game1_button", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/games/Xplored/apokalyx/?gamereferral=hostage_crisis")); Main.gameStats.clickSponsor(); } public function missionComplete():void{ var _local1:FlxButton; var _local2:FlxSprite; var _local3:FlxSprite; if (Main.gameStats.killCount == Main.gameStats.enemyCount){ Main.gameStats.killAll(); }; if (Main.gameStats.killCount == 0){ Main.gameStats.killZero(); }; if ((StatePlay.levelIndex + 1) > Main.levelsCount){ Main.gameStats.gameCompleted(); }; if (StatePlay.levelIndex == 1){ Log.CustomMetric("level0_completed", "levels"); }; if (StatePlay.levelIndex == 2){ Log.CustomMetric("level1_completed", "levels"); }; if (StatePlay.levelIndex == 3){ Log.CustomMetric("level2_completed", "levels"); }; if (StatePlay.levelIndex == 4){ Log.CustomMetric("level3_completed", "levels"); }; if (StatePlay.levelIndex == 5){ Log.CustomMetric("level4_completed", "levels"); }; if (StatePlay.levelIndex == 6){ Log.CustomMetric("level5_completed", "levels"); }; if (StatePlay.levelIndex == 7){ Log.CustomMetric("level6_completed", "levels"); }; if (StatePlay.levelIndex == 8){ Log.CustomMetric("level7_completed", "levels"); }; if (StatePlay.levelIndex == 9){ Log.CustomMetric("level8_completed", "levels"); }; if (StatePlay.levelIndex == 10){ Log.CustomMetric("level9_completed", "levels"); }; if (StatePlay.levelIndex == 11){ Log.CustomMetric("level10_completed", "levels"); }; if (StatePlay.levelIndex == 12){ Log.CustomMetric("level11_completed", "levels"); }; if (StatePlay.levelIndex == 13){ Log.CustomMetric("level12_completed", "levels"); }; if (StatePlay.levelIndex == 14){ Log.CustomMetric("level13_completed", "levels"); }; if (StatePlay.levelIndex == 15){ Log.CustomMetric("level14_completed", "levels"); }; FlxG.play(sndLevelWin); FlxG.music.volume = 0.5; FlxG.timeScale = 1; if (!flag){ if (StatePlay.levelIndex == Main.levelsCount){ add(new FlxSprite(40, 180, imgWindow), true); StatePlay.levelGroup.active = false; t = new FlxText(((FlxG.width / 2) - 300), 200, 600, "Game Completed!"); t.color = 4293848576; t.alignment = "center"; t.size = 50; add(t, true); t = new FlxText(((FlxG.width / 2) - 250), 250, 500, "Thanks for Playing!"); t.color = 4293848576; t.alignment = "center"; t.size = 25; add(t, true); t = new FlxText(((FlxG.width / 2) - 250), 320, 500, "CLICK or press SPACE to continue!"); t.color = 4293848576; t.alignment = "center"; t.size = 15; add(t, true); flag = true; flagNext = true; } else { add(new FlxSprite(40, 180, imgWindow), true); StatePlay.levelGroup.active = false; t = new FlxText(((FlxG.width / 2) - 300), 200, 600, "Mission completed!"); t.color = 4293848576; t.alignment = "center"; t.size = 46; add(t, true); t = new FlxText(((FlxG.width / 2) - 250), 250, 500, "Progressing to the next level!"); t.color = 4293848576; t.alignment = "center"; t.size = 25; add(t, true); t = new FlxText(((FlxG.width / 2) - 250), 320, 500, "CLICK or press SPACE to continue!"); t.color = 4293848576; t.alignment = "center"; t.size = 15; add(t, true); flag = true; flagNext = true; }; _local1 = new FlxButton(465, 140, onBeetwenLevel); _local2 = new FlxSprite(0, 0, imgBadge2); _local3 = new FlxSprite(0, 0, imgBadge2); _local3.scale.x = 1.1; _local3.scale.y = 1.1; _local1.loadGraphic(_local2, _local3); _local1.scrollFactor.x = 0; _local1.scrollFactor.y = 0; add(_local1); }; } private function onKongAchievements():void{ Log.CustomMetric("kong_button_in_achievements", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=hostage_crisis")); Main.gameStats.clickSponsor(); } public function hideExitDialog():void{ exitDialog.killMembers(); StatePlay.levelGroup.active = true; } } }//package
Section 245
//PlayGui_imgBadge1 (PlayGui_imgBadge1) package { import mx.core.*; public class PlayGui_imgBadge1 extends BitmapAsset { } }//package
Section 246
//PlayGui_imgBadge2 (PlayGui_imgBadge2) package { import mx.core.*; public class PlayGui_imgBadge2 extends BitmapAsset { } }//package
Section 247
//PlayGui_imgBadge3 (PlayGui_imgBadge3) package { import mx.core.*; public class PlayGui_imgBadge3 extends BitmapAsset { } }//package
Section 248
//PlayGui_imgBadge4 (PlayGui_imgBadge4) package { import mx.core.*; public class PlayGui_imgBadge4 extends BitmapAsset { } }//package
Section 249
//PlayGui_imgCivil (PlayGui_imgCivil) package { import mx.core.*; public class PlayGui_imgCivil extends BitmapAsset { } }//package
Section 250
//PlayGui_imgFloors (PlayGui_imgFloors) package { import mx.core.*; public class PlayGui_imgFloors extends BitmapAsset { } }//package
Section 251
//PlayGui_imgGame1 (PlayGui_imgGame1) package { import mx.core.*; public class PlayGui_imgGame1 extends BitmapAsset { } }//package
Section 252
//PlayGui_imgGame2 (PlayGui_imgGame2) package { import mx.core.*; public class PlayGui_imgGame2 extends BitmapAsset { } }//package
Section 253
//PlayGui_imgGame3 (PlayGui_imgGame3) package { import mx.core.*; public class PlayGui_imgGame3 extends BitmapAsset { } }//package
Section 254
//PlayGui_imgGirl (PlayGui_imgGirl) package { import mx.core.*; public class PlayGui_imgGirl extends BitmapAsset { } }//package
Section 255
//PlayGui_imgGrenade (PlayGui_imgGrenade) package { import mx.core.*; public class PlayGui_imgGrenade extends BitmapAsset { } }//package
Section 256
//PlayGui_imgMenu (PlayGui_imgMenu) package { import mx.core.*; public class PlayGui_imgMenu extends BitmapAsset { } }//package
Section 257
//PlayGui_imgReset (PlayGui_imgReset) package { import mx.core.*; public class PlayGui_imgReset extends BitmapAsset { } }//package
Section 258
//PlayGui_imgSoundNo (PlayGui_imgSoundNo) package { import mx.core.*; public class PlayGui_imgSoundNo extends BitmapAsset { } }//package
Section 259
//PlayGui_imgSoundYes (PlayGui_imgSoundYes) package { import mx.core.*; public class PlayGui_imgSoundYes extends BitmapAsset { } }//package
Section 260
//PlayGui_imgWindow (PlayGui_imgWindow) package { import mx.core.*; public class PlayGui_imgWindow extends BitmapAsset { } }//package
Section 261
//PlayGui_imgWindow2 (PlayGui_imgWindow2) package { import mx.core.*; public class PlayGui_imgWindow2 extends BitmapAsset { } }//package
Section 262
//PlayGui_sndClick (PlayGui_sndClick) package { import mx.core.*; public class PlayGui_sndClick extends SoundAsset { } }//package
Section 263
//PlayGui_sndHostagePickUp (PlayGui_sndHostagePickUp) package { import mx.core.*; public class PlayGui_sndHostagePickUp extends SoundAsset { } }//package
Section 264
//PlayGui_sndLevelFail (PlayGui_sndLevelFail) package { import mx.core.*; public class PlayGui_sndLevelFail extends SoundAsset { } }//package
Section 265
//PlayGui_sndLevelWin (PlayGui_sndLevelWin) package { import mx.core.*; public class PlayGui_sndLevelWin extends SoundAsset { } }//package
Section 266
//PlayLevels (PlayLevels) package { public dynamic class PlayLevels { private var level4_Civil:uint;// = 2 private var level2_SizeX:uint;// = 560 private var level2_SizeY:uint;// = 560 private var level1_Width:uint;// = 62 private var level5_Height:uint;// = 35 private var level5_Data:Array; private var level15_SizeY:uint;// = 800 private var level9_Width:uint;// = 34 private var level14_Width:uint;// = 41 private var level12_Height:uint;// = 31 private var level15_SizeX:uint;// = 900 private var level2_Data:Array; private var level12_SizeX:uint;// = 840 private var level12_SizeY:uint;// = 620 private var level1_Civil:uint;// = 1 private var level9_Civil:uint;// = 7 private var level14_Civil:uint;// = 10 private var level7_SizeX:uint;// = 760 private var level7_SizeY:uint;// = 740 private var level11_Width:uint;// = 32 private var level3_Height:uint;// = 33 private var level6_Width:uint;// = 40 private var level13_Objects:Array; private var level15_Objects:Array; private var level11_Objects:Array; private var level14_Data:Array; private var level10_Height:uint;// = 31 private var level11_Civil:uint;// = 4 private var level11_Data:Array; private var level6_Civil:uint;// = 4 private var level4_SizeX:uint;// = 560 private var level4_SizeY:uint;// = 700 private var level9_Data:Array; private var level3_Width:uint;// = 30 private var level1_Height:uint;// = 50 private var level6_Data:Array; private var level8_Height:uint;// = 46 private var level15_Height:uint;// = 40 private var level14_SizeX:uint;// = 820 private var level14_SizeY:uint;// = 800 private var level3_Civil:uint;// = 2 private var level1_SizeX:uint;// = 1240 private var level1_SizeY:uint;// = 1000 private var level9_SizeX:uint;// = 680 private var level9_SizeY:uint;// = 680 private var level0_Width:uint;// = 66 private var level13_Width:uint;// = 34 private var level3_Data:Array; private var level8_Width:uint;// = 28 private var level0_Objects:Array; private var level2_Objects:Array; private var level4_Objects:Array; private var level6_Objects:Array; private var level8_Objects:Array; private var level6_Height:uint;// = 27 private var level13_Civil:uint;// = 6 private var level11_SizeY:uint;// = 700 private var level0_Civil:uint;// = 0 private var level15_Data:Array; private var level11_SizeX:uint;// = 640 private var level13_Height:uint;// = 41 private var level6_SizeY:uint;// = 540 private var level8_Civil:uint;// = 4 private var level6_SizeX:uint;// = 800 private var level0_Data:Array; private var level5_Width:uint;// = 49 private var level10_Width:uint;// = 37 private var level12_Data:Array; private var level4_Height:uint;// = 35 private var level10_Civil:uint;// = 4 private var level11_Height:uint;// = 35 private var level5_Civil:uint;// = 3 private var level3_SizeX:uint;// = 600 private var level3_SizeY:uint;// = 660 private var level15_Width:uint;// = 45 private var level2_Width:uint;// = 28 private var level7_Data:Array; private var level10_Objects:Array; private var level12_Objects:Array; private var level14_Objects:Array; private var level2_Height:uint;// = 28 private var level4_Data:Array; private var level13_SizeX:uint;// = 680 private var level2_Civil:uint;// = 3 private var level15_Civil:uint;// = 6 private var level0_SizeX:uint;// = 1320 private var level0_SizeY:uint;// = 980 private var level9_Height:uint;// = 34 private var level8_SizeX:uint;// = 560 private var level13_SizeY:uint;// = 820 private var level7_Width:uint;// = 38 private var level12_Width:uint;// = 42 private var level1_Data:Array; private var level8_SizeY:uint;// = 920 private var level12_Civil:uint;// = 5 private var level0_Height:uint;// = 49 private var level10_SizeX:uint;// = 740 private var level10_SizeY:uint;// = 620 private var level13_Data:Array; private var level7_Civil:uint;// = 4 private var level5_SizeX:uint;// = 980 private var level5_SizeY:uint;// = 700 private var level7_Height:uint;// = 37 private var level4_Width:uint;// = 28 private var level14_Height:uint;// = 40 private var level1_Objects:Array; private var level3_Objects:Array; private var level5_Objects:Array; private var level10_Data:Array; private var level7_Objects:Array; private var level9_Objects:Array; private var level8_Data:Array; public function PlayLevels(){ level0_Data = [[28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28], [15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 15, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 15, 28, 28, 28], [15, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 28, 28], [15, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 28, 28], [15, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 15, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 25, 25, 25, 25, 25, 25, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 27, 25, 25, 25, 25, 25, 27, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 25, 25, 25, 25, 25, 25, 25, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 25, 25, 25, 25, 25, 25, 25, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 27, 25, 25, 25, 25, 25, 27, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 27, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 25, 25, 25, 25, 25, 25, 25, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 25, 25, 25, 25, 25, 25, 25, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 27, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 27, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 27, 25, 25, 25, 25, 25, 27, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 25, 25, 25, 25, 25, 25, 25, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 25, 25, 25, 25, 25, 25, 25, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 27, 25, 25, 27, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 25, 25, 25, 25, 27, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 28, 28], [15, 28, 27, 25, 25, 25, 25, 25, 27, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 28, 27, 25, 25, 27, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 25, 25, 25, 25, 27, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 28, 28, 28, 28, 28, 28, 28, 28, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 15, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 15, 28, 28, 28], [15, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 28, 28], [15, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 28, 28], [15, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 15, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 15, 28, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 25, 25, 28, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 28, 15, 28, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 28, 15, 28, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 28, 15, 28, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 27, 25, 25, 25, 27, 28, 27, 25, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 15, 28, 28, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 25, 25, 25, 25, 27, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 25, 25, 25, 25, 27, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 25, 25, 25, 25, 27, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 25, 25, 25, 25, 25, 25, 27, 28, 27, 25, 25, 25, 25, 25, 25, 25, 25, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28], [15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 28, 28, 28], [28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28], [28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28]]; level0_Objects = [[42, 15, 10], [42, 15, 15]]; level1_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 12, 12, 21, 21, 21, 21, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 21, 12, 12, 21, 26, 26, 26, 21, 26, 26, 26, 21, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 26, 26, 26, 21, 26, 26, 26, 21, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 26, 26, 26, 21, 26, 26, 26, 21, 26, 26, 26, 21, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 12, 21, 61, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 12, 12, 12, 21, 21, 21, 12, 12, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 12, 21, 26, 26, 26, 21, 26, 26, 26, 21, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 26, 26, 26, 21, 26, 26, 26, 21, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 26, 26, 26, 21, 26, 26, 26, 21, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 61, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 12, 12, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 21, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 61, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 21, 26, 26, 26, 21, 26, 26, 26, 21, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 61, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 21, 26, 26, 26, 21, 26, 26, 26, 21, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 21, 26, 26, 26, 21, 26, 26, 26, 21, 26, 26, 26, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level1_Objects = [[32, 6, 5], [32, 9, 5], [33, 10, 5], [34, 11, 5], [35, 12, 5], [34, 13, 5], [36, 14, 5], [32, 15, 5], [38, 4, 12], [38, 5, 12], [38, 5, 13], [38, 5, 15], [39, 16, 11], [39, 16, 12], [39, 16, 14], [38, 5, 7], [38, 5, 6], [38, 23, 13], [38, 23, 14], [38, 23, 15], [38, 23, 17], [38, 23, 18], [39, 28, 13], [39, 28, 16], [31, 19, 5], [32, 21, 5], [37, 24, 5], [37, 26, 5], [32, 28, 5], [32, 31, 16], [32, 36, 16], [32, 41, 16], [38, 30, 21], [38, 30, 22], [39, 42, 19], [39, 42, 20], [39, 42, 21], [35, 47, 13], [34, 48, 13], [35, 49, 13], [33, 46, 13], [36, 50, 13], [32, 44, 13], [32, 51, 13], [39, 52, 15], [39, 52, 16], [39, 52, 18], [39, 52, 19], [39, 52, 20], [38, 44, 15], [38, 44, 16], [38, 44, 20], [32, 46, 25], [32, 50, 31], [33, 42, 33], [36, 44, 33], [34, 43, 33], [32, 40, 33], [32, 45, 33], [32, 52, 33], [37, 51, 33], [39, 52, 37], [39, 52, 38], [39, 52, 40], [38, 40, 35], [38, 40, 34], [38, 40, 37], [38, 18, 40], [38, 18, 39], [38, 18, 42], [39, 30, 39], [39, 30, 41], [39, 30, 42], [39, 30, 31], [39, 30, 34], [39, 30, 35], [38, 18, 30], [38, 18, 35], [38, 18, 36], [33, 21, 29], [34, 22, 29], [36, 23, 29], [33, 26, 29], [35, 27, 29], [36, 28, 29], [32, 29, 29], [32, 24, 29], [32, 19, 29], [37, 13, 39], [32, 15, 39], [32, 7, 39], [38, 7, 30], [38, 7, 31], [38, 7, 33], [38, 7, 34], [38, 7, 36], [39, 12, 34], [39, 12, 35], [39, 16, 35], [39, 16, 29], [32, 8, 29], [32, 12, 29], [32, 12, 36], [32, 7, 35], [32, 18, 41], [32, 30, 40], [33, 33, 5], [35, 34, 5], [35, 35, 5], [35, 36, 5], [34, 37, 5], [36, 38, 5], [32, 39, 5], [32, 31, 5], [32, 24, 23], [42, 51, 17], [54, 36, 11], [54, 32, 11], [54, 40, 11], [55, 50, 41], [55, 46, 41], [55, 42, 41], [53, 20, 31], [53, 24, 31], [53, 28, 31], [56, 34, 46], [56, 36, 47], [43, 35, 41], [43, 8, 35], [41, 7, 7], [45, 10, 39], [46, 10, 41]]; level2_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 61, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 61, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 12, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 12, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 24, 24, 24, 24, 12, 12, 12, 12, 12, 12, 24, 24, 24, 12, 12, 12, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 61, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level2_Objects = [[41, 13, 7], [42, 12, 15], [42, 14, 23], [42, 18, 8], [43, 22, 15], [53, 10, 22], [53, 10, 23], [31, 11, 13], [32, 5, 13], [32, 14, 13], [32, 20, 21], [32, 10, 21], [32, 15, 21], [32, 25, 5], [33, 9, 5], [34, 10, 5], [35, 11, 5], [35, 12, 5], [36, 13, 5], [32, 14, 5], [32, 8, 5], [38, 5, 6], [38, 5, 7], [38, 5, 9], [39, 25, 7], [39, 25, 8], [38, 16, 7], [38, 16, 8], [37, 19, 5], [31, 21, 5], [32, 18, 5], [33, 17, 13], [35, 19, 13], [36, 20, 13], [35, 18, 13], [38, 16, 15], [38, 16, 16], [39, 25, 15], [39, 25, 17]]; level3_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 61, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 12, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 12, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0], [0, 0, 0, 12, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 61, 21, 12, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0], [0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level3_Objects = [[42, 10, 21], [42, 6, 8], [43, 16, 20], [43, 11, 7], [43, 5, 15], [31, 13, 14], [31, 5, 5], [32, 20, 24], [32, 7, 19], [32, 7, 23], [32, 18, 14], [33, 8, 5], [35, 9, 5], [35, 10, 5], [34, 11, 5], [36, 12, 5], [32, 13, 5], [32, 7, 5], [38, 4, 6], [38, 4, 7], [39, 18, 6], [39, 18, 7], [39, 18, 8], [39, 18, 10], [38, 4, 9], [38, 4, 10], [37, 16, 5], [33, 22, 24], [34, 23, 24], [36, 24, 24], [39, 27, 25], [39, 27, 26], [38, 4, 18], [38, 4, 20], [38, 4, 19], [38, 4, 24], [38, 4, 25], [38, 4, 27], [39, 18, 17], [39, 18, 18], [39, 18, 19], [39, 18, 22], [39, 18, 23], [38, 14, 19], [38, 14, 20], [38, 14, 21], [53, 22, 25], [53, 24, 25], [41, 26, 27]]; level4_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 29, 29, 29, 29, 29, 29, 12, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 29, 29, 29, 29, 29, 29, 12, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 29, 29, 29, 29, 29, 29, 12, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 29, 29, 29, 29, 29, 29, 12, 0], [0, 0, 12, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 21, 12, 29, 29, 29, 29, 29, 29, 12, 0], [0, 0, 12, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 12, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 21, 12, 12, 12, 12, 12, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 61, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 12, 12, 12, 12, 12, 21, 21, 21, 12, 12, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 61, 21, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level4_Objects = [[51, 20, 3], [51, 22, 3], [52, 24, 3], [32, 25, 5], [42, 23, 5], [43, 11, 4], [43, 11, 15], [41, 12, 10], [53, 9, 9], [53, 9, 10], [53, 21, 10], [43, 6, 30], [43, 13, 27], [42, 3, 30], [31, 9, 24], [32, 11, 24], [32, 20, 9], [33, 4, 3], [34, 5, 3], [35, 6, 3], [35, 7, 3], [36, 8, 3], [32, 3, 3], [32, 9, 3], [38, 3, 6], [38, 3, 7], [38, 3, 10], [38, 3, 11], [38, 3, 14], [38, 3, 15], [39, 18, 22], [39, 18, 21], [39, 18, 25], [38, 12, 20], [38, 12, 21], [39, 11, 29], [39, 11, 30], [38, 3, 29], [32, 3, 28], [32, 11, 31], [32, 18, 26], [32, 18, 19], [32, 6, 8], [37, 13, 19], [33, 5, 28], [36, 6, 28], [33, 9, 14], [35, 10, 14], [34, 11, 14], [36, 12, 14]]; level5_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 12, 23, 23, 23, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 23, 23, 23, 12, 12, 12, 12, 12, 12, 23, 23, 23, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 24, 24, 24, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 24, 24, 24, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 24, 24, 24, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 24, 24, 24, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 24, 24, 24, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 12, 24, 24, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level5_Objects = [[42, 21, 18], [42, 20, 19], [43, 13, 18], [43, 6, 11], [43, 6, 14], [43, 10, 19], [53, 11, 13], [53, 9, 13], [53, 13, 13], [41, 9, 12], [24, 37, 27], [42, 41, 23], [54, 21, 23], [54, 41, 18], [43, 31, 23], [43, 31, 23], [31, 22, 22], [31, 37, 22], [31, 10, 6], [32, 5, 6], [32, 5, 20], [32, 14, 22], [32, 27, 22], [32, 40, 28], [32, 38, 22], [32, 42, 17], [38, 5, 11], [38, 5, 12], [38, 5, 16], [38, 5, 17], [38, 5, 18], [38, 5, 10], [38, 5, 7], [38, 29, 27], [38, 29, 26], [38, 29, 23], [39, 38, 24], [39, 38, 25], [39, 38, 27], [32, 24, 17], [37, 26, 17], [33, 30, 17], [35, 31, 17], [35, 32, 17], [35, 33, 17], [34, 34, 17], [35, 35, 17], [35, 36, 17], [34, 37, 17], [36, 38, 17], [32, 29, 17], [33, 12, 17], [35, 13, 17], [36, 14, 17], [37, 16, 17], [32, 10, 17], [32, 18, 17], [38, 13, 25], [38, 13, 24], [39, 27, 24], [39, 27, 25], [39, 27, 27], [32, 19, 25]]; level6_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 12, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 12, 21, 21, 12, 12, 13, 13, 13, 22, 22, 13, 13, 13, 13, 13, 22, 22, 13, 13, 13, 13, 22, 22, 22, 13, 13, 13, 13, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 13, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 13, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 13, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 13, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 13, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 13, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 13, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 22, 22, 13, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level6_Objects = [[31, 5, 4], [32, 4, 9], [32, 10, 17], [32, 11, 9], [38, 4, 11], [38, 4, 12], [39, 8, 10], [39, 8, 11], [39, 8, 13], [38, 4, 18], [38, 4, 19], [39, 15, 11], [39, 15, 9], [38, 10, 11], [38, 10, 12], [38, 17, 10], [38, 17, 12], [39, 28, 9], [39, 28, 10], [33, 11, 4], [34, 12, 4], [35, 13, 4], [34, 14, 4], [36, 15, 4], [32, 10, 4], [32, 16, 4], [39, 22, 5], [38, 24, 4], [38, 24, 6], [32, 24, 5], [32, 22, 4], [33, 15, 17], [34, 16, 17], [35, 18, 17], [35, 17, 17], [36, 19, 17], [32, 14, 17], [32, 20, 17], [31, 25, 17], [37, 27, 17], [37, 29, 17], [32, 24, 17], [32, 33, 17], [32, 7, 4], [32, 22, 9], [32, 24, 9], [32, 24, 14], [32, 28, 11], [32, 30, 9], [38, 30, 11], [38, 30, 12], [39, 33, 10], [39, 33, 11], [39, 33, 13], [39, 33, 5], [39, 33, 4], [32, 30, 4], [32, 28, 4], [41, 9, 20], [42, 13, 12], [42, 18, 9], [42, 27, 13], [42, 25, 18], [44, 6, 12], [43, 5, 6], [43, 29, 19], [44, 17, 19], [43, 26, 5], [53, 7, 18], [53, 8, 18], [55, 10, 18], [53, 21, 9], [53, 22, 10], [55, 31, 9]]; level7_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 13, 13, 22, 22, 13, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 13, 22, 22, 13, 13, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level7_Objects = [[32, 8, 14], [32, 12, 14], [33, 9, 14], [35, 10, 14], [36, 11, 14], [32, 4, 4], [33, 5, 4], [34, 6, 4], [35, 7, 4], [35, 8, 4], [34, 9, 4], [36, 10, 4], [32, 11, 4], [31, 19, 23], [32, 20, 23], [32, 27, 8], [37, 29, 8], [42, 9, 10], [42, 26, 9], [42, 28, 28], [42, 9, 28], [44, 5, 9], [44, 28, 4], [44, 33, 29], [44, 10, 32], [43, 29, 21], [55, 20, 17], [54, 18, 17], [41, 19, 20], [35, 20, 4], [35, 21, 4], [34, 22, 4], [35, 23, 4], [36, 24, 4], [32, 25, 4], [32, 18, 4], [33, 19, 4], [39, 34, 5], [39, 34, 6], [39, 34, 11], [39, 34, 12], [39, 34, 9], [39, 34, 17], [39, 34, 19], [39, 34, 23], [39, 34, 31], [39, 34, 30], [39, 34, 24], [39, 34, 18], [38, 4, 10], [38, 4, 11], [38, 4, 16], [38, 4, 17], [38, 4, 18], [38, 4, 24], [38, 4, 29], [38, 4, 30], [38, 14, 27], [38, 14, 28], [38, 23, 18], [38, 14, 12], [39, 6, 12], [39, 6, 7], [39, 15, 21], [39, 15, 20], [39, 15, 17], [39, 24, 27], [39, 24, 28], [39, 24, 30], [39, 24, 29], [38, 32, 26], [38, 32, 27], [39, 6, 26], [39, 6, 27], [32, 8, 22], [33, 14, 23], [35, 15, 23], [36, 16, 23], [32, 17, 23], [32, 18, 32], [32, 14, 32], [44, 23, 13], [43, 11, 15], [43, 22, 28], [53, 9, 16], [54, 28, 10], [55, 11, 10], [55, 27, 28], [54, 11, 28], [54, 23, 24], [53, 27, 15], [32, 4, 23]]; level8_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 14, 29, 29, 29, 29, 29, 29, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 14, 29, 29, 29, 29, 29, 29, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 14, 29, 29, 29, 29, 29, 29, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 14, 29, 29, 29, 29, 29, 29, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 13, 13, 29, 29, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 13, 13, 13, 22, 22, 13, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 22, 22, 13, 13, 13, 13, 13, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 13, 13, 23, 23, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 13, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 23, 23, 13, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 13, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level8_Objects = [[51, 4, 5], [51, 6, 5], [52, 8, 5], [41, 5, 19], [42, 9, 7], [42, 18, 11], [42, 14, 41], [42, 10, 35], [44, 9, 11], [44, 20, 19], [44, 5, 23], [43, 12, 17], [44, 10, 41], [43, 19, 36], [43, 12, 28], [31, 10, 15], [32, 12, 15], [32, 4, 10], [32, 21, 15], [32, 18, 15], [32, 8, 27], [32, 5, 25], [31, 5, 27], [32, 15, 34], [32, 15, 38], [33, 11, 32], [34, 12, 32], [36, 13, 32], [38, 9, 33], [38, 9, 32], [39, 15, 32], [38, 9, 36], [38, 9, 35], [39, 21, 34], [39, 21, 35], [39, 21, 39], [39, 22, 40], [39, 21, 40], [39, 21, 41], [39, 21, 21], [39, 21, 22], [39, 21, 20], [39, 21, 17], [38, 9, 17], [38, 9, 18], [33, 11, 10], [34, 12, 10], [35, 13, 10], [36, 14, 10], [32, 15, 10], [33, 15, 27], [35, 16, 27], [35, 17, 27], [36, 18, 27], [32, 19, 27], [32, 14, 27], [37, 14, 22], [32, 16, 22], [37, 11, 40], [32, 8, 40], [38, 4, 41], [38, 4, 42], [39, 15, 40], [39, 15, 41], [32, 4, 32], [32, 7, 38], [38, 17, 38], [38, 17, 39], [38, 17, 32], [38, 17, 33], [55, 4, 15], [56, 6, 15], [54, 7, 15], [53, 5, 6], [53, 20, 11], [53, 13, 27], [54, 13, 22], [54, 12, 33], [55, 20, 27], [53, 16, 15]]; level9_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 27, 28, 27, 28, 15, 28, 27, 28, 27, 28, 15, 28, 27, 28, 27, 28, 15, 28, 27, 28, 27, 28, 15, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 27, 28, 27, 28, 15, 28, 27, 28, 27, 28, 15, 28, 27, 28, 27, 28, 15, 28, 27, 28, 27, 28, 15, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 13, 28, 28, 28, 13, 13, 13, 28, 28, 28, 13, 13, 13, 28, 28, 28, 13, 13, 13, 28, 28, 28, 13, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 13, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 13, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 13, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level9_Objects = [[42, 11, 16], [42, 14, 16], [42, 23, 15], [42, 9, 5], [42, 11, 6], [42, 21, 7], [42, 23, 8], [53, 10, 26], [53, 10, 28], [53, 12, 28], [54, 16, 15], [55, 18, 15], [53, 20, 15], [53, 9, 15], [53, 25, 6], [53, 19, 6], [55, 13, 6], [54, 7, 6], [44, 24, 22], [44, 11, 23], [43, 6, 18], [43, 11, 12], [43, 23, 12], [44, 26, 16], [31, 19, 21], [32, 21, 21], [32, 17, 11], [32, 22, 11], [32, 27, 11], [32, 10, 11], [32, 15, 11], [32, 5, 11], [38, 5, 14], [38, 5, 15], [38, 5, 20], [38, 5, 21], [39, 27, 17], [39, 27, 19], [39, 27, 20], [39, 27, 21], [39, 27, 13], [39, 27, 14], [39, 17, 27], [39, 17, 28], [32, 13, 21], [33, 10, 21], [35, 11, 21], [36, 12, 21], [33, 11, 26], [34, 12, 26], [36, 13, 26], [32, 14, 26], [41, 12, 27]]; level10_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0], [0, 0, 0, 0, 14, 29, 29, 29, 29, 14, 29, 29, 29, 29, 14, 23, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 14, 29, 29, 29, 29, 14, 29, 29, 29, 29, 14, 23, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 14, 29, 29, 29, 29, 14, 29, 29, 29, 29, 14, 23, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 14, 29, 29, 29, 29, 14, 29, 29, 29, 29, 14, 23, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 14, 14, 29, 29, 14, 14, 14, 29, 29, 14, 14, 23, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 23, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 13, 23, 23, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 12, 12, 24, 24, 24, 12, 12, 12, 12, 12, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 28, 28, 28, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 28, 27, 28, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 28, 28, 28, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 28, 27, 28, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 28, 28, 28, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 28, 27, 28, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 28, 28, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 12, 12, 12, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 23, 23, 23, 23, 23, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level10_Objects = [[51, 6, 5], [52, 8, 5], [52, 10, 5], [51, 12, 5], [41, 12, 15], [42, 20, 7], [42, 25, 5], [42, 13, 6], [42, 5, 6], [44, 20, 12], [44, 32, 5], [44, 5, 18], [43, 21, 18], [53, 12, 18], [43, 17, 22], [54, 16, 18], [55, 33, 13], [53, 8, 23], [53, 16, 13], [53, 14, 26], [43, 9, 11], [31, 18, 22], [32, 20, 17], [32, 15, 12], [32, 18, 12], [32, 28, 5], [32, 28, 12], [32, 9, 23], [32, 5, 15], [32, 9, 15], [32, 7, 5], [32, 11, 5], [32, 5, 10], [32, 8, 10], [32, 10, 10], [32, 13, 10], [31, 7, 23], [33, 14, 22], [34, 15, 22], [36, 16, 22], [33, 22, 12], [34, 23, 12], [35, 24, 12], [34, 25, 12], [36, 26, 12], [33, 16, 5], [36, 17, 5], [32, 19, 5], [37, 23, 5], [38, 23, 7], [38, 23, 8], [39, 34, 7], [39, 34, 8], [39, 35, 11], [39, 34, 11], [39, 34, 12], [39, 34, 5], [38, 30, 10], [39, 24, 19], [39, 24, 18], [39, 24, 22], [39, 24, 23], [38, 5, 24], [38, 5, 25], [38, 5, 19], [39, 9, 17], [39, 9, 16], [38, 5, 11], [39, 13, 11], [38, 15, 18], [32, 15, 17], [31, 17, 17]]; level11_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 12, 0], [0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 12, 0], [0, 0, 15, 28, 27, 28, 28, 27, 28, 28, 27, 28, 28, 27, 28, 28, 15, 28, 28, 27, 28, 28, 27, 28, 28, 27, 28, 28, 27, 28, 12, 0], [0, 0, 15, 28, 27, 28, 28, 27, 28, 28, 27, 28, 28, 27, 28, 28, 15, 28, 28, 27, 28, 28, 27, 28, 28, 27, 28, 28, 27, 28, 12, 0], [0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 12, 0], [0, 0, 12, 12, 24, 24, 24, 12, 12, 12, 12, 15, 15, 28, 28, 15, 15, 15, 28, 28, 15, 15, 12, 12, 12, 12, 24, 24, 24, 12, 12, 0], [0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 12, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 28, 27, 28, 27, 28, 15, 28, 27, 28, 27, 28, 12, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 12, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 28, 27, 28, 27, 28, 15, 28, 27, 28, 27, 28, 12, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 12, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 12, 12, 12, 12, 12, 15, 12, 12, 12, 12, 12, 12, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 24, 24, 12, 0], [0, 0, 12, 12, 12, 12, 21, 21, 12, 12, 12, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 12, 12, 12, 21, 21, 12, 12, 12, 12, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 12, 24, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 12, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 12, 24, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 12, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 12, 24, 24, 24, 24, 24, 24, 12, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 12, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 12, 12, 12, 12, 24, 24, 12, 12, 12, 24, 24, 12, 12, 12, 12, 21, 21, 21, 21, 12, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0], [0, 0, 0, 0, 12, 12, 21, 21, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level11_Objects = [[41, 10, 31], [42, 12, 17], [42, 22, 19], [42, 12, 11], [42, 21, 11], [44, 4, 13], [44, 28, 13], [43, 24, 24], [43, 11, 24], [43, 27, 20], [43, 6, 6], [43, 20, 6], [53, 9, 28], [53, 11, 28], [53, 10, 28], [55, 29, 15], [55, 3, 15], [32, 5, 28], [32, 12, 23], [32, 20, 23], [31, 16, 23], [32, 5, 19], [32, 27, 19], [32, 25, 10], [32, 7, 10], [38, 5, 22], [38, 5, 23], [39, 27, 24], [39, 27, 25], [39, 27, 23], [39, 11, 30], [39, 11, 31], [37, 19, 16], [32, 20, 16], [32, 15, 16], [32, 10, 19]]; level12_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 27, 27, 28, 28, 27, 27, 28, 28, 27, 27, 28, 28, 15, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 12, 12, 12, 12, 0], [0, 0, 0, 0, 15, 15, 15, 15, 28, 28, 15, 15, 15, 15, 28, 27, 28, 15, 15, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 24, 24, 24, 24, 12, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 27, 28, 28, 15, 21, 21, 21, 21, 21, 12, 12, 24, 24, 24, 12, 12, 21, 21, 21, 21, 21, 24, 24, 24, 24, 12, 0], [0, 0, 0, 0, 15, 28, 27, 28, 28, 28, 27, 28, 15, 28, 28, 28, 28, 28, 15, 21, 21, 21, 21, 21, 12, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 24, 24, 24, 24, 12, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 15, 21, 21, 21, 21, 21, 12, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 24, 24, 24, 24, 12, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 27, 28, 28, 15, 21, 21, 21, 21, 21, 12, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 12, 12, 12, 12, 12, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 27, 28, 28, 15, 21, 21, 21, 21, 21, 12, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 27, 28, 28, 28, 27, 28, 12, 12, 28, 28, 28, 12, 12, 21, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 12, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 12, 24, 24, 12, 12, 12, 12, 12, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 12, 12, 12, 12, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 14, 14, 29, 29, 14, 14, 14, 14, 14, 14, 14, 12, 12, 12, 12, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 0, 0, 0, 0, 0, 0, 0, 0, 14, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 24, 24, 12, 0, 0, 0, 0, 0, 0, 0, 0, 14, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 14, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level12_Objects = [[41, 25, 12], [42, 8, 21], [42, 11, 19], [42, 10, 24], [42, 38, 10], [29, 36, 27], [33, 36, 27], [52, 27, 24], [51, 29, 24], [51, 31, 24], [51, 22, 24], [32, 35, 8], [32, 35, 5], [33, 21, 5], [35, 22, 5], [35, 23, 5], [34, 24, 5], [36, 25, 5], [32, 20, 5], [32, 26, 5], [38, 19, 7], [38, 19, 8], [38, 19, 10], [38, 19, 11], [38, 19, 12], [38, 19, 15], [39, 35, 6], [39, 35, 7], [39, 35, 14], [39, 35, 15], [39, 35, 16], [39, 35, 18], [39, 35, 19], [32, 35, 17], [32, 35, 13], [32, 35, 20], [32, 29, 9], [32, 25, 11], [32, 8, 18], [31, 9, 18], [37, 30, 16], [38, 29, 18], [38, 29, 19], [38, 29, 20], [32, 29, 16], [33, 25, 16], [36, 26, 16], [31, 27, 16], [32, 24, 16], [32, 19, 19], [54, 19, 29], [45, 20, 20], [44, 33, 10], [43, 30, 17], [43, 21, 10], [45, 7, 13], [43, 11, 6], [53, 29, 12], [53, 28, 12], [53, 27, 12], [54, 13, 10], [56, 15, 25], [56, 17, 24], [55, 17, 24], [55, 17, 11], [55, 27, 5], [42, 30, 25], [57, 31, 5]]; level13_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0], [0, 0, 0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 14, 29, 29, 29, 29, 29, 29, 14, 0, 0], [0, 0, 0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 29, 29, 29, 29, 29, 29, 29, 14, 0, 0], [0, 0, 0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 29, 29, 29, 29, 29, 29, 29, 14, 0, 0], [0, 0, 0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 15, 29, 29, 29, 29, 29, 29, 14, 0, 0], [0, 0, 0, 0, 0, 13, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 15, 15, 28, 28, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 0, 0], [0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 22, 22, 13, 13, 23, 23, 23, 23, 15, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 15, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 15, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 15, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 15, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 28, 28, 28, 28, 15, 15, 15, 15, 15, 28, 28, 15, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 15, 15, 28, 28, 28, 28, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 15, 15, 28, 28, 28, 15, 15, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, 15, 0, 0], [0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 28, 28, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 28, 28, 15, 15, 15, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 15, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 15, 28, 28, 28, 28, 15, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 15, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 15, 28, 28, 28, 28, 15, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 15, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 15, 28, 28, 28, 28, 15, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 15, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 15, 28, 28, 28, 28, 15, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 28, 28, 28, 28, 15, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level13_Objects = [[13, 20, 15], [41, 16, 31], [55, 19, 30], [53, 22, 30], [53, 23, 30], [53, 24, 30], [42, 8, 7], [42, 27, 6], [42, 24, 11], [42, 19, 24], [42, 7, 18], [42, 30, 21], [45, 11, 36], [43, 15, 20], [44, 27, 17], [43, 10, 19], [43, 28, 11], [43, 11, 7], [43, 26, 22], [44, 15, 9], [32, 9, 11], [32, 12, 11], [32, 23, 5], [32, 19, 10], [32, 30, 16], [32, 25, 24], [32, 10, 30], [32, 7, 24], [32, 18, 16], [32, 29, 30], [32, 18, 19], [31, 7, 5], [33, 15, 5], [34, 16, 5], [35, 17, 5], [34, 18, 5], [36, 19, 5], [32, 20, 5], [32, 14, 5], [38, 6, 11], [38, 6, 12], [38, 6, 7], [38, 6, 6], [39, 12, 5], [39, 12, 7], [39, 12, 8], [32, 12, 6], [32, 6, 5], [39, 17, 11], [39, 17, 13], [37, 8, 16], [32, 10, 16], [38, 6, 19], [38, 6, 20], [38, 6, 17], [39, 11, 18], [39, 11, 19], [39, 11, 20], [39, 11, 22], [38, 18, 23], [38, 18, 24], [38, 18, 26], [39, 23, 22], [39, 30, 23], [39, 30, 24], [37, 28, 21], [32, 27, 21], [53, 29, 26], [55, 29, 11], [54, 7, 12], [53, 18, 6], [53, 29, 6], [52, 29, 5], [51, 25, 5], [51, 27, 5]]; level14_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 21, 21, 21, 21, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 21, 21, 21, 21, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 15, 28, 27, 27, 28, 28, 27, 28, 28, 27, 28, 28, 27, 28, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 15, 28, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 15, 28, 27, 27, 28, 15, 15, 15, 15, 15, 15, 15, 15, 15, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 12, 12, 12, 15, 28, 27, 27, 28, 28, 27, 27, 28, 28, 27, 27, 28, 15, 21, 21, 21, 12, 12, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 12, 12, 12, 15, 28, 27, 27, 28, 28, 27, 27, 28, 28, 27, 27, 28, 15, 21, 21, 21, 12, 12, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 15, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 21, 12, 12, 12, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 24, 24, 24, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 24, 24, 24, 12, 12, 12, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 24, 24, 24, 24, 12, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level14_Objects = [[42, 26, 19], [42, 30, 20], [42, 23, 15], [42, 29, 14], [42, 21, 20], [42, 34, 14], [42, 36, 25], [42, 23, 25], [42, 30, 28], [42, 33, 7], [45, 22, 28], [44, 29, 26], [44, 13, 20], [43, 14, 28], [32, 14, 14], [32, 16, 21], [32, 16, 31], [32, 20, 31], [32, 32, 31], [32, 36, 31], [32, 37, 21], [32, 33, 11], [33, 14, 6], [34, 15, 6], [35, 16, 6], [36, 17, 6], [38, 11, 8], [38, 12, 7], [38, 12, 8], [38, 12, 9], [32, 13, 6], [32, 19, 6], [33, 24, 6], [35, 25, 6], [35, 26, 6], [35, 27, 6], [34, 28, 6], [36, 29, 6], [32, 31, 6], [32, 22, 6], [39, 31, 8], [39, 31, 7], [39, 31, 10], [38, 12, 17], [38, 12, 18], [38, 12, 22], [38, 12, 23], [38, 12, 24], [38, 12, 26], [38, 12, 29], [38, 12, 30], [39, 37, 23], [39, 37, 24], [39, 37, 28], [39, 37, 27], [39, 37, 15], [39, 37, 14], [39, 37, 11], [39, 37, 10], [39, 37, 9], [32, 24, 18], [31, 28, 18], [39, 31, 18], [39, 31, 19], [39, 31, 21], [38, 20, 15], [38, 20, 14], [38, 20, 19], [38, 20, 18], [38, 20, 21], [32, 30, 18], [53, 17, 34], [53, 19, 34], [54, 33, 34], [55, 35, 34], [55, 36, 21], [53, 34, 11], [53, 23, 7], [53, 25, 7], [55, 27, 7], [54, 21, 7], [41, 30, 8], [31, 13, 14], [53, 12, 14], [55, 18, 21], [32, 16, 33], [32, 36, 33]]; level15_Data = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 13, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, 22, 22, 22, 13, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 13, 23, 23, 23, 13, 13, 13, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 13, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 0, 0], [0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; level15_Objects = [[42, 11, 24], [42, 8, 30], [46, 38, 6], [42, 35, 16], [42, 32, 29], [42, 31, 35], [45, 13, 7], [45, 13, 19], [45, 13, 34], [45, 26, 18], [43, 19, 19], [44, 4, 23], [44, 36, 32], [44, 39, 20], [43, 26, 8], [32, 6, 11], [32, 6, 16], [32, 6, 23], [32, 23, 27], [32, 29, 27], [32, 35, 13], [32, 33, 6], [32, 24, 6], [32, 30, 13], [32, 37, 27], [33, 9, 18], [34, 10, 18], [35, 11, 18], [35, 12, 18], [35, 13, 18], [34, 14, 18], [36, 15, 18], [32, 8, 18], [32, 16, 18], [31, 5, 6], [32, 7, 6], [38, 3, 8], [38, 3, 9], [38, 3, 6], [39, 22, 7], [39, 22, 9], [39, 22, 10], [38, 18, 10], [38, 18, 16], [38, 18, 15], [39, 22, 15], [39, 22, 16], [39, 22, 18], [39, 22, 19], [39, 22, 20], [39, 22, 22], [38, 18, 29], [38, 18, 30], [38, 3, 33], [38, 3, 34], [39, 29, 29], [39, 29, 34], [39, 29, 35], [39, 41, 29], [39, 41, 30], [39, 41, 28], [39, 41, 33], [39, 41, 34], [39, 41, 21], [39, 41, 22], [39, 41, 14], [39, 41, 15], [39, 33, 15], [39, 33, 14], [39, 33, 18], [39, 41, 7], [39, 41, 8], [38, 24, 9], [38, 24, 8], [38, 24, 15], [38, 24, 16], [38, 24, 20], [38, 24, 21], [38, 31, 28], [38, 3, 19], [38, 3, 18], [38, 3, 14], [38, 3, 25], [38, 3, 26], [33, 9, 32], [34, 10, 32], [35, 11, 32], [35, 12, 32], [36, 13, 32], [32, 14, 32], [32, 7, 32], [37, 35, 27], [37, 28, 6], [37, 26, 6], [31, 36, 6], [31, 39, 27], [31, 14, 24], [32, 16, 24], [39, 16, 26], [39, 16, 27], [38, 8, 24], [32, 10, 11], [32, 8, 16], [39, 16, 12], [39, 16, 14], [33, 16, 6], [35, 17, 6], [35, 18, 6], [36, 19, 6], [32, 20, 6], [32, 14, 6], [53, 11, 11], [55, 13, 11], [55, 15, 11], [41, 12, 14], [53, 15, 13], [53, 15, 25], [54, 15, 28], [54, 41, 31], [55, 33, 27], [55, 22, 21], [55, 6, 32], [53, 18, 28], [53, 6, 6], [54, 8, 6], [55, 21, 6], [37, 32, 13]]; super(); } public function getLevelHeight(_arg1:uint):uint{ return (this[(("level" + _arg1) + "_Height")]); } public function getLevelData(_arg1:uint):Array{ return (this[(("level" + _arg1) + "_Data")]); } public function getLevelWidth(_arg1:uint):uint{ return (this[(("level" + _arg1) + "_Width")]); } public function getLevelCivil(_arg1:uint):uint{ return (this[(("level" + _arg1) + "_Civil")]); } public function getLevelSizeX(_arg1:uint):uint{ return (this[(("level" + _arg1) + "_SizeX")]); } public function getLevelSizeY(_arg1:uint):uint{ return (this[(("level" + _arg1) + "_SizeY")]); } public function getLevelObjects(_arg1:uint):Array{ return (this[(("level" + _arg1) + "_Objects")]); } } }//package
Section 267
//PlayObject (PlayObject) package { import org.flixel.*; public class PlayObject extends FlxGroup { public var mapGroup:FlxGroup; public var mapX:uint; public var mapY:uint; public function PlayObject(_arg1:uint, _arg2:uint){ addToMapGroup(_arg1, _arg2); } public function removeFromMapGroup():void{ if (mapGroup != null){ mapGroup.remove(this, true); mapGroup = null; }; } override public function kill():void{ removeFromMapGroup(); super.kill(); } public function addToMapGroup(_arg1:uint, _arg2:uint):void{ mapX = _arg1; mapY = _arg2; (StatePlay.levelMap[_arg2][_arg1] as FlxGroup).add(this); mapGroup = StatePlay.levelMap[_arg2][_arg1]; mapGroup.active = true; } } }//package
Section 268
//PlayPlayer (PlayPlayer) package { import org.flixel.*; public class PlayPlayer extends PlayObject { private var sndBombPlant:Class; private var msg:FlxText;// = null private var imgPlayer:Class; private var imgBody:Class; private var imgGrenade:Class; private var j:int; private var flagGun2:Boolean;// = false private var oldCoord:FlxPoint; public var sprSpec:FlxSprite; private var help2:FlxText; private var help3:FlxText; public var isPlastid:Boolean; private var flagBoom:Boolean;// = false private var timeTimer:Number; private var help1:FlxText; public var showDialog:Boolean;// = false private var SPEED:uint;// = 150 private var flagKino:Boolean;// = false private var fireTimer:Number; private var lastFrame:int; private var newCoord:FlxPoint; private var sndShoot:Class; private var cur:int; private var imgHead:Class; public var isGrenade:Boolean; private var sprGun:FlxSprite; private var sndWalk:Class; private var msgTimer:Number;// = 0 private var imgGun2:Class; private var imgGun3:Class; private var imgPlastid:Class; private var i:int; private var flagRadio:Boolean; public var isRadio:Boolean; private var coord:FlxPoint; private var radioObj:PlayBullet; private var imgGun:Class; public var sprBody:FlxSprite; private var imgRadio:Class; public function PlayPlayer(_arg1:uint, _arg2:uint){ sndWalk = PlayPlayer_sndWalk; sndShoot = PlayPlayer_sndShoot; sndBombPlant = PlayPlayer_sndBombPlant; imgBody = PlayPlayer_imgBody; imgPlayer = PlayPlayer_imgPlayer; imgGun = PlayPlayer_imgGun; imgGun2 = PlayPlayer_imgGun2; imgGun3 = PlayPlayer_imgGun3; imgHead = PlayPlayer_imgHead; imgGrenade = PlayPlayer_imgGrenade; imgPlastid = PlayPlayer_imgPlastid; imgRadio = PlayPlayer_imgRadio; super(_arg1, _arg2); coord = Main.getXY(_arg1, _arg2); newCoord = new FlxPoint(); oldCoord = new FlxPoint(_arg1, _arg2); sprBody = new FlxSprite(coord.x, coord.y); sprBody.loadGraphic(imgPlayer, true, true, 20, 40); sprBody.addAnimation("idle", [0]); sprBody.addAnimation("run", [0, 1], 8); add(sprBody); sprGun = new FlxSprite(coord.x, coord.y, imgGun); add(sprGun); FlxG.follow(sprBody, 5); FlxG.followBounds(0, 0, StatePlay.levelSizeX, StatePlay.levelSizeY); isGrenade = false; isPlastid = false; isRadio = false; sprSpec = null; fireTimer = 0; timeTimer = 0; flagRadio = false; cur = 0; msg = new FlxText((sprBody.x - 75), sprBody.y, 150, ""); msg.visible = false; msg.alignment = "center"; msg.size = 11; msg.color = 4294967040; StatePlay.high.add(msg); health = 75; } override public function hurt(_arg1:Number):void{ super.hurt(_arg1); i = 0; while (i < Math.round((_arg1 / Main.CONST_DAMAGE_BULLET))) { new PlayBlood((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight / 2)), (Math.random() * 360)); i++; }; } public function toTake(_arg1:int):void{ switch (_arg1){ case 1: sprSpec = new FlxSprite(sprBody.x, sprBody.y, imgGrenade); isGrenade = true; break; case 2: sprSpec = new FlxSprite(sprBody.x, sprBody.y); sprSpec.loadGraphic(imgPlastid, true, false, 10, 10); isPlastid = true; break; case 3: sprSpec = new FlxSprite(sprBody.x, sprBody.y); sprSpec.loadGraphic(imgRadio, true, false, 10, 15); isRadio = true; break; case 5: takeGunBomb(); break; }; add(sprSpec); } public function toThrow():void{ isGrenade = false; isPlastid = false; isRadio = false; if (sprSpec != null){ sprSpec.kill(); sprSpec = null; }; } public function takeGunDrob():void{ sprGun.loadGraphic(imgGun2); flagGun2 = true; fireTimer = 0; } public function medlen():void{ if (StatePlay.levelIndex != 1){ StatePlay.gui.msg.text = "SLOW MOTION"; FlxG.timeScale = 0.2; timeTimer = 0; }; } override public function update():void{ var _local2:FlxPoint; var _local3:PlayObject; var _local4:PlayObject; if (msg != null){ msg.x = ((sprBody.x + (sprBody.width / 2)) - 75); msg.y = (sprBody.y - 15); }; if (StatePlay.levelIndex == 1){ if ((((((mapX < 20)) && ((mapY > 29)))) && (!(flagKino)))){ StatePlay.startKino(); flagKino = true; }; if ((((((mapX <= 13)) && ((mapY > 35)))) && (!(flagBoom)))){ StatePlay.startBoom(); flagBoom = true; }; }; timeTimer = (timeTimer + FlxG.elapsed); if ((((timeTimer > 2)) && ((FlxG.timeScale < 1)))){ FlxG.timeScale = (FlxG.timeScale + 0.01); if (FlxG.timeScale > 1){ StatePlay.gui.msg.text = ""; FlxG.timeScale = 1; }; }; var _local1:Number = ((Math.atan2((FlxG.mouse.y - (sprBody.y + (sprBody.height / 2))), (FlxG.mouse.x - (sprBody.x + (sprBody.width / 2)))) * 180) / Math.PI); sprGun.angle = _local1; _local2 = FlxU.rotatePoint(8, 0, 0, 0, _local1); sprGun.x = (sprBody.x + _local2.x); sprGun.y = (((sprBody.y + (sprBody.height / 2)) + _local2.y) - 5); fireTimer = (fireTimer + FlxG.elapsed); if (!flagGun2){ if (((((FlxG.mouse.pressed()) && ((fireTimer > 0.1)))) && ((((FlxG.mouse.screenX < (FlxG.width - 100))) || ((FlxG.mouse.screenY > 30)))))){ FlxG.play(sndShoot, 0.8); _local1 = (_local1 + ((Math.random() * 8) - 4)); new PlayBullet(((sprBody.x + (sprBody.width / 2)) - 3), (sprBody.y + (sprBody.height / 2)), _local1, false); fireTimer = 0; }; } else { if (((((FlxG.mouse.pressed()) && ((fireTimer > 0.8)))) && ((((FlxG.mouse.screenX < (FlxG.width - 100))) || ((FlxG.mouse.screenY > 30)))))){ FlxG.play(sndShoot, 0.8); new PlayBulletPlayer(((sprBody.x + (sprBody.width / 2)) - 3), (sprBody.y + (sprBody.height / 2)), sprGun.angle, true, false); fireTimer = 0; }; }; if (FlxG.keys.justPressed("SPACE")){ if (flagRadio){ flagRadio = false; radioObj.radioBoom(); StatePlay.gui.msg.text = ""; } else { if ((((fireTimer > 0.4)) && ((FlxG.timeScale == 1)))){ if (((((isGrenade) && (isPlastid))) && (isRadio))){ FlxG.play(sndBombPlant); }; _local1 = (_local1 + ((Math.random() * 8) - 4)); if (isGrenade){ new PlayBullet((sprBody.x + (sprBody.width / 2)), (sprBody.y + (sprBody.height / 2)), _local1, true, false, false); }; if (isPlastid){ new PlayBullet((sprBody.x + (sprBody.width / 2)), (sprBody.y + (sprBody.height / 2)), _local1, false, true, false); }; if (isRadio){ if (StatePlay.levelIndex < 3){ StatePlay.gui.msg.text = "Press Space to Detonate"; }; radioObj = new PlayBullet((sprBody.x + (sprBody.width / 2)), (sprBody.y + (sprBody.height / 2)), _local1, false, false, true); flagRadio = true; }; toThrow(); fireTimer = -0.7; }; if (FlxG.timeScale < 1){ FlxG.timeScale = 1; fireTimer = 0; }; }; }; sprBody.velocity.x = 0; sprBody.velocity.y = 0; if (((FlxG.keys.D) || ((FlxG.keys.lastCode == 1074)))){ sprBody.velocity.x = SPEED; }; if (((FlxG.keys.A) || ((FlxG.keys.lastCode == 1092)))){ sprBody.velocity.x = -(SPEED); }; if (((FlxG.keys.S) || ((FlxG.keys.lastCode == 1099)))){ sprBody.velocity.y = SPEED; }; if (((FlxG.keys.W) || ((FlxG.keys.lastCode == 1094)))){ sprBody.velocity.y = -(SPEED); }; if (((!((sprBody.velocity.x == 0))) && (!((sprBody.velocity.y == 0))))){ sprBody.velocity.x = (sprBody.velocity.x * 0.7); sprBody.velocity.y = (sprBody.velocity.y * 0.7); }; if (StatePlay.boomStart){ msg.visible = true; msgTimer = (msgTimer + FlxG.elapsed); if (msgTimer < 3){ msg.text = "Emily!"; } else { if (msgTimer < 5){ msg.text = "Shit..."; } else { if (msgTimer < 7){ msg.text = "Think that you already dead..."; } else { if (msgTimer < 9){ msg.text = "... DUDE!"; } else { msg.text = ""; }; }; }; }; if ((((mapY > 39)) && ((msgTimer < 8)))){ sprBody.velocity.x = (sprBody.velocity.y = 0); }; }; if (showDialog){ msg.visible = true; msgTimer = (msgTimer + FlxG.elapsed); if (msgTimer < 2){ msg.text = "Emily! Finally i found you..."; } else { if (msgTimer < 5){ msg.text = "Hope this guy didn't touch you,"; } else { if (msgTimer < 8){ msg.text = "or I'll add few more bullets in his head!"; } else { msg.text = ""; showDialog = false; }; }; }; }; if (sprSpec != null){ sprSpec.y = (sprBody.y + 15); }; if (FlxG.mouse.x > (sprBody.x + (sprBody.frameWidth / 2))){ sprBody.facing = FlxSprite.RIGHT; sprGun.scale.y = 1; sprGun.x = (sprGun.x + 5); if (sprSpec != null){ sprSpec.x = (sprBody.x + 0); }; } else { sprBody.facing = FlxSprite.LEFT; sprGun.scale.y = -1; if (sprSpec != null){ sprSpec.x = (sprBody.x + 10); }; }; if (((!((sprBody.velocity.x == 0))) || (!((sprBody.velocity.y == 0))))){ sprBody.play("run"); if ((((sprBody.frame == 1)) && (!((lastFrame == sprBody.frame))))){ FlxG.play(sndWalk, 0.4); }; lastFrame = sprBody.frame; } else { sprBody.play("idle"); }; coord = Main.getMapXY((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight * 0.75))); if ((((((((coord.x > 0)) && ((coord.x < (StatePlay.levelWidth - 1))))) && ((coord.y > 0)))) && ((coord.y < (StatePlay.levelHeight - 1))))){ _local3 = Main.findObjectAsClass(StatePlay.levelMap[coord.y][coord.x], PlayCivilian); if (((!((_local3 == null))) && (((_local3 as PlayCivilian).isSaved == false)))){ if (((!(showDialog)) && (!((_local3 as PlayCivilian).showDialog)))){ StatePlay.gui.savedCivil(); (_local3 as PlayCivilian).saved(); }; }; i = coord.y; while (i <= coord.y) { j = coord.x; while (j <= coord.x) { _local4 = Main.findObjectAsClass(StatePlay.levelMap[i][j], PlayBullet2); if (_local4 != null){ if (!(_local4 as PlayBullet2).isBomb){ hurt(Main.CONST_DAMAGE_BULLET); _local4.kill(); } else { hurt(Main.CONST_DAMAGE_BOMB); _local4.kill(); }; }; j++; }; i++; }; if (((Main.findClass(StatePlay.levelMap[coord.y][(coord.x + 1)], PlayWall)) && ((sprBody.velocity.x > 0)))){ sprBody.velocity.x = 0; }; if (((Main.findClass(StatePlay.levelMap[coord.y][(coord.x - 1)], PlayWall)) && ((sprBody.velocity.x < 0)))){ sprBody.velocity.x = 0; }; if (((Main.findClass(StatePlay.levelMap[(coord.y + 1)][coord.x], PlayWall)) && ((sprBody.velocity.y > 0)))){ sprBody.velocity.y = 0; }; if (((Main.findClass(StatePlay.levelMap[(coord.y - 1)][coord.x], PlayWall)) && ((sprBody.velocity.y < 0)))){ sprBody.velocity.y = 0; }; newCoord.x = coord.x; newCoord.y = coord.y; if (((!((newCoord.x == oldCoord.x))) || (!((newCoord.y == oldCoord.y))))){ removeFromMapGroup(); addToMapGroup(newCoord.x, newCoord.y); oldCoord.x = newCoord.x; oldCoord.y = newCoord.y; }; }; super.update(); } override public function kill():void{ if (!dead){ if (msg != null){ msg.kill(); }; new PlayDeath(this.mapX, this.mapY, "player"); i = 0; while (i < 20) { new PlayBlood((sprBody.x + (sprBody.frameWidth / 2)), (sprBody.y + (sprBody.frameHeight / 2)), (Math.random() * 360)); i++; }; }; super.kill(); } public function takeGunBomb():void{ sprGun.loadGraphic(imgGun2); flagGun2 = true; fireTimer = 0; } } }//package
Section 269
//PlayPlayer_imgBody (PlayPlayer_imgBody) package { import mx.core.*; public class PlayPlayer_imgBody extends BitmapAsset { } }//package
Section 270
//PlayPlayer_imgGrenade (PlayPlayer_imgGrenade) package { import mx.core.*; public class PlayPlayer_imgGrenade extends BitmapAsset { } }//package
Section 271
//PlayPlayer_imgGun (PlayPlayer_imgGun) package { import mx.core.*; public class PlayPlayer_imgGun extends BitmapAsset { } }//package
Section 272
//PlayPlayer_imgGun2 (PlayPlayer_imgGun2) package { import mx.core.*; public class PlayPlayer_imgGun2 extends BitmapAsset { } }//package
Section 273
//PlayPlayer_imgGun3 (PlayPlayer_imgGun3) package { import mx.core.*; public class PlayPlayer_imgGun3 extends BitmapAsset { } }//package
Section 274
//PlayPlayer_imgHead (PlayPlayer_imgHead) package { import mx.core.*; public class PlayPlayer_imgHead extends BitmapAsset { } }//package
Section 275
//PlayPlayer_imgPlastid (PlayPlayer_imgPlastid) package { import mx.core.*; public class PlayPlayer_imgPlastid extends BitmapAsset { } }//package
Section 276
//PlayPlayer_imgPlayer (PlayPlayer_imgPlayer) package { import mx.core.*; public class PlayPlayer_imgPlayer extends BitmapAsset { } }//package
Section 277
//PlayPlayer_imgRadio (PlayPlayer_imgRadio) package { import mx.core.*; public class PlayPlayer_imgRadio extends BitmapAsset { } }//package
Section 278
//PlayPlayer_sndBombPlant (PlayPlayer_sndBombPlant) package { import mx.core.*; public class PlayPlayer_sndBombPlant extends SoundAsset { } }//package
Section 279
//PlayPlayer_sndShoot (PlayPlayer_sndShoot) package { import mx.core.*; public class PlayPlayer_sndShoot extends SoundAsset { } }//package
Section 280
//PlayPlayer_sndWalk (PlayPlayer_sndWalk) package { import mx.core.*; public class PlayPlayer_sndWalk extends SoundAsset { } }//package
Section 281
//PlayWall (PlayWall) package { import org.flixel.*; public class PlayWall extends PlayObject { public var isTitan:Boolean; private var sprExpl:FlxSprite; private var coord:FlxPoint; private var imgWall4Crush:Class; private var imgWall2Crush:Class; private var imgWall6Crush:Class; private var sprWall:FlxSprite; private var imgExpl:Class; private var imgWall1:Class; private var imgWall2:Class; private var imgWall3:Class; private var imgWall4:Class; private var imgWall5:Class; private var imgWall6:Class; private var k:int; private var imgWall5Crush:Class; private var imgWall3Crush:Class; private var imgWall1Crush:Class; private var sndExpl:Class; private var imgCrush:Class; public function PlayWall(_arg1:uint, _arg2:uint, _arg3:int){ sndExpl = PlayWall_sndExpl; imgWall1 = PlayWall_imgWall1; imgWall1Crush = PlayWall_imgWall1Crush; imgWall2 = PlayWall_imgWall2; imgWall2Crush = PlayWall_imgWall2Crush; imgWall3 = PlayWall_imgWall3; imgWall3Crush = PlayWall_imgWall3Crush; imgWall4 = PlayWall_imgWall4; imgWall4Crush = PlayWall_imgWall4Crush; imgWall5 = PlayWall_imgWall5; imgWall5Crush = PlayWall_imgWall5Crush; imgWall6 = PlayWall_imgWall6; imgWall6Crush = PlayWall_imgWall6Crush; imgExpl = PlayWall_imgExpl; super(_arg1, _arg2); coord = Main.getXY(_arg1, _arg2); sprWall = new FlxSprite(coord.x, coord.y); switch (_arg3){ case 11: sprWall.loadGraphic(imgWall1, true, false, 20, 50); imgCrush = imgWall1Crush; break; case 12: sprWall.loadGraphic(imgWall2, true, false, 20, 50); imgCrush = imgWall2Crush; break; case 13: sprWall.loadGraphic(imgWall3, true, false, 20, 50); imgCrush = imgWall3Crush; break; case 14: sprWall.loadGraphic(imgWall4, true, false, 20, 50); imgCrush = imgWall4Crush; break; case 15: sprWall.loadGraphic(imgWall5, true, false, 20, 50); imgCrush = imgWall5Crush; break; case 16: sprWall.loadGraphic(imgWall6, true, false, 20, 50); imgCrush = imgWall6Crush; break; }; if ((((((((StatePlay.levelData[(_arg2 - 1)][_arg1] == 0)) || ((StatePlay.levelData[_arg2][(_arg1 + 1)] == 0)))) || ((StatePlay.levelData[(_arg2 + 1)][_arg1] == 0)))) || ((StatePlay.levelData[_arg2][(_arg1 - 1)] == 0)))){ isTitan = true; } else { isTitan = false; }; if ((((StatePlay.levelData[_arg2][(_arg1 + 1)] == _arg3)) && ((StatePlay.levelData[(_arg2 + 1)][_arg1] == _arg3)))){ sprWall.frame = 9; } else { if ((((StatePlay.levelData[_arg2][(_arg1 - 1)] == _arg3)) && ((StatePlay.levelData[(_arg2 + 1)][_arg1] == _arg3)))){ sprWall.frame = 10; } else { if ((((StatePlay.levelData[_arg2][(_arg1 - 1)] == _arg3)) && ((StatePlay.levelData[(_arg2 - 1)][_arg1] == _arg3)))){ sprWall.frame = 11; } else { if ((((StatePlay.levelData[_arg2][(_arg1 + 1)] == _arg3)) && ((StatePlay.levelData[(_arg2 - 1)][_arg1] == _arg3)))){ sprWall.frame = 12; } else { if ((((StatePlay.levelData[_arg2][(_arg1 + 1)] == _arg3)) && ((StatePlay.levelData[_arg2][(_arg1 - 1)] == _arg3)))){ sprWall.frame = 13; } else { if ((((StatePlay.levelData[(_arg2 + 1)][_arg1] == _arg3)) && ((StatePlay.levelData[(_arg2 - 1)][_arg1] == _arg3)))){ sprWall.frame = 14; } else { if (StatePlay.levelData[(_arg2 + 1)][_arg1] == _arg3){ sprWall.frame = 15; } else { if (StatePlay.levelData[_arg2][(_arg1 - 1)] == _arg3){ sprWall.frame = 16; } else { if (StatePlay.levelData[(_arg2 - 1)][_arg1] == _arg3){ sprWall.frame = 17; } else { if (StatePlay.levelData[_arg2][(_arg1 + 1)] == _arg3){ sprWall.frame = 18; }; }; }; }; }; }; }; }; }; }; add(sprWall); sprExpl = null; } public function tresk():void{ if (!isTitan){ k = sprWall.frame; sprWall.loadGraphic(imgCrush, true, false, 20, 50); sprWall.frame = k; }; } override public function update():void{ if (StatePlay.boomStart){ if ((((((((mapX == 11)) && ((mapY == 45)))) || ((((mapX == 12)) && ((mapY == 45)))))) || ((((mapX == 10)) && ((mapY == 45)))))){ introBoom(); }; }; if (sprExpl != null){ if (sprExpl.finished){ if (!isTitan){ removeFromMapGroup(); exists = false; dead = true; }; sprExpl.kill(); sprExpl = null; StatePlay.blur.alpha = Main.CONST_BLUR_MAX; }; }; super.update(); } public function boom(_arg1:Boolean=true):void{ var _local2:uint; if (sprExpl == null){ if (_arg1){ FlxG.quake.start(0.01); }; if (!isTitan){ sprWall.kill(); }; sprExpl = new FlxSprite((sprWall.x - 15), (sprWall.y - 15)); sprExpl.loadGraphic(imgExpl, true, false, 64); sprExpl.addAnimation("boom", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 32, false); sprExpl.play("boom"); StatePlay.high.add(sprExpl); _local2 = 0; while (_local2 < 5) { new PlayEffect((sprWall.x - 15), (sprWall.y - 15), (Math.random() * 360)); _local2++; }; StatePlay.blur.alpha = Main.CONST_BLUR_MIN; if (!isTitan){ new PlayFloor(mapX, mapY, 10); sprWall.visible = false; }; }; } public function introBoom():void{ isTitan = false; boom(); } } }//package
Section 282
//PlayWall_imgExpl (PlayWall_imgExpl) package { import mx.core.*; public class PlayWall_imgExpl extends BitmapAsset { } }//package
Section 283
//PlayWall_imgWall1 (PlayWall_imgWall1) package { import mx.core.*; public class PlayWall_imgWall1 extends BitmapAsset { } }//package
Section 284
//PlayWall_imgWall1Crush (PlayWall_imgWall1Crush) package { import mx.core.*; public class PlayWall_imgWall1Crush extends BitmapAsset { } }//package
Section 285
//PlayWall_imgWall2 (PlayWall_imgWall2) package { import mx.core.*; public class PlayWall_imgWall2 extends BitmapAsset { } }//package
Section 286
//PlayWall_imgWall2Crush (PlayWall_imgWall2Crush) package { import mx.core.*; public class PlayWall_imgWall2Crush extends BitmapAsset { } }//package
Section 287
//PlayWall_imgWall3 (PlayWall_imgWall3) package { import mx.core.*; public class PlayWall_imgWall3 extends BitmapAsset { } }//package
Section 288
//PlayWall_imgWall3Crush (PlayWall_imgWall3Crush) package { import mx.core.*; public class PlayWall_imgWall3Crush extends BitmapAsset { } }//package
Section 289
//PlayWall_imgWall4 (PlayWall_imgWall4) package { import mx.core.*; public class PlayWall_imgWall4 extends BitmapAsset { } }//package
Section 290
//PlayWall_imgWall4Crush (PlayWall_imgWall4Crush) package { import mx.core.*; public class PlayWall_imgWall4Crush extends BitmapAsset { } }//package
Section 291
//PlayWall_imgWall5 (PlayWall_imgWall5) package { import mx.core.*; public class PlayWall_imgWall5 extends BitmapAsset { } }//package
Section 292
//PlayWall_imgWall5Crush (PlayWall_imgWall5Crush) package { import mx.core.*; public class PlayWall_imgWall5Crush extends BitmapAsset { } }//package
Section 293
//PlayWall_imgWall6 (PlayWall_imgWall6) package { import mx.core.*; public class PlayWall_imgWall6 extends BitmapAsset { } }//package
Section 294
//PlayWall_imgWall6Crush (PlayWall_imgWall6Crush) package { import mx.core.*; public class PlayWall_imgWall6Crush extends BitmapAsset { } }//package
Section 295
//PlayWall_sndExpl (PlayWall_sndExpl) package { import mx.core.*; public class PlayWall_sndExpl extends SoundAsset { } }//package
Section 296
//Preloader (Preloader) package { import flash.events.*; import flash.display.*; import org.flixel.*; import SWFStats.*; import flash.net.*; public class Preloader extends FlxPreloader { private var imgKong:Class; public function Preloader():void{ imgKong = Preloader_imgKong; className = "Main"; super(); minDisplayTime = 0.5; Log.View(1190, "044df7521eb0", root.loaderInfo.loaderURL); var _local1:MovieClip = new imgKong(); _local1.scaleX = 1.5; _local1.scaleY = 1.5; _local1.x = 320; _local1.y = 240; _local1.gotoAndStop(95); addChild(_local1); _local1.addEventListener(MouseEvent.CLICK, onClick); stage.showDefaultContextMenu = false; } public function onClick(_arg1:MouseEvent=null):void{ Log.CustomMetric("preloader_click", "clicks"); MochiBot.track(this, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=hostage_crisis")); } } }//package
Section 297
//Preloader_imgKong (Preloader_imgKong) package { import mx.core.*; public class Preloader_imgKong extends MovieClipAsset { } }//package
Section 298
//PreloaderButtonPlay (PreloaderButtonPlay) package { import flash.events.*; import org.flixel.*; import flash.display.*; import flash.net.*; import flash.ui.*; import SWFStats.*; public class PreloaderButtonPlay extends FlxState { private var intro:MovieClip; private var Kongintro30fps:Class; public function PreloaderButtonPlay(){ Kongintro30fps = PreloaderButtonPlay_Kongintro30fps; super(); } private function onGame1(_arg1:ContextMenuEvent):void{ Log.CustomMetric("game1_button", "clicks"); MochiBot.track(this, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/games/Xplored/apokalyx/?gamereferral=hostage_crisis")); } private function onGame2(_arg1:ContextMenuEvent):void{ Log.CustomMetric("game2_button", "clicks"); MochiBot.track(this, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/games/mos11charlie/undead-highway/?gamereferral=hostage_crisis")); } private function onGame3(_arg1:ContextMenuEvent):void{ Log.CustomMetric("game3_button", "clicks"); MochiBot.track(this, "b5d97a88"); navigateToURL(new URLRequest("http://www.kongregate.com/games/camaleonyco/moby-dick-the-video-game/?gamereferral=hostage_crisis")); } override public function update():void{ if (intro.currentFrame > 120){ intro.gotoAndStop(1); intro.visible = false; stage.frameRate = 60; }; if (!intro.visible){ if (FlxG.mouse.justPressed()){ MochiBot.track(FlxG.state, "fb291fd6"); FlxG.pauseActive = true; FlxG.music.play(); FlxG.state = new StateMenu(); }; }; super.update(); } public function clickPreloader(_arg1:MouseEvent):void{ Log.CustomMetric("intro_click", "clicks"); MochiBot.track(FlxG.state, "b5d97a88"); Main.url(null); } public function onContextMenu(_arg1:ContextMenuEvent):void{ Log.CustomMetric("context_more_games_button", "clicks"); MochiBot.track(this, "b5d97a88"); Main.url(null); Main.gameStats.clickSponsor(); } override public function create():void{ FlxG.music.pause(); FlxG.pauseActive = false; var _local1:FlxText = new FlxText(((FlxG.width / 2) - 150), (FlxG.height / 2), 300, "Click to Play"); _local1.alignment = "center"; _local1.size = 20; add(_local1); stage.frameRate = 30; intro = new Kongintro30fps(); intro.scaleX = 1.5; intro.scaleY = 1.5; intro.x = (640 / 2); intro.y = (480 / 2); addChild(intro); intro.addEventListener(MouseEvent.MOUSE_DOWN, clickPreloader); super.create(); stage.showDefaultContextMenu = true; var _local2:ContextMenu = new ContextMenu(); _local2.hideBuiltInItems(); var _local3:ContextMenuItem = new ContextMenuItem("More Games on Kongregate.com", true, true); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onContextMenu); _local2.customItems.push(_local3); _local3 = new ContextMenuItem("Play \"Apokalyx\" @ Kongregate", true, true); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onGame1); _local2.customItems.push(_local3); _local3 = new ContextMenuItem("Play \"Undead Highway\" @ Kongregate", false, true); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onGame2); _local2.customItems.push(_local3); _local3 = new ContextMenuItem("Play \"Moby Dick - The Video Game\" @ Kongregate", false, true); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onGame3); _local2.customItems.push(_local3); var _local4:InteractiveObject = (root as InteractiveObject); _local4.contextMenu = _local2; } } }//package
Section 299
//PreloaderButtonPlay_Kongintro30fps (PreloaderButtonPlay_Kongintro30fps) package { import mx.core.*; public class PreloaderButtonPlay_Kongintro30fps extends MovieClipAsset { } }//package
Section 300
//StateMenu (StateMenu) package { import org.flixel.*; public class StateMenu extends FlxState { override public function create():void{ FlxG.state = new StatePlay(0); } } }//package
Section 301
//StatePlay (StatePlay) package { import flash.events.*; import org.flixel.*; import flash.display.*; import flash.ui.*; import SWFStats.*; public class StatePlay extends FlxState { private var help:FlxText; private var imgWall0:Class; private var coord:FlxPoint; public var arrow:FlxSprite;// = null private var j:uint; private var i:uint; private var firstTimer:Number;// = 0 private var firstFlag:Boolean;// = false private static var kinoStart:Boolean = false; private static var imgArrow:Class = StatePlay_imgArrow; public static var arrows1:FlxGroup = null; public static var root_url:String; public static var girl:PlayGirl; public static var levelWidth:uint; public static var levelIndex:uint; public static var levelLowGroup:FlxGroup = null; private static var sprUp:FlxSprite; public static var high:FlxGroup; public static var gui:PlayGui; public static var boomStart:Boolean = false; public static var levelMap:Array; private static var kinoStop:Boolean = false; public static var levelData:Array; public static var levelCivil:uint; public static var levelHeight:uint; public static var levelSizeX:uint; public static var low:FlxGroup; public static var levelSizeY:uint; public static var player:PlayPlayer; public static var levelGroup:FlxGroup; public static var levels:PlayLevels; public static var levelObjects:Array; private static var sprDown:FlxSprite; public static var blur:FlxSprite; public function StatePlay(_arg1:uint){ var _local2:FlxSprite; var _local3:FlxGroup; imgWall0 = StatePlay_imgWall0; super(); Mouse.show(); kinoStart = false; kinoStop = false; boomStart = false; Main.gameStats.lastAch = null; Main.gameSaves.bind("skill_shooter_gamesaves"); i = 1; while (i <= 8) { Main.gameSaves.data[("is_ach_" + i)] = Main[("isAch" + i)]; i++; }; Main.gameSaves.forceSave(); low = new FlxGroup(); add(low); if (_arg1 == 1){ help = new FlxText((220 - 250), 245, 500, "Use W, A, S, D to move, \nMOUSE to rotate, \nand CLICK to fire"); help.alignment = "center"; help.size = 13; help.antialiasing = true; help.color = 4294967040; add(help); help = new FlxText((730 - 250), 122, 500, "Use this explosives to blow up \nthe wall and save the civilian. \nUse SPACE to throw a bomb in the \ndirection that you are aiming"); help.alignment = "center"; help.size = 10; help.antialiasing = true; help.color = 4294967040; add(help); help = new FlxText((930 - 250), 727, 500, "Radio bombs can be detonated \nby remote. Press SPACE again after \nyou have thrown one at the wall"); help.alignment = "center"; help.size = 10; help.antialiasing = true; help.color = 4294967040; add(help); help = new FlxText((490 - 250), 680, 500, "Grenades are good for \nthrowing around corners, \ntry to kill the enemies \nusing grenades"); help.alignment = "center"; help.size = 11; help.antialiasing = true; help.color = 4294967040; add(help); arrows1 = new FlxGroup(); i = 0; while (i < 3) { _local2 = new FlxSprite(810, (350 + (i * 30))); _local2.loadGraphic(imgArrow, true, false, 45, 20); _local2.addAnimation("move", [0, 1, 2, 1, 0, 0], 12); _local2.play("move"); arrows1.add(_local2); i++; }; add(arrows1); }; levels = new PlayLevels(); levelIndex = _arg1; levelSizeX = levels.getLevelSizeX(_arg1); levelSizeY = levels.getLevelSizeY(_arg1); levelWidth = levels.getLevelWidth(_arg1); levelHeight = levels.getLevelHeight(_arg1); levelCivil = levels.getLevelCivil(_arg1); levelData = levels.getLevelData(_arg1); levelObjects = levels.getLevelObjects(_arg1); levelLowGroup = new FlxGroup(); levelGroup = new FlxGroup(); levelGroup.add(levelLowGroup); levelMap = new Array(); i = 0; while (i < levelHeight) { levelMap.push(new Array()); j = 0; while (j < levelWidth) { _local3 = new FlxGroup(); _local3.active = false; levelMap[i].push(_local3); levelGroup.add(_local3); j++; }; i++; }; add(levelGroup); Main.gameStats.killCount = 0; Main.gameStats.enemyCount = 0; } override public function create():void{ var _local2:FlxSprite; var _local3:PlayCivilian; super.create(); root.loaderInfo.url; root_url = root.loaderInfo.url; trace(root_url); FlxG.music.play(); high = new FlxGroup(); add(high); i = 0; while (i < Math.max((levelHeight + 3), 28)) { j = 0; while (j < Math.max(levelWidth, 32)) { if ((((levelData[i] == undefined)) || ((((levelData[i][j] == undefined)) || ((levelData[i][j] == 0)))))){ coord = Main.getXY(j, i); _local2 = new FlxSprite(coord.x, coord.y, imgWall0); _local2.active = false; high.add(_local2); }; j++; }; i++; }; i = 0; while (i < levelHeight) { j = 0; while (j < levelWidth) { if (levelData[i][j] >= 10){ if (levelData[i][j] < 20){ new PlayWall(j, i, levelData[i][j]); } else { if (levelData[i][j] < 30){ new PlayFloor(j, i, levelData[i][j]); }; }; }; if (levelData[i][j] == 61){ new PlayFloor(j, i, 61); }; j++; }; i++; }; i = 0; while (i < levelObjects.length) { if (levelObjects[i][0] == 53){ coord = Main.getXY(levelObjects[i][1], (levelObjects[i][2] + 1)); new PlayBonuse((coord.x + 8), (coord.y + 10), 1); } else { if (levelObjects[i][0] == 54){ coord = Main.getXY(levelObjects[i][1], (levelObjects[i][2] + 1)); new PlayBonuse((coord.x + 8), (coord.y + 14), 2); } else { if (levelObjects[i][0] == 55){ coord = Main.getXY(levelObjects[i][1], (levelObjects[i][2] + 1)); new PlayBonuse((coord.x + 8), (coord.y + 10), 3); } else { if (levelObjects[i][0] == 57){ coord = Main.getXY(levelObjects[i][1], (levelObjects[i][2] + 1)); new PlayBonuse((coord.x + 8), (coord.y + 10), 5); } else { if ((((levelObjects[i][0] < 40)) || ((((levelObjects[i][0] > 50)) && ((levelObjects[i][0] < 60)))))){ new PlayGameObject(levelObjects[i][1], levelObjects[i][2], levelObjects[i][0]); } else { if (levelIndex == 0){ levelObjects[i][1] = (levelObjects[i][1] + Math.round(((Math.random() * 20) - 10))); levelObjects[i][2] = (levelObjects[i][2] + Math.round(((Math.random() * 20) - 10))); }; switch (levelObjects[i][0]){ case 41: player = new PlayPlayer(levelObjects[i][1], levelObjects[i][2]); break; case 42: _local3 = new PlayCivilian(levelObjects[i][1], levelObjects[i][2]); _local3.timer = 4.5; break; case 43: new PlayEnemy1(levelObjects[i][1], levelObjects[i][2]); Main.gameStats.enemyCount++; break; case 44: new PlayEnemy2(levelObjects[i][1], levelObjects[i][2]); Main.gameStats.enemyCount++; break; case 45: new PlayEnemy3(levelObjects[i][1], levelObjects[i][2]); Main.gameStats.enemyCount++; break; case 46: if (levelIndex == 1){ girl = new PlayGirl(levelObjects[i][1], levelObjects[i][2]); } else { new PlayCivilian(levelObjects[i][1], levelObjects[i][2], true); }; break; }; }; }; }; }; }; i++; }; gui = new PlayGui(); gui.scrollFactor.x = (gui.scrollFactor.y = 0); add(gui); sprUp = new FlxSprite(0, -50); sprUp.createGraphic(FlxG.width, 50, 4278190080); sprUp.scrollFactor.x = (sprUp.scrollFactor.y = 0); add(sprUp); sprDown = new FlxSprite(0, FlxG.height); sprDown.createGraphic(FlxG.width, 50, 4278190080); sprDown.scrollFactor.x = (sprDown.scrollFactor.y = 0); add(sprDown); blur = new FlxSprite(); blur.createGraphic(FlxG.width, FlxG.height, 4278190080, true); blur.alpha = Main.CONST_BLUR_MAX; var _local1:InteractiveObject = (root as InteractiveObject); _local1.contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, onContextMenu); } private function onContextMenu(_arg1:ContextMenuEvent):void{ FlxG.keys.reset(); } override public function update():void{ if (((boomStart) && ((arrow == null)))){ arrow = new FlxSprite(208, ((42 * 20) + 10)); arrow.angle = 90; arrow.loadGraphic(imgArrow, true, false, 45, 20); arrow.addAnimation("move", [0, 1, 2, 1, 0, 0], 12); arrow.play("move"); low.add(arrow); }; if (kinoStart){ if (sprUp.y >= 0){ sprUp.velocity.y = 0; sprDown.velocity.y = 0; }; }; if (kinoStop){ if (sprUp.y <= -50){ sprUp.velocity.y = 0; sprDown.velocity.y = 0; }; }; if (levelIndex == 1){ if (girl.mapY > 42){ if (player.mapY > 42){ firstFlag = true; firstTimer = (firstTimer + FlxG.elapsed); }; }; }; if (((firstFlag) && ((firstTimer > 0.5)))){ gui.missionComplete(); firstTimer = -100; }; super.update(); } override public function destroy():void{ super.destroy(); } override public function preProcess():void{ screen.draw(blur); } public static function startKino():void{ sprUp.velocity.y = 200; sprDown.velocity.y = -200; kinoStart = true; } public static function stopKino():void{ sprUp.velocity.y = -200; sprDown.velocity.y = 200; kinoStop = true; } public static function startBoom():void{ boomStart = true; } } }//package
Section 302
//StatePlay_imgArrow (StatePlay_imgArrow) package { import mx.core.*; public class StatePlay_imgArrow extends BitmapAsset { } }//package
Section 303
//StatePlay_imgWall0 (StatePlay_imgWall0) package { import mx.core.*; public class StatePlay_imgWall0 extends BitmapAsset { } }//package
Section 304
//Stats (Stats) package { import org.flixel.*; public class Stats { public var enemyCount:int;// = 0 public var lastAch:PlayDisplayAch;// = null public var killCount:int;// = 0 public function killAll():void{ if (StatePlay.levelIndex > 1){ if (!Main.isAch5){ lastAch = new PlayDisplayAch(5, lastAch); StatePlay.high.add(lastAch); }; Main.isAch5 = true; }; } public function killZero():void{ if (StatePlay.levelIndex > 1){ if (!Main.isAch6){ lastAch = new PlayDisplayAch(6, lastAch); StatePlay.high.add(lastAch); }; Main.isAch6 = true; }; } public function killEnenmyByRadio():void{ if (StatePlay.levelIndex > 1){ if (!Main.isAch2){ lastAch = new PlayDisplayAch(2, lastAch); StatePlay.high.add(lastAch); }; Main.isAch2 = true; }; } public function killEnemy3():void{ if (StatePlay.levelIndex > 1){ if (!Main.isAch4){ lastAch = new PlayDisplayAch(4, lastAch); StatePlay.high.add(lastAch); }; Main.isAch4 = true; }; } public function killEnemy():void{ killCount++; } public function killEnemyByGrenade():void{ if (StatePlay.levelIndex > 1){ if (!Main.isAch1){ lastAch = new PlayDisplayAch(1, lastAch); StatePlay.high.add(lastAch); }; Main.isAch1 = true; }; } public function clickSponsor():void{ if (!Main.isAch2){ lastAch = new PlayDisplayAch(2, lastAch); FlxG.state.add(lastAch); }; Main.isAch2 = true; } public function killMore3Civ():void{ if (StatePlay.levelIndex > 1){ if (!Main.isAch7){ lastAch = new PlayDisplayAch(7, lastAch); StatePlay.high.add(lastAch); }; Main.isAch7 = true; }; } public function gameCompleted():void{ if (!Main.isAch8){ MochiBot.track(FlxG.state, "43a04aa4"); lastAch = new PlayDisplayAch(8, lastAch); StatePlay.high.add(lastAch); }; Main.isAch8 = true; } public function killEnemyFromWall():void{ if (StatePlay.levelIndex > 1){ if (!Main.isAch3){ lastAch = new PlayDisplayAch(3, lastAch); StatePlay.high.add(lastAch); }; Main.isAch3 = true; }; } } }//package

Library Items

Symbol 1 GraphicUsed by:2 31
Symbol 2 MovieClipUses:1Used by:31 59
Symbol 3 GraphicUsed by:4
Symbol 4 ButtonUses:3Used by:31 59
Symbol 5 GraphicUsed by:31
Symbol 6 GraphicUsed by:7
Symbol 7 MovieClipUses:6Used by:25 31 59
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClipUses:8Used by:24 31 59
Symbol 10 GraphicUsed by:11
Symbol 11 MovieClipUses:10Used by:18 24 25 31 59
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:12Used by:18 24 25 31 59
Symbol 14 GraphicUsed by:15
Symbol 15 MovieClipUses:14Used by:18 24 25 31 59
Symbol 16 GraphicUsed by:17
Symbol 17 MovieClipUses:16Used by:18 24 25 31 59
Symbol 18 MovieClipUses:11 13 15 17Used by:31 59
Symbol 19 GraphicUsed by:31
Symbol 20 GraphicUsed by:21 31
Symbol 21 MovieClipUses:20Used by:31 59
Symbol 22 GraphicUsed by:31
Symbol 23 GraphicUsed by:25
Symbol 24 MovieClipUses:9 11 13 15 17Used by:25
Symbol 25 MovieClipUses:23 7 24 11 13 15 17Used by:31 59
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:31 59
Symbol 28 FontUsed by:29 57
Symbol 29 TextUses:28Used by:30
Symbol 30 MovieClipUses:29Used by:31
Symbol 31 MovieClip {Preloader_imgKong} [Kongintro30fps]Uses:1 2 4 5 7 9 18 19 21 22 11 13 15 17 25 27 20 30
Symbol 32 Sound {org.flixel.FlxGame_SndFlixel} [org.flixel.FlxGame_SndFlixel]
Symbol 33 Sound {org.flixel.FlxGame_SndBeep} [org.flixel.FlxGame_SndBeep]
Symbol 34 Bitmap {org.flixel.data.FlxMouse_ImgDefaultCursor}
Symbol 35 Bitmap {org.flixel.data.FlxPause_ImgKey0}
Symbol 36 Bitmap {org.flixel.FlxPreloader_ImgLogoLight}
Symbol 37 Bitmap {org.flixel.FlxPreloader_ImgLogoCorners}
Symbol 38 Bitmap {org.flixel.FlxPreloader_ImgLogo}
Symbol 39 Bitmap {org.flixel.data.FlxPanel_ImgStumble}
Symbol 40 Bitmap {org.flixel.data.FlxPanel_ImgClose}
Symbol 41 Bitmap {org.flixel.data.FlxPause_ImgKeyPlus}
Symbol 42 Bitmap {org.flixel.data.FlxPanel_ImgDonate}
Symbol 43 Bitmap {org.flixel.data.FlxPause_ImgKeyMinus}
Symbol 44 Bitmap {org.flixel.data.FlxPanel_ImgTwitter}
Symbol 45 Bitmap {org.flixel.data.FlxPause_ImgKeyP}
Symbol 46 Font {org.flixel.FlxGame_junk}
Symbol 47 Bitmap {org.flixel.data.FlxPanel_ImgDigg}
Symbol 48 Bitmap {org.flixel.data.FlxPanel_ImgReddit}
Symbol 49 Bitmap {org.flixel.FlxPreloader_img}
Symbol 50 Bitmap {org.flixel.data.FlxPanel_ImgDelicious}
Symbol 51 Sound {Main_sndMusic} [Main_sndMusic]
Symbol 52 GraphicUsed by:59
Symbol 53 GraphicUsed by:59
Symbol 54 GraphicUsed by:59
Symbol 55 GraphicUsed by:59
Symbol 56 GraphicUsed by:59
Symbol 57 TextUses:28Used by:58
Symbol 58 MovieClipUses:57Used by:59
Symbol 59 MovieClip {PreloaderButtonPlay_Kongintro30fps} [Kongintro30fps]Uses:52 2 4 53 7 9 18 54 21 55 11 13 15 17 25 27 56 58
Symbol 60 Sound {PlayPlayer_sndShoot} [PlayPlayer_sndShoot]
Symbol 61 Sound {PlayPlayer_sndBombPlant} [PlayPlayer_sndBombPlant]
Symbol 62 Sound {PlayPlayer_sndWalk} [PlayPlayer_sndWalk]
Symbol 63 Sound {PlayWall_sndExpl} [PlayWall_sndExpl]
Symbol 64 Sound {PlayEnemy2_sndShoot} [PlayEnemy2_sndShoot]
Symbol 65 Sound {PlayEnemy3_sndShoot} [PlayEnemy3_sndShoot]
Symbol 66 Sound {PlayGui_sndHostagePickUp} [PlayGui_sndHostagePickUp]
Symbol 67 Sound {PlayGui_sndLevelFail} [PlayGui_sndLevelFail]
Symbol 68 Sound {PlayGui_sndLevelWin} [PlayGui_sndLevelWin]
Symbol 69 Sound {PlayGui_sndClick} [PlayGui_sndClick]
Symbol 70 Sound {PlayEnemy1_sndShoot} [PlayEnemy1_sndShoot]
Symbol 71 Sound {PlayBonuse_sndPickUp} [PlayBonuse_sndPickUp]
Symbol 72 Sound {PlayBullet2_sndExplHe} [PlayBullet2_sndExplHe]
Symbol 73 Sound {PlayBullet_sndExpl} [PlayBullet_sndExpl]
Symbol 74 Sound {PlayBullet_sndBeep} [PlayBullet_sndBeep]
Symbol 75 Sound {PlayBullet_sndExplHe} [PlayBullet_sndExplHe]
Symbol 76 Sound {PlayBulletPlayer_sndExplHe} [PlayBulletPlayer_sndExplHe]
Symbol 77 Bitmap {PlayEnemy3_imgHead}
Symbol 78 Bitmap {PlayCivilian_imgCivilian}
Symbol 79 Bitmap {PlayGui_imgGirl}
Symbol 80 Bitmap {PlayWall_imgWall2Crush}
Symbol 81 Bitmap {PlayCivilian_imgArrow}
Symbol 82 Bitmap {StatePlay_imgWall0}
Symbol 83 Bitmap {PlayBullet2_imgExpl}
Symbol 84 Bitmap {PlayDeath_imgCivilianHead}
Symbol 85 Bitmap {PlayEnemy2_imgBody}
Symbol 86 Bitmap {PlayWall_imgWall1Crush}
Symbol 87 Bitmap {PlayGui_imgGame2}
Symbol 88 Bitmap {PlayGui_imgGame1}
Symbol 89 Bitmap {PlayBullet2_imgBullet}
Symbol 90 Bitmap {PlayGui_imgGame3}
Symbol 91 Bitmap {PlayEnemy1_imgEnemy}
Symbol 92 Bitmap {PlayDeath_imgEnemy2Head}
Symbol 93 Bitmap {PlayDeath_imgEnemy1Head}
Symbol 94 Bitmap {PlayEnemy2_imgGun}
Symbol 95 Bitmap {StatePlay_imgArrow}
Symbol 96 Bitmap {PlayFloor_imgFloors7}
Symbol 97 Bitmap {PlayGui_imgSoundYes}
Symbol 98 Bitmap {PlayFloor_imgFloors10}
Symbol 99 Bitmap {PlayGameObject_imgObject1}
Symbol 100 Bitmap {PlayBonuse_imgGunBomb}
Symbol 101 Bitmap {PlayGameObject_imgObject3}
Symbol 102 Bitmap {PlayDisplayAch_imgAch8}
Symbol 103 Bitmap {PlayGameObject_imgObject2}
Symbol 104 Bitmap {PlayGameObject_imgObject5}
Symbol 105 Bitmap {PlayGameObject_imgObject4}
Symbol 106 Bitmap {PlayGameObject_imgObject7}
Symbol 107 Bitmap {PlayEnemy1_imgGun}
Symbol 108 Bitmap {PlayGameObject_imgObject6}
Symbol 109 Bitmap {PlayDisplayAch_imgAch3}
Symbol 110 Bitmap {PlayDisplayAch_imgAch2}
Symbol 111 Bitmap {PlayDisplayAch_imgAch1}
Symbol 112 Bitmap {PlayDisplayAch_imgAch7}
Symbol 113 Bitmap {PlayDisplayAch_imgAch6}
Symbol 114 Bitmap {PlayDisplayAch_imgAch5}
Symbol 115 Bitmap {PlayDisplayAch_imgAch4}
Symbol 116 Bitmap {PlayGui_imgReset}
Symbol 117 Bitmap {PlayBonuse_imgGrenade}
Symbol 118 Bitmap {PlayBonuse_imgPlastid}
Symbol 119 Bitmap {PlayEnemy3_imgEnemy3}
Symbol 120 Bitmap {PlayGui_imgBadge1}
Symbol 121 Bitmap {PlayGui_imgBadge2}
Symbol 122 Bitmap {PlayGui_imgMenu}
Symbol 123 Bitmap {PlayGui_imgSoundNo}
Symbol 124 Bitmap {PlayGui_imgBadge3}
Symbol 125 Bitmap {PlayGui_imgBadge4}
Symbol 126 Bitmap {PlayWall_imgWall5Crush}
Symbol 127 Bitmap {PlayPlayer_imgRadio}
Symbol 128 Bitmap {PlayEnemy2_imgEnemy}
Symbol 129 Bitmap {PlayGui_imgWindow}
Symbol 130 Bitmap {PlayWall_imgWall3Crush}
Symbol 131 Bitmap {PlayGui_imgWindow2}
Symbol 132 Bitmap {PlayGui_imgCivil}
Symbol 133 Bitmap {PlayPlayer_imgHead}
Symbol 134 Bitmap {PlayFloor_imgFloors9}
Symbol 135 Bitmap {PlayFloor_imgFloors8}
Symbol 136 Bitmap {PlayFloor_imgFloors5}
Symbol 137 Bitmap {PlayFloor_imgFloors6}
Symbol 138 Bitmap {PlayBullet2_imgBoomb}
Symbol 139 Bitmap {PlayFloor_imgFloor2}
Symbol 140 Bitmap {PlayFloor_imgFloor3}
Symbol 141 Bitmap {PlayFloor_imgFloor1}
Symbol 142 Bitmap {PlayFloor_imgFloor4}
Symbol 143 Bitmap {PlayPlayer_imgPlayer}
Symbol 144 Bitmap {PlayWall_imgWall1}
Symbol 145 Bitmap {PlayWall_imgWall3}
Symbol 146 Bitmap {PlayFloor_imgWallBoom}
Symbol 147 Bitmap {PlayWall_imgWall2}
Symbol 148 Bitmap {PlayWall_imgWall5}
Symbol 149 Bitmap {PlayWall_imgWall4}
Symbol 150 Bitmap {PlayWall_imgWall6}
Symbol 151 Bitmap {PlayWall_imgWall4Crush}
Symbol 152 Bitmap {PlayWall_imgWall6Crush}
Symbol 153 Bitmap {PlayGirl_imgGirl}
Symbol 154 Bitmap {PlayDeath_imgPart}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1459 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 31 as "Kongintro30fps"
ExportAssets (56)Timeline Frame 1Symbol 32 as "org.flixel.FlxGame_SndFlixel"
ExportAssets (56)Timeline Frame 1Symbol 33 as "org.flixel.FlxGame_SndBeep"
ExportAssets (56)Timeline Frame 2Symbol 51 as "Main_sndMusic"
ExportAssets (56)Timeline Frame 2Symbol 59 as "Kongintro30fps"
ExportAssets (56)Timeline Frame 2Symbol 60 as "PlayPlayer_sndShoot"
ExportAssets (56)Timeline Frame 2Symbol 61 as "PlayPlayer_sndBombPlant"
ExportAssets (56)Timeline Frame 2Symbol 62 as "PlayPlayer_sndWalk"
ExportAssets (56)Timeline Frame 2Symbol 63 as "PlayWall_sndExpl"
ExportAssets (56)Timeline Frame 2Symbol 64 as "PlayEnemy2_sndShoot"
ExportAssets (56)Timeline Frame 2Symbol 65 as "PlayEnemy3_sndShoot"
ExportAssets (56)Timeline Frame 2Symbol 66 as "PlayGui_sndHostagePickUp"
ExportAssets (56)Timeline Frame 2Symbol 67 as "PlayGui_sndLevelFail"
ExportAssets (56)Timeline Frame 2Symbol 68 as "PlayGui_sndLevelWin"
ExportAssets (56)Timeline Frame 2Symbol 69 as "PlayGui_sndClick"
ExportAssets (56)Timeline Frame 2Symbol 70 as "PlayEnemy1_sndShoot"
ExportAssets (56)Timeline Frame 2Symbol 71 as "PlayBonuse_sndPickUp"
ExportAssets (56)Timeline Frame 2Symbol 72 as "PlayBullet2_sndExplHe"
ExportAssets (56)Timeline Frame 2Symbol 73 as "PlayBullet_sndExpl"
ExportAssets (56)Timeline Frame 2Symbol 74 as "PlayBullet_sndBeep"
ExportAssets (56)Timeline Frame 2Symbol 75 as "PlayBullet_sndExplHe"
ExportAssets (56)Timeline Frame 2Symbol 76 as "PlayBulletPlayer_sndExplHe"
SerialNumber (41)Timeline Frame 1

Labels

"Preloader"Frame 1
"Main"Frame 2




http://swfchan.com/25/123230/info.shtml
Created: 2/3 -2019 23:11:20 Last modified: 2/3 -2019 23:11:20 Server time: 05/05 -2024 14:16:08