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

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

Plasma Raver.swf

This is the info page for
Flash #56627

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


Text
<p align="center"><font face="Arial_11pt_st" size="11" color="#ff00ff" letterSpacing="0.000000" kerning="1">####</font></p>

Game Over

More Games

Score:

<p align="left"><font face="Arial" size="38" color="#ffffff" letterSpacing="0.000000" kerning="1">#####</font></p>

Main  Menu

Submit Score

Insructions

- This is you, use either wasd or the arrow keys control your movement. Clicking
the mouse will shoot your plasma cannon in the direction of the cursor.

- These are the enemies, shoot to kill, but be aware they will release a
dangerous explosion of plasma when killed.

HUD INFO: The bar at the top of the screen represents your constantly fleeting power
levels. Killing enemies is crucial to staying alive, taking any damage will deplete your
energy stores even further. Keeping your energy bar full will put your ship into a  HYPER
state, allowing you to use advanced homing technology. The
bar at the bottom represents your progress through the
game, each milstone introduces increasingly difficult
enemies.

PlasmaRaver

Play Game

Instructions

ActionScript [AS3]

Section 1
//MochiDigits (mochi.MochiDigits) package mochi { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{ Encoder = 0; setValue(_arg1, _arg2); } public function set value(_arg1:Number):void{ setValue(_arg1); } public function reencode():void{ var _local1:uint; _local1 = int((2147483647 * Math.random())); Fragment = (Fragment ^ (_local1 ^ Encoder)); Encoder = _local1; } public function toString():String{ var _local1:String; _local1 = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ _local1 = (_local1 + Sibling.toString()); }; return (_local1); } public function get value():Number{ return (Number(this.toString())); } public function setValue(_arg1:Number=0, _arg2:uint=0):void{ var _local3:String; _local3 = _arg1.toString(); var _temp1 = _arg2; _arg2 = (_arg2 + 1); Fragment = (_local3.charCodeAt(_temp1) ^ Encoder); if (_arg2 < _local3.length){ Sibling = new MochiDigits(_arg1, _arg2); } else { Sibling = null; }; reencode(); } public function addValue(_arg1:Number):void{ value = (value + _arg1); } } }//package mochi
Section 2
//MochiScores (mochi.MochiScores) package mochi { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var n:Number; var options = _arg1; if (options != null){ if (options.clip != null){ if ((options.clip is Sprite)){ MochiServices.setContainer(options.clip); }; delete options.clip; } else { MochiServices.setContainer(); }; MochiServices.stayOnTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } else { if ((options.score is MochiDigits)){ options.score = options.score.value; }; }; n = Number(options.score); if (isNaN(n)){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'")); } else { if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite")); } else { if (Math.floor(n) != n){ trace((("WARNING: Submitted score '" + options.score) + "' will be truncated")); }; options.score = n; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; _local2 = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ _arg1 = Number(_arg1); if (isNaN(_arg1)){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'")); } else { if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite")); } else { if (Math.floor(_arg1) != _arg1){ trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated")); }; _arg1 = Number(_arg1); }; }; MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (_arg1 != null){ if (_arg1.error != null){ if (_arg1.error == true){ if (onErrorHandler != null){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; }; }; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi
Section 3
//MochiServices (mochi.MochiServices) package mochi { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _listenChannel:LocalConnection; private static var _timer:Timer; private static var _sendChannelName:String; private static var _startTime:Number; private static var _connecting:Boolean = false; public static var onError:Object; private static var _listenChannelName:String = "__ms_"; private static var _servicesURL:String = "http://www.mochiads.com/static/lib/services/services.swf"; public static var netup:Boolean = true; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ onError("NotConnected"); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } public static function get connected():Boolean{ return (_connected); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (_clip != null){ if (_clip._queue != null){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; }; } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local3:Array; var _local4:int; var _local5:Array; var _local6:Array; var _local7:MovieClip; var _local8:LocalConnection; var _local9:String; var _local10:ByteArray; var _local11:ByteArray; var _local12:uint; var _local13:uint; var _local14:Loader; _local3 = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; _local5 = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; _local6 = [0, 64, 0, 0, 0]; _local7 = new MovieClip(); _local8 = new LocalConnection(); _local9 = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime())); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); _local10 = new ByteArray(); _local11 = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); _local12 = ((_local3.length + _local11.length) + 4); _local13 = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function get childClip():Object{ return (_clip); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var vars:Object; var avm1Click:DisplayObject; var s:String; var i:Number; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; vars = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); s = "?"; i = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (_arg1:String):void{ var _local2:Rectangle; if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(_arg1, onClick); _local2 = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = _local2.x; avm1Click.y = _local2.y; avm1Click.scaleX = (0.01 * _local2.width); avm1Click.scaleY = (0.01 * _local2.height); }; err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); setURL(burl); }; complete = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _listenChannel.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; }; return (_local2); } public static function getVersion():String{ return ("1.43"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); if (_clip.parent != null){ Sprite(_clip.parent).removeChild(_clip); }; } private static function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "error": _connected = false; _listenChannel.connect(_listenChannelName); break; }; } public static function get id():String{ return (_id); } private static function urlOptions(_arg1:Object):Object{ var _local2:Object; var _local3:String; var _local4:Array; var _local5:Number; var _local6:Array; _local2 = {}; _local3 = _arg1.loaderInfo.parameters.mochiad_options; if (_local3){ _local4 = _local3.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5].split("="); _local2[unescape(_local6[0])] = unescape(_local6[1]); _local5++; }; }; return (_local2); } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } private static function initComChannels():void{ if (!_connected){ _sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _listenChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _clip.onReceive = function (_arg1:Object):void{ var cb:String; var cblst:Object; var method:*; var methodName:String; var obj:Object; var pkg = _arg1; cb = pkg.callbackID; cblst = this.client._callbacks[cb]; if (!cblst){ return; }; method = cblst.callbackMethod; methodName = ""; obj = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete this.client._callbacks[cb]; }; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; trace("connected!"); _connecting = false; _connected = true; while (_clip._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function listen():void{ _listenChannel = new LocalConnection(); _listenChannel.client = _clip; _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; _listenChannel.allowDomain("*", "localhost"); _listenChannel.allowInsecureDomain("*", "localhost"); _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var clipname:String; var f:Function; var req:URLRequest; var vars:URLVariables; var id = _arg1; var clip = _arg2; clipname = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(clip).servicesURL != undefined){ _servicesURL = urlOptions(clip).servicesURL; }; MochiServices.allowDomains(_servicesURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); _loader = new Loader(); _timer = new Timer(1000, 0); _startTime = getTimer(); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); f = function (_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor((Math.random() * 99999)))); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); req = new URLRequest(_servicesURL); vars = new URLVariables(); vars.listenLC = _listenChannelName; vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options; req.data = vars; _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _clip._nextcallbackID = 0; _clip._callbacks = {}; listen(); return (_clip); } public static function get clip():Object{ return (_container); } public static function bringToTop(_arg1:Event):void{ var e = _arg1; if (MochiServices.clip != null){ if (MochiServices.childClip != null){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; }; } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var mc:MovieClip; var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; mc = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function connectWait(_arg1:TimerEvent):void{ if ((getTimer() - _startTime) > 10000){ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _timer.stop(); }; } } }//package mochi
Section 4
//MainTimeline (PlasmaRaver_fla.MainTimeline) package PlasmaRaver_fla { import flash.display.*; import flash.events.*; import mochi.*; import flash.media.*; import flash.text.*; import flash.filters.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var enemyShotDelay:int; public var menuMusic:MenuMusic; public var nextGameState:int; public var laserShoot:LaserShoot; public var weapon:int; public var menuMusicChannel:SoundChannel; public var damagePenalty:int; public var enemies:Array; public var bossShipColSize:int; public var swarmacc:Number; public var toDegCoef:Number; public var bf:BlurFilter; public var bg:Bitmap; public var bulColSize2:int; public var overlay:Bitmap; public var playerShipSize:int; public var bf2:BlurFilter; public var bossHurtBonus:int; public var bg_bmd:BitmapData; public var playerShipMaxVelo:int; public var spawnTimer:Timer; public var ui:UI; public var score:int; public var transoverlay:FadeOverlay; public var shotDelay:int; public var bossMusic:BossMusic; public var playerShip:PlayerShip; public var isSpaceDown:Boolean; public var mainMenu:MainMenu; public var toRadCoef:Number; public var ballHitPenalty:int; public var isMouseDown:Boolean; public var bulColSize:Array; public var fps:int; public var fpsBackground:Sprite; public var displayScore:int; public var friction:Number; public var screenflash:Sprite; public var bossDelayCounter:int; public var backgroundMusic2Channel:SoundChannel; public var maxswarmvelo:int; public var shotDelayCounter:int; public var explosion:Explosion; public var overlay_bmd:BitmapData; public var displayProgress:Number; public var bossMusicChannel:SoundChannel; public var bossRadiusSq:int; public var isRaveMode:Boolean; public var isRunning:Boolean; public var fadeOut:Boolean; public var mouseAngle:Number; public var cursor:Cursor; public var playerShipVeloY:Number; public var boss:Boss; public var playerShipVeloX:Number; public var backgroundMusicChannel:SoundChannel; public var backgroundMusic2:BackgroundMusic2; public var bossColSize:int; public var shipDesBonus:int; public var level:int; public var bossStage:Boolean; public var distx:int; public var distt:int; public var backgroundMusic:BackgroundMusic; public var disty:int; public var raveseconds:int; public var instructions:Instructions; public var enemieshit:int; public var bullets:Array; public var fpsText:TextField; public var bossShotDelay:int; public var np:PlasmaBullet; public var shipColSize:Array; public var gameState:int; public var shotsfired:int; public var bg_mc:Background; public var normalseconds:int; public var fpsTimer:Timer; public var raveTransform:ColorTransform; public var gameOverScreen:GameOverScreen; public var keys:Array; public var isStarted:Boolean; public function MainTimeline(){ addFrameScript(0, frame1, 1, frame2); } public function mainMenuBtnHandler(_arg1:MouseEvent):void{ nextGameState = 0; } public function enterFrameHandler(_arg1:Event):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:PlasmaBullet; var _local6:BasicShip; var _local7:Part; var _local8:Part; var _local9:Number; var _local10:BasicShip; var _local11:Part; var _local12:Part; var _local13:BasicShip; var _local14:BasicShip; var _local15:int; var _local16:Number; var _local17:PlasmaBullet; var _local18:BasicShip; var _local19:int; var _local20:int; var _local21:Number; var _local22:int; fps++; if (fadeOut == true){ if (transoverlay.alpha <= 0){ fadeOut = false; } else { transoverlay.alpha = (transoverlay.alpha - 0.05); }; }; if (gameState != nextGameState){ if (transoverlay.alpha >= 1){ mainMenu.visible = false; gameState = nextGameState; fadeOut = true; } else { transoverlay.alpha = (transoverlay.alpha + 0.05); }; } else { if (gameState == 0){ mainMenu.visible = true; gameOverScreen.visible = (instructions.visible = false); bossMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusic2Channel.soundTransform = new SoundTransform(0, 0); menuMusicChannel.soundTransform = new SoundTransform(1, 0); } else { if (gameState == 2){ instructions.visible = true; mainMenu.visible = (gameOverScreen.visible = false); bossMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusic2Channel.soundTransform = new SoundTransform(0, 0); menuMusicChannel.soundTransform = new SoundTransform(1, 0); } else { if (gameState == 3){ gameOverScreen.visible = true; mainMenu.visible = (instructions.visible = false); gameOverScreen.scoretext.text = score.toString(); bossMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusic2Channel.soundTransform = new SoundTransform(0, 0); menuMusicChannel.soundTransform = new SoundTransform(1, 0); } else { if (gameState == 1){ mainMenu.visible = (gameOverScreen.visible = (instructions.visible = false)); _local2 = 0; _local3 = 0; _local2 = 0; while (_local2 < bullets.length) { _local5 = bullets[_local2]; if (_local5.hasOwnership == true){ _local3 = 0; while (_local3 < enemies.length) { _local6 = enemies[_local3]; if (_local5.hasOwnership == true){ distx = (_local6.x - _local5.x); disty = (_local6.y - _local5.y); distt = Math.abs(((distx * distx) + (disty * disty))); if (distt <= bulColSize[level]){ _local6.remove = true; _local5.remove = true; }; }; _local3++; }; if (bossStage == true){ _local3 = 0; while (_local3 < boss.balls.length) { _local7 = boss.balls[_local3]; if (_local7.active == true){ distx = (_local7.x - _local5.x); disty = (_local7.y - _local5.y); distt = Math.abs(((distx * distx) + (disty * disty))); if (distt <= bossColSize){ boss.hurt[_local3].alpha = 1; _local5.remove = true; _local7.health--; score = (score + bossHurtBonus); }; }; _local3++; }; }; } else { distx = (playerShip.x - bullets[_local2].x); disty = (playerShip.y - bullets[_local2].y); distt = Math.abs(((distx * distx) + (disty * disty))); if (distt <= bulColSize2){ _local5.remove = true; playerShip.gotoAndPlay(2); score = (score - damagePenalty); }; }; _local2++; }; if (bossStage == true){ _local2 = 0; while (_local2 < boss.balls.length) { _local8 = boss.balls[_local2]; distx = (playerShip.x - _local8.x); disty = (playerShip.y - _local8.y); distt = Math.abs(((distx * distx) + (disty * disty))); if (distt <= bossShipColSize){ distt = (Math.sqrt(bossShipColSize) - Math.sqrt(distt)); score = (score - ballHitPenalty); playerShip.gotoAndPlay(2); _local9 = Math.atan2(disty, distx); playerShip.x = (playerShip.x + (Math.cos(_local9) * distt)); playerShip.y = (playerShip.y + (Math.sin(_local9) * distt)); }; _local2++; }; }; _local2 = 0; while (_local2 < enemies.length) { _local10 = enemies[_local2]; distx = (_local10.x - playerShip.x); disty = (_local10.y - playerShip.y); distt = Math.abs(((distx * distx) + (disty * disty))); if (distt <= shipColSize[level]){ _local10.explodeOnDeath = false; _local10.remove = true; playerShip.gotoAndPlay(2); score = (score - damagePenalty); }; _local2++; }; score = (score - 0.5); disty = (mouseY - playerShip.y); distx = (mouseX - playerShip.x); mouseAngle = (Math.atan2(disty, distx) * toDegCoef); playerShip.rotation = mouseAngle; playerShip.x = (playerShip.x + playerShipVeloX); playerShip.y = (playerShip.y + playerShipVeloY); if (playerShip.x > (stage.stageWidth + (playerShipSize / 2))){ playerShip.x = 0; }; if (playerShip.x < (-(playerShipSize) / 2)){ playerShip.x = stage.stageWidth; }; if (playerShip.y > (stage.stageHeight + (playerShipSize / 2))){ playerShip.y = 0; }; if (playerShip.y < (-(playerShipSize) / 2)){ playerShip.y = stage.stageHeight; }; playerShipVeloX = (playerShipVeloX * friction); playerShipVeloY = (playerShipVeloY * friction); if (((keys[38]) || (keys[87]))){ playerShipVeloY = -(playerShipMaxVelo); }; if (((keys[40]) || (keys[83]))){ playerShipVeloY = playerShipMaxVelo; }; if (((keys[37]) || (keys[65]))){ playerShipVeloX = -(playerShipMaxVelo); }; if (((keys[39]) || (keys[68]))){ playerShipVeloX = playerShipMaxVelo; }; if (bossStage == true){ if (boss.alpha < 1){ boss.alpha = (boss.alpha + 0.02); }; _local2 = 0; while (_local2 < boss.hurt.length) { if (boss.hurt[_local2].alpha > 0){ boss.hurt[_local2].alpha = (boss.hurt[_local2].alpha - 0.2); }; _local2++; }; _local2 = 0; while (_local2 < boss.balls.length) { _local11 = boss.balls[_local2]; if (_local11.active == true){ if (_local11.health <= 0){ _local11.active = false; }; } else { if (_local11.alpha > 0){ _local11.alpha = (_local11.alpha - 0.1); } else { boss.removeChild(_local11); boss.removeChild(boss.hurt[_local2]); boss.balls.splice(_local2, 1); boss.hurt.splice(_local2, 1); }; }; _local2++; }; if (bossDelayCounter >= bossShotDelay){ _local2 = 0; while (_local2 < boss.balls.length) { _local12 = boss.balls[_local2]; if (_local12.active == true){ if (enemies.length < ((level * 2) + 3)){ _local13 = new BasicShip(level); _local13.x = _local12.x; _local13.y = _local12.y; addChild(_local13); enemies.push(_local13); }; }; _local2++; }; bossDelayCounter = 0; } else { bossDelayCounter++; }; }; _local2 = 0; while (_local2 < enemies.length) { _local14 = enemies[_local2]; if (_local14.remove == true){ if (_local14.explodeOnDeath == true){ if (isRaveMode == true){ _local15 = 12; } else { _local15 = 6; }; _local3 = 0; while (_local3 < _local15) { _local16 = (((360 / _local15) * _local3) * toRadCoef); np = new PlasmaBullet(); np.hasOwnership = false; np.x = _local14.x; np.y = _local14.y; np.rotation = (_local16 * toDegCoef); np.xvelo = (Math.cos(_local16) * 2); np.yvelo = (Math.sin(_local16) * 2); addChild(np); bullets.push(np); _local3++; }; score = (score + shipDesBonus); }; explosion.play(0, 1); removeChild(_local14); enemies.splice(_local2, 1); enemieshit++; } else { if (_local14.alpha < 1){ _local14.alpha = (_local14.alpha + 0.1); }; if (_local14.shiptype != 4){ if (_local14.shotDelayCounter > enemyShotDelay){ distx = (playerShip.x - _local14.x); disty = (playerShip.y - _local14.y); _local4 = Math.atan2(disty, distx); np = new PlasmaBullet(); np.hasOwnership = false; np.x = _local14.x; np.y = _local14.y; np.rotation = (_local4 * toDegCoef); np.xvelo = (Math.cos(_local4) * 2); np.yvelo = (Math.sin(_local4) * 2); addChild(np); bullets.push(np); _local14.shotDelayCounter = 0; } else { _local14.shotDelayCounter++; }; }; if (_local14.shiptype == 2){ if (_local14.newpostimer < 15){ _local14.newpostimer++; } else { _local14.newpostimer = 0; _local14.destx = (Math.random() * stage.stageWidth); _local14.desty = (Math.random() * stage.stageHeight); }; if (_local14.x < _local14.destx){ _local14.x++; }; if (_local14.x > _local14.destx){ _local14.x--; }; if (_local14.y < _local14.desty){ _local14.y++; }; if (_local14.y > _local14.desty){ _local14.y--; }; } else { if (_local14.shiptype == 4){ if (_local14.x < playerShip.x){ _local14.xvelo = (_local14.xvelo + swarmacc); }; if (_local14.x > playerShip.x){ _local14.xvelo = (_local14.xvelo - swarmacc); }; if (_local14.y < playerShip.y){ _local14.yvelo = (_local14.yvelo + swarmacc); }; if (_local14.y > playerShip.y){ _local14.yvelo = (_local14.yvelo - swarmacc); }; if (_local14.xvelo > maxswarmvelo){ _local14.xvelo = maxswarmvelo; }; if (_local14.xvelo < -(maxswarmvelo)){ _local14.xvelo = -(maxswarmvelo); }; if (_local14.yvelo > maxswarmvelo){ _local14.yvelo = maxswarmvelo; }; if (_local14.yvelo < -(maxswarmvelo)){ _local14.yvelo = -(maxswarmvelo); }; _local14.x = (_local14.x + _local14.xvelo); _local14.y = (_local14.y + _local14.yvelo); } else { if (_local14.seeking == true){ if ((((_local14.x == _local14.destx)) && ((_local14.y == _local14.desty)))){ _local14.seeking = false; } else { if (_local14.x < _local14.destx){ _local14.x++; }; if (_local14.x > _local14.destx){ _local14.x--; }; if (_local14.y < _local14.desty){ _local14.y++; }; if (_local14.y > _local14.desty){ _local14.y--; }; }; } else { _local14.seeking = true; _local14.destx = (Math.random() * stage.stageWidth); _local14.desty = (Math.random() * stage.stageHeight); }; }; }; }; _local2++; }; _local2 = 0; while (_local2 < bullets.length) { _local17 = bullets[_local2]; if (_local17.remove == true){ removeChild(_local17); bullets.splice(_local2, 1); } else { if (_local17.hasOwnership == false){ _local17.play(); }; if (_local17.getHoming() == true){ if (_local17.getHasTarget() == true){ _local18 = _local17.getTarget(); _local19 = (_local17.x - _local18.x); _local20 = (_local17.y - _local18.y); _local21 = Math.atan2(_local20, _local19); _local17.xvelo = (_local17.xvelo - (Math.cos(_local21) * 2)); _local17.yvelo = (_local17.yvelo - (Math.sin(_local21) * 2)); if (_local18.remove == true){ _local17.setHasTarget(false); }; } else { if (enemies.length > 0){ _local17.setHasTarget(true); _local22 = ((Math.random() * enemies.length) - 1); _local17.setTarget(enemies[_local22]); }; }; }; if ((((((((_local17.x > (stage.stageWidth + 50))) || ((_local17.x < -50)))) || ((_local17.y > (stage.stageHeight + 50))))) || ((_local17.y < -50)))){ _local17.remove = true; }; _local17.x = (_local17.x + _local17.xvelo); _local17.y = (_local17.y + _local17.yvelo); }; _local2++; }; if (shotDelayCounter == shotDelay){ if (isMouseDown == true){ shotsfired++; laserShoot.play(0, 1); _local17 = new PlasmaBullet(); _local17.x = playerShip.x; _local17.y = playerShip.y; _local17.rotation = mouseAngle; _local17.xvelo = (Math.cos((mouseAngle * toRadCoef)) * 4); _local17.yvelo = (Math.sin((mouseAngle * toRadCoef)) * 4); if (weapon == 2){ _local17.setHoming(true); }; addChild(_local17); bullets.push(_local17); }; shotDelayCounter = 0; } else { shotDelayCounter++; }; if (screenflash.alpha > 0){ screenflash.alpha = (screenflash.alpha - 0.1); }; if (score <= 0){ nextGameState = 3; score = ((((raveseconds / (normalseconds + raveseconds)) * 10000) * (enemieshit / shotsfired)) * 100); }; if (score >= 450){ isRaveMode = true; } else { isRaveMode = false; }; displayScore = (displayScore + Math.round(((score - displayScore) * 0.4))); ui.score.text.text = Math.round(score); ui.score.bar.scaleX = (displayScore / 450); if (ui.score.bar.scaleX > 1){ ui.score.bar.scaleX = 1; }; ui.score.marker.x = ui.score.bar.width; if (bossStage == false){ if (isRaveMode == true){ displayProgress = (displayProgress + 0.1); bossMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusic2Channel.soundTransform = new SoundTransform(1, 0); menuMusicChannel.soundTransform = new SoundTransform(0, 0); } else { displayProgress = (displayProgress + 0.05); bossMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusicChannel.soundTransform = new SoundTransform(1, 0); backgroundMusic2Channel.soundTransform = new SoundTransform(0, 0); menuMusicChannel.soundTransform = new SoundTransform(0, 0); }; ui.progress.bar.scaleX = (displayProgress / 450); if (ui.progress.bar.scaleX > 1){ ui.progress.bar.scaleX = 1; }; ui.progress.marker.x = ui.progress.bar.width; } else { if (boss.getHealth() <= 0){ nextGameState = 3; score = (((((raveseconds / (normalseconds + raveseconds)) * 10000) * (enemieshit / shotsfired)) * 100) + 150000); } else { ui.progress.bar.scaleX = ((300 + (150 - ((boss.getHealth() / boss.maxhealth) * 150))) / 450); if (ui.progress.bar.scaleX > 1){ ui.progress.bar.scaleX = 1; }; ui.progress.marker.x = ui.progress.bar.width; }; bossMusicChannel.soundTransform = new SoundTransform(1, 0); backgroundMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusic2Channel.soundTransform = new SoundTransform(0, 0); menuMusicChannel.soundTransform = new SoundTransform(0, 0); }; if (displayProgress >= 450){ if (ui.progress.markers.currentFrame == 60){ ui.progress.markers.play(); fullClear(); }; } else { if (displayProgress > 300){ if (ui.progress.markers.currentFrame == 40){ ui.progress.markers.play(); fullClear(); level = 4; if (bossStage == false){ bossStage = true; boss = new Boss(200); addChild(boss); }; }; } else { if (displayProgress > 200){ if (ui.progress.markers.currentFrame == 20){ ui.progress.markers.play(); fullClear(); level = 3; }; } else { if (displayProgress > 100){ if (ui.progress.markers.currentFrame == 1){ ui.progress.markers.play(); fullClear(); level = 2; }; }; }; }; }; if (bossStage == true){ addChild(boss); }; addChild(playerShip); addChild(ui); if (isRaveMode == true){ bg.visible = false; overlay.visible = false; overlay_bmd.lock(); overlay_bmd.draw(stage); overlay_bmd.applyFilter(overlay_bmd, overlay_bmd.rect, new Point(0, 0), bf2); overlay_bmd.unlock(); overlay.visible = true; raveTransform = new ColorTransform(0, 0, 0, 1, ((Math.random() * 0xFF) + 125), ((Math.random() * 0xFF) + 125), ((Math.random() * 0xFF) + 125), 1); ui.score.bar.transform.colorTransform = raveTransform; weapon = 2; } else { bg.visible = true; overlay.visible = false; bg_bmd.lock(); bg_bmd.draw(stage); bg_bmd.applyFilter(bg_bmd, bg_bmd.rect, new Point(0, 0), bf); bg_bmd.unlock(); raveTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 1); ui.score.bar.transform.colorTransform = raveTransform; weapon = 1; }; }; }; }; }; }; addChild(mainMenu); addChild(instructions); addChild(gameOverScreen); addChild(fpsBackground); addChild(fpsText); addChild(cursor); addChild(transoverlay); } public function submitScoreBtnHandler(_arg1:MouseEvent):void{ MochiScores.showLeaderboard({boardID:"7a8df6223a11779d", score:score}); } public function mouseMoveHandler(_arg1:MouseEvent):void{ cursor.x = mouseX; cursor.y = mouseY; Mouse.hide(); } public function keyDownHandler(_arg1:KeyboardEvent):void{ keys[_arg1.keyCode] = true; if ((((_arg1.keyCode == 32)) && ((isSpaceDown == false)))){ isSpaceDown = true; }; } function frame1(){ MochiServices.connect("355937bd69eead72", root); MochiAd.showPreGameAd({clip:root, id:"355937bd69eead72", res:"540x400"}); } function frame2(){ stop(); toDegCoef = (180 / Math.PI); toRadCoef = (Math.PI / 180); gameState = -1; nextGameState = 0; playerShipMaxVelo = 3; playerShipSize = 30; bulColSize = [null, ((3 + 20) * (3 + 20)), ((3 + 12) * (3 + 12)), ((3 + 7) * (3 + 7)), ((3 + 5) * (3 + 5))]; shipColSize = [null, ((17 + 20) * (17 + 20)), ((17 + 12) * (17 + 12)), ((17 + 7) * (17 + 7)), ((17 + 5) * (17 + 5))]; bulColSize2 = ((3 + 20) * (3 + 20)); bossColSize = ((3 + 90) * (3 + 90)); bossShipColSize = ((17 + 90) * (17 + 90)); bossRadiusSq = (90 * 90); enemyShotDelay = 65; shotDelay = 5; bossShotDelay = 100; friction = 0.75; shipDesBonus = 55; bossHurtBonus = 12; damagePenalty = 50; ballHitPenalty = 50; swarmacc = 0.2; maxswarmvelo = 4; fadeOut = false; screenflash = new Sprite(); enemies = new Array(); bullets = new Array(); keys = new Array(222); raveTransform = new ColorTransform(); overlay_bmd = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0); bg_bmd = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0xFF); bg_mc = new Background(); bg = new Bitmap(bg_bmd); bf = new BlurFilter(6, 6, 2); bf2 = new BlurFilter(20, 20, 2); playerShip = new PlayerShip(); overlay = new Bitmap(overlay_bmd); ui = new UI(); fpsBackground = new Sprite(); fpsText = new TextField(); fpsText.selectable = false; laserShoot = new LaserShoot(); explosion = new Explosion(); backgroundMusic = new BackgroundMusic(); backgroundMusicChannel = backgroundMusic.play(0, 999); backgroundMusicChannel.soundTransform = new SoundTransform(0, 0); backgroundMusic2 = new BackgroundMusic2(); backgroundMusic2Channel = backgroundMusic2.play(0, 999); backgroundMusic2Channel.soundTransform = new SoundTransform(0, 0); bossMusic = new BossMusic(); bossMusicChannel = bossMusic.play(0, 999); bossMusicChannel.soundTransform = new SoundTransform(0, 0); menuMusic = new MenuMusic(); menuMusicChannel = menuMusic.play(0, 999); menuMusicChannel.soundTransform = new SoundTransform(1, 0); mainMenu = new MainMenu(); addChild(mainMenu); instructions = new Instructions(); addChild(instructions); gameOverScreen = new GameOverScreen(); gameOverScreen.visible = false; addChild(gameOverScreen); fpsBackground.graphics.beginFill(0, 1); fpsBackground.graphics.drawRect(0, 0, 15, 20); addChild(fpsBackground); fpsText.textColor = 0xFFFFFF; addChild(fpsText); transoverlay = new FadeOverlay(540, 400, 0xFFFFFF); transoverlay.mouseEnabled = false; addChild(transoverlay); cursor = new Cursor(); cursor.mouseEnabled = false; addChild(cursor); Mouse.hide(); spawnTimer = new Timer(1250, 0); spawnTimer.start(); fpsTimer = new Timer(1000, 0); fpsTimer.start(); mainMenu.playGameBtn.addEventListener(MouseEvent.CLICK, playGameBtnHandler, false, 0, true); mainMenu.instructionsBtn.addEventListener(MouseEvent.CLICK, instructionsBtnHandler, false, 0, true); mainMenu.moreGamesBtn.addEventListener(MouseEvent.CLICK, moreGamesBtnHandler, false, 0, true); instructions.mainMenuBtn.addEventListener(MouseEvent.CLICK, mainMenuBtnHandler, false, 0, true); instructions.moreGamesBtn.addEventListener(MouseEvent.CLICK, moreGamesBtnHandler, false, 0, true); gameOverScreen.mainMenuBtn.addEventListener(MouseEvent.CLICK, mainMenuBtnHandler, false, 0, true); gameOverScreen.submitScoreBtn.addEventListener(MouseEvent.CLICK, submitScoreBtnHandler, false, 0, true); gameOverScreen.moreGamesBtn.addEventListener(MouseEvent.CLICK, moreGamesBtnHandler, false, 0, true); fpsTimer.addEventListener(TimerEvent.TIMER, fpsTimerHandler, false, 0, true); stage.addEventListener(FocusEvent.FOCUS_OUT, loseFocusHandler, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, false, 0, true); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, false, 0, true); stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler, false, 0, true); addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true); } public function keyUpHandler(_arg1:KeyboardEvent):void{ keys[_arg1.keyCode] = false; if (_arg1.keyCode == 32){ isSpaceDown = false; }; } public function mouseDownHandler(_arg1:MouseEvent):void{ isMouseDown = true; shotDelayCounter = shotDelay; } public function instructionsBtnHandler(_arg1:MouseEvent):void{ nextGameState = 2; } public function moreGamesBtnHandler(_arg1:MouseEvent):void{ trace("More Games Button Clicked!"); } public function loseFocusHandler(_arg1:FocusEvent):void{ var _local2:int; _local2 = 0; _local2 = 0; while (_local2 < keys.length) { keys[_local2] = false; _local2++; }; } public function fullClear():void{ var _local1:int; _local1 = 0; _local1 = 0; while (_local1 < enemies.length) { enemies[_local1].remove = true; _local1++; }; screenflash.alpha = 1; } public function playGameBtnHandler(_arg1:MouseEvent):void{ resetGame(); nextGameState = 1; } public function mouseUpHandler(_arg1:MouseEvent):void{ isMouseDown = false; } public function spawnTimerHandler(_arg1:TimerEvent):void{ var _local2:BasicShip; if (level != 4){ if (enemies.length < ((level * 2) + 3)){ _local2 = new BasicShip(level); _local2.x = Math.round((Math.random() * stage.stageWidth)); _local2.y = Math.round((Math.random() * stage.stageHeight)); addChild(_local2); enemies.push(_local2); }; }; } public function fpsTimerHandler(_arg1:TimerEvent):void{ fpsText.text = String(fps); fps = 0; if (isRaveMode == true){ raveseconds++; } else { normalseconds++; }; } public function resetGame():void{ var i:int; try { spawnTimer.removeEventListener(TimerEvent.TIMER, spawnTimerHandler); i = 0; while (i < enemies.length) { removeChild(enemies[i]); enemies[i] = null; enemies.splice(i, 1); i = (i + 1); }; i = 0; while (i < bullets.length) { removeChild(bullets[i]); bullets[i] = null; bullets.splice(i, 1); i = (i + 1); }; removeChild(bg_mc); removeChild(bg); removeChild(playerShip); removeChild(overlay); removeChild(ui); removeChild(screenflash); } catch(e) { }; fadeOut = false; displayScore = (score = 300); level = 1; weapon = 1; i = 0; i = 0; while (i < 222) { keys[i] = false; i = (i + 1); }; fps = (normalseconds = (raveseconds = (mouseAngle = (playerShipVeloX = (playerShipVeloY = (displayProgress = (shotDelayCounter = (distx = (disty = (bossDelayCounter = (shotsfired = (enemieshit = 0)))))))))))); isRaveMode = (isMouseDown = (isSpaceDown = (bossStage = false))); addChild(bg_mc); addChild(bg); playerShip.x = (stage.stageWidth / 2); playerShip.y = (stage.stageHeight / 2); addChild(playerShip); addChild(overlay); ui.alpha = 0.75; ui.progress.markers.gotoAndStop(1); addChild(ui); screenflash.graphics.beginFill(0xFFFFFF, 1); screenflash.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); addChild(screenflash); spawnTimer.addEventListener(TimerEvent.TIMER, spawnTimerHandler, false, 0, true); } } }//package PlasmaRaver_fla
Section 5
//UI_Progress_25 (PlasmaRaver_fla.UI_Progress_25) package PlasmaRaver_fla { import flash.display.*; public dynamic class UI_Progress_25 extends MovieClip { public var bar:MovieClip; public var markers:MovieClip; public var marker:MovieClip; } }//package PlasmaRaver_fla
Section 6
//UI_Progress_Markers_26 (PlasmaRaver_fla.UI_Progress_Markers_26) package PlasmaRaver_fla { import flash.display.*; public dynamic class UI_Progress_Markers_26 extends MovieClip { public function UI_Progress_Markers_26(){ addFrameScript(0, frame1, 19, frame20, 39, frame40, 59, frame60, 79, frame80); } function frame80(){ stop(); } function frame1(){ stop(); } function frame20(){ stop(); } function frame40(){ stop(); } function frame60(){ stop(); } } }//package PlasmaRaver_fla
Section 7
//UI_Score_22 (PlasmaRaver_fla.UI_Score_22) package PlasmaRaver_fla { import flash.display.*; import flash.text.*; public dynamic class UI_Score_22 extends MovieClip { public var bar:MovieClip; public var text:TextField; public var marker:MovieClip; } }//package PlasmaRaver_fla
Section 8
//Background (Background) package { import flash.display.*; public dynamic class Background extends MovieClip { } }//package
Section 9
//BackgroundMusic (BackgroundMusic) package { import flash.media.*; public dynamic class BackgroundMusic extends Sound { } }//package
Section 10
//BackgroundMusic2 (BackgroundMusic2) package { import flash.media.*; public dynamic class BackgroundMusic2 extends Sound { } }//package
Section 11
//BasicShip (BasicShip) package { import flash.display.*; public class BasicShip extends Sprite { public var shotDelayCounter:int; public var desty:int; public var newpostimer:int; public var destx:int; private var clip:Sprite; public var seeking:Boolean; public var yvelo:Number; public var shiptype:int; public var remove:Boolean; public var explodeOnDeath:Boolean; public var xvelo:Number; public function BasicShip(_arg1:int):void{ seeking = false; remove = false; explodeOnDeath = true; destx = 0; desty = 0; shotDelayCounter = 0; xvelo = 0; yvelo = 0; shiptype = _arg1; newpostimer = 15; switch (shiptype){ case 1: clip = new ship_1(); break; case 2: clip = new ship_2(); break; case 3: clip = new ship_3(); break; case 4: clip = new ship_4(); default: break; }; addChild(clip); this.alpha = 0; } } }//package
Section 12
//Boss (Boss) package { import flash.display.*; public class Boss extends Sprite { public var hurt:Array; public var balls:Array; public var radius:Number; public var maxhealth:int; public function Boss(_arg1):void{ var _local2:int; super(); maxhealth = _arg1; radius = 90; balls = new Array(4); hurt = new Array(4); _local2 = 0; while (_local2 < balls.length) { balls[_local2] = new Part((maxhealth / 4), radius); addChild(balls[_local2]); hurt[_local2] = new Sprite(); hurt[_local2].graphics.beginFill(16744576, 0.75); hurt[_local2].graphics.drawCircle(0, 0, radius); hurt[_local2].graphics.endFill(); hurt[_local2].alpha = 0; addChild(hurt[_local2]); _local2++; }; balls[1].x = 540; balls[2].x = 540; balls[2].y = 400; balls[3].y = 400; hurt[1].x = 540; hurt[2].x = 540; hurt[2].y = 400; hurt[3].y = 400; this.alpha = 0; } public function getHealth():Number{ var _local1:Number; var _local2:Number; _local1 = 0; _local2 = 0; _local2 = 0; while (_local2 < balls.length) { _local1 = (_local1 + balls[_local2].health); _local2++; }; return (_local1); } } }//package
Section 13
//BossMusic (BossMusic) package { import flash.media.*; public dynamic class BossMusic extends Sound { } }//package
Section 14
//Cursor (Cursor) package { import flash.display.*; public class Cursor extends Sprite { public function Cursor():void{ this.graphics.clear(); this.graphics.lineStyle(3, 0, 0.5); this.graphics.beginFill(0, 0); this.graphics.drawCircle(0, 0, 7); this.graphics.endFill(); } } }//package
Section 15
//Explosion (Explosion) package { import flash.media.*; public dynamic class Explosion extends Sound { } }//package
Section 16
//FadeOverlay (FadeOverlay) package { import flash.display.*; public class FadeOverlay extends Sprite { public function FadeOverlay(_arg1:int, _arg2:int, _arg3:uint):void{ this.graphics.beginFill(_arg3, 100); this.graphics.drawRect(0, 0, _arg1, _arg2); this.graphics.endFill(); } } }//package
Section 17
//GameOverScreen (GameOverScreen) package { import flash.display.*; import flash.text.*; public dynamic class GameOverScreen extends Sprite { public var moreGamesBtn:SimpleButton; public var mainMenuBtn:SimpleButton; public var submitScoreBtn:SimpleButton; public var scoretext:TextField; } }//package
Section 18
//Instructions (Instructions) package { import flash.display.*; public dynamic class Instructions extends Sprite { public var moreGamesBtn:SimpleButton; public var mainMenuBtn:SimpleButton; } }//package
Section 19
//LaserShoot (LaserShoot) package { import flash.media.*; public dynamic class LaserShoot extends Sound { } }//package
Section 20
//MainMenu (MainMenu) package { import flash.display.*; public dynamic class MainMenu extends Sprite { public var playGameBtn:SimpleButton; public var moreGamesBtn:SimpleButton; public var instructionsBtn:SimpleButton; } }//package
Section 21
//MegaLaserShoot (MegaLaserShoot) package { import flash.media.*; public dynamic class MegaLaserShoot extends Sound { } }//package
Section 22
//MenuMusic (MenuMusic) package { import flash.media.*; public dynamic class MenuMusic extends Sound { } }//package
Section 23
//MochiAd (MochiAd) package { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiAd { public static function getVersion():String{ return ("2.7"); } public static function showClickAwayAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_timeout:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var sendHostProgress:Boolean; var options = _arg1; DEFAULTS = {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; ad_timeout = 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(); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = 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); }; sendHostProgress = false; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Number; var _local3:Boolean; var _local4:Number; if (!this.parent){ delete this.onEnterFrame; return; }; _local1 = this.parent._mochiad_ctr; _local2 = (getTimer() - this.started); _local3 = false; 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; _local2 = _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 DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var options = _arg1; DEFAULTS = {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; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = 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(); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = 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{ var _local1:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; _local1 = (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; _local2 = 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 _local1:Object; var _local2:Number; var _local3:Boolean; var _local4:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; _local1 = this.parent._mochiad_ctr; _local2 = (getTimer() - this.started); _local3 = false; 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 _local3:Object; var _local4:String; var _local5:Array; var _local6:Number; var _local7:Array; _local3 = {}; 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 idx:Number; 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); }; idx = 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 DEFAULTS:Object; var clip:Object; var depth:Number; var mc:MovieClip; var wh:Array; var lv:URLVariables; 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; DEFAULTS = {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.")); }; depth = options.depth; delete options.depth; mc = createEmptyMovieClip(clip, "_mochiad", depth); wh = 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; }; lv = 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; var _local5:Number; _local4 = _arg2.split("."); _local5 = 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; _local4 = 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 _local3:Object; var _local4:Number; var _local5:Number; var _local6:Array; _local3 = _arg2.getBounds(_arg2.root); _local4 = 0; _local5 = 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; var _local4:Number; _local3 = _arg2.split("."); _local4 = 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; var _local5:Number; _local4 = _arg2.split("."); _local5 = 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 DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var bar:MovieClip; var bar_color:Number; var bar_background:Number; var bar_outline:Number; var backing_mc:MovieClip; var backing:Object; var inside_mc:MovieClip; var inside:Object; var outline_mc:MovieClip; var outline:Object; var complete:Boolean; var unloaded:Boolean; var f:Function; var sendHostProgress:Boolean; var fn:Function; var r:MovieClip; var options = _arg1; DEFAULTS = {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; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = 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{ var fn:Function; MochiAd._cleanup(mc); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = 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); bar = 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); }; bar_color = options.color; delete options.color; bar_background = options.background; delete options.background; bar_outline = options.outline; delete options.outline; backing_mc = createEmptyMovieClip(bar, "_outline", 1); backing = 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(); inside_mc = createEmptyMovieClip(bar, "_inside", 2); inside = 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; outline_mc = createEmptyMovieClip(bar, "_outline", 3); outline = 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; _local1 = (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; f = 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; _local2 = 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 _local1:Object; var _local2:Object; var _local3:Number; var _local4:Boolean; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Object; var _local10:Number; var _local11:Number; if (((!(this.parent)) || (!(this.parent.parent)))){ delete this["onEnterFrame"]; return; }; _local1 = this.parent.parent.root; _local2 = this.parent._mochiad_ctr; _local3 = (getTimer() - this.started); _local4 = false; _local5 = _local1.loaderInfo.bytesTotal; _local6 = _local1.loaderInfo.bytesLoaded; if (complete){ _local6 = Math.max(1, _local6); _local5 = _local6; }; _local7 = ((100 * _local6) / _local5); _local8 = ((100 * _local3) / chk.ad_msec); _local9 = this._mochiad_bar._inside; _local10 = 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 f:Function; var mc = _arg1; f = 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 24
//Part (Part) package { import flash.display.*; public class Part extends Sprite { public var active:Boolean; public var health:int; public var radius:Number; public function Part(_arg1:Number, _arg2:Number):void{ health = _arg1; radius = _arg2; this.graphics.beginFill(0, 1); this.graphics.drawCircle(0, 0, radius); this.graphics.endFill(); active = true; } } }//package
Section 25
//PlasmaBullet (PlasmaBullet) package { import flash.display.*; public class PlasmaBullet extends MovieClip { public var hasOwnership:Boolean; private var homing:Boolean; public var yvelo:Number; public var remove:Boolean; private var target:BasicShip; private var hasTarget:Boolean; public var xvelo:Number; public function PlasmaBullet():void{ addFrameScript(0, frame1, 1, frame2, 44, frame45); hasTarget = false; target = null; homing = false; hasOwnership = true; remove = false; xvelo = 0; yvelo = 0; } public function getHasTarget():Boolean{ return (hasTarget); } function frame1(){ stop(); } public function getTarget():BasicShip{ return (target); } public function setHasTarget(_arg1:Boolean):void{ hasTarget = _arg1; } public function setTarget(_arg1:BasicShip):void{ target = _arg1; } function frame45(){ gotoAndPlay(2); } function frame2(){ play(); } public function getHoming():Boolean{ return (homing); } public function setHoming(_arg1:Boolean):void{ homing = _arg1; } } }//package
Section 26
//PlayerShip (PlayerShip) package { import flash.display.*; public dynamic class PlayerShip extends MovieClip { public function PlayerShip(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 27
//ship_1 (ship_1) package { import flash.display.*; public dynamic class ship_1 extends Sprite { } }//package
Section 28
//ship_2 (ship_2) package { import flash.display.*; public dynamic class ship_2 extends Sprite { } }//package
Section 29
//ship_3 (ship_3) package { import flash.display.*; public dynamic class ship_3 extends Sprite { } }//package
Section 30
//ship_4 (ship_4) package { import flash.display.*; public dynamic class ship_4 extends Sprite { } }//package
Section 31
//UI (UI) package { import flash.display.*; public dynamic class UI extends MovieClip { public var progress:MovieClip; public var score:MovieClip; } }//package

