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

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

Ninjas Versus Pirates! - arcade collect game.swf

This is the info page for
Flash #130671

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


Text
MORE GAMES

MEER SPELLEN

PLUS DE JEUX

MEHR SPIELE

WIĘCEJ GIER

FLER SPEL

ALTRI GIOCHI

MÁS JUEGOS

MAIS JOGOS

ДРУГИЕ ИГРЫ

PERMAINAN LAINNYA

DAHA FAZLA OYUN

LABIH BANYAK PERMAINAN

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.2.0.3958"; 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
//ButtonAsset (mx.core.ButtonAsset) package mx.core { public class ButtonAsset extends FlexSimpleButton implements IFlexAsset, IFlexDisplayObject { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.2.0.3958"; public function ButtonAsset(){ _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; } } }//package mx.core
Section 3
//ByteArrayAsset (mx.core.ByteArrayAsset) package mx.core { import flash.utils.*; public class ByteArrayAsset extends ByteArray implements IFlexAsset { mx_internal static const VERSION:String = "3.2.0.3958"; } }//package mx.core
Section 4
//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.2.0.3958"; 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 5
//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.2.0.3958"; 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 6
//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.2.0.3958"; 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 7
//FlexSimpleButton (mx.core.FlexSimpleButton) package mx.core { import flash.display.*; import mx.utils.*; public class FlexSimpleButton extends SimpleButton { mx_internal static const VERSION:String = "3.2.0.3958"; public function FlexSimpleButton(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 8
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 9
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 10
//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 11
//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 12
//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.2.0.3958"; 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 13
//MovieClipLoaderAsset (mx.core.MovieClipLoaderAsset) package mx.core { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.system.*; public class MovieClipLoaderAsset extends MovieClipAsset implements IFlexAsset, IFlexDisplayObject { protected var initialHeight:Number;// = 0 private var loader:Loader;// = null private var initialized:Boolean;// = false protected var initialWidth:Number;// = 0 private var requestedHeight:Number; private var requestedWidth:Number; mx_internal static const VERSION:String = "3.2.0.3958"; public function MovieClipLoaderAsset(){ var _local1:LoaderContext = new LoaderContext(); _local1.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); if (("allowLoadBytesCodeExecution" in _local1)){ _local1["allowLoadBytesCodeExecution"] = true; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.loadBytes(movieClipData, _local1); addChild(loader); } override public function get width():Number{ if (!initialized){ return (initialWidth); }; return (super.width); } override public function set width(_arg1:Number):void{ if (!initialized){ requestedWidth = _arg1; } else { loader.width = _arg1; }; } override public function get measuredHeight():Number{ return (initialHeight); } private function completeHandler(_arg1:Event):void{ initialized = true; initialWidth = loader.width; initialHeight = loader.height; if (!isNaN(requestedWidth)){ loader.width = requestedWidth; }; if (!isNaN(requestedHeight)){ loader.height = requestedHeight; }; dispatchEvent(_arg1); } override public function set height(_arg1:Number):void{ if (!initialized){ requestedHeight = _arg1; } else { loader.height = _arg1; }; } override public function get measuredWidth():Number{ return (initialWidth); } override public function get height():Number{ if (!initialized){ return (initialHeight); }; return (super.height); } public function get movieClipData():ByteArray{ return (null); } } }//package mx.core
Section 14
//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 15
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "3.2.0.3958"; } }//package mx.core
Section 16
//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.2.0.3958"; 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 17
//Agame (Agame) package { public class Agame { public static const LANGUAGE:int = 1; } }//package
Section 18
//AgameAssetBrandingAlignedCenter (AgameAssetBrandingAlignedCenter) package { import mx.core.*; public dynamic class AgameAssetBrandingAlignedCenter extends MovieClipAsset { public function AgameAssetBrandingAlignedCenter(){ gotoAndStop(language.branding_nr); } } }//package
Section 19
//AgameAssetButtonGraphicBig (AgameAssetButtonGraphicBig) package { import mx.core.*; public class AgameAssetButtonGraphicBig extends MovieClipAsset { } }//package
Section 20
//AgameAssetHitarea (AgameAssetHitarea) package { import mx.core.*; public class AgameAssetHitarea extends ButtonAsset { } }//package
Section 21
//AgameAssetText1 (AgameAssetText1) package { import mx.core.*; public dynamic class AgameAssetText1 extends MovieClipAsset { public function AgameAssetText1(){ gotoAndStop(language.language_nr); } } }//package
Section 22
//AgameMoreGamesButton (AgameMoreGamesButton) package { import flash.events.*; import flash.display.*; import flash.net.*; public class AgameMoreGamesButton extends Sprite { public function AgameMoreGamesButton(){ var _local2:MovieClip; super(); var _local1:MovieClip = new AgameAssetButtonGraphicBig(); _local1.x = (337.9 - 337.9); _local1.y = (220 - 220); addChild(_local1); _local2 = new AgameAssetText1(); _local2.x = (443.9 - 337.9); _local2.y = (235.9 - 220); addChild(_local2); var _local3:MovieClip = new AgameAssetBrandingAlignedCenter(); _local3.x = (426.8 - 337.9); _local3.y = (239.8 - 220); addChild(_local3); var _local4:SimpleButton = new AgameAssetHitarea(); _local4.scaleX = 0.648; _local4.scaleY = 0.547; _local4.x = (339.6 - 337.9); _local4.y = (232.5 - 220); addChild(_local4); _local4.addEventListener(MouseEvent.CLICK, onClick); } private function onClick(_arg1:MouseEvent):void{ var _local2:URLRequest; if (language.language_nr == 2){ _local2 = new URLRequest(language.url1); } else { _local2 = new URLRequest((language.url1 + "&utm_term=button_mainscreen_moregames")); }; navigateToURL(_local2, "_blank"); } } }//package
Section 23
//Background (Background) package { import flash.display.*; public class Background extends Sprite { public function Background(){ graphics.beginFill(0); graphics.drawRect(-10, -10, (PiratesVsNinjasVendoIsland.STAGE_WIDTH + 20), (PiratesVsNinjasVendoIsland.STAGE_HEIGHT + 20)); graphics.endFill(); } } }//package
Section 24
//BitmapTexter (BitmapTexter) package { import flash.display.*; import flash.geom.*; public class BitmapTexter { private var fontBitmapData:BitmapData; public static const FONT_SIZE:int = 8; public function BitmapTexter(){ var _local1:Bitmap = new FontBitmap(); fontBitmapData = _local1.bitmapData; } public function makeBitmap(_arg1:String):Bitmap{ var _local2:BitmapData = new BitmapData((FONT_SIZE * _arg1.length), FONT_SIZE, true, 0); var _local3:int; while (_local3 < _arg1.length) { _local2.copyPixels(fontBitmapData, new Rectangle((FONT_SIZE * _arg1.charCodeAt(_local3)), 0, FONT_SIZE, FONT_SIZE), new Point((FONT_SIZE * _local3), 0)); _local3++; }; return (new Bitmap(_local2)); } } }//package
Section 25
//Cargo (Cargo) package { public class Cargo { public var active:Boolean; private var waterVel:Number; private var dx:Number; private var dy:Number; public var x:Number; public var y:Number; public function update():void{ if (active){ if (y < ((PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE) - PirateCargo.HEIGHT)){ x = (x + dx); y = (y + dy); dy = (dy + Explosion.Y_ACCEL); } else { y = (y + waterVel); if (y > (PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE)){ active = false; }; }; }; } public function setCargo(_arg1:Number, _arg2:Number):void{ x = _arg1; y = _arg2; active = true; dx = U.randRange(-(Explosion.X_VEL_MAX), Explosion.X_VEL_MAX); dy = -(U.randRange(Explosion.Y_VEL_MIN, Explosion.Y_VEL_MAX)); waterVel = U.randRange(Explosion.WATER_VEL_MIN, Explosion.WATER_VEL_MAX); } } }//package
Section 26
//CargoBitmap (CargoBitmap) package { import mx.core.*; public class CargoBitmap extends BitmapAsset { } }//package
Section 27
//DarkerSkyBitmap (DarkerSkyBitmap) package { import mx.core.*; public class DarkerSkyBitmap extends BitmapAsset { } }//package
Section 28
//DarkSkyBitmap (DarkSkyBitmap) package { import mx.core.*; public class DarkSkyBitmap extends BitmapAsset { } }//package
Section 29
//Explosion (Explosion) package { import flash.geom.*; public class Explosion { public var forRemoval:Boolean; public var rect:Rectangle; private var waterVel:Number; private var dx:Number; private var dy:Number; public var x:Number; public var y:Number; public static const WATER_VEL_MIN:Number = 1; public static const Y_ACCEL:Number = 0.1; public static const Y_VEL_MIN:Number = 1; public static const X_VEL_MIN:Number = 0; public static const WATER_VEL_MAX:Number = 2; public static const X_VEL_MAX:Number = 1; public static const Y_VEL_MAX:Number = 2; public function Explosion(_arg1:Rectangle, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){ this.rect = _arg1; this.x = _arg2; this.y = _arg3; this.dx = _arg4; this.dy = _arg5; this.waterVel = _arg6; forRemoval = false; } public function update():void{ if (y < ((PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE) - PirateKatanas.EXPLOSION_SIZE_Y)){ y = (y + dy); x = (x + dx); dy = (dy + Y_ACCEL); } else { y = (y + waterVel); if (y > (PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE)){ forRemoval = true; }; }; } } }//package
Section 30
//FlexBitmap (FlexBitmap) package { import flash.display.*; public class FlexBitmap extends Bitmap { public static const SCALE:int = 2; public function FlexBitmap(_arg1:BitmapData){ super(_arg1); scaleX = SCALE; scaleY = SCALE; x = Math.round(((PiratesVsNinjasVendoIsland.STAGE_WIDTH - width) / 2)); y = Math.round(((PiratesVsNinjasVendoIsland.STAGE_HEIGHT - height) / 2)); } } }//package
Section 31
//FlexBitmapData (FlexBitmapData) package { import flash.display.*; public class FlexBitmapData extends BitmapData { public static const WIDTH:int = Math.floor((PiratesVsNinjasVendoIsland.STAGE_WIDTH / FlexBitmap.SCALE)); public static const HEIGHT:int = Math.floor((Math.max((PiratesVsNinjasVendoIsland.STAGE_HEIGHT - 150), 1) / FlexBitmap.SCALE)); public function FlexBitmapData(){ super(WIDTH, HEIGHT, false, 0); } } }//package
Section 32
//FontBitmap (FontBitmap) package { import mx.core.*; public class FontBitmap extends BitmapAsset { } }//package
Section 33
//InviButton (InviButton) package { import flash.display.*; public class InviButton extends Sprite { public function InviButton(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ graphics.beginFill(0, 0); graphics.drawRect(0, 0, _arg3, _arg4); graphics.endFill(); this.x = _arg1; this.y = _arg2; buttonMode = true; } } }//package
Section 34
//IslandBitmap (IslandBitmap) package { import mx.core.*; public class IslandBitmap extends BitmapAsset { } }//package
Section 35
//ItemsField (ItemsField) package { import flash.text.*; public class ItemsField extends TextField { private var textFormat:TextFormat; public static const MARGIN:int = 10; public function ItemsField(){ x = MARGIN; textFormat = new TextFormat(); textFormat.color = 0xFFFFFF; textFormat.font = "Arial"; textFormat.size = 14; textFormat.align = TextFormatAlign.LEFT; update(0); } public function update(_arg1:int):void{ text = ("Items Delivered: " + U.styleNumber(_arg1)); setTextFormat(textFormat); autoSize = TextFieldAutoSize.LEFT; selectable = false; textColor = 0xFFFFFF; } public function start():void{ update(0); } } }//package
Section 36
//Katana (Katana) package { public class Katana { public var forRemoval:Boolean; public var dy:Number; public var x:int; public var y:Number; public static const ACCEL_Y:Number = 0.1; public static const FLOOR:int = ((PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE) - BITMAP_HEIGHT); public static const BITMAP_WIDTH:int = 8; public static const BITMAP_HEIGHT:int = 48; public function Katana(_arg1:int){ forRemoval = false; this.x = _arg1; y = -(BITMAP_HEIGHT); dy = 0; } public function update():void{ if (y == FLOOR){ forRemoval = true; } else { dy = (dy + ACCEL_Y); y = U.constrain((y + dy), -(BITMAP_HEIGHT), FLOOR); }; } } }//package
Section 37
//KatanaBitmap (KatanaBitmap) package { import mx.core.*; public class KatanaBitmap extends BitmapAsset { } }//package
Section 38
//KeyHandler (KeyHandler) package { import flash.events.*; import flash.display.*; public class KeyHandler extends Sprite { private var keys:Array; public static const KEY_CODES:Array = [K_LEFT, K_RIGHT, K_A, K_D, K_Q, K_SPACE]; public static const K_RIGHT:int = 39; public static const K_A:int = 65; public static const K_SPACE:int = 32; public static const K_D:int = 68; public static const K_LEFT:int = 37; public static const K_Q:int = 81; public function KeyHandler(){ initKeys(); addEventListener(KeyboardEvent.KEY_UP, onKeyUp, false, 0, true); addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown, false, 0, true); } public function getChangedDown():Array{ var _local3:int; var _local4:KeyInfo; var _local1:Array = []; var _local2:int; while (_local2 < KEY_CODES.length) { _local3 = KEY_CODES[_local2]; _local4 = keys[_local3]; if (((_local4.changed) && (_local4.isDown))){ _local1.push(_local3); _local4.changed = false; }; _local2++; }; return (_local1); } private function onKeyUp(_arg1:KeyboardEvent):void{ var _local2:int; while (_local2 < KEY_CODES.length) { if ((((KEY_CODES[_local2] == _arg1.keyCode)) && (keys[_arg1.keyCode].isDown))){ keys[_arg1.keyCode].isDown = false; keys[_arg1.keyCode].changed = true; }; _local2++; }; } private function initKeys():void{ keys = []; var _local1:int; while (_local1 < KEY_CODES.length) { keys[KEY_CODES[_local1]] = new KeyInfo(); _local1++; }; } private function onKeyDown(_arg1:KeyboardEvent):void{ var _local2:int; while (_local2 < KEY_CODES.length) { if ((((KEY_CODES[_local2] == _arg1.keyCode)) && (!(keys[_arg1.keyCode].isDown)))){ keys[_arg1.keyCode].isDown = true; keys[_arg1.keyCode].changed = true; }; _local2++; }; } public function isDown(_arg1:int):Boolean{ return (keys[_arg1].isDown); } } }//package
Section 39
//KeyInfo (KeyInfo) package { public class KeyInfo { public var changed:Boolean; public var isDown:Boolean; public function KeyInfo(){ isDown = false; changed = false; } } }//package
Section 40
//language (language) package { import flash.net.*; public class language { public static var localConnection:LocalConnection = new LocalConnection(); public static var _languageNum:uint = 0; public static var _languageBox:Array = new Array(); public static var SpillGroupUrl:Array = new Array(); public static function get url2():String{ var _local1:int; while (_local1 < SpillGroupUrl.length) { if (localConnection.domain == SpillGroupUrl[_local1]){ return (_languageBox[_languageNum].url2); }; _local1++; }; return (_languageBox[_languageNum].url2); } public static function get language_nr():int{ return (_languageBox[_languageNum].language_nr); } public static function get portal():String{ return (_languageBox[_languageNum].portal); } public static function set Language(_arg1:Object):void{ var myArray:Array; var domainextention:int; var domainname:int; var hostingdomain:String; var languageVersion = _arg1; var returnDomain:Function = function (_arg1:String):String{ var _local2:String = new String(); var _local3:uint = 7; while (_local3 < _arg1.length) { if (_arg1.charAt(_local3) == "/"){ break; }; _local2 = (_local2 + _arg1.charAt(_local3)); _local3++; }; return (_local2); }; if (localConnection.domain != "localhost"){ myArray = localConnection.domain.split("."); trace(myArray.length); domainextention = (myArray.length - 1); domainname = (myArray.length - 2); hostingdomain = ((myArray[domainname] + ".") + myArray[domainextention]); } else { hostingdomain = "localhost"; }; var language1:languageItem = new languageItem(); language1.url1 = ("http://www.agame.com/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language1.url2 = "http://www.agame.com/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language1.language_nr = 1; language1.branding_nr = 1; language1.portal = "tweens"; _languageBox.push(language1); var language2:languageItem = new languageItem(); language2.url1 = "http://www.game.com.cn/moregames/"; language2.url2 = "http://www.game.com.cn/moregames/"; language2.language_nr = 2; language2.branding_nr = 2; language2.portal = "game_com_cn"; _languageBox.push(language2); var language3:languageItem = new languageItem(); language3.url1 = ("http://www.spel.nl/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language3.url2 = "http://www.spel.nl/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language3.language_nr = 3; language3.branding_nr = 4; language3.portal = "tweens"; _languageBox.push(language3); var language4:languageItem = new languageItem(); language4.url1 = ("http://www.jeu.fr/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language4.url2 = "http://www.jeu.fr/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language4.language_nr = 4; language4.branding_nr = 5; language4.portal = "tweens"; _languageBox.push(language4); var language5:languageItem = new languageItem(); language5.url1 = ("http://www.spielen.com/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language5.url2 = "http://www.spielen.com/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language5.language_nr = 5; language5.branding_nr = 6; language5.portal = "tweens"; _languageBox.push(language5); var language6:languageItem = new languageItem(); language6.url1 = ("http://www.minigry.pl/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language6.url2 = "http://www.minigry.pl/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language6.language_nr = 6; language6.branding_nr = 14; language6.portal = "tweens"; _languageBox.push(language6); var language7:languageItem = new languageItem(); language7.url1 = ("http://www.spel.eu/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language7.url2 = "http://www.spel.eu/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language7.language_nr = 7; language7.branding_nr = 9; language7.portal = "tweens"; _languageBox.push(language7); var language8:languageItem = new languageItem(); language8.url1 = ("http://www.giocaregratis.it/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language8.url2 = "http://www.giocaregratis.it/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language8.language_nr = 8; language8.branding_nr = 8; language8.portal = "tweens"; _languageBox.push(language8); var language9:languageItem = new languageItem(); language9.url1 = ("http://www.zapjuegos.com/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language9.url2 = "http://www.zapjuegos.com/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language9.language_nr = 9; language9.branding_nr = 3; language9.portal = "tweens"; _languageBox.push(language9); var language10:languageItem = new languageItem(); language10.url1 = ("http://www.clickjogos.com/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language10.url2 = "http://www.clickjogos.com/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language10.language_nr = 11; language10.branding_nr = 7; language10.portal = "tweens"; _languageBox.push(language10); var language11:languageItem = new languageItem(); language11.url1 = ("http://www.games.co.id/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language11.url2 = "http://www.games.co.id/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language11.language_nr = 13; language11.branding_nr = 13; language11.portal = "tweens"; _languageBox.push(language11); var language12:languageItem = new languageItem(); language12.url1 = ("http://www.flashgames.ru/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language12.url2 = "http://www.flashgames.ru/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language12.language_nr = 12; language12.branding_nr = 11; language12.portal = "tweens"; _languageBox.push(language12); var language13:languageItem = new languageItem(); language13.url1 = ("http://www.mygames.co.uk/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language13.url2 = "http://www.mygames.co.uk/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language13.language_nr = 16; language13.branding_nr = 10; language13.portal = "tweens"; _languageBox.push(language13); var language14:languageItem = new languageItem(); language14.url1 = ("http://www.game.co.in/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language14.url2 = "http://www.game.co.in/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language14.language_nr = 16; language14.branding_nr = 12; language14.portal = "tweens"; _languageBox.push(language14); var language15:languageItem = new languageItem(); language15.url1 = ("http://www.asoyun.com/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language15.url2 = "http://www.asoyun.com/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language15.language_nr = 14; language15.branding_nr = 15; language15.portal = "tweens"; _languageBox.push(language15); var language16:languageItem = new languageItem(); language16.url1 = ("http://www.game.com.my/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language16.url2 = "http://www.game.com.my/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language16.language_nr = 15; language16.branding_nr = 16; language16.portal = "tweens"; _languageBox.push(language16); var language17:languageItem = new languageItem(); language17.url1 = ("http://www.ojogos.pt/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language17.url2 = "http://www.ojogos.pt/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language17.language_nr = 10; language17.branding_nr = 42; language17.portal = "family"; _languageBox.push(language17); var language18:languageItem = new languageItem(); language18.url1 = ("http://www.laro.com.ph/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language18.url2 = "http://www.laro.com.ph/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language18.language_nr = 16; language18.branding_nr = 43; language18.portal = "tweens"; _languageBox.push(language18); var language19:languageItem = new languageItem(); language19.url1 = ("http://www.egames.jp/moregames/?utm_source=brandedgames_external&utm_medium=pvnvi&utm_campaign=" + hostingdomain); language19.url2 = "http://www.egames.jp/moregames/?utm_source=brandedgames_internal&utm_medium=pvnvi"; language19.language_nr = 17; language19.branding_nr = 44; language19.portal = "tweens"; _languageBox.push(language19); SpillGroupUrl.push("localhost"); SpillGroupUrl.push("www8.agame.com"); if ((((((languageVersion is Number)) || ((languageVersion is uint)))) || ((languageVersion is int)))){ _languageNum = (Number(languageVersion) - 1); }; } public static function get url1():String{ var _local1:int; while (_local1 < SpillGroupUrl.length) { if (localConnection.domain == SpillGroupUrl[_local1]){ return (_languageBox[_languageNum].url2); }; _local1++; }; return (_languageBox[_languageNum].url1); } public static function get branding_nr():String{ return (_languageBox[_languageNum].branding_nr); } } }//package class languageItem { public var url1:String; public var url2:String; public var language_nr:int; public var portal:String; public var branding_nr:int; private function languageItem(){ } }
Section 41
//LifeboatBitmap (LifeboatBitmap) package { import mx.core.*; public class LifeboatBitmap extends BitmapAsset { } }//package
Section 42
//M (M) package { import flash.events.*; import mx.core.*; import flash.media.*; public class M extends TextButton { private var channel:SoundChannel; private var music:SoundAsset; private var bgTransform:SoundTransform; private var playing:Boolean;// = false private var musicClass:Class; private var fader:Number;// = 0 private var menu:Menu; public function M(_arg1:Menu){ musicClass = M_musicClass; music = SoundAsset(new musicClass()); bgTransform = new SoundTransform(); super(); construct("music"); this.menu = _arg1; addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true); } public function start():void{ if (isOn){ bgTransform.volume = 1; }; if (fader > 0){ channel.stop(); playing = false; }; channel = music.play(25, int.MAX_VALUE); playing = true; channel.soundTransform = bgTransform; } override public function whenPressed():void{ bgTransform.volume = (isOn) ? 1 : 0; if (playing){ channel.soundTransform = bgTransform; }; } private function onEnterFrame(_arg1:Event):void{ if (menu.visible){ if (fader > 0){ fader = (fader - 0.025); if (isOn){ bgTransform.volume = ((fader)>0) ? fader : 0; channel.soundTransform = bgTransform; }; if (fader <= 0){ channel.stop(); playing = false; }; }; }; } public function end():void{ fader = 1; } } }//package
Section 43
//M_musicClass (M_musicClass) package { import mx.core.*; public class M_musicClass extends SoundAsset { } }//package
Section 44
//Menu (Menu) package { import flash.events.*; import flash.display.*; public class Menu extends Sprite { private var pgButton:InviButton; private var ticker:Ticker; private var pirateGame:PirateGame; private var gmgButton:Sprite; public static const MARGIN_INNER:int = 32; public static const MARGIN_OUTER:int = 16; public static const BUTTON_X:int = 67; public static const GMG_Y:int = 140; public static const Y_ADJUST:int = -24; public static const PG_Y:int = 92; public static const BUTTON_WIDTH:int = 244; public static const BUTTON_HEIGHT:int = 32; public function Menu(_arg1:Ticker){ this.ticker = _arg1; var _local2:Bitmap = new MenuBitmap(); graphics.beginFill(0, 0.5); graphics.drawRect(0, 0, (_local2.width + (2 * MARGIN_INNER)), (_local2.height + (2 * MARGIN_INNER))); graphics.endFill(); _local2.x = MARGIN_INNER; _local2.y = Math.floor(((height - _local2.height) / 2)); addChild(_local2); pgButton = new InviButton((_local2.x + BUTTON_X), (_local2.y + PG_Y), BUTTON_WIDTH, BUTTON_HEIGHT); gmgButton = new AgameMoreGamesButton(); gmgButton.x = (((_local2.width + (2 * MARGIN_INNER)) - gmgButton.width) / 2); gmgButton.y = (_local2.y + GMG_Y); pgButton.addEventListener(MouseEvent.CLICK, onPG, false, 0, true); addChild(pgButton); addChild(gmgButton); x = Math.floor(((PiratesVsNinjasVendoIsland.STAGE_WIDTH - width) / 2)); showMenu(); } public function hideMenu():void{ visible = false; } public function setGame(_arg1:PirateGame):void{ this.pirateGame = _arg1; } public function showMenu():void{ ticker.update("v1.01-spillgroup © scriptedfun.com. All rights reserved."); visible = true; } public function onPG(_arg1:Event):void{ hideMenu(); pirateGame.start(); } } }//package
Section 45
//MenuBitmap (MenuBitmap) package { import mx.core.*; public class MenuBitmap extends BitmapAsset { } }//package
Section 46
//MochiAd (MochiAd) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.system.*; import flash.net.*; public class MochiAd { public static function getVersion():String{ return ("2.7"); } public static function showClickAwayAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{ }, ad_finished:function ():void{ }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; var sendHostProgress:Boolean; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; chk["onEnterFrame"] = function ():void{ var _local4:Number; if (!this.parent){ delete this.onEnterFrame; return; }; var _local1:Object = this.parent._mochiad_ctr; var _local2:Number = (getTimer() - this.started); var _local3:Boolean; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; _local3 = true; chk.started = getTimer(); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (this.root == null){ _local3 = true; }; if (_local3){ delete this.onEnterFrame; }; }; doOnEnterFrame(chk); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function _allowDomains(_arg1:String):String{ var _local2:String = _arg1.split("/")[2].split(":")[0]; Security.allowDomain("*"); Security.allowDomain(_local2); Security.allowInsecureDomain("*"); Security.allowInsecureDomain(_local2); return (_local2); } public static function unload(_arg1:Object):Boolean{ if (((_arg1.clip) && (_arg1.clip._mochiad))){ _arg1 = _arg1.clip; }; if (_arg1.origFrameRate != undefined){ _arg1.stage.frameRate = _arg1.origFrameRate; }; if (!_arg1._mochiad){ return (false); }; if (_arg1._mochiad._containerLCName != undefined){ _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"}); }; if (_arg1._mochiad.onUnload){ _arg1._mochiad.onUnload(); }; delete _arg1._mochiad_loaded; delete _arg1._mochiad; return (true); } public static function showInterLevelAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; var ad_msec:Number = 11000; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; var fadeout_time:Number = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = (_arg1 - 250); }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; chk["onEnterFrame"] = function ():void{ var _local4:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; var _local1:Object = this.parent._mochiad_ctr; var _local2:Number = (getTimer() - this.started); var _local3:Boolean; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (_local2 > chk.ad_msec){ _local3 = true; }; if (_local3){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function _parseOptions(_arg1:Object, _arg2:Object):Object{ var _local4:String; var _local5:Array; var _local6:Number; var _local7:Array; var _local3:Object = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; if (_arg1){ for (_local4 in _arg1) { _local3[_local4] = _arg1[_local4]; }; }; if (_local3.clip == undefined){ throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite.")); }; _arg1 = _local3.clip.loaderInfo.parameters.mochiad_options; if (_arg1){ _local5 = _arg1.split("&"); _local6 = 0; while (_local6 < _local5.length) { _local7 = _local5[_local6].split("="); _local3[unescape(_local7[0])] = unescape(_local7[1]); _local6++; }; }; if (_local3.id == "test"){ trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!"); }; return (_local3); } public static function _cleanup(_arg1:Object):void{ var k:String; var lc:LocalConnection; var f:Function; var mc = _arg1; if (("lc" in mc)){ lc = mc.lc; f = function ():void{ try { lc.client = null; lc.close(); } catch(e:Error) { }; }; setTimeout(f, 0); }; var idx:Number = DisplayObjectContainer(mc).numChildren; while (idx > 0) { idx = (idx - 1); DisplayObjectContainer(mc).removeChildAt(idx); }; for (k in mc) { delete mc[k]; }; } public static function load(_arg1:Object):MovieClip{ var clip:Object; var k:String; var server:String; var hostname:String; var lc:LocalConnection; var name:String; var loader:Loader; var g:Function; var req:URLRequest; var v:Object; var options = _arg1; var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; if (!MochiAd._isNetworkAvailable()){ return (null); }; try { if (clip._mochiad_loaded){ return (null); }; } catch(e:Error) { throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; var depth:Number = options.depth; delete options.depth; var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth); var wh:Array = MochiAd._getRes(options, clip); options.res = ((wh[0] + "x") + wh[1]); options.server = (options.server + options.id); delete options.id; clip._mochiad_loaded = true; if (clip.loaderInfo.loaderURL.indexOf("http") == 0){ options.as3_swf = clip.loaderInfo.loaderURL; }; var lv:URLVariables = new URLVariables(); for (k in options) { v = options[k]; if (!(v is Function)){ lv[k] = v; }; }; server = lv.server; delete lv.server; hostname = _allowDomains(server); lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.lc = lc; mc.lcName = name; lv.lc = name; lv.st = getTimer(); loader = new Loader(); g = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); MochiAd.unload(clip); }; loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g); req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime())); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader.load(req); mc.addChild(loader); mc._mochiad_ctr = loader; return (mc); } public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{ var _local4:Array = _arg2.split("."); var _local5:Number = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return (undefined); }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; if (typeof(_arg1[_local4[_local5]]) == "function"){ return (_arg1[_local4[_local5]].apply(_arg1, _arg3)); }; return (undefined); } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{ var _local4:MovieClip = new MovieClip(); if (((false) && (_arg3))){ _arg1.addChildAt(_local4, _arg3); } else { _arg1.addChild(_local4); }; _arg1[_arg2] = _local4; _local4["_name"] = _arg2; return (_local4); } public static function _getRes(_arg1:Object, _arg2:Object):Array{ var _local6:Array; var _local3:Object = _arg2.getBounds(_arg2.root); var _local4:Number = 0; var _local5:Number = 0; if (typeof(_arg1.res) != "undefined"){ _local6 = _arg1.res.split("x"); _local4 = parseFloat(_local6[0]); _local5 = parseFloat(_local6[1]); } else { _local4 = (_local3.xMax - _local3.xMin); _local5 = (_local3.yMax - _local3.yMin); }; if ((((_local4 == 0)) || ((_local5 == 0)))){ _local4 = _arg2.stage.stageWidth; _local5 = _arg2.stage.stageHeight; }; return ([_local4, _local5]); } public static function adShowing(_arg1:Object):void{ _arg1.origFrameRate = _arg1.stage.frameRate; _arg1.stage.frameRate = 30; } public static function getValue(_arg1:Object, _arg2:String):Object{ var _local3:Array = _arg2.split("."); var _local4:Number = 0; while (_local4 < (_local3.length - 1)) { if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){ return (undefined); }; _arg1 = _arg1[_local3[_local4]]; _local4++; }; return (_arg1[_local3[_local4]]); } public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{ var _local4:Object; var _local5:Object; switch (_arg3.id){ case "setValue": MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value); break; case "getValue": _local4 = MochiAd.getValue(_arg1, _arg3.objectName); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4); break; case "runMethod": _local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5); break; default: trace(("[mochiads rpc] unknown rpc id: " + _arg3.id)); }; } public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Array = _arg2.split("."); var _local5:Number = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return; }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; _arg1[_local4[_local5]] = _arg3; } public static function showPreGameAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var complete:Boolean; var unloaded:Boolean; var sendHostProgress:Boolean; var fn:Function; var r:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }, ad_progress:function (_arg1:Number):void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){ options.ad_started(); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); return; }; clip = options.clip; var ad_msec:Number = 11000; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; var fadeout_time:Number = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); var fn:Function = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.x = (w * -0.5); chk.y = (h * -0.5); var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4); if (options.no_progress_bar){ bar.visible = false; delete options.no_progress_bar; } else { bar.x = 10; bar.y = (h - 20); }; var bar_color:Number = options.color; delete options.color; var bar_background:Number = options.background; delete options.background; var bar_outline:Number = options.outline; delete options.outline; var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1); var backing:Object = backing_mc.graphics; backing.beginFill(bar_background); backing.moveTo(0, 0); backing.lineTo((w - 20), 0); backing.lineTo((w - 20), 10); backing.lineTo(0, 10); backing.lineTo(0, 0); backing.endFill(); var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2); var inside:Object = inside_mc.graphics; inside.beginFill(bar_color); inside.moveTo(0, 0); inside.lineTo((w - 20), 0); inside.lineTo((w - 20), 10); inside.lineTo(0, 10); inside.lineTo(0, 0); inside.endFill(); inside_mc.scaleX = 0; var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3); var outline:Object = outline_mc.graphics; outline.lineStyle(0, bar_outline, 100); outline.moveTo(0, 0); outline.lineTo((w - 20), 0); outline.lineTo((w - 20), 10); outline.lineTo(0, 10); outline.lineTo(0, 0); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; complete = false; unloaded = false; var f:Function = function (_arg1:Event):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); complete = true; if (unloaded){ MochiAd.unload(clip); }; }; clip.loaderInfo.addEventListener(Event.COMPLETE, f); if ((clip.root is MovieClip)){ r = (clip.root as MovieClip); if (r.framesLoaded >= r.totalFrames){ complete = true; }; }; mc.unloadAd = function ():void{ unloaded = true; if (complete){ MochiAd.unload(clip); }; }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = _arg1; }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; mc.rpcTestFn = function (_arg1:String):Object{ trace(("[MOCHIAD rpcTestFn] " + _arg1)); return (_arg1); }; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; sendHostProgress = false; mc.sendHostLoadProgress = function (_arg1:String):void{ sendHostProgress = true; }; chk["onEnterFrame"] = function ():void{ var _local11:Number; if (((!(this.parent)) || (!(this.parent.parent)))){ delete this["onEnterFrame"]; return; }; var _local1:Object = this.parent.parent.root; var _local2:Object = this.parent._mochiad_ctr; var _local3:Number = (getTimer() - this.started); var _local4:Boolean; var _local5:Number = _local1.loaderInfo.bytesTotal; var _local6:Number = _local1.loaderInfo.bytesLoaded; if (complete){ _local6 = Math.max(1, _local6); _local5 = _local6; }; var _local7:Number = ((100 * _local6) / _local5); var _local8:Number = ((100 * _local3) / chk.ad_msec); var _local9:Object = this._mochiad_bar._inside; var _local10:Number = Math.min(100, Math.min(((_local7) || (0)), _local8)); _local10 = Math.max(this.last_pcnt, _local10); this.last_pcnt = _local10; _local9.scaleX = (_local10 * 0.01); options.ad_progress(_local10); if (sendHostProgress){ clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7}); if (_local7 == 100){ sendHostProgress = false; }; }; if (!chk.showing){ _local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local11 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){ options.ad_failed(); _local4 = true; }; }; }; if (_local3 > chk.ad_msec){ _local4 = true; }; if (((complete) && (_local4))){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function showPreloaderAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0"); MochiAd.showPreGameAd(_arg1); } public static function showTimedAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0"); MochiAd.showInterLevelAd(_arg1); } public static function doOnEnterFrame(_arg1:MovieClip):void{ var mc = _arg1; var f:Function = function (_arg1:Object):void{ if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){ mc.onEnterFrame(); } else { _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//package
Section 47
//MochiBot (MochiBot) package { import flash.display.*; import flash.system.*; import flash.net.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; 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 48
//MochiInfo (MochiInfo) package { public class MochiInfo { public static const MOCHI_ID:String = "67a6217108a3a4a3"; public static const BOT_ID:String = "4e48dc1b"; } }//package
Section 49
//MyLoader (MyLoader) package { import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class MyLoader extends MovieClip { private const stageHeight:int = 500; private const stageWidth:int = 700; private var spriteBackground:Sprite; private var adFinished:Boolean; public function MyLoader(){ addEventListener(Event.ADDED, onAdded); } private function onEnterFrame(_arg1:Event):void{ var _local2:Class; var _local3:Object; removeEventListener(Event.ENTER_FRAME, onEnterFrame); if (((adFinished) && ((framesLoaded == totalFrames)))){ removeChild(spriteBackground); nextFrame(); _local2 = Class(getDefinitionByName("PiratesVsNinjasVendoIsland")); if (_local2){ _local3 = new (_local2); addChild((_local3 as DisplayObject)); }; } else { addEventListener(Event.ENTER_FRAME, onEnterFrame); }; } private function onAdded(_arg1:Event):void{ removeEventListener(Event.ADDED, onAdded); stop(); stage.showDefaultContextMenu = false; stage.scaleMode = StageScaleMode.EXACT_FIT; spriteBackground = new Sprite(); spriteBackground.graphics.beginFill(0); spriteBackground.graphics.drawRect(-10, -10, (20 + stageWidth), (20 + stageHeight)); spriteBackground.graphics.endFill(); addChild(spriteBackground); adFinished = false; MochiBot.track(this, MochiInfo.BOT_ID); MochiAd.showPreGameAd({clip:root, id:MochiInfo.MOCHI_ID, res:"700x500", ad_finished:onAdFinished}); addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function onAdFinished():void{ adFinished = true; } } }//package
Section 50
//NinjaBitmap (NinjaBitmap) package { import mx.core.*; public class NinjaBitmap extends BitmapAsset { } }//package
Section 51
//Piece (Piece) package { import flash.geom.*; public class Piece { public var rect:Rectangle; public var active:Boolean; private var waterVel:Number; private var dx:Number; private var dy:Number; public var x:Number; public var y:Number; public function update():void{ if (active){ if ((((y > ((PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE) - PirateLifeboat.HEIGHT))) && ((dy > 0)))){ y = (y + waterVel); if (y > (PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE)){ active = false; }; } else { x = (x + dx); y = (y + dy); dy = (dy + Explosion.Y_ACCEL); }; }; } public function setPiece(_arg1:Number, _arg2:Number, _arg3:Rectangle, _arg4:Number, _arg5:Number, _arg6:Number):void{ x = _arg1; y = _arg2; rect = _arg3; this.dx = _arg4; this.dy = _arg5; this.waterVel = _arg6; active = true; } } }//package
Section 52
//PirateBitmap (PirateBitmap) package { import mx.core.*; public class PirateBitmap extends BitmapAsset { } }//package
Section 53
//PirateCargo (PirateCargo) package { import flash.display.*; import flash.geom.*; public class PirateCargo extends PirateObject { public var items:Array; public var doneExploding:Boolean; public var hasMoney:Boolean; private var scoreField:ScoreField; private var active:Boolean; private var itemsField:ItemsField; private var exploding:Boolean; private var stats:Stats; private var soundButton:S; private var bitmaps:Array; private var nextItem:int; private var rect:Rectangle; private var scoreLayer:ScoreLayer; private var projectiles:Array; private var pirateLifeboat:PirateLifeboat; private var x:int; private var y:int; private var katanas:PirateKatanas; public static const ITEMS:int = 4; public static const NEXT_POINT:Point = new Point(((PirateGame.WIDTH - 64) + 19), 66); public static const WIDTH:int = 24; public static const HEIGHT:int = 24; public function PirateCargo(_arg1:BitmapData, _arg2:PirateLifeboat, _arg3:Stats, _arg4:ScoreField, _arg5:ItemsField, _arg6:ScoreLayer, _arg7:S){ var _local8:int; var _local10:BitmapData; super(_arg1); this.pirateLifeboat = _arg2; this.stats = _arg3; this.scoreField = _arg4; this.itemsField = _arg5; this.scoreLayer = _arg6; this.soundButton = _arg7; _arg2.setCargo(this); var _local9:Bitmap = new CargoBitmap(); bitmaps = []; _local8 = 0; while (_local8 < (ITEMS + 1)) { _local10 = new BitmapData(WIDTH, HEIGHT, true, 0); _local10.copyPixels(_local9.bitmapData, new Rectangle((_local8 * WIDTH), 0, WIDTH, HEIGHT), new Point(0, 0)); bitmaps.push(_local10); _local8++; }; rect = new Rectangle(0, 0, WIDTH, HEIGHT); items = []; projectiles = []; _local8 = 0; while (_local8 < ITEMS) { projectiles.push(new Cargo()); _local8++; }; active = false; } public function update():void{ var _local1:Boolean; var _local2:int; if (active){ if (!exploding){ x = (pirateLifeboat.x + ((pirateLifeboat.xDirection == 1)) ? (PirateLifeboat.WIDTH - WIDTH) : 0); y = (pirateLifeboat.y - HEIGHT); } else { _local1 = true; _local2 = 0; while (_local2 < ITEMS) { projectiles[_local2].update(); _local1 = ((!(projectiles[_local2].active)) && (_local1)); _local2++; }; doneExploding = _local1; }; }; } private function reset():void{ hasMoney = true; items.splice(0); setNextItem(); exploding = false; update(); } public function getItem():void{ if (items.length < ITEMS){ soundButton.play(S.CATCH); items.push(nextItem); setNextItem(); if (items.length == ITEMS){ hasMoney = false; }; }; } public function startExploding():void{ var _local1:int; while (_local1 < ITEMS) { projectiles[_local1].setCargo(x, (y - (_local1 * HEIGHT))); _local1++; }; exploding = true; doneExploding = false; } public function hitTest(_arg1:Katana):Boolean{ var _local3:int; var _local2:Point = new Point(_arg1.x, Math.round(_arg1.y)); if (items.length > 0){ _local3 = 0; while (_local3 < items.length) { if (bitmaps[(items[_local3] + 1)].hitTest(new Point(x, (y - (_local3 * HEIGHT))), 0xFF, katanas.bitmap, _local2, 0xFF)){ return (true); }; _local3++; }; }; return (bitmaps[0].hitTest(new Point(x, y), 0xFF, katanas.bitmap, _local2, 0xFF)); } public function start():void{ reset(); active = true; } public function returnItem():void{ var _local1:int; if (items.length > 0){ stats.items++; _local1 = Math.pow(stats.items, items.length); stats.score = (stats.score + _local1); scoreField.wantNum = stats.score; itemsField.update(stats.items); scoreLayer.addScore(stats.items, items.length, _local1); items.pop(); katanas.levelUp(); soundButton.play(S.WIN); } else { if (!hasMoney){ hasMoney = true; soundButton.play(S.WIN); }; }; } public function render():void{ var _local1:int; var _local2:int; var _local3:int; if (active){ if (items.length > 0){ _local3 = 0; while (_local3 < items.length) { if (!exploding){ _local1 = x; _local2 = (y - (_local3 * HEIGHT)); } else { _local1 = projectiles[_local3].x; _local2 = projectiles[_local3].y; }; flexBitmapData.copyPixels(bitmaps[(items[_local3] + 1)], rect, new Point(_local1, _local2)); _local3++; }; } else { if (hasMoney){ if (!exploding){ _local1 = x; _local2 = y; } else { _local1 = projectiles[0].x; _local2 = projectiles[0].y; }; flexBitmapData.copyPixels(bitmaps[0], rect, new Point(_local1, _local2)); }; }; if (hasMoney){ flexBitmapData.copyPixels(bitmaps[(nextItem + 1)], rect, NEXT_POINT); }; }; } private function setNextItem():void{ nextItem = Math.floor(U.randRange(0, ITEMS)); } public function setKatanas(_arg1:PirateKatanas):void{ this.katanas = _arg1; } } }//package
Section 54
//PirateGame (PirateGame) package { import flash.display.*; import flash.geom.*; public class PirateGame { private var scoreField:ScoreField; private var ticker:Ticker; private var pirateSky:PirateSky; private var piratePirate:PiratePirate; private var itemsField:ItemsField; private var stats:Stats; private var pirateStars:PirateStars; private var paused:Boolean; private var pirateNinja:PirateNinja; private var pirateLifeboat:PirateLifeboat; private var musicButton:M; private var pirateShip:PirateShip; private var gameBitmap:BitmapData; private var offsetWant:Number; private var pirateWater:PirateWater; private var pirateIsland:PirateIsland; private var flexBitmapData:BitmapData; private var scoreLayer:ScoreLayer; private var gamePoint:Point; private var pirateCargo:PirateCargo; private var pirateKatanas:PirateKatanas; private var offsetCurrent:Number; private var keyHandler:KeyHandler; private var gameRect:Rectangle; public static const POSITION_GAP:int = 71; public static const OFFSET_TOLERANCE:Number = 1; public static const WIDTH:int = 426; public static const POSITION_NUM:int = 4; public static const HEIGHT:int = FlexBitmapData.HEIGHT; public static const OFFSET_EASE:Number = 0.1; public function PirateGame(_arg1:BitmapData, _arg2:KeyHandler, _arg3:Ticker, _arg4:ScoreField, _arg5:ItemsField, _arg6:Menu, _arg7:ScoreLayer, _arg8:S, _arg9:M){ this.flexBitmapData = _arg1; this.keyHandler = _arg2; this.scoreField = _arg4; this.itemsField = _arg5; this.scoreLayer = _arg7; this.musicButton = _arg9; this.ticker = _arg3; gameBitmap = new BitmapData(WIDTH, HEIGHT, false); gameRect = new Rectangle(0, 0, FlexBitmapData.WIDTH, FlexBitmapData.HEIGHT); gamePoint = new Point(0, 0); stats = new Stats(); pirateSky = new PirateSky(gameBitmap); pirateIsland = new PirateIsland(gameBitmap); pirateShip = new PirateShip(gameBitmap); pirateLifeboat = new PirateLifeboat(gameBitmap, _arg2, _arg3, stats, _arg8, this); piratePirate = new PiratePirate(gameBitmap, pirateLifeboat); pirateNinja = new PirateNinja(gameBitmap); pirateCargo = new PirateCargo(gameBitmap, pirateLifeboat, stats, _arg4, _arg5, _arg7, _arg8); pirateKatanas = new PirateKatanas(gameBitmap, pirateLifeboat, pirateCargo, piratePirate, pirateNinja, pirateSky, _arg6, _arg8, _arg9, stats, _arg3); pirateWater = new PirateWater(gameBitmap); pirateStars = new PirateStars(gameBitmap); _arg6.setGame(this); offsetCurrent = 0; offsetWant = 0; } private function getOffset():Number{ return (U.constrain((pirateLifeboat.getCenterX() - (FlexBitmapData.WIDTH / 2)), 0, (WIDTH - FlexBitmapData.WIDTH))); } public function render():void{ pirateSky.render(); pirateStars.render(); pirateIsland.render(); pirateShip.render(); pirateLifeboat.render(); piratePirate.render(); pirateCargo.render(); pirateLifeboat.render(); pirateKatanas.render(); pirateWater.render(); pirateNinja.render(); flexBitmapData.copyPixels(gameBitmap, gameRect, gamePoint); } public function update(_arg1:Array):void{ var _local2:int; if (((pirateLifeboat.active) && (!(pirateLifeboat.exploding)))){ _local2 = 0; while (_local2 < _arg1.length) { switch (_arg1[_local2]){ case KeyHandler.K_SPACE: paused = !(paused); if (paused){ ticker.saveText(); ticker.update("Game paused. Press SPACE to resume, or Q to quit."); } else { ticker.returnText(); }; break; case KeyHandler.K_Q: if (paused){ paused = false; ticker.returnText(); pirateKatanas.endLife(false); }; break; }; _local2++; }; }; if (!paused){ pirateSky.update(); pirateStars.update(); pirateShip.update(); pirateLifeboat.update(_arg1); piratePirate.update(); pirateCargo.update(); pirateNinja.update(); pirateKatanas.update(); pirateWater.update(pirateLifeboat.xDirection); scoreField.update(); offsetCurrent = U.ease(offsetCurrent, getOffset(), OFFSET_EASE, OFFSET_TOLERANCE); scoreLayer.update(offsetCurrent); gameRect.x = Math.floor(offsetCurrent); }; } public function softReset():void{ pirateLifeboat.reset(true); piratePirate.start(); pirateCargo.start(); pirateKatanas.turnOn(true); } public function start():void{ stats.start(); scoreField.start(); itemsField.start(); pirateLifeboat.start(); piratePirate.start(); pirateCargo.start(); pirateNinja.start(); pirateKatanas.start(); scoreLayer.start(); musicButton.start(); paused = false; } } }//package
Section 55
//PirateIsland (PirateIsland) package { import flash.display.*; import flash.geom.*; public class PirateIsland extends PirateObject { private var point:Point; private var rect:Rectangle; private var bitmap:BitmapData; public function PirateIsland(_arg1:BitmapData){ super(_arg1); var _local2:Bitmap = new IslandBitmap(); bitmap = _local2.bitmapData; rect = new Rectangle(0, 0, bitmap.width, bitmap.height); point = new Point((PirateGame.WIDTH - bitmap.width), ((PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE) - bitmap.height)); } public function render():void{ flexBitmapData.copyPixels(bitmap, rect, point); } } }//package
Section 56
//PirateKatanas (PirateKatanas) package { import flash.display.*; import flash.geom.*; public class PirateKatanas extends PirateObject { private var counter:int; private var katanaColumns:Array; private var pirateSky:PirateSky; private var delay:int; private var nextX:int; private var piratePirate:PiratePirate; private var active:Boolean; private var stats:Stats; private var soundButton:S; private var pirateCargo:PirateCargo; private var menu:Menu; public var isOn:Boolean; private var rect:Rectangle; private var ticker:Ticker; public var bitmap:BitmapData; private var pirateNinja:PirateNinja; private var pirateLifeboat:PirateLifeboat; private var musicButton:M; private var nextPosition:int; private var explosions:Array; public static const EXPLOSION_SIZE_X:int = 4; public static const EXPLOSION_SIZE_Y:int = 6; public static const DELAY_MAX:int = 80; public static const EXPLOSION_NUM_X:int = 2; public static const EXPLOSION_NUM_Y:int = 8; public static const DELAY_MIN:int = 2; public function PirateKatanas(_arg1:BitmapData, _arg2:PirateLifeboat, _arg3:PirateCargo, _arg4:PiratePirate, _arg5:PirateNinja, _arg6:PirateSky, _arg7:Menu, _arg8:S, _arg9:M, _arg10:Stats, _arg11:Ticker){ super(_arg1); this.pirateLifeboat = _arg2; this.pirateCargo = _arg3; this.piratePirate = _arg4; this.pirateNinja = _arg5; this.pirateSky = _arg6; this.menu = _arg7; this.soundButton = _arg8; this.musicButton = _arg9; this.stats = _arg10; this.ticker = _arg11; _arg2.setKatanas(this); _arg3.setKatanas(this); _arg4.setKatanas(this); var _local12:Bitmap = new KatanaBitmap(); bitmap = _local12.bitmapData; rect = new Rectangle(0, 0, bitmap.width, bitmap.height); explosions = []; katanaColumns = []; var _local13:int; while (_local13 < PirateGame.POSITION_NUM) { katanaColumns.push([]); _local13++; }; active = false; } public function turnOn(_arg1:Boolean=false):void{ if (!_arg1){ delay = DELAY_MAX; }; counter = 0; setNextPosition(); isOn = true; } public function update():void{ var _local1:int; var _local2:int; var _local3:Array; var _local4:Katana; var _local5:int; var _local6:int; var _local7:Number; var _local8:Number; var _local9:Number; if (active){ _local2 = 0; while (_local2 < katanaColumns.length) { _local3 = katanaColumns[_local2]; _local1 = 0; while (_local1 < _local3.length) { _local3[_local1].update(); if (((((!(_local3[_local1].forRemoval)) && (!(pirateLifeboat.exploding)))) && (((((pirateLifeboat.hitTest(_local3[_local1])) || (piratePirate.hitTest(_local3[_local1])))) || (pirateCargo.hitTest(_local3[_local1])))))){ _local3[_local1].forRemoval = true; soundButton.play(S.LOSE); ticker.setLives(--stats.lives); endLife((stats.lives > 0)); }; if (_local3[_local1].forRemoval){ _local4 = _local3.splice(_local1, 1)[0]; _local5 = 0; while (_local5 < EXPLOSION_NUM_Y) { _local6 = 0; while (_local6 < EXPLOSION_NUM_X) { _local7 = U.randRange(Explosion.X_VEL_MIN, Explosion.X_VEL_MAX); _local8 = -(U.randRange(Explosion.Y_VEL_MIN, Explosion.Y_VEL_MAX)); _local9 = U.randRange(Explosion.WATER_VEL_MIN, Explosion.WATER_VEL_MAX); explosions.push(new Explosion(new Rectangle((_local6 * EXPLOSION_SIZE_X), (_local5 * EXPLOSION_SIZE_Y), EXPLOSION_SIZE_X, EXPLOSION_SIZE_Y), (_local4.x + (_local6 * EXPLOSION_SIZE_X)), (Math.round(_local4.y) + (_local5 * EXPLOSION_SIZE_Y)), (Math.pow(-1, (_local6 + 1)) * _local7), _local8, _local9)); _local6++; }; _local5++; }; } else { _local1++; }; }; pirateSky.isDark[_local2] = (_local3.length > 0); _local2++; }; _local1 = 0; while (_local1 < explosions.length) { explosions[_local1].update(); if (explosions[_local1].forRemoval){ explosions.splice(_local1, 1); } else { _local1++; }; }; if (isOn){ counter = ((counter + 1) % delay); if (counter == 0){ katanaColumns[nextPosition].push(new Katana(nextX)); setNextPosition(); }; }; }; } public function levelUp():void{ if (((isOn) && ((delay > DELAY_MIN)))){ delay--; }; } public function isEmpty():Boolean{ var _local1:int; while (_local1 < katanaColumns.length) { if (katanaColumns[_local1].length > 0){ return (false); }; _local1++; }; return (true); } public function render():void{ var _local1:int; var _local2:int; var _local3:Array; if (active){ _local1 = 0; while (_local1 < explosions.length) { flexBitmapData.copyPixels(bitmap, explosions[_local1].rect, new Point(Math.round(explosions[_local1].x), Math.round(explosions[_local1].y))); _local1++; }; _local2 = 0; while (_local2 < katanaColumns.length) { _local3 = katanaColumns[_local2]; _local1 = 0; while (_local1 < _local3.length) { flexBitmapData.copyPixels(bitmap, rect, new Point(_local3[_local1].x, Math.round(_local3[_local1].y))); _local1++; }; _local2++; }; }; } private function setNextPosition():void{ nextPosition = Math.floor(U.randRange(0, PirateGame.POSITION_NUM)); nextX = (((nextPosition + 1) * PirateGame.POSITION_GAP) + Math.floor(U.randRange(0, (PirateGame.POSITION_GAP - Katana.BITMAP_WIDTH)))); pirateNinja.setPosition(nextX, (delay / 2)); } private function reset():void{ explosions.splice(0); var _local1:int; while (_local1 < katanaColumns.length) { katanaColumns[_local1].splice(0); _local1++; }; turnOff(); } public function endLife(_arg1:Boolean):void{ pirateLifeboat.startExploding(_arg1); piratePirate.startExploding(); pirateCargo.startExploding(); turnOff(); if (!_arg1){ musicButton.end(); menu.showMenu(); }; } public function turnOff():void{ pirateNinja.setPosition((PirateGame.WIDTH + PirateNinja.WIDTH), (delay / 2)); isOn = false; } public function start():void{ reset(); active = true; } } }//package
Section 57
//PirateLifeboat (PirateLifeboat) package { import flash.display.*; import flash.geom.*; public class PirateLifeboat extends PirateObject { private var midair:Boolean; private var keyHandler:KeyHandler; public var active:Boolean; private var yOffsets:Array; private var yDelay:int; private var yJumps:Array; private var xPositionIndex:int; private var piratePirate:PiratePirate; private var ticker:Ticker; private var stats:Stats; private var soundButton:S; private var xOffsets:Array; private var bitmap:BitmapData; private var pieces:Array; private var waiting:Boolean; private var xPositions:Array; private var yIndex:int; private var pirateCargo:PirateCargo; private var rect:Rectangle; public var exploding:Boolean; private var xOffsetIndex:int; private var lastKey:int; private var pirateGame:PirateGame; public var xDirection:int; public var x:int; public var y:int; private var katanas:PirateKatanas; public static const LOOK_AHEAD:int = 0; public static const POSITION_DELTA:int = 15; public static const PIECES:int = 2; public static const WIDTH:int = 64; public static const HEIGHT:int = 16; public static const Y_DELAY:int = 6; public static const Y_ORIGIN:int = 129; public static const Y_PERIOD:int = 8; public static const JUMP_HEIGHT:int = 16; public static const Y_AMPLITUDE:int = 1; public function PirateLifeboat(_arg1:BitmapData, _arg2:KeyHandler, _arg3:Ticker, _arg4:Stats, _arg5:S, _arg6:PirateGame){ var _local8:int; super(_arg1); this.keyHandler = _arg2; this.ticker = _arg3; this.stats = _arg4; this.soundButton = _arg5; this.pirateGame = _arg6; var _local7:Bitmap = new LifeboatBitmap(); bitmap = _local7.bitmapData; rect = new Rectangle(0, 0, WIDTH, HEIGHT); yOffsets = []; _local8 = 0; while (_local8 < Y_PERIOD) { yOffsets.push(Math.round((Y_AMPLITUDE * Math.sin((((2 * Math.PI) * _local8) / Y_PERIOD))))); _local8++; }; xPositions = []; _local8 = 0; while (_local8 < PirateGame.POSITION_NUM) { xPositions.push((((_local8 + 1) * PirateGame.POSITION_GAP) + Math.round(((PirateGame.POSITION_GAP - WIDTH) / 2)))); _local8++; }; xOffsets = []; yJumps = []; _local8 = 0; while (_local8 < POSITION_DELTA) { xOffsets.push(Math.round(((PirateGame.POSITION_GAP * _local8) / POSITION_DELTA))); yJumps.push(Math.round(((((JUMP_HEIGHT * 4) * _local8) * (POSITION_DELTA - _local8)) / (POSITION_DELTA * POSITION_DELTA)))); _local8++; }; pieces = []; _local8 = 0; while (_local8 < PIECES) { pieces.push(new Piece()); _local8++; }; xDirection = 1; active = false; } public function setCargo(_arg1:PirateCargo):void{ this.pirateCargo = _arg1; } public function render():void{ var _local1:int; if (active){ if (!exploding){ flexBitmapData.copyPixels(bitmap, rect, new Point(x, y)); } else { _local1 = 0; while (_local1 < PIECES) { flexBitmapData.copyPixels(bitmap, pieces[_local1].rect, new Point(Math.round(pieces[_local1].x), Math.round(pieces[_local1].y))); _local1++; }; }; }; } public function startExploding(_arg1:Boolean=false):void{ var _local3:Number; var _local4:Number; var _local5:Rectangle; var _local6:Number; var _local7:Number; var _local8:Number; var _local2:int; while (_local2 < PIECES) { _local3 = (x + ((_local2 * WIDTH) / PIECES)); _local4 = y; _local5 = new Rectangle(((_local2 * WIDTH) / PIECES), 0, (WIDTH / PIECES), HEIGHT); _local6 = (Math.pow(-1, (_local2 + 1)) * U.randRange(Explosion.X_VEL_MIN, Explosion.X_VEL_MAX)); _local7 = -(U.randRange(Explosion.Y_VEL_MIN, Explosion.Y_VEL_MAX)); _local8 = U.randRange(Explosion.WATER_VEL_MIN, Explosion.WATER_VEL_MAX); pieces[_local2].setPiece(_local3, _local4, _local5, _local6, _local7, _local8); _local2++; }; exploding = true; this.waiting = _arg1; } private function atEnd():Boolean{ return (((((!(midair)) && ((xPositionIndex == (PirateGame.POSITION_NUM - 1))))) && (pirateCargo.hasMoney))); } public function setKatanas(_arg1:PirateKatanas):void{ this.katanas = _arg1; } public function update(_arg1:Array):void{ var _local2:int; var _local3:Boolean; if (active){ if (!exploding){ _local2 = 0; while (_local2 < _arg1.length) { switch (_arg1[_local2]){ case KeyHandler.K_LEFT: case KeyHandler.K_A: if (((atEnd()) && ((pirateCargo.items.length > 0)))){ pirateCargo.hasMoney = false; if (!katanas.isOn){ ticker.update("Go left to deliver the items to the ship."); }; } else { if (((!(midair)) && ((xPositionIndex == 0)))){ pirateCargo.returnItem(); if (((((!(katanas.isOn)) && ((stats.score > 0)))) && ((pirateCargo.items.length == 0)))){ if (!pirateCargo.hasMoney){ ticker.update("Press LEFT/A beside the ship to get a new bag of gold."); } else { ticker.update("Keep on repeating this process, and try to get the highest score!\nAvoid the katanas. Good luck!"); }; }; }; }; lastKey = _arg1[_local2]; break; case KeyHandler.K_RIGHT: case KeyHandler.K_D: if (atEnd()){ pirateCargo.getItem(); if (!katanas.isOn){ if (pirateCargo.hasMoney){ ticker.update("You may press RIGHT/D again and again to purchase more items (up to four).\nIf you leave this position before reaching the four-item limit,\nyou may not purchase additional items until you get another bag of gold."); } else { ticker.update("Go left to deliver the items to the ship."); }; }; } else { if (((((((((!(katanas.isOn)) && ((stats.score > 0)))) && (pirateCargo.hasMoney))) && (!(midair)))) && ((xPositionIndex == 0)))){ katanas.turnOn(); ticker.setLives(Stats.LIVES_START); }; }; lastKey = _arg1[_local2]; break; }; _local2++; }; if (!midair){ if (((keyHandler.isDown(lastKey)) && ((((((((lastKey == KeyHandler.K_LEFT)) || ((lastKey == KeyHandler.K_A)))) && ((xPositionIndex > 0)))) || ((((((lastKey == KeyHandler.K_RIGHT)) || ((lastKey == KeyHandler.K_D)))) && ((xPositionIndex < (PirateGame.POSITION_NUM - 1))))))))){ midair = true; xDirection = ((((lastKey == KeyHandler.K_RIGHT)) || ((lastKey == KeyHandler.K_D)))) ? 1 : -1; soundButton.play(S.MOVE); }; }; if (midair){ xOffsetIndex++; if (xOffsetIndex == POSITION_DELTA){ midair = false; xOffsetIndex = 0; xPositionIndex = (xPositionIndex + xDirection); yIndex = 0; yDelay = 0; if (!katanas.isOn){ if (atEnd()){ ticker.update("Press RIGHT/D beside the island to purchase the displayed item."); } else { if ((((xPositionIndex == 0)) && ((pirateCargo.items.length > 0)))){ ticker.update("Press LEFT/A beside the ship to return the items."); }; }; }; }; }; yDelay = ((yDelay + 1) % Y_DELAY); if (yDelay == 0){ yIndex = ((yIndex + 1) % Y_PERIOD); }; computeXY(); } else { _local3 = true; _local2 = 0; while (_local2 < PIECES) { pieces[_local2].update(); _local3 = ((!(pieces[_local2].active)) && (_local3)); _local2++; }; if (((((((((waiting) && (_local3))) && (piratePirate.doneExploding))) && (pirateCargo.doneExploding))) && (katanas.isEmpty()))){ pirateGame.softReset(); }; }; }; } public function hitTest(_arg1:Katana):Boolean{ return (bitmap.hitTest(new Point(x, y), 0xFF, katanas.bitmap, new Point(_arg1.x, Math.round(_arg1.y)), 0xFF)); } public function reset(_arg1:Boolean=false):void{ if (!_arg1){ ticker.update("Press the LEFT/A or RIGHT/D keys to move, SPACE to pause.\nGo right to visit the island."); }; yDelay = 0; yIndex = 0; xPositionIndex = 0; xOffsetIndex = 0; midair = false; lastKey = KeyHandler.K_LEFT; exploding = false; waiting = false; computeXY(); } public function setPirate(_arg1:PiratePirate):void{ this.piratePirate = _arg1; } public function start():void{ reset(); active = true; } public function getCenterX():int{ return (((x + Math.floor((WIDTH / 2))) + (xDirection * LOOK_AHEAD))); } private function computeXY():void{ x = (xPositions[xPositionIndex] + (xDirection * xOffsets[xOffsetIndex])); y = ((Y_ORIGIN - bitmap.height) + (midair) ? -(yJumps[xOffsetIndex]) : yOffsets[yIndex]); } } }//package
Section 58
//PirateNinja (PirateNinja) package { import flash.display.*; import flash.geom.*; public class PirateNinja extends PirateObject { private var currentY:Number; private var delay:int; private var wantX:Number; private var wantY:Number; private var active:Boolean; private var deferredX:Number; private var deferredY:Number; private var deferCounter:int; private var frame:int; private var bitmap:BitmapData; private var currentX:Number; public static const DELAY:int = 8; public static const WIDTH:int = 32; public static const HEIGHT:int = 32; public static const FRAMES:int = 3; public static const TOLERANCE:Number = 1; public static const EASE:Number = 0.05; public static const MARGIN:int = 0; public function PirateNinja(_arg1:BitmapData){ super(_arg1); var _local2:Bitmap = new NinjaBitmap(); bitmap = _local2.bitmapData; active = false; } private function reset():void{ frame = 0; delay = 0; deferCounter = 0; currentX = PirateGame.WIDTH; currentY = PirateGame.HEIGHT; wantX = currentX; wantY = currentY; deferredX = currentX; deferredY = currentY; } public function render():void{ if (active){ flexBitmapData.copyPixels(bitmap, new Rectangle((WIDTH * frame), 0, WIDTH, HEIGHT), new Point(Math.round(currentX), Math.round(currentY))); }; } public function update():void{ if (active){ if (deferCounter > 0){ deferCounter--; if (deferCounter == 0){ wantX = deferredX; wantY = deferredY; }; }; currentX = U.ease(currentX, wantX, EASE, TOLERANCE); currentY = U.ease(currentY, wantY, EASE, TOLERANCE); delay = ((delay + 1) % DELAY); if (delay == 0){ frame = ((frame + 1) % FRAMES); }; }; } public function start():void{ reset(); active = true; } public function setPosition(_arg1:int, _arg2:int):void{ deferredX = (_arg1 - ((WIDTH - Katana.BITMAP_WIDTH) / 2)); deferredY = Math.round(U.randRange(((PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE) + MARGIN), ((PirateGame.HEIGHT - HEIGHT) - MARGIN))); deferCounter = _arg2; } } }//package
Section 59
//PirateObject (PirateObject) package { import flash.display.*; public class PirateObject { public var flexBitmapData:BitmapData; public function PirateObject(_arg1:BitmapData){ this.flexBitmapData = _arg1; } } }//package
Section 60
//PiratePirate (PiratePirate) package { import flash.display.*; import flash.geom.*; public class PiratePirate extends PirateObject { private var delay:int; private var waterVel:Number; private var dx:Number; private var dy:Number; private var exploding:Boolean; private var bitmaps:Array; private var rect:Rectangle; private var frame:int; private var active:Boolean; private var pirateLifeboat:PirateLifeboat; private var x:Number; private var y:Number; public var doneExploding:Boolean; private var katanas:PirateKatanas; public static const FRAMES:int = 2; public static const HEIGHT:int = 32; public static const DELAY:int = 8; public static const WIDTH:int = 32; public function PiratePirate(_arg1:BitmapData, _arg2:PirateLifeboat){ var _local5:BitmapData; super(_arg1); this.pirateLifeboat = _arg2; _arg2.setPirate(this); var _local3:Bitmap = new PirateBitmap(); bitmaps = []; var _local4:int; while (_local4 < (2 * FRAMES)) { _local5 = new BitmapData(WIDTH, HEIGHT, true, 0); _local5.copyPixels(_local3.bitmapData, new Rectangle((_local4 * WIDTH), 0, WIDTH, HEIGHT), new Point(0, 0)); bitmaps.push(_local5); _local4++; }; rect = new Rectangle(0, 0, WIDTH, HEIGHT); active = false; } public function hitTest(_arg1:Katana):Boolean{ return (bitmaps[frame].hitTest(new Point(x, y), 0xFF, katanas.bitmap, new Point(_arg1.x, Math.round(_arg1.y)), 0xFF)); } private function computeXY():void{ if (!exploding){ x = (pirateLifeboat.x + ((pirateLifeboat.xDirection == 1)) ? 0 : (PirateLifeboat.WIDTH - WIDTH)); y = (pirateLifeboat.y - HEIGHT); } else { if (!doneExploding){ if (y < ((PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE) - HEIGHT)){ x = (x + dx); y = (y + dy); dy = (dy + Explosion.Y_ACCEL); } else { y = (y + waterVel); if (y > (PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE)){ doneExploding = true; }; }; }; }; } public function update():void{ var _local1:int; if (active){ computeXY(); delay = ((delay + 1) % DELAY); if (delay == 0){ _local1 = ((pirateLifeboat.xDirection == 1)) ? 0 : FRAMES; frame = (_local1 + ((frame + 1) % FRAMES)); }; }; } private function reset():void{ frame = 0; delay = 0; exploding = false; computeXY(); } public function startExploding():void{ dx = U.randRange(-(Explosion.X_VEL_MAX), Explosion.X_VEL_MAX); dy = -(U.randRange(Explosion.Y_VEL_MIN, Explosion.Y_VEL_MAX)); waterVel = U.randRange(Explosion.WATER_VEL_MIN, Explosion.WATER_VEL_MAX); exploding = true; doneExploding = false; } public function render():void{ if (active){ flexBitmapData.copyPixels(bitmaps[frame], rect, new Point(Math.round(x), Math.round(y))); }; } public function start():void{ reset(); active = true; } public function setKatanas(_arg1:PirateKatanas):void{ this.katanas = _arg1; } } }//package
Section 61
//PirateShip (PirateShip) package { import flash.display.*; import flash.geom.*; public class PirateShip extends PirateObject { private var rect:Rectangle; private var yOffsets:Array; private var yDelay:int; private var bitmap:BitmapData; private var yIndex:int; public static const Y_DELAY:int = 10; public static const Y_PERIOD:int = PirateWater.Y_PERIOD; public static const Y_ORIGIN:int = ((PirateWater.Y_ORIGIN + PirateWater.Y_AMPLITUDE) + Y_AMPLITUDE); public static const Y_AMPLITUDE:int = 1; public function PirateShip(_arg1:BitmapData){ super(_arg1); var _local2:Bitmap = new PirateShipBitmap(); bitmap = _local2.bitmapData; rect = new Rectangle(0, 0, bitmap.width, bitmap.height); yDelay = 0; yIndex = 0; yOffsets = []; var _local3:int; while (_local3 < Y_PERIOD) { yOffsets.push(Math.round((Y_AMPLITUDE * Math.sin((((2 * Math.PI) * _local3) / Y_PERIOD))))); _local3++; }; } public function update():void{ yDelay = ((yDelay + 1) % Y_DELAY); if (yDelay == 0){ yIndex = ((yIndex + 1) % Y_PERIOD); }; } public function render():void{ flexBitmapData.copyPixels(bitmap, rect, new Point(0, ((Y_ORIGIN + yOffsets[yIndex]) - bitmap.height))); } } }//package
Section 62
//PirateShipBitmap (PirateShipBitmap) package { import mx.core.*; public class PirateShipBitmap extends BitmapAsset { } }//package
Section 63
//PirateSky (PirateSky) package { import flash.display.*; import flash.geom.*; public class PirateSky extends PirateObject { public var isDark:Array; private var rect:Rectangle; public var darkness:Array; private var darkBitmaps:Array; private var point:Point; private var bitmap:BitmapData; public static const DELAY:int = 5; public function PirateSky(_arg1:BitmapData){ super(_arg1); var _local2:Bitmap = new SkyBitmap(); bitmap = _local2.bitmapData; var _local3:Bitmap = new DarkSkyBitmap(); var _local4:Bitmap = new DarkerSkyBitmap(); darkBitmaps = [_local3.bitmapData, _local4.bitmapData]; rect = new Rectangle(0, 0, bitmap.width, bitmap.height); point = new Point(0, 0); isDark = []; darkness = []; var _local5:int; while (_local5 < PirateGame.POSITION_NUM) { isDark.push(false); darkness.push(0); _local5++; }; } public function update():void{ var _local1:int; while (_local1 < isDark.length) { if (((isDark[_local1]) && ((darkness[_local1] < ((darkBitmaps.length * DELAY) - 1))))){ var _local2 = darkness; var _local3 = _local1; var _local4 = (_local2[_local3] + 1); _local2[_local3] = _local4; } else { if (((!(isDark[_local1])) && ((darkness[_local1] > 0)))){ _local2 = darkness; _local3 = _local1; _local4 = (_local2[_local3] - 1); _local2[_local3] = _local4; }; }; _local1++; }; } public function render():void{ flexBitmapData.copyPixels(bitmap, rect, point); var _local1:int; while (_local1 < isDark.length) { if (darkness[_local1] > 0){ flexBitmapData.copyPixels(darkBitmaps[Math.floor((darkness[_local1] / DELAY))], new Rectangle(((_local1 + 1) * PirateGame.POSITION_GAP), 0, PirateGame.POSITION_GAP, bitmap.height), new Point(((_local1 + 1) * PirateGame.POSITION_GAP), 0)); }; _local1++; }; } } }//package
Section 64
//PirateStars (PirateStars) package { import flash.display.*; import flash.geom.*; public class PirateStars extends PirateObject { private var offsets:Array; private var points:Array; private var directions:Array; private var bitmap:BitmapData; public static const FRAMES:int = 40; public static const MIN_X:int = 5; public static const MIN_Y:int = 16; public static const STARS_PER_GAP:int = 2; public static const MAX_X:int = (PirateGame.POSITION_GAP - 5); public static const MAX_Y:int = 48; public function PirateStars(_arg1:BitmapData){ var _local4:int; var _local5:int; var _local6:uint; var _local7:int; super(_arg1); bitmap = new BitmapData((3 * FRAMES), 3, true, 0); var _local2:int; while (_local2 < FRAMES) { _local4 = 0; while (_local4 < 3) { _local5 = 0; while (_local5 < 3) { _local6 = 0xFFFF00; switch ((Math.abs((_local4 - 1)) + Math.abs((_local5 - 1)))){ case 0: _local6 = (_local6 + (Math.floor((128 + ((127 * (_local2 + 1)) / FRAMES))) << 24)); break; case 1: _local6 = (_local6 + (Math.floor(((0xFF * (_local2 + 1)) / FRAMES)) << 24)); break; case 2: _local6 = (_local6 + (Math.floor((0xFF * Math.pow(((_local2 + 1) / FRAMES), 2))) << 24)); break; }; bitmap.setPixel32(((3 * _local2) + _local4), _local5, _local6); _local5++; }; _local4++; }; _local2++; }; offsets = []; points = []; directions = []; var _local3:int; while (_local3 < (PirateGame.POSITION_NUM + 2)) { _local7 = 0; while (_local7 < STARS_PER_GAP) { offsets.push(Math.floor(U.randRange(1, (FRAMES - 1)))); points.push(new Point(Math.floor(((_local3 * PirateGame.POSITION_GAP) + U.randRange(MIN_X, MAX_X))), Math.floor(U.randRange(MIN_Y, MAX_Y)))); directions.push(U.randSign()); _local7++; }; _local3++; }; } public function update():void{ var _local1:int; while (_local1 < points.length) { offsets[_local1] = (offsets[_local1] + directions[_local1]); if (offsets[_local1] == 0){ directions[_local1] = 1; } else { if (offsets[_local1] == (FRAMES - 1)){ directions[_local1] = -1; }; }; _local1++; }; } public function render():void{ var _local1:int; while (_local1 < points.length) { flexBitmapData.copyPixels(bitmap, new Rectangle((3 * offsets[_local1]), 0, 3, 3), points[_local1]); _local1++; }; } } }//package
Section 65
//PiratesVsNinjasVendoIsland (PiratesVsNinjasVendoIsland) package { import flash.events.*; import flash.display.*; import flash.net.*; public class PiratesVsNinjasVendoIsland extends Sprite { private var lastTime:int; private var flexBitmap:FlexBitmap; private var ticker:Ticker; private var thisTime:int; private var scoreField:ScoreField; private var flexBitmapData:FlexBitmapData; private var itemsField:ItemsField; private var menu:Menu; private var soundButton:S; private var scoreLayer:ScoreLayer; private var elapsedTime:int; private var pirateGame:PirateGame; public var localConnection:LocalConnection; private var keyHandler:KeyHandler; private var musicButton:M; public static const STAGE_WIDTH:int = 700; public static const STAGE_HEIGHT:int = 500; public static const MS_PER_FRAME:int = 25; public function PiratesVsNinjasVendoIsland(){ var _local2:MovieClip; super(); localConnection = new LocalConnection(); language.Language = Agame.LANGUAGE; addChild(new Background()); flexBitmapData = new FlexBitmapData(); flexBitmap = new FlexBitmap(flexBitmapData); addChild(flexBitmap); keyHandler = new KeyHandler(); ticker = new Ticker(); scoreField = new ScoreField(); itemsField = new ItemsField(); scoreLayer = new ScoreLayer(); menu = new Menu(ticker); scoreField.y = ((((STAGE_HEIGHT - flexBitmap.height) / 2) - (scoreField.height + itemsField.height)) / 2); itemsField.y = (scoreField.y + scoreField.height); ticker.y = ((Ticker.MARGIN + flexBitmap.height) + ((STAGE_HEIGHT - flexBitmap.height) / 2)); menu.y = (Math.floor(((STAGE_HEIGHT - menu.height) / 2)) + Menu.Y_ADJUST); soundButton = new S(); musicButton = new M(menu); soundButton.y = ticker.y; musicButton.y = ticker.y; soundButton.x = ((STAGE_WIDTH - soundButton.width) - 10); musicButton.x = ((soundButton.x - musicButton.width) - 5); pirateGame = new PirateGame(flexBitmapData, keyHandler, ticker, scoreField, itemsField, menu, scoreLayer, soundButton, musicButton); lastTime = new Date().getTime(); elapsedTime = 0; addChild(scoreLayer); addChild(ticker); addChild(scoreField); addChild(itemsField); addChild(menu); addChild(soundButton); addChild(musicButton); addChild(keyHandler); var _local1:Class = PiratesVsNinjasVendoIsland_AgameIntro; _local2 = new (_local1); _local2.addEventListener(MouseEvent.CLICK, onClick); _local2.x = (0.5 * STAGE_WIDTH); _local2.y = (0.5 * STAGE_HEIGHT); addChild(_local2); addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true); } private function onClick(_arg1:MouseEvent):void{ var _local2:URLRequest; if (language.language_nr == 2){ _local2 = new URLRequest(language.url1); } else { _local2 = new URLRequest((language.url1 + "&utm_term=logo_intro")); }; navigateToURL(_local2, "_blank"); } private function onEnterFrame(_arg1:Event):void{ var _local2:Array; stage.focus = keyHandler; thisTime = new Date().getTime(); elapsedTime = (elapsedTime + (thisTime - lastTime)); lastTime = thisTime; while (elapsedTime >= MS_PER_FRAME) { _local2 = keyHandler.getChangedDown(); pirateGame.update(_local2); elapsedTime = (elapsedTime - MS_PER_FRAME); }; pirateGame.render(); } } }//package
Section 66
//PiratesVsNinjasVendoIsland_AgameIntro (PiratesVsNinjasVendoIsland_AgameIntro) package { import mx.core.*; import flash.utils.*; public class PiratesVsNinjasVendoIsland_AgameIntro extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function PiratesVsNinjasVendoIsland_AgameIntro(){ dataClass = PiratesVsNinjasVendoIsland_AgameIntro_dataClass; super(); initialWidth = (16000 / 20); initialHeight = (12000 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 67
//PiratesVsNinjasVendoIsland_AgameIntro_dataClass (PiratesVsNinjasVendoIsland_AgameIntro_dataClass) package { import mx.core.*; public class PiratesVsNinjasVendoIsland_AgameIntro_dataClass extends ByteArrayAsset { } }//package
Section 68
//PirateWater (PirateWater) package { import flash.display.*; import flash.geom.*; public class PirateWater extends PirateObject { private var yOffsets:Array; private var yIndex:int; private var yDelay:int; private var bitmap:BitmapData; public static const Y_AMPLITUDE:int = 2; public static const STRIP_WIDTH:int = 8; public static const Y_PERIOD:int = 8; public static const Y_ORIGIN:int = 126; public static const Y_DELAY:int = 2; public static const STRIP_NUM:int = 71; public function PirateWater(_arg1:BitmapData){ super(_arg1); var _local2:Bitmap = new WaterBitmap(); bitmap = _local2.bitmapData; yDelay = 0; yIndex = 0; yOffsets = []; var _local3:int; while (_local3 < Y_PERIOD) { yOffsets.push(Math.round((Y_AMPLITUDE * Math.sin((((2 * Math.PI) * _local3) / Y_PERIOD))))); _local3++; }; } public function update(_arg1:int):void{ yDelay = ((yDelay + 1) % Y_DELAY); if (yDelay == 0){ yIndex = U.fixMod((yIndex + _arg1), Y_PERIOD); }; } public function render():void{ var _local1:int; while (_local1 < STRIP_NUM) { flexBitmapData.copyPixels(bitmap, new Rectangle((_local1 * STRIP_WIDTH), 0, STRIP_WIDTH, bitmap.height), new Point((_local1 * STRIP_WIDTH), (Y_ORIGIN + yOffsets[((yIndex + _local1) % Y_PERIOD)]))); _local1++; }; } } }//package
Section 69
//S (S) package { import mx.core.*; public class S extends TextButton { private var loseClass:Class; public var sounds:Array; private var moveClass:Class; private var winClass:Class; private var catchClass:Class; public static const MOVE:int = 3; public static const LOSE:int = 2; public static const CATCH:int = 0; public static const WIN:int = 1; public function S(){ catchClass = S_catchClass; winClass = S_winClass; loseClass = S_loseClass; moveClass = S_moveClass; sounds = [SoundAsset(new catchClass()), SoundAsset(new winClass()), SoundAsset(new loseClass()), SoundAsset(new moveClass())]; super(); construct("sound"); } public function play(_arg1:int):void{ if (isOn){ sounds[_arg1].play(25); }; } } }//package
Section 70
//S_catchClass (S_catchClass) package { import mx.core.*; public class S_catchClass extends SoundAsset { } }//package
Section 71
//S_loseClass (S_loseClass) package { import mx.core.*; public class S_loseClass extends SoundAsset { } }//package
Section 72
//S_moveClass (S_moveClass) package { import mx.core.*; public class S_moveClass extends SoundAsset { } }//package
Section 73
//S_winClass (S_winClass) package { import mx.core.*; public class S_winClass extends SoundAsset { } }//package
Section 74
//ScoreField (ScoreField) package { import flash.text.*; public class ScoreField extends TextField { private var textFormat:TextFormat; public var wantNum:Number; private var currentNum:Number; public static const MARGIN:int = 10; public static const TOLERANCE:Number = 1; public static const EASE:Number = 0.1; public function ScoreField(){ x = MARGIN; wantNum = 0; currentNum = 0; textFormat = new TextFormat(); textFormat.color = 0xFFFFFF; textFormat.font = "Arial"; textFormat.size = 20; textFormat.align = TextFormatAlign.LEFT; update(); } public function start():void{ wantNum = 0; } public function update():void{ currentNum = U.ease(currentNum, wantNum, EASE, TOLERANCE); text = ("Score: " + U.styleNumber(Math.floor(currentNum))); setTextFormat(textFormat); autoSize = TextFieldAutoSize.LEFT; selectable = false; textColor = 0xFFFFFF; } } }//package
Section 75
//ScoreLayer (ScoreLayer) package { import flash.display.*; public class ScoreLayer extends Sprite { private var scores:Array; private var bitmapTexter:BitmapTexter; public function ScoreLayer(){ bitmapTexter = new BitmapTexter(); scores = []; } public function update(_arg1:int):void{ var _local2:int; while (_local2 < scores.length) { scores[_local2].update(_arg1); if (scores[_local2].forRemoval){ removeChild(scores[_local2]); scores.splice(_local2, 1); } else { _local2++; }; }; } public function start():void{ var _local1:int; while (_local1 < scores.length) { scores[_local1].forRemoval = true; _local1++; }; } public function addScore(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:ScoreSprite = new ScoreSprite(bitmapTexter, _arg1, _arg2, _arg3); addChild(_local4); scores.push(_local4); } } }//package
Section 76
//ScoreSprite (ScoreSprite) package { import flash.display.*; public class ScoreSprite extends Sprite { public var forRemoval:Boolean; private var lifeStay:int; private var baseX:int; private var multiplier:int; private var lifeMove:int; public static const LIFE_MOVE:int = 8; public static const X_DELTA_MIN:int = 0; public static const X_DELTA_MAX:int = 48; public static const X_OFFSET:int = -72; public static const LIFE_STAY:int = 80; public function ScoreSprite(_arg1:BitmapTexter, _arg2:int, _arg3:int, _arg4:int){ var _local7:Bitmap; var _local8:Bitmap; super(); this.multiplier = _arg3; forRemoval = false; var _local5:int; var _local6:Bitmap = _arg1.makeBitmap(("+" + U.styleNumber(_arg2))); _local6.scaleX = FlexBitmap.SCALE; _local6.scaleY = FlexBitmap.SCALE; addChild(_local6); _local6.x = 0; _local6.y = 0; _local5 = (_local5 + _local6.width); if (_arg3 > 1){ _local7 = _arg1.makeBitmap(new String(_arg3)); addChild(_local7); _local7.x = _local5; _local7.y = 0; _local5 = (_local5 + _local7.width); _local8 = _arg1.makeBitmap(("=" + U.styleNumber(_arg4))); _local8.scaleX = FlexBitmap.SCALE; _local8.scaleY = FlexBitmap.SCALE; addChild(_local8); _local8.x = _local5; _local8.y = 0; }; baseX = ((X_OFFSET + (FlexBitmap.SCALE * PirateGame.POSITION_GAP)) + Math.floor(U.randRange(X_DELTA_MIN, X_DELTA_MAX))); lifeMove = LIFE_MOVE; lifeStay = LIFE_STAY; x = -(width); y = Math.floor((((PiratesVsNinjasVendoIsland.STAGE_HEIGHT - (FlexBitmap.SCALE * FlexBitmapData.HEIGHT)) / 2) + (FlexBitmap.SCALE * ((PirateWater.Y_ORIGIN - PirateLifeboat.HEIGHT) - (_arg3 * PirateCargo.HEIGHT))))); } public function update(_arg1:int):void{ x = (baseX - (FlexBitmap.SCALE * _arg1)); if (lifeMove > 0){ baseX = (baseX + lifeMove--); } else { if (lifeStay-- == 0){ forRemoval = true; }; }; } } }//package
Section 77
//SkyBitmap (SkyBitmap) package { import mx.core.*; public class SkyBitmap extends BitmapAsset { } }//package
Section 78
//Stats (Stats) package { public class Stats { public var items:int; public var score:int; public var lives:int; public static const LIVES_START:int = 3; public function start():void{ score = 0; items = 0; lives = LIVES_START; } } }//package
Section 79
//TextButton (TextButton) package { import flash.events.*; import flash.display.*; import flash.text.*; public class TextButton extends Sprite { private var textFormat:TextFormat; private var sprite:Sprite; private var textField:TextField; public var isOn:Boolean;// = true public function TextButton(){ textFormat = new TextFormat(); textField = new TextField(); sprite = new Sprite(); super(); } public function onClick(_arg1:MouseEvent):void{ isOn = !(isOn); textField.backgroundColor = (isOn) ? 0x8000 : 0x800000; whenPressed(); } public function whenPressed():void{ } public function construct(_arg1:String):void{ textFormat.align = TextFormatAlign.LEFT; textFormat.font = "Arial"; textFormat.bold = true; textFormat.size = 10; textFormat.color = 0xFFFFFF; textField.border = true; textField.borderColor = 0xFFFFFF; textField.background = true; textField.backgroundColor = 0x8000; textField.text = _arg1; textField.autoSize = TextFieldAutoSize.LEFT; textField.setTextFormat(textFormat); textField.x = 0; textField.y = 0; addChild(textField); sprite.graphics.beginFill(0, 0); sprite.graphics.drawRect(0, 0, textField.width, textField.height); sprite.graphics.endFill(); sprite.x = 0; sprite.y = 0; sprite.buttonMode = true; addChild(sprite); sprite.addEventListener(MouseEvent.CLICK, onClick, false, 0, true); } } }//package
Section 80
//Ticker (Ticker) package { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; public class Ticker extends Sprite { private var delay:int; private var textFormat:TextFormat; private var textField:TextField; private var numLives:int; private var pirateData:BitmapData; private var displayLives:Boolean; private var oldDisplayLives:Boolean; private var frame:int; private var bitmap:Bitmap; private var oldText:String; private var backgroundData:BitmapData; private var bitmapData:BitmapData; public static const MARGIN:int = 10; public function Ticker(){ frame = 0; delay = 0; var _local1:Bitmap = new PirateBitmap(); pirateData = _local1.bitmapData; backgroundData = new BitmapData((Stats.LIVES_START * PiratePirate.WIDTH), PiratePirate.HEIGHT, false, 0); bitmapData = new BitmapData((Stats.LIVES_START * PiratePirate.WIDTH), PiratePirate.HEIGHT, false, 0); bitmap = new Bitmap(bitmapData); addChild(bitmap); bitmap.x = 0; bitmap.y = 0; x = MARGIN; textField = new TextField(); textField.x = 0; textField.y = 0; addChild(textField); textFormat = new TextFormat(); textFormat.color = 0xFFFFFF; textFormat.font = "Arial"; textFormat.size = 12; textFormat.align = TextFormatAlign.LEFT; oldText = ""; update(); addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true); } public function setLives(_arg1:int):void{ update(); numLives = _arg1; displayLives = true; } public function update(_arg1:String=" "):void{ displayLives = false; textField.text = _arg1; textField.setTextFormat(textFormat); textField.autoSize = TextFieldAutoSize.LEFT; textField.selectable = false; textField.textColor = 0xFFFFFF; } public function saveText():void{ oldText = textField.text; oldDisplayLives = displayLives; } private function onEnterFrame(_arg1:Event):void{ var _local2:int; bitmapData.copyPixels(backgroundData, new Rectangle(0, 0, (Stats.LIVES_START * PiratePirate.WIDTH), PiratePirate.HEIGHT), new Point(0, 0)); if (displayLives){ _local2 = 0; while (_local2 < numLives) { bitmapData.copyPixels(pirateData, new Rectangle((frame * PiratePirate.WIDTH), 0, PiratePirate.WIDTH, PiratePirate.HEIGHT), new Point((_local2 * PiratePirate.WIDTH), 0)); _local2++; }; delay = ((delay + 1) % PiratePirate.DELAY); if (delay == 0){ frame = ((frame + 1) % 1); }; }; } public function returnText():void{ update(oldText); displayLives = oldDisplayLives; } } }//package
Section 81
//U (U) package { public class U { public static function randSign():int{ return (((Math.random() < 0.5)) ? 1 : -1); } public static function constrain(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (((_arg1 < _arg2)) ? _arg2 : ((_arg1 > _arg3)) ? _arg3 : _arg1); } public static function randRange(_arg1:Number, _arg2:Number):Number{ return ((_arg1 + (Math.random() * (_arg2 - _arg1)))); } public static function styleNumber(_arg1:int):String{ var _local2:String = new String(_arg1); var _local3 = ""; var _local4:int = (_local2.length % 3); var _local5:int = Math.floor((_local2.length / 3)); if (_local4 > 0){ _local3 = (_local3 + _local2.slice(0, _local4)); if (_local5 > 0){ _local3 = (_local3 + ","); }; }; var _local6:int; while (_local6 < _local5) { _local3 = (_local3 + _local2.slice((_local4 + (3 * _local6)), (_local4 + (3 * (_local6 + 1))))); if (_local6 < (_local5 - 1)){ _local3 = (_local3 + ","); }; _local6++; }; return (_local3); } public static function fixMod(_arg1:int, _arg2:int):int{ var _local3:int = (_arg1 % _arg2); return (((_local3 >= 0)) ? _local3 : (_arg2 + _local3)); } public static function ease(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number = (_arg2 - _arg1); return (((Math.abs(_local5) < _arg4)) ? _arg2 : (_arg1 + (_arg3 * (_arg2 - _arg1)))); } } }//package
Section 82
//WaterBitmap (WaterBitmap) package { import mx.core.*; public class WaterBitmap extends BitmapAsset { } }//package