Library Items

Symbol 1 Sound {MenuMusic}
Symbol 2 Sound {BossMusic}
Symbol 3 Sound {BackgroundMusic}
Symbol 4 Sound {BackgroundMusic2}
Symbol 5 Sound {MegaLaserShoot}
Symbol 6 Sound {LaserShoot}
Symbol 7 Sound {Explosion}
Symbol 8 GraphicUsed by:29
Symbol 9 GraphicUsed by:17 28
Symbol 10 GraphicUsed by:11
Symbol 11 MovieClipUses:10Used by:17 28
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:12Used by:17 28
Symbol 14 GraphicUsed by:17
Symbol 15 FontUsed by:16
Symbol 16 EditableTextUses:15Used by:17
Symbol 17 MovieClip {PlasmaRaver_fla.UI_Score_22}Uses:9 11 13 14 16Used by:29
Symbol 18 GraphicUsed by:19
Symbol 19 MovieClipUses:18Used by:26
Symbol 20 GraphicUsed by:21
Symbol 21 MovieClipUses:20Used by:26
Symbol 22 GraphicUsed by:23
Symbol 23 MovieClipUses:22Used by:26
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClipUses:24Used by:26
Symbol 26 MovieClip {PlasmaRaver_fla.UI_Progress_Markers_26}Uses:19 21 23 25Used by:28
Symbol 27 GraphicUsed by:28
Symbol 28 MovieClip {PlasmaRaver_fla.UI_Progress_25}Uses:9 11 13 26 27Used by:29
Symbol 29 MovieClip {UI}Uses:8 17 28
Symbol 30 GraphicUsed by:31 44
Symbol 31 MovieClip {ship_4}Uses:30
Symbol 32 GraphicUsed by:65 70 76
Symbol 33 GraphicUsed by:34
Symbol 34 MovieClipUses:33Used by:35
Symbol 35 MovieClip {Background}Uses:34Used by:65 70 76
Symbol 36 FontUsed by:37 54 57 60 63 66 67 68 69 71 72 74
Symbol 37 TextUses:36Used by:65
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClipUses:38Used by:40
Symbol 40 MovieClipUses:39Used by:44
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:44
Symbol 43 GraphicUsed by:44
Symbol 44 MovieClip {PlayerShip}Uses:30 40 42 43Used by:65 70 76
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClip {ship_2}Uses:45Used by:65 70 76
Symbol 47 GraphicUsed by:48
Symbol 48 MovieClip {ship_3}Uses:47Used by:65 70 76
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClip {ship_1}Uses:49Used by:65 70 76
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClipUses:51Used by:53
Symbol 53 MovieClip {PlasmaBullet}Uses:52Used by:65 76
Symbol 54 TextUses:36Used by:56
Symbol 55 GraphicUsed by:56 73 75
Symbol 56 ButtonUses:54 55Used by:65 70 76
Symbol 57 TextUses:36Used by:65
Symbol 58 FontUsed by:59
Symbol 59 EditableTextUses:58Used by:65
Symbol 60 TextUses:36Used by:62
Symbol 61 GraphicUsed by:62 64
Symbol 62 ButtonUses:60 61Used by:65 70
Symbol 63 TextUses:36Used by:64
Symbol 64 ButtonUses:63 61Used by:65
Symbol 65 MovieClip {GameOverScreen}Uses:32 35 37 44 46 48 50 53 56 57 59 62 64
Symbol 66 TextUses:36Used by:70
Symbol 67 TextUses:36Used by:70
Symbol 68 TextUses:36Used by:70
Symbol 69 TextUses:36Used by:70
Symbol 70 MovieClip {Instructions}Uses:32 35 66 44 50 46 48 67 68 69 62 56
Symbol 71 TextUses:36Used by:76
Symbol 72 TextUses:36Used by:73
Symbol 73 ButtonUses:72 55Used by:76
Symbol 74 TextUses:36Used by:75
Symbol 75 ButtonUses:74 55Used by:76
Symbol 76 MovieClip {MainMenu}Uses:32 35 71 44 46 48 50 53 73 75 56

Instance Names

"bar"Symbol 17 MovieClip {PlasmaRaver_fla.UI_Score_22} Frame 1Symbol 11 MovieClip
"marker"Symbol 17 MovieClip {PlasmaRaver_fla.UI_Score_22} Frame 1Symbol 13 MovieClip
"text"Symbol 17 MovieClip {PlasmaRaver_fla.UI_Score_22} Frame 1Symbol 16 EditableText
"bar"Symbol 28 MovieClip {PlasmaRaver_fla.UI_Progress_25} Frame 1Symbol 11 MovieClip
"marker"Symbol 28 MovieClip {PlasmaRaver_fla.UI_Progress_25} Frame 1Symbol 13 MovieClip
"markers"Symbol 28 MovieClip {PlasmaRaver_fla.UI_Progress_25} Frame 1Symbol 26 MovieClip {PlasmaRaver_fla.UI_Progress_Markers_26}
"score"Symbol 29 MovieClip {UI} Frame 1Symbol 17 MovieClip {PlasmaRaver_fla.UI_Score_22}
"progress"Symbol 29 MovieClip {UI} Frame 1Symbol 28 MovieClip {PlasmaRaver_fla.UI_Progress_25}
"moreGamesBtn"Symbol 65 MovieClip {GameOverScreen} Frame 1Symbol 56 Button
"scoretext"Symbol 65 MovieClip {GameOverScreen} Frame 1Symbol 59 EditableText
"mainMenuBtn"Symbol 65 MovieClip {GameOverScreen} Frame 1Symbol 62 Button
"submitScoreBtn"Symbol 65 MovieClip {GameOverScreen} Frame 1Symbol 64 Button
"mainMenuBtn"Symbol 70 MovieClip {Instructions} Frame 1Symbol 62 Button
"moreGamesBtn"Symbol 70 MovieClip {Instructions} Frame 1Symbol 56 Button
"playGameBtn"Symbol 76 MovieClip {MainMenu} Frame 1Symbol 73 Button
"instructionsBtn"Symbol 76 MovieClip {MainMenu} Frame 1Symbol 75 Button
"moreGamesBtn"Symbol 76 MovieClip {MainMenu} Frame 1Symbol 56 Button

Special Tags

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




http://swfchan.com/12/56627/info.shtml
Created: 19/4 -2019 04:34:28 Last modified: 19/4 -2019 04:34:28 Server time: 04/05 -2024 17:22:03