Library Items

Symbol 1 Sound {M_musicClass} [M_musicClass]
Symbol 2 Sound {S_loseClass} [S_loseClass]
Symbol 3 Sound {S_winClass} [S_winClass]
Symbol 4 Sound {S_moveClass} [S_moveClass]
Symbol 5 Sound {S_catchClass} [S_catchClass]
Symbol 6 GraphicUsed by:7
Symbol 7 Button {AgameAssetHitarea} [symbol_hitarea]Uses:6
Symbol 8 FontUsed by:9 11 12 13 14 15 16 17 18 19 20 21 22
Symbol 9 TextUses:8Used by:24
Symbol 10 GraphicUsed by:24
Symbol 11 TextUses:8Used by:24
Symbol 12 TextUses:8Used by:24
Symbol 13 TextUses:8Used by:24
Symbol 14 TextUses:8Used by:24
Symbol 15 TextUses:8Used by:24
Symbol 16 TextUses:8Used by:24
Symbol 17 TextUses:8Used by:24
Symbol 18 TextUses:8Used by:24
Symbol 19 TextUses:8Used by:24
Symbol 20 TextUses:8Used by:24
Symbol 21 TextUses:8Used by:24
Symbol 22 TextUses:8Used by:24
Symbol 23 GraphicUsed by:24
Symbol 24 MovieClip {AgameAssetText1} [symbol_text1]Uses:9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClipUses:25Used by:125
Symbol 27 GraphicUsed by:38
Symbol 28 GraphicUsed by:38
Symbol 29 GraphicUsed by:38
Symbol 30 GraphicUsed by:38
Symbol 31 GraphicUsed by:38
Symbol 32 GraphicUsed by:38
Symbol 33 GraphicUsed by:38
Symbol 34 GraphicUsed by:38
Symbol 35 GraphicUsed by:38
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:36Used by:38
Symbol 38 MovieClipUses:27 28 29 30 31 32 33 34 35 37Used by:125
Symbol 39 GraphicUsed by:40
Symbol 40 MovieClipUses:39Used by:125
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:125
Symbol 43 GraphicUsed by:44
Symbol 44 MovieClipUses:43Used by:125
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClipUses:45Used by:125
Symbol 47 GraphicUsed by:48
Symbol 48 MovieClipUses:47Used by:125
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClipUses:49Used by:125
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClipUses:51Used by:125
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClipUses:53Used by:125
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:125
Symbol 57 GraphicUsed by:58
Symbol 58 MovieClipUses:57Used by:125
Symbol 59 GraphicUsed by:60
Symbol 60 MovieClipUses:59Used by:125
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:61Used by:125
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClipUses:63Used by:125
Symbol 65 GraphicUsed by:66
Symbol 66 MovieClipUses:65Used by:125
Symbol 67 GraphicUsed by:70
Symbol 68 GraphicUsed by:69
Symbol 69 MovieClipUses:68Used by:70 84
Symbol 70 MovieClipUses:67 69Used by:125
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClipUses:71Used by:125
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:73Used by:125
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClipUses:75Used by:125
Symbol 77 GraphicUsed by:78
Symbol 78 MovieClipUses:77Used by:125
Symbol 79 GraphicUsed by:80
Symbol 80 MovieClipUses:79Used by:125
Symbol 81 GraphicUsed by:82
Symbol 82 MovieClipUses:81Used by:125
Symbol 83 GraphicUsed by:84
Symbol 84 MovieClipUses:83 69Used by:125
Symbol 85 GraphicUsed by:86
Symbol 86 MovieClipUses:85Used by:125
Symbol 87 GraphicUsed by:88
Symbol 88 MovieClipUses:87Used by:125
Symbol 89 GraphicUsed by:90
Symbol 90 MovieClipUses:89Used by:125
Symbol 91 GraphicUsed by:92
Symbol 92 MovieClipUses:91Used by:125
Symbol 93 GraphicUsed by:94
Symbol 94 MovieClipUses:93Used by:125
Symbol 95 GraphicUsed by:96
Symbol 96 MovieClipUses:95Used by:125
Symbol 97 GraphicUsed by:98
Symbol 98 MovieClipUses:97Used by:125
Symbol 99 GraphicUsed by:100
Symbol 100 MovieClipUses:99Used by:125
Symbol 101 GraphicUsed by:102
Symbol 102 MovieClipUses:101Used by:125
Symbol 103 GraphicUsed by:104
Symbol 104 MovieClipUses:103Used by:125
Symbol 105 GraphicUsed by:106
Symbol 106 MovieClipUses:105Used by:125
Symbol 107 GraphicUsed by:108
Symbol 108 MovieClipUses:107Used by:125
Symbol 109 GraphicUsed by:110
Symbol 110 MovieClipUses:109Used by:125
Symbol 111 GraphicUsed by:112
Symbol 112 MovieClipUses:111Used by:125
Symbol 113 GraphicUsed by:114
Symbol 114 MovieClipUses:113Used by:125
Symbol 115 GraphicUsed by:116
Symbol 116 MovieClipUses:115Used by:125
Symbol 117 GraphicUsed by:118
Symbol 118 MovieClipUses:117Used by:125
Symbol 119 GraphicUsed by:120
Symbol 120 MovieClipUses:119Used by:125
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClipUses:121Used by:125
Symbol 123 GraphicUsed by:124
Symbol 124 MovieClipUses:123Used by:125
Symbol 125 MovieClip {AgameAssetBrandingAlignedCenter} [symbol_branding_aligned_center]Uses:26 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124
Symbol 126 GraphicUsed by:127
Symbol 127 MovieClip {AgameAssetButtonGraphicBig} [symbol_button_graphic_big]Uses:126
Symbol 128 Bitmap {SkyBitmap}
Symbol 129 Bitmap {KatanaBitmap}
Symbol 130 Bitmap {DarkSkyBitmap}
Symbol 131 Bitmap {WaterBitmap}
Symbol 132 Bitmap {LifeboatBitmap}
Symbol 133 Bitmap {NinjaBitmap}
Symbol 134 Bitmap {MenuBitmap}
Symbol 135 Bitmap {DarkerSkyBitmap}
Symbol 136 BinaryData {PiratesVsNinjasVendoIsland_AgameIntro_dataClass}
Symbol 137 Bitmap {IslandBitmap}
Symbol 138 Bitmap {CargoBitmap}
Symbol 139 Bitmap {PirateBitmap}
Symbol 140 Bitmap {PirateShipBitmap}
Symbol 141 MovieClip {PiratesVsNinjasVendoIsland_AgameIntro}
Symbol 142 Bitmap {FontBitmap}

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 2Symbol 1 as "M_musicClass"
ExportAssets (56)Timeline Frame 2Symbol 2 as "S_loseClass"
ExportAssets (56)Timeline Frame 2Symbol 3 as "S_winClass"
ExportAssets (56)Timeline Frame 2Symbol 4 as "S_moveClass"
ExportAssets (56)Timeline Frame 2Symbol 5 as "S_catchClass"
ExportAssets (56)Timeline Frame 2Symbol 7 as "symbol_hitarea"
ExportAssets (56)Timeline Frame 2Symbol 24 as "symbol_text1"
ExportAssets (56)Timeline Frame 2Symbol 125 as "symbol_branding_aligned_center"
ExportAssets (56)Timeline Frame 2Symbol 127 as "symbol_button_graphic_big"
SerialNumber (41)Timeline Frame 1

Labels

"MyLoader"Frame 1
"two"Frame 2




http://swfchan.com/27/130671/info.shtml
Created: 22/2 -2019 00:56:03 Last modified: 22/2 -2019 00:56:03 Server time: 12/05 -2024 04:30:15