Section 1
//Rnd (com.gskinner.utils.Rnd)
package com.gskinner.utils {
public class Rnd {
public function Rnd(_arg1:uint=0){
throw (new Error("the Rnd class cannot be instantiated"));
}
public static function random():Number{
return (Math.random());
}
public static function bit(_arg1:Number=0.5):int{
return (((random())<_arg1) ? 1 : 0);
}
public static function boolean(_arg1:Number=0.5):Boolean{
return ((random() < _arg1));
}
public static function float(_arg1:Number, _arg2:Number=NaN):Number{
if (isNaN(_arg2)){
_arg2 = _arg1;
_arg1 = 0;
};
return (((random() * (_arg2 - _arg1)) + _arg1));
}
public static function sign(_arg1:Number=0.5):int{
return (((random())<_arg1) ? 1 : -1);
}
public static function integer(_arg1:Number, _arg2:Number=NaN):int{
if (isNaN(_arg2)){
_arg2 = _arg1;
_arg1 = 0;
};
return (Math.floor(float(_arg1, _arg2)));
}
}
}//package com.gskinner.utils
Section 2
//Debug (com.hexagonstar.util.debug.Debug)
package com.hexagonstar.util.debug {
import flash.events.*;
import flash.display.*;
import flash.system.*;
import flash.net.*;
import flash.utils.*;
public final class Debug {
public static const LEVEL_WARN:int = 2;
public static const LEVEL_DEBUG:int = 0;
public static const LEVEL_INFO:int = 1;
public static const LEVEL_FATAL:int = 4;
public static const LEVEL_ERROR:int = 3;
private static var _stage:Stage;
private static var _filterLevel:int = 0;
private static var _isEnabled:Boolean = true;
private static var _isConnected:Boolean = false;
private static var _isPollingFPS:Boolean = false;
private static var _stopWatch:StopWatch;
private static var _connection:LocalConnection;
private static var _fpsMeter:FPSMeter;
public static function forceGC():void{
try {
} catch(e1:Error) {
try {
new LocalConnection().connect("forceGC");
new LocalConnection().connect("forceGC");
} catch(e2:Error) {
};
};
}
private static function send(_arg1:String, _arg2, _arg3:int=1, _arg4:int=0):void{
var _local5:Number;
var _local6:ByteArray;
if (_isEnabled){
if (!_isConnected){
_isConnected = true;
_connection = new LocalConnection();
_connection.addEventListener(StatusEvent.STATUS, onStatus);
};
_local5 = 0;
if (typeof(_arg2) == "string"){
_local5 = String(_arg2).length;
} else {
if (typeof(_arg2) == "object"){
_local6 = new ByteArray();
_local6.writeObject(_arg2);
_local5 = _local6.length;
_local6 = null;
};
};
if (_local5 > 39000){
storeDataLSO(_arg1, _arg2);
_arg1 = "onLargeData";
_arg2 = null;
};
_connection.send("_alcon_lc", _arg1, _arg2, _arg3, _arg4, "");
};
}
public static function stop():void{
if (_fpsMeter){
_isPollingFPS = false;
_fpsMeter.stop();
_fpsMeter.removeEventListener(FPSMeter.FPS_UPDATE, onFPSUpdate);
_fpsMeter = null;
_stage = null;
};
}
public static function timerReset():void{
if (_stopWatch){
_stopWatch.reset();
};
}
private static function onFPSUpdate(_arg1:Event):void{
send("onFPS", ((((((_fpsMeter.fps + ",") + _stage.frameRate) + ",") + _fpsMeter.frt) + ",") + System.totalMemory));
}
public static function delimiter():void{
Debug.trace("[%DLT%]", 5);
}
public static function set enabled(_arg1:Boolean):void{
_isEnabled = _arg1;
}
public static function inspect(_arg1:Object):void{
send("onInspect", _arg1, 1, -1);
}
public static function timerStart(_arg1:String=""):void{
if (_isEnabled){
if (!_stopWatch){
_stopWatch = new StopWatch();
};
_stopWatch.start(_arg1);
};
}
public static function createCategory(_arg1:int, _arg2:String="", _arg3:uint=0, _arg4:uint=0xFFFF00):void{
send("onCategory", [_arg1, _arg2, _arg3, _arg4], 0, 0);
}
private static function storeDataLSO(_arg1:String, _arg2):void{
var flushResult:String;
var m = _arg1;
var d = _arg2;
var sharedObject:SharedObject = SharedObject.getLocal("alcon", "/");
sharedObject.data["alconMethod"] = m;
sharedObject.data["alconData"] = d;
try {
flushResult = sharedObject.flush();
if (flushResult == SharedObjectFlushStatus.FLUSHED){
return;
};
} catch(e:Error) {
Security.showSettings(SecurityPanel.LOCAL_STORAGE);
};
}
public static function hexDump(_arg1:Object):void{
send("onHexDump", _arg1, 0, 0);
}
private static function onStatus(_arg1:StatusEvent):void{
}
public static function get enabled():Boolean{
return (_isEnabled);
}
public static function trace(... _args):void{
var _local2:int = ((_args[1] is int)) ? _args[1] : 1;
if ((((_local2 >= _filterLevel)) && ((_local2 < 7)))){
send("onData", _args[0], _local2, 0);
};
}
public static function timerToString():void{
if (_stopWatch){
Debug.trace(_stopWatch.toString());
};
}
public static function mark(_arg1:uint=0xFF00FF):void{
send("onMarker", _arg1, 1, -1);
}
public static function timerInSeconds():void{
if (_stopWatch){
Debug.trace((_stopWatch.timeInSeconds + "s"));
};
}
public static function set filterLevel(_arg1:int):void{
if ((((_arg1 >= 0)) && ((_arg1 < 5)))){
_filterLevel = _arg1;
};
}
public static function monitor(_arg1:Stage, _arg2:int=500):void{
if (_isPollingFPS){
Debug.stop();
};
if (((_isEnabled) && (!(_fpsMeter)))){
_isPollingFPS = true;
_stage = _arg1;
sendCapabilities();
_fpsMeter = new FPSMeter(_stage, _arg2);
_fpsMeter.addEventListener(FPSMeter.FPS_UPDATE, onFPSUpdate);
_fpsMeter.start();
};
}
public static function time():void{
Debug.trace("[%TME%]", 5);
}
private static function sendCapabilities():void{
var _local3:XML;
var _local4:String;
var _local1:XML = describeType(Capabilities);
var _local2:Array = [];
for each (_local3 in _local1.*) {
_local4 = _local3.@name.toString();
if ((((((_local4.length > 0)) && (!((_local4 == "_internal"))))) && (!((_local4 == "prototype"))))){
_local2.push({p:_local4, v:Capabilities[_local4].toString()});
};
};
_local2.sortOn(["p"], Array.CASEINSENSITIVE);
send("onCap", _local2);
}
public static function clear():void{
Debug.trace("[%CLR%]", 5);
}
public static function timerStop():void{
if (_stopWatch){
_stopWatch.stop();
};
}
public static function timerInMilliSeconds():void{
if (_stopWatch){
Debug.trace((_stopWatch.timeInMilliSeconds + "ms"));
};
}
public static function get filterLevel():int{
return (_filterLevel);
}
public static function traceObj(_arg1:Object, _arg2:int=64, _arg3:int=1):void{
if ((((_arg3 >= _filterLevel)) && ((_arg3 < 7)))){
send("onData", _arg1, _arg3, _arg2);
};
}
public static function timerStopToString(_arg1:Boolean=false):void{
if (_stopWatch){
_stopWatch.stop();
Debug.trace(_stopWatch.toString());
if (_arg1){
_stopWatch.reset();
};
};
}
public static function pause():void{
Debug.trace("[%PSE%]", 5);
}
}
}//package com.hexagonstar.util.debug
Section 3
//FPSMeter (com.hexagonstar.util.debug.FPSMeter)
package com.hexagonstar.util.debug {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class FPSMeter extends EventDispatcher {
private var _delayMax:int;// = 10
private var _pollInterval:int;
private var _delay:int;
private var _ms:int;
private var _timer:Timer;
private var _prev:int;
private var _frt:int;
private var _fps:int;
private var _isRunning:Boolean;
private var _stage:Stage;
public static const FPS_UPDATE:String = "fpsUpdate";
public function FPSMeter(_arg1:Stage, _arg2:int=500){
_stage = _arg1;
_pollInterval = _arg2;
reset();
}
public function stop():void{
if (_isRunning){
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, onTimer);
_stage.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
_timer = null;
reset();
};
}
public function reset():void{
_fps = 0;
_frt = 0;
_ms = 0;
_delay = 0;
_prev = 0;
_isRunning = false;
}
public function start():void{
if (!_isRunning){
_isRunning = true;
_timer = new Timer(_pollInterval, 0);
_timer.addEventListener(TimerEvent.TIMER, onTimer);
_stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
_timer.start();
};
}
private function onTimer(_arg1:TimerEvent):void{
dispatchEvent(new Event(FPSMeter.FPS_UPDATE));
}
public function get frt():int{
return (_frt);
}
public function get fps():int{
return (_fps);
}
private function onEnterFrame(_arg1:Event):void{
var _local2:Number = getTimer();
_delay++;
if (_delay >= _delayMax){
_delay = 0;
_fps = int(((1000 * _delayMax) / (_local2 - _prev)));
_prev = _local2;
};
_frt = (_local2 - _ms);
_ms = _local2;
}
}
}//package com.hexagonstar.util.debug
Section 4
//StopWatch (com.hexagonstar.util.debug.StopWatch)
package com.hexagonstar.util.debug {
import flash.utils.*;
public class StopWatch {
private var _stopTimeKeys:Array;
private var _startTimeKeys:Array;
private var _started:Boolean;// = false
private var _title:String;
public function StopWatch(){
reset();
}
public function get started():Boolean{
return (_started);
}
public function get timeInMilliSeconds():int{
if (_started){
_stopTimeKeys[(_startTimeKeys.length - 1)] = getTimer();
};
var _local1:int;
var _local2:int;
while (_local2 < _startTimeKeys.length) {
_local1 = (_local1 + (_stopTimeKeys[_local2] - _startTimeKeys[_local2]));
_local2++;
};
return (_local1);
}
public function stop():void{
var _local1:int;
if (_started){
_local1 = getTimer();
_stopTimeKeys[(_startTimeKeys.length - 1)] = _local1;
_started = false;
};
}
public function toString():String{
var _local3:int;
var _local4:int;
var _local1 = "\n ********************* [STOPWATCH] *********************";
if (_title != ""){
_local1 = (_local1 + ("\n * " + _title));
};
var _local2:int;
while (_local2 < _startTimeKeys.length) {
_local3 = _startTimeKeys[_local2];
_local4 = _stopTimeKeys[_local2];
_local1 = (_local1 + (((((("\n * started [" + format(_local3)) + "ms] stopped [") + format(_local4)) + "ms] time [") + format((_local4 - _local3))) + "ms]"));
_local2++;
};
if (_local2 == 0){
_local1 = (_local1 + "\n * never started.");
} else {
_local1 = (_local1 + (("\n * total runnning time: " + timeInSeconds) + "s"));
};
_local1 = (_local1 + "\n *******************************************************");
return (_local1);
}
public function get timeInSeconds():Number{
return ((timeInMilliSeconds / 1000));
}
public function reset():void{
_startTimeKeys = [];
_stopTimeKeys = [];
_started = false;
}
private function format(_arg1:int):String{
var _local2 = "";
var _local3:int = _arg1.toString().length;
var _local4:int;
while (_local4 < (5 - _local3)) {
_local2 = (_local2 + "0");
_local4++;
};
return ((_local2 + _arg1));
}
public function start(_arg1:String=""):void{
if (!_started){
_title = _arg1;
_started = true;
_startTimeKeys.push(getTimer());
};
}
}
}//package com.hexagonstar.util.debug
Section 5
//NewgroundsAPI (com.NewGrounds.NewgroundsAPI)
package com.NewGrounds {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.text.*;
public class NewgroundsAPI {
public static const ADS_APPROVED:Number = 3;
public static const bridge:Sprite = new Sprite();
private static const STAT_NEW_VERSION:Number = 4;
private static const STAT_AUTHOR_SITE:Number = 2;
private static const GATEWAY_URL:String = "http://www.ngads.com/gateway.php";
private static const NEWGROUNDS_URL:String = "http://www.newgrounds.com";
private static const STAT_CUSTOM_STATS:Number = 50;
private static const STAT_MOVIE_VIEWS:Number = 1;
private static const STAT_NEWGROUNDS:Number = 3;
public static const NEW_VERSION:Number = 2;
public static const DENY_HOST:Number = 1;
private static var tracker_id:Number;
private static var movie_options:XML;
private static var connected:Boolean;
private static var custom_events:Object = new Object();
private static var host:String;
private static var linked:Boolean;
private static var events:Object = new Object();
private static var debug:Boolean;
private static var version:String;
private static var custom_links:Object = new Object();
public static function getNewVersionURL():String{
return (((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + STAT_NEW_VERSION));
}
private static function ReadGatewayData(_arg1:String):void{
var _local2:String;
var _local3:String;
var _local4:URLLoader;
movie_options = XML(_arg1);
if (movie_options){
if (movie_options.settings_loaded.@value.toString() == "1"){
SendMessage("You have successfully connected to the Newgrounds API gateway!");
SendMessage((("Movie Identified as '" + movie_options.movie_name.@value.toString()) + "'"));
if (movie_options.message.@value.toString() != ""){
SendMessage(movie_options.@value.toString());
};
if (movie_options.ad_url.@value.toString() != ""){
SendMessage("Your movie has been approved to run Flash Ads");
SendMessage(("AdUrl: " + movie_options.ad_url.@value.toString()));
if (events[ADS_APPROVED]){
var _local5 = events;
_local5[ADS_APPROVED](movie_options.ad_url.@value.toString());
} else {
onAdsApproved(movie_options.ad_url.@value.toString());
};
};
if (((!((movie_options.movie_version.@value.toString() == ""))) && (!((movie_options.movie_version.@value.toString() == String(version)))))){
SendMessage("WARNING: The movie version configured in your API settings does not match this movie's version!");
if (events[NEW_VERSION]){
_local5 = events;
_local5[NEW_VERSION]({version:movie_options.movie_version.@value.toString(), real_url:getMovieURL(), redirect_url:getNewVersionURL()});
} else {
onNewVersionAvailable(movie_options.movie_version.@value.toString(), getMovieURL(), getNewVersionURL());
};
};
if (movie_options.deny_host.@value.toString() != ""){
SendMessage("You have blocked 'localHost' in your API settings.");
SendMessage("If you wish to test your movie you will need to remove this block.");
if (events[DENY_HOST]){
_local5 = events;
_local5[DENY_HOST]({host:host, real_url:getMovieURL(), redirect_url:getNewVersionURL()});
} else {
onDenyHost(host, getMovieURL(), getNewVersionURL());
};
};
if (movie_options.request_portal_url){
_local2 = bridge.root.loaderInfo.url;
_local3 = ((((GATEWAY_URL + "?&id=") + tracker_id) + "&portal_url=") + escape(_local2));
_local4 = new URLLoader(new URLRequest(_local3));
};
if (events[69]){
_local5 = events;
_local5[69]();
};
} else {
if (!(movie_options.settings_loaded.@value.toString()) != "1"){
SendError("Could not establish connection to the API gateway.");
};
};
} else {
SendError("XML Parse Error");
};
}
public static function setMovieVersion(_arg1:Class):void{
if (!_arg1){
SendError("Missing required 'version' in NewgroundsAPI.setMovieVersion(version:String)");
} else {
version = String(_arg1);
};
}
public static function loadCustomLink(_arg1:String):void{
if (!_arg1){
SendError("Missing required 'link_name' parameter in NewgroundsAPI.loadCustomLink(link_name:String)");
} else {
if (!custom_links[_arg1]){
SendError(("Attempted to open undefined custom link: " + _arg1));
} else {
SendLink(custom_links[_arg1]);
};
};
}
public static function addCustomLink(_arg1:Number, _arg2:String):void{
if (!_arg1){
SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)");
} else {
if (!_arg2){
SendError("Missing required 'link_name' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)");
} else {
custom_links[_arg2] = (STAT_CUSTOM_STATS + _arg1);
SendMessage(((("Created custom link " + _arg1) + ": ") + _arg2));
};
};
}
public static function getMovieURL():String{
if (movie_options){
if (movie_options.movie_url.@value.toString() != ""){
return (movie_options.movie_url.@value.toString());
};
return ("Newgrounds.com");
} else {
};
return (!NULL!);
}
public static function debugMode():void{
debug = true;
}
public static function getAdURL():String{
if (movie_options){
return (movie_options.ad_url.@value.toString());
};
return ("");
}
private static function SendStat(_arg1:Number, _arg2:Boolean, _arg3:Object=null):void{
var _local4:String;
var _local5:String;
var _local6:URLRequest;
var _local7:URLLoader;
if (!tracker_id){
SendError("You must call NewgroundsAPI.connectMovie() with a valid movie id before using API features!");
} else {
_local4 = (((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + _arg1) + addSeed());
if (_arg3){
for (_local5 in _arg3) {
_local4 = (_local4 + ((("&" + escape(_local5)) + "=") + escape(_arg3[_local5])));
};
};
if (debug){
_local4 = (_local4 + "&debug=1");
};
if (_arg2){
_local6 = new URLRequest((_local4 + addSeed()));
navigateToURL(_local6, "_blank");
} else {
_local7 = new URLLoader(new URLRequest((_local4 + addSeed())));
_local7.addEventListener(Event.COMPLETE, XML_Loaded);
};
};
}
public static function onAdsApproved(_arg1:String):void{
}
public static function loadMySite(_arg1:Event=null):void{
SendLink(STAT_AUTHOR_SITE);
}
private static function SendMessage(_arg1:String):void{
trace(("[NEWGROUNDS API] :: " + _arg1));
}
public static function linkAPI(_arg1:MovieClip):void{
_arg1.addChild(bridge);
linked = true;
}
public static function loadNewgrounds(_arg1:Event=null, _arg2:String=null):void{
var _local3:URLRequest;
var _local4:Object;
if (!tracker_id){
_local3 = new URLRequest(((NEWGROUNDS_URL + "/") + _arg2));
navigateToURL(_local3, "_blank");
} else {
_local4 = null;
if (_arg2){
_local4 = new Object();
_local4.page = _arg2;
};
SendLink(STAT_NEWGROUNDS, _local4);
};
}
private static function SendLink(_arg1:Number, _arg2:Object=null):void{
SendStat(_arg1, true, _arg2);
}
public static function logCustomEvent(_arg1:String):void{
if (!_arg1){
SendError("Missing required 'event_name' parameter in NewgroundsAPI.logCustomEvent(event_name:String)");
} else {
if (!custom_events[_arg1]){
SendError(("Attempted to log undefined custom event: " + _arg1));
} else {
SendEvent(custom_events[_arg1]);
};
};
}
private static function SendError(_arg1:String):void{
trace(("[NEWGROUNDS API ERROR] :: " + _arg1));
}
public static function addCustomEvent(_arg1:Number, _arg2:String):void{
if (!_arg1){
SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)");
} else {
if (!_arg2){
SendError("Missing required 'event_name' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)");
} else {
custom_events[_arg2] = (STAT_CUSTOM_STATS + _arg1);
SendMessage(("Created custom event: " + _arg2));
};
};
}
private static function addSeed():String{
return (("&seed=" + Math.random()));
}
public static function addEventListener(_arg1:Number, _arg2:Function):void{
events[_arg1] = _arg2;
}
private static function SendEvent(_arg1:Number):void{
SendStat(_arg1, false);
}
public static function onNewVersionAvailable(_arg1:String, _arg2:String, _arg3:String):void{
var _root:DisplayObjectContainer;
var overlay:MovieClip;
var version = _arg1;
var movie_url = _arg2;
var redirect_url = _arg3;
var sw:Number = bridge.stage.stageWidth;
var sh:Number = bridge.stage.stageHeight;
var tw:Number = 350;
var th:Number = 160;
var mg:Number = 20;
_root = bridge.root.parent;
overlay = new MovieClip();
overlay.graphics.beginFill(0, 0.6);
overlay.graphics.lineStyle(0, 0);
overlay.graphics.drawRect(0, 0, sw, sh);
overlay.graphics.endFill();
var overlay_x:Number = Math.round(((sw - tw) / 2));
var overlay_y:Number = Math.round(((sh - th) / 2));
overlay.graphics.beginFill(102);
overlay.graphics.lineStyle(10, 0);
overlay.graphics.drawRect((overlay_x - mg), (overlay_y - mg), (tw + mg), (th + mg));
overlay.graphics.endFill();
overlay.close = function (_arg1:Event):void{
_root.removeChild(overlay);
};
var close_x:MovieClip = new MovieClip();
close_x.graphics.beginFill(0, 0.1);
close_x.graphics.lineStyle(3, 22015);
close_x.graphics.drawRect(0, 0, 16, 16);
close_x.graphics.endFill();
close_x.graphics.moveTo(4, 4);
close_x.graphics.lineTo(13, 13);
close_x.graphics.moveTo(13, 4);
close_x.graphics.lineTo(4, 13);
close_x.x = ((overlay_x + tw) - 26);
close_x.y = (overlay_y - 10);
close_x.addEventListener(MouseEvent.CLICK, overlay.close);
var blankarea:TextField = new TextField();
blankarea.x = (overlay_x - mg);
blankarea.y = (overlay_y - mg);
blankarea.width = (tw + mg);
blankarea.height = (th + mg);
blankarea.selectable = false;
var header:TextField = new TextField();
header.width = tw;
header.x = overlay_x;
header.y = overlay_y;
header.height = 100;
header.selectable = false;
var header_format:TextFormat = new TextFormat();
header_format.font = "Arial Black";
header_format.color = 0xFFFFFF;
header_format.size = 20;
header.defaultTextFormat = header_format;
header.text = "New Version Available!";
var msgtext:TextField = new TextField();
msgtext.x = overlay_x;
msgtext.y = (overlay_y + 70);
msgtext.width = tw;
msgtext.height = 60;
msgtext.selectable = false;
var msgtext_format:TextFormat = new TextFormat();
msgtext_format.font = "Arial";
msgtext_format.color = 0xFFFFFF;
msgtext_format.size = 12;
msgtext_format.bold = true;
var msgtext_link:TextFormat = new TextFormat();
msgtext_link.font = "Arial";
msgtext_link.color = 0xFFFF00;
msgtext_link.size = 12;
msgtext_link.bold = true;
msgtext_link.url = redirect_url;
msgtext_link.target = "_blank";
if (version){
version = ("Version " + version);
} else {
version = "A new version";
};
msgtext.defaultTextFormat = msgtext_format;
msgtext.appendText((version + " is now available"));
if (movie_url){
msgtext.appendText(" at:\n");
msgtext.defaultTextFormat = msgtext_link;
msgtext.appendText(movie_url);
} else {
msgtext.appendText("!");
};
_root.addChild(overlay);
overlay.addChild(blankarea);
overlay.addChild(header);
overlay.addChild(msgtext);
overlay.addChild(close_x);
}
public static function onDenyHost(_arg1:String, _arg2:String, _arg3:String):void{
var _local4:Number = bridge.stage.stageWidth;
var _local5:Number = bridge.stage.stageHeight;
var _local6:Number = 350;
var _local7:Number = 160;
var _local8:DisplayObjectContainer = bridge.root.parent;
var _local9:MovieClip = new MovieClip();
_local9.graphics.beginFill(0x660000);
_local9.graphics.lineStyle(20, 0);
_local9.graphics.drawRect(0, 0, _local4, _local5);
_local9.graphics.endFill();
var _local10:TextField = new TextField();
_local10.x = 0;
_local10.y = 0;
_local10.width = _local4;
_local10.height = _local5;
_local10.selectable = false;
var _local11:TextField = new TextField();
_local11.x = Math.round(((_local4 - _local6) / 2));
_local11.y = Math.round(((_local5 - _local7) / 2.5));
_local11.width = _local6;
_local11.height = 100;
_local11.selectable = false;
var _local12:TextFormat = new TextFormat();
_local12.font = "Arial Black";
_local12.color = 0xFF0000;
_local12.size = 38;
_local11.defaultTextFormat = _local12;
_local11.text = "ERROR!";
var _local13:TextField = new TextField();
_local13.x = Math.round(((_local4 - _local6) / 2));
_local13.y = (Math.round(((_local5 - _local7) / 2.5)) + 80);
_local13.width = _local6;
_local13.height = 80;
_local13.selectable = false;
var _local14:TextFormat = new TextFormat();
_local14.font = "Arial";
_local14.color = 0xFFFFFF;
_local14.size = 12;
_local14.bold = true;
var _local15:TextFormat = new TextFormat();
_local15.font = "Arial";
_local15.color = 0xFFFF00;
_local15.size = 12;
_local15.bold = true;
_local15.url = _arg3;
_local15.target = "_blank";
_local13.defaultTextFormat = _local14;
_local13.appendText((("This movie has not been approved for use on " + _arg1) + "\n"));
_local13.appendText("For an approved copy, please visit:\n");
_local13.defaultTextFormat = _local15;
_local13.appendText(_arg2);
_local8.addChild(_local9);
_local9.addChild(_local10);
_local9.addChild(_local11);
_local9.addChild(_local13);
}
public static function connectMovie(_arg1:Number):void{
var _local2:String;
var _local3:Object;
if (!_arg1){
SendError("Missing required 'id' parameter in NewgroundsAPI.connectMovie(id:Number)");
} else {
if (!linked){
SendError("Attempted to call MewgroundsAPI.connectMovie() without first calling NewgroundsAPI.linkAPI(this)");
} else {
if (!tracker_id){
SendMessage("Connecting to API gateway...");
tracker_id = _arg1;
_local2 = bridge.root.loaderInfo.url;
host = _local2.split("/")[2].toLowerCase();
if (host.length < 1){
host = "localhost";
};
_local3 = new Object();
SendEvent(STAT_MOVIE_VIEWS);
};
};
};
}
private static function XML_Loaded(_arg1:Event):void{
XML.ignoreWhitespace = true;
var _local2:String = _arg1.target.data;
ReadGatewayData(_local2);
}
public static function isInstalled():Boolean{
return (true);
}
}
}//package com.NewGrounds
Section 6
//BackDef (com.ProjUno.BackDef)
package com.ProjUno {
public class BackDef {
public var Color:uint;// = 0
public var height:int;// = 0
public var Empties:int;// = 0
public var ImgSet:Class;// = null
public function BackDef(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:uint=0):void{
ImgSet = _arg1;
Color = _arg4;
Empties = _arg2;
height = _arg3;
}
}
}//package com.ProjUno
Section 7
//Bat (com.ProjUno.Bat)
package com.ProjUno {
import org.flixel.*;
import com.gskinner.utils.*;
public class Bat extends FlxSprite {
private var ImgBat:Class;
private var level:Boolean;// = false
private var type:Boolean;// = false
public function Bat(_arg1:int, _arg2:int, _arg3:Boolean=true, _arg4:Boolean=false){
var _local5:int;
ImgBat = Bat_ImgBat;
super(ImgBat, _arg1, _arg2, true, true, 8, 8);
x = _arg1;
y = _arg2;
level = _arg4;
addAnimation("normal", [0, 1], 6);
addAnimation("small", [2, 3], 4);
facing = _arg3;
if (facing){
_local5 = 1;
} else {
_local5 = -1;
};
type = Rnd.boolean(0.2);
if (type){
play("normal");
velocity.x = (30 * _local5);
} else {
play("small");
velocity.x = (50 * _local5);
};
velocity.y = 0;
if (level){
scrollFactor.x = (scrollFactor.y = 1.5);
} else {
scrollFactor.x = (scrollFactor.y = 0.5);
};
x = (x + -((FlxG.scroll.x * scrollFactor.x)));
y = (y + -((FlxG.scroll.y * scrollFactor.y)));
}
override public function update():void{
if (dead){
return;
};
if (((((facing) && ((x > ((PlayState._room.mapWidth + width) + 48))))) || (((!(facing)) && (((x + width) < -48)))))){
kill();
};
super.update();
}
public function reset(_arg1:int, _arg2:int, _arg3:Boolean=true):void{
var _local4:int;
velocity.y = 0;
facing = _arg3;
if (facing){
_local4 = 1;
} else {
_local4 = -1;
};
x = _arg1;
y = _arg2;
x = (x + -((FlxG.scroll.x * scrollFactor.x)));
y = (y + -((FlxG.scroll.y * scrollFactor.y)));
exists = true;
dead = false;
visible = true;
active = true;
type = Rnd.boolean(0.8);
if (type){
play("normal");
velocity.x = (30 * _local4);
} else {
play("small");
velocity.x = (50 * _local4);
};
}
}
}//package com.ProjUno
Section 8
//Bat_ImgBat (com.ProjUno.Bat_ImgBat)
package com.ProjUno {
import mx.core.*;
public class Bat_ImgBat extends BitmapAsset {
}
}//package com.ProjUno
Section 9
//BatEmitter (com.ProjUno.BatEmitter)
package com.ProjUno {
import org.flixel.*;
import com.gskinner.utils.*;
public class BatEmitter extends FlxCore {
private var _timer:Number;
private var _bats:FlxArray;
public function BatEmitter(){
var _local5:int;
_bats = new FlxArray();
super();
_timer = 0;
var _local1 = -64;
var _local2:int = (FlxG.width + 64);
var _local3 = -64;
var _local4:int = (FlxG.height + 64);
while (_local5 < 8) {
_bats.add(PlayState.lyrEffectsBack.add(new Bat(Rnd.integer(_local1, _local2), Rnd.integer(_local3, _local4), Rnd.boolean())));
_local5++;
};
}
private function makeBat():void{
var _local8:Bat;
var _local1 = -64;
var _local2:int = (FlxG.width + 64);
var _local3 = -64;
var _local4:int = (FlxG.height + 64);
var _local5:Boolean = Rnd.boolean();
var _local6:int;
if (_local5){
_local6 = _local2;
} else {
_local6 = _local1;
};
var _local7:int = Rnd.integer(_local3, _local4);
for each (_local8 in _bats) {
if (_local8.dead){
_local8.reset(_local6, _local7, !(_local5));
return;
};
};
_bats.add(PlayState.lyrEffectsBack.add(new Bat(_local6, _local7, !(_local5))));
}
override public function update():void{
if (dead){
return;
};
_timer = (_timer + (FlxG.elapsed * 3));
if (_timer > 1){
_timer = 0;
makeBat();
};
super.update();
}
override public function kill():void{
var _local1:FlxSprite;
if (dead){
return;
};
for each (_local1 in _bats) {
_local1.kill();
};
_bats.clear();
super.kill();
}
}
}//package com.ProjUno
Section 10
//Breakables (com.ProjUno.Breakables)
package com.ProjUno {
import org.flixel.*;
public class Breakables extends FlxSprite {
private var maxHealth:int;
private var ImgTiles:Class;
public var sX:Number;
public var sY:Number;
public var the_velocity:Number;// = 0
private var _qDelay:int;// = 0
private var _sparks:FlxArray;
private var _quakeCount:int;// = 0
private var ImgSparks:Class;
public var type:int;// = 1
public function Breakables(_arg1:int, _arg2:int, _arg3:int):void{
ImgTiles = Breakables_ImgTiles;
ImgSparks = Breakables_ImgSparks;
super(ImgTiles, _arg1, _arg2, true);
type = _arg3;
_quakeCount = 0;
_qDelay = 0;
maxHealth = type;
health = type;
sX = _arg1;
sY = _arg2;
addAnimation("normal", [34], 1, false);
addAnimation("weak", [35], 1, false);
addAnimation("hurt", [36], 1, false);
addAnimation("invincible", [94], 1, false);
play("normal");
if (type >= 10){
play("invincible");
};
_sparks = new FlxArray();
_sparks.add((FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -0.45, -30, 30, -20, 20, 0, 0, 90, 50, ImgSparks, 20, true, PlayState.lyrWalls)) as FlxEmitter));
}
override public function hurt(_arg1:Number):void{
var _local3:FlxEmitter;
if (((dead) || (!(exists)))){
return;
};
if ((health - _arg1) == maxHealth){
play("normal", true);
} else {
if ((health - _arg1) > (maxHealth * 0.5)){
play("weak", true);
} else {
if ((health - _arg1) > (maxHealth * 0.25)){
play("hurt", true);
};
};
};
_quakeCount = 2;
var _local2:Boolean;
for each (_local3 in _sparks) {
if (!_local3.active){
_local3.x = (x + 4);
_local3.y = (y + 4);
_local3.reset();
_local2 = true;
break;
};
};
if (!_local2){
_sparks.add((FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -0.45, -50, 50, -5, 20, 0, 0, 50, 60, ImgSparks, 20, true, PlayState.lyrWalls)) as FlxEmitter));
_sparks[(_sparks.length - 1)].reset();
};
super.hurt(_arg1);
}
override public function update():void{
sX = (sX + (FlxG.elapsed * the_velocity));
if (_qDelay > 0){
_qDelay = (_qDelay - (FlxG.elapsed * 2));
} else {
if (_quakeCount == 2){
x = (sX - 2);
_quakeCount = (_quakeCount - 1);
_qDelay = 1;
} else {
if (_quakeCount == 1){
x = (sX + 2);
_quakeCount = (_quakeCount - 1);
_qDelay = 1;
} else {
if (((!((sX == x))) || (!((sY == y))))){
x = sX;
y = sY;
};
};
};
};
if (((dead) && (exists))){
if ((((_quakeCount <= 0)) && ((_qDelay <= 0)))){
exists = false;
return;
};
};
super.update();
}
override public function kill():void{
if (dead){
return;
};
super.kill();
exists = true;
_quakeCount = 2;
}
}
}//package com.ProjUno
Section 11
//Breakables_ImgSparks (com.ProjUno.Breakables_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class Breakables_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 12
//Breakables_ImgTiles (com.ProjUno.Breakables_ImgTiles)
package com.ProjUno {
import mx.core.*;
public class Breakables_ImgTiles extends BitmapAsset {
}
}//package com.ProjUno
Section 13
//Bullet (com.ProjUno.Bullet)
package com.ProjUno {
import org.flixel.*;
public class Bullet extends FlxSprite {
private var ImgSparks:Class;
private var ImgBullet:Class;
private var _live_counter:Number;// = 1.25
public var hit:int;// = 0
private var _sparks:FlxArray;
private var _type:int;// = 0
private var ImgStar:Class;
private var Img:Class;
private var SndDie:Class;
public var special:int;// = 0
public function Bullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int=0):void{
ImgBullet = Bullet_ImgBullet;
ImgStar = Bullet_ImgStar;
ImgSparks = Bullet_ImgSparks;
SndDie = Bullet_SndDie;
_type = 0;
Img = ImgBullet;
var _local6:int;
while (_local6 < Globals.FlxSave.data.MedalsEarned.length) {
if (Globals.FlxSave.data.MedalsEarned[_local6] == 5){
Img = ImgStar;
break;
};
_local6++;
};
super(Img, _arg1, _arg2, true, true);
maxVelocity.x = 250;
maxVelocity.y = 250;
width = 4;
height = 4;
offset.x = 2;
offset.y = 2;
addAnimation("normal", [0, 1], 8);
addAnimation("explode1", [2, 3], 8);
addAnimation("explode2", [4, 5], 8);
addAnimation("explode3", [6, 7], 8);
addAnimation("big", [8, 9, 10, 9], 8);
addAnimation("grenade", [11]);
_sparks = new FlxArray();
_sparks.add((FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -0.15, -30, 30, -30, 30, 0, 0, 0, 50, ImgSparks, 10, true, PlayState.lyrBullets)) as FlxEmitter));
facing = true;
exists = false;
}
override public function update():void{
if (Globals.Freeze){
return;
};
if (((dead) || (!(exists)))){
return;
};
if (_live_counter <= 0){
kill();
} else {
_live_counter = (_live_counter - (FlxG.elapsed * 3));
};
super.update();
}
public function reset(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int=0, _arg6:Number=0):void{
x = _arg1;
y = _arg2;
dead = false;
exists = true;
visible = true;
hit = 0;
_type = 0;
acceleration.y = _arg6;
velocity.x = _arg3;
velocity.y = _arg4;
_live_counter = (1.25 + (0.25 * Globals.rapid));
special = 0;
if (_arg5 == 0){
play("normal");
} else {
if (_arg5 == 1){
play("explode1");
} else {
if (_arg5 == 2){
play("explode2");
} else {
if (_arg5 >= 3){
play("explode3");
};
};
};
};
if (_arg5 == 15){
play("big");
special = 1;
_live_counter = 1.1;
};
if (acceleration.y != 0){
play("grenade");
velocity.x = (velocity.x * 0.5);
_type = 1;
_live_counter = 4;
};
}
override public function hitFloor():Boolean{
if (_type == 0){
hit = 1;
kill();
return (super.hitFloor());
};
velocity.y = -(velocity.y);
if (velocity.y < -30){
velocity.y = (velocity.y + 30);
};
if (Math.abs(velocity.x) > 30){
if (velocity.x < 0){
velocity.x = (velocity.x + 30);
} else {
velocity.x = (velocity.x - 30);
};
};
return (true);
}
override public function kill():void{
var _local1:Boolean;
var _local2:FlxEmitter;
var _local3:Number;
var _local4:Number;
var _local5:int;
var _local6:uint;
var _local7:uint;
var _local8:Bullet;
if (dead){
return;
};
_live_counter = (1.25 + (0.25 * Globals.rapid));
if ((((((((hit == 1)) || (!((_type == 0))))) && (onScreen()))) && (visible))){
if (_type != 0){
FlxG.play(SndDie);
_local3 = 0;
_local5 = 0;
_local4 = 0;
_local6 = 0;
while (_local6 < 8) {
switch (_local6){
case 0:
_local4 = 0;
_local3 = 35;
break;
case 1:
_local4 = 25;
_local3 = 25;
break;
case 2:
_local4 = 35;
_local3 = 0;
break;
case 3:
_local4 = 25;
_local3 = -25;
break;
case 4:
_local4 = 0;
_local3 = -35;
break;
case 5:
_local4 = -25;
_local3 = -25;
break;
case 6:
_local4 = -35;
_local3 = 0;
break;
case 7:
_local4 = -25;
_local3 = 25;
break;
};
_local5 = 0;
_local7 = 0;
while (_local7 < PlayState._pBullets.length) {
if (!PlayState._pBullets[_local7].exists){
PlayState._pBullets[_local7].reset((x + (width / 2)), (y + (height / 2)), _local4, _local3, 2);
_local5 = 1;
_local7 = (PlayState._pBullets.length + 1);
};
_local7++;
};
if (_local5 == 0){
_local8 = new Bullet((x + (width / 2)), (y + (height / 2)), _local4, _local3);
_local8.reset((x + (width / 2)), (y + (height / 2)), _local4, _local3, 2);
PlayState._pBullets.add(PlayState.lyrBullets.add(_local8));
};
_local6++;
};
};
_local1 = false;
for each (_local2 in _sparks) {
if (!_local2.active){
_local2.x = (x + 4);
_local2.y = (y + 4);
_local2.reset();
_local1 = true;
break;
};
};
if (!_local1){
_sparks.add((FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -0.45, -50, 50, -5, 20, 0, 0, 50, 60, ImgSparks, 20, true, PlayState.lyrWalls)) as FlxEmitter));
_sparks[(_sparks.length - 1)].reset();
};
};
super.kill();
}
override public function hitCeiling():Boolean{
if (_type == 0){
hit = 1;
kill();
return (super.hitCeiling());
};
velocity.y = -(velocity.y);
if (Math.abs(velocity.x) > 30){
if (velocity.x < 0){
velocity.x = (velocity.x + 30);
} else {
velocity.x = (velocity.x - 30);
};
};
return (true);
}
override public function hitWall():Boolean{
if (_type == 0){
hit = 1;
kill();
return (super.hitWall());
};
velocity.x = -(velocity.x);
if (Math.abs(velocity.x) > 30){
if (velocity.x < 0){
velocity.x = (velocity.x + 30);
} else {
velocity.x = (velocity.x - 30);
};
};
return (true);
}
}
}//package com.ProjUno
Section 14
//Bullet_ImgBullet (com.ProjUno.Bullet_ImgBullet)
package com.ProjUno {
import mx.core.*;
public class Bullet_ImgBullet extends BitmapAsset {
}
}//package com.ProjUno
Section 15
//Bullet_ImgSparks (com.ProjUno.Bullet_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class Bullet_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 16
//Bullet_ImgStar (com.ProjUno.Bullet_ImgStar)
package com.ProjUno {
import mx.core.*;
public class Bullet_ImgStar extends BitmapAsset {
}
}//package com.ProjUno
Section 17
//Bullet_SndDie (com.ProjUno.Bullet_SndDie)
package com.ProjUno {
import mx.core.*;
public class Bullet_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 18
//CreditState (com.ProjUno.CreditState)
package com.ProjUno {
import org.flixel.*;
import com.gskinner.utils.*;
public class CreditState extends FlxState {
private var _trigger:Number;// = 1.4
private var _t5b:FlxText;
private var _t9b:FlxText;
private var _t9:FlxText;
private var _t62:FlxText;
private var _e1:FlxSprite;
private var _e2:FlxSprite;
private var _e3:FlxSprite;
private var _e4:FlxSprite;
private var _e5:FlxSprite;
private var _overlay:FlxSprite;
private var _t63:FlxText;
private var _counter2:Number;// = 0
private var _t7:FlxText;
private var _t64:FlxText;
private var _t6b:FlxText;
private var _t2b:FlxText;
private var _credit_state:int;// = 0
private var AshArr:FlxArray;
private var _t8c:FlxText;
private var _counter:Number;// = 0
private var ImgFg:Class;
private var _ashCounter:Number;// = 0
private var ImgBg:Class;
private var _t3b:FlxText;
private var SndEnd:Class;
private var ImgAsh:Class;
private var _t7b:FlxText;
private var _t0:FlxText;
private var _t1:FlxText;
private var _t2:FlxText;
private var _t4:FlxText;
private var _t6:FlxText;
private var _t4b:FlxText;
private var _t3:FlxText;
private var _fg:FlxSprite;
private var _t8:FlxText;
private var _bg:FlxSprite;
private var _t10:FlxText;
private var _t8b:FlxText;
private var ImgE1:Class;
private var ImgE2:Class;
private var ImgE3:Class;
private var _t61:FlxText;
private var _t5:FlxText;
private var ImgE4:Class;
private var Sndboom1:Class;
private var Sndboom2:Class;
public function CreditState():void{
ImgBg = CreditState_ImgBg;
ImgFg = CreditState_ImgFg;
ImgE1 = CreditState_ImgE1;
ImgE2 = CreditState_ImgE2;
ImgE3 = CreditState_ImgE3;
ImgE4 = CreditState_ImgE4;
ImgAsh = CreditState_ImgAsh;
SndEnd = CreditState_SndEnd;
Sndboom1 = CreditState_Sndboom1;
Sndboom2 = CreditState_Sndboom2;
super();
AshArr = new FlxArray();
FlxG.state.add((_bg = (new FlxSprite(ImgBg, 0, -20, false, false, 160, 140, 4281545523) as FlxSprite)));
_bg.addAnimation("normal", [0, 1], 5);
_bg.addAnimation("exploded", [2, 3, 4, 5], 5);
_bg.play("normal");
_bg.velocity.y = 15;
FlxG.state.add((_fg = (new FlxSprite(ImgFg, 0, 40, false, false, 160, 140, 4281545523) as FlxSprite)));
_fg.velocity.y = -30;
FlxG.state.add((_overlay = (new FlxSprite(null, 0, 0, false, false, 160, 120, 4278190080) as FlxSprite)));
_overlay.alpha = 0;
FlxG.state.add((_t1 = new FlxText(0, 240, FlxG.width, 12, "Congratulations hero!", 0xFFFFFF, null, 8, "center")));
if (Globals.CurrentDifficulty == 0){
FlxG.state.add((_t0 = new FlxText(0, 262, FlxG.width, 12, "Hard Mode Unlocked!", 0xFFFFFF, null, 8, "center")));
} else {
FlxG.state.add((_t0 = new FlxText(0, 262, FlxG.width, 12, "You rock!", 0xFFFFFF, null, 8, "center")));
};
FlxG.state.add((_t2 = new FlxText(0, 240, FlxG.width, 12, "Developers: ", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t2b = new FlxText(0, 262, FlxG.width, 12, "Tim Hely and Robert Lupinek", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_e1 = (new FlxSprite(ImgE1, 30, 240, false, false, 12, 12, 4281545523) as FlxSprite)));
_e1.addAnimation("normal", [0, 1, 2, 3], 10);
_e1.play("normal");
FlxG.state.add((_t3 = new FlxText(0, 300, FlxG.width, 12, "Music By:", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t3b = new FlxText(0, 312, FlxG.width, 12, "Kristian Caldwell - Bunnymajs", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_e3 = (new FlxSprite(ImgE3, 20, 420, false, false, 12, 12, 4281545523) as FlxSprite)));
_e3.addAnimation("normal", [0, 1, 2, 3], 10);
_e3.play("normal");
FlxG.state.add((_t4 = new FlxText(0, 420, FlxG.width, 12, "Flixel Framework:", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t4b = new FlxText(0, 432, FlxG.width, 12, "Adam Atomic", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t5 = new FlxText(0, 480, FlxG.width, 12, "Sounds: DrPetter's SFXR", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t6 = new FlxText(0, 540, FlxG.width, 12, "Beta Testers", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t61 = new FlxText(0, 562, FlxG.width, 12, "Justin Leingang", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t62 = new FlxText(0, 584, FlxG.width, 12, "Chris Smith", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t63 = new FlxText(0, 606, FlxG.width, 12, "David Andersson", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t64 = new FlxText(0, 628, FlxG.width, 12, "Simon Kaizen", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t7 = new FlxText(0, 670, FlxG.width, 12, "Flan Map Editor: nitram_cero", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_e4 = (new FlxSprite(ImgE4, 15, 740, false, false, 12, 12, 4281545523) as FlxSprite)));
_e4.addAnimation("normal", [0, 1, 2, 3], 10);
_e4.play("normal");
FlxG.state.add((_t8 = new FlxText(0, 740, FlxG.width, 12, "Special thanks to the", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t8b = new FlxText(0, 752, FlxG.width, 12, "pixels that gave their lives", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t8c = new FlxText(0, 764, FlxG.width, 12, "to make this game.", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_e2 = (new FlxSprite(ImgE2, 10, 880, false, false, 12, 12, 4281545523) as FlxSprite)));
_e2.addAnimation("normal", [0, 1, 2, 3, 2, 4, 2], 10);
_e2.play("normal");
FlxG.state.add((_e5 = (new FlxSprite(ImgE2, 138, 880, false, true, 12, 12, 4281545523) as FlxSprite)));
_e5.addAnimation("normal", [0, 1, 2, 3, 2, 4, 2], 10);
_e5.play("normal");
_e5.facing = false;
FlxG.state.add((_t9 = new FlxText(0, 880, FlxG.width, 12, "Thank you for playing!", 0xFFFFFF, null, 8, "center")));
FlxG.state.add((_t10 = new FlxText(0, 110, FlxG.width, 12, "Press X to exit", 0xFFFFFF, null, 8, "left")));
FlxG.setMusic(SndEnd);
}
private function AddAsh():void{
var _local3:FlxSprite;
var _local4:FlxSprite;
var _local1:Boolean;
var _local2:int;
while (_local2 < Rnd.integer(7, 21)) {
_local1 = false;
for each (_local3 in AshArr) {
if (((!(_local3.onScreen())) && ((_local3.y > 1)))){
if (!_local1){
_local1 = true;
_local3.y = Rnd.integer(-10, 0);
_local3.x = Rnd.integer(0, FlxG.width);
_local3.velocity.y = Rnd.integer(7, 14);
} else {
_local3.kill();
};
};
};
if (!_local1){
_local4 = new FlxSprite(ImgAsh, Rnd.integer(0, FlxG.width), Rnd.integer(-10, 0), true, false, 1, 1);
_local4.addAnimation("normal", [0]);
_local4.addAnimation("burn", [0, 0, 0, 1, 1, 2, 1, 1], 8);
if (Rnd.boolean(0.3)){
_local4.play("burn");
} else {
_local4.play("normal");
};
_local4.velocity.x = 0;
_local4.velocity.y = Rnd.integer(7, 14);
AshArr.add((FlxG.state.add(_local4) as FlxSprite));
};
_local2++;
};
}
override public function update():void{
_counter2 = (_counter2 + FlxG.elapsed);
if (((FlxG.pressed(FlxG.A)) && ((_counter2 > 1.5)))){
FlxG.switchState(MenuState);
};
_counter = (_counter + FlxG.elapsed);
if (_credit_state == 4){
if (_overlay.alpha < 0.8){
_overlay.alpha = (_overlay.alpha + 0.02);
};
};
if (_credit_state == 7){
_e1.y = (_e1.y - (FlxG.elapsed * 20));
_e3.y = (_e3.y - (FlxG.elapsed * 20));
_e4.y = (_e4.y - (FlxG.elapsed * 20));
_e2.y = (_e2.y - (FlxG.elapsed * 20));
_e5.y = (_e5.y - (FlxG.elapsed * 20));
_t0.y = (_t0.y - (FlxG.elapsed * 20));
_t1.y = (_t1.y - (FlxG.elapsed * 20));
_t2.y = (_t2.y - (FlxG.elapsed * 20));
_t2b.y = (_t2b.y - (FlxG.elapsed * 20));
_t3.y = (_t3.y - (FlxG.elapsed * 20));
_t3b.y = (_t3b.y - (FlxG.elapsed * 20));
_t4.y = (_t4.y - (FlxG.elapsed * 20));
_t4b.y = (_t4b.y - (FlxG.elapsed * 20));
_t5.y = (_t5.y - (FlxG.elapsed * 20));
_t6.y = (_t6.y - (FlxG.elapsed * 20));
_t61.y = (_t61.y - (FlxG.elapsed * 20));
_t62.y = (_t62.y - (FlxG.elapsed * 20));
_t63.y = (_t63.y - (FlxG.elapsed * 20));
_t64.y = (_t64.y - (FlxG.elapsed * 20));
_t7.y = (_t7.y - (FlxG.elapsed * 20));
_t8.y = (_t8.y - (FlxG.elapsed * 20));
_t8b.y = (_t8b.y - (FlxG.elapsed * 20));
_t8c.y = (_t8c.y - (FlxG.elapsed * 20));
_t9.y = (_t9.y - (FlxG.elapsed * 20));
};
if (_counter > _trigger){
if (_credit_state == 0){
_bg.velocity.y = 0;
_fg.velocity.y = 0;
_trigger = 1;
};
if (_credit_state == 1){
FlxG.play(Sndboom1);
FlxG.quake(0.02, 0.3);
FlxG.flash(4294967193, 0.1);
_bg.play("exploded");
_trigger = 1;
};
if (_credit_state == 2){
FlxG.play(Sndboom2);
FlxG.quake(0.02, 0.3);
FlxG.flash(4294967193, 0.1);
_trigger = 0.8;
};
if (_credit_state == 3){
FlxG.play(Sndboom2);
FlxG.quake(0.02, 0.3);
FlxG.flash(4294967193, 0.1);
_trigger = 0.5;
};
if (_credit_state == 4){
FlxG.play(Sndboom2);
FlxG.quake(0.02, 0.3);
FlxG.flash(4294967193, 0.1);
_trigger = 2;
};
if (_credit_state == 5){
_trigger = 3;
_t1.y = (_t1.y - 160);
_t0.y = (_t0.y - 160);
_t10.y = (_t10.y - 360);
};
if (_credit_state == 6){
_trigger = 42;
};
if (_credit_state == 7){
_t10.y = 110;
_trigger = 30;
};
if (_credit_state == 8){
FlxG.switchState(MenuState);
};
_credit_state = (_credit_state + 1);
_counter = 0;
};
if ((((_credit_state > 3)) && ((_ashCounter > 1)))){
AddAsh();
_ashCounter = 0;
};
_ashCounter = (_ashCounter + FlxG.elapsed);
super.update();
}
}
}//package com.ProjUno
Section 19
//CreditState_ImgAsh (com.ProjUno.CreditState_ImgAsh)
package com.ProjUno {
import mx.core.*;
public class CreditState_ImgAsh extends BitmapAsset {
}
}//package com.ProjUno
Section 20
//CreditState_ImgBg (com.ProjUno.CreditState_ImgBg)
package com.ProjUno {
import mx.core.*;
public class CreditState_ImgBg extends BitmapAsset {
}
}//package com.ProjUno
Section 21
//CreditState_ImgE1 (com.ProjUno.CreditState_ImgE1)
package com.ProjUno {
import mx.core.*;
public class CreditState_ImgE1 extends BitmapAsset {
}
}//package com.ProjUno
Section 22
//CreditState_ImgE2 (com.ProjUno.CreditState_ImgE2)
package com.ProjUno {
import mx.core.*;
public class CreditState_ImgE2 extends BitmapAsset {
}
}//package com.ProjUno
Section 23
//CreditState_ImgE3 (com.ProjUno.CreditState_ImgE3)
package com.ProjUno {
import mx.core.*;
public class CreditState_ImgE3 extends BitmapAsset {
}
}//package com.ProjUno
Section 24
//CreditState_ImgE4 (com.ProjUno.CreditState_ImgE4)
package com.ProjUno {
import mx.core.*;
public class CreditState_ImgE4 extends BitmapAsset {
}
}//package com.ProjUno
Section 25
//CreditState_ImgFg (com.ProjUno.CreditState_ImgFg)
package com.ProjUno {
import mx.core.*;
public class CreditState_ImgFg extends BitmapAsset {
}
}//package com.ProjUno
Section 26
//CreditState_Sndboom1 (com.ProjUno.CreditState_Sndboom1)
package com.ProjUno {
import mx.core.*;
public class CreditState_Sndboom1 extends SoundAsset {
}
}//package com.ProjUno
Section 27
//CreditState_Sndboom2 (com.ProjUno.CreditState_Sndboom2)
package com.ProjUno {
import mx.core.*;
public class CreditState_Sndboom2 extends SoundAsset {
}
}//package com.ProjUno
Section 28
//CreditState_SndEnd (com.ProjUno.CreditState_SndEnd)
package com.ProjUno {
import mx.core.*;
public class CreditState_SndEnd extends SoundAsset {
}
}//package com.ProjUno
Section 29
//Door (com.ProjUno.Door)
package com.ProjUno {
import org.flixel.*;
public class Door extends FlxSprite {
public var toDoor:int;
public var toRoom:int;
public function Door(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{
super(null, _arg1, _arg2, true, false, 8, 8, 0);
toRoom = _arg3;
toDoor = _arg4;
}
}
}//package com.ProjUno
Section 30
//DoorList (com.ProjUno.DoorList)
package com.ProjUno {
public class DoorList {
public var toDoor:int;
public var x:int;
public var y:int;
public var id:int;
public var toRoom:int;
public function DoorList(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int):void{
id = _arg1;
x = _arg2;
y = _arg3;
toRoom = _arg4;
toDoor = _arg5;
}
}
}//package com.ProjUno
Section 31
//Enemy (com.ProjUno.Enemy)
package com.ProjUno {
import flash.geom.*;
import org.flixel.*;
import com.gskinner.utils.*;
public class Enemy extends FlxSprite {
public var attack_counter:Number;// = 1
public var attack_range:int;// = 0
private var _change_counter:Number;// = 0
public var harmless:Boolean;// = false
public var attack_timer:int;// = 5
public var flying:Boolean;// = false
public var min_range:int;// = 0
public var sight_range:int;// = 0
public var seeplayer_set:Number;// = 3
public var max_range:int;// = 10
public var wander_chance_right:Number;// = 35
public var wander_chance_left:Number;// = 35
public var wander_chance_stop:Number;// = 30
public var _hurt_counter:Number;// = 0
private var _pace_counter:Number;// = 0
public var seeplayer_counter:Number;// = 0
public var pace_range:int;// = 1
public var mode_noseeplayer:int;// = 0
public var type:int;// = 0
public var isBoss:Boolean;// = false
public var current_action:int;// = 0
public var sX:uint;
public var sY:uint;
public var vulnerable:Boolean;// = true
private var _jump_counter:Number;// = -1
public var see_player:Boolean;// = false
public var move_mode:int;// = 0
public var changeface:Boolean;// = true
public var mode_seeplayer:int;// = 0
public var move_speed:int;// = 30
public var weakhead:Boolean;// = true
public var move_change:int;// = 1
private var _vMove:Number;// = 0
public var attack_ani_timer:Number;// = 0.5
public var jumping:Boolean;// = false
public var HeartChance:Number;// = 0.5
public function Enemy(_arg1:Number, _arg2:Number, _arg3:Class, _arg4:int=0, _arg5:int=0, _arg6:int=0, _arg7:uint=0){
super(_arg3, _arg1, _arg2, true, true, _arg5, _arg6, _arg7);
sX = _arg1;
sY = _arg2;
type = _arg4;
_change_counter = move_change;
jumping = false;
_pace_counter = pace_range;
}
public function moveAngle(_arg1:Number, _arg2:Number):Point{
var _local3:Number = 0.01745;
var _local4:Point = new Point((Math.cos((_arg1 * _local3)) * _arg2), -((Math.sin((_arg1 * _local3)) * _arg2)));
return (_local4);
}
override public function hurt(_arg1:Number):void{
if (((!(vulnerable)) || ((_hurt_counter > 0)))){
return;
};
_hurt_counter = 0.75;
return (super.hurt(_arg1));
}
public function SetDifficulty():void{
if (Globals.CurrentDifficulty == 1){
health = (health * 1.5);
max_range = (max_range * 1.5);
move_speed = (move_speed * 1.5);
sight_range = (sight_range * 1.5);
};
}
public function getAngle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number = 0;
var _local6:Number = 0.01745;
var _local7:Number = Math.atan2((_arg2 - _arg4), (_arg3 - _arg1));
var _local8:Number = (_local7 / _local6);
while (_local8 < 0) {
_local8 = (_local8 + 360);
};
while (_local8 > 360) {
_local8 = (_local8 - 360);
};
_local5 = _local8;
return (_local5);
}
override public function hitFloor():Boolean{
jumping = false;
return (super.hitFloor());
}
public function Animate():void{
if (_hurt_counter > 0){
play("hurt");
} else {
if (attack_counter > (attack_timer - attack_ani_timer)){
play("attack");
} else {
if (jumping){
play("jump");
} else {
switch (current_action){
case 0:
play("idle");
break;
case 1:
play("normal");
break;
};
};
};
};
}
override public function update():void{
if (Globals.Freeze){
return;
};
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
if (_hurt_counter > 0){
_hurt_counter = (_hurt_counter - (FlxG.elapsed * 3));
};
if (attack_counter > 0){
attack_counter = (attack_counter - (FlxG.elapsed * 3));
};
if (_change_counter > 0){
_change_counter = (_change_counter - (FlxG.elapsed * 3));
};
if (seeplayer_counter > 0){
seeplayer_counter = (seeplayer_counter - (FlxG.elapsed * 3));
};
var _local1:int = Movement();
if (attack_counter <= 0){
if ((((((((attack_range > 0)) && (see_player))) && ((_local1 <= max_range)))) || ((attack_range < 0)))){
Attack();
};
} else {
attack_counter = (attack_counter - (FlxG.elapsed * 3));
};
Animate();
super.update();
}
public function noBlocks(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Boolean=true):Boolean{
var _local9:int;
var _local10:Breakables;
_arg1 = (_arg1 + 2);
_arg2 = (_arg2 - 2);
_arg3 = (_arg3 + 4);
_arg4 = (_arg4 - 4);
if ((((_arg1 >= _arg2)) || ((_arg3 >= _arg4)))){
return (false);
};
var _local6:Boolean;
var _local7:Boolean;
var _local8:int = _arg3;
while (_local8 <= _arg4) {
_local7 = true;
_local9 = _arg1;
while (_local9 < _arg2) {
if (PlayState.rooms[PlayState._current_room].WallArr[uint((_local8 / 8))][uint((_local9 / 8))] > PlayState._room.FirstSolid){
_local7 = false;
break;
};
if (_local7){
for each (_local10 in PlayState._room.breaks) {
if ((((((((((_local10.x <= _local9)) && ((_local10.y <= _arg3)))) && (((_local10.x + _local10.width) >= _local9)))) && (((_local10.y + _local10.height) >= _local8)))) && (!(_local10.dead)))){
_local7 = false;
break;
};
};
};
_local9 = (_local9 + 2);
};
if (!_local7){
_local6 = false;
} else {
break;
};
_local8 = (_local8 + 2);
};
return (_local6);
}
public function Movement():int{
var _local3:int;
var _local4:Player;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:Number;
see_player = false;
var _local1:int = move_mode;
var _local2 = -1;
if (((!(onScreen())) && (!((move_mode == Globals.AI_CHASE))))){
move_mode = Globals.AI_IDLE;
} else {
if (sight_range >= 0){
_local4 = PlayState._p;
_local5 = _local4.x;
_local6 = (_local4.x + _local4.width);
_local7 = _local4.y;
_local8 = (_local4.y + _local4.height);
_local9 = (x - (sight_range * 8));
_local10 = ((x + width) + (sight_range * 8));
_local11 = (y - 8);
_local12 = ((y + height) + 8);
if ((((((((_local5 <= _local10)) && ((_local6 >= _local9)))) && ((_local7 <= _local12)))) && ((_local8 >= _local11)))){
if (_local4.x < (x + (width / 2))){
_local2 = ((x - (_local4.x + _local4.width)) / 8);
if (facing){
if (_local2 <= (sight_range / 4)){
if (noBlocks(_local4.x, x, (y - 8), ((y + height) + 8), false)){
if (changeface){
facing = false;
};
see_player = true;
};
};
} else {
if (_local2 <= sight_range){
if (noBlocks(_local4.x, x, (y - 8), ((y + height) + 8), false)){
see_player = true;
};
};
};
} else {
_local2 = ((_local4.x - (x + width)) / 8);
if (facing){
if (_local2 <= sight_range){
if (noBlocks(x, _local4.x, (y - 8), ((y + height) + 8), false)){
see_player = true;
};
};
} else {
if (_local2 <= (sight_range / 4)){
if (noBlocks(x, _local4.x, (y - 8), ((y + height) + 8), false)){
if (changeface){
facing = true;
};
see_player = true;
};
};
};
};
};
};
};
_local2 = Math.abs(_local2);
if (see_player){
move_mode = mode_seeplayer;
seeplayer_counter = seeplayer_set;
} else {
move_mode = mode_noseeplayer;
};
if (seeplayer_counter > 0){
move_mode = mode_seeplayer;
};
if (((!((_local1 == move_mode))) || ((_change_counter <= 0)))){
_change_counter = move_change;
switch (move_mode){
case Globals.AI_IDLE:
current_action = 0;
velocity.x = 0;
break;
case Globals.AI_WANDER:
_local13 = int((Math.floor((Math.random() * (((wander_chance_left + wander_chance_stop) + wander_chance_right) - 1))) + 1));
_local14 = 0;
if (_local13 <= wander_chance_stop){
_local14 = 0;
} else {
if ((((_local13 > wander_chance_stop)) && ((_local13 <= (wander_chance_right + wander_chance_stop))))){
_local14 = 1;
} else {
if ((((_local13 > (wander_chance_stop + wander_chance_right))) && ((_local13 <= ((wander_chance_left + wander_chance_stop) + wander_chance_right))))){
_local14 = -1;
};
};
};
if (_local14 == 1){
if (((noBlocks(((x + width) + 2), ((x + width) + 4), ((y + height) + 1), ((y + height) + 2))) || (!(noBlocks(((x + width) + 2), ((x + width) + 4), (y + 1), ((y + height) - 2)))))){
_local13 = Number((Math.floor((Math.random() * ((wander_chance_left + wander_chance_stop) - 1))) - 1));
if (_local13 <= wander_chance_stop){
_local14 = 0;
} else {
if ((((_local13 > wander_chance_stop)) && ((_local13 <= (wander_chance_left + wander_chance_stop))))){
_local14 = -1;
};
};
};
} else {
if (_local14 == -1){
if (((noBlocks((x - 4), (x - 2), ((y + height) + 1), ((y + height) + 2))) || (!(noBlocks((x - 4), (x - 2), (y + 1), ((y + height) - 2)))))){
_local13 = Number((Math.floor((Math.random() * ((wander_chance_right + wander_chance_stop) - 1))) - 1));
if (_local13 <= wander_chance_stop){
_local14 = 0;
} else {
if ((((_local13 > wander_chance_stop)) && ((_local13 <= (wander_chance_right + wander_chance_stop))))){
_local14 = 1;
};
};
};
};
};
if (_local14 != 0){
if (changeface){
facing = (_local14 == -1);
};
current_action = 1;
} else {
current_action = 0;
};
velocity.x = ((move_speed / 2) * -(_local14));
break;
case Globals.AI_CHASE:
current_action = 1;
if (facing){
_local3 = 1;
} else {
_local3 = -1;
};
velocity.x = (move_speed * _local3);
if ((((_local2 < min_range)) && ((_local2 > -1)))){
velocity.x = 0;
current_action = 0;
};
break;
case Globals.AI_PACE:
current_action = 1;
_pace_counter = (_pace_counter - (FlxG.elapsed * 50));
if (_pace_counter <= 0){
if (changeface){
facing = !(facing);
};
_pace_counter = pace_range;
};
if (facing){
_local3 = 1;
} else {
_local3 = -1;
};
velocity.x = (move_speed * _local3);
break;
};
};
if (flying){
_vMove = (_vMove + (FlxG.elapsed * 2));
if (_vMove >= 2){
velocity.y = (velocity.y * -1);
_vMove = 0;
};
};
return (_local2);
}
override public function kill():void{
if (Rnd.boolean(HeartChance)){
PlayState._pickups.add(PlayState.lyrStuff.add(new HealthUp((x + (width / 2)), y)));
};
super.kill();
}
public function getDistance(_arg1:Number, _arg2:Number):Number{
var _local3:Number = (_arg1 - (x + (width / 2)));
var _local4:Number = (_arg2 - (y + (height / 2)));
return ((Math.sqrt((_local3 * _local3)) + Math.sqrt((_local4 * _local4))));
}
public function Attack():void{
attack_counter = attack_timer;
}
override public function hitWall():Boolean{
if ((((move_mode == Globals.AI_CHASE)) && (!(jumping)))){
jumping = true;
velocity.y = -120;
};
return (super.hitWall());
}
}
}//package com.ProjUno
Section 32
//Enemy1 (com.ProjUno.Enemy1)
package com.ProjUno {
import org.flixel.*;
public class Enemy1 extends Enemy {
private var ImgFoot:Class;
private var SndShoot:Class;
private var SndDie:Class;
public function Enemy1(_arg1:Number, _arg2:Number):void{
ImgFoot = Enemy1_ImgFoot;
SndShoot = Enemy1_SndShoot;
SndDie = Enemy1_SndDie;
super(_arg1, _arg2, ImgFoot, 1);
width = 5;
height = 11;
offset.x = 4;
offset.y = 1;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 50;
acceleration.y = 420;
addAnimation("normal", [0, 1, 2, 3], 10);
addAnimation("jump", [2]);
addAnimation("attack", [4, 0], 6);
addAnimation("idle", [0]);
addAnimation("hurt", [1, 5], 10);
addAnimation("dead", [5, 5, 5], 5);
play("idle");
mode_seeplayer = Globals.AI_CHASE;
mode_noseeplayer = Globals.AI_WANDER;
facing = false;
health = 3;
attack_range = 5;
attack_range = -1;
min_range = 1;
max_range = 20;
attack_range = 7;
sight_range = 12;
seeplayer_set = 2;
attack_timer = 8;
attack_ani_timer = 1;
HeartChance = 0.8;
SetDifficulty();
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
velocity.x = 0;
velocity.y = -40;
super.kill();
play("dead");
exists = true;
}
override public function Attack():void{
var _local1:EnemyBullet;
super.Attack();
if (facing){
_local1 = new EnemyBullet((x + 3), (y + 4), 30, 0, 0);
_local1.reset((x + 3), (y + 4), 50, 0, 0, 2.5);
} else {
_local1 = new EnemyBullet((x - 5), (y + 2), 30, 0, 0);
_local1.reset((x - 5), (y + 4), -50, 0, 0, 2.5);
};
FlxG.play(SndShoot);
PlayState._eBullets.add(PlayState.lyrBullets.add(_local1));
}
}
}//package com.ProjUno
Section 33
//Enemy1_ImgFoot (com.ProjUno.Enemy1_ImgFoot)
package com.ProjUno {
import mx.core.*;
public class Enemy1_ImgFoot extends BitmapAsset {
}
}//package com.ProjUno
Section 34
//Enemy1_SndDie (com.ProjUno.Enemy1_SndDie)
package com.ProjUno {
import mx.core.*;
public class Enemy1_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 35
//Enemy1_SndShoot (com.ProjUno.Enemy1_SndShoot)
package com.ProjUno {
import mx.core.*;
public class Enemy1_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 36
//EnemyAssasin (com.ProjUno.EnemyAssasin)
package com.ProjUno {
import org.flixel.*;
public class EnemyAssasin extends Enemy {
private var ImgFoot:Class;
private var SndShoot:Class;
private var SndDie:Class;
public function EnemyAssasin(_arg1:Number, _arg2:Number):void{
ImgFoot = EnemyAssasin_ImgFoot;
SndShoot = EnemyAssasin_SndShoot;
SndDie = EnemyAssasin_SndDie;
super(_arg1, _arg2, ImgFoot, 1);
width = 7;
height = 11;
offset.x = 2;
offset.y = 1;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 50;
acceleration.y = 420;
addAnimation("normal", [0, 1, 2, 3], 10);
addAnimation("jump", [2]);
addAnimation("attack", [4, 5, 6, 7], 10);
addAnimation("idle", [0]);
addAnimation("hurt", [1, 8], 10);
addAnimation("dead", [8, 8, 8], 7);
play("idle");
mode_seeplayer = Globals.AI_CHASE;
mode_noseeplayer = Globals.AI_WANDER;
facing = false;
health = 3;
min_range = 0;
attack_timer = 3;
attack_ani_timer = 2.5;
attack_range = 1;
sight_range = 10;
move_speed = 60;
wander_chance_stop = 80;
wander_chance_left = 10;
wander_chance_right = 10;
move_change = 5;
HeartChance = 0.7;
SetDifficulty();
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
velocity.x = 0;
velocity.y = -40;
super.kill();
play("dead");
exists = true;
}
override public function Attack():void{
super.Attack();
}
}
}//package com.ProjUno
Section 37
//EnemyAssasin_ImgFoot (com.ProjUno.EnemyAssasin_ImgFoot)
package com.ProjUno {
import mx.core.*;
public class EnemyAssasin_ImgFoot extends BitmapAsset {
}
}//package com.ProjUno
Section 38
//EnemyAssasin_SndDie (com.ProjUno.EnemyAssasin_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyAssasin_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 39
//EnemyAssasin_SndShoot (com.ProjUno.EnemyAssasin_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyAssasin_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 40
//EnemyAssasin2 (com.ProjUno.EnemyAssasin2)
package com.ProjUno {
import org.flixel.*;
public class EnemyAssasin2 extends Enemy {
private var ImgFoot:Class;
private var SndShoot:Class;
private var SndDie:Class;
public function EnemyAssasin2(_arg1:Number, _arg2:Number):void{
ImgFoot = EnemyAssasin2_ImgFoot;
SndShoot = EnemyAssasin2_SndShoot;
SndDie = EnemyAssasin2_SndDie;
super(_arg1, _arg2, ImgFoot, 1);
width = 7;
height = 11;
offset.x = 2;
offset.y = 1;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 50;
acceleration.y = 420;
addAnimation("normal", [0, 1, 2, 3], 16);
addAnimation("jump", [2]);
addAnimation("attack", [4, 5, 6, 7], 10);
addAnimation("idle", [0]);
addAnimation("hurt", [1, 8], 10);
addAnimation("dead", [8, 8, 8], 7);
play("idle");
mode_seeplayer = Globals.AI_CHASE;
mode_noseeplayer = Globals.AI_WANDER;
facing = false;
health = 5;
min_range = 1;
attack_timer = 0.5;
attack_ani_timer = 2.5;
attack_range = 0;
sight_range = 10;
move_speed = 80;
wander_chance_stop = 50;
wander_chance_left = 25;
wander_chance_right = 25;
move_change = 1;
HeartChance = 0.9;
SetDifficulty();
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
velocity.x = 0;
velocity.y = -40;
super.kill();
play("dead");
exists = true;
}
override public function Attack():void{
super.Attack();
}
}
}//package com.ProjUno
Section 41
//EnemyAssasin2_ImgFoot (com.ProjUno.EnemyAssasin2_ImgFoot)
package com.ProjUno {
import mx.core.*;
public class EnemyAssasin2_ImgFoot extends BitmapAsset {
}
}//package com.ProjUno
Section 42
//EnemyAssasin2_SndDie (com.ProjUno.EnemyAssasin2_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyAssasin2_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 43
//EnemyAssasin2_SndShoot (com.ProjUno.EnemyAssasin2_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyAssasin2_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 44
//EnemyBlackHand (com.ProjUno.EnemyBlackHand)
package com.ProjUno {
import org.flixel.*;
public class EnemyBlackHand extends Enemy {
private var _computer:Enemy;
private var _bbox:FlxSprite;
private var _add_parts:Boolean;// = false
private var _state_counter:Number;// = 25
private var _sparks:FlxEmitter;
private var SndShoot:Class;
private var _create_counter:Number;// = 4
private var _baddy:Enemy;
private var _boss_state:int;// = 8
private var _shot_count:int;// = 0
private var ImgFoot:Class;
private var SndDie:Class;
private var ImgSparks:Class;
private var _explode:FlxEmitter;
private var ImgExplode:Class;
public function EnemyBlackHand(_arg1:Number, _arg2:Number):void{
ImgFoot = EnemyBlackHand_ImgFoot;
SndShoot = EnemyBlackHand_SndShoot;
SndDie = EnemyBlackHand_SndDie;
ImgSparks = EnemyBlackHand_ImgSparks;
ImgExplode = EnemyBlackHand_ImgExplode;
super(_arg1, _arg2, ImgFoot, 1);
health = 100;
Globals.boss_health = health;
PlayState.update_boss_health = 1;
attack_range = 5;
attack_range = -1;
min_range = 1;
max_range = 20;
attack_range = 5;
sight_range = 10;
seeplayer_set = 2;
attack_timer = 6;
attack_ani_timer = 2;
weakhead = false;
isBoss = true;
HeartChance = 0;
harmless = false;
width = 6;
height = 10;
offset.x = 3;
offset.y = 2;
drag.x = 0;
acceleration.y = 0;
addAnimation("normal", [5, 6, 7, 8, 6], 10);
addAnimation("idle", [0, 1, 2, 3, 2, 4, 2], 6);
addAnimation("attack", [7, 8], 5);
addAnimation("hurt", [6, 9], 10);
addAnimation("dead", [0, 1, 0, 1, 1, 1, 1, 1], 5);
play("idle");
mode_seeplayer = Globals.AI_CHASE;
mode_noseeplayer = Globals.AI_WANDER;
facing = false;
_sparks = (new FlxEmitter(0, 0, 0, 0, null, -5, -90, 90, -140, 70, 0, 0, 80, 20, ImgSparks, 80, true, PlayState.lyrBullets) as FlxEmitter);
PlayState.lyrBullets.add(_sparks);
_explode = (new FlxEmitter(0, 0, 0, 0, null, -5, -90, 90, -140, 70, 0, 0, 80, 20, ImgExplode, 80, true, PlayState.lyrBullets) as FlxEmitter);
PlayState.lyrBullets.add(_explode);
SetDifficulty();
}
override public function update():void{
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
Globals.boss_health = health;
if (_hurt_counter > 0){
_hurt_counter = (_hurt_counter - (FlxG.elapsed * 3));
};
if (!_add_parts){
_computer = new EnemyBossComputer(((8 * 8) + 1), ((5 * 8) + 4));
PlayState._room.enemies.add(PlayState.lyrWalls.add(_computer));
_add_parts = true;
};
_create_counter = (_create_counter - FlxG.elapsed);
if (_create_counter <= 0){
_baddy = new Enemy1((8 * 1), (8 * 13));
PlayState._room.enemies.add(PlayState.lyrStuff.add(_baddy));
_baddy.see_player = true;
_baddy.facing = true;
_baddy.seeplayer_set = 10000;
_baddy = new Enemy1((23 * 8), (8 * 13));
PlayState._room.enemies.add(PlayState.lyrStuff.add(_baddy));
_baddy.see_player = true;
_baddy.seeplayer_set = 10000;
_create_counter = 5;
};
if (health < 60){
_computer.play("damaged");
};
if (health < 20){
FlxG.quake(0.01, 1);
_computer.play("launch");
};
_state_counter = (_state_counter - FlxG.elapsed);
if (_state_counter <= 0){
_boss_state = 1;
};
if ((((_boss_state == 1)) || ((health < 60)))){
_boss_state = 1;
if ((Math.random() * 10) > 9){
if (PlayState._p.x > x){
facing = true;
velocity.x = 20;
} else {
facing = false;
velocity.x = -20;
};
};
if ((Math.random() * 10) > 9){
if (y < 60){
if ((Math.random() * 10) > 3){
velocity.y = 20;
} else {
velocity.y = -10;
};
} else {
velocity.y = -10;
};
};
};
if (attack_counter > 0){
attack_counter = (attack_counter - (FlxG.elapsed * 3));
};
if ((((attack_counter <= 0)) && ((_boss_state < 4)))){
Attack();
} else {
attack_counter = (attack_counter - (FlxG.elapsed * 3));
};
Animate();
super.update();
}
override public function Animate():void{
if (_hurt_counter > 0){
play("hurt");
} else {
if (_boss_state == 1){
if (attack_counter > (attack_timer - attack_ani_timer)){
play("attack");
} else {
play("normal");
};
} else {
play("idle");
};
};
}
override public function Movement():int{
return (0);
}
override public function Attack():void{
var _local1:EnemyBullet;
super.Attack();
if (facing){
_local1 = new EnemyBullet((x + 3), (y + 4), 30, 0, 0);
_local1.reset((x + 8), (y + 12), 10, 60, 0, 7);
} else {
_local1 = new EnemyBullet((x - 5), (y + 2), 30, 0, 0);
_local1.reset(x, (y + 12), -10, 60, 0, 7);
};
FlxG.play(SndShoot);
PlayState._eBullets.add(PlayState.lyrBullets.add(_local1));
}
override public function kill():void{
var _local1:FlxSprite;
var _local2:FlxSprite;
if (dead){
return;
};
if (health <= 0){
FlxG.play(SndDie);
FlxG.flash(4294967295, 3);
Globals.boss_health = 0;
FlxG.quake(0.2, 2);
_sparks.x = (x + (width / 2));
_sparks.y = (y + (height / 2));
_sparks.reset();
_explode.x = (x + (width / 2));
_explode.y = (y + (height / 2));
_explode.reset();
velocity.x = 0;
velocity.y = 0;
PlayState._p.velocity.y = -200;
PlayState.lyrWalls.destroy();
PlayState.lyrStuff2.destroy();
PlayState.lyrStuff.destroy();
PlayState._room.mapWalls.x = 2000;
play("dead");
super.kill();
for each (_local1 in PlayState._room.enemies) {
_local1.kill();
};
for each (_local2 in PlayState._room.treasures) {
_local2.kill();
};
exists = true;
} else {
super.kill();
};
}
override public function hitWall():Boolean{
return (true);
}
}
}//package com.ProjUno
Section 45
//EnemyBlackHand_ImgExplode (com.ProjUno.EnemyBlackHand_ImgExplode)
package com.ProjUno {
import mx.core.*;
public class EnemyBlackHand_ImgExplode extends BitmapAsset {
}
}//package com.ProjUno
Section 46
//EnemyBlackHand_ImgFoot (com.ProjUno.EnemyBlackHand_ImgFoot)
package com.ProjUno {
import mx.core.*;
public class EnemyBlackHand_ImgFoot extends BitmapAsset {
}
}//package com.ProjUno
Section 47
//EnemyBlackHand_ImgSparks (com.ProjUno.EnemyBlackHand_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class EnemyBlackHand_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 48
//EnemyBlackHand_SndDie (com.ProjUno.EnemyBlackHand_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyBlackHand_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 49
//EnemyBlackHand_SndShoot (com.ProjUno.EnemyBlackHand_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyBlackHand_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 50
//EnemyBomber (com.ProjUno.EnemyBomber)
package com.ProjUno {
import org.flixel.*;
public class EnemyBomber extends Enemy {
private var ImgSmoke:Class;
private var ImgFoot:Class;
private var SndShoot:Class;
private var SndDie:Class;
private var _smoke_emitter:FlxEmitter;
public function EnemyBomber(_arg1:Number, _arg2:Number):void{
ImgFoot = EnemyBomber_ImgFoot;
SndShoot = EnemyBomber_SndShoot;
SndDie = EnemyBomber_SndDie;
ImgSmoke = EnemyBomber_ImgSmoke;
super(_arg1, _arg2, ImgFoot, 2);
health = 3;
width = 5;
height = 11;
offset.x = 4;
offset.y = 1;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 50;
min_range = 2;
acceleration.y = 420;
addAnimation("normal", [0, 1, 2, 3], 10);
addAnimation("jump", [2]);
addAnimation("attack", [4, 5, 6], 8);
addAnimation("idle", [0]);
addAnimation("hurt", [1, 7], 10);
addAnimation("dead", [7, 7, 7], 5);
attack_range = 7;
play("idle");
mode_seeplayer = Globals.AI_CHASE;
mode_noseeplayer = Globals.AI_WANDER;
facing = false;
attack_timer = 10;
attack_ani_timer = 1;
sight_range = 8;
HeartChance = 0.5;
_smoke_emitter = (new FlxEmitter(0, 0, 0, 0, null, -0.4, -30, 30, -30, 30, 0, 0, 0, 10, ImgSmoke, 10, true, PlayState.lyrBullets) as FlxEmitter);
FlxG.state.add(_smoke_emitter);
SetDifficulty();
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
_smoke_emitter.x = (x + (width / 2));
_smoke_emitter.y = (y + (height / 2));
_smoke_emitter.reset();
velocity.x = 0;
velocity.y = -40;
super.kill();
play("dead");
exists = true;
attack_timer = 10;
}
override public function Attack():void{
var _local1:EnemyBullet;
super.Attack();
if (facing){
_local1 = new EnemyBullet((x + 3), (y + 4), 30, 0, 0);
_local1.reset((x + 3), (y + 4), 50, -20, 1, 5);
} else {
_local1 = new EnemyBullet((x - 5), (y + 2), 30, 1, 0);
_local1.reset((x - 5), (y + 4), -50, -20, 1, 5);
};
_local1.acceleration.y = 180;
PlayState._eBullets.add(PlayState.lyrBullets.add(_local1));
FlxG.play(SndShoot);
}
override public function update():void{
super.update();
if (attack_counter > 8){
velocity.x = 0;
};
}
}
}//package com.ProjUno
Section 51
//EnemyBomber_ImgFoot (com.ProjUno.EnemyBomber_ImgFoot)
package com.ProjUno {
import mx.core.*;
public class EnemyBomber_ImgFoot extends BitmapAsset {
}
}//package com.ProjUno
Section 52
//EnemyBomber_ImgSmoke (com.ProjUno.EnemyBomber_ImgSmoke)
package com.ProjUno {
import mx.core.*;
public class EnemyBomber_ImgSmoke extends BitmapAsset {
}
}//package com.ProjUno
Section 53
//EnemyBomber_SndDie (com.ProjUno.EnemyBomber_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyBomber_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 54
//EnemyBomber_SndShoot (com.ProjUno.EnemyBomber_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyBomber_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 55
//EnemyBoss1 (com.ProjUno.EnemyBoss1)
package com.ProjUno {
import org.flixel.*;
public class EnemyBoss1 extends Enemy {
private var _bbox:FlxSprite;
private var _shot_count:int;// = 0
private var _state_counter:Number;// = 0
private var ImgFoot:Class;
private var _sparks:FlxEmitter;
private var SndShoot:Class;
private var SndDie:Class;
private var ImgSparks:Class;
private var _boss_state:int;// = 8
public function EnemyBoss1(_arg1:Number, _arg2:Number):void{
ImgFoot = EnemyBoss1_ImgFoot;
SndShoot = EnemyBoss1_SndShoot;
SndDie = EnemyBoss1_SndDie;
ImgSparks = EnemyBoss1_ImgSparks;
super(_arg1, _arg2, ImgFoot, 1);
health = 70;
Globals.boss_health = health;
PlayState.update_boss_health = 1;
x = (x + 7);
width = 50;
height = 34;
offset.x = 7;
offset.y = 32;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 0;
acceleration.y = 0;
addAnimation("normal", [0], 10);
addAnimation("down", [5, 6, 7, 8], 15);
addAnimation("up", [8, 7, 6, 5], 15);
addAnimation("up2", [8, 7, 6, 5], 4);
addAnimation("down_attack", [9, 10, 11], 6);
addAnimation("jump", [2]);
addAnimation("attack", [1, 2, 3], 10);
addAnimation("idle", [0]);
addAnimation("hurt", [0, 4], 10);
addAnimation("dead", [0, 4, 0, 4, 4, 4, 4, 4], 5);
attack_range = 5;
play("idle");
mode_seeplayer = Globals.AI_CHASE;
mode_noseeplayer = Globals.AI_WANDER;
facing = false;
attack_range = -1;
min_range = 1;
max_range = 20;
attack_range = 5;
sight_range = 10;
seeplayer_set = 2;
attack_timer = 6;
attack_ani_timer = 2;
weakhead = false;
isBoss = true;
HeartChance = 0;
_sparks = (new FlxEmitter(0, 0, 0, 0, null, -5, -90, 90, -140, 70, 0, 0, 80, 20, ImgSparks, 80, true, PlayState.lyrBullets) as FlxEmitter);
PlayState.lyrBullets.add(_sparks);
SetDifficulty();
}
override public function Attack():void{
var _local1:EnemyBullet;
super.Attack();
_shot_count = (_shot_count + 1);
if (_shot_count > 8){
if (health < 20){
attack_timer = 5;
_boss_state = 4;
_shot_count = 0;
} else {
_shot_count = 0;
_boss_state = (_boss_state + 2);
};
};
if (facing){
_local1 = new EnemyBullet((x + 3), (y + 4), 30, 0, 0);
_local1.reset((x + 45), (y + -12), ((10 * _shot_count) + 10), -60, 0, 7);
_local1.acceleration.y = 200;
} else {
_local1 = new EnemyBullet((x - 5), (y + 2), 30, 0, 0);
_local1.reset(x, (y + -12), ((-10 * _shot_count) + -10), -60, 0, 7);
_local1.acceleration.y = 200;
};
FlxG.play(SndShoot);
PlayState._eBullets.add(PlayState.lyrBullets.add(_local1));
}
override public function Animate():void{
if ((((_hurt_counter > 0)) && ((_boss_state < 4)))){
play("hurt");
} else {
if (_boss_state < 4){
if (attack_counter > (attack_timer - attack_ani_timer)){
play("attack");
};
};
};
}
override public function Movement():int{
return (0);
}
override public function kill():void{
var _local1:EnemyBullet;
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
if (health <= 0){
FlxG.flash(4294967295, 3);
_sparks.x = (x + (width / 2));
_sparks.y = (y + (height / 2));
_sparks.reset();
velocity.x = 0;
velocity.y = 0;
play("dead");
super.kill();
exists = true;
for each (_local1 in PlayState._eBullets) {
_local1.kill();
};
} else {
super.kill();
};
Globals.boss_health = -20;
}
override public function update():void{
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
Globals.boss_health = health;
if (_hurt_counter > 0){
_hurt_counter = (_hurt_counter - (FlxG.elapsed * 3));
};
if (_boss_state == 4){
vulnerable = false;
if (_state_counter == 0){
FlxG.quake(0.01, 0.5);
};
_state_counter = (_state_counter + FlxG.elapsed);
play("down");
if (_state_counter > 0.25){
_state_counter = 0;
_boss_state = 5;
};
};
if (_boss_state == 5){
play("down_attack");
vulnerable = false;
if (_state_counter == 0){
offset.y = 53;
y = (y + 22);
height = 8;
};
_state_counter = (_state_counter + FlxG.elapsed);
if (_state_counter > 1.5){
_boss_state = 6;
_state_counter = 0;
};
};
if (_boss_state == 6){
play("down_attack");
vulnerable = false;
if ((((facing == true)) && ((_state_counter == 0)))){
velocity.x = 60;
} else {
if (_state_counter == 0){
velocity.x = -60;
};
};
_state_counter = (_state_counter + FlxG.elapsed);
if (_state_counter > 1.5){
if (facing == true){
facing = false;
} else {
facing = true;
};
_state_counter = 0;
_boss_state = 7;
velocity.x = 0;
};
};
if (_boss_state == 7){
vulnerable = true;
if (_state_counter == 0){
y = (y - 22);
offset.y = 32;
height = 34;
FlxG.quake(0.01, 0.5);
};
_state_counter = (_state_counter + FlxG.elapsed);
play("up");
if (_state_counter > 0.25){
_state_counter = 0;
_boss_state = 0;
};
};
if (_boss_state == 8){
if (_state_counter == 0){
vulnerable = false;
Globals.PFreeze = true;
visible = false;
};
_state_counter = (_state_counter + FlxG.elapsed);
if ((((_state_counter > 1)) && ((_state_counter < 2)))){
FlxG.quake(0.01, 1);
play("up2");
visible = true;
vulnerable = true;
} else {
if (_state_counter > 2){
_state_counter = 0;
_boss_state = 0;
Globals.PFreeze = false;
};
};
};
if (attack_counter > 0){
attack_counter = (attack_counter - (FlxG.elapsed * 3));
};
if ((((attack_counter <= 0)) && ((_boss_state < 4)))){
Attack();
} else {
attack_counter = (attack_counter - (FlxG.elapsed * 3));
};
Animate();
super.update();
}
override public function hitWall():Boolean{
return (true);
}
}
}//package com.ProjUno
Section 56
//EnemyBoss1_ImgFoot (com.ProjUno.EnemyBoss1_ImgFoot)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss1_ImgFoot extends BitmapAsset {
}
}//package com.ProjUno
Section 57
//EnemyBoss1_ImgSparks (com.ProjUno.EnemyBoss1_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss1_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 58
//EnemyBoss1_SndDie (com.ProjUno.EnemyBoss1_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss1_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 59
//EnemyBoss1_SndShoot (com.ProjUno.EnemyBoss1_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss1_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 60
//EnemyBoss2 (com.ProjUno.EnemyBoss2)
package com.ProjUno {
import flash.geom.*;
import org.flixel.*;
import com.gskinner.utils.*;
public class EnemyBoss2 extends Enemy {
private var mSnakes:FlxArray;
private var _last_angle:Array;
private var ImgDeath:Class;
private var _dig_counter:Number;// = 0
private var tmpS:FlxArray;
private var _count_count:Number;// = 0
private var _bullet:EnemyBullet;
private var ImgHead:Class;
private var _shot_clock:Number;// = 0
public var body:FlxArray;
private var _last_x:Array;
private var _last_y:Array;
private var _move_direction:Number;// = 110
private var AddedBody:Boolean;// = false
private var SndIntro:Class;
private var _max_health:Number;// = 0
private var ImgSparks:Class;
private var _state_counter2:Number;// = 0
private var _state_counter3:Number;// = 0
private var _move_count:int;// = 0
private var _state_counter:Number;// = 0
private var _timer:Number;// = 0
private var SndShoot:Class;
public var _boss_state:int;// = 6
private var _old_x:Number;// = 0
private var _old_y:Number;// = 0
private var _sparks:FlxEmitter;
private var _aadder:Number;// = 180
private var SndDie:Class;
private var SndDig:Class;
private var _sparks2:FlxEmitter;
public function EnemyBoss2(_arg1:Number, _arg2:Number):void{
var _local5:SnakeBody;
ImgHead = EnemyBoss2_ImgHead;
ImgSparks = EnemyBoss2_ImgSparks;
SndDie = EnemyBoss2_SndDie;
SndIntro = EnemyBoss2_SndIntro;
SndShoot = EnemyBoss2_SndShoot;
SndDig = EnemyBoss2_SndDig;
ImgDeath = EnemyBoss2_ImgDeath;
super(x, y, ImgHead, 1, 27, 27);
x = (17 * 8);
y = (27 * 8);
width = 18;
height = 18;
offset.x = 6;
offset.y = 6;
facing = true;
health = 190;
_max_health = health;
PlayState.update_boss_health = 1;
move_speed = 40;
mSnakes = new FlxArray();
addAnimation("normal", [0]);
addAnimation("attack", [1, 2, 1], 5, true);
addAnimation("hurt", [3]);
addAnimation("hurt", [3, 3, 3, 3, 3, 3, 3, 3], 1);
Globals.boss_health = health;
play("normal");
maxAngular = 0;
angularDrag = 0;
maxVelocity.x = 80;
maxVelocity.y = 80;
velocity.x = 80;
velocity.y = 80;
HeartChance = 0;
tmpS = new FlxArray();
drag.x = 0;
drag.y = 0;
weakhead = false;
isBoss = true;
sight_range = -1;
body = new FlxArray();
_last_x = new Array();
_last_y = new Array();
_last_angle = new Array();
var _local3:FlxSprite = this;
var _local4:int;
while (_local4 < 20) {
if (_local4 > 0){
_local3 = body[(_local4 - 1)];
};
_local5 = new SnakeBody(x, y, _local4, _local3, this);
body.add(_local5);
_last_x.push(x);
_last_y.push(y);
_local4++;
};
velocity = moveAngle(_move_direction, 60);
angle = (-(_move_direction) + 90);
_sparks = (FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -2, -120, 60, -80, 80, 0, 0, 180, 50, ImgSparks, 10, true, PlayState.lyrGun)) as FlxEmitter);
_sparks2 = (new FlxEmitter(0, 0, 0, 0, null, -5, -90, 90, -140, 70, 0, 0, 80, 20, ImgDeath, 80, true, PlayState.lyrBullets) as FlxEmitter);
PlayState.lyrBullets.add(_sparks2);
SetDifficulty();
}
override public function hitWall():Boolean{
if (_boss_state == 6){
return (false);
};
chew_ground();
if (_dig_counter <= 0){
FlxG.play(SndDig);
_dig_counter = 1;
};
FlxG.quake(0.01, 1);
return (false);
}
override public function hurt(_arg1:Number):void{
return (super.hurt(_arg1));
}
private function miniSnake():void{
var _local1:MiniSnake;
var _local4:Boolean;
var _local5:MiniSnake;
var _local2:int = Rnd.integer(2, 6);
var _local3:int;
while (_local3 < _local2) {
_local4 = false;
for each (_local5 in mSnakes) {
if (((_local5.dead) && (!(_local5.exists)))){
_local5.reset((x + (width / 2)), (y + (height / 2)), (_local3 * (360 / _local2)));
_local4 = true;
break;
};
};
if (!_local4){
_local1 = new MiniSnake((x + (width / 2)), (y + (height / 2)), (_local3 * (360 / _local2)));
PlayState._room.enemies.add(PlayState.lyrStuff.add(_local1));
};
_local3 = (_local3 + 1);
};
}
override public function hitFloor():Boolean{
if (_boss_state == 6){
return (false);
};
FlxG.quake(0.01, 1);
chew_ground();
if (_dig_counter <= 0){
FlxG.play(SndDig);
_dig_counter = 1;
};
return (false);
}
override public function hitCeiling():Boolean{
if (_boss_state == 6){
return (false);
};
FlxG.quake(0.01, 1);
if (_dig_counter <= 0){
FlxG.play(SndDig);
_dig_counter = 1;
};
chew_ground();
return (false);
}
override public function Movement():int{
return (0);
}
override public function Attack():void{
}
override public function update():void{
var _local3:SnakeBody;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:FlxEmitter;
var _local11:int;
var _local12:int;
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
if (!AddedBody){
for each (_local3 in body) {
PlayState.lyrStuff2.add((PlayState._room.enemies.add(_local3) as SnakeBody));
};
body.reverse();
AddedBody = true;
FlxG.play(SndIntro);
};
Globals.boss_health = health;
if (_hurt_counter > 0){
_hurt_counter = (_hurt_counter - (FlxG.elapsed * 3));
};
if (_boss_state == 0){
_aadder = 280;
_boss_state = 1;
};
if (_boss_state == 1){
if (_state_counter == 0){
move_speed = 800;
if (health < (_max_health * 0.4)){
move_speed = 1000;
};
_move_direction = (Math.random() * 360);
};
_state_counter = (_state_counter + FlxG.elapsed);
_aadder = (_aadder - (FlxG.elapsed * 20));
_move_direction = (_move_direction + (_aadder * FlxG.elapsed));
if (_move_direction > 360){
_move_direction = (_move_direction - 360);
};
if (_shot_clock <= 0){
attack_counter = 1;
FlxG.play(SndShoot);
_local4 = 0;
while (_local4 < 3) {
_local5 = 0;
_local6 = 0;
while (_local6 < PlayState._eBullets.length) {
if (!PlayState._eBullets[_local6].exists){
PlayState._eBullets[_local6].reset((((x + (width / 2)) + (Math.random() * 10)) - 5), (((y + (height / 2)) + (Math.random() * 10)) - 5), (((velocity.x * 4) + (Math.random() * 40)) - 20), (((velocity.y * 4) + (Math.random() * 40)) - 20), 0, 2);
_local5 = 1;
break;
};
_local6++;
};
if (_local5 == 0){
_bullet = new EnemyBullet((x + width), (y + (height / 2)), (velocity.x * 2), (velocity.y * 2), 0);
_bullet.reset((((x + (width / 2)) + (Math.random() * 10)) - 5), (((y + (height / 2)) + (Math.random() * 10)) - 5), ((velocity.x * 3) + ((Math.random() * 40) - 20)), ((velocity.y * 3) + ((Math.random() * 40) - 20)), 0, 2);
PlayState._eBullets.add(PlayState.lyrStuff2.add(_bullet));
};
_local4++;
};
_shot_clock = 0.2;
} else {
_shot_clock = (_shot_clock - FlxG.elapsed);
};
if (_state_counter > 10){
_state_counter = 0;
_boss_state = 2;
};
};
if (_boss_state == 2){
if (_state_counter == 0){
move_speed = 100;
if (health < (_max_health * 0.4)){
move_speed = 120;
};
_move_direction = 0;
};
_state_counter = (_state_counter + FlxG.elapsed);
_move_direction = getAngle(x, y, PlayState._p.x, PlayState._p.y);
if (_shot_clock <= 0){
attack_counter = 1;
FlxG.play(SndShoot);
_local7 = 0;
while (_local7 < 10) {
_local8 = 0;
_local9 = 0;
while (_local9 < PlayState._eBullets.length) {
if (!PlayState._eBullets[_local9].exists){
PlayState._eBullets[_local9].reset((((x + (width / 2)) + (Math.random() * 10)) - 5), (((y + (height / 2)) + (Math.random() * 10)) - 5), (((velocity.x * 4) + (Math.random() * 40)) - 20), (((velocity.y * 4) + (Math.random() * 40)) - 20), 2, 1);
_local8 = 1;
break;
};
_local9++;
};
if (_local8 == 0){
_bullet = new EnemyBullet((x + width), (y + (height / 2)), (velocity.x * 2), (velocity.y * 2), 0);
_bullet.reset((((x + (width / 2)) + (Math.random() * 10)) - 5), (((y + (height / 2)) + (Math.random() * 10)) - 5), ((velocity.x * 3) + ((Math.random() * 40) - 20)), ((velocity.y * 3) + ((Math.random() * 40) - 20)), 2, 1.5);
PlayState._eBullets.add(PlayState.lyrStuff2.add(_bullet));
};
_local7++;
};
_shot_clock = 0.3;
} else {
_shot_clock = (_shot_clock - FlxG.elapsed);
};
if (_state_counter > 20){
_state_counter = 0;
_boss_state = 3;
};
};
if (_boss_state == 3){
if (_state_counter == 0){
move_speed = 1850;
_move_direction = 0;
};
_state_counter = (_state_counter + FlxG.elapsed);
if (getDistance((8 * 14), (8 * 25)) > 15){
_move_direction = getAngle(x, y, (8 * 14), (8 * 25));
} else {
_state_counter = 21;
};
if (_state_counter > 20){
_state_counter = 0;
_boss_state = 4;
};
};
if (_boss_state == 4){
if (_state_counter == 0){
move_speed = 1000;
_state_counter2 = 0;
_state_counter3 = 0;
_move_direction = 180;
_count_count = 1.1;
velocity.x = 0;
velocity.y = 0;
_state_counter = 1;
};
_state_counter2 = (_state_counter2 + FlxG.elapsed);
if (_state_counter2 > _count_count){
_state_counter3 = (_state_counter3 + 1);
_state_counter2 = 0;
velocity.x = 0;
velocity.y = 0;
};
if (_state_counter3 == 1){
if (_state_counter2 < 0.02){
miniSnake();
if (health < (_max_health * 0.4)){
miniSnake();
};
};
_move_direction = 90;
_count_count = 0.3;
};
if (_state_counter3 == 2){
_move_direction = 0;
_count_count = 2;
};
if (_state_counter3 == 3){
attack_counter = 1;
if (_state_counter2 < 0.02){
miniSnake();
};
_move_direction = 90;
_count_count = 0.3;
};
if (_state_counter3 == 4){
_move_direction = 180;
_count_count = 2;
};
if (_state_counter3 == 5){
attack_counter = 1;
if (_state_counter2 < 0.02){
miniSnake();
if (health < (_max_health * 0.4)){
miniSnake();
};
};
_move_direction = 90;
_count_count = 0.3;
};
if (_state_counter3 == 6){
_move_direction = 0;
_count_count = 2;
};
if (_state_counter3 == 7){
attack_counter = 1;
if (_state_counter2 < 0.02){
miniSnake();
};
_move_direction = 90;
_count_count = 0.3;
};
if (_state_counter3 == 8){
_move_direction = 180;
_count_count = 2;
};
if (_state_counter3 == 9){
_state_counter = 51;
};
if (_state_counter > 50){
_state_counter = 0;
_boss_state = 5;
};
};
if (_boss_state == 5){
if (_state_counter == 0){
move_speed = 1850;
_move_direction = 0;
};
_state_counter = (_state_counter + FlxG.elapsed);
if (getDistance((8 * 14), (8 * 15)) > 15){
_move_direction = getAngle(x, y, (8 * 14), (8 * 15));
} else {
_state_counter = 21;
};
if (_state_counter > 20){
_state_counter = 0;
_boss_state = 0;
};
};
if (_boss_state == 6){
if (_state_counter == 0){
Globals.PFreeze = true;
move_speed = 0;
_move_direction = 0;
velocity.x = 0;
velocity.y = 0;
} else {
if (_state_counter > 0){
FlxG.quake(0.01, 2);
_local10 = (tmpS.add(FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -2, -120, 60, -80, 80, 0, 0, 180, 50, ImgSparks, 10, true, PlayState.lyrGun))) as FlxEmitter);
_local10.x = x;
_local10.y = (y - 8);
_local10.reset();
};
};
_state_counter = (_state_counter + FlxG.elapsed);
if (_state_counter > 3){
velocity.x = -80;
velocity.y = -80;
_state_counter = 0;
_boss_state = 2;
Globals.PFreeze = false;
} else {
if (_state_counter > 2){
Globals.PFreeze = false;
};
};
};
var _local1:Point = moveAngle(_move_direction, (move_speed * FlxG.elapsed));
var _local2:Number = getAngle(0, 0, (velocity.x + _local1.x), (velocity.y + _local1.y));
angle = (-(_local2) + 90);
velocity.x = (velocity.x + _local1.x);
velocity.y = (velocity.y + _local1.y);
if (_timer <= 0){
_last_x[_move_count] = x;
_last_y[_move_count] = y;
_last_angle[_move_count] = angle;
_local11 = 0;
while (_local11 < body.length) {
_local12 = (_move_count - _local11);
if (_local12 < 0){
_local12 = (_local12 + body.length);
};
body[_local11].x = _last_x[_local12];
body[_local11].y = _last_y[_local12];
body[_local11].angle = _last_angle[_local12];
body[_local11].scale.y = (body[_local11].scale.x = (1 - (_local11 * 0.01)));
_local11++;
};
if ((_move_count + 1) < body.length){
_move_count = (_move_count + 1);
} else {
_move_count = 0;
};
_timer = 0.08;
} else {
_timer = (_timer - FlxG.elapsed);
};
if (attack_counter > 0){
attack_counter = (attack_counter - FlxG.elapsed);
};
if (_dig_counter > 0){
_dig_counter = (_dig_counter - FlxG.elapsed);
};
if (_hurt_counter > 0){
play("hurt");
} else {
if (attack_counter > 0){
play("attack");
} else {
play("normal");
};
};
super.update();
}
override public function kill():void{
var _local1:FlxEmitter;
var _local2:SnakeBody;
var _local3:FlxEmitter;
var _local4:SnakeBody;
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
FlxG.flash(4294967295, 3);
Globals.boss_health = 0;
_sparks2.x = (x + (width / 2));
_sparks2.y = (y + (height / 2));
_sparks2.reset();
velocity.x = -170;
velocity.y = -80;
for each (_local1 in tmpS) {
_local1.kill();
};
tmpS.clear();
for each (_local2 in body) {
_local2.kill();
};
play("dead");
super.kill();
exists = true;
} else {
for each (_local3 in tmpS) {
_local3.kill();
};
tmpS.clear();
for each (_local4 in body) {
_local4.kill();
};
super.kill();
};
}
private function chew_ground():void{
_sparks.x = (x + 17);
_sparks.y = (y + 14);
_sparks.reset();
}
}
}//package com.ProjUno
Section 61
//EnemyBoss2_ImgDeath (com.ProjUno.EnemyBoss2_ImgDeath)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss2_ImgDeath extends BitmapAsset {
}
}//package com.ProjUno
Section 62
//EnemyBoss2_ImgHead (com.ProjUno.EnemyBoss2_ImgHead)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss2_ImgHead extends BitmapAsset {
}
}//package com.ProjUno
Section 63
//EnemyBoss2_ImgSparks (com.ProjUno.EnemyBoss2_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss2_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 64
//EnemyBoss2_SndDie (com.ProjUno.EnemyBoss2_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss2_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 65
//EnemyBoss2_SndDig (com.ProjUno.EnemyBoss2_SndDig)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss2_SndDig extends SoundAsset {
}
}//package com.ProjUno
Section 66
//EnemyBoss2_SndIntro (com.ProjUno.EnemyBoss2_SndIntro)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss2_SndIntro extends SoundAsset {
}
}//package com.ProjUno
Section 67
//EnemyBoss2_SndShoot (com.ProjUno.EnemyBoss2_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss2_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 68
//EnemyBoss3 (com.ProjUno.EnemyBoss3)
package com.ProjUno {
import flash.geom.*;
import org.flixel.*;
public class EnemyBoss3 extends Enemy {
private var _body:FlxSprite;
private var _bbox:FlxSprite;
private var _room_speed:Number;// = -24
private var _break_count:Number;// = 0
private var ImgArm2:Class;
private var _arm:FlxSprite;
private var _bullet:EnemyBullet;
private var _added_parts:Boolean;// = false
private var ImgLeg2:Class;
private var ImgTiles:Class;
private var _back1:FlxBlock;
private var _break_which:Number;// = 0
private var _comet_counter:Number;// = 0
private var _shot_count:Number;// = 8
private var _back2:FlxBlock;
private var _arm2:FlxSprite;
private var _max_health:Number;
private var ImgArm:Class;
private var _explode:FlxEmitter;
private var _back4:FlxBlock;
private var ImgExplode:Class;
private var _head:FlxSprite;
private var ImgSparks:Class;
private var _leg2:FlxSprite;
private var _floor2:FlxBlock;
private var _state_counter:Number;// = 0
private var ImgTiles2:Class;
private var ImgTiles3:Class;
private var _hit:int;// = 0
private var _sparks:FlxEmitter;
private var _arm_counter:Number;// = 0
private var SndShoot:Class;
private var _boss_state:int;// = 16
private var _walk_counter:Number;// = 0
private var _break_dir:Number;// = 0
private var _leg:FlxSprite;
private var ImgLeg:Class;
private var _shot_angle:Number;// = 0
private var _floor1:FlxBlock;
private var _back3:FlxBlock;
private var SndDie:Class;
public function EnemyBoss3(_arg1:Number, _arg2:Number):void{
ImgArm = EnemyBoss3_ImgArm;
ImgArm2 = EnemyBoss3_ImgArm2;
ImgLeg = EnemyBoss3_ImgLeg;
ImgLeg2 = EnemyBoss3_ImgLeg2;
ImgTiles = EnemyBoss3_ImgTiles;
ImgTiles2 = EnemyBoss3_ImgTiles2;
ImgTiles3 = EnemyBoss3_ImgTiles3;
SndShoot = EnemyBoss3_SndShoot;
SndDie = EnemyBoss3_SndDie;
ImgSparks = EnemyBoss3_ImgSparks;
ImgExplode = EnemyBoss3_ImgExplode;
super(_arg1, _arg2, ImgLeg2, 1, 80, 90, 1);
health = 100;
_max_health = health;
Globals.boss_health = health;
PlayState.update_boss_health = 1;
x = (x + 7);
width = 60;
height = 70;
offset.x = 10;
offset.y = 10;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 0;
acceleration.y = 0;
addAnimation("normal", [0], 6);
attack_range = 5;
play("normal");
mode_seeplayer = Globals.AI_CHASE;
mode_noseeplayer = Globals.AI_WANDER;
facing = true;
attack_range = -1;
min_range = 1;
max_range = 20;
attack_range = 5;
sight_range = 10;
seeplayer_set = 2;
attack_timer = 6;
attack_ani_timer = 2;
weakhead = false;
isBoss = true;
visible = false;
_leg2 = new FlxSprite(ImgLeg2, (x - 30), (y + 50), true, true, 128, 105);
PlayState.lyrWalls.add(_leg2);
_leg2.addAnimation("normal", [2, 3, 4, 0, 0, 1], 6);
_leg2.addAnimation("dead", [4, 5], 9);
_leg2.play("normal");
_leg = new FlxSprite(ImgLeg, (x - 30), (y + 50), true, true, 128, 105);
PlayState.lyrGun.add(_leg);
_leg.addAnimation("normal", [0, 0, 1, 2, 3, 4], 6);
_leg.addAnimation("dead", [4, 5], 9);
_leg.play("normal");
_arm2 = new FlxSprite(ImgArm2, (x + 10), (y - 40), true, true, 90, 135);
PlayState.lyrWalls.add(_arm2);
_arm2.angle = -10;
_arm2.addAnimation("normal", [1, 2, 3, 3, 0, 1], 6);
_arm2.addAnimation("dead", [4, 5], 9);
_arm2.play("normal");
_sparks = (new FlxEmitter(0, 0, 0, 0, null, -5, -90, 90, -140, 70, 0, 0, 80, 20, ImgSparks, 80, true, PlayState.lyrBullets) as FlxEmitter);
PlayState.lyrBullets.add(_sparks);
_explode = (new FlxEmitter(0, 0, 0, 0, null, -5, -190, 190, 200, 270, 0, 0, 80, 20, ImgExplode, 80, true, PlayState.lyrBullets) as FlxEmitter);
PlayState.lyrBullets.add(_explode);
_explode.x = 100;
_explode.y = -30;
_explode.reset();
SetDifficulty();
}
override public function Movement():int{
return (0);
}
override public function hurt(_arg1:Number):void{
_hit = 1;
return (super.hurt(_arg1));
}
public function shootBullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:int;
var _local6:int;
while (_local6 < PlayState._eBullets.length) {
if (!PlayState._eBullets[_local6].exists){
PlayState._eBullets[_local6].reset(((_arg1 + (Math.random() * 10)) - 5), ((_arg2 + (Math.random() * 10)) - 5), _arg3, _arg4, 0, 3);
_local5 = 1;
break;
};
_local6++;
};
if (_local5 == 0){
_bullet = new EnemyBullet((x + width), (y + (height / 2)), (velocity.x * 2), (velocity.y * 2), 0);
_bullet.reset(((_arg1 + (Math.random() * 10)) - 5), ((_arg2 + (Math.random() * 10)) - 5), _arg3, _arg4, 0, 3);
PlayState._eBullets.add(PlayState.lyrStuff2.add(_bullet));
};
FlxG.play(SndShoot);
}
override public function Animate():void{
if (_shot_count > 9){
_arm.play("attack");
} else {
_arm.play("normal");
};
}
override public function update():void{
var _local2:int;
var _local3:EnemyComet;
var _local4:Point;
var _local5:Point;
var _local6:Number;
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
FlxG.overlapArrays(PlayState._room.breaks, PlayState._room.enemies, destroyBreakables);
Globals.boss_health = health;
if (_hurt_counter > 0){
_hurt_counter = (_hurt_counter - (FlxG.elapsed * 3));
};
if (!_added_parts){
_body = new EnemyBoss3Body((x + 10), (y - 10));
PlayState._room.enemies.add(PlayState.lyrStuff.add(_body));
_head = new EnemyBoss3Head((x + 12), (y - 40), this);
PlayState._room.enemies.add(PlayState.lyrGun.add(_head));
_local2 = 0;
while (_local2 < 5) {
PlayState._room.enemies.add(PlayState.lyrGun.add(new EnemyLavaFlow(0, (64 * _local2))));
_local2 = (_local2 + 1);
};
_arm = new FlxSprite(ImgArm, x, (y - 80), true, true, 45, 270);
_arm.addAnimation("normal", [0]);
_arm.addAnimation("dead", [0, 3], 9);
_arm.addAnimation("attack", [0, 1, 2], 9);
PlayState.lyrGun.add(_arm);
_floor1 = new FlxBlock(0, 208, 208, 16, ImgTiles);
PlayState.lyrWalls.add(_floor1);
_floor2 = new FlxBlock(200, 208, 208, 16, ImgTiles);
PlayState.lyrWalls.add(_floor2);
_back1 = new FlxBlock(0, 0, 226, 320, ImgTiles2);
PlayState.lyrBack.add(_back1);
_back2 = new FlxBlock(224, 0, 226, 320, ImgTiles2);
PlayState.lyrBack.add(_back2);
_back3 = new FlxBlock(0, 0, 226, 320, ImgTiles3);
PlayState.lyrBack.add(_back3);
_back4 = new FlxBlock(224, 0, 226, 320, ImgTiles3);
PlayState.lyrBack.add(_back4);
_added_parts = true;
};
_break_count = (_break_count - FlxG.elapsed);
if (_break_count <= 0){
if (_break_dir == 0){
_break_which = (_break_which + 2);
};
if ((((_break_dir == 0)) && ((_break_which > 20)))){
_break_dir = 1;
};
if (_break_dir == 1){
_break_which = (_break_which - 2);
};
if ((((_break_dir == 1)) && ((_break_which <= 0)))){
_break_dir = 0;
};
_break_count = 0.662;
createBreak(223, (40 + (8 * _break_which)));
createBreak(231, (40 + (8 * _break_which)));
};
PlayState._p.x = (PlayState._p.x + (FlxG.elapsed * _room_speed));
_floor1.x = (_floor1.x + (FlxG.elapsed * _room_speed));
_floor2.x = (_floor2.x + (FlxG.elapsed * _room_speed));
if (_floor1.x <= -200){
_floor1.x = 200;
};
if (_floor2.x <= -200){
_floor2.x = 200;
};
_back1.x = (_back1.x + (FlxG.elapsed * (_room_speed + 15)));
_back2.x = (_back2.x + (FlxG.elapsed * (_room_speed + 15)));
if (_back1.x <= -224){
_back1.x = 224;
};
if (_back2.x <= -224){
_back2.x = 224;
};
_back3.x = (_back3.x + (FlxG.elapsed * _room_speed));
_back4.x = (_back4.x + (FlxG.elapsed * _room_speed));
if (_back3.x <= -224){
_back3.x = 224;
};
if (_back4.x <= -224){
_back4.x = 224;
};
_body.x = (x + 10);
_body.y = (y - 10);
var _local1:Number = getAngle(PlayState._p.x, PlayState._p.y, x, y);
_head.angle = (-(_local1) + 180);
if (_head.angle > 5){
_head.angle = 5;
};
_head.x = (x + 12);
_head.y = (y - 40);
if (_body._curFrame < 4){
_arm.y = ((y - 80) + _body._curFrame);
} else {
_arm.y = ((y - 77) - (_body._curFrame - 3));
};
(_arm2.x - 26);
(_arm2.y - 50);
_leg.x = (x - 30);
_leg.y = (y + 50);
if (_leg._curFrame == 0){
FlxG.quake(0.01, 0.2);
};
_leg2.x = (x - 30);
_leg2.y = (y + 50);
if (_leg2._curFrame == 3){
FlxG.quake(0.005, 0.1);
};
_comet_counter = (_comet_counter - FlxG.elapsed);
if (_comet_counter <= 0){
if (health > (_max_health * 0.5)){
_local3 = new EnemyComet(16, (40 + (8 * (Math.random() * 19))));
} else {
_local3 = new EnemyComet(16, ((PlayState._p.y - 28) + (Math.random() * 56)));
};
PlayState._room.enemies.add(PlayState.lyrGun.add(_local3));
_comet_counter = 2;
if (health < (_max_health * 0.5)){
_comet_counter = 1.5;
};
};
_walk_counter = (_walk_counter - FlxG.elapsed);
if (_walk_counter <= 0){
_walk_counter = 20;
};
if (_walk_counter > 15){
velocity.x = 10;
} else {
if (x > 30){
velocity.x = -5;
} else {
velocity.x = 0;
};
};
_shot_count = (_shot_count - FlxG.elapsed);
if ((((_shot_count <= 0)) || ((((_shot_count <= 5)) && ((health > (_max_health * 0.5))))))){
if (health > (_max_health * 0.5)){
_shot_count = 12;
} else {
_shot_count = 11;
};
};
if (_shot_count > 9){
if (_shot_count < 10){
_local4 = moveAngle(_shot_angle, 65);
_local5 = moveAngle(_shot_angle, 128);
shootBullet(((_local4.x + x) + 30), ((_local4.y + y) + 45), _local5.x, _local5.y);
};
} else {
_shot_angle = getAngle((x + 15), (y + 45), PlayState._p.x, PlayState._p.y);
_local6 = getAngle(PlayState._p.x, PlayState._p.y, x, y);
_arm.angle = (-(_local6) + 90);
};
_arm.x = x;
Animate();
super.update();
}
private function destroyBreakables(_arg1:Breakables, _arg2:Enemy):void{
_arg1.hurt(100);
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
FlxG.flash(4294967295, 3);
Globals.boss_health = 0;
velocity.x = 0;
velocity.y = 0;
super.kill();
play("dead");
exists = true;
if (health <= 0){
_leg.play("dead");
_leg.velocity.y = -20;
_leg.velocity.x = -80;
_leg.acceleration.y = 20;
_leg2.play("dead");
_leg2.velocity.y = 0;
_leg2.velocity.x = -105;
_leg2.acceleration.y = 20;
_arm2.play("dead");
_arm2.velocity.y = -20;
_arm2.velocity.x = -110;
_arm2.acceleration.y = 20;
_arm.play("dead");
_arm.velocity.y = -200;
_arm.velocity.x = -90;
_arm.acceleration.y = 20;
_head.play("dead");
_head.facing = true;
_head.velocity.y = -200;
_head.velocity.x = -200;
_head.acceleration.y = 20;
_body.play("dead");
_body.facing = true;
_body.velocity.y = -50;
_body.velocity.x = -100;
_body.acceleration.y = 20;
_sparks.x = (x + (width / 2));
_sparks.y = (y + (height / 2));
_sparks.reset();
} else {
_body.facing = false;
_head.facing = false;
_body.kill();
_head.kill();
_arm.kill();
_leg.kill();
_leg2.kill();
_arm2.kill();
_back1.kill();
_back2.kill();
_back3.kill();
_back4.kill();
_floor1.kill();
_floor2.kill();
_sparks.kill();
};
var _local1:int;
while (_local1 < PlayState._room.breaks.length) {
PlayState._room.breaks[_local1].the_velocity = 0;
_local1++;
};
}
private function createBreak(_arg1:Number, _arg2:Number):void{
var _local5:Breakables;
var _local3:int;
var _local4:int;
while (_local4 < PlayState._room.breaks.length) {
if (!PlayState._room.breaks[_local4].exists){
PlayState._room.breaks[_local4].x = _arg1;
PlayState._room.breaks[_local4].y = _arg2;
PlayState._room.breaks[_local4].sX = _arg1;
PlayState._room.breaks[_local4].sY = _arg2;
PlayState._room.breaks[_local4].visible = true;
PlayState._room.breaks[_local4].exists = true;
PlayState._room.breaks[_local4].dead = false;
PlayState._room.breaks[_local4].the_velocity = _room_speed;
PlayState._room.breaks[_local4].health = 3;
_local3 = 1;
break;
};
_local4++;
};
if (_local3 == 0){
_local5 = new Breakables(_arg1, _arg2, 3);
_local5.the_velocity = _room_speed;
PlayState._room.breaks.add(PlayState.lyrWalls.add(_local5));
};
}
override public function hitWall():Boolean{
return (true);
}
}
}//package com.ProjUno
Section 69
//EnemyBoss3_ImgArm (com.ProjUno.EnemyBoss3_ImgArm)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_ImgArm extends BitmapAsset {
}
}//package com.ProjUno
Section 70
//EnemyBoss3_ImgArm2 (com.ProjUno.EnemyBoss3_ImgArm2)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_ImgArm2 extends BitmapAsset {
}
}//package com.ProjUno
Section 71
//EnemyBoss3_ImgExplode (com.ProjUno.EnemyBoss3_ImgExplode)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_ImgExplode extends BitmapAsset {
}
}//package com.ProjUno
Section 72
//EnemyBoss3_ImgLeg (com.ProjUno.EnemyBoss3_ImgLeg)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_ImgLeg extends BitmapAsset {
}
}//package com.ProjUno
Section 73
//EnemyBoss3_ImgLeg2 (com.ProjUno.EnemyBoss3_ImgLeg2)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_ImgLeg2 extends BitmapAsset {
}
}//package com.ProjUno
Section 74
//EnemyBoss3_ImgSparks (com.ProjUno.EnemyBoss3_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 75
//EnemyBoss3_ImgTiles (com.ProjUno.EnemyBoss3_ImgTiles)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_ImgTiles extends BitmapAsset {
}
}//package com.ProjUno
Section 76
//EnemyBoss3_ImgTiles2 (com.ProjUno.EnemyBoss3_ImgTiles2)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_ImgTiles2 extends BitmapAsset {
}
}//package com.ProjUno
Section 77
//EnemyBoss3_ImgTiles3 (com.ProjUno.EnemyBoss3_ImgTiles3)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_ImgTiles3 extends BitmapAsset {
}
}//package com.ProjUno
Section 78
//EnemyBoss3_SndDie (com.ProjUno.EnemyBoss3_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 79
//EnemyBoss3_SndShoot (com.ProjUno.EnemyBoss3_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 80
//EnemyBoss3Body (com.ProjUno.EnemyBoss3Body)
package com.ProjUno {
import org.flixel.*;
public class EnemyBoss3Body extends Enemy {
public var body:EnemyBoss2;
private var ImgBody:Class;
private var _timer:Number;// = 0
public var _hit:int;// = 0
private var _sparks:FlxEmitter;
private var ImgSparks:Class;
public function EnemyBoss3Body(_arg1:Number, _arg2:Number):void{
ImgSparks = EnemyBoss3Body_ImgSparks;
ImgBody = EnemyBoss3Body_ImgBody;
x = _arg1;
y = _arg2;
super(x, y, ImgBody, 1, 80, 90);
facing = true;
visible = true;
height = 180;
width = 40;
offset.y = 4;
offset.x = 32;
addAnimation("normal", [1, 2, 3, 3, 0, 1], 6);
addAnimation("dead", [2, 3], 8);
play("normal");
health = 100;
weakhead = false;
HeartChance = 0;
_sparks = (FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -1, -120, 60, -90, 50, 0, 0, 180, 50, ImgSparks, 10, true, PlayState.lyrGun)) as FlxEmitter);
}
override public function hitFloor():Boolean{
return (false);
}
override public function Animate():void{
play("normal");
}
override public function update():void{
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
if (_hurt_counter > 0){
_hurt_counter = (_hurt_counter - (FlxG.elapsed * 3));
};
super.update();
}
override public function hurt(_arg1:Number):void{
return (super.hurt(0));
}
override public function Movement():int{
return (0);
}
override public function hitCeiling():Boolean{
return (false);
}
override public function hitWall():Boolean{
return (false);
}
override public function kill():void{
if (dead){
return;
};
FlxG.flash(4294967295, 3);
Globals.boss_health = 0;
if (dead){
return;
};
if (facing == true){
velocity.x = (-100 + (Math.random() * 200));
velocity.y = (-100 + (Math.random() * 200));
play("dead");
};
super.kill();
exists = true;
}
}
}//package com.ProjUno
Section 81
//EnemyBoss3Body_ImgBody (com.ProjUno.EnemyBoss3Body_ImgBody)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3Body_ImgBody extends BitmapAsset {
}
}//package com.ProjUno
Section 82
//EnemyBoss3Body_ImgSparks (com.ProjUno.EnemyBoss3Body_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3Body_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 83
//EnemyBoss3Head (com.ProjUno.EnemyBoss3Head)
package com.ProjUno {
import org.flixel.*;
public class EnemyBoss3Head extends Enemy {
public var _master:EnemyBoss3;
private var ImgHead:Class;
private var _timer:Number;// = 0
public var _hit:int;// = 0
private var _sparks:FlxEmitter;
private var ImgSparks:Class;
public function EnemyBoss3Head(_arg1:Number, _arg2:Number, _arg3:EnemyBoss3):void{
ImgSparks = EnemyBoss3Head_ImgSparks;
ImgHead = EnemyBoss3Head_ImgHead;
x = _arg1;
y = _arg2;
_master = _arg3;
super(x, y, ImgHead, 1, 59, 68);
facing = true;
visible = true;
height = 53;
width = 45;
offset.y = 5;
offset.x = 8;
addAnimation("normal", [1, 2, 3, 3, 0, 1], 6);
addAnimation("hurt", [4]);
addAnimation("dead", [3, 4], 8);
play("normal");
health = 100;
weakhead = false;
HeartChance = 0;
_sparks = (FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -1, -120, 60, -90, 50, 0, 0, 180, 50, ImgSparks, 10, true, PlayState.lyrGun)) as FlxEmitter);
}
override public function hitFloor():Boolean{
return (false);
}
override public function update():void{
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
if (_hurt_counter > 0){
_hurt_counter = (_hurt_counter - FlxG.elapsed);
};
Animate();
super.update();
}
override public function hurt(_arg1:Number):void{
_hurt_counter = 0.2;
_master.hurt(_arg1);
return (super.hurt(0));
}
override public function Animate():void{
if (_hurt_counter > 0){
play("hurt");
} else {
play("normal");
};
}
override public function hitCeiling():Boolean{
return (false);
}
override public function Movement():int{
return (0);
}
override public function hitWall():Boolean{
return (false);
}
override public function kill():void{
if (dead){
return;
};
FlxG.flash(4294967295, 3);
Globals.boss_health = 0;
if (dead){
return;
};
if (facing == true){
velocity.x = (-100 + (Math.random() * 200));
velocity.y = (-100 + (Math.random() * 200));
play("dead");
};
super.kill();
exists = true;
}
}
}//package com.ProjUno
Section 84
//EnemyBoss3Head_ImgHead (com.ProjUno.EnemyBoss3Head_ImgHead)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3Head_ImgHead extends BitmapAsset {
}
}//package com.ProjUno
Section 85
//EnemyBoss3Head_ImgSparks (com.ProjUno.EnemyBoss3Head_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class EnemyBoss3Head_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 86
//EnemyBossComputer (com.ProjUno.EnemyBossComputer)
package com.ProjUno {
import org.flixel.*;
public class EnemyBossComputer extends Enemy {
private var _bbox:FlxSprite;
private var _shot_count:int;// = 0
private var _state_counter:Number;// = 0
private var ImgFoot:Class;
private var _sparks:FlxEmitter;
private var SndShoot:Class;
private var SndDie:Class;
private var ImgSparks:Class;
private var _boss_state:int;// = 8
public function EnemyBossComputer(_arg1:Number, _arg2:Number):void{
ImgFoot = EnemyBossComputer_ImgFoot;
SndShoot = EnemyBossComputer_SndShoot;
SndDie = EnemyBossComputer_SndDie;
ImgSparks = EnemyBossComputer_ImgSparks;
super(_arg1, _arg2, ImgFoot, 1);
health = 70;
x = (x + 7);
width = 50;
height = 34;
offset.x = 7;
offset.y = 32;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 0;
acceleration.y = 0;
addAnimation("normal", [0], 10);
addAnimation("damaged", [1], 10);
addAnimation("launch", [2, 3], 1);
addAnimation("hurt", [3], 10);
addAnimation("dead", [0, 1, 0, 1, 1, 1, 1, 1], 5);
attack_range = 5;
play("idle");
mode_seeplayer = Globals.AI_CHASE;
mode_noseeplayer = Globals.AI_WANDER;
facing = true;
attack_range = -1;
min_range = 1;
max_range = 20;
attack_range = 5;
sight_range = 10;
seeplayer_set = 2;
attack_timer = 6;
attack_ani_timer = 2;
weakhead = false;
isBoss = true;
HeartChance = 0;
harmless = true;
_sparks = (new FlxEmitter(0, 0, 0, 0, null, -5, -90, 90, -140, 70, 0, 0, 80, 20, ImgSparks, 80, true, PlayState.lyrBullets) as FlxEmitter);
PlayState.lyrBullets.add(_sparks);
SetDifficulty();
}
override public function Attack():void{
var _local1:EnemyBullet;
super.Attack();
if (facing){
_local1 = new EnemyBullet((x + 3), (y + 4), 30, 0, 0);
_local1.reset((x + 45), (y + -12), ((10 * _shot_count) + 10), -60, 0, 7);
_local1.acceleration.y = 200;
} else {
_local1 = new EnemyBullet((x - 5), (y + 2), 30, 0, 0);
_local1.reset(x, (y + -12), ((-10 * _shot_count) + -10), -60, 0, 7);
_local1.acceleration.y = 200;
};
FlxG.play(SndShoot);
PlayState._eBullets.add(PlayState.lyrBullets.add(_local1));
}
override public function Animate():void{
if ((((_hurt_counter > 0)) && ((_boss_state < 4)))){
play("hurt");
} else {
if (_boss_state < 4){
if (attack_counter > (attack_timer - attack_ani_timer)){
play("attack");
};
};
};
}
override public function Movement():int{
return (0);
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
FlxG.flash(4294967295, 3);
Globals.boss_health = 0;
_sparks.x = (x + (width / 2));
_sparks.y = (y + (height / 2));
_sparks.reset();
velocity.x = 0;
velocity.y = 0;
super.kill();
play("dead");
exists = true;
}
override public function update():void{
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
if (_hurt_counter > 0){
_hurt_counter = (_hurt_counter - (FlxG.elapsed * 3));
};
if (attack_counter > 0){
attack_counter = (attack_counter - (FlxG.elapsed * 3));
};
if ((((attack_counter <= 0)) && ((_boss_state < 4)))){
Attack();
} else {
attack_counter = (attack_counter - (FlxG.elapsed * 3));
};
Animate();
super.update();
}
override public function hitWall():Boolean{
return (true);
}
}
}//package com.ProjUno
Section 87
//EnemyBossComputer_ImgFoot (com.ProjUno.EnemyBossComputer_ImgFoot)
package com.ProjUno {
import mx.core.*;
public class EnemyBossComputer_ImgFoot extends BitmapAsset {
}
}//package com.ProjUno
Section 88
//EnemyBossComputer_ImgSparks (com.ProjUno.EnemyBossComputer_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class EnemyBossComputer_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 89
//EnemyBossComputer_SndDie (com.ProjUno.EnemyBossComputer_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyBossComputer_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 90
//EnemyBossComputer_SndShoot (com.ProjUno.EnemyBossComputer_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyBossComputer_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 91
//EnemyBullet (com.ProjUno.EnemyBullet)
package com.ProjUno {
import org.flixel.*;
public class EnemyBullet extends FlxSprite {
private var ImgSparks:Class;
private var ImgBullet:Class;
private var _live_counter:Number;// = 1.25
public var hit:int;// = 0
private var _sparks:FlxArray;
private var _type:int;// = 0
public function EnemyBullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int=0):void{
ImgBullet = EnemyBullet_ImgBullet;
ImgSparks = EnemyBullet_ImgSparks;
super(ImgBullet, _arg1, _arg2, true, true);
maxVelocity.x = 200;
maxVelocity.y = 200;
width = 2;
height = 2;
offset.x = 3;
offset.y = 3;
addAnimation("normal", [0, 1], 8);
addAnimation("bouncy", [2]);
addAnimation("flame", [6, 5, 4, 3], 8);
_sparks = new FlxArray();
_sparks.add((FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -0.15, -30, 30, -30, 30, 0, 0, 0, 50, ImgSparks, 10, true, PlayState.lyrBullets)) as FlxEmitter));
facing = true;
exists = false;
}
override public function hitCeiling():Boolean{
if (_type == 1){
velocity.y = -(velocity.y);
} else {
hit = 1;
kill();
};
return (super.hitCeiling());
}
override public function update():void{
if (Globals.Freeze){
return;
};
if (((dead) || (!(exists)))){
return;
};
if (_live_counter <= 0){
if (_type == 1){
hit = 1;
};
kill();
} else {
_live_counter = (_live_counter - (FlxG.elapsed * 3));
};
super.update();
}
public function reset(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int=0, _arg6:Number=1.25):void{
x = _arg1;
y = _arg2;
dead = false;
exists = true;
visible = true;
hit = 0;
velocity.x = _arg3;
velocity.y = _arg4;
_live_counter = _arg6;
_type = _arg5;
switch (_type){
case 0:
play("normal");
break;
case 1:
play("bouncy");
break;
case 2:
play("flame");
break;
};
}
override public function hitWall():Boolean{
if (_type == 1){
velocity.x = -(velocity.x);
return (true);
};
hit = 1;
kill();
return (super.hitWall());
}
override public function kill():void{
var _local1:Boolean;
var _local2:FlxEmitter;
if (dead){
return;
};
_live_counter = (1.25 + 0.25);
if (hit == 1){
_local1 = false;
for each (_local2 in _sparks) {
if (!_local2.active){
_local2.x = (x + 4);
_local2.y = (y + 4);
_local2.reset();
_local1 = true;
break;
};
};
if (!_local1){
_sparks.add((FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -0.45, -50, 50, -5, 20, 0, 0, 50, 60, ImgSparks, 20, true, PlayState.lyrWalls)) as FlxEmitter));
_sparks[(_sparks.length - 1)].reset();
};
};
super.kill();
}
override public function hitFloor():Boolean{
if (_type == 1){
velocity.y = -(velocity.y);
if (velocity.y < -80){
velocity.y = (velocity.y + 10);
};
return (true);
//unresolved jump
};
hit = 1;
kill();
return (super.hitFloor());
}
}
}//package com.ProjUno
Section 92
//EnemyBullet_ImgBullet (com.ProjUno.EnemyBullet_ImgBullet)
package com.ProjUno {
import mx.core.*;
public class EnemyBullet_ImgBullet extends BitmapAsset {
}
}//package com.ProjUno
Section 93
//EnemyBullet_ImgSparks (com.ProjUno.EnemyBullet_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class EnemyBullet_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 94
//EnemyComet (com.ProjUno.EnemyComet)
package com.ProjUno {
import org.flixel.*;
public class EnemyComet extends Enemy {
private var _dtimer:Number;// = 0
private var delay:int;// = 0
private var _timer:Number;// = 0
private var ImgSparks:Class;
private var maxY:int;// = 0
private var mD:int;// = 0
private var ImgFire:Class;
private var _sparks:FlxEmitter;
public function EnemyComet(_arg1:int, _arg2:int, _arg3:int=-1):void{
ImgFire = EnemyComet_ImgFire;
ImgSparks = EnemyComet_ImgSparks;
super(_arg1, _arg2, ImgFire, 10, 16, 8);
health = 2;
vulnerable = true;
offset.x = 8;
velocity.x = 80;
width = 8;
offset.y = 1;
height = 6;
changeface = false;
weakhead = false;
addAnimation("normal", [0, 1, 2, 3], 5);
_sparks = (FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -0.3, -300, -30, -30, 30, 0, 0, 0, 50, ImgSparks, 10, true, PlayState.lyrBullets)) as FlxEmitter);
sight_range = -1;
HeartChance = 0;
play("normal");
SetDifficulty();
}
override public function update():void{
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
if (x > 300){
hurt(10);
};
super.update();
}
override public function Movement():int{
return (0);
}
override public function Animate():void{
}
override public function hurt(_arg1:Number):void{
return (super.hurt(_arg1));
}
override public function hitWall():Boolean{
return (false);
}
override public function kill():void{
if (dead){
return;
};
_sparks.x = (x + 5);
_sparks.y = (y + 3);
_sparks.reset();
super.kill();
}
}
}//package com.ProjUno
Section 95
//EnemyComet_ImgFire (com.ProjUno.EnemyComet_ImgFire)
package com.ProjUno {
import mx.core.*;
public class EnemyComet_ImgFire extends BitmapAsset {
}
}//package com.ProjUno
Section 96
//EnemyComet_ImgSparks (com.ProjUno.EnemyComet_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class EnemyComet_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 97
//EnemyDrone (com.ProjUno.EnemyDrone)
package com.ProjUno {
import org.flixel.*;
public class EnemyDrone extends Enemy {
private var ImgSmoke:Class;
private var ImgFoot:Class;
private var SndShoot:Class;
private var SndDie:Class;
private var _smoke_emitter:FlxEmitter;
public function EnemyDrone(_arg1:Number, _arg2:Number):void{
ImgFoot = EnemyDrone_ImgFoot;
SndShoot = EnemyDrone_SndShoot;
SndDie = EnemyDrone_SndDie;
ImgSmoke = EnemyDrone_ImgSmoke;
super(_arg1, _arg2, ImgFoot, 1);
health = 10;
width = 14;
height = 11;
offset.x = 2;
offset.y = 1;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 50;
acceleration.y = 25;
addAnimation("normal", [0, 1], 10);
addAnimation("jump", [0, 1]);
addAnimation("attack", [2, 3], 6);
addAnimation("idle", [0, 1]);
addAnimation("hurt", [1, 4], 10);
addAnimation("dead", [4, 4, 4], 5);
attack_range = 5;
play("idle");
mode_seeplayer = Globals.AI_CHASE;
mode_noseeplayer = Globals.AI_WANDER;
facing = false;
attack_range = -1;
min_range = 10;
max_range = 80;
attack_range = 10;
sight_range = 10;
seeplayer_set = 4;
attack_timer = 8;
attack_ani_timer = 1;
HeartChance = 0.4;
_smoke_emitter = (new FlxEmitter(0, 0, 0, 0, null, -0.4, -30, 30, -30, 30, 0, 0, 0, 10, ImgSmoke, 10, true, PlayState.lyrBullets) as FlxEmitter);
FlxG.state.add(_smoke_emitter);
SetDifficulty();
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
_smoke_emitter.x = (x + (width / 2));
_smoke_emitter.y = (y + (height / 2));
_smoke_emitter.reset();
velocity.x = 0;
velocity.y = 0;
super.kill();
play("dead");
exists = true;
}
override public function Attack():void{
var _local2:EnemyBullet;
super.Attack();
var _local1:int;
while (_local1 < 2) {
if (facing){
_local2 = new EnemyBullet((x + 3), (y + 6), 30, 0, 0);
_local2.reset((x + 3), (y + 6), 70, (_local1 * 15), 0, 2);
} else {
_local2 = new EnemyBullet((x - 5), (y + 6), 30, 0, 0);
_local2.reset((x - 5), (y + 6), -70, (_local1 * 15), 0, 2);
};
PlayState._eBullets.add(PlayState.lyrBullets.add(_local2));
_local1 = (_local1 + 1);
};
FlxG.play(SndShoot);
}
override public function update():void{
super.update();
if (see_player){
acceleration.y = 0;
if (PlayState._p.y > y){
velocity.y = (velocity.y + (40 * FlxG.elapsed));
};
if (PlayState._p.y < y){
velocity.y = (velocity.y - (40 * FlxG.elapsed));
};
} else {
acceleration.y = 30;
if ((Math.random() * 10) > 4){
if ((Math.random() * 10) > 4){
velocity.y = (velocity.y - (50 * FlxG.elapsed));
} else {
velocity.y = (velocity.y + (40 * FlxG.elapsed));
};
};
};
}
override public function hitFloor():Boolean{
velocity.y = (velocity.y - 60);
return (true);
}
}
}//package com.ProjUno
Section 98
//EnemyDrone_ImgFoot (com.ProjUno.EnemyDrone_ImgFoot)
package com.ProjUno {
import mx.core.*;
public class EnemyDrone_ImgFoot extends BitmapAsset {
}
}//package com.ProjUno
Section 99
//EnemyDrone_ImgSmoke (com.ProjUno.EnemyDrone_ImgSmoke)
package com.ProjUno {
import mx.core.*;
public class EnemyDrone_ImgSmoke extends BitmapAsset {
}
}//package com.ProjUno
Section 100
//EnemyDrone_SndDie (com.ProjUno.EnemyDrone_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyDrone_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 101
//EnemyDrone_SndShoot (com.ProjUno.EnemyDrone_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyDrone_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 102
//EnemyDroneBomber (com.ProjUno.EnemyDroneBomber)
package com.ProjUno {
import org.flixel.*;
public class EnemyDroneBomber extends Enemy {
private var ImgSmoke:Class;
private var ImgDBomber:Class;
private var SndShoot:Class;
private var SndDie:Class;
private var _smoke_emitter:FlxEmitter;
public function EnemyDroneBomber(_arg1:Number, _arg2:Number):void{
ImgDBomber = EnemyDroneBomber_ImgDBomber;
SndShoot = EnemyDroneBomber_SndShoot;
SndDie = EnemyDroneBomber_SndDie;
ImgSmoke = EnemyDroneBomber_ImgSmoke;
super(_arg1, _arg2, ImgDBomber, 8);
health = 8;
width = 14;
offset.x = 1;
offset.y = 0;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 50;
acceleration.y = 0;
addAnimation("normal", [0, 1, 2], 10);
addAnimation("jump", [0, 1, 2], 10);
addAnimation("attack", [3, 4, 5], 6);
addAnimation("idle", [0, 1, 2], 10);
addAnimation("hurt", [1, 6], 10);
addAnimation("dead", [6, 6, 6], 10);
attack_range = 5;
play("idle");
mode_seeplayer = Globals.AI_PACE;
mode_noseeplayer = Globals.AI_PACE;
facing = false;
attack_range = -1;
min_range = 10;
max_range = 80;
sight_range = 10;
seeplayer_set = 0;
attack_timer = 4;
attack_ani_timer = 1;
pace_range = 4;
flying = true;
velocity.y = 10;
HeartChance = 0.2;
_smoke_emitter = (new FlxEmitter(0, 0, 0, 0, null, -0.4, -30, 30, -30, 30, 0, 0, 0, 10, ImgSmoke, 10, true, PlayState.lyrBullets) as FlxEmitter);
FlxG.state.add(_smoke_emitter);
SetDifficulty();
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
_smoke_emitter.x = ((x + (width / 2)) + 5);
_smoke_emitter.y = ((y + (height / 2)) - 4);
_smoke_emitter.reset();
velocity.x = 0;
velocity.y = 0;
super.kill();
play("dead");
exists = true;
}
override public function Attack():void{
var _local1:EnemyBullet;
var _local2:int;
super.Attack();
if (onScreen()){
_local2 = 0;
if (facing){
_local2 = -1;
} else {
_local2 = 1;
};
_local1 = new EnemyBullet((x + 8), (y + 15), (15 * _local2), 20, 0);
_local1.reset((x + 8), (y + 15), (15 * _local2), 40, 0, 18);
_local1.acceleration.y = 280;
PlayState._eBullets.add(PlayState.lyrBullets.add(_local1));
FlxG.play(SndShoot);
};
}
}
}//package com.ProjUno
Section 103
//EnemyDroneBomber_ImgDBomber (com.ProjUno.EnemyDroneBomber_ImgDBomber)
package com.ProjUno {
import mx.core.*;
public class EnemyDroneBomber_ImgDBomber extends BitmapAsset {
}
}//package com.ProjUno
Section 104
//EnemyDroneBomber_ImgSmoke (com.ProjUno.EnemyDroneBomber_ImgSmoke)
package com.ProjUno {
import mx.core.*;
public class EnemyDroneBomber_ImgSmoke extends BitmapAsset {
}
}//package com.ProjUno
Section 105
//EnemyDroneBomber_SndDie (com.ProjUno.EnemyDroneBomber_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyDroneBomber_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 106
//EnemyDroneBomber_SndShoot (com.ProjUno.EnemyDroneBomber_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyDroneBomber_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 107
//EnemyFireball (com.ProjUno.EnemyFireball)
package com.ProjUno {
import org.flixel.*;
import com.gskinner.utils.*;
public class EnemyFireball extends Enemy {
private var _dtimer:Number;// = 0
private var delay:int;// = 0
private var _timer:Number;// = 0
private var maxY:int;// = 0
private var mD:int;// = 0
private var ImgFire:Class;
public function EnemyFireball(_arg1:int, _arg2:int, _arg3:int=-1):void{
ImgFire = EnemyFireball_ImgFire;
super(_arg1, _arg2, ImgFire, 11);
health = 1;
vulnerable = false;
width = 8;
height = 8;
changeface = false;
weakhead = false;
addAnimation("normal", [0, 1], 2);
addAnimation("jump", [0, 1], 2);
addAnimation("attack", [0, 1], 2);
addAnimation("idle", [0, 1], 2);
addAnimation("idle", [0, 1], 2);
addAnimation("hurt", [0, 1], 2);
addAnimation("dead", [0, 1], 2);
sight_range = -1;
play("normal");
_timer = 0;
visible = false;
maxY = _arg2;
acceleration.y = 420;
maxVelocity.y = 120;
mD = _arg3;
if (_arg3 == -1){
_arg3 = Rnd.integer(0, 2);
};
delay = _arg3;
_dtimer = 0;
HeartChance = 0;
}
override public function hitFloor():Boolean{
return (false);
}
override public function update():void{
_dtimer = (_dtimer + FlxG.elapsed);
if (_dtimer > delay){
_timer = (_timer + FlxG.elapsed);
if (_timer < 1.5){
if (!visible){
_timer = 1.1;
};
visible = true;
velocity.y = -(maxVelocity.y);
} else {
if (_timer >= 2.5){
if ((y - height) > maxY){
visible = false;
y = maxY;
_timer = 0;
_dtimer = 0;
if (mD == -1){
delay = 0.9;
};
};
};
};
};
if (velocity.y > 0){
angle = 180;
} else {
angle = 0;
};
super.update();
}
override public function hitCeiling():Boolean{
return (false);
}
override public function hitWall():Boolean{
return (false);
}
}
}//package com.ProjUno
Section 108
//EnemyFireball_ImgFire (com.ProjUno.EnemyFireball_ImgFire)
package com.ProjUno {
import mx.core.*;
public class EnemyFireball_ImgFire extends BitmapAsset {
}
}//package com.ProjUno
Section 109
//EnemyFlamer (com.ProjUno.EnemyFlamer)
package com.ProjUno {
import org.flixel.*;
public class EnemyFlamer extends Enemy {
private var ImgFlamer:Class;
private var shooting:int;// = 0
private var SndShoot:Class;
private var SndDie:Class;
public function EnemyFlamer(_arg1:Number, _arg2:Number):void{
ImgFlamer = EnemyFlamer_ImgFlamer;
SndShoot = EnemyFlamer_SndShoot;
SndDie = EnemyFlamer_SndDie;
super(_arg1, _arg2, ImgFlamer, 1);
health = 4;
width = 8;
height = 11;
offset.x = 2;
offset.y = 1;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 50;
acceleration.y = 420;
addAnimation("normal", [0, 1, 2, 3], 10);
addAnimation("jump", [2]);
addAnimation("attack", [4, 4, 4, 0], 6);
addAnimation("idle", [0]);
addAnimation("hurt", [1, 5], 10);
addAnimation("dead", [5, 5, 5], 5);
attack_range = 5;
play("idle");
mode_seeplayer = Globals.AI_CHASE;
mode_noseeplayer = Globals.AI_WANDER;
facing = false;
attack_range = -1;
min_range = 1;
max_range = 5;
attack_range = 2;
sight_range = 10;
seeplayer_set = 2;
attack_timer = 10;
attack_ani_timer = 3;
shooting = 0;
HeartChance = 0.6;
SetDifficulty();
}
override public function Attack():void{
super.Attack();
shooting = 40;
}
override public function update():void{
var _local1:EnemyBullet;
var _local2:int;
super.update();
if (shooting > 20){
shooting = (shooting - (FlxG.elapsed * 2));
current_action = 0;
velocity.x = 0;
_local2 = 0;
_local2 = ((Math.random() * 16) - 8);
if (facing){
flameShot((x + 5), (y + 4), 60, _local2);
} else {
flameShot((x - 4), (y + 4), -60, _local2);
};
} else {
if (shooting > 0){
shooting = (shooting - (FlxG.elapsed * 2));
current_action = 0;
velocity.x = 0;
};
};
}
private function flameShot(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local7:EnemyBullet;
var _local5:int;
var _local6:int;
while (_local6 < PlayState._eBullets.length) {
if (!PlayState._eBullets[_local6].exists){
PlayState._eBullets[_local6].reset(_arg1, _arg2, _arg3, _arg4, 2, 2);
_local5 = 1;
break;
};
_local6++;
};
if (_local5 == 0){
_local7 = new EnemyBullet((x + width), (y + (height / 2)), (velocity.x * 2), (velocity.y * 2), 2);
PlayState._eBullets.add(PlayState.lyrStuff2.add(_local7));
_local7.reset(_arg1, _arg2, _arg3, _arg4, 2, 2);
};
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
velocity.x = 0;
velocity.y = -40;
super.kill();
play("dead");
exists = true;
}
}
}//package com.ProjUno
Section 110
//EnemyFlamer_ImgFlamer (com.ProjUno.EnemyFlamer_ImgFlamer)
package com.ProjUno {
import mx.core.*;
public class EnemyFlamer_ImgFlamer extends BitmapAsset {
}
}//package com.ProjUno
Section 111
//EnemyFlamer_SndDie (com.ProjUno.EnemyFlamer_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyFlamer_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 112
//EnemyFlamer_SndShoot (com.ProjUno.EnemyFlamer_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyFlamer_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 113
//EnemyLava (com.ProjUno.EnemyLava)
package com.ProjUno {
public class EnemyLava extends Enemy {
private var ImgSpikes:Class;
public function EnemyLava(_arg1:Number, _arg2:Number):void{
ImgSpikes = EnemyLava_ImgSpikes;
super(_arg1, _arg2, ImgSpikes, 10);
health = 1;
vulnerable = false;
offset.x = 0;
width = 8;
offset.y = 0;
height = 8;
changeface = false;
weakhead = false;
addAnimation("normal", [0, 1, 2], 5);
addAnimation("jump", [0]);
addAnimation("attack", [0]);
addAnimation("idle", [0]);
addAnimation("idle", [0, 1, 2, 3], 6);
addAnimation("hurt", [0]);
addAnimation("dead", [0]);
sight_range = -1;
HeartChance = 0;
play("normal");
}
override public function Animate():void{
}
}
}//package com.ProjUno
Section 114
//EnemyLava_ImgSpikes (com.ProjUno.EnemyLava_ImgSpikes)
package com.ProjUno {
import mx.core.*;
public class EnemyLava_ImgSpikes extends BitmapAsset {
}
}//package com.ProjUno
Section 115
//EnemyLavaFalls (com.ProjUno.EnemyLavaFalls)
package com.ProjUno {
public class EnemyLavaFalls extends Enemy {
private var ImgSpikes:Class;
public function EnemyLavaFalls(_arg1:Number, _arg2:Number):void{
ImgSpikes = EnemyLavaFalls_ImgSpikes;
super(_arg1, _arg2, ImgSpikes, 14);
health = 1;
vulnerable = false;
offset.x = 0;
width = 8;
offset.y = 0;
height = 8;
changeface = false;
weakhead = false;
addAnimation("normal", [0]);
addAnimation("jump", [0]);
addAnimation("attack", [0]);
addAnimation("idle", [0, 0, 0, 1], 6);
addAnimation("hurt", [0]);
addAnimation("dead", [0]);
sight_range = -1;
HeartChance = 0;
play("idle");
}
}
}//package com.ProjUno
Section 116
//EnemyLavaFalls_ImgSpikes (com.ProjUno.EnemyLavaFalls_ImgSpikes)
package com.ProjUno {
import mx.core.*;
public class EnemyLavaFalls_ImgSpikes extends BitmapAsset {
}
}//package com.ProjUno
Section 117
//EnemyLavaFlow (com.ProjUno.EnemyLavaFlow)
package com.ProjUno {
public class EnemyLavaFlow extends Enemy {
private var ImgSpikes:Class;
public function EnemyLavaFlow(_arg1:Number, _arg2:Number):void{
ImgSpikes = EnemyLavaFlow_ImgSpikes;
super(_arg1, _arg2, ImgSpikes, 10);
health = 1;
vulnerable = false;
offset.x = 10;
width = 40;
offset.y = 0;
height = 64;
changeface = false;
weakhead = false;
addAnimation("normal", [0, 1, 2, 3, 4, 5, 6], 5);
addAnimation("jump", [0]);
addAnimation("attack", [0]);
addAnimation("idle", [0]);
addAnimation("idle", [0, 1, 2, 3], 6);
addAnimation("hurt", [0]);
addAnimation("dead", [0]);
sight_range = -1;
HeartChance = 0;
play("normal");
}
override public function Animate():void{
}
}
}//package com.ProjUno
Section 118
//EnemyLavaFlow_ImgSpikes (com.ProjUno.EnemyLavaFlow_ImgSpikes)
package com.ProjUno {
import mx.core.*;
public class EnemyLavaFlow_ImgSpikes extends BitmapAsset {
}
}//package com.ProjUno
Section 119
//EnemyRobot (com.ProjUno.EnemyRobot)
package com.ProjUno {
import org.flixel.*;
public class EnemyRobot extends Enemy {
private var ImgSmoke:Class;
private var ImgFoot:Class;
private var SndShoot:Class;
private var SndDie:Class;
private var _smoke_emitter:FlxEmitter;
public function EnemyRobot(_arg1:Number, _arg2:Number):void{
ImgFoot = EnemyRobot_ImgFoot;
SndShoot = EnemyRobot_SndShoot;
SndDie = EnemyRobot_SndDie;
ImgSmoke = EnemyRobot_ImgSmoke;
super(_arg1, _arg2, ImgFoot, 3);
health = 8;
width = 6;
height = 15;
offset.x = 2;
offset.y = 1;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 10;
min_range = 2;
acceleration.y = 420;
addAnimation("normal", [0, 1, 2, 3], 8);
addAnimation("jump", [2]);
addAnimation("attack", [4, 5], 6);
addAnimation("idle", [0]);
addAnimation("hurt", [2, 6], 10);
addAnimation("dead", [6, 6, 6], 5);
attack_range = 8;
play("idle");
mode_seeplayer = Globals.AI_IDLE;
mode_noseeplayer = Globals.AI_WANDER;
facing = false;
attack_timer = 8;
attack_ani_timer = 1;
move_speed = 30;
wander_chance_stop = 10;
wander_chance_left = 45;
wander_chance_right = 45;
move_change = 5;
seeplayer_set = 2;
sight_range = 8;
HeartChance = 0.4;
_smoke_emitter = (new FlxEmitter(0, 0, 0, 0, null, -0.4, -30, 30, -30, 30, 0, 0, 0, 10, ImgSmoke, 10, true, PlayState.lyrBullets) as FlxEmitter);
FlxG.state.add(_smoke_emitter);
SetDifficulty();
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
_smoke_emitter.x = (x + (width / 2));
_smoke_emitter.y = (y + (height / 2));
_smoke_emitter.reset();
velocity.x = 0;
velocity.y = -40;
super.kill();
play("dead");
exists = true;
}
override public function Attack():void{
var _local1:EnemyBullet;
super.Attack();
var _local2:int;
while (_local2 < 6) {
if (facing){
_local1 = new EnemyBullet((x + 3), (y + 5), 30, 0, 0);
_local1.reset((x + 3), (y + 5), 50, ((-(_local2) * 8) + 8), 0, 2.5);
} else {
_local1 = new EnemyBullet((x - 5), (y + 5), 30, 0, 0);
_local1.reset((x - 5), (y + 5), -50, ((-(_local2) * 8) + 8), 0, 2.5);
};
PlayState._eBullets.add(PlayState.lyrBullets.add(_local1));
_local2 = (_local2 + 1);
};
FlxG.play(SndShoot);
}
}
}//package com.ProjUno
Section 120
//EnemyRobot_ImgFoot (com.ProjUno.EnemyRobot_ImgFoot)
package com.ProjUno {
import mx.core.*;
public class EnemyRobot_ImgFoot extends BitmapAsset {
}
}//package com.ProjUno
Section 121
//EnemyRobot_ImgSmoke (com.ProjUno.EnemyRobot_ImgSmoke)
package com.ProjUno {
import mx.core.*;
public class EnemyRobot_ImgSmoke extends BitmapAsset {
}
}//package com.ProjUno
Section 122
//EnemyRobot_SndDie (com.ProjUno.EnemyRobot_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyRobot_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 123
//EnemyRobot_SndShoot (com.ProjUno.EnemyRobot_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyRobot_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 124
//EnemyShuttleSpike (com.ProjUno.EnemyShuttleSpike)
package com.ProjUno {
public class EnemyShuttleSpike extends Enemy {
private var ImgSpikes:Class;
public function EnemyShuttleSpike(_arg1:Number, _arg2:Number):void{
ImgSpikes = EnemyShuttleSpike_ImgSpikes;
super(_arg1, _arg2, ImgSpikes, 10);
health = 1;
vulnerable = false;
offset.x = 0;
width = 8;
offset.y = 0;
height = 8;
velocity.x = 30;
changeface = false;
weakhead = true;
addAnimation("normal", [0, 1, 2], 5);
sight_range = -1;
HeartChance = 0;
play("normal");
}
override public function Animate():void{
}
override public function Movement():int{
return (0);
}
override public function hitWall():Boolean{
velocity.x = -(velocity.x);
return (false);
}
override public function hurt(_arg1:Number):void{
return (super.hurt(0));
}
}
}//package com.ProjUno
Section 125
//EnemyShuttleSpike_ImgSpikes (com.ProjUno.EnemyShuttleSpike_ImgSpikes)
package com.ProjUno {
import mx.core.*;
public class EnemyShuttleSpike_ImgSpikes extends BitmapAsset {
}
}//package com.ProjUno
Section 126
//EnemySpikes (com.ProjUno.EnemySpikes)
package com.ProjUno {
public class EnemySpikes extends Enemy {
private var ImgSpikes:Class;
public function EnemySpikes(_arg1:Number, _arg2:Number):void{
ImgSpikes = EnemySpikes_ImgSpikes;
super(_arg1, _arg2, ImgSpikes, 10);
health = 1;
vulnerable = false;
offset.x = 1;
width = 7;
offset.y = 0;
height = 8;
changeface = false;
weakhead = false;
addAnimation("normal", [0]);
addAnimation("jump", [0]);
addAnimation("attack", [0]);
addAnimation("idle", [0]);
addAnimation("idle", [0]);
addAnimation("hurt", [0]);
addAnimation("dead", [0]);
sight_range = -1;
play("idle");
HeartChance = 0;
}
}
}//package com.ProjUno
Section 127
//EnemySpikes_ImgSpikes (com.ProjUno.EnemySpikes_ImgSpikes)
package com.ProjUno {
import mx.core.*;
public class EnemySpikes_ImgSpikes extends BitmapAsset {
}
}//package com.ProjUno
Section 128
//EnemySteam (com.ProjUno.EnemySteam)
package com.ProjUno {
import org.flixel.*;
import com.gskinner.utils.*;
public class EnemySteam extends Enemy {
private var stimer:Number;// = 0
private var ImgSteam:Class;
public function EnemySteam(_arg1:Number, _arg2:Number):void{
ImgSteam = EnemySteam_ImgSteam;
super(_arg1, _arg2, ImgSteam, 14);
health = 1;
vulnerable = false;
harmless = true;
offset.x = 0;
width = 8;
offset.y = 0;
height = 8;
changeface = false;
weakhead = false;
addAnimation("normal", [0]);
addAnimation("jump", [0]);
addAnimation("attack", [0]);
addAnimation("hurt", [0]);
addAnimation("dead", [0]);
addAnimation("idle", [0, 1, 1, 2, 0], 8, false);
sight_range = -1;
HeartChance = 0;
play("normal");
stimer = Rnd.integer(0, 3);
}
override public function Animate():void{
}
override public function update():void{
super.update();
stimer = (stimer + FlxG.elapsed);
if (stimer > 2){
if (Rnd.boolean()){
play("idle", true);
stimer = Rnd.integer(0, 3);
};
};
}
}
}//package com.ProjUno
Section 129
//EnemySteam_ImgSteam (com.ProjUno.EnemySteam_ImgSteam)
package com.ProjUno {
import mx.core.*;
public class EnemySteam_ImgSteam extends BitmapAsset {
}
}//package com.ProjUno
Section 130
//EnemyTurret (com.ProjUno.EnemyTurret)
package com.ProjUno {
import org.flixel.*;
public class EnemyTurret extends Enemy {
private var _smoke_emitter:FlxEmitter;
private var ImgSmoke:Class;
private var ImgTurret:Class;
private var SndShoot:Class;
private var SndDie:Class;
private var preShoot:Number;// = -10
public function EnemyTurret(_arg1:Number, _arg2:Number){
ImgTurret = EnemyTurret_ImgTurret;
SndShoot = EnemyTurret_SndShoot;
SndDie = EnemyTurret_SndDie;
ImgSmoke = EnemyTurret_ImgSmoke;
super(_arg1, _arg2, ImgTurret, 4);
preShoot = -10;
health = 2;
width = 6;
height = 3;
offset.x = 1;
offset.y = 5;
vulnerable = false;
x = (x + offset.x);
y = (y + offset.y);
addAnimation("idle", [0]);
addAnimation("attack", [1, 2, 3], 6);
addAnimation("hurt", [2, 4], 10);
addAnimation("dead", [4, 4, 4], 10);
attack_range = 6;
play("idle");
mode_seeplayer = Globals.AI_IDLE;
mode_noseeplayer = Globals.AI_IDLE;
facing = false;
attack_timer = 12;
attack_ani_timer = 6;
move_speed = 0;
seeplayer_set = 1;
sight_range = 10;
max_range = 6;
min_range = 0;
HeartChance = 0.7;
_smoke_emitter = (new FlxEmitter(0, 0, 0, 0, null, -0.4, -30, 30, -30, 30, 0, 0, 0, 10, ImgSmoke, 10, true, PlayState.lyrBullets) as FlxEmitter);
FlxG.state.add(_smoke_emitter);
SetDifficulty();
}
override public function kill():void{
if (dead){
return;
};
if (_hurt_counter > 0){
FlxG.play(SndDie);
};
velocity.x = 0;
velocity.y = 0;
_smoke_emitter.x = (x + (width / 2));
_smoke_emitter.y = (y + (height / 2));
_smoke_emitter.reset();
super.kill();
play("dead");
exists = true;
}
override public function Attack():void{
super.Attack();
if (preShoot <= 0){
preShoot = 1.8;
vulnerable = true;
height = 8;
offset.y = 0;
y = (y - 5);
};
}
override public function update():void{
var _local1:EnemyBullet;
if (((!(dead)) && (exists))){
if ((((preShoot <= 0)) && ((preShoot > -10)))){
if (facing){
_local1 = new EnemyBullet((x + width), (y + 2), 100, 0, 0);
_local1.reset((x + width), (y + 2), 40, 0, 0, 4);
PlayState._eBullets.add(PlayState.lyrBullets.add(_local1));
} else {
_local1 = new EnemyBullet((x - 5), (y + 5), -100, 0, 0);
_local1.reset(x, (y + 2), -40, 0, 0, 4);
PlayState._eBullets.add(PlayState.lyrBullets.add(_local1));
};
FlxG.play(SndShoot);
preShoot = -10;
} else {
if (preShoot > 0){
preShoot = (preShoot - (FlxG.elapsed * 3));
} else {
if (((vulnerable) && ((_curAnim.name == "idle")))){
height = 3;
offset.y = 5;
vulnerable = false;
y = (y + 5);
};
};
};
};
super.update();
}
}
}//package com.ProjUno
Section 131
//EnemyTurret_ImgSmoke (com.ProjUno.EnemyTurret_ImgSmoke)
package com.ProjUno {
import mx.core.*;
public class EnemyTurret_ImgSmoke extends BitmapAsset {
}
}//package com.ProjUno
Section 132
//EnemyTurret_ImgTurret (com.ProjUno.EnemyTurret_ImgTurret)
package com.ProjUno {
import mx.core.*;
public class EnemyTurret_ImgTurret extends BitmapAsset {
}
}//package com.ProjUno
Section 133
//EnemyTurret_SndDie (com.ProjUno.EnemyTurret_SndDie)
package com.ProjUno {
import mx.core.*;
public class EnemyTurret_SndDie extends SoundAsset {
}
}//package com.ProjUno
Section 134
//EnemyTurret_SndShoot (com.ProjUno.EnemyTurret_SndShoot)
package com.ProjUno {
import mx.core.*;
public class EnemyTurret_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 135
//FogEmitter (com.ProjUno.FogEmitter)
package com.ProjUno {
import org.flixel.*;
import com.gskinner.utils.*;
public class FogEmitter extends FlxCore {
private var _alphaMod:int;// = -1
private var _timer:Number;// = 0
private var _sparkTimer:Number;// = 0
private var _sparks:FlxArray;
private var ImgSpark:Class;
private var ImgFog:Class;
private var _fog:FlxSprite;
public function FogEmitter():void{
var _local1:FlxSprite;
ImgFog = FogEmitter_ImgFog;
ImgSpark = FogEmitter_ImgSpark;
super();
_fog = new FlxSprite(ImgFog, 0, 80, false, false, FlxG.width, FlxG.height);
_fog.scrollFactor.x = (_fog.scrollFactor.y = 0);
PlayState.lyrEffectsFront.add(_fog);
_sparks = new FlxArray();
var _local2:int;
while (_local2 < 3) {
if (Rnd.boolean(0.8)){
_local1 = new FlxSprite(ImgSpark, Rnd.integer(0, FlxG.width), Rnd.integer(0, FlxG.height), true, Rnd.boolean(0.5), 8, 8);
_local1.scrollFactor.x = (_local1.scrollFactor.y = 0.8);
_local1.addAnimation("idle", [0, 1, 2, 3, 4, 5, 6], 16, false);
_local1.play("idle", true);
_sparks.add(PlayState.lyrEffectsFront.add(_local1));
};
_local2++;
};
}
override public function update():void{
var _local2:FlxSprite;
var _local3:FlxSprite;
_timer = (_timer + (FlxG.elapsed * 12));
if (_timer > 1){
if ((((_fog.y == 20)) && ((_alphaMod == -1)))){
_alphaMod = 1;
} else {
if ((((_fog.y == 80)) && ((_alphaMod == 1)))){
_alphaMod = -1;
};
};
_fog.y = (_fog.y + (1 * _alphaMod));
if (_fog.y < 20){
(_fog.y == 20);
} else {
if (_fog.y > 80){
(_fog.y == 80);
};
};
_timer = 0;
};
super.update();
var _local1:Boolean;
_sparkTimer = (_sparkTimer + FlxG.elapsed);
if (_sparkTimer > 1){
_local1 = Rnd.boolean(0.8);
_sparkTimer = 0;
};
for each (_local2 in _sparks) {
if (_local2.finished){
_local2.visible = false;
};
if (((_local1) && (!(_local2.visible)))){
_local2.x = Rnd.integer(0, FlxG.width);
_local2.y = Rnd.integer(0, FlxG.height);
_local2.facing = Rnd.boolean(0.5);
_local2.finished = false;
_local2.play("idle", true);
_local2.visible = true;
_local1 = false;
};
};
if (_local1){
_local3 = new FlxSprite(ImgSpark, Rnd.integer(0, FlxG.width), Rnd.integer(0, FlxG.height), true, Rnd.boolean(0.5), 8, 8);
_local3.scrollFactor.x = (_local3.scrollFactor.y = 0);
_local3.addAnimation("idle", [0, 1, 2, 3, 4, 5, 6], 16, false);
_local3.play("idle", true);
_sparks.add(PlayState.lyrEffectsFront.add(_local3));
};
}
}
}//package com.ProjUno
Section 136
//FogEmitter_ImgFog (com.ProjUno.FogEmitter_ImgFog)
package com.ProjUno {
import mx.core.*;
public class FogEmitter_ImgFog extends BitmapAsset {
}
}//package com.ProjUno
Section 137
//FogEmitter_ImgSpark (com.ProjUno.FogEmitter_ImgSpark)
package com.ProjUno {
import mx.core.*;
public class FogEmitter_ImgSpark extends BitmapAsset {
}
}//package com.ProjUno
Section 138
//Globals (com.ProjUno.Globals)
package com.ProjUno {
import org.flixel.*;
import flash.net.*;
import flash.ui.*;
import com.NewGrounds.*;
public class Globals {
public static const AI_IDLE:int = 0;
public static const AI_FLEE:int = 3;
public static const AI_WANDER:int = 1;
public static const AI_PACE:int = 4;
public static const AI_CHASE:int = 2;
public static var hiScores:ZattikkaHiScores = new ZattikkaHiScores();
public static var rapid:int = 0;
public static var PFreeze:Boolean = false;
public static var JustCleared:Boolean = false;
public static var bPowers:Array = new Array();
public static var CurrentLevel:int = -1;
public static var hiScoresShown:Boolean = false;
public static var Freeze:Boolean = false;
public static var MaxHealth:int = 5;
public static var RestartLevel:int = 0;
public static var explode:int = 0;
public static var StartLevel:int = 0;
public static var FlxSave:SharedObject = SharedObject.getLocal("userData");
public static var spread:int = 0;
public static var CurrentDifficulty:int = 0;
public static var boss_health:Number = 0;
public static var TMP:Boolean = true;
public static var Medals:Array = new Array();
public function Globals():void{
NewgroundsAPI.addCustomEvent(1, "BeatEasy");
NewgroundsAPI.addCustomEvent(2, "BeatHard");
NewgroundsAPI.addCustomEvent(3, "EarnedMedal1");
NewgroundsAPI.addCustomEvent(4, "EarnedMedal2");
NewgroundsAPI.addCustomEvent(5, "EarnedMedal3");
NewgroundsAPI.addCustomEvent(6, "EarnedMedal4");
NewgroundsAPI.addCustomEvent(7, "EarnedMedal5");
NewgroundsAPI.addCustomEvent(8, "EarnedMedal6");
}
public static function updateHiScore(_arg1:uint, _arg2:int):void{
var _local4:Array;
var _local5:int;
if (_arg2 > FlxSave.data.levelsP[CurrentDifficulty][_arg1]){
FlxSave.data.levelsP[CurrentDifficulty][_arg1] = _arg2;
FlxSave.flush();
};
var _local3:int;
for each (_local4 in FlxSave.data.levelsP) {
for each (_local5 in _local4) {
_local3 = (_local3 + _local5);
};
};
_local3 = (_local3 / 6);
hiScores.scaleX = 0.25;
hiScores.scaleY = 0.25;
hiScores.x = ((FlxG.width / 2) - (hiScores.width / 2));
hiScores.y = (((FlxG.height / 2) - (hiScores.height / 2)) - 10);
FlxG.state.addChild(hiScores);
Mouse.show();
hiScores.setDetails(233, 0, "blasting", "iEIqWIQNbEtvnl3", false, _local3, (_local3.toString() + "%"), "Completion");
hiScoresShown = true;
}
public static function DefineMedals():void{
Medals.push([0, "Ionic Dash Awarded!"]);
Medals.push([1, "Pulse Bazooka Awarded!"]);
Medals.push([2, "Space Captain Awarded!"]);
Medals.push([3, "Double Jump Awarded"]);
Medals.push([4, "Grenade Awarded!"]);
Medals.push([5, "Ninja Powers Awarded!"]);
}
public static function ResendData():void{
var _local1:int;
if (FlxG.kong){
if (FlxSave.data.levels[0][2]){
FlxG.kong.kongregate.stats.submit("BeatGame0", 1);
};
if (FlxSave.data.levels[1][2]){
FlxG.kong.kongregate.stats.submit("BeatGame1", 1);
};
_local1 = 0;
while (_local1 < FlxSave.data.MedalsEarned.length) {
FlxG.kong.kongregate.stats.submit(("Medal" + (FlxSave.data.MedalsEarned[_local1] + 1).toString()), 1);
_local1++;
};
} else {
if (FlxSave.data.levels[0][2]){
NewgroundsAPI.logCustomEvent("BeatEasy");
};
if (FlxSave.data.levels[1][2]){
NewgroundsAPI.logCustomEvent("BeatHard");
};
_local1 = 0;
while (_local1 < FlxSave.data.MedalsEarned.length) {
NewgroundsAPI.logCustomEvent(("EarnedMedal" + (FlxSave.data.MedalsEarned[_local1] + 1).toString()));
_local1++;
};
};
}
public static function SaveGame(_arg1:uint):void{
FlxSave.data.levels[CurrentDifficulty][_arg1] = true;
FlxSave.data.saved = true;
if ((((_arg1 == 2)) && (FlxG.kong))){
FlxG.kong.kongregate.stats.submit(("BeatGame" + CurrentDifficulty.toString()), 1);
};
if ((((_arg1 == 2)) && (!(FlxG.kong)))){
if (CurrentDifficulty == 0){
NewgroundsAPI.logCustomEvent("BeatEasy");
} else {
NewgroundsAPI.logCustomEvent("BeatHard");
};
};
FlxSave.flush();
}
public static function GiveMedal(_arg1:int=0):Boolean{
if ((((_arg1 < 0)) || ((_arg1 > 5)))){
return (false);
};
var _local2:int;
while (_local2 < FlxSave.data.MedalsEarned.length) {
if (FlxSave.data.MedalsEarned[_local2] == _arg1){
return (false);
};
_local2++;
};
if (FlxG.kong){
FlxG.kong.kongregate.stats.submit(("Medal" + (_arg1 + 1)), 1);
} else {
NewgroundsAPI.logCustomEvent(("EarnedMedal" + (_arg1 + 1).toString()));
};
FlxSave.data.MedalsEarned.push(_arg1);
return (true);
}
public static function CloneMatrix(_arg1){
var _local4:Array;
var _local5:*;
var _local2:Array = new Array();
var _local3:Array = new Array();
for each (_local4 in _arg1) {
_local3 = new Array();
for each (_local5 in _local4) {
_local3.push(_local5);
};
_local2.push(_local3);
};
return (_local2);
}
}
}//package com.ProjUno
Section 139
//HealthUp (com.ProjUno.HealthUp)
package com.ProjUno {
import org.flixel.*;
public class HealthUp extends FlxSprite {
private var ImgHealth:Class;
public static var type:int = 1;
public function HealthUp(_arg1:int, _arg2:int){
ImgHealth = HealthUp_ImgHealth;
_arg1 = (_arg1 - 4);
super(ImgHealth, _arg1, _arg2, true);
width = 8;
height = 7;
offset.y = 1;
y = (y + offset.y);
addAnimation("normal", [0, 0, 0, 0, 1, 2], 5);
play("normal");
maxVelocity.y = 10;
drag.y = 100;
velocity.y = 10;
}
override public function update():void{
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
super.update();
}
}
}//package com.ProjUno
Section 140
//HealthUp_ImgHealth (com.ProjUno.HealthUp_ImgHealth)
package com.ProjUno {
import mx.core.*;
public class HealthUp_ImgHealth extends BitmapAsset {
}
}//package com.ProjUno
Section 141
//LogoState (com.ProjUno.LogoState)
package com.ProjUno {
import flash.display.*;
import flash.geom.*;
import org.flixel.*;
import flash.media.*;
import org.flixel.data.*;
import flash.ui.*;
import flash.external.*;
public class LogoState extends FlxState {
private var sprText:FlxSprite;
private var SndFlixel:Class;
private var sprLogo:FlxSprite;
private var _f:FlxArray;
private var _gx:int;
private var _gy:int;
private var g5Linked:Boolean;// = false
private var mode:int;// = 0
private var _logoFade:Bitmap;
private var _showLogo:Boolean;
private var fButton:FlxButton;
private var ImgCursor:Class;
private var _logoTimer:Number;
private var _logoComplete:Boolean;
private var splash:movSplash;
private var _fSound:Class;
private var _fc:uint;
private var mouseShown:Boolean;// = false
private var ImgLogo:Class;
private var butP:SimpleButton;
private var ImgText:Class;
private var c:MovieClip;
private var sprSlogan:FlxText;
private var _poweredBy:Bitmap;
private var wait:Number;// = 5
private var ImgPoweredBy:Class;
private var FlixelSound:Class;// = null
private var _z:uint;
private var blackout:FlxSprite;
public function LogoState():void{
ImgLogo = LogoState_ImgLogo;
ImgText = LogoState_ImgText;
ImgPoweredBy = LogoState_ImgPoweredBy;
SndFlixel = LogoState_SndFlixel;
ImgCursor = LogoState_ImgCursor;
super();
splash = new movSplash();
mode = 0;
_z = 4;
_fc = 4281558681;
blackout = new FlxSprite(null, 0, 0, false, false, FlxG.width, FlxG.height, 4278190080);
blackout.alpha = 0;
_gx = 0;
_gy = 0;
if (FlixelSound == null){
_fSound = SndFlixel;
} else {
_fSound = FlixelSound;
};
sprText = new FlxSprite(ImgText, 0, 0, false, false);
sprText.visible = true;
sprText.addAnimation("normal", [0]);
sprText.play("normal");
sprText.scale.x = 1;
sprText.scale.y = 1;
sprSlogan = new FlxText(37, 70, 90, 30, "", 4294967295, null, 8);
sprSlogan.visible = true;
sprLogo = new FlxSprite(ImgLogo, 60, 30, true, false, 40, 24);
sprLogo.addAnimation("normal", [0, 1, 2, 3], 6, true);
sprLogo.play("normal");
sprLogo.scale.x = 1;
sprLogo.scale.y = 1;
splash.scaleX = 0.25;
splash.scaleY = 0.25;
splash.x = ((FlxG.width / 2) - (splash.width / 2));
splash.y = ((FlxG.height / 2) - (splash.height / 2));
FlxG.state.addChild(splash);
FlxG.state.add(blackout);
mouseShown = false;
}
private function onFade():void{
FlxG.switchState(MenuState);
}
override public function update():void{
var _local1:uint;
var _local2:Bitmap;
var _local3:int;
var _local4:uint;
var _local5:int;
var _local6:int;
var _local7:ColorTransform;
if (mode == 0){
if ((((splash.currentFrame == splash.totalFrames)) && (!(mouseShown)))){
splash.stop();
fButton = new FlxButton(0, 0, new FlxSprite(null, 0, 0, false, false, FlxG.width, (400 / 4), 0), GotoSite);
FlxG.state.add(fButton);
Mouse.show();
mouseShown = true;
};
if (splash.clk){
mode = 1;
};
if (((splash.Linked) && (!(g5Linked)))){
g5Linked = true;
} else {
if (((splash.Linked) && (g5Linked))){
splash.Linked = false;
g5Linked = false;
};
};
} else {
if (mode == 1){
Mouse.hide();
fButton.kill();
if (splash.alpha <= 0){
if (splash.visible){
if (blackout.alpha < 1){
blackout.alpha = (blackout.alpha + 0.05);
} else {
blackout.alpha = 1;
splash.visible = false;
};
} else {
if (blackout.alpha > 0){
blackout.alpha = (blackout.alpha - 0.05);
} else {
blackout.visible = false;
_logoTimer = 0;
blackout.kill();
FlxG.state.removeChild(splash);
mode = 2;
};
};
} else {
splash.alpha = (splash.alpha - 0.05);
};
} else {
if (mode == 2){
if (_f == null){
_f = new FlxArray();
_local3 = 1;
_local4 = (32 * _local3);
_local5 = (((FlxG.height * _z) / 2) - (_local4 * 2));
_local6 = (((FlxG.width * _z) / 2) - _local4);
_f.push((FlxG.state.addChild(new FlxLogoPixel(((_local6 + _local4) / 4), (_local5 / 4), (_local4 / 4), 0, _fc)) as FlxLogoPixel));
_f.push((FlxG.state.addChild(new FlxLogoPixel((_local6 / 4), ((_local5 + _local4) / 4), (_local4 / 4), 1, _fc)) as FlxLogoPixel));
_f.push((FlxG.state.addChild(new FlxLogoPixel((_local6 / 4), ((_local5 + (_local4 * 2)) / 4), (_local4 / 4), 2, _fc)) as FlxLogoPixel));
_f.push((FlxG.state.addChild(new FlxLogoPixel(((_local6 + _local4) / 4), ((_local5 + (_local4 * 2)) / 4), (_local4 / 4), 3, _fc)) as FlxLogoPixel));
_f.push((FlxG.state.addChild(new FlxLogoPixel((_local6 / 4), ((_local5 + (_local4 * 3)) / 4), (_local4 / 4), 4, _fc)) as FlxLogoPixel));
_poweredBy = new ImgPoweredBy();
_poweredBy.scaleX = _local3;
_poweredBy.scaleY = _local3;
_poweredBy.x = ((((FlxG.width * _z) / 2) / 4) - (_poweredBy.width / 2));
_poweredBy.y = (((_local5 + (_local4 * 4)) + 16) / 4);
_local7 = new ColorTransform();
_local7.color = _fc;
_poweredBy.bitmapData.colorTransform(new Rectangle(0, 0, _poweredBy.width, _poweredBy.height), _local7);
FlxG.state.addChild(_poweredBy);
_logoFade = (FlxG.state.addChild(new Bitmap(new BitmapData(((FlxG.width * _z) / 4), ((FlxG.height * _z) / 4), true, 4278190080))) as Bitmap);
_logoFade.x = ((_gx * _z) / 4);
_logoFade.y = ((_gy * _z) / 4);
if (_fSound != null){
new _fSound().play(0, 0, new SoundTransform(0.35, 0));
};
};
_logoTimer = (_logoTimer + FlxG.elapsed);
_local1 = 0;
while (_local1 < _f.length) {
_f[_local1].update();
_local1++;
};
if (_logoFade.alpha > 0){
_logoFade.alpha = (_logoFade.alpha - (FlxG.elapsed * 0.5));
};
if (_logoTimer > 2){
FlxG.state.removeChild(_poweredBy);
_local1 = 0;
while (_local1 < _f.length) {
FlxG.state.removeChild(_f[_local1]);
_local1++;
};
_f.clear();
FlxG.state.removeChild(_logoFade);
mode = 3;
_logoComplete = true;
};
} else {
if (mode == 3){
FlxG.state.add(sprText);
FlxG.state.add(sprSlogan);
FlxG.state.add(sprLogo);
mode = 4;
} else {
if (mode == 4){
if (!sprText.visible){
sprText.visible = true;
} else {
if (((sprText.visible) && (!(sprSlogan.visible)))){
sprSlogan.visible = true;
} else {
if (wait > 0){
wait = (wait - (FlxG.elapsed * 3));
} else {
if (wait <= 0){
FlxG.flash(4288269567, 0.75);
FlxG.fade(4278190131, 1, onFade);
};
};
};
};
};
};
};
};
};
super.update();
}
private function GotoPlay():void{
if (mode == 0){
mode = 1;
};
}
private function openWindow(_arg1:String, _arg2:String="_blank", _arg3:String=""):void{
var _local4 = "window.open";
ExternalInterface.call(_local4, _arg1, _arg2, _arg3);
}
public function splashPlay_Callback():void{
mode = 1;
}
private function GotoSite():void{
if (fButton.dead){
return;
};
FlxG.openURL("http://www.gimme5games.com/?ref=blasting");
}
}
}//package com.ProjUno
Section 142
//LogoState_ImgCursor (com.ProjUno.LogoState_ImgCursor)
package com.ProjUno {
import mx.core.*;
public class LogoState_ImgCursor extends BitmapAsset {
}
}//package com.ProjUno
Section 143
//LogoState_ImgLogo (com.ProjUno.LogoState_ImgLogo)
package com.ProjUno {
import mx.core.*;
public class LogoState_ImgLogo extends BitmapAsset {
}
}//package com.ProjUno
Section 144
//LogoState_ImgPoweredBy (com.ProjUno.LogoState_ImgPoweredBy)
package com.ProjUno {
import mx.core.*;
public class LogoState_ImgPoweredBy extends BitmapAsset {
}
}//package com.ProjUno
Section 145
//LogoState_ImgText (com.ProjUno.LogoState_ImgText)
package com.ProjUno {
import mx.core.*;
public class LogoState_ImgText extends BitmapAsset {
}
}//package com.ProjUno
Section 146
//LogoState_SndFlixel (com.ProjUno.LogoState_SndFlixel)
package com.ProjUno {
import mx.core.*;
public class LogoState_SndFlixel extends SoundAsset {
}
}//package com.ProjUno
Section 147
//MapButton (com.ProjUno.MapButton)
package com.ProjUno {
import org.flixel.*;
public class MapButton extends FlxSprite {
private var Img:Class;
public function MapButton(_arg1:Number, _arg2:Number){
Img = MapButton_Img;
super(Img, _arg1, _arg2, true);
addAnimation("normal", [0, 1], 10);
play("normal");
}
}
}//package com.ProjUno
Section 148
//MapButton_Img (com.ProjUno.MapButton_Img)
package com.ProjUno {
import mx.core.*;
public class MapButton_Img extends BitmapAsset {
}
}//package com.ProjUno
Section 149
//MenuState (com.ProjUno.MenuState)
package com.ProjUno {
import flash.display.*;
import org.flixel.*;
public class MenuState extends FlxState {
private var _MapBack:FlxSprite;
private var _arrow:FlxSprite;
private var _diffButtons:FlxArray;
private var _MapOverlay:FlxSprite;
private var ToolTipShown:Boolean;// = false
private var lyrBack:FlxLayer;
private var ImgLogoShine:Class;
private var ImgG5PresentedBy:Class;
private var ImgKongBadge:Class;
private var _ResetConfirmText2:FlxText;
private var _ResetConfirmText3:FlxText;
private var ImgArrow:Class;
private var ImgResetUp:Class;
private var _img_g5presentedBy:DisplayObject;
private var ImgBack:Class;
private var _back1:FlxBlock;
private var _back2:FlxBlock;
private var ImgOverlay:Class;
private var ImgHard:Class;
private var _clearButton:FlxButton;
private var _gearButtons:FlxButton;
private var SndPower:Class;
private var _MapPath:FlxSprite;
private var ImgEasy:Class;
private var ImgMapBack:Class;
private var _MapLock:FlxSprite;
private var ImgButtonGreen:Class;
private var _tooltipTextB:FlxText;
private var ImgButtonRedUp:Class;
private var _ResetConfirmYes:FlxButton;
private var _tooltipTextA:FlxText;
private var ImgResetOver:Class;
private var _ResetConfirmNo:FlxButton;
private var ImgLock:Class;
private var ImgBlank:Class;
private var ImgGimme2:Class;
private var ImgButtonGrayUp:Class;
private var _KongButton:FlxButton;
private var _ResetConfirmBack:FlxSprite;
private var _medals:FlxArray;
private var lyrTooltips:FlxLayer;
private var ImgMapPath:Class;
private var MusIntro:Class;
private var ImgGimme3:Class;
private var ImgButtonGreenUp:Class;
private var _img_gimme3:DisplayObject;
private var ImgEasy2:Class;
private var _go:int;// = 0
private var PresentedBy:FlxButton;
private var ImgButtonRed:Class;
private var ImgBadges:Class;
private var ImgButtonGray:Class;
private var _TitleShine:FlxSprite;
private var _selectedMode:int;// = 0
private var _ResetShown:Boolean;// = false
private var ImgHard2:Class;
private var ImgToolTip:Class;
private var _tooltipBack:FlxSprite;
private var _ResetConfirmText:FlxText;
private var ImgGimme:Class;
private var ImgCursor:Class;
private var _TitleButton:FlxButton;
private var _pathButtons:FlxArray;
private var _TitleCard:FlxSprite;
private var ImgLogo:Class;
private var Font04B:Class;
private var _menuState:int;// = 0
private var _menu_counter:Number;// = 0.5
private var lyrDialogs:FlxLayer;
public function MenuState():void{
MusIntro = MenuState_MusIntro;
SndPower = MenuState_SndPower;
ImgCursor = MenuState_ImgCursor;
ImgBadges = MenuState_ImgBadges;
ImgMapBack = MenuState_ImgMapBack;
ImgMapPath = MenuState_ImgMapPath;
ImgButtonGreen = MenuState_ImgButtonGreen;
ImgButtonGreenUp = MenuState_ImgButtonGreenUp;
ImgButtonGray = MenuState_ImgButtonGray;
ImgButtonGrayUp = MenuState_ImgButtonGrayUp;
ImgButtonRed = MenuState_ImgButtonRed;
ImgButtonRedUp = MenuState_ImgButtonRedUp;
ImgOverlay = MenuState_ImgOverlay;
ImgEasy = MenuState_ImgEasy;
ImgEasy2 = MenuState_ImgEasy2;
ImgHard = MenuState_ImgHard;
ImgHard2 = MenuState_ImgHard2;
ImgResetOver = MenuState_ImgResetOver;
ImgResetUp = MenuState_ImgResetUp;
ImgToolTip = MenuState_ImgToolTip;
ImgLock = MenuState_ImgLock;
ImgGimme = MenuState_ImgGimme;
ImgGimme2 = MenuState_ImgGimme2;
ImgBlank = MenuState_ImgBlank;
ImgKongBadge = MenuState_ImgKongBadge;
ImgBack = MenuState_ImgBack;
ImgLogo = MenuState_ImgLogo;
ImgLogoShine = MenuState_ImgLogoShine;
Font04B = MenuState_Font04B;
ImgArrow = MenuState_ImgArrow;
ImgG5PresentedBy = MenuState_ImgG5PresentedBy;
ImgGimme3 = MenuState_ImgGimme3;
_img_gimme3 = new ImgGimme3();
_img_g5presentedBy = new ImgG5PresentedBy();
super();
FlxG.canPause = false;
_pathButtons = new FlxArray();
_diffButtons = new FlxArray();
_medals = new FlxArray();
lyrBack = new FlxLayer();
lyrTooltips = new FlxLayer();
lyrDialogs = new FlxLayer();
FlxG.setCursor(ImgCursor);
FlxG.setMusic(MusIntro);
_back1 = new FlxBlock(0, 0, 270, 0x0100, ImgBack);
this.add(_back1);
_back2 = new FlxBlock(128, 128, 270, 0x0100, ImgBack);
this.add(_back2);
this.add((_TitleCard = (new FlxSprite(ImgLogo, 0, 0, false, false, 160, 120, 4281545523) as FlxSprite)));
this.add((_TitleShine = (new FlxSprite(ImgLogoShine, 0, 0, false, false, 160, 120, 4281545523) as FlxSprite)));
_TitleShine.addAnimation("normal", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8], 15);
_TitleShine.play("normal");
this.add((_TitleButton = (new FlxButton(0, 0, new FlxSprite(null, 0, 0, false, false, FlxG.width, ((FlxG.height / 2) + 30), 0), NextScreen) as FlxButton)));
_img_g5presentedBy.x = ((FlxG.width / 2) - (197 * 0.2));
_img_g5presentedBy.y = ((FlxG.height / 2) + 35);
FlxG.state.addChild(_img_g5presentedBy);
_img_g5presentedBy.scaleX = 0.2;
_img_g5presentedBy.scaleY = 0.2;
PresentedBy = new FlxButton(((FlxG.width / 2) - (197 * 0.2)), ((FlxG.height / 2) + 35), new FlxSprite(null, ((FlxG.width / 2) - (197 * 0.2)), ((FlxG.height / 2) + 35), false, false, (394 * 0.2), (84 * 0.2), 0), PresentedByClick);
PresentedBy.scrollFactor.x = (PresentedBy.scrollFactor.y = 0);
FlxG.state.add(PresentedBy);
_tooltipBack = new FlxSprite(ImgToolTip, 0, 0, false, false, 84, 24, 2566914048);
_tooltipTextA = new FlxText(0, 0, 80, 10, "", 0xFFFFFF, "04B", 8, "center");
_tooltipTextB = new FlxText(0, 0, 80, 10, "", 0xFFFFFF, "04B", 8, "center");
ToolTipShown = false;
_ResetConfirmBack = new FlxSprite(null, 0, 0, false, false, FlxG.width, FlxG.height, 3422552064);
_ResetConfirmText = new FlxText(0, 0, FlxG.width, 12, "Confirm Data Clear", 0xFFFFFF, null, 8, "center");
_ResetConfirmText2 = new FlxText(0, 14, FlxG.width, 12, "This cannot be undone", 0xFFFFFF, null, 8, "center");
_ResetConfirmText3 = new FlxText(0, 30, FlxG.width, 12, "Are you sure?", 0xFFFFFF, null, 8, "center");
_ResetConfirmNo = new FlxButton(5, 46, new FlxSprite(null, 0, 0, false, false, (FlxG.width - 10), 14, 4284900966), ResetNo, new FlxSprite(null, 0, 0, false, false, (FlxG.width - 10), 14, 4288256409), new FlxText(0, 1, (FlxG.width - 10), 10, "NO", 4288256409, null, 8, "center"), new FlxText(0, 1, (FlxG.width - 10), 10, "NO", 4291611852, null, 8, "center"));
_ResetConfirmYes = new FlxButton(5, 64, new FlxSprite(null, 0, 0, false, false, (FlxG.width - 10), 14, 4284900966), ResetYes, new FlxSprite(null, 0, 0, false, false, (FlxG.width - 10), 14, 4288256409), new FlxText(0, 1, (FlxG.width - 10), 10, "YES", 4288256409, null, 8, "center"), new FlxText(0, 1, (FlxG.width - 10), 10, "YES", 4291611852, null, 8, "center"));
_menuState = 1;
}
private function PathTwoClick():void{
if (_ResetShown){
return;
};
FlxG.flash(4288269567, 0.75);
Globals.StartLevel = 1;
FlxG.fade(4278190131, 1, onFade);
FlxG.play(SndPower);
}
private function ChangeToHard():void{
Globals.CurrentDifficulty = 1;
if (_ResetShown){
return;
};
_selectedMode = 1;
SetDiffButtons();
FixPathButtons();
}
private function ChangeToEasy():void{
Globals.CurrentDifficulty = 0;
if (_ResetShown){
return;
};
_selectedMode = 0;
SetDiffButtons();
FixPathButtons();
}
private function SetDiffButtons():void{
var _local1:FlxButton;
for each (_local1 in _diffButtons) {
_local1.kill();
};
_diffButtons.clear();
switch (_selectedMode){
case 1:
(_diffButtons.add(lyrBack.add(new FlxButton(0, 90, new FlxSprite(ImgEasy2, 0, 0, false, false, 37, 17, 4281545523), ChangeToEasy, new FlxSprite(ImgEasy, 0, 0, false, false, 37, 17, 4284900966)))) as FlxButton);
(_diffButtons.add(lyrBack.add(new FlxButton(0, 107, new FlxSprite(ImgHard, 0, 0, false, false, 34, 14, 4288256409), ChangeNone, new FlxSprite(ImgHard, 0, 0, false, false, 34, 14, 4288256409)))) as FlxButton);
break;
case 0:
(_diffButtons.add(lyrBack.add(new FlxButton(0, 90, new FlxSprite(ImgEasy, 0, 0, false, false, 37, 17, 4281545523), ChangeToEasy, new FlxSprite(ImgEasy, 0, 0, false, false, 37, 17, 4284900966)))) as FlxButton);
if (Globals.FlxSave.data.levels[0][2]){
(_diffButtons.add(lyrBack.add(new FlxButton(0, 107, new FlxSprite(ImgHard2, 0, 0, false, false, 34, 14, 4288256409), ChangeToHard, new FlxSprite(ImgHard, 0, 0, false, false, 34, 14, 4288256409)))) as FlxButton);
} else {
(_diffButtons.add(lyrBack.add(new FlxButton(0, 107, new FlxSprite(ImgHard2, 0, 0, false, false, 34, 14, 4288256409), ChangeNone, new FlxSprite(ImgHard2, 0, 0, false, false, 34, 14, 4288256409)))) as FlxButton);
lyrBack.add((_MapLock = (new FlxSprite(ImgLock, 7, 105, true, false, 20, 20) as FlxSprite)));
};
break;
};
}
private function onFade():void{
FlxG.switchState(PlayState);
}
private function PathOneClick():void{
if (_ResetShown){
return;
};
FlxG.flash(4288269567, 0.75);
Globals.StartLevel = 0;
FlxG.fade(4278190131, 1, onFade);
FlxG.play(SndPower);
}
private function ChangeNone():void{
}
private function ResetYes():void{
Globals.FlxSave.data.levels = new Array();
Globals.FlxSave.data.levels[0] = new Array();
Globals.FlxSave.data.levels[1] = new Array();
Globals.FlxSave.data.levels[2] = new Array();
Globals.FlxSave.data.MedalsEarned = new Array();
Globals.FlxSave.data.saved = false;
Globals.FlxSave.data.Powerups = new Array();
Globals.FlxSave.data.Powerups[0] = new Array();
Globals.FlxSave.data.Powerups[1] = new Array();
Globals.FlxSave.data.levelsP = new Array();
Globals.FlxSave.data.levelsP[0] = new Array();
Globals.FlxSave.data.levelsP[1] = new Array();
Globals.FlxSave.data.levelsP[0][0] = 0;
Globals.FlxSave.data.levelsP[0][1] = 0;
Globals.FlxSave.data.levelsP[0][2] = 0;
Globals.FlxSave.data.levelsP[1][0] = 0;
Globals.FlxSave.data.levelsP[1][1] = 0;
Globals.FlxSave.data.levelsP[1][2] = 0;
Globals.FlxSave.data.levelsP[0][3] = 0;
Globals.FlxSave.data.levelsP[1][3] = 0;
Globals.FlxSave.flush();
_MapPath.play("none");
_MapBack.play("normal");
_selectedMode = 0;
SetDiffButtons();
FixPathButtons();
ShowMedals();
_ResetConfirmBack.visible = false;
_ResetConfirmNo.visible = false;
_ResetConfirmText.visible = false;
_ResetConfirmText2.visible = false;
_ResetConfirmText3.visible = false;
_ResetConfirmYes.visible = false;
_ResetShown = false;
}
private function PathNone():void{
}
private function GotoKong():void{
FlxG.openURL("http://www.gimme5games.com/?ref=blasting");
}
private function ScreenChange():void{
if (!Globals.JustCleared){
Globals.JustCleared = true;
};
}
private function FixPathButtons():void{
var _local1:FlxButton;
for each (_local1 in _pathButtons) {
_local1.kill();
};
_pathButtons = new FlxArray();
if (Globals.FlxSave.data.levels[_selectedMode][2]){
_MapPath.play("two");
(_pathButtons.add(lyrBack.add(new FlxButton(38, 24, new FlxSprite(ImgButtonGreen), PathOneClick, new FlxSprite(ImgButtonGreenUp)))) as FlxButton);
(_pathButtons.add(lyrBack.add(new FlxButton(75, 39, new FlxSprite(ImgButtonGreen), PathTwoClick, new FlxSprite(ImgButtonGreenUp)))) as FlxButton);
(_pathButtons.add(lyrBack.add(new FlxButton(77, 63, new FlxSprite(ImgButtonGreen), PathThreeClick, new FlxSprite(ImgButtonGreenUp)))) as FlxButton);
_arrow.visible = false;
} else {
if (Globals.FlxSave.data.levels[_selectedMode][1]){
_MapPath.play("two");
(_pathButtons.add(lyrBack.add(new FlxButton(38, 24, new FlxSprite(ImgButtonGreen), PathOneClick, new FlxSprite(ImgButtonGreenUp)))) as FlxButton);
(_pathButtons.add(lyrBack.add(new FlxButton(75, 39, new FlxSprite(ImgButtonGreen), PathTwoClick, new FlxSprite(ImgButtonGreenUp)))) as FlxButton);
(_pathButtons.add(lyrBack.add(new FlxButton(77, 63, new MapButton(77, 63), PathThreeClick, new FlxSprite(ImgButtonRedUp)))) as FlxButton);
_arrow.visible = true;
_arrow.x = 64;
_arrow.y = 60;
} else {
if (Globals.FlxSave.data.levels[_selectedMode][0]){
_MapPath.play("one");
(_pathButtons.add(lyrBack.add(new FlxButton(38, 24, new FlxSprite(ImgButtonGreen), PathOneClick, new FlxSprite(ImgButtonGreenUp)))) as FlxButton);
(_pathButtons.add(lyrBack.add(new FlxButton(75, 39, new MapButton(75, 39), PathTwoClick, new FlxSprite(ImgButtonRedUp)))) as FlxButton);
(_pathButtons.add(lyrBack.add(new FlxButton(77, 63, new FlxSprite(ImgButtonGray), PathNone, new FlxSprite(ImgButtonGrayUp)))) as FlxButton);
_arrow.visible = true;
_arrow.x = 61;
_arrow.y = 36;
} else {
_MapPath.play("normal");
(_pathButtons.add(lyrBack.add(new FlxButton(38, 24, new MapButton(38, 24), PathOneClick, new FlxSprite(ImgButtonRedUp)))) as FlxButton);
(_pathButtons.add(lyrBack.add(new FlxButton(75, 39, new FlxSprite(ImgButtonGray), PathNone, new FlxSprite(ImgButtonGrayUp)))) as FlxButton);
(_pathButtons.add(lyrBack.add(new FlxButton(77, 63, new FlxSprite(ImgButtonGray), PathNone, new FlxSprite(ImgButtonGrayUp)))) as FlxButton);
_arrow.visible = true;
_arrow.x = 25;
_arrow.y = 21;
};
};
};
}
private function ResetNo():void{
_ResetConfirmBack.visible = false;
_ResetConfirmNo.visible = false;
_ResetConfirmText.visible = false;
_ResetConfirmText2.visible = false;
_ResetConfirmText3.visible = false;
_ResetConfirmYes.visible = false;
_ResetShown = false;
}
private function ClearData():void{
if (_ResetShown){
return;
};
_ResetShown = true;
_ResetConfirmBack.visible = true;
_ResetConfirmNo.visible = true;
_ResetConfirmText.visible = true;
_ResetConfirmText2.visible = true;
_ResetConfirmText3.visible = true;
_ResetConfirmYes.visible = true;
}
private function NextScreen():void{
if (_menu_counter <= 0){
PresentedBy.kill();
FlxG.flash(3439329279, 0.5, ScreenChange, false);
FlxG.play(SndPower);
};
}
private function PresentedByClick():void{
FlxG.openURL("http://www.gimme5games.com/?ref=blasting");
}
private function PathThreeClick():void{
if (_ResetShown){
return;
};
FlxG.flash(4288269567, 0.75);
Globals.StartLevel = 2;
FlxG.fade(4278190131, 1, onFade);
FlxG.play(SndPower);
}
override public function update():void{
var _local1:Boolean;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
_back1.x = (_back1.x - (FlxG.elapsed * 20));
_back1.y = (_back1.y - (FlxG.elapsed * 20));
_back2.x = (_back2.x - (FlxG.elapsed * 20));
_back2.y = (_back2.y - (FlxG.elapsed * 20));
if (_menu_counter > 0){
_menu_counter = (_menu_counter - FlxG.elapsed);
};
if (_back1.y <= -128){
_back1.x = 128;
_back1.y = 128;
};
if (_back2.y <= -128){
_back2.x = 128;
_back2.y = 128;
};
if (_menuState == 1){
if (Globals.JustCleared){
_menuState = 2;
Globals.JustCleared = false;
_TitleCard.visible = false;
_TitleShine.visible = false;
_TitleButton.visible = false;
FlxG.state.removeChild(_img_g5presentedBy);
PresentedBy.kill();
this.add(lyrBack);
lyrBack.add((_MapBack = (new FlxSprite(ImgMapBack, 0, 0, true, false, 160, 87) as FlxSprite)));
lyrBack.add((_MapPath = (new FlxSprite(ImgMapPath, 0, 0, true, false, 160, 87) as FlxSprite)));
_MapBack.addAnimation("normal", [0, 1, 2], 5);
_MapPath.addAnimation("none", [0]);
_MapPath.addAnimation("one", [1]);
_MapPath.addAnimation("two", [2]);
_MapPath.addAnimation("three", [3]);
_MapPath.play("none");
_MapBack.play("normal");
lyrBack.add((_MapOverlay = (new FlxSprite(ImgOverlay, 0, 0, true, false, 160, 120) as FlxSprite)));
lyrBack.add((_arrow = new FlxSprite(ImgArrow, 25, 21, true, false, 12, 12)));
_arrow.addAnimation("normal", [0, 1], 2);
_arrow.play("normal");
_arrow.visible = true;
_img_gimme3.x = 122;
_img_gimme3.y = 98;
this.addChild(_img_gimme3);
_img_gimme3.scaleX = 0.2;
_img_gimme3.scaleY = 0.2;
FlxG.setCursor(ImgCursor);
lyrBack.add((_KongButton = (new FlxButton(108, 99, new FlxSprite(null, 0, 0, false, false, 40, 20, 0), GotoKong, new FlxSprite(null, 0, 0, false, false, 40, 20, 0)) as FlxButton)));
if (Globals.FlxSave.data.levels == null){
_selectedMode = 0;
Globals.FlxSave.data.levels = new Array();
Globals.FlxSave.data.levels[0] = new Array();
Globals.FlxSave.data.levels[1] = new Array();
Globals.FlxSave.data.levels[2] = new Array();
Globals.FlxSave.data.MedalsEarned = new Array();
Globals.FlxSave.data.saved = false;
Globals.FlxSave.data.Powerups = new Array();
Globals.FlxSave.data.Powerups[0] = new Array();
Globals.FlxSave.data.Powerups[1] = new Array();
Globals.FlxSave.data.levelsP = new Array();
Globals.FlxSave.data.levelsP[0] = new Array();
Globals.FlxSave.data.levelsP[1] = new Array();
Globals.FlxSave.data.levelsP[0][0] = 0;
Globals.FlxSave.data.levelsP[0][1] = 0;
Globals.FlxSave.data.levelsP[0][2] = 0;
Globals.FlxSave.data.levelsP[1][0] = 0;
Globals.FlxSave.data.levelsP[1][1] = 0;
Globals.FlxSave.data.levelsP[1][2] = 0;
Globals.FlxSave.data.levelsP[0][3] = 0;
Globals.FlxSave.data.levelsP[1][3] = 0;
Globals.FlxSave.flush();
} else {
Globals.ResendData();
if (((Globals.FlxSave.data.levels[2][2]) || (Globals.FlxSave.data.levels[1][2]))){
_selectedMode = 1;
Globals.CurrentDifficulty = 1;
ChangeToHard();
} else {
if (Globals.FlxSave.data.levels[0][2]){
_selectedMode = 1;
Globals.CurrentDifficulty = 1;
ChangeToHard();
} else {
_selectedMode = 0;
Globals.CurrentDifficulty = 0;
ChangeToEasy();
};
};
};
SetDiffButtons();
FixPathButtons();
_clearButton = (lyrBack.add(new FlxButton(141, 75, new FlxSprite(ImgResetUp), ClearData, new FlxSprite(ImgResetOver))) as FlxButton);
ShowMedals();
_tooltipBack.visible = false;
_tooltipTextA.visible = false;
_tooltipTextB.visible = false;
this.add(lyrTooltips);
lyrTooltips.add(_tooltipBack);
lyrTooltips.add(_tooltipTextA);
lyrTooltips.add(_tooltipTextB);
_ResetConfirmBack.visible = false;
_ResetConfirmNo.visible = false;
_ResetConfirmText.visible = false;
_ResetConfirmText2.visible = false;
_ResetConfirmText3.visible = false;
_ResetConfirmYes.visible = false;
this.add(lyrDialogs);
lyrDialogs.add(_ResetConfirmBack);
lyrDialogs.add(_ResetConfirmNo);
lyrDialogs.add(_ResetConfirmText);
lyrDialogs.add(_ResetConfirmText2);
lyrDialogs.add(_ResetConfirmText3);
lyrDialogs.add(_ResetConfirmYes);
_menuState = 3;
};
};
super.update();
if (_menuState == 3){
_local1 = false;
if (!_ResetShown){
_local2 = 0;
while (_local2 < _pathButtons.length) {
if ((((((((FlxG.mouse.x >= _pathButtons[_local2].x)) && ((FlxG.mouse.x <= (_pathButtons[_local2].x + _pathButtons[_local2].width))))) && ((FlxG.mouse.y >= _pathButtons[_local2].y)))) && ((FlxG.mouse.y <= (_pathButtons[_local2].y + _pathButtons[_local2].height))))){
_local1 = true;
_tooltipBack.x = _pathButtons[_local2].x;
_tooltipBack.y = (_pathButtons[_local2].y - _tooltipBack.height);
if (_tooltipBack.x < 0){
_tooltipBack.x = 0;
} else {
if ((_tooltipBack.x + _tooltipBack.width) > FlxG.width){
_tooltipBack.x = (FlxG.width - _tooltipBack.width);
};
};
if (_tooltipBack.y < 0){
_tooltipBack.y = 0;
} else {
if ((_tooltipBack.y + _tooltipBack.height) > FlxG.height){
_tooltipBack.y = (FlxG.height - _tooltipBack.height);
};
};
switch (_local2){
case 0:
_tooltipTextA.setText("Level 1");
_tooltipTextB.setText("Frigid Caldera");
break;
case 1:
_tooltipTextA.setText("Level 2");
_tooltipTextB.setText("Subterranean Jungle");
break;
case 2:
_tooltipTextA.setText("Level 3");
_tooltipTextB.setText("Geothermal Complex");
break;
};
_tooltipTextA.x = _tooltipBack.x;
_tooltipTextA.y = (_tooltipBack.y - 2);
_tooltipTextB.x = _tooltipBack.x;
_tooltipTextB.y = (_tooltipBack.y + 10);
_tooltipBack.visible = true;
_tooltipTextA.visible = true;
_tooltipTextB.visible = true;
ToolTipShown = true;
};
_local2++;
};
if (!_local1){
_local3 = 0;
while (_local3 < _medals.length) {
if ((((((((FlxG.mouse.x >= _medals[_local3].x)) && ((FlxG.mouse.x <= (_medals[_local3].x + _medals[_local3].width))))) && ((FlxG.mouse.y >= _medals[_local3].y)))) && ((FlxG.mouse.y <= (_medals[_local3].y + _medals[_local3].height))))){
_local1 = true;
_tooltipBack.x = 40;
_tooltipBack.y = 50;
_local4 = 0;
_local5 = 0;
_local6 = 0;
_local7 = 0;
_local8 = 0;
_local9 = 0;
_local10 = 0;
while (_local10 < Globals.FlxSave.data.MedalsEarned.length) {
if (Globals.FlxSave.data.MedalsEarned[_local10] == 0){
_local4 = 1;
} else {
if (Globals.FlxSave.data.MedalsEarned[_local10] == 1){
_local5 = 1;
} else {
if (Globals.FlxSave.data.MedalsEarned[_local10] == 2){
_local6 = 1;
} else {
if (Globals.FlxSave.data.MedalsEarned[_local10] == 3){
_local7 = 1;
} else {
if (Globals.FlxSave.data.MedalsEarned[_local10] == 4){
_local8 = 1;
} else {
if (Globals.FlxSave.data.MedalsEarned[_local10] == 5){
_local9 = 1;
};
};
};
};
};
};
_local10++;
};
switch (_local3){
case 0:
if (_local4 == 0){
_tooltipTextA.setText("Level 1 Easy Mode");
_tooltipTextB.setText("Goal: Clear 90%");
} else {
_tooltipTextA.setText("Ionic Dash");
_tooltipTextB.setText("Double Tap <- or ->");
};
break;
case 1:
if (_local5 == 0){
_tooltipTextA.setText("Level 2 Easy Mode");
_tooltipTextB.setText("Goal: Clear 90%");
} else {
_tooltipTextA.setText("Pulse Bazooka");
_tooltipTextB.setText("Super Charge Gun");
};
break;
case 2:
if (_local6 == 0){
_tooltipTextA.setText("Level 2 Easy Mode");
_tooltipTextB.setText("Goal: Clear 90%");
} else {
_tooltipTextA.setText("Space Captain");
_tooltipTextB.setText("You are awesome!");
};
break;
case 3:
if (_local7 == 0){
_tooltipTextA.setText("Level 1 Hard Mode");
_tooltipTextB.setText("Goal: Clear 100%");
} else {
_tooltipTextA.setText("Double Jump");
_tooltipTextB.setText("Jump Twice!");
};
break;
case 4:
if (_local8 == 0){
_tooltipTextA.setText("Level 2 Hard Mode");
_tooltipTextB.setText("Goal: Clear 100%");
} else {
_tooltipTextA.setText("Grenade!!!");
_tooltipTextB.setText("BOOM!!!");
};
break;
case 5:
if (_local9 == 0){
_tooltipTextA.setText("Level 3 Hard Mode");
_tooltipTextB.setText("Goal: Clear 100%");
} else {
_tooltipTextA.setText("Ninja");
_tooltipTextB.setText("Nuff said!");
};
break;
};
_tooltipTextA.x = _tooltipBack.x;
_tooltipTextA.y = (_tooltipBack.y - 2);
_tooltipTextB.x = _tooltipBack.x;
_tooltipTextB.y = (_tooltipBack.y + 10);
_tooltipBack.visible = true;
_tooltipTextA.visible = true;
_tooltipTextB.visible = true;
ToolTipShown = true;
};
_local3++;
};
};
if (!_local1){
if ((((((((FlxG.mouse.x >= _clearButton.x)) && ((FlxG.mouse.x <= (_clearButton.x + _clearButton.width))))) && ((FlxG.mouse.y >= _clearButton.y)))) && ((FlxG.mouse.y <= (_clearButton.y + _clearButton.height))))){
_local1 = true;
_tooltipBack.x = _clearButton.x;
_tooltipBack.y = (_clearButton.y - _tooltipBack.height);
if (_tooltipBack.x < 0){
_tooltipBack.x = 0;
} else {
if ((_tooltipBack.x + _tooltipBack.width) > FlxG.width){
_tooltipBack.x = (FlxG.width - _tooltipBack.width);
};
};
if (_tooltipBack.y < 0){
_tooltipBack.y = 0;
} else {
if ((_tooltipBack.y + _tooltipBack.height) > FlxG.height){
_tooltipBack.y = (FlxG.height - _tooltipBack.height);
};
};
_tooltipTextA.setText("Clear and");
_tooltipTextB.setText("reset Data");
_tooltipTextA.x = _tooltipBack.x;
_tooltipTextA.y = (_tooltipBack.y - 2);
_tooltipTextB.x = _tooltipBack.x;
_tooltipTextB.y = (_tooltipBack.y + 10);
_tooltipBack.visible = true;
_tooltipTextA.visible = true;
_tooltipTextB.visible = true;
ToolTipShown = true;
};
};
};
if (((!(_local1)) && (ToolTipShown))){
_tooltipBack.visible = false;
_tooltipTextA.visible = false;
_tooltipTextB.visible = false;
ToolTipShown = false;
};
};
}
private function GoStory():void{
FlxG.switchState(Story);
}
private function ShowMedals():void{
var _local4:FlxSprite;
var _local5:int;
var _local1:int;
var _local2:int;
var _local3:int;
while (_local3 < 6) {
switch (_local3){
case 0:
_local1 = 44;
_local2 = 90;
break;
case 1:
_local1 = 70;
_local2 = 90;
break;
case 2:
_local1 = 96;
_local2 = 90;
break;
case 3:
_local1 = 44;
_local2 = 104;
break;
case 4:
_local1 = 70;
_local2 = 104;
break;
case 5:
_local1 = 96;
_local2 = 104;
break;
};
_local4 = new FlxSprite(ImgBadges, _local1, _local2, true, false, 16, 16);
_local4.addAnimation("normal", [_local3]);
_local4.addAnimation("got", [(_local3 + 6)]);
_local4.play("normal");
_local5 = 0;
while (_local5 < Globals.FlxSave.data.MedalsEarned.length) {
if (Globals.FlxSave.data.MedalsEarned[_local5] == _local3){
_local4.play("got");
};
_local5++;
};
_medals.add((lyrBack.add(_local4) as FlxSprite));
_local3++;
};
}
}
}//package com.ProjUno
Section 150
//MenuState_Font04B (com.ProjUno.MenuState_Font04B)
package com.ProjUno {
import mx.core.*;
public class MenuState_Font04B extends FontAsset {
}
}//package com.ProjUno
Section 151
//MenuState_ImgArrow (com.ProjUno.MenuState_ImgArrow)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgArrow extends BitmapAsset {
}
}//package com.ProjUno
Section 152
//MenuState_ImgBack (com.ProjUno.MenuState_ImgBack)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgBack extends BitmapAsset {
}
}//package com.ProjUno
Section 153
//MenuState_ImgBadges (com.ProjUno.MenuState_ImgBadges)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgBadges extends BitmapAsset {
}
}//package com.ProjUno
Section 154
//MenuState_ImgBlank (com.ProjUno.MenuState_ImgBlank)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgBlank extends BitmapAsset {
}
}//package com.ProjUno
Section 155
//MenuState_ImgButtonGray (com.ProjUno.MenuState_ImgButtonGray)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgButtonGray extends BitmapAsset {
}
}//package com.ProjUno
Section 156
//MenuState_ImgButtonGrayUp (com.ProjUno.MenuState_ImgButtonGrayUp)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgButtonGrayUp extends BitmapAsset {
}
}//package com.ProjUno
Section 157
//MenuState_ImgButtonGreen (com.ProjUno.MenuState_ImgButtonGreen)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgButtonGreen extends BitmapAsset {
}
}//package com.ProjUno
Section 158
//MenuState_ImgButtonGreenUp (com.ProjUno.MenuState_ImgButtonGreenUp)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgButtonGreenUp extends BitmapAsset {
}
}//package com.ProjUno
Section 159
//MenuState_ImgButtonRed (com.ProjUno.MenuState_ImgButtonRed)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgButtonRed extends BitmapAsset {
}
}//package com.ProjUno
Section 160
//MenuState_ImgButtonRedUp (com.ProjUno.MenuState_ImgButtonRedUp)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgButtonRedUp extends BitmapAsset {
}
}//package com.ProjUno
Section 161
//MenuState_ImgCursor (com.ProjUno.MenuState_ImgCursor)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgCursor extends BitmapAsset {
}
}//package com.ProjUno
Section 162
//MenuState_ImgEasy (com.ProjUno.MenuState_ImgEasy)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgEasy extends BitmapAsset {
}
}//package com.ProjUno
Section 163
//MenuState_ImgEasy2 (com.ProjUno.MenuState_ImgEasy2)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgEasy2 extends BitmapAsset {
}
}//package com.ProjUno
Section 164
//MenuState_ImgG5PresentedBy (com.ProjUno.MenuState_ImgG5PresentedBy)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgG5PresentedBy extends SpriteAsset {
}
}//package com.ProjUno
Section 165
//MenuState_ImgGimme (com.ProjUno.MenuState_ImgGimme)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgGimme extends BitmapAsset {
}
}//package com.ProjUno
Section 166
//MenuState_ImgGimme2 (com.ProjUno.MenuState_ImgGimme2)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgGimme2 extends BitmapAsset {
}
}//package com.ProjUno
Section 167
//MenuState_ImgGimme3 (com.ProjUno.MenuState_ImgGimme3)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgGimme3 extends SpriteAsset {
}
}//package com.ProjUno
Section 168
//MenuState_ImgHard (com.ProjUno.MenuState_ImgHard)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgHard extends BitmapAsset {
}
}//package com.ProjUno
Section 169
//MenuState_ImgHard2 (com.ProjUno.MenuState_ImgHard2)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgHard2 extends BitmapAsset {
}
}//package com.ProjUno
Section 170
//MenuState_ImgKongBadge (com.ProjUno.MenuState_ImgKongBadge)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgKongBadge extends BitmapAsset {
}
}//package com.ProjUno
Section 171
//MenuState_ImgLock (com.ProjUno.MenuState_ImgLock)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgLock extends BitmapAsset {
}
}//package com.ProjUno
Section 172
//MenuState_ImgLogo (com.ProjUno.MenuState_ImgLogo)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgLogo extends BitmapAsset {
}
}//package com.ProjUno
Section 173
//MenuState_ImgLogoShine (com.ProjUno.MenuState_ImgLogoShine)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgLogoShine extends BitmapAsset {
}
}//package com.ProjUno
Section 174
//MenuState_ImgMapBack (com.ProjUno.MenuState_ImgMapBack)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgMapBack extends BitmapAsset {
}
}//package com.ProjUno
Section 175
//MenuState_ImgMapPath (com.ProjUno.MenuState_ImgMapPath)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgMapPath extends BitmapAsset {
}
}//package com.ProjUno
Section 176
//MenuState_ImgOverlay (com.ProjUno.MenuState_ImgOverlay)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgOverlay extends BitmapAsset {
}
}//package com.ProjUno
Section 177
//MenuState_ImgResetOver (com.ProjUno.MenuState_ImgResetOver)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgResetOver extends BitmapAsset {
}
}//package com.ProjUno
Section 178
//MenuState_ImgResetUp (com.ProjUno.MenuState_ImgResetUp)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgResetUp extends BitmapAsset {
}
}//package com.ProjUno
Section 179
//MenuState_ImgToolTip (com.ProjUno.MenuState_ImgToolTip)
package com.ProjUno {
import mx.core.*;
public class MenuState_ImgToolTip extends BitmapAsset {
}
}//package com.ProjUno
Section 180
//MenuState_MusIntro (com.ProjUno.MenuState_MusIntro)
package com.ProjUno {
import mx.core.*;
public class MenuState_MusIntro extends SoundAsset {
}
}//package com.ProjUno
Section 181
//MenuState_SndPower (com.ProjUno.MenuState_SndPower)
package com.ProjUno {
import mx.core.*;
public class MenuState_SndPower extends SoundAsset {
}
}//package com.ProjUno
Section 182
//MiniSnake (com.ProjUno.MiniSnake)
package com.ProjUno {
import flash.geom.*;
import org.flixel.*;
import com.gskinner.utils.*;
public class MiniSnake extends Enemy {
private var ImgSnake:Class;
private var _timer:Number;// = 0
private var _justBorn:Boolean;// = true
public function MiniSnake(_arg1:Number, _arg2:Number, _arg3:Number):void{
ImgSnake = MiniSnake_ImgSnake;
super(_arg1, _arg2, ImgSnake, 0, 8, 8);
health = 2;
width = 8;
height = 8;
facing = false;
changeface = false;
_justBorn = true;
angle = -(_arg3);
var _local4:Point = moveAngle(_arg3, 40);
velocity.x = _local4.x;
velocity.y = _local4.y;
_timer = 0;
addAnimation("normal", [0, 1], 10);
addAnimation("jump", [0, 1]);
addAnimation("attack", [0, 1], 6);
addAnimation("idle", [0, 1]);
addAnimation("hurt", [0, 3], 10);
addAnimation("dead", [3, 3, 3], 5);
play("normal");
HeartChance = 0.7;
SetDifficulty();
}
override public function update():void{
var _local1:Number;
var _local2:Point;
if (Globals.Freeze){
return;
};
if (((dead) || (!(exists)))){
return;
};
if (finished){
play("normal");
};
if (_justBorn){
if ((((_timer > 1)) && (Rnd.boolean(0.75)))){
_justBorn = false;
} else {
_timer = (_timer + FlxG.elapsed);
};
} else {
_local1 = (getAngle((x + (width / 2)), (y + (height / 2)), (PlayState._p.x + (PlayState._p.width / 2)), (PlayState._p.y + (PlayState._p.height / 2))) + Rnd.integer(-15, 15));
_local2 = moveAngle(_local1, 40);
angle = -(_local1);
velocity.x = _local2.x;
velocity.y = _local2.y;
};
super.update();
}
override public function hitCeiling():Boolean{
return (false);
}
public function reset(_arg1:Number, _arg2:Number, _arg3:Number):void{
x = _arg1;
y = _arg2;
health = 2;
angle = -(_arg3);
dead = false;
exists = true;
visible = true;
facing = true;
_timer = 0;
_justBorn = true;
var _local4:Point = moveAngle(_arg3, 25);
velocity.x = _local4.x;
velocity.y = -(_local4.y);
play("normal");
}
override public function hitFloor():Boolean{
return (false);
}
override public function hitWall():Boolean{
return (false);
}
override public function kill():void{
if (dead){
return;
};
velocity.x = 0;
velocity.y = 0;
super.kill();
play("hurt");
exists = false;
}
}
}//package com.ProjUno
Section 183
//MiniSnake_ImgSnake (com.ProjUno.MiniSnake_ImgSnake)
package com.ProjUno {
import mx.core.*;
public class MiniSnake_ImgSnake extends BitmapAsset {
}
}//package com.ProjUno
Section 184
//Player (com.ProjUno.Player)
package com.ProjUno {
import org.flixel.*;
public class Player extends FlxSprite {
private var _gun:FlxSprite;
private var GunImg:Class;
private var _gun_glow:FlxSprite;
private var ImgSmoke:Class;
private var _grenade_on:Boolean;// = false
private var _gun_charge_on:Boolean;// = false
private var SndJump:Class;
private var ImgNinjaGun:Class;
private var ImgGun:Class;
private var _gren_shoot:Number;// = 4
private var _attack_counter:Number;// = 0
private var _smoke_emitter:FlxEmitter;
private var SndCharged:Class;
private var ImgGuy:Class;
private var Img:Class;
private var _max_speed:uint;// = 50
private var _double_jump:int;// = 0
private var _gun_charge:Number;// = 0
private var _dash_counter:Number;// = 0
private var ImgGuyNinja:Class;
private var ImgGunGlow:Class;
public var hurt_counter:Number;// = 0
private var SndDead:Class;
private var _jump_counter:Number;// = 0
private var _jump_power:uint;// = 95
private var SndShoot:Class;
private var _door_counter:Number;// = 0
private var ImgGuyCaptain:Class;
private var _double_jump_on:Boolean;// = false
private var _dash_on:Boolean;// = false
private var _dash:int;// = 0
private var _move_speed:uint;// = 350
private var SndDash:Class;
private var _dash_go:int;// = 0
private var SndHurt:Class;
public function Player(_arg1:Number, _arg2:Number):void{
ImgGuy = Player_ImgGuy;
ImgGuyCaptain = Player_ImgGuyCaptain;
ImgGuyNinja = Player_ImgGuyNinja;
ImgGun = Player_ImgGun;
ImgNinjaGun = Player_ImgNinjaGun;
ImgGunGlow = Player_ImgGunGlow;
SndShoot = Player_SndShoot;
SndJump = Player_SndJump;
SndHurt = Player_SndHurt;
SndDead = Player_SndDead;
SndCharged = Player_SndCharged;
SndDash = Player_SndDash;
ImgSmoke = Player_ImgSmoke;
Img = ImgGuy;
GunImg = ImgGun;
var _local3:int;
while (_local3 < Globals.FlxSave.data.MedalsEarned.length) {
if (Globals.FlxSave.data.MedalsEarned[_local3] == 5){
Img = ImgGuyNinja;
GunImg = ImgNinjaGun;
} else {
if (Globals.FlxSave.data.MedalsEarned[_local3] == 2){
Img = ImgGuyCaptain;
} else {
if (Globals.FlxSave.data.MedalsEarned[_local3] == 1){
_gun_charge_on = true;
} else {
if (Globals.FlxSave.data.MedalsEarned[_local3] == 3){
_double_jump_on = true;
} else {
if (Globals.FlxSave.data.MedalsEarned[_local3] == 0){
_dash_on = true;
} else {
if (Globals.FlxSave.data.MedalsEarned[_local3] == 4){
_grenade_on = true;
};
};
};
};
};
};
_local3++;
};
super(Img, _arg1, _arg2, true, true);
health = Globals.MaxHealth;
width = 5;
height = 11;
offset.x = 4;
offset.y = 1;
x = (x + (offset.x - (12 - 8)));
y = (y + (offset.y - (12 - 8)));
drag.x = 150;
_gren_shoot = 4;
acceleration.y = 420;
maxVelocity.x = _max_speed;
maxVelocity.y = _jump_power;
addAnimation("normal", [0, 1, 2, 3], 10);
addAnimation("jump", [2]);
addAnimation("attack", [4, 5, 6], 6);
addAnimation("stopped", [0]);
addAnimation("hurt", [4, 1], 5);
addAnimation("dead", [5, 6, 7, 8, 9, 10, 11, 12, 13], 12);
facing = true;
_gun = new FlxSprite(GunImg, x, y, true, true, 12, 12);
PlayState.lyrGun.add(_gun);
_gun_glow = new FlxSprite(ImgGunGlow, x, y, true, true, 12, 12);
PlayState.lyrGun.add(_gun_glow);
_gun_glow.addAnimation("0", [0]);
_gun_glow.addAnimation("1", [0, 1], 8);
_gun_glow.addAnimation("2", [2, 3], 12);
_gun_glow.addAnimation("3", [2, 3, 4], 14);
_gun.width = 5;
_gun.height = 11;
_gun.offset.x = 4;
_gun.offset.y = 1;
_gun.addAnimation("normal", [0]);
_gun.addAnimation("attack", [1, 2, 0], 7);
_gun.play("normal");
}
override public function hurt(_arg1:Number):void{
hurt_counter = 1;
FlxG.play(SndHurt);
return (super.hurt(_arg1));
}
private function shoot(_arg1:Boolean):void{
var _local3:Number;
var _local6:uint;
var _local7:Bullet;
var _local8:uint;
var _local9:Bullet;
var _local10:uint;
var _local11:Bullet;
var _local2:Number = 0;
var _local4:int;
if (_arg1){
_local3 = 100;
} else {
_local3 = -100;
};
if (_grenade_on){
if (_gren_shoot <= 0){
_gren_shoot = 3;
_local4 = 0;
_local6 = 0;
while (_local6 < PlayState._pBullets.length) {
if (!PlayState._pBullets[_local6].exists){
if (_gun.facing){
PlayState._pBullets[_local6].reset((_gun.x + _gun.width), (y + 4), ((_local3 * 2) - 70), -160, (Globals.explode + 3), 450);
} else {
PlayState._pBullets[_local6].reset((_gun.x - _gun.width), (y + 4), ((_local3 * 2) + 70), -160, (Globals.explode + 3), 450);
};
_local4 = 1;
_local6 = (PlayState._pBullets.length + 1);
};
_local6++;
};
if (_local4 == 0){
if (_gun.facing){
_local7 = new Bullet((_gun.x + _gun.width), (y + 4), ((_local3 * 2) - 70), -160);
_local7.reset((_gun.x + _gun.width), y, _local3, _local2, (Globals.explode + 3), 450);
} else {
_local7 = new Bullet((_gun.x - _gun.width), (y + 4), ((_local3 * 2) + 70), -160);
_local7.reset((_gun.x - _gun.width), y, _local3, _local2, (Globals.explode + 3), 450);
};
PlayState._pBullets.add(PlayState.lyrBullets.add(_local7));
};
};
};
if (_gun_charge >= 1){
_local4 = 0;
_local8 = 0;
while (_local8 < PlayState._pBullets.length) {
if (!PlayState._pBullets[_local8].exists){
if (_gun.facing){
PlayState._pBullets[_local8].reset((_gun.x + _gun.width), (y + 4), (_local3 * 2), _local2, 15);
} else {
PlayState._pBullets[_local8].reset((_gun.x - _gun.width), (y + 4), (_local3 * 2), _local2, 15);
};
_local4 = 1;
_local8 = (PlayState._pBullets.length + 1);
};
_local8++;
};
if (_local4 == 0){
if (_gun.facing){
_local9 = new Bullet((_gun.x + _gun.width), (y + 4), (_local3 * 2), _local2);
_local9.reset((_gun.x + _gun.width), y, _local3, _local2, 15);
} else {
_local9 = new Bullet((_gun.x - _gun.width), (y + 4), (_local3 * 2), _local2);
_local9.reset((_gun.x - _gun.width), y, _local3, _local2, 15);
};
PlayState._pBullets.add(PlayState.lyrBullets.add(_local9));
};
};
var _local5:uint;
while (_local5 < (Globals.spread + 1)) {
_local2 = (_local2 - (_local5 * 15));
_local4 = 0;
_local10 = 0;
while (_local10 < PlayState._pBullets.length) {
if (!PlayState._pBullets[_local10].exists){
if (_gun.facing){
PlayState._pBullets[_local10].reset((_gun.x + _gun.width), (y + 4), _local3, _local2, Globals.explode);
} else {
PlayState._pBullets[_local10].reset((_gun.x - _gun.width), (y + 4), _local3, _local2, Globals.explode);
};
_local4 = 1;
_local10 = (PlayState._pBullets.length + 1);
};
_local10++;
};
if (_local4 == 0){
if (_gun.facing){
_local11 = new Bullet((_gun.x + _gun.width), (y + 4), _local3, _local2);
_local11.reset((_gun.x + _gun.width), y, _local3, _local2, Globals.explode);
} else {
_local11 = new Bullet((_gun.x - _gun.width), (y + 4), _local3, _local2);
_local11.reset((_gun.x - _gun.width), y, _local3, _local2, Globals.explode);
};
PlayState._pBullets.add(PlayState.lyrBullets.add(_local11));
};
_local5++;
};
}
override public function hitFloor():Boolean{
_double_jump = 0;
_jump_counter = 0;
return (super.hitFloor());
}
override public function update():void{
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
if (hurt_counter > 0){
hurt_counter = (hurt_counter - (FlxG.elapsed * 3));
};
if (_attack_counter > 0){
_attack_counter = (_attack_counter - (FlxG.elapsed * 3));
};
if (_gren_shoot > 0){
_gren_shoot = (_gren_shoot - FlxG.elapsed);
};
if (!((Globals.Freeze) || (Globals.PFreeze))){
if (_dash_counter > 0){
_dash_counter = (_dash_counter - FlxG.elapsed);
if (_dash <= -2){
maxVelocity.x = (_max_speed * 4);
velocity.x = (-(_max_speed) * 4);
};
if (_dash >= 2){
maxVelocity.x = (_max_speed * 4);
velocity.x = (_max_speed * 4);
};
} else {
_dash_counter = 0;
_dash = 0;
maxVelocity.x = _max_speed;
};
if (((((!(FlxG.kLeft)) && (!(FlxG.kRight)))) && (_dash_on))){
_dash_go = 1;
};
if (((((FlxG.kLeft) && ((_dash > -2)))) && ((_dash < 2)))){
if (!FlxG.pressed(FlxG.B)){
facing = false;
};
velocity.x = (velocity.x - (_move_speed * FlxG.elapsed));
if (_dash_go == 1){
_dash = (_dash - 1);
_dash_counter = 0.2;
if (_dash <= -2){
_dash_counter = 0.1;
FlxG.play(SndDash);
};
};
_dash_go = 0;
} else {
if (((((FlxG.kRight) && ((_dash > -2)))) && ((_dash < 2)))){
if (!FlxG.pressed(FlxG.B)){
facing = true;
};
velocity.x = (velocity.x + (_move_speed * FlxG.elapsed));
if (_dash_go == 1){
_dash = (_dash + 1);
_dash_counter = 0.2;
if (_dash >= 2){
_dash_counter = 0.1;
FlxG.play(SndDash);
};
};
_dash_go = 0;
};
};
if (((((!(FlxG.kA)) && ((_double_jump == 0)))) && (_double_jump_on))){
_jump_counter = 0;
_double_jump = 1;
};
if ((((_jump_counter >= 0)) && (FlxG.kA))){
if (_double_jump == 1){
_double_jump = 2;
};
if (_jump_counter == 0){
FlxG.play(SndJump);
};
_jump_counter = (_jump_counter + FlxG.elapsed);
if (_jump_counter > 0.25){
_jump_counter = -1;
};
} else {
if ((((_double_jump == 0)) || ((_double_jump == 2)))){
_jump_counter = -1;
};
};
if (_jump_counter > 0){
if (_jump_counter < 0.065){
velocity.y = -70;
} else {
velocity.y = -(maxVelocity.y);
};
};
if (((((((FlxG.kUp) && (PlayState.onDoor))) && (!((PlayState.toDoor[0] == -1))))) && ((_door_counter <= 0)))){
_door_counter = 2;
PlayState.roomSwitch = true;
} else {
if (_door_counter > 0){
_door_counter = (_door_counter - (FlxG.elapsed * 3));
};
};
};
if (_attack_counter > 0){
_gun.play("attack");
} else {
_gun.play("normal");
};
if (hurt_counter > 0){
play("hurt");
} else {
if (velocity.y != 0){
play("jump");
} else {
if (velocity.x == 0){
play("stopped");
} else {
play("normal");
};
};
};
super.update();
_gun.x = x;
_gun.y = y;
_gun.facing = facing;
if (((FlxG.pressed(FlxG.B)) && ((_attack_counter <= 0)))){
_attack_counter = (1.2 - (Globals.rapid * 0.2));
FlxG.play(SndShoot);
FlxG.play(SndShoot);
_gun.play("attack");
shoot(facing);
_gun_charge = 0;
};
if (_gun_charge_on){
_gun_charge = (_gun_charge + FlxG.elapsed);
};
if (_gun_charge < 0.3){
_gun_glow.play("0");
};
if ((((_gun_charge >= 0.3)) && ((_gun_charge < 0.6)))){
_gun_glow.play("1");
};
if ((((_gun_charge > 0.6)) && ((_gun_charge < 1)))){
_gun_glow.play("2");
};
if ((((_gun_charge >= 0.9)) && ((_gun_charge <= 0.99)))){
FlxG.play(SndCharged);
};
if (_gun_charge >= 1){
_gun_glow.play("3");
(_gun_charge == 1);
};
if (facing == true){
_gun_glow.x = (x + 2);
} else {
_gun_glow.x = (x - 10);
};
_gun_glow.y = (y - 2);
}
public function reset():void{
dead = false;
health = Globals.MaxHealth;
facing = true;
_gun = new FlxSprite(GunImg, x, y, true, true, 12, 12);
PlayState.lyrGun.add(_gun);
_gun_glow = new FlxSprite(ImgGunGlow, x, y, true, true, 12, 12);
PlayState.lyrGun.add(_gun_glow);
_gun_glow.addAnimation("0", [0]);
_gun_glow.addAnimation("1", [0, 1], 8);
_gun_glow.addAnimation("2", [2, 3], 12);
_gun_glow.addAnimation("3", [2, 3, 4], 14);
_gun_charge = 0;
_gun.width = 5;
_gun.height = 11;
_gun.offset.x = 4;
_gun.offset.y = 1;
_gun.addAnimation("normal", [0]);
_gun.addAnimation("attack", [1, 2, 0], 7);
_gun.play("normal");
}
override public function kill():void{
if (dead){
return;
};
if (FlxG.kong){
FlxG.kong.kongregate.stats.submit("Deaths", 1);
};
FlxG.play(SndDead);
velocity.x = 0;
velocity.y = -40;
super.kill();
play("dead");
exists = true;
_gun_glow.kill();
_gun.kill();
}
}
}//package com.ProjUno
Section 185
//Player_ImgGun (com.ProjUno.Player_ImgGun)
package com.ProjUno {
import mx.core.*;
public class Player_ImgGun extends BitmapAsset {
}
}//package com.ProjUno
Section 186
//Player_ImgGunGlow (com.ProjUno.Player_ImgGunGlow)
package com.ProjUno {
import mx.core.*;
public class Player_ImgGunGlow extends BitmapAsset {
}
}//package com.ProjUno
Section 187
//Player_ImgGuy (com.ProjUno.Player_ImgGuy)
package com.ProjUno {
import mx.core.*;
public class Player_ImgGuy extends BitmapAsset {
}
}//package com.ProjUno
Section 188
//Player_ImgGuyCaptain (com.ProjUno.Player_ImgGuyCaptain)
package com.ProjUno {
import mx.core.*;
public class Player_ImgGuyCaptain extends BitmapAsset {
}
}//package com.ProjUno
Section 189
//Player_ImgGuyNinja (com.ProjUno.Player_ImgGuyNinja)
package com.ProjUno {
import mx.core.*;
public class Player_ImgGuyNinja extends BitmapAsset {
}
}//package com.ProjUno
Section 190
//Player_ImgNinjaGun (com.ProjUno.Player_ImgNinjaGun)
package com.ProjUno {
import mx.core.*;
public class Player_ImgNinjaGun extends BitmapAsset {
}
}//package com.ProjUno
Section 191
//Player_ImgSmoke (com.ProjUno.Player_ImgSmoke)
package com.ProjUno {
import mx.core.*;
public class Player_ImgSmoke extends BitmapAsset {
}
}//package com.ProjUno
Section 192
//Player_SndCharged (com.ProjUno.Player_SndCharged)
package com.ProjUno {
import mx.core.*;
public class Player_SndCharged extends SoundAsset {
}
}//package com.ProjUno
Section 193
//Player_SndDash (com.ProjUno.Player_SndDash)
package com.ProjUno {
import mx.core.*;
public class Player_SndDash extends SoundAsset {
}
}//package com.ProjUno
Section 194
//Player_SndDead (com.ProjUno.Player_SndDead)
package com.ProjUno {
import mx.core.*;
public class Player_SndDead extends SoundAsset {
}
}//package com.ProjUno
Section 195
//Player_SndHurt (com.ProjUno.Player_SndHurt)
package com.ProjUno {
import mx.core.*;
public class Player_SndHurt extends SoundAsset {
}
}//package com.ProjUno
Section 196
//Player_SndJump (com.ProjUno.Player_SndJump)
package com.ProjUno {
import mx.core.*;
public class Player_SndJump extends SoundAsset {
}
}//package com.ProjUno
Section 197
//Player_SndShoot (com.ProjUno.Player_SndShoot)
package com.ProjUno {
import mx.core.*;
public class Player_SndShoot extends SoundAsset {
}
}//package com.ProjUno
Section 198
//PlayState (com.ProjUno.PlayState)
package com.ProjUno {
import flash.display.*;
import org.flixel.*;
import flash.ui.*;
public class PlayState extends FlxState {
public var G5Link:FlxButton;
private var vicScr:VictoryScreen;
private var _kills_text:FlxText;
private var Map0103Back:Class;
private var ImgContinue2:Class;
private var Map0201Enemy:Class;
private var Map0304Back:Class;
private var Map0302Treas:Class;
private var Map0306Enemy:Class;
private var MapFinalEnemy:Class;
private var Map0202Break:Class;
private var _updoor:FlxSprite;
private var ImgMtns2:Class;
private var Map0303Enemy:Class;
private var Map0203Wall:Class;
private var _range_star_display:FlxArray;
private var Map0105Treas:Class;
private var Map0304Break:Class;
private var _rectangle2:FlxSprite;
private var Map0106Enemy:Class;
private var Map0205Back:Class;
private var Map0201Back:Class;
private var Map0102Treas:Class;
private var Map0301Break:Class;
private var enemyCount:Array;
private var Map0103Enemy:Class;
private var Map0301Wall:Class;
private var Map0104Wall:Class;
private var ImgHearts:Class;
private var PExplode:int;// = 0
private var ImgRoom1Tiles:Class;
private var Map0305Wall:Class;
private var Map0204Treas:Class;
private var ImgCaveBacks:Class;
private var Map0104Break:Class;
private var MapFinalWall:Class;
private var Map0205Enemy:Class;
private var Map0102Back:Class;
private var PMaxHealth:int;// = 5
private var ImgBacks:Class;
private var Map0106Back:Class;
private var _kill_count:FlxSprite;
private var PPowerups:Array;
private var PRapid:int;// = 0
private var Map0303Back:Class;
private var Map0201Treas:Class;
private var MusLvl2:Class;
private var MusLvl3:Class;
private var MapFinalTreas:Class;
private var Map0101Break:Class;
private var Map0206Break:Class;
private var Map0306Treas:Class;
private var Map0202Enemy:Class;
private var bossDieCounter:Number;// = 0
private var Map0202Wall:Class;
private var ImgTrees:Class;
private var Map0206Wall:Class;
private var Map0303Treas:Class;
private var Map0203Break:Class;
private var Map0304Enemy:Class;
private var PTK:int;// = 0
private var Map0204Back:Class;
private var _tmpTK:int;// = 0
private var Map0305Break:Class;
private var Map0106Treas:Class;
private var Map0301Enemy:Class;
private var Map0103Wall:Class;
private var _treasure_text:FlxText;
private var Map0304Wall:Class;
private var SndWind:Class;
private var MusLvl1Int:Class;
private var PEK:int;// = 0
private var Map0103Treas:Class;
private var Map0302Break:Class;
private var Map0101Back:Class;
private var Map0104Enemy:Class;
private var Map0302Back:Class;
private var Map0105Back:Class;
private var ImgG5Logo:Class;
private var _tmpEK:int;// = 0
private var Map0306Back:Class;
private var Map0205Treas:Class;
private var _old_boss_health:Number;// = 0
private var Map0105Break:Class;
public var btnContinue:FlxButton;
private var Map0206Enemy:Class;
private var _tmpE:int;// = 0
private var MusLvl1Ext:Class;
private var Map0201Wall:Class;
private var Map0101Enemy:Class;
private var Map0205Wall:Class;
private var _tmpT:int;// = 0
private var Map0202Treas:Class;
private var SndPower:Class;
private var Map0102Break:Class;
private var Map0203Enemy:Class;
private var Map0203Back:Class;
private var _old_kills:int;// = 0
private var submit_button:FlxButton;
private var Map0304Treas:Class;
private var SndElevator:Class;
private var Map0204Break:Class;
private var Map0102Wall:Class;
private var Map0305Enemy:Class;
private var Map0303Wall:Class;
private var Map0106Wall:Class;
private var ImgCollectHud:Class;
private var ImgContinue:Class;
private var Map0301Treas:Class;
private var MusBoss2:Class;
private var Map0201Break:Class;
private var SndCoin:Class;
private var MapFinalBreak:Class;
private var Map0301Back:Class;
private var Map0104Back:Class;
private var Map0306Break:Class;
private var SndHit:Class;
private var Map0305Back:Class;
private var _hearts_display:FlxArray;
public var btnSubmit:FlxButton;
private var Map0104Treas:Class;
private var ImgSubmit:Class;
private var Map0303Break:Class;
private var _treasure_count:FlxSprite;
private var Map0302Enemy:Class;
private var MapFinalBack:Class;
private var ImgTiles:Class;
private var Map0105Enemy:Class;
private var _old_treasure:int;// = 0
public var bossFightState:int;// = 0
private var ImgOnDoor:Class;
private var Map0204Wall:Class;
private var Map0206Treas:Class;
private var MusBoss:Class;
private var Map0101Treas:Class;
private var Map0106Break:Class;
private var enteredDoor:int;// = -1
private var Map0202Back:Class;
private var Map0102Enemy:Class;
private var Map0206Back:Class;
public var imgG5:DisplayObject;
private var Map0103Break:Class;
private var _current_music:Class;
private var PSpread:int;// = 0
private var Map0204Enemy:Class;
private var Map0203Treas:Class;
private var Map0101Wall:Class;
private var Map0302Wall:Class;
private var Map0105Wall:Class;
private var ImgMtns:Class;
private var _rectangle:FlxSprite;
private var ImgBStar:Class;
private var Map0305Treas:Class;
private var Map0306Wall:Class;
private var ImgSubmit2:Class;
private var Map0205Break:Class;
public static var _current_room:int = 0;
public static var _eBullets:FlxArray;
public static var lyrEffectsBack:FlxLayer;
public static var toDoor:FlxArray;
public static var lyrBack:FlxLayer;
public static var lyrPlayer:FlxLayer;
public static var lyrEffectsFront:FlxLayer;
public static var rooms:FlxArray;
public static var roomSwitch:Boolean = false;
public static var lyrBackEffects:FlxLayer;
public static var _last_music:Class;
public static var update_boss_health:int = 0;
public static var lyrStuff2:FlxLayer;
public static var lyrWalls:FlxLayer;
public static var lyrBullets:FlxLayer;
public static var _pBullets:FlxArray;
public static var lyrStuff:FlxLayer;
public static var _p:Player;
public static var lyrHUD:FlxLayer;
public static var _pickups:FlxArray;
public static var _room:Room;
public static var lyrGun:FlxLayer;
public static var onDoor:Boolean = false;
public static var _current_level:int = 0;
public function PlayState():void{
var _local7:FlxSprite;
var _local9:FlxSprite;
var _local11:Array;
var _local12:Array;
var _local13:String;
ImgTiles = PlayState_ImgTiles;
ImgBacks = PlayState_ImgBacks;
ImgRoom1Tiles = PlayState_ImgRoom1Tiles;
ImgMtns = PlayState_ImgMtns;
ImgMtns2 = PlayState_ImgMtns2;
ImgTrees = PlayState_ImgTrees;
ImgHearts = PlayState_ImgHearts;
ImgBStar = PlayState_ImgBStar;
ImgCaveBacks = PlayState_ImgCaveBacks;
ImgOnDoor = PlayState_ImgOnDoor;
ImgCollectHud = PlayState_ImgCollectHud;
SndWind = PlayState_SndWind;
SndHit = PlayState_SndHit;
SndCoin = PlayState_SndCoin;
SndPower = PlayState_SndPower;
SndElevator = PlayState_SndElevator;
MusLvl1Ext = PlayState_MusLvl1Ext;
MusLvl1Int = PlayState_MusLvl1Int;
MusBoss = PlayState_MusBoss;
MusBoss2 = PlayState_MusBoss2;
MusLvl2 = PlayState_MusLvl2;
MusLvl3 = PlayState_MusLvl3;
Map0101Back = PlayState_Map0101Back;
Map0101Wall = PlayState_Map0101Wall;
Map0101Break = PlayState_Map0101Break;
Map0101Treas = PlayState_Map0101Treas;
Map0101Enemy = PlayState_Map0101Enemy;
Map0102Back = PlayState_Map0102Back;
Map0102Wall = PlayState_Map0102Wall;
Map0102Break = PlayState_Map0102Break;
Map0102Treas = PlayState_Map0102Treas;
Map0102Enemy = PlayState_Map0102Enemy;
Map0103Back = PlayState_Map0103Back;
Map0103Wall = PlayState_Map0103Wall;
Map0103Break = PlayState_Map0103Break;
Map0103Treas = PlayState_Map0103Treas;
Map0103Enemy = PlayState_Map0103Enemy;
Map0104Back = PlayState_Map0104Back;
Map0104Wall = PlayState_Map0104Wall;
Map0104Break = PlayState_Map0104Break;
Map0104Treas = PlayState_Map0104Treas;
Map0104Enemy = PlayState_Map0104Enemy;
Map0105Back = PlayState_Map0105Back;
Map0105Wall = PlayState_Map0105Wall;
Map0105Break = PlayState_Map0105Break;
Map0105Treas = PlayState_Map0105Treas;
Map0105Enemy = PlayState_Map0105Enemy;
Map0106Back = PlayState_Map0106Back;
Map0106Wall = PlayState_Map0106Wall;
Map0106Break = PlayState_Map0106Break;
Map0106Treas = PlayState_Map0106Treas;
Map0106Enemy = PlayState_Map0106Enemy;
Map0201Back = PlayState_Map0201Back;
Map0201Wall = PlayState_Map0201Wall;
Map0201Break = PlayState_Map0201Break;
Map0201Treas = PlayState_Map0201Treas;
Map0201Enemy = PlayState_Map0201Enemy;
Map0202Back = PlayState_Map0202Back;
Map0202Wall = PlayState_Map0202Wall;
Map0202Break = PlayState_Map0202Break;
Map0202Treas = PlayState_Map0202Treas;
Map0202Enemy = PlayState_Map0202Enemy;
Map0203Back = PlayState_Map0203Back;
Map0203Wall = PlayState_Map0203Wall;
Map0203Break = PlayState_Map0203Break;
Map0203Treas = PlayState_Map0203Treas;
Map0203Enemy = PlayState_Map0203Enemy;
Map0205Back = PlayState_Map0205Back;
Map0205Wall = PlayState_Map0205Wall;
Map0205Break = PlayState_Map0205Break;
Map0205Treas = PlayState_Map0205Treas;
Map0205Enemy = PlayState_Map0205Enemy;
Map0206Back = PlayState_Map0206Back;
Map0206Wall = PlayState_Map0206Wall;
Map0206Break = PlayState_Map0206Break;
Map0206Treas = PlayState_Map0206Treas;
Map0206Enemy = PlayState_Map0206Enemy;
Map0204Back = PlayState_Map0204Back;
Map0204Wall = PlayState_Map0204Wall;
Map0204Break = PlayState_Map0204Break;
Map0204Treas = PlayState_Map0204Treas;
Map0204Enemy = PlayState_Map0204Enemy;
Map0301Back = PlayState_Map0301Back;
Map0301Wall = PlayState_Map0301Wall;
Map0301Break = PlayState_Map0301Break;
Map0301Treas = PlayState_Map0301Treas;
Map0301Enemy = PlayState_Map0301Enemy;
Map0302Back = PlayState_Map0302Back;
Map0302Wall = PlayState_Map0302Wall;
Map0302Break = PlayState_Map0302Break;
Map0302Treas = PlayState_Map0302Treas;
Map0302Enemy = PlayState_Map0302Enemy;
Map0303Back = PlayState_Map0303Back;
Map0303Wall = PlayState_Map0303Wall;
Map0303Break = PlayState_Map0303Break;
Map0303Treas = PlayState_Map0303Treas;
Map0303Enemy = PlayState_Map0303Enemy;
Map0304Back = PlayState_Map0304Back;
Map0304Wall = PlayState_Map0304Wall;
Map0304Break = PlayState_Map0304Break;
Map0304Treas = PlayState_Map0304Treas;
Map0304Enemy = PlayState_Map0304Enemy;
Map0305Back = PlayState_Map0305Back;
Map0305Wall = PlayState_Map0305Wall;
Map0305Break = PlayState_Map0305Break;
Map0305Treas = PlayState_Map0305Treas;
Map0305Enemy = PlayState_Map0305Enemy;
Map0306Back = PlayState_Map0306Back;
Map0306Wall = PlayState_Map0306Wall;
Map0306Break = PlayState_Map0306Break;
Map0306Treas = PlayState_Map0306Treas;
Map0306Enemy = PlayState_Map0306Enemy;
MapFinalBack = PlayState_MapFinalBack;
MapFinalWall = PlayState_MapFinalWall;
MapFinalBreak = PlayState_MapFinalBreak;
MapFinalTreas = PlayState_MapFinalTreas;
MapFinalEnemy = PlayState_MapFinalEnemy;
ImgG5Logo = PlayState_ImgG5Logo;
ImgContinue = PlayState_ImgContinue;
ImgSubmit = PlayState_ImgSubmit;
ImgContinue2 = PlayState_ImgContinue2;
ImgSubmit2 = PlayState_ImgSubmit2;
imgG5 = new ImgG5Logo();
PPowerups = new FlxArray();
enemyCount = new Array();
super();
Globals.Freeze = false;
Globals.PFreeze = false;
if (_DEBUG){
Globals.GiveMedal(0);
Globals.GiveMedal(1);
Globals.GiveMedal(3);
Globals.GiveMedal(4);
};
lyrBackEffects = new FlxLayer();
lyrBack = new FlxLayer();
lyrWalls = new FlxLayer();
lyrStuff2 = new FlxLayer();
lyrStuff = new FlxLayer();
lyrPlayer = new FlxLayer();
lyrEffectsBack = new FlxLayer();
lyrEffectsFront = new FlxLayer();
lyrGun = new FlxLayer();
lyrBullets = new FlxLayer();
lyrHUD = new FlxLayer();
Globals.DefineMedals();
roomSwitch = false;
onDoor = false;
toDoor = new FlxArray();
toDoor[0] = -1;
toDoor[1] = -1;
enemyCount = new Array();
_pickups = new FlxArray();
this.add(lyrBackEffects);
this.add(lyrEffectsBack);
this.add(lyrBack);
this.add(lyrWalls);
this.add(lyrStuff2);
this.add(lyrStuff);
this.add(lyrPlayer);
lyrPlayer.add(lyrBullets);
this.add(lyrGun);
this.add(lyrEffectsFront);
this.add(lyrHUD);
lyrEffectsFront.add((_updoor = new FlxSprite(ImgOnDoor, 0, 0, true, false, 8, 8)));
_updoor.addAnimation("go", [0, 1], 5, true);
_updoor.play("go");
_updoor.visible = false;
_pBullets = new FlxArray();
_eBullets = new FlxArray();
PlayState._pBullets.clear();
PlayState._eBullets.clear();
var _local1:int;
while (_local1 < 40) {
PlayState._pBullets.add(PlayState.lyrBullets.add(new Bullet(0, 0, 0, 0)));
_local1 = (_local1 + 1);
};
_current_room = -1;
_current_level++;
_p = new Player((2 * 8), (11 * 8));
lyrPlayer.add(_p);
var _local2 = -1;
var _local3:uint;
Globals.bPowers = new Array();
Globals.rapid = 0;
Globals.spread = 0;
Globals.explode = 0;
Globals.MaxHealth = 5;
PRapid = 0;
PSpread = 0;
PExplode = 0;
PMaxHealth = 5;
PEK = 0;
PTK = 0;
PPowerups = new FlxArray();
_p.health = 5;
var _local4:int;
var _local5:int;
var _local6:int;
_current_level = Globals.StartLevel;
if (Globals.FlxSave.data.saved){
for each (_local11 in Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty]) {
for each (_local12 in _local11) {
for each (_local13 in _local12) {
switch (_local13){
case "range":
Globals.bPowers.push(1);
Globals.rapid++;
break;
case "spread":
Globals.bPowers.push(3);
Globals.spread++;
break;
case "explode":
Globals.bPowers.push(2);
Globals.explode++;
break;
case "healthup":
Globals.MaxHealth++;
_p.health++;
break;
};
};
};
};
};
Globals.CurrentLevel = _current_level;
switch (_current_level){
case 1:
_local3 = 6;
_local2 = -1;
break;
case 2:
_local3 = 12;
_local2 = -1;
break;
};
if (_DEBUG){
Globals.bPowers.push(2);
Globals.bPowers.push(2);
Globals.bPowers.push(2);
Globals.bPowers.push(2);
Globals.bPowers.push(2);
Globals.explode = 15;
};
DefineRooms();
SwitchRooms(_local3, _local2);
Globals.Freeze = true;
FlxG.follow(_p, 1.5);
lyrBack.scrollFactor.x = (lyrBack.scrollFactor.y = 0.75);
lyrHUD.scrollFactor.x = (lyrHUD.scrollFactor.y = 0);
_treasure_text = new FlxText(136, 0, 48, 40, "0%", 4294967295, null, 8, "left");
_treasure_text.scrollFactor.x = (_treasure_text.scrollFactor.y = 0);
lyrHUD.add(_treasure_text);
_kills_text = new FlxText(100, 0, 48, 40, "0%", 4294967295, null, 8, "left");
_kills_text.scrollFactor.x = (_kills_text.scrollFactor.y = 0);
lyrHUD.add(_kills_text);
_treasure_count = new FlxSprite(ImgCollectHud, 125, 0, true, false, 12, 12);
_treasure_count.scrollFactor.x = (_treasure_count.scrollFactor.y = 0);
_treasure_count.addAnimation("off", [2]);
_treasure_count.addAnimation("on", [3]);
_treasure_count.play("off");
lyrHUD.add(_treasure_count);
_kill_count = new FlxSprite(ImgCollectHud, 89, 0, true, false, 12, 12);
_kill_count.scrollFactor.x = (_kill_count.scrollFactor.y = 0);
_kill_count.addAnimation("off", [0]);
_kill_count.addAnimation("on", [1]);
_kill_count.play("off");
lyrHUD.add(_kill_count);
_hearts_display = new FlxArray();
var _local8:Number = 0;
while (_local8 < Globals.MaxHealth) {
_local7 = new FlxSprite(ImgHearts, (2 + (_local8 * 7)), 2, true, false);
_local7.scrollFactor.x = (_local7.scrollFactor.y = 0);
_local7.addAnimation("on", [0, 0, 0, 0, 1, 2], 6);
_local7.addAnimation("off", [3, 3, 3, 3, 4, 5], 6);
_local7.play("on");
_hearts_display.add(lyrHUD.add(_local7));
_local8++;
};
_range_star_display = new FlxArray();
Globals.bPowers.sort();
var _local10:Number = 0;
while (_local10 < Globals.bPowers.length) {
_local9 = new FlxSprite(ImgBStar, (2 + (_local10 * 4)), 12, true, false);
_local9.scrollFactor.x = (_local9.scrollFactor.y = 0);
_local9.addAnimation("on_range", [0, 0, 0, 0, 0, 1, 2, 1], 6);
_local9.addAnimation("on_explode", [3, 3, 3, 3, 3, 4, 5, 4], 6);
_local9.addAnimation("on_spread", [6, 6, 6, 6, 6, 7, 8, 7], 6);
switch (Globals.bPowers[_local10]){
case 1:
_local9.play("on_range");
break;
case 2:
_local9.play("on_explode");
break;
case 3:
_local9.play("on_spread");
break;
};
_range_star_display.add(lyrHUD.add(_local9));
_local10++;
};
_rectangle = new FlxSprite(null, -(FlxG.scroll.x), -(FlxG.scroll.y), false, false, 1, 8, 4291559424);
_rectangle.visible = false;
lyrHUD.add(_rectangle);
_rectangle2 = new FlxSprite(null, -(FlxG.scroll.x), -(FlxG.scroll.y), false, false, 1, 8, 4291559424);
_rectangle2.visible = false;
_rectangle.scrollFactor.x = (_rectangle.scrollFactor.y = 0);
_rectangle2.scrollFactor.x = (_rectangle2.scrollFactor.y = 0);
lyrHUD.add(_rectangle);
imgG5.x = 112;
imgG5.y = (FlxG.height - (imgG5.height * 0.2));
FlxG.state.addChild(imgG5);
imgG5.scaleX = 0.2;
imgG5.scaleY = 0.2;
G5Link = new FlxButton(112, imgG5.y, new FlxSprite(null, 0, imgG5.y, false, false, imgG5.width, imgG5.height, 0), clickG5, null, null, null);
G5Link.scrollFactor.x = (G5Link.scrollFactor.y = 0);
FlxG.state.add(G5Link);
Mouse.show();
Globals.Freeze = false;
FlxG.canPause = true;
}
public function SwitchRooms(_arg1:int, _arg2:int, _arg3:Boolean=false):void{
Globals.Freeze = true;
if (_current_room >= 0){
_room.clearRoom(_arg3, rooms[_current_room]);
};
_room = new Room(rooms[_arg1], _arg2, _arg3);
_current_room = _arg1;
_room.buildRoom();
PRapid = Globals.rapid;
PSpread = Globals.spread;
PExplode = Globals.explode;
PMaxHealth = Globals.MaxHealth;
PPowerups = Globals.FlxSave.data.Powerups;
PEK = enemyCount[_current_level][1];
PTK = enemyCount[_current_level][3];
enteredDoor = _arg2;
Globals.Freeze = false;
lyrEffectsFront.add((_updoor = new FlxSprite(ImgOnDoor, 0, 0, true, false, 8, 8)));
_updoor.addAnimation("go", [0, 1], 5, true);
_updoor.play("go");
_updoor.visible = false;
}
private function RedrawGuns():void{
var _local1:FlxSprite;
var _local3:int;
Globals.bPowers.sort();
if (_range_star_display.length > Globals.bPowers.length){
_local3 = (_range_star_display.length - 1);
while (_local3 >= Globals.bPowers.length) {
_range_star_display[_local3].visible = false;
_local3--;
};
};
var _local2:int;
while (_local2 < Globals.bPowers.length) {
if (_local2 >= _range_star_display.length){
_local1 = new FlxSprite(ImgBStar, (2 + (_local2 * 4)), 12, true, false);
_local1.scrollFactor.x = (_local1.scrollFactor.y = 0);
_local1.addAnimation("on_range", [0, 0, 0, 0, 0, 1, 2, 1], 6);
_local1.addAnimation("on_explode", [3, 3, 3, 3, 3, 4, 5, 4], 6);
_local1.addAnimation("on_spread", [6, 6, 6, 6, 6, 7, 8, 7], 6);
_range_star_display.add(lyrHUD.add(_local1));
} else {
_local1 = _range_star_display[_local2];
};
switch (Globals.bPowers[_local2]){
case 1:
_local1.play("on_range");
break;
case 2:
_local1.play("on_explode");
break;
case 3:
_local1.play("on_spread");
break;
};
_local1.visible = true;
_local2++;
};
}
private function continueFunct():void{
bossFightState = 4;
}
private function HideHiScores():void{
bossFightState = 4;
}
private function shotBreak(_arg1:Breakables, _arg2:Bullet):void{
if ((((_arg1.health < 10)) || ((_arg2.special == 1)))){
_arg1.hurt((Globals.explode + 1));
FlxG.play(SndHit);
if ((((_arg1.health <= 0)) && ((rooms[_current_room].BreakDefs[uint((_arg1.y / 8))][uint((_arg1.x / 8))] > 0)))){
rooms[_current_room].BreakDefs[uint((_arg1.y / 8))][uint((_arg1.x / 8))] = 0;
};
};
_arg2.hit = 1;
_arg2.kill();
}
private function getTreasure(_arg1:Treasure, _arg2:Player):void{
if ((((((((((((((((rooms[_current_room].TreasureDefs[uint((_arg1.y / 8))][uint((_arg1.x / 8))] > 0)) && (!(_arg1.dead)))) && (!((_arg1.type == "elevator"))))) && (!((_arg1.type == "gunsign"))))) && (!((_arg1.type == "jumpsign"))))) && (!((_arg1.type == "shootsign"))))) && (!((_arg1.type == "beamsign"))))) && (!((_arg1.type == "goldsign"))))){
switch (_arg1.type){
case "treasure":
FlxG.play(SndCoin);
if (FlxG.kong){
FlxG.kong.kongregate.stats.submit("Coins", 1);
};
break;
case "range":
Globals.bPowers.push(1);
Globals.rapid++;
FlxG.play(SndPower);
break;
case "spread":
Globals.bPowers.push(3);
Globals.spread++;
FlxG.play(SndPower);
break;
case "explode":
Globals.bPowers.push(2);
Globals.explode++;
FlxG.play(SndPower);
break;
case "healthup":
Globals.MaxHealth++;
_p.health++;
RedrawHealth();
FlxG.play(SndPower);
break;
};
if (_arg1.type == "treasure"){
enemyCount[_current_level][3] = (enemyCount[_current_level][3] + 1);
} else {
if (Globals.FlxSave.data.Powerups == undefined){
Globals.FlxSave.data.Powerups = new Array();
};
if (Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty] == undefined){
Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty] = new Array();
};
if (Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty][_current_room] == undefined){
Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty][_current_room] = new Array();
};
if (Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty][_current_room][uint((_arg1.x / 8))] == undefined){
Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty][_current_room][uint((_arg1.x / 8))] = new Array();
};
Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty][_current_room][uint((_arg1.x / 8))][uint((_arg1.y / 8))] = _arg1.type;
};
rooms[_current_room].TreasureDefs[uint((_arg1.y / 8))][uint((_arg1.x / 8))] = 0;
_arg1.kill();
} else {
if (_arg1.type == "elevator"){
if (FlxG.kUp){
_arg2.velocity.y = -60;
_arg2.x = (_arg1.x + 1);
if ((Math.random() * 100) > 80){
FlxG.play(SndElevator);
};
};
};
};
}
private function BossHealth():void{
var _local1:Array;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
if (rooms[_current_room].Boss == -1){
return;
};
if (Globals.boss_health > 1){
if (((((!((_old_boss_health == Globals.boss_health))) || (!(_rectangle2.visible)))) || ((update_boss_health == 1)))){
update_boss_health = 0;
_rectangle.kill();
_rectangle2.kill();
_rectangle = new FlxSprite(null, (-(FlxG.scroll.x) + 5), (-(FlxG.scroll.y) + 116), false, false, (Globals.boss_health * 1), 4, 4291559424);
_rectangle2 = new FlxSprite(null, (-(FlxG.scroll.x) + 4), (-(FlxG.scroll.y) + 116), false, false, ((Globals.boss_health * 1) + 2), 6, 4281532416);
lyrHUD.add(_rectangle2);
lyrHUD.add(_rectangle);
_rectangle2.visible = true;
_rectangle.visible = true;
};
bossFightState = 1;
} else {
if (Globals.boss_health <= 0){
Globals.boss_health = 0;
_rectangle2.visible = false;
_rectangle.visible = false;
if (bossFightState == 1){
Globals.PFreeze = true;
bossFightState = 2;
bossDieCounter = 3;
FlxG.stopMusic();
} else {
if (bossFightState == 2){
if (bossDieCounter > 0){
bossDieCounter = (bossDieCounter - FlxG.elapsed);
} else {
bossFightState = 3;
bossDieCounter = 0;
};
} else {
if (bossFightState == 3){
Globals.Freeze = true;
Globals.PFreeze = false;
if (_current_room == 17){
SwitchRooms(18, -1);
return;
};
_local1 = new Array();
_local2 = 0;
_local3 = 0;
_local4 = 0;
_local5 = 0;
_local2 = enemyCount[_current_level][0];
_local4 = enemyCount[_current_level][1];
_local3 = enemyCount[_current_level][2];
_local5 = enemyCount[_current_level][3];
if ((((((((_local4 / _local2) * 100) >= 90)) && ((((_local5 / _local3) * 100) >= 90)))) && ((Globals.CurrentDifficulty == 0)))){
switch (rooms[_current_room].Boss){
case 1:
if (Globals.GiveMedal(0)){
_local1.push(0);
};
break;
case 2:
if (Globals.GiveMedal(1)){
_local1.push(1);
};
break;
case 3:
if (Globals.GiveMedal(2)){
_local1.push(2);
};
break;
};
};
if ((((((((_local4 / _local2) * 100) >= 100)) && ((((_local5 / _local3) * 100) >= 100)))) && ((Globals.CurrentDifficulty == 1)))){
switch (rooms[_current_room].Boss){
case 1:
if (Globals.GiveMedal(3)){
_local1.push(3);
};
break;
case 2:
if (Globals.GiveMedal(4)){
_local1.push(4);
};
break;
case 3:
if (Globals.GiveMedal(5)){
_local1.push(5);
};
break;
};
};
if (bossDieCounter == 0){
vicScr = new VictoryScreen(_local2, _local4, _local3, _local5, _local1);
Globals.JustCleared = true;
Globals.SaveGame(_current_level);
bossDieCounter = 1;
FlxG.canPause = false;
};
if (bossDieCounter == 1){
FlxG.state.add(new FlxButton(62, 105, new FlxSprite(ImgContinue, 0, 0), continueFunct, new FlxSprite(ImgContinue2, 0, 0)));
FlxG.state.add((submit_button = new FlxButton(5, 105, new FlxSprite(ImgSubmit, 0, 0), submitScore, new FlxSprite(ImgSubmit2, 0, 0))));
bossDieCounter = 2;
};
if (bossDieCounter == 999){
bossDieCounter = 1000;
lyrHUD.add(new FlxSprite(null, 0, 0, false, false, (FlxG.width + 20), (FlxG.height + 20), 4278190080));
Globals.updateHiScore(_current_level, ((((_local4 / _local2) * 100) + ((_local5 / _local3) * 100)) / 2));
};
} else {
if (bossFightState == 4){
Globals.hiScores.visible = false;
Globals.hiScoresShown = false;
bossFightState = 5;
};
};
};
};
if (bossFightState == 5){
bossFightState = 0;
_old_boss_health = 0;
Globals.Freeze = false;
Globals.bPowers = new Array();
Globals.rapid = 0;
Globals.spread = 0;
Globals.explode = 0;
Globals.MaxHealth = 5;
FlxG.state.removeChild(imgG5);
G5Link.kill();
if (_current_level == 2){
FlxG.switchState(CreditState);
} else {
FlxG.switchState(MenuState);
};
};
};
};
}
private function clickG5():void{
FlxG.openURL("http://www.gimme5games.com/?ref=blasting");
}
private function PlayerOnDoor(_arg1:Door, _arg2:Player):void{
onDoor = true;
toDoor[0] = _arg1.toRoom;
toDoor[1] = _arg1.toDoor;
}
private function shotEnemy(_arg1:Enemy, _arg2:Bullet):void{
if (((((!(_arg1.dead)) && (_arg1.visible))) && (!(_arg1.harmless)))){
if (_arg2.special == 1){
_arg1.hurt(10);
} else {
_arg1.hurt((Globals.explode + 1));
};
_arg1.move_mode = _arg1.mode_seeplayer;
_arg1.seeplayer_counter = _arg1.seeplayer_set;
if ((((_arg1.health <= 0)) && ((rooms[_current_room].EnemyDefs[uint((_arg1.sY / 8))][uint((_arg1.sX / 8))] > 0)))){
if (FlxG.kong){
FlxG.kong.kongregate.stats.submit("Kills", 1);
};
rooms[_current_room].EnemyDefs[uint((_arg1.sY / 8))][uint((_arg1.sX / 8))] = 0;
if (!_arg1.isBoss){
enemyCount[_current_level][1] = (enemyCount[_current_level][1] + 1);
};
};
FlxG.play(SndHit);
_arg2.hit = 1;
_arg2.kill();
};
}
override public function update():void{
var _local3:int;
var _local4:int;
var _local1:Number = _p.health;
_old_kills = _tmpEK;
_old_treasure = _tmpTK;
var _local2:Number = Globals.bPowers.length;
_old_boss_health = Globals.boss_health;
_rectangle.x = (-(FlxG.scroll.x) + 5);
_rectangle.y = (-(FlxG.scroll.y) + 116);
_rectangle2.x = (-(FlxG.scroll.x) + 4);
_rectangle2.y = (-(FlxG.scroll.y) + 115);
super.update();
if (roomSwitch){
roomSwitch = false;
onDoor = false;
SwitchRooms(toDoor[0], toDoor[1]);
};
onDoor = false;
_room.mapWalls.collide(_p);
FlxG.collideArray2(_room.mapWalls, _room.enemies);
FlxG.collideArray2(_room.mapWalls, _eBullets);
FlxG.collideArrays(_room.breaks, _eBullets);
FlxG.collideArrays(_room.breaks, _room.enemies);
FlxG.collideArray(_room.breaks, _p);
FlxG.collideArray2(_room.mapWalls, _pBullets);
FlxG.overlapArray(_room.treasures, _p, getTreasure);
FlxG.overlapArrays(_room.enemies, _pBullets, shotEnemy);
FlxG.overlapArrays(_room.breaks, _pBullets, shotBreak);
FlxG.overlapArray(_room.enemies, _p, PlayerBumpsEnemy);
FlxG.overlapArray(_eBullets, _p, EnemyShootsPlayer);
FlxG.overlapArray(_pickups, _p, PlayerPickup);
FlxG.overlapArray(_room.doors, _p, PlayerOnDoor);
_updoor.x = (_p.x - 2);
_updoor.y = (_p.y - 12);
_updoor.visible = onDoor;
if (_local1 != _p.health){
RedrawHealth();
if (_p.health <= 0){
FlxG.fade(4288269567, 0.75, onDeath);
};
};
if (_local2 != Globals.bPowers.length){
RedrawGuns();
};
_tmpE = enemyCount[_current_level][0];
_tmpT = enemyCount[_current_level][2];
_tmpEK = enemyCount[_current_level][1];
_tmpTK = enemyCount[_current_level][3];
if (_old_kills != _tmpEK){
_local3 = ((_tmpEK / _tmpE) * 100);
_kills_text.setText((_local3.toString() + "%"));
};
if (_old_treasure != _tmpTK){
_local4 = ((_tmpTK / _tmpT) * 100);
_treasure_text.setText((_local4.toString() + "%"));
};
BossHealth();
}
private function PlayerPickup(_arg1:HealthUp, _arg2:Player):void{
if (((_arg1.exists) && (!(_arg1.dead)))){
_arg1.kill();
if (_arg2.health != Globals.MaxHealth){
_arg2.health++;
};
FlxG.play(SndPower);
};
}
private function RedrawHealth():void{
var _local2:FlxSprite;
var _local3:Number;
var _local4:Number;
var _local5:int;
if (_hearts_display.length < Globals.MaxHealth){
_local3 = _hearts_display.length;
while (_local3 < Globals.MaxHealth) {
_local2 = new FlxSprite(ImgHearts, (2 + (_local3 * 7)), 2, true, false);
_local2.scrollFactor.x = (_local2.scrollFactor.y = 0);
_local2.addAnimation("on", [0, 0, 0, 0, 0, 0, 0, 0, 1, 2], 6);
_local2.addAnimation("off", [3, 3, 3, 3, 3, 3, 3, 3, 4, 5], 6);
_local2.play("on", true);
_local2._curFrame = _hearts_display[0]._curFrame;
_hearts_display.add(lyrHUD.add(_local2));
_local3++;
};
} else {
if (_hearts_display.length > Globals.MaxHealth){
_local4 = Globals.MaxHealth;
while (_local4 < _hearts_display.length) {
_hearts_display[(_hearts_display.length - 1)].kill();
_hearts_display.pop();
_local4++;
};
};
};
var _local1:Number = 0;
while (_local1 < Globals.MaxHealth) {
_local5 = _hearts_display[_local1]._curFrame;
if (_local1 >= _p.health){
_hearts_display[_local1].play("off", true);
if (_local5 < 3){
(_hearts_display[_local1]._curFrame + 3);
};
} else {
_hearts_display[_local1].play("on", true);
if (_local5 > 2){
(_hearts_display[_local1]._curFrame - 3);
};
};
_local1++;
};
}
private function submitScore():void{
bossDieCounter = 999;
submit_button.kill();
}
private function PlayerBumpsEnemy(_arg1:Enemy, _arg2:Player):void{
if (((_arg1.visible) && (!(_arg1.harmless)))){
if (((((((_arg2.y + _arg2.height) > (_arg1.y - 2))) && (((_arg2.y + _arg2.height) < (_arg1.y + 4))))) && (_arg1.weakhead))){
_arg2.velocity.y = -120;
_arg1.hurt(1);
FlxG.play(SndHit);
_arg1.move_mode = _arg1.mode_seeplayer;
_arg1.seeplayer_counter = _arg1.seeplayer_set;
if ((((_arg1.health <= 0)) && ((rooms[_current_room].EnemyDefs[uint((_arg1.sY / 8))][uint((_arg1.sX / 8))] > 0)))){
rooms[_current_room].EnemyDefs[uint((_arg1.sY / 8))][uint((_arg1.sX / 8))] = 0;
if (!_arg1.isBoss){
enemyCount[_current_level][1] = (enemyCount[_current_level][1] + 1);
};
};
} else {
if (_arg2.hurt_counter <= 0){
_arg2.hurt(1);
if (_arg1.x > _arg2.x){
_arg2.velocity.x = -120;
} else {
_arg2.velocity.x = 120;
};
_arg2.velocity.y = -120;
};
};
};
}
private function EnemyShootsPlayer(_arg1:EnemyBullet, _arg2:Player):void{
if (_arg2.hurt_counter <= 0){
_arg2.hurt(1);
if (_arg1.x > _arg2.x){
_arg2.velocity.x = -120;
} else {
_arg2.velocity.x = 120;
};
};
_arg1.hit = 1;
_arg1.kill();
}
private function onDeath():void{
Globals.Freeze = true;
Globals.rapid = PRapid;
Globals.spread = PSpread;
Globals.explode = PExplode;
Globals.MaxHealth = PMaxHealth;
Globals.FlxSave.data.Powerups = PPowerups;
enemyCount[_current_level][1] = PEK;
enemyCount[_current_level][3] = PTK;
PlayState._pBullets.clear();
PlayState._eBullets.clear();
Globals.bPowers.length = 0;
var _local1:int;
_local1 = 0;
while (_local1 < Globals.rapid) {
Globals.bPowers.push(1);
_local1++;
};
_local1 = 0;
while (_local1 < Globals.spread) {
Globals.bPowers.push(3);
_local1++;
};
_local1 = 0;
while (_local1 < Globals.explode) {
Globals.bPowers.push(2);
_local1++;
};
_p.reset();
RedrawHealth();
RedrawGuns();
SwitchRooms(_current_room, enteredDoor, true);
FlxG.fade(0, 0, null, true);
FlxG.pause_game = 1;
}
private function DefineRooms():void{
rooms = new FlxArray();
enemyCount = new Array();
var _local1:FlxArray = new FlxArray();
_local1.add(new BackDef(null, 0, 0, 4280427042));
_local1.add(new BackDef(ImgMtns, 0, 120));
_local1.add(new BackDef(null, 0, 0, 570425344));
_local1.add(new BackDef(ImgMtns, 0, 120));
_local1.add(new BackDef(null, 0, 0, 570425344));
_local1.add(new BackDef(ImgMtns, 0, 120));
_local1.add(new BackDef(ImgMtns, 0, 120));
var _local2:FlxArray = new FlxArray();
_local2.add(new BackDef(null, 0, 0, 4278190080));
_local2.add(new BackDef(ImgCaveBacks, 0, 0));
_local2.add(new BackDef(null, 0, 0, 2852126720));
var _local3:FlxArray = new FlxArray();
_local3.add(new BackDef(null, 0, 0, 4278190080));
var _local4:FlxArray = new FlxArray();
_local4.add(new DoorList(0, (103 * 8), (15 * 8), 1, 0));
rooms.add(new RoomDef(0, Map0101Back, ImgRoom1Tiles, Map0101Wall, ImgRoom1Tiles, new Map0101Treas(), new Map0101Enemy(), _local4, new Map0101Break(), _local1, SndWind, 5, 1, 2, 1));
enemyCount[0] = new Array();
enemyCount[0][0] = rooms[0].ECount;
enemyCount[0][1] = 0;
enemyCount[0][2] = rooms[0].TCount;
enemyCount[0][3] = 0;
_local4 = new FlxArray();
_local4.add(new DoorList(0, (1 * 8), (34 * 8), 0, 0));
_local4.add(new DoorList(1, (96 * 8), (35 * 8), 2, 0));
rooms.add(new RoomDef(1, Map0102Back, ImgRoom1Tiles, Map0102Wall, ImgRoom1Tiles, new Map0102Treas(), new Map0102Enemy(), _local4, new Map0102Break(), _local1, MusLvl1Ext, 5, 1));
enemyCount[0][2] = (enemyCount[0][2] + rooms[1].TCount);
enemyCount[0][0] = (enemyCount[0][0] + rooms[1].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (3 * 8), (8 * 8), 1, 1));
_local4.add(new DoorList(1, (2 * 8), (57 * 8), 3, 0));
_local4.add(new DoorList(2, (76 * 8), (57 * 8), 4, 0));
rooms.add(new RoomDef(2, Map0103Back, ImgTiles, Map0103Wall, ImgTiles, new Map0103Treas(), new Map0103Enemy(), _local4, new Map0103Break(), _local2, MusLvl1Int, 33, 2, 3, 8));
enemyCount[0][2] = (enemyCount[0][2] + rooms[2].TCount);
enemyCount[0][0] = (enemyCount[0][0] + rooms[2].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (4 * 8), (27 * 8), 2, 1));
rooms.add(new RoomDef(3, Map0104Back, ImgTiles, Map0104Wall, ImgTiles, new Map0104Treas(), new Map0104Enemy(), _local4, new Map0104Break(), _local2, MusLvl1Int, 33, 2));
enemyCount[0][2] = (enemyCount[0][2] + rooms[3].TCount);
enemyCount[0][0] = (enemyCount[0][0] + rooms[3].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (1 * 8), (15 * 8), 2, 2));
_local4.add(new DoorList(1, (38 * 8), (14 * 8), 5, -1));
rooms.add(new RoomDef(4, Map0106Back, ImgRoom1Tiles, Map0106Wall, ImgRoom1Tiles, new Map0106Treas(), new Map0106Enemy(), _local4, new Map0106Break(), _local1, MusLvl1Ext, 5, 1));
enemyCount[0][2] = (enemyCount[0][2] + rooms[4].TCount);
enemyCount[0][0] = (enemyCount[0][0] + rooms[4].ECount);
_local4 = new FlxArray();
rooms.add(new RoomDef(5, Map0105Back, ImgRoom1Tiles, Map0105Wall, ImgRoom1Tiles, new Map0105Treas(), new Map0105Enemy(), _local4, new Map0105Break(), _local1, MusBoss, 5, 1, 2, 12, 1));
enemyCount[0][2] = (enemyCount[0][2] + rooms[5].TCount);
enemyCount[0][0] = (enemyCount[0][0] + rooms[5].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (37 * 8), (4 * 8), 7, 0));
rooms.add(new RoomDef(6, Map0201Back, ImgTiles, Map0201Wall, ImgTiles, new Map0201Treas(), new Map0201Enemy(), _local4, new Map0201Break(), _local2, MusLvl2, 34, 0, 13, 58));
enemyCount[1] = new Array();
enemyCount[1][0] = rooms[6].ECount;
enemyCount[1][1] = 0;
enemyCount[1][2] = rooms[6].TCount;
enemyCount[1][3] = 0;
_local4 = new FlxArray();
_local4.add(new DoorList(0, (5 * 8), (18 * 8), 6, 0));
_local4.add(new DoorList(1, (57 * 8), (17 * 8), 9, 0));
_local4.add(new DoorList(2, (12 * 8), (7 * 8), 8, 0));
rooms.add(new RoomDef(7, Map0202Back, ImgTiles, Map0202Wall, ImgTiles, new Map0202Treas(), new Map0202Enemy(), _local4, new Map0202Break(), _local2, MusLvl2, 34, 2));
enemyCount[1][2] = (enemyCount[1][2] + rooms[7].TCount);
enemyCount[1][0] = (enemyCount[1][0] + rooms[7].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (6 * 8), (15 * 8), 7, 2));
rooms.add(new RoomDef(8, Map0205Back, ImgTiles, Map0205Wall, ImgTiles, new Map0205Treas(), new Map0205Enemy(), _local4, new Map0205Break(), _local2, MusLvl2, 34, 2));
enemyCount[1][2] = (enemyCount[1][2] + rooms[8].TCount);
enemyCount[1][0] = (enemyCount[1][0] + rooms[8].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (4 * 8), (8 * 8), 7, 1));
_local4.add(new DoorList(1, (37 * 8), (42 * 8), 10, 0));
rooms.add(new RoomDef(9, Map0203Back, ImgTiles, Map0203Wall, ImgTiles, new Map0203Treas(), new Map0203Enemy(), _local4, new Map0203Break(), _local2, MusLvl2, 34, 2));
enemyCount[1][2] = (enemyCount[1][2] + rooms[9].TCount);
enemyCount[1][0] = (enemyCount[1][0] + rooms[9].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (37 * 8), (5 * 8), 9, 1));
_local4.add(new DoorList(1, (16 * 8), (38 * 8), 11, -1));
rooms.add(new RoomDef(10, Map0206Back, ImgTiles, Map0206Wall, ImgTiles, new Map0206Treas(), new Map0206Enemy(), _local4, new Map0206Break(), _local2, MusLvl2, 34, 2));
enemyCount[1][2] = (enemyCount[1][2] + rooms[10].TCount);
enemyCount[1][0] = (enemyCount[1][0] + rooms[10].ECount);
_local4 = new FlxArray();
rooms.add(new RoomDef(11, Map0204Back, ImgTiles, Map0204Wall, ImgTiles, new Map0204Treas(), new Map0204Enemy(), _local4, new Map0204Break(), _local2, MusBoss, 34, 0, 3, 23, 2));
enemyCount[1][2] = (enemyCount[1][2] + rooms[11].TCount);
enemyCount[1][0] = (enemyCount[1][0] + rooms[11].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (15 * 8), (9 * 8), 13, 0));
rooms.add(new RoomDef(12, Map0301Back, ImgTiles, Map0301Wall, ImgTiles, new Map0301Treas(), new Map0301Enemy(), _local4, new Map0301Break(), _local2, MusLvl3, 34, 3, 4, 27));
enemyCount[2] = new Array();
enemyCount[2][0] = rooms[12].ECount;
enemyCount[2][1] = 0;
enemyCount[2][2] = rooms[12].TCount;
enemyCount[2][3] = 0;
_local4 = new FlxArray();
_local4.add(new DoorList(0, (45 * 8), (8 * 8), 12, 0));
_local4.add(new DoorList(1, (5 * 8), (14 * 8), 14, 0));
_local4.add(new DoorList(2, (76 * 8), (9 * 8), 15, 0));
rooms.add(new RoomDef(13, Map0302Back, ImgTiles, Map0302Wall, ImgTiles, new Map0302Treas(), new Map0302Enemy(), _local4, new Map0302Break(), _local2, MusLvl3, 34, 3, 2, 3));
enemyCount[2][2] = (enemyCount[2][2] + rooms[13].TCount);
enemyCount[2][0] = (enemyCount[2][0] + rooms[13].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (2 * 8), (3 * 8), 13, 1));
rooms.add(new RoomDef(14, Map0303Back, ImgTiles, Map0303Wall, ImgTiles, new Map0303Treas(), new Map0303Enemy(), _local4, new Map0303Break(), _local2, MusLvl3, 34, 3, 2, 3));
enemyCount[2][2] = (enemyCount[2][2] + rooms[14].TCount);
enemyCount[2][0] = (enemyCount[2][0] + rooms[14].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (22 * 8), (6 * 8), 13, 2));
_local4.add(new DoorList(1, (56 * 8), (34 * 8), 16, 0));
rooms.add(new RoomDef(15, Map0304Back, ImgTiles, Map0304Wall, ImgTiles, new Map0304Treas(), new Map0304Enemy(), _local4, new Map0304Break(), _local2, MusLvl3, 34, 3, 2, 3));
enemyCount[2][2] = (enemyCount[2][2] + rooms[15].TCount);
enemyCount[2][0] = (enemyCount[2][0] + rooms[15].ECount);
_local4 = new FlxArray();
_local4.add(new DoorList(0, (13 * 8), (9 * 8), 15, 1));
_local4.add(new DoorList(1, (107 * 8), (12 * 8), 17, -1));
rooms.add(new RoomDef(16, Map0305Back, ImgTiles, Map0305Wall, ImgTiles, new Map0305Treas(), new Map0305Enemy(), _local4, new Map0305Break(), _local2, MusLvl3, 34, 3, 2, 3));
enemyCount[2][2] = (enemyCount[2][2] + rooms[16].TCount);
enemyCount[2][0] = (enemyCount[2][0] + rooms[16].ECount);
_local4 = new FlxArray();
rooms.add(new RoomDef(17, Map0306Back, ImgTiles, Map0306Wall, ImgTiles, new Map0306Treas(), new Map0306Enemy(), _local4, new Map0306Break(), _local3, MusBoss, 34, 3, 5, 13, 4));
enemyCount[2][2] = (enemyCount[2][2] + rooms[17].TCount);
enemyCount[2][0] = (enemyCount[2][0] + rooms[17].ECount);
_local4 = new FlxArray();
rooms.add(new RoomDef(18, MapFinalBack, ImgTiles, MapFinalWall, ImgTiles, new MapFinalTreas(), new MapFinalEnemy(), _local4, new MapFinalBreak(), _local3, MusBoss2, 34, 3, 19, 6, 3));
enemyCount[2][2] = (enemyCount[2][2] + rooms[18].TCount);
enemyCount[2][0] = (enemyCount[2][0] + rooms[18].ECount);
}
}
}//package com.ProjUno
Section 199
//PlayState_ImgBacks (com.ProjUno.PlayState_ImgBacks)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgBacks extends BitmapAsset {
}
}//package com.ProjUno
Section 200
//PlayState_ImgBStar (com.ProjUno.PlayState_ImgBStar)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgBStar extends BitmapAsset {
}
}//package com.ProjUno
Section 201
//PlayState_ImgCaveBacks (com.ProjUno.PlayState_ImgCaveBacks)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgCaveBacks extends BitmapAsset {
}
}//package com.ProjUno
Section 202
//PlayState_ImgCollectHud (com.ProjUno.PlayState_ImgCollectHud)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgCollectHud extends BitmapAsset {
}
}//package com.ProjUno
Section 203
//PlayState_ImgContinue (com.ProjUno.PlayState_ImgContinue)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgContinue extends BitmapAsset {
}
}//package com.ProjUno
Section 204
//PlayState_ImgContinue2 (com.ProjUno.PlayState_ImgContinue2)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgContinue2 extends BitmapAsset {
}
}//package com.ProjUno
Section 205
//PlayState_ImgG5Logo (com.ProjUno.PlayState_ImgG5Logo)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgG5Logo extends SpriteAsset {
}
}//package com.ProjUno
Section 206
//PlayState_ImgHearts (com.ProjUno.PlayState_ImgHearts)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgHearts extends BitmapAsset {
}
}//package com.ProjUno
Section 207
//PlayState_ImgMtns (com.ProjUno.PlayState_ImgMtns)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgMtns extends BitmapAsset {
}
}//package com.ProjUno
Section 208
//PlayState_ImgMtns2 (com.ProjUno.PlayState_ImgMtns2)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgMtns2 extends BitmapAsset {
}
}//package com.ProjUno
Section 209
//PlayState_ImgOnDoor (com.ProjUno.PlayState_ImgOnDoor)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgOnDoor extends BitmapAsset {
}
}//package com.ProjUno
Section 210
//PlayState_ImgRoom1Tiles (com.ProjUno.PlayState_ImgRoom1Tiles)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgRoom1Tiles extends BitmapAsset {
}
}//package com.ProjUno
Section 211
//PlayState_ImgSubmit (com.ProjUno.PlayState_ImgSubmit)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgSubmit extends BitmapAsset {
}
}//package com.ProjUno
Section 212
//PlayState_ImgSubmit2 (com.ProjUno.PlayState_ImgSubmit2)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgSubmit2 extends BitmapAsset {
}
}//package com.ProjUno
Section 213
//PlayState_ImgTiles (com.ProjUno.PlayState_ImgTiles)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgTiles extends BitmapAsset {
}
}//package com.ProjUno
Section 214
//PlayState_ImgTrees (com.ProjUno.PlayState_ImgTrees)
package com.ProjUno {
import mx.core.*;
public class PlayState_ImgTrees extends BitmapAsset {
}
}//package com.ProjUno
Section 215
//PlayState_Map0101Back (com.ProjUno.PlayState_Map0101Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0101Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 216
//PlayState_Map0101Break (com.ProjUno.PlayState_Map0101Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0101Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 217
//PlayState_Map0101Enemy (com.ProjUno.PlayState_Map0101Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0101Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 218
//PlayState_Map0101Treas (com.ProjUno.PlayState_Map0101Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0101Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 219
//PlayState_Map0101Wall (com.ProjUno.PlayState_Map0101Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0101Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 220
//PlayState_Map0102Back (com.ProjUno.PlayState_Map0102Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0102Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 221
//PlayState_Map0102Break (com.ProjUno.PlayState_Map0102Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0102Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 222
//PlayState_Map0102Enemy (com.ProjUno.PlayState_Map0102Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0102Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 223
//PlayState_Map0102Treas (com.ProjUno.PlayState_Map0102Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0102Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 224
//PlayState_Map0102Wall (com.ProjUno.PlayState_Map0102Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0102Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 225
//PlayState_Map0103Back (com.ProjUno.PlayState_Map0103Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0103Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 226
//PlayState_Map0103Break (com.ProjUno.PlayState_Map0103Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0103Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 227
//PlayState_Map0103Enemy (com.ProjUno.PlayState_Map0103Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0103Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 228
//PlayState_Map0103Treas (com.ProjUno.PlayState_Map0103Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0103Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 229
//PlayState_Map0103Wall (com.ProjUno.PlayState_Map0103Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0103Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 230
//PlayState_Map0104Back (com.ProjUno.PlayState_Map0104Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0104Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 231
//PlayState_Map0104Break (com.ProjUno.PlayState_Map0104Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0104Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 232
//PlayState_Map0104Enemy (com.ProjUno.PlayState_Map0104Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0104Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 233
//PlayState_Map0104Treas (com.ProjUno.PlayState_Map0104Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0104Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 234
//PlayState_Map0104Wall (com.ProjUno.PlayState_Map0104Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0104Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 235
//PlayState_Map0105Back (com.ProjUno.PlayState_Map0105Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0105Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 236
//PlayState_Map0105Break (com.ProjUno.PlayState_Map0105Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0105Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 237
//PlayState_Map0105Enemy (com.ProjUno.PlayState_Map0105Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0105Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 238
//PlayState_Map0105Treas (com.ProjUno.PlayState_Map0105Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0105Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 239
//PlayState_Map0105Wall (com.ProjUno.PlayState_Map0105Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0105Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 240
//PlayState_Map0106Back (com.ProjUno.PlayState_Map0106Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0106Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 241
//PlayState_Map0106Break (com.ProjUno.PlayState_Map0106Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0106Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 242
//PlayState_Map0106Enemy (com.ProjUno.PlayState_Map0106Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0106Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 243
//PlayState_Map0106Treas (com.ProjUno.PlayState_Map0106Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0106Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 244
//PlayState_Map0106Wall (com.ProjUno.PlayState_Map0106Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0106Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 245
//PlayState_Map0201Back (com.ProjUno.PlayState_Map0201Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0201Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 246
//PlayState_Map0201Break (com.ProjUno.PlayState_Map0201Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0201Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 247
//PlayState_Map0201Enemy (com.ProjUno.PlayState_Map0201Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0201Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 248
//PlayState_Map0201Treas (com.ProjUno.PlayState_Map0201Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0201Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 249
//PlayState_Map0201Wall (com.ProjUno.PlayState_Map0201Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0201Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 250
//PlayState_Map0202Back (com.ProjUno.PlayState_Map0202Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0202Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 251
//PlayState_Map0202Break (com.ProjUno.PlayState_Map0202Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0202Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 252
//PlayState_Map0202Enemy (com.ProjUno.PlayState_Map0202Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0202Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 253
//PlayState_Map0202Treas (com.ProjUno.PlayState_Map0202Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0202Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 254
//PlayState_Map0202Wall (com.ProjUno.PlayState_Map0202Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0202Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 255
//PlayState_Map0203Back (com.ProjUno.PlayState_Map0203Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0203Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 256
//PlayState_Map0203Break (com.ProjUno.PlayState_Map0203Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0203Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 257
//PlayState_Map0203Enemy (com.ProjUno.PlayState_Map0203Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0203Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 258
//PlayState_Map0203Treas (com.ProjUno.PlayState_Map0203Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0203Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 259
//PlayState_Map0203Wall (com.ProjUno.PlayState_Map0203Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0203Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 260
//PlayState_Map0204Back (com.ProjUno.PlayState_Map0204Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0204Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 261
//PlayState_Map0204Break (com.ProjUno.PlayState_Map0204Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0204Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 262
//PlayState_Map0204Enemy (com.ProjUno.PlayState_Map0204Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0204Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 263
//PlayState_Map0204Treas (com.ProjUno.PlayState_Map0204Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0204Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 264
//PlayState_Map0204Wall (com.ProjUno.PlayState_Map0204Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0204Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 265
//PlayState_Map0205Back (com.ProjUno.PlayState_Map0205Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0205Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 266
//PlayState_Map0205Break (com.ProjUno.PlayState_Map0205Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0205Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 267
//PlayState_Map0205Enemy (com.ProjUno.PlayState_Map0205Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0205Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 268
//PlayState_Map0205Treas (com.ProjUno.PlayState_Map0205Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0205Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 269
//PlayState_Map0205Wall (com.ProjUno.PlayState_Map0205Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0205Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 270
//PlayState_Map0206Back (com.ProjUno.PlayState_Map0206Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0206Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 271
//PlayState_Map0206Break (com.ProjUno.PlayState_Map0206Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0206Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 272
//PlayState_Map0206Enemy (com.ProjUno.PlayState_Map0206Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0206Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 273
//PlayState_Map0206Treas (com.ProjUno.PlayState_Map0206Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0206Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 274
//PlayState_Map0206Wall (com.ProjUno.PlayState_Map0206Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0206Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 275
//PlayState_Map0301Back (com.ProjUno.PlayState_Map0301Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0301Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 276
//PlayState_Map0301Break (com.ProjUno.PlayState_Map0301Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0301Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 277
//PlayState_Map0301Enemy (com.ProjUno.PlayState_Map0301Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0301Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 278
//PlayState_Map0301Treas (com.ProjUno.PlayState_Map0301Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0301Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 279
//PlayState_Map0301Wall (com.ProjUno.PlayState_Map0301Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0301Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 280
//PlayState_Map0302Back (com.ProjUno.PlayState_Map0302Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0302Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 281
//PlayState_Map0302Break (com.ProjUno.PlayState_Map0302Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0302Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 282
//PlayState_Map0302Enemy (com.ProjUno.PlayState_Map0302Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0302Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 283
//PlayState_Map0302Treas (com.ProjUno.PlayState_Map0302Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0302Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 284
//PlayState_Map0302Wall (com.ProjUno.PlayState_Map0302Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0302Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 285
//PlayState_Map0303Back (com.ProjUno.PlayState_Map0303Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0303Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 286
//PlayState_Map0303Break (com.ProjUno.PlayState_Map0303Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0303Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 287
//PlayState_Map0303Enemy (com.ProjUno.PlayState_Map0303Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0303Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 288
//PlayState_Map0303Treas (com.ProjUno.PlayState_Map0303Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0303Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 289
//PlayState_Map0303Wall (com.ProjUno.PlayState_Map0303Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0303Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 290
//PlayState_Map0304Back (com.ProjUno.PlayState_Map0304Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0304Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 291
//PlayState_Map0304Break (com.ProjUno.PlayState_Map0304Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0304Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 292
//PlayState_Map0304Enemy (com.ProjUno.PlayState_Map0304Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0304Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 293
//PlayState_Map0304Treas (com.ProjUno.PlayState_Map0304Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0304Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 294
//PlayState_Map0304Wall (com.ProjUno.PlayState_Map0304Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0304Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 295
//PlayState_Map0305Back (com.ProjUno.PlayState_Map0305Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0305Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 296
//PlayState_Map0305Break (com.ProjUno.PlayState_Map0305Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0305Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 297
//PlayState_Map0305Enemy (com.ProjUno.PlayState_Map0305Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0305Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 298
//PlayState_Map0305Treas (com.ProjUno.PlayState_Map0305Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0305Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 299
//PlayState_Map0305Wall (com.ProjUno.PlayState_Map0305Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0305Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 300
//PlayState_Map0306Back (com.ProjUno.PlayState_Map0306Back)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0306Back extends ByteArrayAsset {
}
}//package com.ProjUno
Section 301
//PlayState_Map0306Break (com.ProjUno.PlayState_Map0306Break)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0306Break extends ByteArrayAsset {
}
}//package com.ProjUno
Section 302
//PlayState_Map0306Enemy (com.ProjUno.PlayState_Map0306Enemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0306Enemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 303
//PlayState_Map0306Treas (com.ProjUno.PlayState_Map0306Treas)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0306Treas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 304
//PlayState_Map0306Wall (com.ProjUno.PlayState_Map0306Wall)
package com.ProjUno {
import mx.core.*;
public class PlayState_Map0306Wall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 305
//PlayState_MapFinalBack (com.ProjUno.PlayState_MapFinalBack)
package com.ProjUno {
import mx.core.*;
public class PlayState_MapFinalBack extends ByteArrayAsset {
}
}//package com.ProjUno
Section 306
//PlayState_MapFinalBreak (com.ProjUno.PlayState_MapFinalBreak)
package com.ProjUno {
import mx.core.*;
public class PlayState_MapFinalBreak extends ByteArrayAsset {
}
}//package com.ProjUno
Section 307
//PlayState_MapFinalEnemy (com.ProjUno.PlayState_MapFinalEnemy)
package com.ProjUno {
import mx.core.*;
public class PlayState_MapFinalEnemy extends ByteArrayAsset {
}
}//package com.ProjUno
Section 308
//PlayState_MapFinalTreas (com.ProjUno.PlayState_MapFinalTreas)
package com.ProjUno {
import mx.core.*;
public class PlayState_MapFinalTreas extends ByteArrayAsset {
}
}//package com.ProjUno
Section 309
//PlayState_MapFinalWall (com.ProjUno.PlayState_MapFinalWall)
package com.ProjUno {
import mx.core.*;
public class PlayState_MapFinalWall extends ByteArrayAsset {
}
}//package com.ProjUno
Section 310
//PlayState_MusBoss (com.ProjUno.PlayState_MusBoss)
package com.ProjUno {
import mx.core.*;
public class PlayState_MusBoss extends SoundAsset {
}
}//package com.ProjUno
Section 311
//PlayState_MusBoss2 (com.ProjUno.PlayState_MusBoss2)
package com.ProjUno {
import mx.core.*;
public class PlayState_MusBoss2 extends SoundAsset {
}
}//package com.ProjUno
Section 312
//PlayState_MusLvl1Ext (com.ProjUno.PlayState_MusLvl1Ext)
package com.ProjUno {
import mx.core.*;
public class PlayState_MusLvl1Ext extends SoundAsset {
}
}//package com.ProjUno
Section 313
//PlayState_MusLvl1Int (com.ProjUno.PlayState_MusLvl1Int)
package com.ProjUno {
import mx.core.*;
public class PlayState_MusLvl1Int extends SoundAsset {
}
}//package com.ProjUno
Section 314
//PlayState_MusLvl2 (com.ProjUno.PlayState_MusLvl2)
package com.ProjUno {
import mx.core.*;
public class PlayState_MusLvl2 extends SoundAsset {
}
}//package com.ProjUno
Section 315
//PlayState_MusLvl3 (com.ProjUno.PlayState_MusLvl3)
package com.ProjUno {
import mx.core.*;
public class PlayState_MusLvl3 extends SoundAsset {
}
}//package com.ProjUno
Section 316
//PlayState_SndCoin (com.ProjUno.PlayState_SndCoin)
package com.ProjUno {
import mx.core.*;
public class PlayState_SndCoin extends SoundAsset {
}
}//package com.ProjUno
Section 317
//PlayState_SndElevator (com.ProjUno.PlayState_SndElevator)
package com.ProjUno {
import mx.core.*;
public class PlayState_SndElevator extends SoundAsset {
}
}//package com.ProjUno
Section 318
//PlayState_SndHit (com.ProjUno.PlayState_SndHit)
package com.ProjUno {
import mx.core.*;
public class PlayState_SndHit extends SoundAsset {
}
}//package com.ProjUno
Section 319
//PlayState_SndPower (com.ProjUno.PlayState_SndPower)
package com.ProjUno {
import mx.core.*;
public class PlayState_SndPower extends SoundAsset {
}
}//package com.ProjUno
Section 320
//PlayState_SndWind (com.ProjUno.PlayState_SndWind)
package com.ProjUno {
import mx.core.*;
public class PlayState_SndWind extends SoundAsset {
}
}//package com.ProjUno
Section 321
//Room (com.ProjUno.Room)
package com.ProjUno {
import org.flixel.*;
public class Room {
public var effects:FlxArray;
public var doors:FlxArray;
public var mapWidth:int;
private var _roomdef:RoomDef;
private var effect:FlxCore;
private var pSX:Number;// = -1
public var breaks:FlxArray;
private var RoomNo:int;// = 0
private var pSY:Number;// = -1
public var mapHeight:int;
public var treasures:FlxArray;
public var enemies:FlxArray;
private var bg:FlxArray;
public var mapBack:FlxTilemap;
private var effectType:int;
public var mapWalls:FlxTilemap;
private var rWidth:Number;
private var enterDoor:int;
private var rHeight:Number;
public var FirstSolid:int;
public var music:Class;
private var SnakeBossCheat:Class;
public function Room(_arg1:RoomDef, _arg2:int, _arg3:Boolean=false):void{
var _local8:uint;
var _local9:uint;
var _local11:DoorList;
var _local12:FlxTilemap;
SnakeBossCheat = Room_SnakeBossCheat;
super();
RoomNo = _arg1.RoomNo;
_roomdef = _arg1;
mapBack = new FlxTilemap(new _arg1.BackMap(), _arg1.BackTiles, 99, 0);
mapWalls = new FlxTilemap(new _arg1.WallMap(), _arg1.WallTiles, _arg1.FirstSolid, 0);
treasures = new FlxArray();
enemies = new FlxArray();
doors = new FlxArray();
effects = new FlxArray();
breaks = new FlxArray();
effect = new FlxCore();
music = _arg1.music;
bg = _arg1.bg;
effectType = _arg1.Effect;
FirstSolid = _arg1.FirstSolid;
pSX = _arg1.pStartX;
pSY = _arg1.pStartY;
var _local4:Array = _arg1.TreasureDefs.concat();
var _local5:Array = _arg1.BreakDefs.concat();
var _local6:Array = _arg1.EnemyDefs.concat();
var _local7 = "";
var _local10:Boolean;
_local8 = 0;
while (_local8 < _local4.length) {
_local9 = 0;
while (_local9 < _local4[_local8].length) {
_local10 = false;
if ((((((((uint(_local4[_local8][_local9]) == 2)) || ((uint(_local4[_local8][_local9]) == 3)))) || ((uint(_local4[_local8][_local9]) == 4)))) || ((uint(_local4[_local8][_local9]) == 6)))){
if (Globals.FlxSave.data.Powerups != undefined){
if (Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty] != undefined){
if (Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty][RoomNo] != undefined){
if (Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty][RoomNo][_local9] != undefined){
if (Globals.FlxSave.data.Powerups[Globals.CurrentDifficulty][RoomNo][_local9][_local8] != ""){
_local10 = (Globals.FlxSave.data.levels[Globals.CurrentDifficulty][Globals.CurrentLevel] == true);
};
};
};
};
};
};
if ((((uint(_local4[_local8][_local9]) > 0)) && (!(_local10)))){
switch (uint(_local4[_local8][_local9])){
case 1:
_local7 = "treasure";
break;
case 2:
_local7 = "range";
break;
case 4:
_local7 = "explode";
break;
case 3:
_local7 = "spread";
break;
case 5:
_local7 = "elevator";
break;
case 6:
_local7 = "healthup";
break;
case 7:
_local7 = "gunsign";
break;
case 8:
_local7 = "jumpsign";
break;
case 9:
_local7 = "shootsign";
break;
case 10:
_local7 = "beamsign";
break;
case 11:
_local7 = "goldsign";
break;
};
treasures.add(new Treasure((_local9 * 8), (_local8 * 8), treasures.length, _local7));
};
_local9++;
};
_local8++;
};
rHeight = _local4.length;
rWidth = _local4[0].length;
mapWidth = rWidth;
mapHeight = rHeight;
_local8 = 0;
while (_local8 < _local5.length) {
_local9 = 0;
while (_local9 < _local5[_local8].length) {
if (uint(_local5[_local8][_local9]) > 0){
breaks.add(new Breakables((_local9 * 8), (_local8 * 8), uint(_local5[_local8][_local9])));
};
_local9++;
};
_local8++;
};
switch (_arg1.Boss){
case 1:
enemies.add(new EnemyBoss1(((12 * 8) - 5), ((5 * 8) + 4)));
break;
case 2:
enemies.add(new EnemyBoss2((10 * 8), (10 * 8)));
_local12 = new FlxTilemap(new SnakeBossCheat(), _arg1.WallTiles, 99, 34);
PlayState.lyrEffectsFront.add(_local12);
break;
case 3:
enemies.add(new EnemyBoss3((1 * 8), (6 * 8)));
break;
case 4:
enemies.add(new EnemyBlackHand(((10 * 8) + 6), ((4 * 8) + 4)));
break;
};
_local8 = 0;
while (_local8 < _local6.length) {
_local9 = 0;
while (_local9 < _local6[_local8].length) {
if (uint(_local6[_local8][_local9]) > 0){
switch (uint(_local6[_local8][_local9])){
case 1:
enemies.add(new Enemy1((_local9 * 8), (_local8 * 8)));
break;
case 2:
enemies.add(new EnemyBomber((_local9 * 8), (_local8 * 8)));
break;
case 3:
enemies.add(new EnemyRobot((_local9 * 8), (_local8 * 8)));
break;
case 4:
enemies.add(new EnemyTurret((_local9 * 8), (_local8 * 8)));
break;
case 5:
enemies.add(new EnemyAssasin((_local9 * 8), (_local8 * 8)));
break;
case 6:
enemies.add(new EnemyAssasin2((_local9 * 8), (_local8 * 8)));
break;
case 7:
enemies.add(new EnemyDrone((_local9 * 8), (_local8 * 8)));
break;
case 8:
enemies.add(new EnemyDroneBomber((_local9 * 8), (_local8 * 8)));
break;
case 9:
enemies.add(new EnemyFlamer((_local9 * 8), (_local8 * 8)));
break;
case 10:
enemies.add(new EnemySpikes((_local9 * 8), (_local8 * 8)));
break;
case 11:
enemies.add(new EnemyFireball((_local9 * 8), (_local8 * 8)));
break;
case 12:
enemies.add(new EnemyLava((_local9 * 8), (_local8 * 8)));
break;
case 14:
enemies.add(new EnemyLavaFalls((_local9 * 8), (_local8 * 8)));
break;
case 15:
enemies.add(new EnemySteam((_local9 * 8), (_local8 * 8)));
break;
case 16:
enemies.add(new EnemyLavaFlow((_local9 * 8), (_local8 * 8)));
break;
case 17:
enemies.add(new EnemyShuttleSpike((_local9 * 8), (_local8 * 8)));
break;
};
};
_local9++;
};
_local8++;
};
for each (_local11 in _arg1.DoorDefs) {
doors.add(new Door(_local11.x, _local11.y, _local11.toRoom, _local11.toDoor));
};
enterDoor = _arg2;
}
public function clearRoom(_arg1:Boolean=false, _arg2:RoomDef=null):void{
var _local3:FlxCore;
var _local4:FlxCore;
var _local5:FlxCore;
var _local6:FlxCore;
var _local7:FlxCore;
var _local8:FlxCore;
var _local9:FlxCore;
var _local10:FlxCore;
var _local11:FlxCore;
var _local12:FlxCore;
var _local13:FlxCore;
var _local14:FlxCore;
var _local15:FlxCore;
var _local16:FlxCore;
var _local17:FlxCore;
var _local18:FlxCore;
FlxG.flash(4294967295, 1, null, true);
FlxG.follow(PlayState._p, 0);
if (_arg1){
_arg2.TreasureDefs = Globals.CloneMatrix(_arg2.oTreasureDefs);
_arg2.BreakDefs = Globals.CloneMatrix(_arg2.oBreakDefs);
_arg2.EnemyDefs = Globals.CloneMatrix(_arg2.oEnemyDefs);
} else {
_arg2.oTreasureDefs = Globals.CloneMatrix(_arg2.TreasureDefs);
_arg2.oBreakDefs = Globals.CloneMatrix(_arg2.BreakDefs);
_arg2.oEnemyDefs = Globals.CloneMatrix(_arg2.EnemyDefs);
};
for each (_local3 in effects) {
_local3.kill();
};
for each (_local4 in treasures) {
_local4.kill();
};
for each (_local5 in enemies) {
_local5.kill();
};
for each (_local6 in doors) {
_local6.kill();
};
for each (_local7 in PlayState._pBullets) {
_local7.kill();
};
for each (_local8 in PlayState._eBullets) {
_local8.kill();
};
for each (_local9 in breaks) {
_local9.kill();
};
for each (_local10 in PlayState._pickups) {
_local10.kill();
};
for each (_local11 in PlayState.lyrBackEffects.children) {
_local11.kill();
};
for each (_local12 in PlayState.lyrBack.children) {
_local12.kill();
};
for each (_local13 in PlayState.lyrEffectsBack.children) {
_local13.kill();
};
for each (_local14 in PlayState.lyrWalls.children) {
_local14.kill();
};
for each (_local15 in PlayState.lyrStuff2.children) {
_local15.kill();
};
for each (_local16 in PlayState.lyrStuff.children) {
_local16.kill();
};
for each (_local17 in PlayState.lyrBullets.children) {
_local17.kill();
};
for each (_local18 in PlayState.lyrEffectsFront.children) {
_local18.kill();
};
effects.clear();
treasures.clear();
enemies.clear();
doors.clear();
effect.kill();
mapBack.kill();
mapWalls.kill();
PlayState._pBullets.clear();
PlayState._eBullets.clear();
PlayState._pickups.clear();
PlayState.lyrBackEffects.destroy();
PlayState.lyrBack.destroy();
PlayState.lyrEffectsBack.destroy();
PlayState.lyrWalls.destroy();
PlayState.lyrStuff2.destroy();
PlayState.lyrStuff.destroy();
PlayState.lyrBullets.destroy();
PlayState.lyrEffectsFront.destroy();
}
public function buildRoom():void{
var _local2:BackDef;
var _local3:FlxSprite;
var _local4:FlxSprite;
var _local5:FlxSprite;
var _local6:FlxSprite;
var _local7:FlxCore;
var _local8:int;
if (enterDoor != -1){
PlayState._p.x = doors[enterDoor].x;
PlayState._p.y = doors[enterDoor].y;
} else {
PlayState._p.x = (pSX * 8);
PlayState._p.y = (pSY * 8);
};
FlxG.follow(PlayState._p, 1.5);
FlxG.followAdjust(0.5, 0.5);
FlxG.followBounds(4, 4, ((rWidth * 8) - 4), ((rHeight * 8) - 4));
FlxG.flash(4294967295, 1, null, true);
var _local1:Number = 0;
for each (_local2 in bg) {
if (_local2.Color == 0){
if (_local2.height == 0){
_local8 = (rHeight * 8);
} else {
_local8 = _local2.height;
};
_local7 = new FlxBlock(((Math.random() * 64) - 64), ((rHeight * 8) - (_local8 - ((_local1 + 1) * 24))), ((rWidth * 8) * (_local1 + 1)), _local8, _local2.ImgSet, _local2.Empties);
_local7.scrollFactor.x = (_local7.scrollFactor.y = ((1 / bg.length) * (bg.length - _local1)));
} else {
_local7 = new FlxSprite(null, 0, 0, false, false, (rWidth * 8), (rHeight * 8), _local2.Color);
_local7.scrollFactor.x = (_local7.scrollFactor.y = 0);
};
effects.add(PlayState.lyrBackEffects.add(_local7));
_local1 = (_local1 + (1 / bg.length));
};
PlayState.lyrBack.add(mapBack);
PlayState.lyrWalls.add(mapWalls);
for each (_local3 in breaks) {
PlayState.lyrWalls.add(_local3);
};
for each (_local4 in treasures) {
PlayState.lyrStuff2.add(_local4);
};
for each (_local5 in enemies) {
PlayState.lyrStuff.add(_local5);
};
for each (_local6 in doors) {
PlayState.lyrStuff.add(_local6);
};
switch (effectType){
case 0:
break;
case 1:
effect = (effects.add(FlxG.state.add(new SnowEmitter())) as SnowEmitter);
break;
case 2:
effect = (effects.add(FlxG.state.add(new BatEmitter())) as BatEmitter);
break;
case 3:
effect = (effects.add(FlxG.state.add(new FogEmitter())) as FogEmitter);
};
if (PlayState._last_music != music){
FlxG.stopMusic();
FlxG.setMusic(music);
PlayState._last_music = music;
};
}
}
}//package com.ProjUno
Section 322
//Room_SnakeBossCheat (com.ProjUno.Room_SnakeBossCheat)
package com.ProjUno {
import mx.core.*;
public class Room_SnakeBossCheat extends ByteArrayAsset {
}
}//package com.ProjUno
Section 323
//RoomDef (com.ProjUno.RoomDef)
package com.ProjUno {
import org.flixel.*;
public class RoomDef {
public var FirstSolid:Number;
public var BackTiles:Class;
public var pStartX:Number;// = -1
public var oEnemyDefs:Array;
public var ECount:int;
public var BreakDefs:Array;
public var WallMap:Class;
public var BackMap:Class;
public var EnemyDefs:Array;
public var WallArr:Array;
public var TCount:int;
public var RoomNo:int;
public var pStartY:Number;// = -1
public var Boss:Number;// = -1
public var bg:FlxArray;
public var Effect:Number;// = 0
public var oTreasureDefs:Array;
public var music:Class;
public var WallTiles:Class;
public var DoorDefs:FlxArray;
public var TreasureDefs:Array;
public var oBreakDefs:Array;
public function RoomDef(_arg1:int, _arg2:Class, _arg3:Class, _arg4:Class, _arg5:Class, _arg6:String, _arg7:String, _arg8:FlxArray, _arg9:String, _arg10:FlxArray, _arg11:Class, _arg12:Number=13, _arg13:Number=0, _arg14:Number=-1, _arg15:Number=-1, _arg16:Number=-1):void{
var _local19:uint;
var _local20:uint;
var _local21:Array;
super();
RoomNo = _arg1;
FirstSolid = _arg12;
BackMap = _arg2;
BackTiles = _arg3;
WallMap = _arg4;
WallTiles = _arg5;
bg = _arg10;
Boss = _arg16;
Effect = _arg13;
pStartX = _arg14;
pStartY = _arg15;
TreasureDefs = new Array();
EnemyDefs = new Array();
BreakDefs = new Array();
oTreasureDefs = new Array();
oEnemyDefs = new Array();
oBreakDefs = new Array();
WallArr = new Array();
music = _arg11;
TCount = 0;
ECount = 0;
var _local17:int;
var _local18:int;
var _local22:Array = _arg6.split("\n");
_local18 = _local22.length;
_local20 = 0;
while (_local20 < _local18) {
_local21 = _local22[_local20].split(",");
if (_local21.length <= 1){
_local18--;
} else {
TreasureDefs.push(new Array());
oTreasureDefs.push(new Array());
if (_local17 == 0){
_local17 = _local21.length;
};
_local19 = 0;
while (_local19 < _local17) {
TreasureDefs[_local20].push(uint(_local21[_local19]));
oTreasureDefs[_local20].push(uint(_local21[_local19]));
if (uint(_local21[_local19]) == 1){
TCount++;
};
_local19++;
};
};
_local20++;
};
_local17 = 0;
_local18 = 0;
_local21 = new Array();
var _local23:String = new (_arg4);
_local22 = _local23.split("\n");
_local18 = _local22.length;
_local20 = 0;
while (_local20 < _local18) {
_local21 = _local22[_local20].split(",");
if (_local21.length <= 1){
_local18--;
} else {
WallArr.push(new Array());
if (_local17 == 0){
_local17 = _local21.length;
};
_local19 = 0;
while (_local19 < _local17) {
WallArr[_local20].push(uint(_local21[_local19]));
_local19++;
};
};
_local20++;
};
_local17 = 0;
_local18 = 0;
_local21 = new Array();
_local22 = _arg7.split("\n");
_local18 = _local22.length;
_local20 = 0;
while (_local20 < _local18) {
_local21 = _local22[_local20].split(",");
if (_local21.length <= 1){
_local18--;
} else {
EnemyDefs.push(new Array());
oEnemyDefs.push(new Array());
if (_local17 == 0){
_local17 = _local21.length;
};
_local19 = 0;
while (_local19 < _local17) {
EnemyDefs[_local20].push(uint(_local21[_local19]));
oEnemyDefs[_local20].push(uint(_local21[_local19]));
if ((((uint(_local21[_local19]) > 0)) && ((uint(_local21[_local19]) < 10)))){
ECount++;
};
_local19++;
};
};
_local20++;
};
_local17 = 0;
_local18 = 0;
_local21 = new Array();
_local22 = _arg9.split("\n");
_local18 = _local22.length;
_local20 = 0;
while (_local20 < _local18) {
_local21 = _local22[_local20].split(",");
if (_local21.length <= 1){
_local18--;
} else {
BreakDefs.push(new Array());
oBreakDefs.push(new Array());
if (_local17 == 0){
_local17 = _local21.length;
};
_local19 = 0;
while (_local19 < _local17) {
BreakDefs[_local20].push(uint(_local21[_local19]));
oBreakDefs[_local20].push(uint(_local21[_local19]));
_local19++;
};
};
_local20++;
};
DoorDefs = _arg8;
}
}
}//package com.ProjUno
Section 324
//SnakeBody (com.ProjUno.SnakeBody)
package com.ProjUno {
import org.flixel.*;
public class SnakeBody extends Enemy {
public var body:EnemyBoss2;
private var ImgBody:Class;
private var _timer:Number;// = 0
private var _sparks:FlxEmitter;
private var ImgSparks:Class;
public function SnakeBody(_arg1:Number, _arg2:Number, _arg3:int, _arg4:FlxSprite, _arg5:EnemyBoss2):void{
ImgSparks = SnakeBody_ImgSparks;
ImgBody = SnakeBody_ImgBody;
x = _arg1;
y = _arg2;
body = _arg5;
super(x, y, ImgBody, 1, 22, 22);
facing = true;
visible = true;
height = (width = 14);
offset.y = (offset.x = 4);
addAnimation("normal", [0]);
addAnimation("hurt", [1]);
addAnimation("dead", [1, 1, 1, 1, 1], 1);
play("normal");
health = 1;
weakhead = false;
HeartChance = 0;
_sparks = (FlxG.state.add(new FlxEmitter(0, 0, 0, 0, null, -1, -120, 60, -90, 50, 0, 0, 180, 50, ImgSparks, 10, true, PlayState.lyrGun)) as FlxEmitter);
}
override public function hitFloor():Boolean{
if (body._boss_state == 6){
return (false);
};
chew_ground();
return (false);
}
override public function update():void{
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
if ((Math.random() * 10) > 5){
velocity.x = 0.1;
velocity.y = 0.1;
} else {
velocity.x = -0.1;
velocity.y = -0.1;
};
if (_hurt_counter > 0){
_hurt_counter = (_hurt_counter - (FlxG.elapsed * 3));
};
if (_hurt_counter > 0){
play("hurt");
} else {
play("normal");
};
super.update();
}
override public function kill():void{
if (dead){
return;
};
if (body.health <= 0){
velocity.x = (-100 + (Math.random() * 200));
velocity.y = (-100 + (Math.random() * 200));
super.kill();
play("dead");
exists = true;
} else {
super.kill();
};
}
override public function hurt(_arg1:Number):void{
body.health = (body.health - (_arg1 * 0.5));
if (body.health <= 0){
body.hurt(1);
};
_arg1 = 0;
_hurt_counter = 1;
return (super.hurt(_arg1));
}
override public function Movement():int{
return (0);
}
override public function hitCeiling():Boolean{
if (body._boss_state == 6){
return (false);
};
_sparks.x = (x + 7);
_sparks.y = (y - 5);
_sparks.reset();
return (false);
}
override public function hitWall():Boolean{
if (body._boss_state == 6){
return (false);
};
chew_ground();
return (false);
}
public function chew_ground():void{
_sparks.x = (x + 9);
_sparks.y = (y + 7);
_sparks.reset();
}
}
}//package com.ProjUno
Section 325
//SnakeBody_ImgBody (com.ProjUno.SnakeBody_ImgBody)
package com.ProjUno {
import mx.core.*;
public class SnakeBody_ImgBody extends BitmapAsset {
}
}//package com.ProjUno
Section 326
//SnakeBody_ImgSparks (com.ProjUno.SnakeBody_ImgSparks)
package com.ProjUno {
import mx.core.*;
public class SnakeBody_ImgSparks extends BitmapAsset {
}
}//package com.ProjUno
Section 327
//SnowEmitter (com.ProjUno.SnowEmitter)
package com.ProjUno {
import org.flixel.*;
import com.gskinner.utils.*;
public class SnowEmitter extends FlxCore {
private var _timer:Number;
private var _front_snow:FlxArray;
private var _back_snow:FlxArray;
public function SnowEmitter(){
var _local5:int;
var _local1:int = -((FlxG.width / 2));
var _local2:int = (FlxG.width + (FlxG.width / 2));
var _local3:int = -((FlxG.width / 2));
var _local4:int = (FlxG.height + (FlxG.width / 2));
super();
_timer = 0;
_front_snow = new FlxArray();
_back_snow = new FlxArray();
while (_local5 < 20) {
_front_snow.add(PlayState.lyrEffectsFront.add(new Snowflake(Rnd.integer(_local1, _local2), Rnd.integer(_local3, _local4), 2)));
_back_snow.add(PlayState.lyrEffectsBack.add(new Snowflake(Rnd.integer(_local1, _local2), Rnd.integer(_local3, _local4), 1)));
_back_snow.add(PlayState.lyrEffectsBack.add(new Snowflake(Rnd.integer(_local1, _local2), Rnd.integer(_local3, _local4), 1)));
_local5++;
};
}
private function makeSnow():void{
var _local10:Snowflake;
var _local1:int = -((FlxG.width / 2));
var _local2:int = (FlxG.width + (FlxG.width / 2));
var _local3:int = -((FlxG.width / 2));
var _local4:int = (FlxG.height + (FlxG.width / 2));
var _local5:uint = Rnd.integer(_local1, (_local2 * 2));
var _local6:uint = Rnd.integer(_local3, _local4);
if ((((_local5 < _local2)) && ((_local5 > _local1)))){
_local6 = Rnd.integer(_local3, (_local3 - (FlxG.width / 2)));
};
var _local7:Boolean = Rnd.boolean(0.6);
var _local8 = 1;
if (!_local7){
_local8 = 2;
};
var _local9:FlxArray = new FlxArray();
if (_local8 == 1){
_local9 = _back_snow;
} else {
_local9 = _front_snow;
};
for each (_local10 in _local9) {
if (_local10.dead){
_local10.reset(_local5, _local6);
return;
};
};
if (_local8 == 1){
_local9.add(PlayState.lyrEffectsBack.add(new Snowflake(_local5, _local6, _local8)));
} else {
_local9.add(PlayState.lyrEffectsFront.add(new Snowflake(_local5, _local6, _local8)));
};
}
override public function update():void{
if (dead){
return;
};
_timer = (_timer + FlxG.elapsed);
if (_timer > 0.3){
_timer = 0;
makeSnow();
makeSnow();
makeSnow();
makeSnow();
makeSnow();
};
super.update();
}
override public function kill():void{
var _local1:FlxSprite;
var _local2:FlxSprite;
if (dead){
return;
};
for each (_local1 in _front_snow) {
_local1.kill();
};
for each (_local2 in _back_snow) {
_local2.kill();
};
_front_snow.clear();
_back_snow.clear();
super.kill();
}
}
}//package com.ProjUno
Section 328
//Snowflake (com.ProjUno.Snowflake)
package com.ProjUno {
import org.flixel.*;
public class Snowflake extends FlxSprite {
private var _switchTimer:uint;// = 0
private var Side:int;// = 0
public function Snowflake(_arg1:int, _arg2:int, _arg3:int):void{
var _local4:uint;
switch ((int((Math.random() * 3)) + _arg3)){
case 1:
_local4 = 4287137928;
break;
case 2:
_local4 = 4289374890;
break;
case 3:
_local4 = 4291611852;
break;
default:
_local4 = 4294967295;
break;
};
super(null, _arg1, _arg2, false, false, _arg3, _arg3, _local4);
Side = _arg3;
if (_arg3 == 2){
scrollFactor.x = (scrollFactor.y = 1.1);
} else {
scrollFactor.x = (scrollFactor.y = 0.9);
};
x = (x + -((FlxG.scroll.x * scrollFactor.x)));
y = (y + -((FlxG.scroll.y * scrollFactor.y)));
velocity.y = (2 * Side);
velocity.x = (-10 * Side);
_switchTimer = (Math.random() * 20);
}
override public function update():void{
if (dead){
return;
};
if (((((x + width) < -64)) || (((y + height) > ((PlayState._room.mapHeight * 8) + 64))))){
kill();
};
_switchTimer = (_switchTimer + FlxG.elapsed);
if (_switchTimer > 30){
velocity.y = (2 * Side);
velocity.x = (-10 * Side);
_switchTimer = (Math.random() * 20);
};
super.update();
}
public function reset(_arg1:int, _arg2:int):void{
velocity.y = (2 * Side);
velocity.x = (-10 * Side);
_switchTimer = (Math.random() * 20);
exists = true;
dead = false;
visible = true;
active = true;
x = _arg1;
y = _arg2;
x = (x + -((FlxG.scroll.x * scrollFactor.x)));
y = (y + -((FlxG.scroll.y * scrollFactor.y)));
}
}
}//package com.ProjUno
Section 329
//Story (com.ProjUno.Story)
package com.ProjUno {
import org.flixel.*;
public class Story extends FlxState {
private var _pageNext:FlxButton;
private var _text1:FlxText;
private var _text2:FlxText;
private var _text3:FlxText;
private var _pageNo:int;// = 0
private var _pageDone:FlxButton;
private var _pageBack:FlxButton;
private var ImgCursor:Class;
public function Story():void{
ImgCursor = Story_ImgCursor;
super();
FlxG.setCursor(ImgCursor);
_text1 = new FlxText(0, 0, FlxG.width, 12, "Trouble in Antarctica!", 0xFFFFFF, null, 10, "center");
_text2 = new FlxText(0, 16, FlxG.width, 80, " The Black Hand of Fate has built up a secret clone army near the South Pole and is threatening to unleash it upon the world!");
_text3 = new FlxText(0, 0, FlxG.width, 80, " You've been sent in to stop their sinister activities. You are mankind's only hope!");
_text1.visible = false;
_text2.visible = false;
_text3.visible = false;
this.add(_text1);
this.add(_text2);
this.add(_text3);
}
override public function update():void{
if (_pageNo == 0){
_pageNo = 1;
FlxG.flash(4278190080, 0.25, FlashDone, true);
};
if (_pageNo == 2){
_text1.visible = true;
_text2.visible = true;
_pageNo = 3;
};
}
private function FlashDone():void{
_pageNo = 2;
}
private function ClickBack():void{
_text3.visible = false;
_text1.visible = true;
_text2.visible = true;
}
private function ClickDone():void{
FlxG.flash(4294967295, 1, LeaveState);
}
private function LeaveState():void{
Globals.JustCleared = true;
FlxG.switchState(MenuState);
}
private function ClickNext():void{
_text1.visible = false;
_text2.visible = false;
_text3.visible = true;
}
}
}//package com.ProjUno
Section 330
//Story_ImgCursor (com.ProjUno.Story_ImgCursor)
package com.ProjUno {
import mx.core.*;
public class Story_ImgCursor extends BitmapAsset {
}
}//package com.ProjUno
Section 331
//Treasure (com.ProjUno.Treasure)
package com.ProjUno {
import org.flixel.*;
public class Treasure extends FlxSprite {
public var alive:Boolean;// = true
private var ImgJumpMsg:Class;
private var ImgRange:Class;
public var id:int;
private var ImgGoldMsg:Class;
private var ImgGunMsg:Class;
private var ImgShootMsg:Class;
private var ImgHealthUp:Class;
private var ImgBeamMsg:Class;
private var ImgElevator:Class;
public var type:String;// = "treasure"
private var ImgTreas:Class;
public function Treasure(_arg1:Number, _arg2:Number, _arg3:int, _arg4:String="treasure"):void{
var _local5:Class;
ImgTreas = Treasure_ImgTreas;
ImgRange = Treasure_ImgRange;
ImgElevator = Treasure_ImgElevator;
ImgHealthUp = Treasure_ImgHealthUp;
ImgGunMsg = Treasure_ImgGunMsg;
ImgBeamMsg = Treasure_ImgBeamMsg;
ImgGoldMsg = Treasure_ImgGoldMsg;
ImgJumpMsg = Treasure_ImgJumpMsg;
ImgShootMsg = Treasure_ImgShootMsg;
type = _arg4;
switch (type){
case "treasure":
_local5 = ImgTreas;
break;
case "range":
_local5 = ImgRange;
break;
case "spread":
_local5 = ImgRange;
break;
case "explode":
_local5 = ImgRange;
break;
case "elevator":
_local5 = ImgElevator;
break;
case "healthup":
_local5 = ImgHealthUp;
break;
case "gunsign":
_local5 = ImgGunMsg;
break;
case "jumpsign":
_local5 = ImgJumpMsg;
break;
case "shootsign":
_local5 = ImgShootMsg;
break;
case "beamsign":
_local5 = ImgBeamMsg;
break;
case "goldsign":
_local5 = ImgGoldMsg;
break;
};
super(_local5, _arg1, _arg2, true);
if (type == "gunsign"){
width = 60;
height = 60;
offset.x = 0;
offset.y = 0;
x = (x + 5);
y = (y + 4);
} else {
if ((((((((type == "jumpsign")) || ((type == "shootsign")))) || ((type == "beamsign")))) || ((type == "goldsign")))){
width = 40;
height = 30;
offset.x = 0;
offset.y = 0;
} else {
width = 6;
height = 3;
offset.x = 1;
offset.y = 5;
};
};
x = (x + offset.x);
y = (y + offset.y);
id = _arg3;
addAnimation("treasure", [0, 0, 0, 0, 0, 0, 1, 2], 8);
addAnimation("range", [0, 1, 2], 5);
addAnimation("spread", [3, 4, 5], 5);
addAnimation("explode", [6, 7, 8], 5);
addAnimation("elevator", [0, 1, 2, 3, 4, 5], 6);
addAnimation("healthup", [0, 1, 2], 6);
addAnimation("gunsign", [0, 1, 2], 5);
addAnimation("jumpsign", [0]);
addAnimation("shootsign", [0]);
play(type);
}
override public function update():void{
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
};
super.update();
}
}
}//package com.ProjUno
Section 332
//Treasure_ImgBeamMsg (com.ProjUno.Treasure_ImgBeamMsg)
package com.ProjUno {
import mx.core.*;
public class Treasure_ImgBeamMsg extends BitmapAsset {
}
}//package com.ProjUno
Section 333
//Treasure_ImgElevator (com.ProjUno.Treasure_ImgElevator)
package com.ProjUno {
import mx.core.*;
public class Treasure_ImgElevator extends BitmapAsset {
}
}//package com.ProjUno
Section 334
//Treasure_ImgGoldMsg (com.ProjUno.Treasure_ImgGoldMsg)
package com.ProjUno {
import mx.core.*;
public class Treasure_ImgGoldMsg extends BitmapAsset {
}
}//package com.ProjUno
Section 335
//Treasure_ImgGunMsg (com.ProjUno.Treasure_ImgGunMsg)
package com.ProjUno {
import mx.core.*;
public class Treasure_ImgGunMsg extends BitmapAsset {
}
}//package com.ProjUno
Section 336
//Treasure_ImgHealthUp (com.ProjUno.Treasure_ImgHealthUp)
package com.ProjUno {
import mx.core.*;
public class Treasure_ImgHealthUp extends BitmapAsset {
}
}//package com.ProjUno
Section 337
//Treasure_ImgJumpMsg (com.ProjUno.Treasure_ImgJumpMsg)
package com.ProjUno {
import mx.core.*;
public class Treasure_ImgJumpMsg extends BitmapAsset {
}
}//package com.ProjUno
Section 338
//Treasure_ImgRange (com.ProjUno.Treasure_ImgRange)
package com.ProjUno {
import mx.core.*;
public class Treasure_ImgRange extends BitmapAsset {
}
}//package com.ProjUno
Section 339
//Treasure_ImgShootMsg (com.ProjUno.Treasure_ImgShootMsg)
package com.ProjUno {
import mx.core.*;
public class Treasure_ImgShootMsg extends BitmapAsset {
}
}//package com.ProjUno
Section 340
//Treasure_ImgTreas (com.ProjUno.Treasure_ImgTreas)
package com.ProjUno {
import mx.core.*;
public class Treasure_ImgTreas extends BitmapAsset {
}
}//package com.ProjUno
Section 341
//VictoryScreen (com.ProjUno.VictoryScreen)
package com.ProjUno {
import org.flixel.*;
public class VictoryScreen {
private var totalE:int;// = 0
private var removedE:int;// = 0
private var x:int;// = 0
private var build:FlxArray;
private var totalT:int;// = 0
private var removedT:int;// = 0
private var y:int;// = 0
private var ImgComplete:Class;
private var ImgMedals:Class;
public function VictoryScreen(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Array):void{
var _local6:FlxSprite;
var _local8:FlxCore;
ImgMedals = VictoryScreen_ImgMedals;
ImgComplete = VictoryScreen_ImgComplete;
totalE = _arg1;
removedE = _arg2;
totalT = _arg3;
removedT = _arg4;
super();
build = new FlxArray();
x = -(FlxG.scroll.x);
y = -(FlxG.scroll.y);
build.add(new FlxSprite(null, 0, 0, false, false, FlxG.width, FlxG.height, 3422552064));
build.add(new FlxSprite(ImgComplete, 0, 0, false, false, FlxG.width, FlxG.height, 3422552064));
build.add(new FlxText(18, 21, 100, 50, ((" " + uint(((removedE / totalE) * 100))) + "%"), 0xFFFFFF, null, 8, "right"));
build.add(new FlxText(18, 31, 100, 50, ((" " + uint(((removedT / totalT) * 100))) + "%"), 0xFFFFFF, null, 8, "right"));
var _local7:int;
while (_local7 < _arg5.length) {
_local6 = new FlxSprite(ImgMedals, 16, (45 + (_local7 * 20)), true, false);
_local6.addAnimation("normal", [(_arg5[_local7] + 6)]);
_local6.play("normal");
build.add(_local6);
build.add(new FlxText(40, (45 + (_local7 * 20)), 120, 50, Globals.Medals[_arg5[_local7]][1], 0xFFFFFF, null, 8, "left"));
_local7++;
};
for each (_local8 in build) {
_local8.scrollFactor.x = (_local8.scrollFactor.y = 0);
PlayState.lyrHUD.add(_local8);
};
}
public function clear():void{
var _local1:FlxCore;
for each (_local1 in build) {
_local1.kill();
};
}
}
}//package com.ProjUno
Section 342
//VictoryScreen_ImgComplete (com.ProjUno.VictoryScreen_ImgComplete)
package com.ProjUno {
import mx.core.*;
public class VictoryScreen_ImgComplete extends BitmapAsset {
}
}//package com.ProjUno
Section 343
//VictoryScreen_ImgMedals (com.ProjUno.VictoryScreen_ImgMedals)
package com.ProjUno {
import mx.core.*;
public class VictoryScreen_ImgMedals extends BitmapAsset {
}
}//package com.ProjUno
Section 344
//LivePreviewParent (fl.livepreview.LivePreviewParent)
package fl.livepreview {
import flash.display.*;
import flash.utils.*;
import flash.external.*;
public class LivePreviewParent extends MovieClip {
public var myInstance:DisplayObject;
public function LivePreviewParent(){
super();
try {
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
this.myInstance = getChildAt(0);
this.onResize(stage.width, stage.height);
if (ExternalInterface.available){
ExternalInterface.addCallback("onResize", this.onResize);
ExternalInterface.addCallback("onUpdate", this.onUpdate);
};
} catch(e) {
};
}
public function onUpdate(... _args):void{
var name:String;
var value:*;
var updateArray = _args;
var i:int;
while ((i + 1) < updateArray.length) {
try {
name = String(updateArray[i]);
value = updateArray[(i + 1)];
if ((((typeof(value) == "object")) && (value.__treatAsCollectionSpecialSauce__))){
this.updateCollection(value, name);
} else {
this.myInstance[name] = value;
};
} catch(e:Error) {
};
i = (i + 2);
};
}
public function onResize(_arg1:Number, _arg2:Number):void{
var width = _arg1;
var height = _arg2;
var setSizeFn:Function;
try {
setSizeFn = this.myInstance["setSize"];
} catch(e:Error) {
setSizeFn = null;
};
if (setSizeFn != null){
setSizeFn(width, height);
} else {
this.myInstance.width = width;
this.myInstance.height = height;
};
}
private function updateCollection(_arg1:Object, _arg2:String):void{
var _local7:Object;
var _local8:Object;
var _local9:*;
var _local3:Class = Class(getDefinitionByName(_arg1.collectionClass));
var _local4:Class = Class(getDefinitionByName(_arg1.collectionItemClass));
var _local5:Object = new (_local3);
var _local6:int;
while (_local6 < _arg1.collectionArray.length) {
_local7 = new (_local4);
_local8 = _arg1.collectionArray[_local6];
for (_local9 in _local8) {
_local7[_local9] = _local8[_local9];
};
_local5.addItem(_local7);
_local6++;
};
this.myInstance[_arg2] = (_local5 as _local3);
}
}
}//package fl.livepreview
Section 345
//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.3.0.4852";
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 346
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "3.3.0.4852";
}
}//package mx.core
Section 347
//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.3.0.4852";
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 348
//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.3.0.4852";
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 349
//FlexLoader (mx.core.FlexLoader)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexLoader extends Loader {
mx_internal static const VERSION:String = "3.3.0.4852";
public function FlexLoader(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 350
//FlexShape (mx.core.FlexShape)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexShape extends Shape {
mx_internal static const VERSION:String = "3.3.0.4852";
public function FlexShape(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 351
//FlexSprite (mx.core.FlexSprite)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexSprite extends Sprite {
mx_internal static const VERSION:String = "3.3.0.4852";
public function FlexSprite(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 352
//FlexVersion (mx.core.FlexVersion)
package mx.core {
import mx.resources.*;
public class FlexVersion {
public static const VERSION_2_0_1:uint = 33554433;
public static const CURRENT_VERSION:uint = 50331648;
public static const VERSION_3_0:uint = 50331648;
public static const VERSION_2_0:uint = 33554432;
public static const VERSION_ALREADY_READ:String = "versionAlreadyRead";
public static const VERSION_ALREADY_SET:String = "versionAlreadySet";
mx_internal static const VERSION:String = "3.3.0.4852";
private static var compatibilityVersionChanged:Boolean = false;
private static var _compatibilityErrorFunction:Function;
private static var _compatibilityVersion:uint = 50331648;
private static var compatibilityVersionRead:Boolean = false;
mx_internal static function changeCompatibilityVersionString(_arg1:String):void{
var _local2:Array = _arg1.split(".");
var _local3:uint = parseInt(_local2[0]);
var _local4:uint = parseInt(_local2[1]);
var _local5:uint = parseInt(_local2[2]);
_compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5);
}
public static function set compatibilityVersion(_arg1:uint):void{
var _local2:String;
if (_arg1 == _compatibilityVersion){
return;
};
if (compatibilityVersionChanged){
if (compatibilityErrorFunction == null){
_local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_SET);
throw (new Error(_local2));
};
compatibilityErrorFunction(_arg1, VERSION_ALREADY_SET);
};
if (compatibilityVersionRead){
if (compatibilityErrorFunction == null){
_local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_READ);
throw (new Error(_local2));
};
compatibilityErrorFunction(_arg1, VERSION_ALREADY_READ);
};
_compatibilityVersion = _arg1;
compatibilityVersionChanged = true;
}
public static function get compatibilityVersion():uint{
compatibilityVersionRead = true;
return (_compatibilityVersion);
}
public static function set compatibilityErrorFunction(_arg1:Function):void{
_compatibilityErrorFunction = _arg1;
}
public static function set compatibilityVersionString(_arg1:String):void{
var _local2:Array = _arg1.split(".");
var _local3:uint = parseInt(_local2[0]);
var _local4:uint = parseInt(_local2[1]);
var _local5:uint = parseInt(_local2[2]);
compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5);
}
public static function get compatibilityErrorFunction():Function{
return (_compatibilityErrorFunction);
}
public static function get compatibilityVersionString():String{
var _local1:uint = ((compatibilityVersion >> 24) & 0xFF);
var _local2:uint = ((compatibilityVersion >> 16) & 0xFF);
var _local3:uint = (compatibilityVersion & 0xFFFF);
return (((((_local1.toString() + ".") + _local2.toString()) + ".") + _local3.toString()));
}
}
}//package mx.core
Section 353
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.3.0.4852";
}
}//package mx.core
Section 354
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 355
//IButton (mx.core.IButton)
package mx.core {
public interface IButton extends IUIComponent {
function get emphasized():Boolean;
function set emphasized(_arg1:Boolean):void;
function callLater(_arg1:Function, _arg2:Array=null):void;
}
}//package mx.core
Section 356
//IChildList (mx.core.IChildList)
package mx.core {
import flash.display.*;
import flash.geom.*;
public interface IChildList {
function get numChildren():int;
function removeChild(_arg1:DisplayObject):DisplayObject;
function getChildByName(_arg1:String):DisplayObject;
function removeChildAt(_arg1:int):DisplayObject;
function getChildIndex(_arg1:DisplayObject):int;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function getObjectsUnderPoint(_arg1:Point):Array;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function getChildAt(_arg1:int):DisplayObject;
function addChild(_arg1:DisplayObject):DisplayObject;
function contains(_arg1:DisplayObject):Boolean;
}
}//package mx.core
Section 357
//IContainer (mx.core.IContainer)
package mx.core {
import flash.display.*;
import flash.geom.*;
import mx.managers.*;
import flash.media.*;
import flash.text.*;
public interface IContainer extends IUIComponent {
function set hitArea(_arg1:Sprite):void;
function swapChildrenAt(_arg1:int, _arg2:int):void;
function getChildByName(_arg1:String):DisplayObject;
function get doubleClickEnabled():Boolean;
function get graphics():Graphics;
function get useHandCursor():Boolean;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function set mouseChildren(_arg1:Boolean):void;
function set creatingContentPane(_arg1:Boolean):void;
function get textSnapshot():TextSnapshot;
function getChildIndex(_arg1:DisplayObject):int;
function set doubleClickEnabled(_arg1:Boolean):void;
function getObjectsUnderPoint(_arg1:Point):Array;
function get creatingContentPane():Boolean;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function get soundTransform():SoundTransform;
function set useHandCursor(_arg1:Boolean):void;
function get numChildren():int;
function contains(_arg1:DisplayObject):Boolean;
function get verticalScrollPosition():Number;
function set defaultButton(_arg1:IFlexDisplayObject):void;
function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void;
function set horizontalScrollPosition(_arg1:Number):void;
function get focusManager():IFocusManager;
function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void;
function set mouseEnabled(_arg1:Boolean):void;
function getChildAt(_arg1:int):DisplayObject;
function set soundTransform(_arg1:SoundTransform):void;
function get tabChildren():Boolean;
function get tabIndex():int;
function set focusRect(_arg1:Object):void;
function get hitArea():Sprite;
function get mouseChildren():Boolean;
function removeChildAt(_arg1:int):DisplayObject;
function get defaultButton():IFlexDisplayObject;
function stopDrag():void;
function set tabEnabled(_arg1:Boolean):void;
function get horizontalScrollPosition():Number;
function get focusRect():Object;
function get viewMetrics():EdgeMetrics;
function set verticalScrollPosition(_arg1:Number):void;
function get dropTarget():DisplayObject;
function get mouseEnabled():Boolean;
function set tabChildren(_arg1:Boolean):void;
function set buttonMode(_arg1:Boolean):void;
function get tabEnabled():Boolean;
function get buttonMode():Boolean;
function removeChild(_arg1:DisplayObject):DisplayObject;
function set tabIndex(_arg1:int):void;
function addChild(_arg1:DisplayObject):DisplayObject;
function areInaccessibleObjectsUnderPoint(_arg1:Point):Boolean;
}
}//package mx.core
Section 358
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 359
//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 360
//IFlexModuleFactory (mx.core.IFlexModuleFactory)
package mx.core {
public interface IFlexModuleFactory {
function create(... _args):Object;
function info():Object;
}
}//package mx.core
Section 361
//IInvalidating (mx.core.IInvalidating)
package mx.core {
public interface IInvalidating {
function validateNow():void;
function invalidateSize():void;
function invalidateDisplayList():void;
function invalidateProperties():void;
}
}//package mx.core
Section 362
//IProgrammaticSkin (mx.core.IProgrammaticSkin)
package mx.core {
public interface IProgrammaticSkin {
function validateNow():void;
function validateDisplayList():void;
}
}//package mx.core
Section 363
//IRawChildrenContainer (mx.core.IRawChildrenContainer)
package mx.core {
public interface IRawChildrenContainer {
function get rawChildren():IChildList;
}
}//package mx.core
Section 364
//IRectangularBorder (mx.core.IRectangularBorder)
package mx.core {
import flash.geom.*;
public interface IRectangularBorder extends IBorder {
function get backgroundImageBounds():Rectangle;
function get hasBackgroundImage():Boolean;
function set backgroundImageBounds(_arg1:Rectangle):void;
function layoutBackgroundImage():void;
}
}//package mx.core
Section 365
//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 366
//ISWFBridgeGroup (mx.core.ISWFBridgeGroup)
package mx.core {
import flash.events.*;
public interface ISWFBridgeGroup {
function getChildBridgeProvider(_arg1:IEventDispatcher):ISWFBridgeProvider;
function removeChildBridge(_arg1:IEventDispatcher):void;
function get parentBridge():IEventDispatcher;
function addChildBridge(_arg1:IEventDispatcher, _arg2:ISWFBridgeProvider):void;
function set parentBridge(_arg1:IEventDispatcher):void;
function containsBridge(_arg1:IEventDispatcher):Boolean;
function getChildBridges():Array;
}
}//package mx.core
Section 367
//ISWFBridgeProvider (mx.core.ISWFBridgeProvider)
package mx.core {
import flash.events.*;
public interface ISWFBridgeProvider {
function get childAllowsParent():Boolean;
function get swfBridge():IEventDispatcher;
function get parentAllowsChild():Boolean;
}
}//package mx.core
Section 368
//IUIComponent (mx.core.IUIComponent)
package mx.core {
import flash.display.*;
import mx.managers.*;
public interface IUIComponent extends IFlexDisplayObject {
function set focusPane(_arg1:Sprite):void;
function get enabled():Boolean;
function set enabled(_arg1:Boolean):void;
function set isPopUp(_arg1:Boolean):void;
function get explicitMinHeight():Number;
function get percentWidth():Number;
function get isPopUp():Boolean;
function get owner():DisplayObjectContainer;
function get percentHeight():Number;
function get baselinePosition():Number;
function owns(_arg1:DisplayObject):Boolean;
function initialize():void;
function get maxWidth():Number;
function get minWidth():Number;
function getExplicitOrMeasuredWidth():Number;
function get explicitMaxWidth():Number;
function get explicitMaxHeight():Number;
function set percentHeight(_arg1:Number):void;
function get minHeight():Number;
function set percentWidth(_arg1:Number):void;
function get document():Object;
function get focusPane():Sprite;
function getExplicitOrMeasuredHeight():Number;
function set tweeningProperties(_arg1:Array):void;
function set explicitWidth(_arg1:Number):void;
function set measuredMinHeight(_arg1:Number):void;
function get explicitMinWidth():Number;
function get tweeningProperties():Array;
function get maxHeight():Number;
function set owner(_arg1:DisplayObjectContainer):void;
function set includeInLayout(_arg1:Boolean):void;
function setVisible(_arg1:Boolean, _arg2:Boolean=false):void;
function parentChanged(_arg1:DisplayObjectContainer):void;
function get explicitWidth():Number;
function get measuredMinHeight():Number;
function set measuredMinWidth(_arg1:Number):void;
function set explicitHeight(_arg1:Number):void;
function get includeInLayout():Boolean;
function get measuredMinWidth():Number;
function get explicitHeight():Number;
function set systemManager(_arg1:ISystemManager):void;
function set document(_arg1:Object):void;
function get systemManager():ISystemManager;
}
}//package mx.core
Section 369
//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 370
//Singleton (mx.core.Singleton)
package mx.core {
public class Singleton {
mx_internal static const VERSION:String = "3.3.0.4852";
private static var classMap:Object = {};
public static function registerClass(_arg1:String, _arg2:Class):void{
var _local3:Class = classMap[_arg1];
if (!_local3){
classMap[_arg1] = _arg2;
};
}
public static function getClass(_arg1:String):Class{
return (classMap[_arg1]);
}
public static function getInstance(_arg1:String):Object{
var _local2:Class = classMap[_arg1];
if (!_local2){
throw (new Error((("No class registered for interface '" + _arg1) + "'.")));
};
return (_local2["getInstance"]());
}
}
}//package mx.core
Section 371
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.3.0.4852";
}
}//package mx.core
Section 372
//SpriteAsset (mx.core.SpriteAsset)
package mx.core {
public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject, IBorder {
private var _measuredHeight:Number;
private var _measuredWidth:Number;
mx_internal static const VERSION:String = "3.3.0.4852";
public function SpriteAsset(){
_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 373
//UIComponentGlobals (mx.core.UIComponentGlobals)
package mx.core {
import flash.display.*;
import flash.geom.*;
import mx.managers.*;
public class UIComponentGlobals {
mx_internal static var callLaterSuspendCount:int = 0;
mx_internal static var layoutManager:ILayoutManager;
mx_internal static var nextFocusObject:InteractiveObject;
mx_internal static var designTime:Boolean = false;
mx_internal static var tempMatrix:Matrix = new Matrix();
mx_internal static var callLaterDispatcherCount:int = 0;
private static var _catchCallLaterExceptions:Boolean = false;
public static function set catchCallLaterExceptions(_arg1:Boolean):void{
_catchCallLaterExceptions = _arg1;
}
public static function get designMode():Boolean{
return (designTime);
}
public static function set designMode(_arg1:Boolean):void{
designTime = _arg1;
}
public static function get catchCallLaterExceptions():Boolean{
return (_catchCallLaterExceptions);
}
}
}//package mx.core
Section 374
//ModuleEvent (mx.events.ModuleEvent)
package mx.events {
import flash.events.*;
import mx.core.*;
import mx.modules.*;
public class ModuleEvent extends ProgressEvent {
public var errorText:String;
private var _module:IModuleInfo;
public static const READY:String = "ready";
public static const ERROR:String = "error";
public static const PROGRESS:String = "progress";
mx_internal static const VERSION:String = "3.3.0.4852";
public static const SETUP:String = "setup";
public static const UNLOAD:String = "unload";
public function ModuleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null, _arg7:IModuleInfo=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
this._module = _arg7;
}
public function get module():IModuleInfo{
if (_module){
return (_module);
};
return ((target as IModuleInfo));
}
override public function clone():Event{
return (new ModuleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText, module));
}
}
}//package mx.events
Section 375
//ResourceEvent (mx.events.ResourceEvent)
package mx.events {
import flash.events.*;
import mx.core.*;
public class ResourceEvent extends ProgressEvent {
public var errorText:String;
mx_internal static const VERSION:String = "3.3.0.4852";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function ResourceEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
}
override public function clone():Event{
return (new ResourceEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 376
//StyleEvent (mx.events.StyleEvent)
package mx.events {
import flash.events.*;
import mx.core.*;
public class StyleEvent extends ProgressEvent {
public var errorText:String;
mx_internal static const VERSION:String = "3.3.0.4852";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function StyleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
}
override public function clone():Event{
return (new StyleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 377
//RectangularDropShadow (mx.graphics.RectangularDropShadow)
package mx.graphics {
import flash.display.*;
import mx.core.*;
import flash.geom.*;
import flash.filters.*;
import mx.utils.*;
public class RectangularDropShadow {
private var leftShadow:BitmapData;
private var _tlRadius:Number;// = 0
private var _trRadius:Number;// = 0
private var _angle:Number;// = 45
private var topShadow:BitmapData;
private var _distance:Number;// = 4
private var rightShadow:BitmapData;
private var _alpha:Number;// = 0.4
private var shadow:BitmapData;
private var _brRadius:Number;// = 0
private var _blRadius:Number;// = 0
private var _color:int;// = 0
private var bottomShadow:BitmapData;
private var changed:Boolean;// = true
mx_internal static const VERSION:String = "3.3.0.4852";
public function get blRadius():Number{
return (_blRadius);
}
public function set brRadius(_arg1:Number):void{
if (_brRadius != _arg1){
_brRadius = _arg1;
changed = true;
};
}
public function set color(_arg1:int):void{
if (_color != _arg1){
_color = _arg1;
changed = true;
};
}
public function drawShadow(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
if (changed){
createShadowBitmaps();
changed = false;
};
_arg4 = Math.ceil(_arg4);
_arg5 = Math.ceil(_arg5);
var _local6:int = (leftShadow) ? leftShadow.width : 0;
var _local7:int = (rightShadow) ? rightShadow.width : 0;
var _local8:int = (topShadow) ? topShadow.height : 0;
var _local9:int = (bottomShadow) ? bottomShadow.height : 0;
var _local10:int = (_local6 + _local7);
var _local11:int = (_local8 + _local9);
var _local12:Number = ((_arg5 + _local11) / 2);
var _local13:Number = ((_arg4 + _local10) / 2);
var _local14:Matrix = new Matrix();
if (((leftShadow) || (topShadow))){
_local15 = Math.min((tlRadius + _local10), _local13);
_local16 = Math.min((tlRadius + _local11), _local12);
_local14.tx = (_arg2 - _local6);
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((_arg2 - _local6), (_arg3 - _local8), _local15, _local16);
_arg1.endFill();
};
if (((rightShadow) || (topShadow))){
_local17 = Math.min((trRadius + _local10), _local13);
_local18 = Math.min((trRadius + _local11), _local12);
_local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width);
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((((_arg2 + _arg4) + _local7) - _local17), (_arg3 - _local8), _local17, _local18);
_arg1.endFill();
};
if (((leftShadow) || (bottomShadow))){
_local19 = Math.min((blRadius + _local10), _local13);
_local20 = Math.min((blRadius + _local11), _local12);
_local14.tx = (_arg2 - _local6);
_local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((_arg2 - _local6), (((_arg3 + _arg5) + _local9) - _local20), _local19, _local20);
_arg1.endFill();
};
if (((rightShadow) || (bottomShadow))){
_local21 = Math.min((brRadius + _local10), _local13);
_local22 = Math.min((brRadius + _local11), _local12);
_local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width);
_local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((((_arg2 + _arg4) + _local7) - _local21), (((_arg3 + _arg5) + _local9) - _local22), _local21, _local22);
_arg1.endFill();
};
if (leftShadow){
_local14.tx = (_arg2 - _local6);
_local14.ty = 0;
_arg1.beginBitmapFill(leftShadow, _local14);
_arg1.drawRect((_arg2 - _local6), ((_arg3 - _local8) + _local16), _local6, ((((_arg5 + _local8) + _local9) - _local16) - _local20));
_arg1.endFill();
};
if (rightShadow){
_local14.tx = (_arg2 + _arg4);
_local14.ty = 0;
_arg1.beginBitmapFill(rightShadow, _local14);
_arg1.drawRect((_arg2 + _arg4), ((_arg3 - _local8) + _local18), _local7, ((((_arg5 + _local8) + _local9) - _local18) - _local22));
_arg1.endFill();
};
if (topShadow){
_local14.tx = 0;
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(topShadow, _local14);
_arg1.drawRect(((_arg2 - _local6) + _local15), (_arg3 - _local8), ((((_arg4 + _local6) + _local7) - _local15) - _local17), _local8);
_arg1.endFill();
};
if (bottomShadow){
_local14.tx = 0;
_local14.ty = (_arg3 + _arg5);
_arg1.beginBitmapFill(bottomShadow, _local14);
_arg1.drawRect(((_arg2 - _local6) + _local19), (_arg3 + _arg5), ((((_arg4 + _local6) + _local7) - _local19) - _local21), _local9);
_arg1.endFill();
};
}
public function get brRadius():Number{
return (_brRadius);
}
public function get angle():Number{
return (_angle);
}
private function createShadowBitmaps():void{
var _local1:Number = ((Math.max(tlRadius, blRadius) + (2 * distance)) + Math.max(trRadius, brRadius));
var _local2:Number = ((Math.max(tlRadius, trRadius) + (2 * distance)) + Math.max(blRadius, brRadius));
if ((((_local1 < 0)) || ((_local2 < 0)))){
return;
};
var _local3:Shape = new FlexShape();
var _local4:Graphics = _local3.graphics;
_local4.beginFill(0xFFFFFF);
GraphicsUtil.drawRoundRectComplex(_local4, 0, 0, _local1, _local2, tlRadius, trRadius, blRadius, brRadius);
_local4.endFill();
var _local5:BitmapData = new BitmapData(_local1, _local2, true, 0);
_local5.draw(_local3, new Matrix());
var _local6:DropShadowFilter = new DropShadowFilter(distance, angle, color, alpha);
_local6.knockout = true;
var _local7:Rectangle = new Rectangle(0, 0, _local1, _local2);
var _local8:Rectangle = _local5.generateFilterRect(_local7, _local6);
var _local9:Number = (_local7.left - _local8.left);
var _local10:Number = (_local8.right - _local7.right);
var _local11:Number = (_local7.top - _local8.top);
var _local12:Number = (_local8.bottom - _local7.bottom);
shadow = new BitmapData(_local8.width, _local8.height);
shadow.applyFilter(_local5, _local7, new Point(_local9, _local11), _local6);
var _local13:Point = new Point(0, 0);
var _local14:Rectangle = new Rectangle();
if (_local9 > 0){
_local14.x = 0;
_local14.y = ((tlRadius + _local11) + _local12);
_local14.width = _local9;
_local14.height = 1;
leftShadow = new BitmapData(_local9, 1);
leftShadow.copyPixels(shadow, _local14, _local13);
} else {
leftShadow = null;
};
if (_local10 > 0){
_local14.x = (shadow.width - _local10);
_local14.y = ((trRadius + _local11) + _local12);
_local14.width = _local10;
_local14.height = 1;
rightShadow = new BitmapData(_local10, 1);
rightShadow.copyPixels(shadow, _local14, _local13);
} else {
rightShadow = null;
};
if (_local11 > 0){
_local14.x = ((tlRadius + _local9) + _local10);
_local14.y = 0;
_local14.width = 1;
_local14.height = _local11;
topShadow = new BitmapData(1, _local11);
topShadow.copyPixels(shadow, _local14, _local13);
} else {
topShadow = null;
};
if (_local12 > 0){
_local14.x = ((blRadius + _local9) + _local10);
_local14.y = (shadow.height - _local12);
_local14.width = 1;
_local14.height = _local12;
bottomShadow = new BitmapData(1, _local12);
bottomShadow.copyPixels(shadow, _local14, _local13);
} else {
bottomShadow = null;
};
}
public function get alpha():Number{
return (_alpha);
}
public function get color():int{
return (_color);
}
public function set angle(_arg1:Number):void{
if (_angle != _arg1){
_angle = _arg1;
changed = true;
};
}
public function set trRadius(_arg1:Number):void{
if (_trRadius != _arg1){
_trRadius = _arg1;
changed = true;
};
}
public function set tlRadius(_arg1:Number):void{
if (_tlRadius != _arg1){
_tlRadius = _arg1;
changed = true;
};
}
public function get trRadius():Number{
return (_trRadius);
}
public function set distance(_arg1:Number):void{
if (_distance != _arg1){
_distance = _arg1;
changed = true;
};
}
public function get distance():Number{
return (_distance);
}
public function get tlRadius():Number{
return (_tlRadius);
}
public function set alpha(_arg1:Number):void{
if (_alpha != _arg1){
_alpha = _arg1;
changed = true;
};
}
public function set blRadius(_arg1:Number):void{
if (_blRadius != _arg1){
_blRadius = _arg1;
changed = true;
};
}
}
}//package mx.graphics
Section 378
//IFocusManager (mx.managers.IFocusManager)
package mx.managers {
import flash.events.*;
import flash.display.*;
import mx.core.*;
public interface IFocusManager {
function get focusPane():Sprite;
function getFocus():IFocusManagerComponent;
function deactivate():void;
function set defaultButton(_arg1:IButton):void;
function set focusPane(_arg1:Sprite):void;
function set showFocusIndicator(_arg1:Boolean):void;
function moveFocus(_arg1:String, _arg2:DisplayObject=null):void;
function addSWFBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function removeSWFBridge(_arg1:IEventDispatcher):void;
function get defaultButtonEnabled():Boolean;
function findFocusManagerComponent(_arg1:InteractiveObject):IFocusManagerComponent;
function get nextTabIndex():int;
function get defaultButton():IButton;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:IFocusManagerComponent):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function getNextFocusManagerComponent(_arg1:Boolean=false):IFocusManagerComponent;
}
}//package mx.managers
Section 379
//IFocusManagerComponent (mx.managers.IFocusManagerComponent)
package mx.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package mx.managers
Section 380
//IFocusManagerContainer (mx.managers.IFocusManagerContainer)
package mx.managers {
import flash.events.*;
import flash.display.*;
public interface IFocusManagerContainer extends IEventDispatcher {
function set focusManager(_arg1:IFocusManager):void;
function get focusManager():IFocusManager;
function get systemManager():ISystemManager;
function contains(_arg1:DisplayObject):Boolean;
}
}//package mx.managers
Section 381
//ILayoutManager (mx.managers.ILayoutManager)
package mx.managers {
import flash.events.*;
public interface ILayoutManager extends IEventDispatcher {
function validateNow():void;
function validateClient(_arg1:ILayoutManagerClient, _arg2:Boolean=false):void;
function isInvalid():Boolean;
function invalidateDisplayList(_arg1:ILayoutManagerClient):void;
function set usePhasedInstantiation(_arg1:Boolean):void;
function invalidateSize(_arg1:ILayoutManagerClient):void;
function get usePhasedInstantiation():Boolean;
function invalidateProperties(_arg1:ILayoutManagerClient):void;
}
}//package mx.managers
Section 382
//ILayoutManagerClient (mx.managers.ILayoutManagerClient)
package mx.managers {
import flash.events.*;
public interface ILayoutManagerClient extends IEventDispatcher {
function get updateCompletePendingFlag():Boolean;
function set updateCompletePendingFlag(_arg1:Boolean):void;
function set initialized(_arg1:Boolean):void;
function validateProperties():void;
function validateDisplayList():void;
function get nestLevel():int;
function get initialized():Boolean;
function get processedDescriptors():Boolean;
function validateSize(_arg1:Boolean=false):void;
function set nestLevel(_arg1:int):void;
function set processedDescriptors(_arg1:Boolean):void;
}
}//package mx.managers
Section 383
//ISystemManager (mx.managers.ISystemManager)
package mx.managers {
import flash.events.*;
import flash.display.*;
import mx.core.*;
import flash.geom.*;
import flash.text.*;
public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory {
function set focusPane(_arg1:Sprite):void;
function get toolTipChildren():IChildList;
function useSWFBridge():Boolean;
function isFontFaceEmbedded(_arg1:TextFormat):Boolean;
function deployMouseShields(_arg1:Boolean):void;
function get rawChildren():IChildList;
function get topLevelSystemManager():ISystemManager;
function dispatchEventFromSWFBridges(_arg1:Event, _arg2:IEventDispatcher=null, _arg3:Boolean=false, _arg4:Boolean=false):void;
function getSandboxRoot():DisplayObject;
function get swfBridgeGroup():ISWFBridgeGroup;
function removeFocusManager(_arg1:IFocusManagerContainer):void;
function addChildToSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function get document():Object;
function get focusPane():Sprite;
function get loaderInfo():LoaderInfo;
function addChildBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function getTopLevelRoot():DisplayObject;
function removeChildBridge(_arg1:IEventDispatcher):void;
function isDisplayObjectInABridgedApplication(_arg1:DisplayObject):Boolean;
function get popUpChildren():IChildList;
function get screen():Rectangle;
function removeChildFromSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function getDefinitionByName(_arg1:String):Object;
function activate(_arg1:IFocusManagerContainer):void;
function deactivate(_arg1:IFocusManagerContainer):void;
function get cursorChildren():IChildList;
function set document(_arg1:Object):void;
function get embeddedFontList():Object;
function set numModalWindows(_arg1:int):void;
function isTopLevel():Boolean;
function isTopLevelRoot():Boolean;
function get numModalWindows():int;
function addFocusManager(_arg1:IFocusManagerContainer):void;
function get stage():Stage;
function getVisibleApplicationRect(_arg1:Rectangle=null):Rectangle;
}
}//package mx.managers
Section 384
//SystemManagerGlobals (mx.managers.SystemManagerGlobals)
package mx.managers {
public class SystemManagerGlobals {
public static var topLevelSystemManagers:Array = [];
public static var changingListenersInOtherSystemManagers:Boolean;
public static var bootstrapLoaderInfoURL:String;
public static var showMouseCursor:Boolean;
}
}//package mx.managers
Section 385
//IModuleInfo (mx.modules.IModuleInfo)
package mx.modules {
import flash.events.*;
import mx.core.*;
import flash.system.*;
import flash.utils.*;
public interface IModuleInfo extends IEventDispatcher {
function get ready():Boolean;
function get loaded():Boolean;
function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void;
function release():void;
function get error():Boolean;
function get data():Object;
function publish(_arg1:IFlexModuleFactory):void;
function get factory():IFlexModuleFactory;
function set data(_arg1:Object):void;
function get url():String;
function get setup():Boolean;
function unload():void;
}
}//package mx.modules
Section 386
//ModuleManager (mx.modules.ModuleManager)
package mx.modules {
import mx.core.*;
public class ModuleManager {
mx_internal static const VERSION:String = "3.3.0.4852";
public static function getModule(_arg1:String):IModuleInfo{
return (getSingleton().getModule(_arg1));
}
private static function getSingleton():Object{
if (!ModuleManagerGlobals.managerSingleton){
ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl();
};
return (ModuleManagerGlobals.managerSingleton);
}
public static function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{
return (getSingleton().getAssociatedFactory(_arg1));
}
}
}//package mx.modules
import flash.events.*;
import flash.display.*;
import mx.core.*;
import flash.system.*;
import mx.events.*;
import flash.net.*;
import flash.utils.*;
class ModuleInfoProxy extends EventDispatcher implements IModuleInfo {
private var _data:Object;
private var info:ModuleInfo;
private var referenced:Boolean;// = false
private function ModuleInfoProxy(_arg1:ModuleInfo){
this.info = _arg1;
_arg1.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.UNLOAD, moduleEventHandler, false, 0, true);
}
public function get loaded():Boolean{
return (info.loaded);
}
public function release():void{
if (referenced){
info.removeReference();
referenced = false;
};
}
public function get error():Boolean{
return (info.error);
}
public function get factory():IFlexModuleFactory{
return (info.factory);
}
public function publish(_arg1:IFlexModuleFactory):void{
info.publish(_arg1);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
public function get ready():Boolean{
return (info.ready);
}
public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{
var _local4:ModuleEvent;
info.resurrect();
if (!referenced){
info.addReference();
referenced = true;
};
if (info.error){
dispatchEvent(new ModuleEvent(ModuleEvent.ERROR));
} else {
if (info.loaded){
if (info.setup){
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
if (info.ready){
_local4 = new ModuleEvent(ModuleEvent.PROGRESS);
_local4.bytesLoaded = info.size;
_local4.bytesTotal = info.size;
dispatchEvent(_local4);
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
};
};
} else {
info.load(_arg1, _arg2, _arg3);
};
};
}
private function moduleEventHandler(_arg1:ModuleEvent):void{
dispatchEvent(_arg1);
}
public function get url():String{
return (info.url);
}
public function get data():Object{
return (_data);
}
public function get setup():Boolean{
return (info.setup);
}
public function unload():void{
info.unload();
info.removeEventListener(ModuleEvent.SETUP, moduleEventHandler);
info.removeEventListener(ModuleEvent.PROGRESS, moduleEventHandler);
info.removeEventListener(ModuleEvent.READY, moduleEventHandler);
info.removeEventListener(ModuleEvent.ERROR, moduleEventHandler);
info.removeEventListener(ModuleEvent.UNLOAD, moduleEventHandler);
}
}
class ModuleManagerImpl extends EventDispatcher {
private var moduleList:Object;
private function ModuleManagerImpl(){
moduleList = {};
super();
}
public function getModule(_arg1:String):IModuleInfo{
var _local2:ModuleInfo = (moduleList[_arg1] as ModuleInfo);
if (!_local2){
_local2 = new ModuleInfo(_arg1);
moduleList[_arg1] = _local2;
};
return (new ModuleInfoProxy(_local2));
}
public function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{
var m:Object;
var info:ModuleInfo;
var domain:ApplicationDomain;
var cls:Class;
var object = _arg1;
var className:String = getQualifiedClassName(object);
for each (m in moduleList) {
info = (m as ModuleInfo);
if (!info.ready){
} else {
domain = info.applicationDomain;
try {
cls = Class(domain.getDefinition(className));
if ((object is cls)){
return (info.factory);
};
} catch(error:Error) {
};
};
};
return (null);
}
}
class ModuleInfo extends EventDispatcher {
private var _error:Boolean;// = false
private var loader:Loader;
private var factoryInfo:FactoryInfo;
private var limbo:Dictionary;
private var _loaded:Boolean;// = false
private var _ready:Boolean;// = false
private var numReferences:int;// = 0
private var _url:String;
private var _setup:Boolean;// = false
private function ModuleInfo(_arg1:String){
_url = _arg1;
}
private function clearLoader():void{
if (loader){
if (loader.contentLoaderInfo){
loader.contentLoaderInfo.removeEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
};
try {
if (loader.content){
loader.content.removeEventListener("ready", readyHandler);
loader.content.removeEventListener("error", moduleErrorHandler);
};
} catch(error:Error) {
};
if (_loaded){
try {
loader.close();
} catch(error:Error) {
};
};
try {
loader.unload();
} catch(error:Error) {
};
loader = null;
};
}
public function get size():int{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.bytesTotal : 0);
}
public function get loaded():Boolean{
return ((limbo) ? false : _loaded);
}
public function release():void{
if (((_ready) && (!(limbo)))){
limbo = new Dictionary(true);
limbo[factoryInfo] = 1;
factoryInfo = null;
} else {
unload();
};
}
public function get error():Boolean{
return ((limbo) ? false : _error);
}
public function get factory():IFlexModuleFactory{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.factory : null);
}
public function completeHandler(_arg1:Event):void{
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded;
_local2.bytesTotal = loader.contentLoaderInfo.bytesTotal;
dispatchEvent(_local2);
}
public function publish(_arg1:IFlexModuleFactory):void{
if (factoryInfo){
return;
};
if (_url.indexOf("published://") != 0){
return;
};
factoryInfo = new FactoryInfo();
factoryInfo.factory = _arg1;
_loaded = true;
_setup = true;
_ready = true;
_error = false;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
dispatchEvent(new ModuleEvent(ModuleEvent.PROGRESS));
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
}
public function initHandler(_arg1:Event):void{
var moduleEvent:ModuleEvent;
var event = _arg1;
factoryInfo = new FactoryInfo();
try {
factoryInfo.factory = (loader.content as IFlexModuleFactory);
} catch(error:Error) {
};
if (!factoryInfo.factory){
moduleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = 0;
moduleEvent.bytesTotal = 0;
moduleEvent.errorText = "SWF is not a loadable module";
dispatchEvent(moduleEvent);
return;
};
loader.content.addEventListener("ready", readyHandler);
loader.content.addEventListener("error", moduleErrorHandler);
try {
factoryInfo.applicationDomain = loader.contentLoaderInfo.applicationDomain;
} catch(error:Error) {
};
_setup = true;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
}
public function resurrect():void{
var _local1:Object;
if (((!(factoryInfo)) && (limbo))){
for (_local1 in limbo) {
factoryInfo = (_local1 as FactoryInfo);
break;
};
limbo = null;
};
if (!factoryInfo){
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
loader = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
};
}
public function errorHandler(_arg1:ErrorEvent):void{
_error = true;
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = 0;
_local2.bytesTotal = 0;
_local2.errorText = _arg1.text;
dispatchEvent(_local2);
}
public function get ready():Boolean{
return ((limbo) ? false : _ready);
}
private function loadBytes(_arg1:ApplicationDomain, _arg2:ByteArray):void{
var _local3:LoaderContext = new LoaderContext();
_local3.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain);
if (("allowLoadBytesCodeExecution" in _local3)){
_local3["allowLoadBytesCodeExecution"] = true;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.loadBytes(_arg2, _local3);
}
public function removeReference():void{
numReferences--;
if (numReferences == 0){
release();
};
}
public function addReference():void{
numReferences++;
}
public function progressHandler(_arg1:ProgressEvent):void{
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{
if (_loaded){
return;
};
_loaded = true;
limbo = null;
if (_arg3){
loadBytes(_arg1, _arg3);
return;
};
if (_url.indexOf("published://") == 0){
return;
};
var _local4:URLRequest = new URLRequest(_url);
var _local5:LoaderContext = new LoaderContext();
_local5.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain);
_local5.securityDomain = _arg2;
if ((((_arg2 == null)) && ((Security.sandboxType == Security.REMOTE)))){
_local5.securityDomain = SecurityDomain.currentDomain;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.load(_local4, _local5);
}
public function get url():String{
return (_url);
}
public function get applicationDomain():ApplicationDomain{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null);
}
public function moduleErrorHandler(_arg1:Event):void{
var _local2:ModuleEvent;
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
if ((_arg1 is ModuleEvent)){
_local2 = ModuleEvent(_arg1);
} else {
_local2 = new ModuleEvent(ModuleEvent.ERROR);
};
dispatchEvent(_local2);
}
public function readyHandler(_arg1:Event):void{
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
}
public function get setup():Boolean{
return ((limbo) ? false : _setup);
}
public function unload():void{
clearLoader();
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
limbo = null;
factoryInfo = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
}
}
class FactoryInfo {
public var bytesTotal:int;// = 0
public var factory:IFlexModuleFactory;
public var applicationDomain:ApplicationDomain;
private function FactoryInfo(){
}
}
Section 387
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals)
package mx.modules {
public class ModuleManagerGlobals {
public static var managerSingleton:Object = null;
}
}//package mx.modules
Section 388
//IResourceBundle (mx.resources.IResourceBundle)
package mx.resources {
public interface IResourceBundle {
function get content():Object;
function get locale():String;
function get bundleName():String;
}
}//package mx.resources
Section 389
//IResourceManager (mx.resources.IResourceManager)
package mx.resources {
import flash.events.*;
import flash.system.*;
public interface IResourceManager extends IEventDispatcher {
function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher;
function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean;
function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class;
function getLocales():Array;
function removeResourceBundlesForLocale(_arg1:String):void;
function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle;
function get localeChain():Array;
function getInt(_arg1:String, _arg2:String, _arg3:String=null):int;
function update():void;
function set localeChain(_arg1:Array):void;
function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint;
function addResourceBundle(_arg1:IResourceBundle):void;
function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array;
function getBundleNamesForLocale(_arg1:String):Array;
function removeResourceBundle(_arg1:String, _arg2:String):void;
function getObject(_arg1:String, _arg2:String, _arg3:String=null);
function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String;
function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void;
function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void;
function getPreferredLocaleChain():Array;
function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle;
function initializeLocaleChain(_arg1:Array):void;
function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number;
}
}//package mx.resources
Section 390
//IResourceModule (mx.resources.IResourceModule)
package mx.resources {
public interface IResourceModule {
function get resourceBundles():Array;
}
}//package mx.resources
Section 391
//LocaleSorter (mx.resources.LocaleSorter)
package mx.resources {
import mx.core.*;
public class LocaleSorter {
mx_internal static const VERSION:String = "3.3.0.4852";
private static function normalizeLocale(_arg1:String):String{
return (_arg1.toLowerCase().replace(/-/g, "_"));
}
public static function sortLocalesByPreference(_arg1:Array, _arg2:Array, _arg3:String=null, _arg4:Boolean=false):Array{
var result:Array;
var hasLocale:Object;
var i:int;
var j:int;
var k:int;
var l:int;
var locale:String;
var plocale:LocaleID;
var appLocales = _arg1;
var systemPreferences = _arg2;
var ultimateFallbackLocale = _arg3;
var addAll = _arg4;
var promote:Function = function (_arg1:String):void{
if (typeof(hasLocale[_arg1]) != "undefined"){
result.push(appLocales[hasLocale[_arg1]]);
delete hasLocale[_arg1];
};
};
result = [];
hasLocale = {};
var locales:Array = trimAndNormalize(appLocales);
var preferenceLocales:Array = trimAndNormalize(systemPreferences);
addUltimateFallbackLocale(preferenceLocales, ultimateFallbackLocale);
j = 0;
while (j < locales.length) {
hasLocale[locales[j]] = j;
j = (j + 1);
};
i = 0;
l = preferenceLocales.length;
while (i < l) {
plocale = LocaleID.fromString(preferenceLocales[i]);
promote(preferenceLocales[i]);
promote(plocale.toString());
while (plocale.transformToParent()) {
promote(plocale.toString());
};
plocale = LocaleID.fromString(preferenceLocales[i]);
j = 0;
while (j < l) {
locale = preferenceLocales[j];
if (plocale.isSiblingOf(LocaleID.fromString(locale))){
promote(locale);
};
j = (j + 1);
};
j = 0;
k = locales.length;
while (j < k) {
locale = locales[j];
if (plocale.isSiblingOf(LocaleID.fromString(locale))){
promote(locale);
};
j = (j + 1);
};
i = (i + 1);
};
if (addAll){
j = 0;
k = locales.length;
while (j < k) {
promote(locales[j]);
j = (j + 1);
};
};
return (result);
}
private static function addUltimateFallbackLocale(_arg1:Array, _arg2:String):void{
var _local3:String;
if (((!((_arg2 == null))) && (!((_arg2 == ""))))){
_local3 = normalizeLocale(_arg2);
if (_arg1.indexOf(_local3) == -1){
_arg1.push(_local3);
};
};
}
private static function trimAndNormalize(_arg1:Array):Array{
var _local2:Array = [];
var _local3:int;
while (_local3 < _arg1.length) {
_local2.push(normalizeLocale(_arg1[_local3]));
_local3++;
};
return (_local2);
}
}
}//package mx.resources
class LocaleID {
private var privateLangs:Boolean;// = false
private var script:String;// = ""
private var variants:Array;
private var privates:Array;
private var extensions:Object;
private var lang:String;// = ""
private var region:String;// = ""
private var extended_langs:Array;
public static const STATE_PRIMARY_LANGUAGE:int = 0;
public static const STATE_REGION:int = 3;
public static const STATE_EXTENDED_LANGUAGES:int = 1;
public static const STATE_EXTENSIONS:int = 5;
public static const STATE_SCRIPT:int = 2;
public static const STATE_VARIANTS:int = 4;
public static const STATE_PRIVATES:int = 6;
private function LocaleID(){
extended_langs = [];
variants = [];
extensions = {};
privates = [];
super();
}
public function equals(_arg1:LocaleID):Boolean{
return ((toString() == _arg1.toString()));
}
public function canonicalize():void{
var _local1:String;
for (_local1 in extensions) {
if (extensions.hasOwnProperty(_local1)){
if (extensions[_local1].length == 0){
delete extensions[_local1];
} else {
extensions[_local1] = extensions[_local1].sort();
};
};
};
extended_langs = extended_langs.sort();
variants = variants.sort();
privates = privates.sort();
if (script == ""){
script = LocaleRegistry.getScriptByLang(lang);
};
if ((((script == "")) && (!((region == ""))))){
script = LocaleRegistry.getScriptByLangAndRegion(lang, region);
};
if ((((region == "")) && (!((script == ""))))){
region = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
};
}
public function toString():String{
var _local2:String;
var _local1:Array = [lang];
Array.prototype.push.apply(_local1, extended_langs);
if (script != ""){
_local1.push(script);
};
if (region != ""){
_local1.push(region);
};
Array.prototype.push.apply(_local1, variants);
for (_local2 in extensions) {
if (extensions.hasOwnProperty(_local2)){
_local1.push(_local2);
Array.prototype.push.apply(_local1, extensions[_local2]);
};
};
if (privates.length > 0){
_local1.push("x");
Array.prototype.push.apply(_local1, privates);
};
return (_local1.join("_"));
}
public function isSiblingOf(_arg1:LocaleID):Boolean{
return ((((lang == _arg1.lang)) && ((script == _arg1.script))));
}
public function transformToParent():Boolean{
var _local2:String;
var _local3:Array;
var _local4:String;
if (privates.length > 0){
privates.splice((privates.length - 1), 1);
return (true);
};
var _local1:String;
for (_local2 in extensions) {
if (extensions.hasOwnProperty(_local2)){
_local1 = _local2;
};
};
if (_local1){
_local3 = extensions[_local1];
if (_local3.length == 1){
delete extensions[_local1];
return (true);
};
_local3.splice((_local3.length - 1), 1);
return (true);
};
if (variants.length > 0){
variants.splice((variants.length - 1), 1);
return (true);
};
if (script != ""){
if (LocaleRegistry.getScriptByLang(lang) != ""){
script = "";
return (true);
};
if (region == ""){
_local4 = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
if (_local4 != ""){
region = _local4;
script = "";
return (true);
};
};
};
if (region != ""){
if (!(((script == "")) && ((LocaleRegistry.getScriptByLang(lang) == "")))){
region = "";
return (true);
};
};
if (extended_langs.length > 0){
extended_langs.splice((extended_langs.length - 1), 1);
return (true);
};
return (false);
}
public static function fromString(_arg1:String):LocaleID{
var _local5:Array;
var _local8:String;
var _local9:int;
var _local10:String;
var _local2:LocaleID = new (LocaleID);
var _local3:int = STATE_PRIMARY_LANGUAGE;
var _local4:Array = _arg1.replace(/-/g, "_").split("_");
var _local6:int;
var _local7:int = _local4.length;
while (_local6 < _local7) {
_local8 = _local4[_local6].toLowerCase();
if (_local3 == STATE_PRIMARY_LANGUAGE){
if (_local8 == "x"){
_local2.privateLangs = true;
} else {
if (_local8 == "i"){
_local2.lang = (_local2.lang + "i-");
} else {
_local2.lang = (_local2.lang + _local8);
_local3 = STATE_EXTENDED_LANGUAGES;
};
};
} else {
_local9 = _local8.length;
if (_local9 == 0){
} else {
_local10 = _local8.charAt(0).toLowerCase();
if ((((_local3 <= STATE_EXTENDED_LANGUAGES)) && ((_local9 == 3)))){
_local2.extended_langs.push(_local8);
if (_local2.extended_langs.length == 3){
_local3 = STATE_SCRIPT;
};
} else {
if ((((_local3 <= STATE_SCRIPT)) && ((_local9 == 4)))){
_local2.script = _local8;
_local3 = STATE_REGION;
} else {
if ((((_local3 <= STATE_REGION)) && ((((_local9 == 2)) || ((_local9 == 3)))))){
_local2.region = _local8;
_local3 = STATE_VARIANTS;
} else {
if ((((_local3 <= STATE_VARIANTS)) && ((((((((_local10 >= "a")) && ((_local10 <= "z")))) && ((_local9 >= 5)))) || ((((((_local10 >= "0")) && ((_local10 <= "9")))) && ((_local9 >= 4)))))))){
_local2.variants.push(_local8);
_local3 = STATE_VARIANTS;
} else {
if ((((_local3 < STATE_PRIVATES)) && ((_local9 == 1)))){
if (_local8 == "x"){
_local3 = STATE_PRIVATES;
_local5 = _local2.privates;
} else {
_local3 = STATE_EXTENSIONS;
_local5 = ((_local2.extensions[_local8]) || ([]));
_local2.extensions[_local8] = _local5;
};
} else {
if (_local3 >= STATE_EXTENSIONS){
_local5.push(_local8);
};
};
};
};
};
};
};
};
_local6++;
};
_local2.canonicalize();
return (_local2);
}
}
class LocaleRegistry {
private static const SCRIPT_ID_BY_LANG:Object = {ab:5, af:1, am:2, ar:3, as:4, ay:1, be:5, bg:5, bn:4, bs:1, ca:1, ch:1, cs:1, cy:1, da:1, de:1, dv:6, dz:7, el:8, en:1, eo:1, es:1, et:1, eu:1, fa:3, fi:1, fj:1, fo:1, fr:1, frr:1, fy:1, ga:1, gl:1, gn:1, gu:9, gv:1, he:10, hi:11, hr:1, ht:1, hu:1, hy:12, id:1, in:1, is:1, it:1, iw:10, ja:13, ka:14, kk:5, kl:1, km:15, kn:16, ko:17, la:1, lb:1, ln:1, lo:18, lt:1, lv:1, mg:1, mh:1, mk:5, ml:19, mo:1, mr:11, ms:1, mt:1, my:20, na:1, nb:1, nd:1, ne:11, nl:1, nn:1, no:1, nr:1, ny:1, om:1, or:21, pa:22, pl:1, ps:3, pt:1, qu:1, rn:1, ro:1, ru:5, rw:1, sg:1, si:23, sk:1, sl:1, sm:1, so:1, sq:1, ss:1, st:1, sv:1, sw:1, ta:24, te:25, th:26, ti:2, tl:1, tn:1, to:1, tr:1, ts:1, uk:5, ur:3, ve:1, vi:1, wo:1, xh:1, yi:10, zu:1, cpe:1, dsb:1, frs:1, gsw:1, hsb:1, kok:11, mai:11, men:1, nds:1, niu:1, nqo:27, nso:1, son:1, tem:1, tkl:1, tmh:1, tpi:1, tvl:1, zbl:28};
private static const SCRIPTS:Array = ["", "latn", "ethi", "arab", "beng", "cyrl", "thaa", "tibt", "grek", "gujr", "hebr", "deva", "armn", "jpan", "geor", "khmr", "knda", "kore", "laoo", "mlym", "mymr", "orya", "guru", "sinh", "taml", "telu", "thai", "nkoo", "blis", "hans", "hant", "mong", "syrc"];
private static const DEFAULT_REGION_BY_LANG_AND_SCRIPT:Object = {bg:{5:"bg"}, ca:{1:"es"}, zh:{30:"tw", 29:"cn"}, cs:{1:"cz"}, da:{1:"dk"}, de:{1:"de"}, el:{8:"gr"}, en:{1:"us"}, es:{1:"es"}, fi:{1:"fi"}, fr:{1:"fr"}, he:{10:"il"}, hu:{1:"hu"}, is:{1:"is"}, it:{1:"it"}, ja:{13:"jp"}, ko:{17:"kr"}, nl:{1:"nl"}, nb:{1:"no"}, pl:{1:"pl"}, pt:{1:"br"}, ro:{1:"ro"}, ru:{5:"ru"}, hr:{1:"hr"}, sk:{1:"sk"}, sq:{1:"al"}, sv:{1:"se"}, th:{26:"th"}, tr:{1:"tr"}, ur:{3:"pk"}, id:{1:"id"}, uk:{5:"ua"}, be:{5:"by"}, sl:{1:"si"}, et:{1:"ee"}, lv:{1:"lv"}, lt:{1:"lt"}, fa:{3:"ir"}, vi:{1:"vn"}, hy:{12:"am"}, az:{1:"az", 5:"az"}, eu:{1:"es"}, mk:{5:"mk"}, af:{1:"za"}, ka:{14:"ge"}, fo:{1:"fo"}, hi:{11:"in"}, ms:{1:"my"}, kk:{5:"kz"}, ky:{5:"kg"}, sw:{1:"ke"}, uz:{1:"uz", 5:"uz"}, tt:{5:"ru"}, pa:{22:"in"}, gu:{9:"in"}, ta:{24:"in"}, te:{25:"in"}, kn:{16:"in"}, mr:{11:"in"}, sa:{11:"in"}, mn:{5:"mn"}, gl:{1:"es"}, kok:{11:"in"}, syr:{32:"sy"}, dv:{6:"mv"}, nn:{1:"no"}, sr:{1:"cs", 5:"cs"}, cy:{1:"gb"}, mi:{1:"nz"}, mt:{1:"mt"}, quz:{1:"bo"}, tn:{1:"za"}, xh:{1:"za"}, zu:{1:"za"}, nso:{1:"za"}, se:{1:"no"}, smj:{1:"no"}, sma:{1:"no"}, sms:{1:"fi"}, smn:{1:"fi"}, bs:{1:"ba"}};
private static const SCRIPT_BY_ID:Object = {latn:1, ethi:2, arab:3, beng:4, cyrl:5, thaa:6, tibt:7, grek:8, gujr:9, hebr:10, deva:11, armn:12, jpan:13, geor:14, khmr:15, knda:16, kore:17, laoo:18, mlym:19, mymr:20, orya:21, guru:22, sinh:23, taml:24, telu:25, thai:26, nkoo:27, blis:28, hans:29, hant:30, mong:31, syrc:32};
private static const SCRIPT_ID_BY_LANG_AND_REGION:Object = {zh:{cn:29, sg:29, tw:30, hk:30, mo:30}, mn:{cn:31, sg:5}, pa:{pk:3, in:22}, ha:{gh:1, ne:1}};
private function LocaleRegistry(){
}
public static function getScriptByLangAndRegion(_arg1:String, _arg2:String):String{
var _local3:Object = SCRIPT_ID_BY_LANG_AND_REGION[_arg1];
if (_local3 == null){
return ("");
};
var _local4:Object = _local3[_arg2];
if (_local4 == null){
return ("");
};
return (SCRIPTS[int(_local4)].toLowerCase());
}
public static function getScriptByLang(_arg1:String):String{
var _local2:Object = SCRIPT_ID_BY_LANG[_arg1];
if (_local2 == null){
return ("");
};
return (SCRIPTS[int(_local2)].toLowerCase());
}
public static function getDefaultRegionForLangAndScript(_arg1:String, _arg2:String):String{
var _local3:Object = DEFAULT_REGION_BY_LANG_AND_SCRIPT[_arg1];
var _local4:Object = SCRIPT_BY_ID[_arg2];
if ((((_local3 == null)) || ((_local4 == null)))){
return ("");
};
return (((_local3[int(_local4)]) || ("")));
}
}
Section 392
//ResourceBundle (mx.resources.ResourceBundle)
package mx.resources {
import mx.core.*;
import flash.system.*;
import mx.utils.*;
public class ResourceBundle implements IResourceBundle {
mx_internal var _locale:String;
private var _content:Object;
mx_internal var _bundleName:String;
mx_internal static const VERSION:String = "3.3.0.4852";
mx_internal static var backupApplicationDomain:ApplicationDomain;
mx_internal static var locale:String;
public function ResourceBundle(_arg1:String=null, _arg2:String=null){
_content = {};
super();
mx_internal::_locale = _arg1;
mx_internal::_bundleName = _arg2;
_content = getContent();
}
protected function getContent():Object{
return ({});
}
public function getString(_arg1:String):String{
return (String(_getObject(_arg1)));
}
public function get content():Object{
return (_content);
}
public function getBoolean(_arg1:String, _arg2:Boolean=true):Boolean{
var _local3:String = _getObject(_arg1).toLowerCase();
if (_local3 == "false"){
return (false);
};
if (_local3 == "true"){
return (true);
};
return (_arg2);
}
public function getStringArray(_arg1:String):Array{
var _local2:Array = _getObject(_arg1).split(",");
var _local3:int = _local2.length;
var _local4:int;
while (_local4 < _local3) {
_local2[_local4] = StringUtil.trim(_local2[_local4]);
_local4++;
};
return (_local2);
}
public function getObject(_arg1:String):Object{
return (_getObject(_arg1));
}
private function _getObject(_arg1:String):Object{
var _local2:Object = content[_arg1];
if (!_local2){
throw (new Error(((("Key " + _arg1) + " was not found in resource bundle ") + bundleName)));
};
return (_local2);
}
public function get locale():String{
return (mx_internal::_locale);
}
public function get bundleName():String{
return (mx_internal::_bundleName);
}
public function getNumber(_arg1:String):Number{
return (Number(_getObject(_arg1)));
}
private static function getClassByName(_arg1:String, _arg2:ApplicationDomain):Class{
var _local3:Class;
if (_arg2.hasDefinition(_arg1)){
_local3 = (_arg2.getDefinition(_arg1) as Class);
};
return (_local3);
}
public static function getResourceBundle(_arg1:String, _arg2:ApplicationDomain=null):ResourceBundle{
var _local3:String;
var _local4:Class;
var _local5:Object;
var _local6:ResourceBundle;
if (!_arg2){
_arg2 = ApplicationDomain.currentDomain;
};
_local3 = (((mx_internal::locale + "$") + _arg1) + "_properties");
_local4 = getClassByName(_local3, _arg2);
if (!_local4){
_local3 = (_arg1 + "_properties");
_local4 = getClassByName(_local3, _arg2);
};
if (!_local4){
_local3 = _arg1;
_local4 = getClassByName(_local3, _arg2);
};
if (((!(_local4)) && (mx_internal::backupApplicationDomain))){
_local3 = (_arg1 + "_properties");
_local4 = getClassByName(_local3, mx_internal::backupApplicationDomain);
if (!_local4){
_local3 = _arg1;
_local4 = getClassByName(_local3, mx_internal::backupApplicationDomain);
};
};
if (_local4){
_local5 = new (_local4);
if ((_local5 is ResourceBundle)){
_local6 = ResourceBundle(_local5);
return (_local6);
};
};
throw (new Error(("Could not find resource bundle " + _arg1)));
}
}
}//package mx.resources
Section 393
//ResourceManager (mx.resources.ResourceManager)
package mx.resources {
import mx.core.*;
public class ResourceManager {
mx_internal static const VERSION:String = "3.3.0.4852";
private static var implClassDependency:ResourceManagerImpl;
private static var instance:IResourceManager;
public static function getInstance():IResourceManager{
if (!instance){
try {
instance = IResourceManager(Singleton.getInstance("mx.resources::IResourceManager"));
} catch(e:Error) {
instance = new ResourceManagerImpl();
};
};
return (instance);
}
}
}//package mx.resources
Section 394
//ResourceManagerImpl (mx.resources.ResourceManagerImpl)
package mx.resources {
import flash.events.*;
import mx.core.*;
import flash.system.*;
import mx.modules.*;
import mx.events.*;
import flash.utils.*;
import mx.utils.*;
public class ResourceManagerImpl extends EventDispatcher implements IResourceManager {
private var resourceModules:Object;
private var initializedForNonFrameworkApp:Boolean;// = false
private var localeMap:Object;
private var _localeChain:Array;
mx_internal static const VERSION:String = "3.3.0.4852";
private static var instance:IResourceManager;
public function ResourceManagerImpl(){
localeMap = {};
resourceModules = {};
super();
}
public function get localeChain():Array{
return (_localeChain);
}
public function set localeChain(_arg1:Array):void{
_localeChain = _arg1;
update();
}
public function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (null);
};
var _local5:* = _local4.content[_arg2];
var _local6:Array = String(_local5).split(",");
var _local7:int = _local6.length;
var _local8:int;
while (_local8 < _local7) {
_local6[_local8] = StringUtil.trim(_local6[_local8]);
_local8++;
};
return (_local6);
}
mx_internal function installCompiledResourceBundle(_arg1:ApplicationDomain, _arg2:String, _arg3:String):void{
var _local4:String;
var _local5:String = _arg3;
var _local6:int = _arg3.indexOf(":");
if (_local6 != -1){
_local4 = _arg3.substring(0, _local6);
_local5 = _arg3.substring((_local6 + 1));
};
if (getResourceBundle(_arg2, _arg3)){
return;
};
var _local7 = (((_arg2 + "$") + _local5) + "_properties");
if (_local4 != null){
_local7 = ((_local4 + ".") + _local7);
};
var _local8:Class;
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
if (!_local8){
_local7 = _arg3;
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
};
if (!_local8){
_local7 = (_arg3 + "_properties");
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
};
if (!_local8){
throw (new Error((((("Could not find compiled resource bundle '" + _arg3) + "' for locale '") + _arg2) + "'.")));
};
var _local9:ResourceBundle = ResourceBundle(new (_local8));
_local9.mx_internal::_locale = _arg2;
_local9.mx_internal::_bundleName = _arg3;
addResourceBundle(_local9);
}
public function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String{
var _local5:IResourceBundle = findBundle(_arg1, _arg2, _arg4);
if (!_local5){
return (null);
};
var _local6:String = String(_local5.content[_arg2]);
if (_arg3){
_local6 = StringUtil.substitute(_local6, _arg3);
};
return (_local6);
}
public function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{
var moduleInfo:IModuleInfo;
var resourceEventDispatcher:ResourceEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = _arg1;
var updateFlag = _arg2;
var applicationDomain = _arg3;
var securityDomain = _arg4;
moduleInfo = ModuleManager.getModule(url);
resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo);
var readyHandler:Function = function (_arg1:ModuleEvent):void{
var _local2:* = _arg1.module.factory.create();
resourceModules[_arg1.module.url].resourceModule = _local2;
if (updateFlag){
update();
};
};
moduleInfo.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
var errorHandler:Function = function (_arg1:ModuleEvent):void{
var _local3:ResourceEvent;
var _local2:String = ("Unable to load resource module from " + url);
if (resourceEventDispatcher.willTrigger(ResourceEvent.ERROR)){
_local3 = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local3.bytesLoaded = 0;
_local3.bytesTotal = 0;
_local3.errorText = _local2;
resourceEventDispatcher.dispatchEvent(_local3);
} else {
throw (new Error(_local2));
};
};
moduleInfo.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
resourceModules[url] = new ResourceModuleInfo(moduleInfo, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (_arg1:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
moduleInfo.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (resourceEventDispatcher);
}
public function getLocales():Array{
var _local2:String;
var _local1:Array = [];
for (_local2 in localeMap) {
_local1.push(_local2);
};
return (_local1);
}
public function removeResourceBundlesForLocale(_arg1:String):void{
delete localeMap[_arg1];
}
public function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle{
var _local3:Object = localeMap[_arg1];
if (!_local3){
return (null);
};
return (_local3[_arg2]);
}
private function dumpResourceModule(_arg1):void{
var _local2:ResourceBundle;
var _local3:String;
for each (_local2 in _arg1.resourceBundles) {
trace(_local2.locale, _local2.bundleName);
for (_local3 in _local2.content) {
};
};
}
public function addResourceBundle(_arg1:IResourceBundle):void{
var _local2:String = _arg1.locale;
var _local3:String = _arg1.bundleName;
if (!localeMap[_local2]){
localeMap[_local2] = {};
};
localeMap[_local2][_local3] = _arg1;
}
public function getObject(_arg1:String, _arg2:String, _arg3:String=null){
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (undefined);
};
return (_local4.content[_arg2]);
}
public function getInt(_arg1:String, _arg2:String, _arg3:String=null):int{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (0);
};
var _local5:* = _local4.content[_arg2];
return (int(_local5));
}
private function findBundle(_arg1:String, _arg2:String, _arg3:String):IResourceBundle{
supportNonFrameworkApps();
return (((_arg3)!=null) ? getResourceBundle(_arg3, _arg1) : findResourceBundleWithResource(_arg1, _arg2));
}
private function supportNonFrameworkApps():void{
if (initializedForNonFrameworkApp){
return;
};
initializedForNonFrameworkApp = true;
if (getLocales().length > 0){
return;
};
var _local1:ApplicationDomain = ApplicationDomain.currentDomain;
if (!_local1.hasDefinition("_CompiledResourceBundleInfo")){
return;
};
var _local2:Class = Class(_local1.getDefinition("_CompiledResourceBundleInfo"));
var _local3:Array = _local2.compiledLocales;
var _local4:Array = _local2.compiledResourceBundleNames;
installCompiledResourceBundles(_local1, _local3, _local4);
localeChain = _local3;
}
public function getBundleNamesForLocale(_arg1:String):Array{
var _local3:String;
var _local2:Array = [];
for (_local3 in localeMap[_arg1]) {
_local2.push(_local3);
};
return (_local2);
}
public function getPreferredLocaleChain():Array{
return (LocaleSorter.sortLocalesByPreference(getLocales(), getSystemPreferredLocales(), null, true));
}
public function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (NaN);
};
var _local5:* = _local4.content[_arg2];
return (Number(_local5));
}
public function update():void{
dispatchEvent(new Event(Event.CHANGE));
}
public function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (null);
};
var _local5:* = _local4.content[_arg2];
return ((_local5 as Class));
}
public function removeResourceBundle(_arg1:String, _arg2:String):void{
delete localeMap[_arg1][_arg2];
if (getBundleNamesForLocale(_arg1).length == 0){
delete localeMap[_arg1];
};
}
public function initializeLocaleChain(_arg1:Array):void{
localeChain = LocaleSorter.sortLocalesByPreference(_arg1, getSystemPreferredLocales(), null, true);
}
public function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle{
var _local5:String;
var _local6:Object;
var _local7:ResourceBundle;
if (!_localeChain){
return (null);
};
var _local3:int = _localeChain.length;
var _local4:int;
while (_local4 < _local3) {
_local5 = localeChain[_local4];
_local6 = localeMap[_local5];
if (!_local6){
} else {
_local7 = _local6[_arg1];
if (!_local7){
} else {
if ((_arg2 in _local7.content)){
return (_local7);
};
};
};
_local4++;
};
return (null);
}
public function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (0);
};
var _local5:* = _local4.content[_arg2];
return (uint(_local5));
}
private function getSystemPreferredLocales():Array{
var _local1:Array;
if (Capabilities["languages"]){
_local1 = Capabilities["languages"];
} else {
_local1 = [Capabilities.language];
};
return (_local1);
}
public function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void{
var _local7:String;
var _local8:int;
var _local9:String;
var _local4:int = (_arg2) ? _arg2.length : 0;
var _local5:int = (_arg3) ? _arg3.length : 0;
var _local6:int;
while (_local6 < _local4) {
_local7 = _arg2[_local6];
_local8 = 0;
while (_local8 < _local5) {
_local9 = _arg3[_local8];
mx_internal::installCompiledResourceBundle(_arg1, _local7, _local9);
_local8++;
};
_local6++;
};
}
public function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (false);
};
var _local5:* = _local4.content[_arg2];
return ((String(_local5).toLowerCase() == "true"));
}
public function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void{
throw (new Error("unloadResourceModule() is not yet implemented."));
}
public static function getInstance():IResourceManager{
if (!instance){
instance = new (ResourceManagerImpl);
};
return (instance);
}
}
}//package mx.resources
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class ResourceModuleInfo {
public var resourceModule:IResourceModule;
public var errorHandler:Function;
public var readyHandler:Function;
public var moduleInfo:IModuleInfo;
private function ResourceModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){
this.moduleInfo = _arg1;
this.readyHandler = _arg2;
this.errorHandler = _arg3;
}
}
class ResourceEventDispatcher extends EventDispatcher {
private function ResourceEventDispatcher(_arg1:IModuleInfo){
_arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE);
dispatchEvent(_local2);
}
private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
_local2.errorText = _arg1.errorText;
dispatchEvent(_local2);
}
}
Section 395
//HaloBorder (mx.skins.halo.HaloBorder)
package mx.skins.halo {
import flash.display.*;
import mx.core.*;
import mx.styles.*;
import mx.skins.*;
import mx.graphics.*;
import mx.utils.*;
public class HaloBorder extends RectangularBorder {
mx_internal var radiusObj:Object;
mx_internal var backgroundHole:Object;
mx_internal var radius:Number;
mx_internal var bRoundedCorners:Boolean;
mx_internal var backgroundColor:Object;
private var dropShadow:RectangularDropShadow;
protected var _borderMetrics:EdgeMetrics;
mx_internal var backgroundAlphaName:String;
mx_internal static const VERSION:String = "3.3.0.4852";
private static var BORDER_WIDTHS:Object = {none:0, solid:1, inset:2, outset:2, alert:3, dropdown:2, menuBorder:1, comboNonEdit:2};
public function HaloBorder(){
BORDER_WIDTHS["default"] = 3;
}
override public function styleChanged(_arg1:String):void{
if ((((((((((_arg1 == null)) || ((_arg1 == "styleName")))) || ((_arg1 == "borderStyle")))) || ((_arg1 == "borderThickness")))) || ((_arg1 == "borderSides")))){
_borderMetrics = null;
};
invalidateDisplayList();
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
if (((isNaN(_arg1)) || (isNaN(_arg2)))){
return;
};
super.updateDisplayList(_arg1, _arg2);
backgroundColor = getBackgroundColor();
bRoundedCorners = false;
backgroundAlphaName = "backgroundAlpha";
backgroundHole = null;
radius = 0;
radiusObj = null;
drawBorder(_arg1, _arg2);
drawBackground(_arg1, _arg2);
}
mx_internal function drawBorder(_arg1:Number, _arg2:Number):void{
var _local5:Number;
var _local6:uint;
var _local7:uint;
var _local8:String;
var _local9:Number;
var _local10:uint;
var _local11:Boolean;
var _local12:uint;
var _local13:Array;
var _local14:Array;
var _local15:uint;
var _local16:uint;
var _local17:uint;
var _local18:uint;
var _local19:Boolean;
var _local20:Object;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Object;
var _local27:Number;
var _local28:Number;
var _local29:IContainer;
var _local30:EdgeMetrics;
var _local31:Boolean;
var _local32:Number;
var _local33:Array;
var _local34:uint;
var _local35:Boolean;
var _local36:Number;
var _local3:String = getStyle("borderStyle");
var _local4:Array = getStyle("highlightAlphas");
var _local21:Boolean;
var _local26:Graphics = graphics;
_local26.clear();
if (_local3){
switch (_local3){
case "none":
break;
case "inset":
_local7 = getStyle("borderColor");
_local22 = ColorUtil.adjustBrightness2(_local7, -40);
_local23 = ColorUtil.adjustBrightness2(_local7, 25);
_local24 = ColorUtil.adjustBrightness2(_local7, 40);
_local25 = backgroundColor;
if ((((_local25 === null)) || ((_local25 === "")))){
_local25 = _local7;
};
draw3dBorder(_local23, _local22, _local24, Number(_local25), Number(_local25), Number(_local25));
break;
case "outset":
_local7 = getStyle("borderColor");
_local22 = ColorUtil.adjustBrightness2(_local7, -40);
_local23 = ColorUtil.adjustBrightness2(_local7, -25);
_local24 = ColorUtil.adjustBrightness2(_local7, 40);
_local25 = backgroundColor;
if ((((_local25 === null)) || ((_local25 === "")))){
_local25 = _local7;
};
draw3dBorder(_local23, _local24, _local22, Number(_local25), Number(_local25), Number(_local25));
break;
case "alert":
case "default":
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_local27 = getStyle("backgroundAlpha");
_local5 = getStyle("borderAlpha");
backgroundAlphaName = "borderAlpha";
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local28 = (bRoundedCorners) ? radius : 0;
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, _local28, _local28);
if (!bRoundedCorners){
radiusObj = {};
};
_local29 = (parent as IContainer);
if (_local29){
_local30 = _local29.viewMetrics;
backgroundHole = {x:_local30.left, y:_local30.top, w:Math.max(0, ((_arg1 - _local30.left) - _local30.right)), h:Math.max(0, ((_arg2 - _local30.top) - _local30.bottom)), r:0};
if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){
if (_local27 != _local5){
drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0);
};
_local26.beginFill(Number(backgroundColor), _local27);
_local26.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h);
_local26.endFill();
};
};
backgroundColor = getStyle("borderColor");
};
break;
case "dropdown":
_local12 = getStyle("dropdownBorderColor");
drawDropShadow(0, 0, _arg1, _arg2, 4, 0, 0, 4);
drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, 5068126, 1);
drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3)));
if (!isNaN(_local12)){
drawRoundRect(0, 0, (_arg1 + 1), _arg2, {tl:4, tr:0, br:0, bl:4}, _local12, 0.5);
drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3)));
};
backgroundColor = null;
break;
case "menuBorder":
_local7 = getStyle("borderColor");
drawRoundRect(0, 0, _arg1, _arg2, 0, _local7, 1);
drawDropShadow(1, 1, (_arg1 - 2), (_arg2 - 2), 0, 0, 0, 0);
break;
case "comboNonEdit":
break;
case "controlBar":
if ((((_arg1 == 0)) || ((_arg2 == 0)))){
backgroundColor = null;
break;
};
_local14 = getStyle("footerColors");
_local31 = !((_local14 == null));
_local32 = getStyle("borderAlpha");
if (_local31){
_local26.lineStyle(0, ((_local14.length > 0)) ? _local14[1] : _local14[0], _local32);
_local26.moveTo(0, 0);
_local26.lineTo(_arg1, 0);
_local26.lineStyle(0, 0, 0);
if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){
radius = IStyleClient(parent.parent).getStyle("cornerRadius");
_local32 = IStyleClient(parent.parent).getStyle("borderAlpha");
};
if (isNaN(radius)){
radius = 0;
};
if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){
radius = 0;
};
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2));
if ((((_local14.length > 1)) && (!((_local14[0] == _local14[1]))))){
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(1, 2, (_arg1 - 2), (_arg2 - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2));
};
};
backgroundColor = null;
break;
case "applicationControlBar":
_local13 = getStyle("fillColors");
_local5 = getStyle("backgroundAlpha");
_local4 = getStyle("highlightAlphas");
_local33 = getStyle("fillAlphas");
_local11 = getStyle("docked");
_local34 = uint(backgroundColor);
radius = getStyle("cornerRadius");
if (!radius){
radius = 0;
};
drawDropShadow(0, 1, _arg1, (_arg2 - 1), radius, radius, radius, radius);
if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){
drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local34, _local5, verticalGradientMatrix(0, 0, _arg1, _arg2));
};
drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local13, _local33, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(0, 1, _arg1, ((_arg2 / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, ((_arg2 / 2) - 1)));
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:_arg1, h:(_arg2 - 2), r:{tl:radius, tr:radius, bl:0, br:0}});
backgroundColor = null;
break;
default:
_local7 = getStyle("borderColor");
_local9 = getStyle("borderThickness");
_local8 = getStyle("borderSides");
_local35 = true;
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local36 = Math.max((radius - _local9), 0);
_local20 = {x:_local9, y:_local9, w:(_arg1 - (_local9 * 2)), h:(_arg2 - (_local9 * 2)), r:_local36};
if (!bRoundedCorners){
radiusObj = {tl:radius, tr:radius, bl:0, br:0};
_local20.r = {tl:_local36, tr:_local36, bl:0, br:0};
};
if (_local8 != "left top right bottom"){
_local20.r = {tl:_local36, tr:_local36, bl:(bRoundedCorners) ? _local36 : 0, br:(bRoundedCorners) ? _local36 : 0};
radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0};
_local8 = _local8.toLowerCase();
if (_local8.indexOf("left") == -1){
_local20.x = 0;
_local20.w = (_local20.w + _local9);
_local20.r.tl = 0;
_local20.r.bl = 0;
radiusObj.tl = 0;
radiusObj.bl = 0;
_local35 = false;
};
if (_local8.indexOf("top") == -1){
_local20.y = 0;
_local20.h = (_local20.h + _local9);
_local20.r.tl = 0;
_local20.r.tr = 0;
radiusObj.tl = 0;
radiusObj.tr = 0;
_local35 = false;
};
if (_local8.indexOf("right") == -1){
_local20.w = (_local20.w + _local9);
_local20.r.tr = 0;
_local20.r.br = 0;
radiusObj.tr = 0;
radiusObj.br = 0;
_local35 = false;
};
if (_local8.indexOf("bottom") == -1){
_local20.h = (_local20.h + _local9);
_local20.r.bl = 0;
_local20.r.br = 0;
radiusObj.bl = 0;
radiusObj.br = 0;
_local35 = false;
};
};
if ((((radius == 0)) && (_local35))){
drawDropShadow(0, 0, _arg1, _arg2, 0, 0, 0, 0);
_local26.beginFill(_local7);
_local26.drawRect(0, 0, _arg1, _arg2);
_local26.drawRect(_local9, _local9, (_arg1 - (2 * _local9)), (_arg2 - (2 * _local9)));
_local26.endFill();
} else {
if (radiusObj){
drawDropShadow(0, 0, _arg1, _arg2, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl);
drawRoundRect(0, 0, _arg1, _arg2, radiusObj, _local7, 1, null, null, null, _local20);
radiusObj.tl = Math.max((radius - _local9), 0);
radiusObj.tr = Math.max((radius - _local9), 0);
radiusObj.bl = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0;
radiusObj.br = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0;
} else {
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, radius, radius);
drawRoundRect(0, 0, _arg1, _arg2, radius, _local7, 1, null, null, null, _local20);
radius = Math.max((getStyle("cornerRadius") - _local9), 0);
};
};
};
};
}
mx_internal function drawBackground(_arg1:Number, _arg2:Number):void{
var _local4:Number;
var _local5:Number;
var _local6:EdgeMetrics;
var _local7:Graphics;
var _local8:Number;
var _local9:Number;
var _local10:Array;
var _local11:Number;
if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){
_local4 = Number(backgroundColor);
_local5 = 1;
_local6 = getBackgroundColorMetrics();
_local7 = graphics;
if (((((isNaN(_local4)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){
_local5 = 0;
_local4 = 0xFFFFFF;
} else {
_local5 = getStyle(backgroundAlphaName);
};
if (((!((radius == 0))) || (backgroundHole))){
_local8 = _local6.bottom;
if (radiusObj){
_local9 = (bRoundedCorners) ? radius : 0;
radiusObj = {tl:radius, tr:radius, bl:_local9, br:_local9};
drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radiusObj, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole);
} else {
drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radius, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole);
};
} else {
_local7.beginFill(_local4, _local5);
_local7.drawRect(_local6.left, _local6.top, ((_arg1 - _local6.right) - _local6.left), ((_arg2 - _local6.bottom) - _local6.top));
_local7.endFill();
};
};
var _local3:String = getStyle("borderStyle");
if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((_local3 == "alert")) || ((_local3 == "default")))))) && ((getStyle("headerColors") == null)))){
_local10 = getStyle("highlightAlphas");
_local11 = (_local10) ? _local10[0] : 0.3;
drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local11, null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:radius, tr:radius, bl:0, br:0}});
};
}
mx_internal function drawDropShadow(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{
var _local11:Number;
var _local12:Boolean;
if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((_arg3 == 0)))) || ((_arg4 == 0)))){
return;
};
var _local9:Number = getStyle("shadowDistance");
var _local10:String = getStyle("shadowDirection");
if (getStyle("borderStyle") == "applicationControlBar"){
_local12 = getStyle("docked");
_local11 = (_local12) ? 90 : getDropShadowAngle(_local9, _local10);
_local9 = Math.abs(_local9);
} else {
_local11 = getDropShadowAngle(_local9, _local10);
_local9 = (Math.abs(_local9) + 2);
};
if (!dropShadow){
dropShadow = new RectangularDropShadow();
};
dropShadow.distance = _local9;
dropShadow.angle = _local11;
dropShadow.color = getStyle("dropShadowColor");
dropShadow.alpha = 0.4;
dropShadow.tlRadius = _arg5;
dropShadow.trRadius = _arg6;
dropShadow.blRadius = _arg8;
dropShadow.brRadius = _arg7;
dropShadow.drawShadow(graphics, _arg1, _arg2, _arg3, _arg4);
}
mx_internal function getBackgroundColor():Object{
var _local2:Object;
var _local1:IUIComponent = (parent as IUIComponent);
if (((_local1) && (!(_local1.enabled)))){
_local2 = getStyle("backgroundDisabledColor");
if (((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))){
return (_local2);
};
};
return (getStyle("backgroundColor"));
}
mx_internal function draw3dBorder(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{
var _local7:Number = width;
var _local8:Number = height;
drawDropShadow(0, 0, width, height, 0, 0, 0, 0);
var _local9:Graphics = graphics;
_local9.beginFill(_arg1);
_local9.drawRect(0, 0, _local7, _local8);
_local9.drawRect(1, 0, (_local7 - 2), _local8);
_local9.endFill();
_local9.beginFill(_arg2);
_local9.drawRect(1, 0, (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg3);
_local9.drawRect(1, (_local8 - 1), (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg4);
_local9.drawRect(1, 1, (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg5);
_local9.drawRect(1, (_local8 - 2), (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg6);
_local9.drawRect(1, 2, (_local7 - 2), (_local8 - 4));
_local9.drawRect(2, 2, (_local7 - 4), (_local8 - 4));
_local9.endFill();
}
mx_internal function getBackgroundColorMetrics():EdgeMetrics{
return (borderMetrics);
}
mx_internal function getDropShadowAngle(_arg1:Number, _arg2:String):Number{
if (_arg2 == "left"){
return (((_arg1 >= 0)) ? 135 : 225);
//unresolved jump
};
if (_arg2 == "right"){
return (((_arg1 >= 0)) ? 45 : 315);
//unresolved jump
};
return (((_arg1 >= 0)) ? 90 : 270);
}
override public function get borderMetrics():EdgeMetrics{
var _local1:Number;
var _local3:String;
if (_borderMetrics){
return (_borderMetrics);
};
var _local2:String = getStyle("borderStyle");
if ((((_local2 == "default")) || ((_local2 == "alert")))){
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_borderMetrics = new EdgeMetrics(0, 0, 0, 0);
} else {
return (EdgeMetrics.EMPTY);
};
} else {
if ((((_local2 == "controlBar")) || ((_local2 == "applicationControlBar")))){
_borderMetrics = new EdgeMetrics(1, 1, 1, 1);
} else {
if (_local2 == "solid"){
_local1 = getStyle("borderThickness");
if (isNaN(_local1)){
_local1 = 0;
};
_borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1);
_local3 = getStyle("borderSides");
if (_local3 != "left top right bottom"){
if (_local3.indexOf("left") == -1){
_borderMetrics.left = 0;
};
if (_local3.indexOf("top") == -1){
_borderMetrics.top = 0;
};
if (_local3.indexOf("right") == -1){
_borderMetrics.right = 0;
};
if (_local3.indexOf("bottom") == -1){
_borderMetrics.bottom = 0;
};
};
} else {
_local1 = BORDER_WIDTHS[_local2];
if (isNaN(_local1)){
_local1 = 0;
};
_borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1);
};
};
};
return (_borderMetrics);
}
}
}//package mx.skins.halo
Section 396
//HaloFocusRect (mx.skins.halo.HaloFocusRect)
package mx.skins.halo {
import flash.display.*;
import mx.core.*;
import mx.styles.*;
import mx.skins.*;
import mx.utils.*;
public class HaloFocusRect extends ProgrammaticSkin implements IStyleClient {
private var _focusColor:Number;
mx_internal static const VERSION:String = "3.3.0.4852";
public function get inheritingStyles():Object{
return (styleName.inheritingStyles);
}
public function set inheritingStyles(_arg1:Object):void{
}
public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{
}
public function registerEffects(_arg1:Array):void{
}
public function regenerateStyleCache(_arg1:Boolean):void{
}
public function get styleDeclaration():CSSStyleDeclaration{
return (CSSStyleDeclaration(styleName));
}
public function getClassStyleDeclarations():Array{
return ([]);
}
public function get className():String{
return ("HaloFocusRect");
}
public function clearStyle(_arg1:String):void{
if (_arg1 == "focusColor"){
_focusColor = NaN;
};
}
public function setStyle(_arg1:String, _arg2):void{
if (_arg1 == "focusColor"){
_focusColor = _arg2;
};
}
public function set nonInheritingStyles(_arg1:Object):void{
}
public function get nonInheritingStyles():Object{
return (styleName.nonInheritingStyles);
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
super.updateDisplayList(_arg1, _arg2);
var _local3:String = getStyle("focusBlendMode");
var _local4:Number = getStyle("focusAlpha");
var _local5:Number = getStyle("focusColor");
var _local6:Number = getStyle("cornerRadius");
var _local7:Number = getStyle("focusThickness");
var _local8:String = getStyle("focusRoundedCorners");
var _local9:Number = getStyle("themeColor");
var _local10:Number = _local5;
if (isNaN(_local10)){
_local10 = _local9;
};
var _local11:Graphics = graphics;
_local11.clear();
if (_local3){
blendMode = _local3;
};
if (((!((_local8 == "tl tr bl br"))) && ((_local6 > 0)))){
_local12 = 0;
_local13 = 0;
_local14 = 0;
_local15 = 0;
_local16 = (_local6 + _local7);
if (_local8.indexOf("tl") >= 0){
_local12 = _local16;
};
if (_local8.indexOf("tr") >= 0){
_local14 = _local16;
};
if (_local8.indexOf("bl") >= 0){
_local13 = _local16;
};
if (_local8.indexOf("br") >= 0){
_local15 = _local16;
};
_local11.beginFill(_local10, _local4);
GraphicsUtil.drawRoundRectComplex(_local11, 0, 0, _arg1, _arg2, _local12, _local14, _local13, _local15);
_local12 = (_local12) ? _local6 : 0;
_local14 = (_local14) ? _local6 : 0;
_local13 = (_local13) ? _local6 : 0;
_local15 = (_local15) ? _local6 : 0;
GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15);
_local11.endFill();
_local16 = (_local6 + (_local7 / 2));
_local12 = (_local12) ? _local16 : 0;
_local14 = (_local14) ? _local16 : 0;
_local13 = (_local13) ? _local16 : 0;
_local15 = (_local15) ? _local16 : 0;
_local11.beginFill(_local10, _local4);
GraphicsUtil.drawRoundRectComplex(_local11, (_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local12, _local14, _local13, _local15);
_local12 = (_local12) ? _local6 : 0;
_local14 = (_local14) ? _local6 : 0;
_local13 = (_local13) ? _local6 : 0;
_local15 = (_local15) ? _local6 : 0;
GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15);
_local11.endFill();
} else {
_local11.beginFill(_local10, _local4);
_local17 = (((_local6 > 0)) ? (_local6 + _local7) : 0 * 2);
_local11.drawRoundRect(0, 0, _arg1, _arg2, _local17, _local17);
_local17 = (_local6 * 2);
_local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17);
_local11.endFill();
_local11.beginFill(_local10, _local4);
_local17 = (((_local6 > 0)) ? (_local6 + (_local7 / 2)) : 0 * 2);
_local11.drawRoundRect((_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local17, _local17);
_local17 = (_local6 * 2);
_local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17);
_local11.endFill();
};
}
override public function getStyle(_arg1:String){
return (((_arg1 == "focusColor")) ? _focusColor : super.getStyle(_arg1));
}
public function set styleDeclaration(_arg1:CSSStyleDeclaration):void{
}
}
}//package mx.skins.halo
Section 397
//Border (mx.skins.Border)
package mx.skins {
import mx.core.*;
public class Border extends ProgrammaticSkin implements IBorder {
mx_internal static const VERSION:String = "3.3.0.4852";
public function get borderMetrics():EdgeMetrics{
return (EdgeMetrics.EMPTY);
}
}
}//package mx.skins
Section 398
//ProgrammaticSkin (mx.skins.ProgrammaticSkin)
package mx.skins {
import flash.display.*;
import mx.core.*;
import flash.geom.*;
import mx.styles.*;
import mx.managers.*;
import mx.utils.*;
public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin {
private var _initialized:Boolean;// = false
private var _height:Number;
private var invalidateDisplayListFlag:Boolean;// = false
private var _styleName:IStyleClient;
private var _nestLevel:int;// = 0
private var _processedDescriptors:Boolean;// = false
private var _updateCompletePendingFlag:Boolean;// = true
private var _width:Number;
mx_internal static const VERSION:String = "3.3.0.4852";
private static var tempMatrix:Matrix = new Matrix();
public function ProgrammaticSkin(){
_width = measuredWidth;
_height = measuredHeight;
}
public function getStyle(_arg1:String){
return ((_styleName) ? _styleName.getStyle(_arg1) : null);
}
protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
}
public function get nestLevel():int{
return (_nestLevel);
}
public function set nestLevel(_arg1:int):void{
_nestLevel = _arg1;
invalidateDisplayList();
}
override public function get height():Number{
return (_height);
}
public function get updateCompletePendingFlag():Boolean{
return (_updateCompletePendingFlag);
}
protected function verticalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{
return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 90));
}
public function validateSize(_arg1:Boolean=false):void{
}
public function invalidateDisplayList():void{
if (((!(invalidateDisplayListFlag)) && ((nestLevel > 0)))){
invalidateDisplayListFlag = true;
UIComponentGlobals.layoutManager.invalidateDisplayList(this);
};
}
public function set updateCompletePendingFlag(_arg1:Boolean):void{
_updateCompletePendingFlag = _arg1;
}
protected function horizontalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{
return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 0));
}
override public function set height(_arg1:Number):void{
_height = _arg1;
invalidateDisplayList();
}
public function set processedDescriptors(_arg1:Boolean):void{
_processedDescriptors = _arg1;
}
public function validateDisplayList():void{
invalidateDisplayListFlag = false;
updateDisplayList(width, height);
}
public function get measuredWidth():Number{
return (0);
}
override public function set width(_arg1:Number):void{
_width = _arg1;
invalidateDisplayList();
}
public function get measuredHeight():Number{
return (0);
}
public function set initialized(_arg1:Boolean):void{
_initialized = _arg1;
}
protected function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null, _arg6:Object=null, _arg7:Object=null, _arg8:Matrix=null, _arg9:String="linear", _arg10:Array=null, _arg11:Object=null):void{
var _local13:Number;
var _local14:Array;
var _local15:Object;
var _local12:Graphics = graphics;
if ((((_arg3 == 0)) || ((_arg4 == 0)))){
return;
};
if (_arg6 !== null){
if ((_arg6 is uint)){
_local12.beginFill(uint(_arg6), Number(_arg7));
} else {
if ((_arg6 is Array)){
_local14 = ((_arg7 is Array)) ? (_arg7 as Array) : [_arg7, _arg7];
if (!_arg10){
_arg10 = [0, 0xFF];
};
_local12.beginGradientFill(_arg9, (_arg6 as Array), _local14, _arg10, _arg8);
};
};
};
if (!_arg5){
_local12.drawRect(_arg1, _arg2, _arg3, _arg4);
} else {
if ((_arg5 is Number)){
_local13 = (Number(_arg5) * 2);
_local12.drawRoundRect(_arg1, _arg2, _arg3, _arg4, _local13, _local13);
} else {
GraphicsUtil.drawRoundRectComplex(_local12, _arg1, _arg2, _arg3, _arg4, _arg5.tl, _arg5.tr, _arg5.bl, _arg5.br);
};
};
if (_arg11){
_local15 = _arg11.r;
if ((_local15 is Number)){
_local13 = (Number(_local15) * 2);
_local12.drawRoundRect(_arg11.x, _arg11.y, _arg11.w, _arg11.h, _local13, _local13);
} else {
GraphicsUtil.drawRoundRectComplex(_local12, _arg11.x, _arg11.y, _arg11.w, _arg11.h, _local15.tl, _local15.tr, _local15.bl, _local15.br);
};
};
if (_arg6 !== null){
_local12.endFill();
};
}
public function get processedDescriptors():Boolean{
return (_processedDescriptors);
}
public function set styleName(_arg1:Object):void{
if (_styleName != _arg1){
_styleName = (_arg1 as IStyleClient);
invalidateDisplayList();
};
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
var _local3:Boolean;
if (_width != _arg1){
_width = _arg1;
_local3 = true;
};
if (_height != _arg2){
_height = _arg2;
_local3 = true;
};
if (_local3){
invalidateDisplayList();
};
}
public function styleChanged(_arg1:String):void{
invalidateDisplayList();
}
override public function get width():Number{
return (_width);
}
public function invalidateProperties():void{
}
public function get initialized():Boolean{
return (_initialized);
}
protected function rotatedGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Matrix{
tempMatrix.createGradientBox(_arg3, _arg4, ((_arg5 * Math.PI) / 180), _arg1, _arg2);
return (tempMatrix);
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
public function get styleName():Object{
return (_styleName);
}
public function validateNow():void{
if (invalidateDisplayListFlag){
validateDisplayList();
};
}
public function invalidateSize():void{
}
public function validateProperties():void{
}
}
}//package mx.skins
Section 399
//RectangularBorder (mx.skins.RectangularBorder)
package mx.skins {
import flash.events.*;
import flash.display.*;
import mx.core.*;
import flash.geom.*;
import mx.styles.*;
import flash.system.*;
import mx.resources.*;
import flash.net.*;
import flash.utils.*;
public class RectangularBorder extends Border implements IRectangularBorder {
private var backgroundImage:DisplayObject;
private var backgroundImageHeight:Number;
private var _backgroundImageBounds:Rectangle;
private var backgroundImageStyle:Object;
private var backgroundImageWidth:Number;
private var resourceManager:IResourceManager;
mx_internal static const VERSION:String = "3.3.0.4852";
public function RectangularBorder(){
resourceManager = ResourceManager.getInstance();
super();
addEventListener(Event.REMOVED, removedHandler);
}
public function layoutBackgroundImage():void{
var _local4:Number;
var _local5:Number;
var _local7:Number;
var _local8:Number;
var _local14:Number;
var _local15:Graphics;
var _local1:DisplayObject = parent;
var _local2:EdgeMetrics = ((_local1 is IContainer)) ? IContainer(_local1).viewMetrics : borderMetrics;
var _local3 = !((getStyle("backgroundAttachment") == "fixed"));
if (_backgroundImageBounds){
_local4 = _backgroundImageBounds.width;
_local5 = _backgroundImageBounds.height;
} else {
_local4 = ((width - _local2.left) - _local2.right);
_local5 = ((height - _local2.top) - _local2.bottom);
};
var _local6:Number = getBackgroundSize();
if (isNaN(_local6)){
_local7 = 1;
_local8 = 1;
} else {
_local14 = (_local6 * 0.01);
_local7 = ((_local14 * _local4) / backgroundImageWidth);
_local8 = ((_local14 * _local5) / backgroundImageHeight);
};
backgroundImage.scaleX = _local7;
backgroundImage.scaleY = _local8;
var _local9:Number = Math.round((0.5 * (_local4 - (backgroundImageWidth * _local7))));
var _local10:Number = Math.round((0.5 * (_local5 - (backgroundImageHeight * _local8))));
backgroundImage.x = _local2.left;
backgroundImage.y = _local2.top;
var _local11:Shape = Shape(backgroundImage.mask);
_local11.x = _local2.left;
_local11.y = _local2.top;
if (((_local3) && ((_local1 is IContainer)))){
_local9 = (_local9 - IContainer(_local1).horizontalScrollPosition);
_local10 = (_local10 - IContainer(_local1).verticalScrollPosition);
};
backgroundImage.alpha = getStyle("backgroundAlpha");
backgroundImage.x = (backgroundImage.x + _local9);
backgroundImage.y = (backgroundImage.y + _local10);
var _local12:Number = ((width - _local2.left) - _local2.right);
var _local13:Number = ((height - _local2.top) - _local2.bottom);
if (((!((_local11.width == _local12))) || (!((_local11.height == _local13))))){
_local15 = _local11.graphics;
_local15.clear();
_local15.beginFill(0xFFFFFF);
_local15.drawRect(0, 0, _local12, _local13);
_local15.endFill();
};
}
public function set backgroundImageBounds(_arg1:Rectangle):void{
_backgroundImageBounds = _arg1;
invalidateDisplayList();
}
private function getBackgroundSize():Number{
var _local3:int;
var _local1:Number = NaN;
var _local2:Object = getStyle("backgroundSize");
if (((_local2) && ((_local2 is String)))){
_local3 = _local2.indexOf("%");
if (_local3 != -1){
_local1 = Number(_local2.substr(0, _local3));
};
};
return (_local1);
}
private function removedHandler(_arg1:Event):void{
var _local2:IChildList;
if (backgroundImage){
_local2 = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
_local2.removeChild(backgroundImage.mask);
_local2.removeChild(backgroundImage);
backgroundImage = null;
};
}
private function initBackgroundImage(_arg1:DisplayObject):void{
backgroundImage = _arg1;
if ((_arg1 is Loader)){
backgroundImageWidth = Loader(_arg1).contentLoaderInfo.width;
backgroundImageHeight = Loader(_arg1).contentLoaderInfo.height;
} else {
backgroundImageWidth = backgroundImage.width;
backgroundImageHeight = backgroundImage.height;
if ((_arg1 is ISimpleStyleClient)){
ISimpleStyleClient(_arg1).styleName = styleName;
};
};
var _local2:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
var _local3:Shape = new FlexShape();
_local3.name = "backgroundMask";
_local3.x = 0;
_local3.y = 0;
_local2.addChild(_local3);
var _local4:int = _local2.getChildIndex(this);
_local2.addChildAt(backgroundImage, (_local4 + 1));
backgroundImage.mask = _local3;
}
public function get backgroundImageBounds():Rectangle{
return (_backgroundImageBounds);
}
public function get hasBackgroundImage():Boolean{
return (!((backgroundImage == null)));
}
private function completeEventHandler(_arg1:Event):void{
if (!parent){
return;
};
var _local2:DisplayObject = DisplayObject(LoaderInfo(_arg1.target).loader);
initBackgroundImage(_local2);
layoutBackgroundImage();
dispatchEvent(_arg1.clone());
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
var cls:Class;
var newStyleObj:DisplayObject;
var loader:Loader;
var loaderContext:LoaderContext;
var message:String;
var unscaledWidth = _arg1;
var unscaledHeight = _arg2;
if (!parent){
return;
};
var newStyle:Object = getStyle("backgroundImage");
if (newStyle != backgroundImageStyle){
removedHandler(null);
backgroundImageStyle = newStyle;
if (((newStyle) && ((newStyle as Class)))){
cls = Class(newStyle);
initBackgroundImage(new (cls));
} else {
if (((newStyle) && ((newStyle is String)))){
try {
cls = Class(getDefinitionByName(String(newStyle)));
} catch(e:Error) {
};
if (cls){
newStyleObj = new (cls);
initBackgroundImage(newStyleObj);
} else {
loader = new FlexLoader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeEventHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler);
loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, errorEventHandler);
loaderContext = new LoaderContext();
loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
loader.load(new URLRequest(String(newStyle)), loaderContext);
};
} else {
if (newStyle){
message = resourceManager.getString("skins", "notLoaded", [newStyle]);
throw (new Error(message));
};
};
};
};
if (backgroundImage){
layoutBackgroundImage();
};
}
private function errorEventHandler(_arg1:Event):void{
}
}
}//package mx.skins
Section 400
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration)
package mx.styles {
import flash.events.*;
import flash.display.*;
import mx.core.*;
import mx.managers.*;
import flash.utils.*;
public class CSSStyleDeclaration extends EventDispatcher {
mx_internal var effects:Array;
protected var overrides:Object;
public var defaultFactory:Function;
public var factory:Function;
mx_internal var selectorRefCount:int;// = 0
private var styleManager:IStyleManager2;
private var clones:Dictionary;
mx_internal static const VERSION:String = "3.3.0.4852";
private static const NOT_A_COLOR:uint = 4294967295;
private static const FILTERMAP_PROP:String = "__reserved__filterMap";
public function CSSStyleDeclaration(_arg1:String=null){
clones = new Dictionary(true);
super();
if (_arg1){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
styleManager.setStyleDeclaration(_arg1, this, false);
};
}
mx_internal function addStyleToProtoChain(_arg1:Object, _arg2:DisplayObject, _arg3:Object=null):Object{
var p:String;
var emptyObjectFactory:Function;
var filteredChain:Object;
var filterObjectFactory:Function;
var i:String;
var chain = _arg1;
var target = _arg2;
var filterMap = _arg3;
var nodeAddedToChain:Boolean;
var originalChain:Object = chain;
if (filterMap){
chain = {};
};
if (defaultFactory != null){
defaultFactory.prototype = chain;
chain = new defaultFactory();
nodeAddedToChain = true;
};
if (factory != null){
factory.prototype = chain;
chain = new factory();
nodeAddedToChain = true;
};
if (overrides){
if ((((defaultFactory == null)) && ((factory == null)))){
emptyObjectFactory = function ():void{
};
emptyObjectFactory.prototype = chain;
chain = new (emptyObjectFactory);
nodeAddedToChain = true;
};
for (p in overrides) {
if (overrides[p] === undefined){
delete chain[p];
} else {
chain[p] = overrides[p];
};
};
};
if (filterMap){
if (nodeAddedToChain){
filteredChain = {};
filterObjectFactory = function ():void{
};
filterObjectFactory.prototype = originalChain;
filteredChain = new (filterObjectFactory);
for (i in chain) {
if (filterMap[i] != null){
filteredChain[filterMap[i]] = chain[i];
};
};
chain = filteredChain;
chain[FILTERMAP_PROP] = filterMap;
} else {
chain = originalChain;
};
};
if (nodeAddedToChain){
clones[chain] = 1;
};
return (chain);
}
public function getStyle(_arg1:String){
var _local2:*;
var _local3:*;
if (overrides){
if ((((_arg1 in overrides)) && ((overrides[_arg1] === undefined)))){
return (undefined);
};
_local3 = overrides[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
if (factory != null){
factory.prototype = {};
_local2 = new factory();
_local3 = _local2[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
if (defaultFactory != null){
defaultFactory.prototype = {};
_local2 = new defaultFactory();
_local3 = _local2[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
return (undefined);
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, undefined);
}
public function setStyle(_arg1:String, _arg2):void{
var _local7:int;
var _local8:Object;
var _local3:Object = getStyle(_arg1);
var _local4:Boolean;
if ((((((((((selectorRefCount > 0)) && ((factory == null)))) && ((defaultFactory == null)))) && (!(overrides)))) && (!((_local3 === _arg2))))){
_local4 = true;
};
if (_arg2 !== undefined){
setStyle(_arg1, _arg2);
} else {
if (_arg2 == _local3){
return;
};
setStyle(_arg1, _arg2);
};
var _local5:Array = SystemManagerGlobals.topLevelSystemManagers;
var _local6:int = _local5.length;
if (_local4){
_local7 = 0;
while (_local7 < _local6) {
_local8 = _local5[_local7];
_local8.regenerateStyleCache(true);
_local7++;
};
};
_local7 = 0;
while (_local7 < _local6) {
_local8 = _local5[_local7];
_local8.notifyStyleChangeInChildren(_arg1, true);
_local7++;
};
}
private function clearStyleAttr(_arg1:String):void{
var _local2:*;
if (!overrides){
overrides = {};
};
overrides[_arg1] = undefined;
for (_local2 in clones) {
delete _local2[_arg1];
};
}
mx_internal function createProtoChainRoot():Object{
var _local1:Object = {};
if (defaultFactory != null){
defaultFactory.prototype = _local1;
_local1 = new defaultFactory();
};
if (factory != null){
factory.prototype = _local1;
_local1 = new factory();
};
clones[_local1] = 1;
return (_local1);
}
mx_internal function clearOverride(_arg1:String):void{
if (((overrides) && (overrides[_arg1]))){
delete overrides[_arg1];
};
}
mx_internal function setStyle(_arg1:String, _arg2):void{
var _local3:Object;
var _local4:*;
var _local5:Number;
var _local6:Object;
if (_arg2 === undefined){
clearStyleAttr(_arg1);
return;
};
if ((_arg2 is String)){
if (!styleManager){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
};
_local5 = styleManager.getColorName(_arg2);
if (_local5 != NOT_A_COLOR){
_arg2 = _local5;
};
};
if (defaultFactory != null){
_local3 = new defaultFactory();
if (_local3[_arg1] !== _arg2){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
} else {
if (overrides){
delete overrides[_arg1];
};
};
};
if (factory != null){
_local3 = new factory();
if (_local3[_arg1] !== _arg2){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
} else {
if (overrides){
delete overrides[_arg1];
};
};
};
if ((((defaultFactory == null)) && ((factory == null)))){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
};
for (_local4 in clones) {
_local6 = _local4[FILTERMAP_PROP];
if (_local6){
if (_local6[_arg1] != null){
_local4[_local6[_arg1]] = _arg2;
};
} else {
_local4[_arg1] = _arg2;
};
};
}
}
}//package mx.styles
Section 401
//ISimpleStyleClient (mx.styles.ISimpleStyleClient)
package mx.styles {
public interface ISimpleStyleClient {
function set styleName(_arg1:Object):void;
function styleChanged(_arg1:String):void;
function get styleName():Object;
}
}//package mx.styles
Section 402
//IStyleClient (mx.styles.IStyleClient)
package mx.styles {
public interface IStyleClient extends ISimpleStyleClient {
function regenerateStyleCache(_arg1:Boolean):void;
function get className():String;
function clearStyle(_arg1:String):void;
function getClassStyleDeclarations():Array;
function get inheritingStyles():Object;
function set nonInheritingStyles(_arg1:Object):void;
function setStyle(_arg1:String, _arg2):void;
function get styleDeclaration():CSSStyleDeclaration;
function set styleDeclaration(_arg1:CSSStyleDeclaration):void;
function get nonInheritingStyles():Object;
function set inheritingStyles(_arg1:Object):void;
function getStyle(_arg1:String);
function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void;
function registerEffects(_arg1:Array):void;
}
}//package mx.styles
Section 403
//IStyleManager (mx.styles.IStyleManager)
package mx.styles {
import flash.events.*;
public interface IStyleManager {
function isColorName(_arg1:String):Boolean;
function registerParentDisplayListInvalidatingStyle(_arg1:String):void;
function registerInheritingStyle(_arg1:String):void;
function set stylesRoot(_arg1:Object):void;
function get typeSelectorCache():Object;
function styleDeclarationsChanged():void;
function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void;
function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean;
function isSizeInvalidatingStyle(_arg1:String):Boolean;
function get inheritingStyles():Object;
function isValidStyleValue(_arg1):Boolean;
function isParentSizeInvalidatingStyle(_arg1:String):Boolean;
function getColorName(_arg1:Object):uint;
function set typeSelectorCache(_arg1:Object):void;
function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void;
function getColorNames(_arg1:Array):void;
function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher;
function isInheritingStyle(_arg1:String):Boolean;
function set inheritingStyles(_arg1:Object):void;
function get stylesRoot():Object;
function initProtoChainRoots():void;
function registerColorName(_arg1:String, _arg2:uint):void;
function registerParentSizeInvalidatingStyle(_arg1:String):void;
function registerSizeInvalidatingStyle(_arg1:String):void;
function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void;
function isInheritingTextFormatStyle(_arg1:String):Boolean;
function getStyleDeclaration(_arg1:String):CSSStyleDeclaration;
}
}//package mx.styles
Section 404
//IStyleManager2 (mx.styles.IStyleManager2)
package mx.styles {
import flash.events.*;
import flash.system.*;
public interface IStyleManager2 extends IStyleManager {
function get selectors():Array;
function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher;
}
}//package mx.styles
Section 405
//IStyleModule (mx.styles.IStyleModule)
package mx.styles {
public interface IStyleModule {
function unload():void;
}
}//package mx.styles
Section 406
//StyleManager (mx.styles.StyleManager)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.system.*;
public class StyleManager {
mx_internal static const VERSION:String = "3.3.0.4852";
public static const NOT_A_COLOR:uint = 4294967295;
private static var _impl:IStyleManager2;
private static var implClassDependency:StyleManagerImpl;
public static function isParentSizeInvalidatingStyle(_arg1:String):Boolean{
return (impl.isParentSizeInvalidatingStyle(_arg1));
}
public static function registerInheritingStyle(_arg1:String):void{
impl.registerInheritingStyle(_arg1);
}
mx_internal static function set stylesRoot(_arg1:Object):void{
impl.stylesRoot = _arg1;
}
mx_internal static function get inheritingStyles():Object{
return (impl.inheritingStyles);
}
mx_internal static function styleDeclarationsChanged():void{
impl.styleDeclarationsChanged();
}
public static function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{
impl.setStyleDeclaration(_arg1, _arg2, _arg3);
}
public static function registerParentDisplayListInvalidatingStyle(_arg1:String):void{
impl.registerParentDisplayListInvalidatingStyle(_arg1);
}
mx_internal static function get typeSelectorCache():Object{
return (impl.typeSelectorCache);
}
mx_internal static function set inheritingStyles(_arg1:Object):void{
impl.inheritingStyles = _arg1;
}
public static function isColorName(_arg1:String):Boolean{
return (impl.isColorName(_arg1));
}
public static function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{
return (impl.isParentDisplayListInvalidatingStyle(_arg1));
}
public static function isSizeInvalidatingStyle(_arg1:String):Boolean{
return (impl.isSizeInvalidatingStyle(_arg1));
}
public static function getColorName(_arg1:Object):uint{
return (impl.getColorName(_arg1));
}
mx_internal static function set typeSelectorCache(_arg1:Object):void{
impl.typeSelectorCache = _arg1;
}
public static function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{
impl.unloadStyleDeclarations(_arg1, _arg2);
}
public static function getColorNames(_arg1:Array):void{
impl.getColorNames(_arg1);
}
public static function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false, _arg4:ApplicationDomain=null, _arg5:SecurityDomain=null):IEventDispatcher{
return (impl.loadStyleDeclarations2(_arg1, _arg2, _arg4, _arg5));
}
private static function get impl():IStyleManager2{
if (!_impl){
_impl = IStyleManager2(Singleton.getInstance("mx.styles::IStyleManager2"));
};
return (_impl);
}
public static function isValidStyleValue(_arg1):Boolean{
return (impl.isValidStyleValue(_arg1));
}
mx_internal static function get stylesRoot():Object{
return (impl.stylesRoot);
}
public static function isInheritingStyle(_arg1:String):Boolean{
return (impl.isInheritingStyle(_arg1));
}
mx_internal static function initProtoChainRoots():void{
impl.initProtoChainRoots();
}
public static function registerParentSizeInvalidatingStyle(_arg1:String):void{
impl.registerParentSizeInvalidatingStyle(_arg1);
}
public static function get selectors():Array{
return (impl.selectors);
}
public static function registerSizeInvalidatingStyle(_arg1:String):void{
impl.registerSizeInvalidatingStyle(_arg1);
}
public static function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{
impl.clearStyleDeclaration(_arg1, _arg2);
}
public static function registerColorName(_arg1:String, _arg2:uint):void{
impl.registerColorName(_arg1, _arg2);
}
public static function isInheritingTextFormatStyle(_arg1:String):Boolean{
return (impl.isInheritingTextFormatStyle(_arg1));
}
public static function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{
return (impl.getStyleDeclaration(_arg1));
}
}
}//package mx.styles
Section 407
//StyleManagerImpl (mx.styles.StyleManagerImpl)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.system.*;
import mx.modules.*;
import mx.events.*;
import mx.resources.*;
import mx.managers.*;
import flash.utils.*;
public class StyleManagerImpl implements IStyleManager2 {
private var _stylesRoot:Object;
private var _selectors:Object;
private var styleModules:Object;
private var _inheritingStyles:Object;
private var resourceManager:IResourceManager;
private var _typeSelectorCache:Object;
mx_internal static const VERSION:String = "3.3.0.4852";
private static var parentSizeInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var colorNames:Object = {transparent:"transparent", black:0, blue:0xFF, green:0x8000, gray:0x808080, silver:0xC0C0C0, lime:0xFF00, olive:0x808000, white:0xFFFFFF, yellow:0xFFFF00, maroon:0x800000, navy:128, red:0xFF0000, purple:0x800080, teal:0x8080, fuchsia:0xFF00FF, aqua:0xFFFF, magenta:0xFF00FF, cyan:0xFFFF, halogreen:8453965, haloblue:40447, haloorange:0xFFB600, halosilver:11455193};
private static var inheritingTextFormatStyles:Object = {align:true, bold:true, color:true, font:true, indent:true, italic:true, size:true};
private static var instance:IStyleManager2;
private static var parentDisplayListInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var sizeInvalidatingStyles:Object = {borderStyle:true, borderThickness:true, fontAntiAliasType:true, fontFamily:true, fontGridFitType:true, fontSharpness:true, fontSize:true, fontStyle:true, fontThickness:true, fontWeight:true, headerHeight:true, horizontalAlign:true, horizontalGap:true, kerning:true, leading:true, letterSpacing:true, paddingBottom:true, paddingLeft:true, paddingRight:true, paddingTop:true, strokeWidth:true, tabHeight:true, tabWidth:true, verticalAlign:true, verticalGap:true};
public function StyleManagerImpl(){
_selectors = {};
styleModules = {};
resourceManager = ResourceManager.getInstance();
_inheritingStyles = {};
_typeSelectorCache = {};
super();
}
public function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{
_arg2.selectorRefCount++;
_selectors[_arg1] = _arg2;
typeSelectorCache = {};
if (_arg3){
styleDeclarationsChanged();
};
}
public function registerParentDisplayListInvalidatingStyle(_arg1:String):void{
parentDisplayListInvalidatingStyles[_arg1] = true;
}
public function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{
var _local2:int;
if (_arg1.charAt(0) != "."){
_local2 = _arg1.lastIndexOf(".");
if (_local2 != -1){
_arg1 = _arg1.substr((_local2 + 1));
};
};
return (_selectors[_arg1]);
}
public function set typeSelectorCache(_arg1:Object):void{
_typeSelectorCache = _arg1;
}
public function isColorName(_arg1:String):Boolean{
return (!((colorNames[_arg1.toLowerCase()] === undefined)));
}
public function set inheritingStyles(_arg1:Object):void{
_inheritingStyles = _arg1;
}
public function getColorNames(_arg1:Array):void{
var _local4:uint;
if (!_arg1){
return;
};
var _local2:int = _arg1.length;
var _local3:int;
while (_local3 < _local2) {
if (((!((_arg1[_local3] == null))) && (isNaN(_arg1[_local3])))){
_local4 = getColorName(_arg1[_local3]);
if (_local4 != StyleManager.NOT_A_COLOR){
_arg1[_local3] = _local4;
};
};
_local3++;
};
}
public function isInheritingTextFormatStyle(_arg1:String):Boolean{
return ((inheritingTextFormatStyles[_arg1] == true));
}
public function registerParentSizeInvalidatingStyle(_arg1:String):void{
parentSizeInvalidatingStyles[_arg1] = true;
}
public function registerColorName(_arg1:String, _arg2:uint):void{
colorNames[_arg1.toLowerCase()] = _arg2;
}
public function isParentSizeInvalidatingStyle(_arg1:String):Boolean{
return ((parentSizeInvalidatingStyles[_arg1] == true));
}
public function registerInheritingStyle(_arg1:String):void{
inheritingStyles[_arg1] = true;
}
public function set stylesRoot(_arg1:Object):void{
_stylesRoot = _arg1;
}
public function get typeSelectorCache():Object{
return (_typeSelectorCache);
}
public function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{
return ((parentDisplayListInvalidatingStyles[_arg1] == true));
}
public function isSizeInvalidatingStyle(_arg1:String):Boolean{
return ((sizeInvalidatingStyles[_arg1] == true));
}
public function styleDeclarationsChanged():void{
var _local4:Object;
var _local1:Array = SystemManagerGlobals.topLevelSystemManagers;
var _local2:int = _local1.length;
var _local3:int;
while (_local3 < _local2) {
_local4 = _local1[_local3];
_local4.regenerateStyleCache(true);
_local4.notifyStyleChangeInChildren(null, true);
_local3++;
};
}
public function isValidStyleValue(_arg1):Boolean{
return (!((_arg1 === undefined)));
}
public function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher{
return (loadStyleDeclarations2(_arg1, _arg2));
}
public function get inheritingStyles():Object{
return (_inheritingStyles);
}
public function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{
var _local4:IModuleInfo;
var _local3:StyleModuleInfo = styleModules[_arg1];
if (_local3){
_local3.styleModule.unload();
_local4 = _local3.module;
_local4.unload();
_local4.removeEventListener(ModuleEvent.READY, _local3.readyHandler);
_local4.removeEventListener(ModuleEvent.ERROR, _local3.errorHandler);
styleModules[_arg1] = null;
};
if (_arg2){
styleDeclarationsChanged();
};
}
public function getColorName(_arg1:Object):uint{
var _local2:Number;
var _local3:*;
if ((_arg1 is String)){
if (_arg1.charAt(0) == "#"){
_local2 = Number(("0x" + _arg1.slice(1)));
return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2));
};
if ((((_arg1.charAt(1) == "x")) && ((_arg1.charAt(0) == "0")))){
_local2 = Number(_arg1);
return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2));
};
_local3 = colorNames[_arg1.toLowerCase()];
if (_local3 === undefined){
return (StyleManager.NOT_A_COLOR);
};
return (uint(_local3));
};
return (uint(_arg1));
}
public function isInheritingStyle(_arg1:String):Boolean{
return ((inheritingStyles[_arg1] == true));
}
public function get stylesRoot():Object{
return (_stylesRoot);
}
public function initProtoChainRoots():void{
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
delete _inheritingStyles["textDecoration"];
delete _inheritingStyles["leading"];
};
if (!stylesRoot){
stylesRoot = _selectors["global"].addStyleToProtoChain({}, null);
};
}
public function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{
var module:IModuleInfo;
var styleEventDispatcher:StyleEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = _arg1;
var update = _arg2;
var applicationDomain = _arg3;
var securityDomain = _arg4;
module = ModuleManager.getModule(url);
var readyHandler:Function = function (_arg1:ModuleEvent):void{
var _local2:IStyleModule = IStyleModule(_arg1.module.factory.create());
styleModules[_arg1.module.url].styleModule = _local2;
if (update){
styleDeclarationsChanged();
};
};
module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
styleEventDispatcher = new StyleEventDispatcher(module);
var errorHandler:Function = function (_arg1:ModuleEvent):void{
var _local3:StyleEvent;
var _local2:String = resourceManager.getString("styles", "unableToLoad", [_arg1.errorText, url]);
if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){
_local3 = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local3.bytesLoaded = 0;
_local3.bytesTotal = 0;
_local3.errorText = _local2;
styleEventDispatcher.dispatchEvent(_local3);
} else {
throw (new Error(_local2));
};
};
module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (_arg1:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
module.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (styleEventDispatcher);
}
public function registerSizeInvalidatingStyle(_arg1:String):void{
sizeInvalidatingStyles[_arg1] = true;
}
public function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{
var _local3:CSSStyleDeclaration = getStyleDeclaration(_arg1);
if (((_local3) && ((_local3.selectorRefCount > 0)))){
_local3.selectorRefCount--;
};
delete _selectors[_arg1];
if (_arg2){
styleDeclarationsChanged();
};
}
public function get selectors():Array{
var _local2:String;
var _local1:Array = [];
for (_local2 in _selectors) {
_local1.push(_local2);
};
return (_local1);
}
public static function getInstance():IStyleManager2{
if (!instance){
instance = new (StyleManagerImpl);
};
return (instance);
}
}
}//package mx.styles
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class StyleEventDispatcher extends EventDispatcher {
private function StyleEventDispatcher(_arg1:IModuleInfo){
_arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.COMPLETE);
dispatchEvent(_local2);
}
private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
_local2.errorText = _arg1.errorText;
dispatchEvent(_local2);
}
}
class StyleModuleInfo {
public var errorHandler:Function;
public var readyHandler:Function;
public var module:IModuleInfo;
public var styleModule:IStyleModule;
private function StyleModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){
this.module = _arg1;
this.readyHandler = _arg2;
this.errorHandler = _arg3;
}
}
Section 408
//ColorUtil (mx.utils.ColorUtil)
package mx.utils {
import mx.core.*;
public class ColorUtil {
mx_internal static const VERSION:String = "3.3.0.4852";
public static function adjustBrightness2(_arg1:uint, _arg2:Number):uint{
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (_arg2 == 0){
return (_arg1);
};
if (_arg2 < 0){
_arg2 = ((100 + _arg2) / 100);
_local3 = (((_arg1 >> 16) & 0xFF) * _arg2);
_local4 = (((_arg1 >> 8) & 0xFF) * _arg2);
_local5 = ((_arg1 & 0xFF) * _arg2);
} else {
_arg2 = (_arg2 / 100);
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
_local3 = (_local3 + ((0xFF - _local3) * _arg2));
_local4 = (_local4 + ((0xFF - _local4) * _arg2));
_local5 = (_local5 + ((0xFF - _local5) * _arg2));
_local3 = Math.min(_local3, 0xFF);
_local4 = Math.min(_local4, 0xFF);
_local5 = Math.min(_local5, 0xFF);
};
return ((((_local3 << 16) | (_local4 << 8)) | _local5));
}
public static function rgbMultiply(_arg1:uint, _arg2:uint):uint{
var _local3:Number = ((_arg1 >> 16) & 0xFF);
var _local4:Number = ((_arg1 >> 8) & 0xFF);
var _local5:Number = (_arg1 & 0xFF);
var _local6:Number = ((_arg2 >> 16) & 0xFF);
var _local7:Number = ((_arg2 >> 8) & 0xFF);
var _local8:Number = (_arg2 & 0xFF);
return ((((((_local3 * _local6) / 0xFF) << 16) | (((_local4 * _local7) / 0xFF) << 8)) | ((_local5 * _local8) / 0xFF)));
}
public static function adjustBrightness(_arg1:uint, _arg2:Number):uint{
var _local3:Number = Math.max(Math.min((((_arg1 >> 16) & 0xFF) + _arg2), 0xFF), 0);
var _local4:Number = Math.max(Math.min((((_arg1 >> 8) & 0xFF) + _arg2), 0xFF), 0);
var _local5:Number = Math.max(Math.min(((_arg1 & 0xFF) + _arg2), 0xFF), 0);
return ((((_local3 << 16) | (_local4 << 8)) | _local5));
}
}
}//package mx.utils
Section 409
//GraphicsUtil (mx.utils.GraphicsUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
public class GraphicsUtil {
mx_internal static const VERSION:String = "3.3.0.4852";
public static function drawRoundRectComplex(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number):void{
var _local10:Number = (_arg2 + _arg4);
var _local11:Number = (_arg3 + _arg5);
var _local12:Number = ((_arg4 < _arg5)) ? (_arg4 * 2) : (_arg5 * 2);
_arg6 = ((_arg6 < _local12)) ? _arg6 : _local12;
_arg7 = ((_arg7 < _local12)) ? _arg7 : _local12;
_arg8 = ((_arg8 < _local12)) ? _arg8 : _local12;
_arg9 = ((_arg9 < _local12)) ? _arg9 : _local12;
var _local13:Number = (_arg9 * 0.292893218813453);
var _local14:Number = (_arg9 * 0.585786437626905);
_arg1.moveTo(_local10, (_local11 - _arg9));
_arg1.curveTo(_local10, (_local11 - _local14), (_local10 - _local13), (_local11 - _local13));
_arg1.curveTo((_local10 - _local14), _local11, (_local10 - _arg9), _local11);
_local13 = (_arg8 * 0.292893218813453);
_local14 = (_arg8 * 0.585786437626905);
_arg1.lineTo((_arg2 + _arg8), _local11);
_arg1.curveTo((_arg2 + _local14), _local11, (_arg2 + _local13), (_local11 - _local13));
_arg1.curveTo(_arg2, (_local11 - _local14), _arg2, (_local11 - _arg8));
_local13 = (_arg6 * 0.292893218813453);
_local14 = (_arg6 * 0.585786437626905);
_arg1.lineTo(_arg2, (_arg3 + _arg6));
_arg1.curveTo(_arg2, (_arg3 + _local14), (_arg2 + _local13), (_arg3 + _local13));
_arg1.curveTo((_arg2 + _local14), _arg3, (_arg2 + _arg6), _arg3);
_local13 = (_arg7 * 0.292893218813453);
_local14 = (_arg7 * 0.585786437626905);
_arg1.lineTo((_local10 - _arg7), _arg3);
_arg1.curveTo((_local10 - _local14), _arg3, (_local10 - _local13), (_arg3 + _local13));
_arg1.curveTo(_local10, (_arg3 + _local14), _local10, (_arg3 + _arg7));
_arg1.lineTo(_local10, (_local11 - _arg9));
}
}
}//package mx.utils
Section 410
//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.3.0.4852";
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 411
//StringUtil (mx.utils.StringUtil)
package mx.utils {
import mx.core.*;
public class StringUtil {
mx_internal static const VERSION:String = "3.3.0.4852";
public static function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
var _local2:int;
while (isWhitespace(_arg1.charAt(_local2))) {
_local2++;
};
var _local3:int = (_arg1.length - 1);
while (isWhitespace(_arg1.charAt(_local3))) {
_local3--;
};
if (_local3 >= _local2){
return (_arg1.slice(_local2, (_local3 + 1)));
};
return ("");
}
public static function isWhitespace(_arg1:String):Boolean{
switch (_arg1){
case " ":
case "\t":
case "\r":
case "\n":
case "\f":
return (true);
default:
return (false);
};
}
public static function substitute(_arg1:String, ... _args):String{
var _local4:Array;
if (_arg1 == null){
return ("");
};
var _local3:uint = _args.length;
if ((((_local3 == 1)) && ((_args[0] is Array)))){
_local4 = (_args[0] as Array);
_local3 = _local4.length;
} else {
_local4 = _args;
};
var _local5:int;
while (_local5 < _local3) {
_arg1 = _arg1.replace(new RegExp((("\\{" + _local5) + "\\}"), "g"), _local4[_local5]);
_local5++;
};
return (_arg1);
}
public static function trimArrayElements(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:int;
var _local5:int;
if (((!((_arg1 == ""))) && (!((_arg1 == null))))){
_local3 = _arg1.split(_arg2);
_local4 = _local3.length;
_local5 = 0;
while (_local5 < _local4) {
_local3[_local5] = StringUtil.trim(_local3[_local5]);
_local5++;
};
if (_local4 > 0){
_arg1 = _local3.join(_arg2);
};
};
return (_arg1);
}
}
}//package mx.utils
Section 412
//loadED_4 (NG_AD_OBJECT_WITH_PRELOADER_fla.loadED_4)
package NG_AD_OBJECT_WITH_PRELOADER_fla {
import flash.display.*;
public dynamic class loadED_4 extends MovieClip {
public function loadED_4(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package NG_AD_OBJECT_WITH_PRELOADER_fla
Section 413
//NG_TANK_8 (NG_AD_OBJECT_WITH_PRELOADER_fla.NG_TANK_8)
package NG_AD_OBJECT_WITH_PRELOADER_fla {
import flash.events.*;
import flash.display.*;
import com.NewGrounds.*;
public dynamic class NG_TANK_8 extends MovieClip {
public var NG_Logo:SimpleButton;
public function NG_TANK_8(){
addFrameScript(0, frame1);
}
function frame1(){
NG_Logo.addEventListener(MouseEvent.CLICK, loadNGSite);
}
public function loadNGSite(_arg1:Event){
NewgroundsAPI.loadNewgrounds();
}
}
}//package NG_AD_OBJECT_WITH_PRELOADER_fla
Section 414
//X_LOAD_2 (NG_AD_OBJECT_WITH_PRELOADER_fla.X_LOAD_2)
package NG_AD_OBJECT_WITH_PRELOADER_fla {
import flash.events.*;
import flash.display.*;
public dynamic class X_LOAD_2 extends MovieClip {
public var NGButton:SimpleButton;
public function X_LOAD_2(){
addFrameScript(100, frame101, 150, frame151, 164, frame165, 165, frame166);
}
function frame151(){
NGButton.addEventListener(MouseEvent.CLICK, PlayMovie);
}
function frame165(){
stop();
}
function frame166(){
stop();
}
function frame101(){
play();
}
public function PlayMovie(_arg1:Event){
gotoAndStop("end");
}
}
}//package NG_AD_OBJECT_WITH_PRELOADER_fla
Section 415
//FlxAnim (org.flixel.data.FlxAnim)
package org.flixel.data {
public class FlxAnim {
public var delay:Number;
public var frames:Array;
public var looped:Boolean;
public var name:String;
public function FlxAnim(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true){
name = _arg1;
delay = (1 / _arg3);
frames = _arg2;
looped = _arg4;
}
}
}//package org.flixel.data
Section 416
//FlxFactory (org.flixel.data.FlxFactory)
package org.flixel.data {
import flash.events.*;
import flash.display.*;
import com.NewGrounds.*;
import flash.net.*;
import flash.utils.*;
public class FlxFactory extends MovieClip {
private var _startDelay:uint;// = 0
private var maxWidth:Number;
protected var className:String;
private var _started:Boolean;// = false
private var lftAnchor:Number;
private var _loaded:Boolean;// = false
private var xL:MovieClip;
private var pL:NG_AD_OBJECT_WITH_PRELOADER;
public function FlxFactory(){
pL = new NG_AD_OBJECT_WITH_PRELOADER();
super();
stop();
_loaded = false;
_started = false;
_startDelay = 0;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
pL.x = (640 / 2);
pL.y = (480 / 2);
addChild(pL);
xL = new MovieClip();
xL = (pL.getChildByName("X_LOAD") as MovieClip);
xL.stop();
NewgroundsAPI.linkAPI(pL);
NewgroundsAPI.connectMovie(10499);
pL.play();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, MoveBar);
loaderInfo.addEventListener(Event.COMPLETE, onComplete);
}
private function onEnterFrame(_arg1:Event):void{
var _local2:Class;
var _local3:Object;
if (_loaded){
if (xL.currentLabel == "end"){
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
xL.nextFrame();
nextFrame();
_local2 = Class(getDefinitionByName(className));
if (_local2){
_local3 = new (_local2);
addChild((_local3 as DisplayObject));
};
removeChild(pL);
} else {
if (xL.currentFrame < 165){
xL.nextFrame();
nextFrame();
};
};
} else {
nextFrame();
};
}
private function MoveBar(_arg1:ProgressEvent):void{
var _local2:int = Math.round(((root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal) * 100));
if (_local2 == 100){
_loaded = true;
xL.gotoAndStop("loaded");
} else {
xL.gotoAndStop(_local2);
};
}
private function DoG5Link(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.gimme5games.com/?ref=blasting"), "_blank");
}
private function startPreloader():void{
_started = true;
}
private function onComplete(_arg1:Event):void{
_loaded = true;
xL.gotoAndStop("loaded");
}
}
}//package org.flixel.data
Section 417
//FlxLogoPixel (org.flixel.data.FlxLogoPixel)
package org.flixel.data {
import flash.display.*;
public class FlxLogoPixel extends Sprite {
private var _curLayer:uint;
private var _layers:Array;
public function FlxLogoPixel(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:uint){
x = _arg1;
y = _arg2;
_layers = new Array();
var _local6:Array = new Array(4294901760, 4278255360, 4278190335, 4294967040, 4278255615);
_layers.push(addChild(new Bitmap(new BitmapData(_arg3, _arg3, true, _arg5))));
var _local7:uint;
while (_local7 < _local6.length) {
_layers.push(addChild(new Bitmap(new BitmapData(_arg3, _arg3, true, _local6[_arg4]))));
++_arg4;
if (_arg4 >= _local6.length){
_arg4 = 0;
};
_local7++;
};
_curLayer = (_layers.length - 1);
}
public function update():void{
if (_curLayer == 0){
return;
};
if (_layers[_curLayer].alpha >= 0.1){
_layers[_curLayer].alpha = (_layers[_curLayer].alpha - 0.1);
} else {
_layers[_curLayer].alpha = 0;
_curLayer--;
};
}
}
}//package org.flixel.data
Section 418
//FlxPanel (org.flixel.data.FlxPanel)
package org.flixel.data {
import org.flixel.*;
import flash.ui.*;
public class FlxPanel extends FlxCore {
private var _close:FlxButton;
private var _digg:FlxButton;
private var _gameTitle:String;
private var _closed:Boolean;
private var _payPalID:String;
private var _donate:FlxButton;
private var ImgClose:Class;
private var _topBar:FlxSprite;
private var _ty:Number;
private var _caption:FlxText;
private var _initialized:Boolean;
private var _twitter:FlxButton;
private var _delicious:FlxButton;
private var _stumble:FlxButton;
private var ImgDelicious:Class;
private var ImgTwitter:Class;
private var _mainBar:FlxSprite;
private var _gameURL:String;
private var ImgStumble:Class;
private var ImgReddit:Class;
private var ImgDigg:Class;
private var _bottomBar:FlxSprite;
private var _payPalAmount:Number;
private var _s:Number;
private var ImgDonate:Class;
private var _reddit:FlxButton;
public function FlxPanel(){
ImgDonate = FlxPanel_ImgDonate;
ImgStumble = FlxPanel_ImgStumble;
ImgDigg = FlxPanel_ImgDigg;
ImgReddit = FlxPanel_ImgReddit;
ImgDelicious = FlxPanel_ImgDelicious;
ImgTwitter = FlxPanel_ImgTwitter;
ImgClose = FlxPanel_ImgClose;
super();
y = -21;
_ty = y;
_closed = false;
_initialized = false;
_topBar = new FlxSprite(null, 0, 0, false, false, FlxG.width, 1, 2147483647);
_topBar.scrollFactor.x = 0;
_topBar.scrollFactor.y = 0;
_mainBar = new FlxSprite(null, 0, 0, false, false, FlxG.width, 19, 2130706432);
_mainBar.scrollFactor.x = 0;
_mainBar.scrollFactor.y = 0;
_bottomBar = new FlxSprite(null, 0, 0, false, false, FlxG.width, 1, 2147483647);
_bottomBar.scrollFactor.x = 0;
_bottomBar.scrollFactor.y = 0;
_donate = new FlxButton(3, 0, new FlxSprite(ImgDonate), onDonate);
_donate.scrollFactor.x = 0;
_donate.scrollFactor.y = 0;
_stumble = new FlxButton(((((((FlxG.width / 2) - 6) - 13) - 6) - 13) - 6), 0, new FlxSprite(ImgStumble), onStumble);
_stumble.scrollFactor.x = 0;
_stumble.scrollFactor.y = 0;
_digg = new FlxButton(((((FlxG.width / 2) - 6) - 13) - 6), 0, new FlxSprite(ImgDigg), onDigg);
_digg.scrollFactor.x = 0;
_digg.scrollFactor.y = 0;
_reddit = new FlxButton(((FlxG.width / 2) - 6), 0, new FlxSprite(ImgReddit), onReddit);
_reddit.scrollFactor.x = 0;
_reddit.scrollFactor.y = 0;
_delicious = new FlxButton((((FlxG.width / 2) + 7) + 6), 0, new FlxSprite(ImgDelicious), onDelicious);
_delicious.scrollFactor.x = 0;
_delicious.scrollFactor.y = 0;
_twitter = new FlxButton((((((FlxG.width / 2) + 7) + 6) + 12) + 6), 0, new FlxSprite(ImgTwitter), onTwitter);
_twitter.scrollFactor.x = 0;
_twitter.scrollFactor.y = 0;
_caption = new FlxText((FlxG.width / 2), 0, ((FlxG.width / 2) - 19), 20, "", 0xFFFFFF, null, 8, "right");
_caption.scrollFactor.x = 0;
_caption.scrollFactor.y = 0;
_close = new FlxButton((FlxG.width - 16), 0, new FlxSprite(ImgClose), onClose);
_close.scrollFactor.x = 0;
_close.scrollFactor.y = 0;
hide();
_s = 50;
}
public function onDelicious():void{
FlxG.openURL(((("http://delicious.com/save?v=5&noui&jump=close&url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle)));
}
public function init(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{
_payPalID = _arg1;
if (_payPalID.length <= 0){
_donate.visible = false;
};
_payPalAmount = _arg2;
_gameTitle = _arg3;
_gameURL = _arg4;
_caption.setText(_arg5);
_initialized = true;
}
public function onTwitter():void{
FlxG.openURL(("http://twitter.com/home?status=Playing" + encodeURIComponent((((" " + _gameTitle) + " - ") + _gameURL))));
}
public function show(_arg1:Boolean=true):void{
if (_closed){
return;
};
if (_arg1){
y = -21;
_ty = -1;
} else {
y = FlxG.height;
_ty = (FlxG.height - 20);
};
Mouse.show();
visible = true;
}
public function onStumble():void{
FlxG.openURL(("http://www.stumbleupon.com/submit?url=" + encodeURIComponent(_gameURL)));
}
override public function render():void{
if (!_initialized){
return;
};
if (_topBar.visible){
_topBar.render();
};
if (_mainBar.visible){
_mainBar.render();
};
if (_bottomBar.visible){
_bottomBar.render();
};
if (_donate.visible){
_donate.render();
};
if (_stumble.visible){
_stumble.render();
};
if (_digg.visible){
_digg.render();
};
if (_reddit.visible){
_reddit.render();
};
if (_delicious.visible){
_delicious.render();
};
if (_twitter.visible){
_twitter.render();
};
if (_caption.visible){
_caption.render();
};
if (_close.visible){
_close.render();
};
}
public function onDigg():void{
FlxG.openURL(((("http://digg.com/submit?url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle)));
}
public function onReddit():void{
FlxG.openURL(("http://www.reddit.com/submit?url=" + encodeURIComponent(_gameURL)));
}
public function onDonate():void{
FlxG.openURL(((((("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + encodeURIComponent(_payPalID)) + "&item_name=") + encodeURIComponent(((_gameTitle + " Contribution (") + _gameURL))) + ")¤cy_code=USD&amount=") + _payPalAmount));
}
override public function update():void{
if (!_initialized){
return;
};
if (_ty != y){
if (y < _ty){
y = (y + (FlxG.elapsed * _s));
if (y > _ty){
y = _ty;
};
} else {
y = (y - (FlxG.elapsed * _s));
if (y < _ty){
y = _ty;
};
};
};
if ((((y <= -21)) || ((y > FlxG.height)))){
visible = false;
};
_topBar.y = y;
_mainBar.y = (y + 1);
_bottomBar.y = (y + 20);
_donate.y = (y + 4);
_stumble.y = (y + 4);
_digg.y = (y + 4);
_reddit.y = (y + 4);
_delicious.y = (y + 5);
_twitter.y = (y + 4);
_caption.y = (y + 4);
_close.y = (y + 4);
if (_donate.active){
_donate.update();
};
if (_stumble.active){
_stumble.update();
};
if (_digg.active){
_digg.update();
};
if (_reddit.active){
_reddit.update();
};
if (_delicious.active){
_delicious.update();
};
if (_twitter.active){
_twitter.update();
};
if (_caption.active){
_caption.update();
};
if (_close.active){
_close.update();
};
}
public function hide():void{
if (y < 0){
_ty = -21;
} else {
_ty = FlxG.height;
};
Mouse.hide();
visible = false;
}
public function onClose():void{
_closed = true;
hide();
}
}
}//package org.flixel.data
Section 419
//FlxPanel_ImgClose (org.flixel.data.FlxPanel_ImgClose)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgClose extends BitmapAsset {
}
}//package org.flixel.data
Section 420
//FlxPanel_ImgDelicious (org.flixel.data.FlxPanel_ImgDelicious)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDelicious extends BitmapAsset {
}
}//package org.flixel.data
Section 421
//FlxPanel_ImgDigg (org.flixel.data.FlxPanel_ImgDigg)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDigg extends BitmapAsset {
}
}//package org.flixel.data
Section 422
//FlxPanel_ImgDonate (org.flixel.data.FlxPanel_ImgDonate)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDonate extends BitmapAsset {
}
}//package org.flixel.data
Section 423
//FlxPanel_ImgReddit (org.flixel.data.FlxPanel_ImgReddit)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgReddit extends BitmapAsset {
}
}//package org.flixel.data
Section 424
//FlxPanel_ImgStumble (org.flixel.data.FlxPanel_ImgStumble)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgStumble extends BitmapAsset {
}
}//package org.flixel.data
Section 425
//FlxPanel_ImgTwitter (org.flixel.data.FlxPanel_ImgTwitter)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgTwitter extends BitmapAsset {
}
}//package org.flixel.data
Section 426
//FlxArray (org.flixel.FlxArray)
package org.flixel {
public dynamic class FlxArray extends Array {
public function getNonexist():FlxCore{
if (this.length <= 0){
return (null);
};
var _local1:uint;
do {
if (!(this[_local1] as FlxCore).exists){
return (this[_local1]);
};
++_local1;
} while (_local1 < this.length);
return (null);
}
public function add(_arg1:Object):Object{
var _local2:uint;
while (_local2 < this.length) {
if (this[_local2] == null){
return ((this[_local2] = _arg1));
};
_local2++;
};
return (this[(this.push(_arg1) - 1)]);
}
public function remove(_arg1:Object, _arg2:Boolean=false):void{
removeAt(indexOf(_arg1), _arg2);
}
public function removeAt(_arg1:uint, _arg2:Boolean=false):void{
if (_arg2){
this.splice(_arg1, 1);
} else {
this[_arg1] = null;
};
}
public function killAt(_arg1:uint):void{
if ((this[_arg1] is FlxCore)){
this[_arg1].kill();
};
}
public function clear():void{
this.length = 0;
}
public function kill(_arg1:FlxCore):void{
killAt(indexOf(_arg1));
}
public static function getRandom(_arg1:Array):Object{
return (_arg1[int((Math.random() * length))]);
}
}
}//package org.flixel
Section 427
//FlxBlock (org.flixel.FlxBlock)
package org.flixel {
import flash.display.*;
import flash.geom.*;
public class FlxBlock extends FlxCore {
protected var _p:Point;
protected var _pixels:BitmapData;
protected var _rects:FlxArray;
protected var _tileSize:uint;
public function FlxBlock(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:Class, _arg6:uint=0){
var _local7:uint;
super();
x = _arg1;
y = _arg2;
width = _arg3;
height = _arg4;
if (_arg5 == null){
return;
};
_pixels = FlxG.addBitmap(_arg5);
_rects = new FlxArray();
_p = new Point();
_tileSize = _pixels.height;
_local7 = Math.ceil((width / _tileSize));
var _local8:uint = Math.ceil((height / _tileSize));
width = (_local7 * _tileSize);
height = (_local8 * _tileSize);
var _local9:uint = (_local7 * _local8);
var _local10:uint = (_pixels.width / _tileSize);
var _local11:uint;
while (_local11 < _local9) {
if ((Math.random() * (_local10 + _arg6)) > _arg6){
_rects.push(new Rectangle((_tileSize * Math.floor((Math.random() * _local10))), 0, _tileSize, _tileSize));
} else {
_rects.push(null);
};
_local11++;
};
}
override public function render():void{
super.render();
getScreenXY(_p);
var _local1:int = _p.x;
var _local2:uint;
while (_local2 < _rects.length) {
if (_rects[_local2] != null){
FlxG.buffer.copyPixels(_pixels, _rects[_local2], _p, null, null, true);
};
_p.x = (_p.x + _tileSize);
if (_p.x >= (_local1 + width)){
_p.x = _local1;
_p.y = (_p.y + _tileSize);
};
_local2++;
};
}
}
}//package org.flixel
Section 428
//FlxButton (org.flixel.FlxButton)
package org.flixel {
import flash.events.*;
import flash.geom.*;
public class FlxButton extends FlxCore {
private var _onTO:Point;
private var _initialized:Boolean;
private var _pressed:Boolean;
private var _onT:FlxText;
private var _callback:Function;
private var _off:FlxSprite;
private var _onToggle:Boolean;
private var _offTO:Point;
private var _offT:FlxText;
private var _on:FlxSprite;
public function FlxButton(_arg1:int, _arg2:int, _arg3:FlxSprite, _arg4:Function, _arg5:FlxSprite=null, _arg6:FlxText=null, _arg7:FlxText=null){
x = _arg1;
y = _arg2;
_off = _arg3;
if (_arg5 == null){
_on = _off;
} else {
_on = _arg5;
};
width = _off.width;
height = _off.height;
if (_arg6 != null){
_offT = _arg6;
};
if (_arg7 == null){
_onT = _offT;
} else {
_onT = _arg7;
};
if (_offT != null){
_offTO = new Point(_offT.x, _offT.y);
};
if (_onT != null){
_onTO = new Point(_onT.x, _onT.y);
};
_off.scrollFactor = scrollFactor;
_on.scrollFactor = scrollFactor;
if (_offT != null){
_offT.scrollFactor = scrollFactor;
_onT.scrollFactor = scrollFactor;
};
_callback = _arg4;
_onToggle = false;
_pressed = false;
updatePositions();
_initialized = false;
}
private function onMouseUp(_arg1:MouseEvent):void{
if (((!(exists)) || (!(visible)))){
return;
};
if (_off.overlapsPoint((FlxG.mouse.x + ((1 - scrollFactor.x) * FlxG.scroll.x)), (FlxG.mouse.y + ((1 - scrollFactor.y) * FlxG.scroll.y)))){
_callback();
};
}
override public function update():void{
if (!_initialized){
if (FlxG.state == null){
return;
};
if (FlxG.state.parent == null){
return;
};
if (FlxG.state.parent.stage == null){
return;
};
FlxG.state.parent.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
_initialized = true;
};
super.update();
if (((((!((_off == null))) && (_off.exists))) && (_off.active))){
_off.update();
};
if (((((!((_on == null))) && (_on.exists))) && (_on.active))){
_on.update();
};
if (_offT != null){
if (((((!((_offT == null))) && (_offT.exists))) && (_offT.active))){
_offT.update();
};
if (((((!((_onT == null))) && (_onT.exists))) && (_onT.active))){
_onT.update();
};
};
visibility(false);
if (_off.overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){
if (!FlxG.kMouse){
_pressed = false;
} else {
if (!_pressed){
_pressed = true;
if (!_initialized){
_callback();
};
};
};
visibility(!(_pressed));
};
if (_onToggle){
visibility(_off.visible);
};
updatePositions();
}
private function visibility(_arg1:Boolean):void{
if (_arg1){
_off.visible = false;
if (_offT != null){
_offT.visible = false;
};
_on.visible = true;
if (_onT != null){
_onT.visible = true;
};
} else {
_on.visible = false;
if (_onT != null){
_onT.visible = false;
};
_off.visible = true;
if (_offT != null){
_offT.visible = true;
};
};
}
override public function render():void{
super.render();
if (((((!((_off == null))) && (_off.exists))) && (_off.visible))){
_off.render();
};
if (((((!((_on == null))) && (_on.exists))) && (_on.visible))){
_on.render();
};
if (_offT != null){
if (((((!((_offT == null))) && (_offT.exists))) && (_offT.visible))){
_offT.render();
};
if (((((!((_onT == null))) && (_onT.exists))) && (_onT.visible))){
_onT.render();
};
};
}
public function switchOff():void{
_onToggle = false;
}
public function on():Boolean{
return (_onToggle);
}
private function updatePositions():void{
_off.x = x;
_off.y = y;
if (_offT){
_offT.x = (_offTO.x + x);
_offT.y = (_offTO.y + y);
};
_on.x = x;
_on.y = y;
if (_onT){
_onT.x = (_onTO.x + x);
_onT.y = (_onTO.y + y);
};
}
public function switchOn():void{
_onToggle = true;
}
}
}//package org.flixel
Section 429
//FlxCore (org.flixel.FlxCore)
package org.flixel {
import flash.geom.*;
public class FlxCore {
private var _flicker:Boolean;
public var active:Boolean;
public var visible:Boolean;
public var width:uint;
private var _flickerTimer:Number;
public var exists:Boolean;
public var height:uint;
public var dead:Boolean;
public var x:Number;
public var y:Number;
public var scrollFactor:Point;
public function FlxCore(){
exists = true;
active = true;
visible = true;
dead = false;
x = 0;
y = 0;
width = 0;
height = 0;
scrollFactor = new Point(1, 1);
_flicker = false;
_flickerTimer = -1;
}
public function update():void{
if (flickering()){
if (_flickerTimer > 0){
_flickerTimer = (_flickerTimer - FlxG.elapsed);
};
if (_flickerTimer < 0){
flicker(-1);
} else {
_flicker = !(_flicker);
visible = !(_flicker);
};
};
}
public function flicker(_arg1:Number=1):void{
_flickerTimer = _arg1;
if (_flickerTimer < 0){
_flicker = false;
visible = true;
};
}
public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{
var _local4:Number = x;
var _local5:Number = y;
if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){
_local4 = (_local4 - Math.floor((FlxG.scroll.x * scrollFactor.x)));
_local5 = (_local5 - Math.floor((FlxG.scroll.y * scrollFactor.y)));
};
if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){
return (false);
};
return (true);
}
public function render():void{
}
public function kill():void{
exists = false;
dead = true;
}
protected function getScreenXY(_arg1:Point):void{
_arg1.x = (Math.floor(x) + Math.floor((FlxG.scroll.x * scrollFactor.x)));
_arg1.y = (Math.floor(y) + Math.floor((FlxG.scroll.y * scrollFactor.y)));
}
public function hitFloor():Boolean{
return (true);
}
public function hitCeiling():Boolean{
return (true);
}
public function overlaps(_arg1:FlxCore):Boolean{
var _local2:Number = x;
var _local3:Number = y;
if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){
_local2 = (_local2 - Math.floor((FlxG.scroll.x * scrollFactor.x)));
_local3 = (_local3 - Math.floor((FlxG.scroll.y * scrollFactor.y)));
};
var _local4:Number = _arg1.x;
var _local5:Number = _arg1.y;
if (((!((_arg1.scrollFactor.x == 1))) || (!((_arg1.scrollFactor.y == 1))))){
_local4 = (_local4 - Math.floor((FlxG.scroll.x * _arg1.scrollFactor.x)));
_local5 = (_local5 - Math.floor((FlxG.scroll.y * _arg1.scrollFactor.y)));
};
if ((((((((_local4 <= (_local2 - _arg1.width))) || ((_local4 >= (_local2 + width))))) || ((_local5 <= (_local3 - _arg1.height))))) || ((_local5 >= (_local3 + height))))){
return (false);
};
return (true);
}
public function flickering():Boolean{
return ((_flickerTimer >= 0));
}
public function onScreen():Boolean{
var _local1:Point = new Point();
getScreenXY(_local1);
if (((((((((_local1.x + width) < 0)) || ((_local1.x > FlxG.width)))) || (((_local1.y + height) < 0)))) || ((_local1.y > FlxG.height)))){
return (false);
};
return (true);
}
public function hitWall():Boolean{
return (true);
}
public function collide(_arg1:FlxSprite):void{
if ((((Math.abs((((_arg1.x + (_arg1.width >> 1)) - x) - (width >> 1))) > ((width >> 1) + (_arg1.width >> 1)))) && ((Math.abs((((_arg1.y + (_arg1.height >> 1)) - y) - (height >> 1))) > ((height >> 1) + (_arg1.height >> 1)))))){
return;
};
if ((((_arg1.x > x)) && (((_arg1.x + _arg1.width) < (x + width))))){
if (((((((_arg1.y + _arg1.height) < (y + (height >> 1)))) && (((_arg1.y + _arg1.height) > y)))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
return;
};
if ((((((_arg1.y > (y + (height >> 1)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
return;
};
};
if ((((_arg1.y > y)) && (((_arg1.y + _arg1.height) < (y + height))))){
if (((((((_arg1.x + _arg1.width) < (x + (width >> 1)))) && (((_arg1.x + _arg1.width) > x)))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
return;
};
if ((((((_arg1.x > (x + (width >> 1)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
return;
};
};
var _local2:Boolean;
if ((Math.abs(_arg1.velocity.x) > Math.abs(_arg1.velocity.y))){
_local2 = false;
};
var _local3:Boolean;
var _local4:Boolean;
if (_local2){
if (_arg1.velocity.y > 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), (_arg1.y + _arg1.height))){
if (_arg1.hitFloor()){
_arg1.y = (y - _arg1.height);
};
} else {
_local4 = true;
};
} else {
if (_arg1.velocity.y < 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), _arg1.y)){
if (_arg1.hitCeiling()){
_arg1.y = (y + height);
};
} else {
_local4 = true;
};
};
};
if (_arg1.velocity.x < 0){
if (overlapsPoint(_arg1.x, (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x + width);
};
} else {
_local3 = true;
};
} else {
if (_arg1.velocity.x > 0){
if (overlapsPoint((_arg1.x + _arg1.width), (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x - _arg1.width);
};
} else {
_local3 = true;
};
};
};
} else {
if (_arg1.velocity.x < 0){
if (overlapsPoint(_arg1.x, (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x + width);
};
} else {
_local3 = true;
};
} else {
if (_arg1.velocity.x > 0){
if (overlapsPoint((_arg1.x + _arg1.width), (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x - _arg1.width);
};
} else {
_local3 = true;
};
};
};
if (_arg1.velocity.y > 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), (_arg1.y + _arg1.height))){
if (_arg1.hitFloor()){
_arg1.y = (y - _arg1.height);
};
} else {
_local4 = true;
};
} else {
if (_arg1.velocity.y < 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), _arg1.y)){
if (_arg1.hitCeiling()){
_arg1.y = (y + height);
};
} else {
_local4 = true;
};
};
};
};
if (((!(_local4)) && (!(_local3)))){
return;
};
var _local5 = (_arg1.width >> 3);
if (_local5 < 1){
_local5 = 1;
};
if (((_local4) && (_local3))){
if (_local2){
if (_local4){
if ((((((_arg1.x + _arg1.width) - _local5) > x)) && (((_arg1.x + _local5) < (x + width))))){
if ((((((((_arg1.velocity.y > 0)) && (((_arg1.y + _arg1.height) > y)))) && (((_arg1.y + _arg1.height) < (y + height))))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
} else {
if ((((((((_arg1.velocity.y < 0)) && ((_arg1.y > y)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
};
};
};
};
if (_local3){
if ((((((_arg1.y + _arg1.height) - _local5) > y)) && (((_arg1.y + _local5) < (y + height))))){
if ((((((((_arg1.velocity.x > 0)) && (((_arg1.x + _arg1.width) > x)))) && (((_arg1.x + _arg1.width) < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
} else {
if ((((((((_arg1.velocity.x < 0)) && ((_arg1.x > x)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
};
};
};
};
} else {
if (_local3){
if ((((((_arg1.y + _arg1.height) - _local5) > y)) && (((_arg1.y + _local5) < (y + height))))){
if ((((((((_arg1.velocity.x > 0)) && (((_arg1.x + _arg1.width) > x)))) && (((_arg1.x + _arg1.width) < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
} else {
if ((((((((_arg1.velocity.x < 0)) && ((_arg1.x > x)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
};
};
};
};
if (_local4){
if ((((((_arg1.x + _arg1.width) - _local5) > x)) && (((_arg1.x + _local5) < (x + width))))){
if ((((((((_arg1.velocity.y > 0)) && (((_arg1.y + _arg1.height) > y)))) && (((_arg1.y + _arg1.height) < (y + height))))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
} else {
if ((((((((_arg1.velocity.y < 0)) && ((_arg1.y > y)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
};
};
};
};
};
} else {
if (_local4){
if ((((((_arg1.x + _arg1.width) - _local5) > x)) && (((_arg1.x + _local5) < (x + width))))){
if ((((((((_arg1.velocity.y > 0)) && (((_arg1.y + _arg1.height) > y)))) && (((_arg1.y + _arg1.height) < (y + height))))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
} else {
if ((((((((_arg1.velocity.y < 0)) && ((_arg1.y > y)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
};
};
};
} else {
if (_local3){
if ((((((_arg1.y + _arg1.height) - _local5) > y)) && (((_arg1.y + _local5) < (y + height))))){
if ((((((((_arg1.velocity.x > 0)) && (((_arg1.x + _arg1.width) > x)))) && (((_arg1.x + _arg1.width) < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
} else {
if ((((((((_arg1.velocity.x < 0)) && ((_arg1.x > x)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
};
};
};
};
};
};
}
}
}//package org.flixel
Section 430
//FlxEmitter (org.flixel.FlxEmitter)
package org.flixel {
import flash.geom.*;
public class FlxEmitter extends FlxCore {
public var maxVelocity:Point;
private var _maxRotation:Number;
private var _delay:Number;
private var _sprites:FlxArray;
private var _gravity:Number;
private var _minRotation:Number;
private var _drag:Number;
private var _particle:uint;
private var _timer:Number;
public var minVelocity:Point;
public function FlxEmitter(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:uint, _arg5:FlxArray=null, _arg6:Number=-1, _arg7:Number=-100, _arg8:Number=100, _arg9:Number=-100, _arg10:Number=100, _arg11:Number=-360, _arg12:Number=360, _arg13:Number=500, _arg14:Number=0, _arg15:Class=null, _arg16:uint=0, _arg17:Boolean=false, _arg18:FlxLayer=null){
var _local19:uint;
super();
visible = false;
x = _arg1;
y = _arg2;
width = _arg3;
height = _arg4;
minVelocity = new Point(_arg7, _arg9);
maxVelocity = new Point(_arg8, _arg10);
_minRotation = _arg11;
_maxRotation = _arg12;
_gravity = _arg13;
_drag = _arg14;
_delay = _arg6;
if (_arg15 != null){
_sprites = new FlxArray();
_local19 = 0;
while (_local19 < _arg16) {
if (_arg17){
(_sprites.add(new FlxSprite(_arg15, 0, 0, true)) as FlxSprite).randomFrame();
} else {
_sprites.add(new FlxSprite(_arg15));
};
_local19++;
};
_local19 = 0;
while (_local19 < _sprites.length) {
if (_arg18 == null){
FlxG.state.add(_sprites[_local19]);
} else {
_arg18.add(_sprites[_local19]);
};
_local19++;
};
} else {
_sprites = _arg5;
};
kill();
if (_delay > 0){
reset();
};
}
public function emit():void{
var _local1:FlxSprite = _sprites[_particle];
_local1.exists = true;
_local1.x = (x - (_local1.width >> 1));
if (width != 0){
_local1.x = (_local1.x + (Math.random() * width));
};
_local1.y = (y - (_local1.height >> 1));
if (height != 0){
_local1.y = (_local1.y + (Math.random() * height));
};
_local1.velocity.x = minVelocity.x;
if (minVelocity.x != maxVelocity.x){
_local1.velocity.x = (_local1.velocity.x + (Math.random() * (maxVelocity.x - minVelocity.x)));
};
_local1.velocity.y = minVelocity.y;
if (minVelocity.y != maxVelocity.y){
_local1.velocity.y = (_local1.velocity.y + (Math.random() * (maxVelocity.y - minVelocity.y)));
};
_local1.acceleration.y = _gravity;
_local1.angularVelocity = _minRotation;
if (_minRotation != _maxRotation){
_local1.angularVelocity = (_local1.angularVelocity + (Math.random() * (_maxRotation - _minRotation)));
};
if (_local1.angularVelocity != 0){
_local1.angle = ((Math.random() * 360) - 180);
};
_local1.drag.x = _drag;
_local1.drag.y = _drag;
_particle++;
if (_particle >= _sprites.length){
_particle = 0;
};
_local1.onEmit();
}
override public function update():void{
var _local1:uint;
_timer = (_timer + FlxG.elapsed);
if (_delay < 0){
if (_timer > -(_delay)){
kill();
return;
};
if (_sprites[0].exists){
return;
};
_local1 = 0;
while (_local1 < _sprites.length) {
emit();
_local1++;
};
return;
};
while (_timer > _delay) {
_timer = (_timer - _delay);
emit();
};
}
override public function kill():void{
active = false;
var _local1:uint;
while (_local1 < _sprites.length) {
_sprites[_local1].exists = false;
_local1++;
};
}
public function reset():void{
active = true;
_timer = 0;
_particle = 0;
}
}
}//package org.flixel
Section 431
//FlxG (org.flixel.FlxG)
package org.flixel {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
public class FlxG {
public static const LEFT:uint = 0;
public static const A:uint = 4;
public static const B:uint = 5;
public static const MOUSE:uint = 6;
public static const UP:uint = 2;
public static const DOWN:uint = 3;
public static const RIGHT:uint = 1;
public static var kMouse:Boolean;
public static var canPause:Boolean;
public static var kLeft:Boolean;
public static var kong;
public static var scores:FlxArray;
private static var _music:Sound;
public static var height:uint;
public static var kA:Boolean;
public static var kB:Boolean;
private static var _volume:Number;
public static var buffer:BitmapData;
private static var _hideSupportPanel:Function;
private static var _fade:Function;
public static var kUp:Boolean;
public static var levels:FlxArray;
private static var _showSupportPanel:Function;
private static var _muted:uint;
private static var _musicPosition:Number;
public static var kRight:Boolean;
private static var _oldKeys:Array;
private static var _cache:Object;
public static var level:uint;
public static var state:FlxState;
public static var score:uint;
private static var _log:Function;
public static var pause_game:int = 0;
private static var _scrollTarget:Point;
public static var elapsed:Number;
public static var mouse:Point;
public static var kDown:Boolean;
public static var followTarget:FlxCore;
public static var followLead:Point;
public static var width:uint;
public static var followLerp:Number;
public static var scroll:Point;
private static var _keys:Array;
private static var _setCursor:Function;
private static var _quake:Function;
private static var _musicVolume:Number;
public static var followMin:Point;
private static var _flash:Function;
public static var followMax:Point;
private static var _masterVolume:Number;
private static var _musicChannel:SoundChannel;
private static var _switchState:Function;
public static function getVolume():Number{
return (_volume);
}
public static function collideArrays(_arg1:FlxArray, _arg2:FlxArray):void{
var _local3:uint;
var _local4:uint;
var _local5:FlxCore;
var _local6:FlxSprite;
if (_arg1 === _arg2){
_local3 = 0;
while (_local3 < _arg1.length) {
_local5 = _arg1[_local3];
if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){
} else {
_local4 = (_local3 + 1);
while (_local4 < _arg2.length) {
_local6 = _arg2[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5.collide(_local6);
};
_local4++;
};
};
_local3++;
};
} else {
_local3 = 0;
while (_local3 < _arg1.length) {
_local5 = _arg1[_local3];
if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){
} else {
_local4 = 0;
while (_local4 < _arg2.length) {
_local6 = _arg2[_local4];
if ((((((((_local5 === _local6)) || ((_local6 == null)))) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5.collide(_local6);
};
_local4++;
};
};
_local3++;
};
};
}
public static function showSupportPanel(_arg1:Boolean=true):void{
_showSupportPanel(_arg1);
}
public static function setVolume(_arg1:Number):void{
_volume = _arg1;
adjustMusicVolume();
}
static function doFollow():void{
if (followTarget != null){
if (((followTarget.exists) && (!(followTarget.dead)))){
_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1));
_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1));
if (((!((followLead == null))) && ((followTarget is FlxSprite)))){
_scrollTarget.x = (_scrollTarget.x - ((followTarget as FlxSprite).velocity.x * followLead.x));
_scrollTarget.y = (_scrollTarget.y - ((followTarget as FlxSprite).velocity.y * followLead.y));
};
};
scroll.x = (scroll.x + (((_scrollTarget.x - scroll.x) * followLerp) * FlxG.elapsed));
scroll.y = (scroll.y + (((_scrollTarget.y - scroll.y) * followLerp) * FlxG.elapsed));
if (followMin != null){
if (scroll.x > followMin.x){
scroll.x = followMin.x;
};
if (scroll.y > followMin.y){
scroll.y = followMin.y;
};
};
if (followMax != null){
if (scroll.x < followMax.x){
scroll.x = followMax.x;
};
if (scroll.y < followMax.y){
scroll.y = followMax.y;
};
};
};
}
public static function getAngle(_arg1:Number, _arg2:Number):Number{
return (((Math.atan2(_arg2, _arg1) * 180) / Math.PI));
}
public static function addBitmap(_arg1:Class, _arg2:Boolean=false):BitmapData{
var _local6:BitmapData;
var _local7:Matrix;
var _local3:Boolean;
var _local4:String = String(_arg1);
if ((((_cache[_local4] == undefined)) || ((_cache[_local4] == null)))){
_cache[_local4] = new (_arg1).bitmapData;
if (_arg2){
_local3 = true;
};
};
var _local5:BitmapData = _cache[_local4];
if (((((!(_local3)) && (_arg2))) && ((_local5.width == new (_arg1).bitmapData.width)))){
_local3 = true;
};
if (_local3){
_local6 = new BitmapData((_local5.width << 1), _local5.height, true, 0);
_local6.draw(_local5);
_local7 = new Matrix();
_local7.scale(-1, 1);
_local7.translate(_local6.width, 0);
_local6.draw(_local5, _local7);
_local5 = _local6;
};
return (_local5);
}
public static function pressed(_arg1:uint):Boolean{
return ((_keys[_arg1] > 0));
}
public static function play(_arg1:Class, _arg2:Number=1):void{
new (_arg1).play(0, 0, new SoundTransform((((_arg2 * _muted) * _volume) * _masterVolume)));
}
public static function computeVelocity(_arg1:Number, _arg2:Number=0, _arg3:Number=0, _arg4:Number=10000):Number{
var _local5:Number;
if (_arg2 != 0){
_arg1 = (_arg1 + (_arg2 * FlxG.elapsed));
} else {
if (_arg3 != 0){
_local5 = (_arg3 * FlxG.elapsed);
if ((_arg1 - _local5) > 0){
_arg1 = (_arg1 - _local5);
} else {
if ((_arg1 + _local5) < 0){
_arg1 = (_arg1 + _local5);
} else {
_arg1 = 0;
};
};
};
};
if (((!((_arg1 == 0))) && (!((_arg4 == 10000))))){
if (_arg1 > _arg4){
_arg1 = _arg4;
} else {
if (_arg1 < -(_arg4)){
_arg1 = -(_arg4);
};
};
};
return (_arg1);
}
static function setGameData(_arg1:uint, _arg2:uint, _arg3:Function, _arg4:Function, _arg5:Function, _arg6:Function, _arg7:Function, _arg8:Function, _arg9:Function, _arg10:Function):void{
_cache = new Object();
width = _arg1;
height = _arg2;
_muted = 1;
_volume = 1;
_musicVolume = 1;
_masterVolume = 0.5;
_musicPosition = -1;
mouse = new Point();
_switchState = _arg3;
_log = _arg4;
_quake = _arg5;
_flash = _arg6;
_fade = _arg7;
_setCursor = _arg8;
_showSupportPanel = _arg9;
_hideSupportPanel = _arg10;
unfollow();
_keys = new Array();
_oldKeys = new Array();
var _local11:uint;
while (_local11 < 7) {
_keys.push(0);
_oldKeys.push(0);
_local11++;
};
FlxG.levels = new FlxArray();
FlxG.scores = new FlxArray();
level = 0;
score = 0;
kong = null;
}
public static function stopMusic():void{
_musicPosition = 0;
if (_musicChannel != null){
_musicChannel.stop();
_musicChannel = null;
};
}
public static function justReleased(_arg1:uint):Boolean{
return ((_keys[_arg1] == -1));
}
public static function playMusic():void{
if (_musicPosition < 0){
return;
};
if (_musicPosition == 0){
if (_musicChannel == null){
_musicChannel = _music.play(0, 9999, new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume)));
};
} else {
_musicChannel = _music.play(_musicPosition, 0, new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume)));
_musicChannel.addEventListener(Event.SOUND_COMPLETE, loopMusic);
};
_musicPosition = 0;
}
public static function log(_arg1:String):void{
_log(_arg1);
}
static function pressKey(_arg1:uint):void{
if (_keys[_arg1] > 0){
_keys[_arg1] = 1;
} else {
_keys[_arg1] = 2;
};
}
public static function overlapArray(_arg1:FlxArray, _arg2:FlxCore, _arg3:Function):void{
var _local4:FlxCore;
if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){
return;
};
var _local5:uint;
while (_local5 < _arg1.length) {
_local4 = _arg1[_local5];
if ((((((((_local4 === _arg2)) || ((_local4 == null)))) || (!(_local4.exists)))) || (_local4.dead))){
} else {
if (_local4.overlaps(_arg2)){
_arg3(_local4, _arg2);
};
};
_local5++;
};
}
static function updateKeys():void{
var _local1:uint;
while (_local1 < 7) {
if ((((_oldKeys[_local1] == -1)) && ((_keys[_local1] == -1)))){
_keys[_local1] = 0;
} else {
if ((((_oldKeys[_local1] == 2)) && ((_keys[_local1] == 2)))){
_keys[_local1] = 1;
};
};
_oldKeys[_local1] = _keys[_local1];
_local1++;
};
mouse.x = (state.mouseX - scroll.x);
mouse.y = (state.mouseY - scroll.y);
}
public static function setCursor(_arg1:Class):void{
_setCursor(_arg1);
}
public static function createBitmap(_arg1:uint, _arg2:uint, _arg3:uint):BitmapData{
var _local4:String = ((((_arg1 + "x") + _arg2) + ":") + _arg3);
if ((((_cache[_local4] == undefined)) || ((_cache[_local4] == null)))){
_cache[_local4] = new BitmapData(_arg1, _arg2, true, _arg3);
};
return (_cache[_local4]);
}
public static function overlapArrays(_arg1:FlxArray, _arg2:FlxArray, _arg3:Function):void{
var _local4:uint;
var _local5:uint;
var _local6:FlxCore;
var _local7:FlxCore;
if (_arg1 === _arg2){
_local4 = 0;
while (_local4 < _arg1.length) {
_local6 = _arg1[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5 = (_local4 + 1);
while (_local5 < _arg2.length) {
_local7 = _arg2[_local5];
if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){
} else {
if (_local6.overlaps(_local7)){
_arg3(_local6, _local7);
};
};
_local5++;
};
};
_local4++;
};
} else {
_local4 = 0;
while (_local4 < _arg1.length) {
_local6 = _arg1[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5 = 0;
while (_local5 < _arg2.length) {
_local7 = _arg2[_local5];
if ((((((((_local6 === _local7)) || ((_local7 == null)))) || (!(_local7.exists)))) || (_local7.dead))){
} else {
if (_local6.overlaps(_local7)){
_arg3(_local6, _local7);
};
};
_local5++;
};
};
_local4++;
};
};
}
public static function getMusicVolume():Number{
return (_musicVolume);
}
static function unfollow():void{
followTarget = null;
followLead = null;
followLerp = 1;
followMin = null;
followMax = null;
scroll = new Point();
_scrollTarget = new Point();
}
public static function getMute():Boolean{
if (_muted == 0){
return (true);
};
return (false);
}
public static function justPressed(_arg1:uint):Boolean{
return ((_keys[_arg1] == 2));
}
private static function adjustMusicVolume():void{
if (_muted < 0){
_muted = 0;
} else {
if (_muted > 1){
_muted = 1;
};
};
if (_volume < 0){
_volume = 0;
} else {
if (_volume > 1){
_volume = 1;
};
};
if (_musicVolume < 0){
_musicVolume = 0;
} else {
if (_musicVolume > 1){
_musicVolume = 1;
};
};
if (_masterVolume < 0){
_masterVolume = 0;
} else {
if (_masterVolume > 1){
_masterVolume = 1;
};
};
if (_musicChannel != null){
_musicChannel.soundTransform = new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume));
};
}
static function getMasterVolume():Number{
return (_masterVolume);
}
public static function followAdjust(_arg1:Number=0, _arg2:Number=0):void{
followLead = new Point(_arg1, _arg2);
}
public static function setMute(_arg1:Boolean):void{
if (_arg1){
_muted = 0;
} else {
_muted = 1;
};
adjustMusicVolume();
}
public static function fade(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
_fade(_arg1, _arg2, _arg3, _arg4);
}
public static function follow(_arg1:FlxCore, _arg2:Number=1):void{
followTarget = _arg1;
followLerp = _arg2;
scroll.x = (_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1)));
scroll.y = (_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1)));
}
public static function collideArray(_arg1:FlxArray, _arg2:FlxSprite):void{
var _local3:FlxCore;
if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){
return;
};
var _local4:uint;
while (_local4 < _arg1.length) {
_local3 = _arg1[_local4];
if ((((((((_local3 === _arg2)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){
} else {
_local3.collide(_arg2);
};
_local4++;
};
}
public static function switchState(_arg1:Class):void{
_switchState(_arg1);
}
public static function openURL(_arg1:String):void{
navigateToURL(new URLRequest(_arg1), "_blank");
}
static function setMasterVolume(_arg1:Number):void{
_masterVolume = _arg1;
adjustMusicVolume();
}
public static function pauseMusic():void{
if (_musicChannel == null){
_musicPosition = -1;
return;
};
_musicPosition = _musicChannel.position;
_musicChannel.stop();
while (_musicPosition >= _music.length) {
_musicPosition = (_musicPosition - _music.length);
};
_musicChannel = null;
}
public static function followBounds(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0):void{
followMin = new Point(-(_arg1), -(_arg2));
followMax = new Point((-(_arg3) + width), (-(_arg4) + height));
if (followMax.x > followMin.x){
followMax.x = followMin.x;
};
if (followMax.y > followMin.y){
followMax.y = followMin.y;
};
}
public static function collideArray2(_arg1:FlxCore, _arg2:FlxArray):void{
var _local3:FlxSprite;
if ((((((_arg1 == null)) || (!(_arg1.exists)))) || (_arg1.dead))){
return;
};
var _local4:uint;
while (_local4 < _arg2.length) {
_local3 = _arg2[_local4];
if ((((((((_arg1 === _local3)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){
} else {
_arg1.collide(_local3);
};
_local4++;
};
}
public static function setMusicVolume(_arg1:Number):void{
_musicVolume = _arg1;
adjustMusicVolume();
}
public static function resetKeys():void{
kUp = (kDown = (kLeft = (kRight = (kA = (kB = (kMouse = false))))));
var _local1:uint;
while (_local1 < _keys.length) {
_keys[_local1] = 0;
_local1++;
};
}
static function releaseKey(_arg1:uint):void{
if (_keys[_arg1] > 0){
_keys[_arg1] = -1;
} else {
_keys[_arg1] = 0;
};
}
private static function loopMusic(_arg1:Event=null):void{
if (_musicChannel == null){
return;
};
_musicChannel.removeEventListener(Event.SOUND_COMPLETE, loopMusic);
_musicChannel = null;
playMusic();
}
public static function setMusic(_arg1:Class, _arg2:Number=1, _arg3:Boolean=true):void{
stopMusic();
_music = new (_arg1);
_musicVolume = _arg2;
if (_arg3){
playMusic();
};
}
public static function quake(_arg1:Number, _arg2:Number=0.5):void{
_quake(_arg1, _arg2);
}
public static function flash(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
_flash(_arg1, _arg2, _arg3, _arg4);
}
public static function rotatePoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Point{
var _local6:Number = ((-(_arg5) / 180) * Math.PI);
var _local7:Number = (_arg1 - _arg3);
var _local8:Number = (_arg4 - _arg2);
return (new Point(((_arg3 + (Math.cos(_local6) * _local7)) - (Math.sin(_local6) * _local8)), (_arg4 - ((Math.sin(_local6) * _local7) + (Math.cos(_local6) * _local8)))));
}
public static function hideSupportPanel():void{
_hideSupportPanel();
}
}
}//package org.flixel
Section 432
//FlxGame (org.flixel.FlxGame)
package org.flixel {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import com.ProjUno.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import org.flixel.data.*;
import flash.filters.*;
import flash.ui.*;
public class FlxGame extends Sprite {
private const MAX_CONSOLE_LINES:uint = 0x0100;
private const MAX_ELAPSED:Number = 0.0333;
private var _bmpFront:Bitmap;
private var ImgKeyC:Class;
private var _panel:FlxPanel;
private var _FPS:Array;
private var _flashDelay:Number;
private var ImgKeyMinus:Class;
private var SndBeep:Class;
private var _console:Sprite;
private var ImgKeyX:Class;
private var filt2:GlowFilter;
private var _flashHelper:Number;
private var _gimme5:Sprite;
private var _logoFade:Bitmap;
private var _help:Array;
private var _consoleYT:Number;
private var _quakeIntensity:Number;
private var _elapsed:Number;
private var _focusPopup3:Sprite;
private var _consoleY:Number;
private var _flipped:Boolean;
private var _total:uint;
private var _focusPopup2:Sprite;
private var junk:String;// = "FlxGame_junk"
private var ImgKeyMouse:Class;
private var _flashComplete:Function;
private var _paused:Boolean;
private var _focusPopup:Sprite;
private var _quakeTimer:Number;
private var _soundTrayBars:Array;
private var _focusPopup4:Sprite;
private var _fade:Bitmap;
private var _fc:uint;
private var _buffer:Sprite;
private var _poweredBy:Bitmap;
private var _consoleText:TextField;
private var ImgPauseScreen:Class;
private var _fSound:Class;
private var _cursor:Bitmap;
private var ImgKeyPlus:Class;
private var ImgPoweredBy:Class;
private var ImgGimme5:Class;
private var _frame:Class;
private var _soundTrayTimer:Number;
private var SndFlixel:Class;
private var _soundTray:Sprite;
private var filt:GlowFilter;
private var _gy:int;
private var _fpsUpdate:Boolean;
private var _gx:int;
private var _curState:FlxState;
private var ImgKeysArrows:Class;
private var _showLogo:Boolean;
private var _curFPS:uint;
private var _created:Boolean;
private var _focusField:TextField;
private var _consoleFPS:TextField;
private var ImgPauseScreen2:Class;
private var ImgPauseScreen3:Class;
private var ImgPauseScreen4:Class;
private var _fadeComplete:Function;
private var _iState:Class;
private var _bmpBack:Bitmap;
private var _consoleLines:Array;
private var _logoTimer:Number;
private var _quakeLength:Number;
private var _logoComplete:Boolean;
private var _f:FlxArray;
private var _fadeHelper:Number;
private var _go_mouse:int;// = 0
private var _fadeDelay:Number;
private var ImgKey0:Class;
private var ImgKey1:Class;
private var _flash:Bitmap;
private var _z:uint;
private var _bgc:Number;
public function FlxGame(_arg1:uint, _arg2:uint, _arg3:Class, _arg4:uint=2, _arg5:Number=4278190080, _arg6:Boolean=true, _arg7:Number=4294967295, _arg8:Class=null, _arg9:Class=null, _arg10:uint=0, _arg11:uint=0){
ImgPoweredBy = FlxGame_ImgPoweredBy;
ImgKeyX = FlxGame_ImgKeyX;
ImgKeyC = FlxGame_ImgKeyC;
ImgKeyMouse = FlxGame_ImgKeyMouse;
ImgKeysArrows = FlxGame_ImgKeysArrows;
ImgKeyMinus = FlxGame_ImgKeyMinus;
ImgKeyPlus = FlxGame_ImgKeyPlus;
ImgKey0 = FlxGame_ImgKey0;
ImgKey1 = FlxGame_ImgKey1;
SndBeep = FlxGame_SndBeep;
SndFlixel = FlxGame_SndFlixel;
ImgPauseScreen = FlxGame_ImgPauseScreen;
ImgPauseScreen2 = FlxGame_ImgPauseScreen2;
ImgPauseScreen3 = FlxGame_ImgPauseScreen3;
ImgPauseScreen4 = FlxGame_ImgPauseScreen4;
ImgGimme5 = FlxGame_ImgGimme5;
filt = new GlowFilter();
filt2 = new GlowFilter();
super();
_z = _arg4;
_gx = _arg10;
_gy = _arg11;
_bgc = _arg5;
_fc = _arg7;
FlxG.setGameData(_arg1, _arg2, switchState, log, quake, flash, fade, setCursor, showSupportPanel, hideSupportPanel);
_created = false;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
_elapsed = 0;
_total = 0;
_fpsUpdate = true;
Mouse.hide();
_logoComplete = false;
_f = null;
_quakeTimer = 0;
_quakeIntensity = 0;
_quakeLength = 0;
if (_arg8 == null){
_fSound = SndFlixel;
} else {
_fSound = _arg8;
};
_curState = null;
_frame = _arg9;
_iState = _arg3;
_FPS = new Array(8);
_curFPS = 0;
_paused = false;
_help = new Array();
_help.push("A Button");
_help.push("B Button");
_help.push("Mouse");
_help.push("Move");
_showLogo = _arg6;
_panel = new FlxPanel();
}
private function hideSupportPanel():void{
_panel.hide();
}
private function showSupportPanel(_arg1:Boolean=true):void{
_panel.show(_arg1);
}
private function onFocus(_arg1:Event=null):void{
_focusPopup.visible = false;
_focusPopup2.visible = false;
_focusPopup3.visible = false;
_focusPopup4.visible = false;
_gimme5.visible = false;
_gimme5.filters = [];
FlxG.resetKeys();
_paused = false;
FlxG.playMusic();
stage.frameRate = 90;
}
private function log(_arg1:String):void{
var _local2:String;
var _local3:uint;
if (_arg1 == null){
_arg1 = "ERROR: NULL GAME LOG MESSAGE";
};
if (_console == null){
trace(_arg1);
return;
};
_consoleLines.push(_arg1);
if (_consoleLines.length > MAX_CONSOLE_LINES){
_consoleLines.shift();
_local2 = "";
_local3 = 0;
while (_local3 < _consoleLines.length) {
_local2 = (_local2 + (_consoleLines[_local3] + "\n"));
_local3++;
};
_consoleText.text = _local2;
} else {
_consoleText.appendText((_arg1 + "\n"));
};
_consoleText.scrollV = _consoleText.height;
}
private function setCursor(_arg1:Class):void{
if (_cursor != null){
_buffer.removeChild(_cursor);
};
_cursor = (_buffer.addChild(new (_arg1)) as Bitmap);
}
private function toggleConsole():void{
if (_consoleYT == (_gy * _z)){
_consoleYT = ((_gy * _z) - (FlxG.height * _z));
} else {
_consoleYT = (_gy * _z);
_console.visible = true;
};
}
private function fade(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
if (_arg1 == 0){
_fade.visible = false;
return;
};
if (((!(_arg4)) && (_fade.visible))){
return;
};
_fade.bitmapData.fillRect(new Rectangle(0, 0, _fade.width, _fade.height), _arg1);
_fadeDelay = _arg2;
_fadeComplete = _arg3;
_fadeHelper = 0;
_fade.alpha = 0;
_fade.visible = true;
}
protected function help(_arg1:String=null, _arg2:String=null, _arg3:String=null, _arg4:String=null):void{
if (_arg1 != null){
_help[0] = _arg1;
};
if (_arg2 != null){
_help[1] = _arg2;
};
if (_arg3 != null){
_help[2] = _arg3;
};
if (_arg4 != null){
_help[3] = _arg4;
};
}
protected function setupSupportPanel(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{
_panel.init(_arg1, _arg2, _arg3, _arg4, _arg5);
}
private function onMouseUp(_arg1:MouseEvent):void{
FlxG.kMouse = false;
FlxG.releaseKey(6);
}
private function showSoundTray():void{
FlxG.play(SndBeep);
_soundTrayTimer = 1;
_soundTray.y = (_gy * _z);
_soundTray.visible = true;
var _local1:uint = Math.round((FlxG.getMasterVolume() * 10));
if (FlxG.getMute()){
_local1 = 0;
};
var _local2:uint;
while (_local2 < _soundTrayBars.length) {
if (_local2 < _local1){
_soundTrayBars[_local2].alpha = 1;
} else {
_soundTrayBars[_local2].alpha = 0.5;
};
_local2++;
};
}
private function onEnterFrame(_arg1:Event):void{
var _local2:uint;
var _local4:uint;
var _local5:Bitmap;
var _local6:uint;
var _local7:uint;
var _local8:int;
var _local9:int;
var _local10:ColorTransform;
var _local11:Bitmap;
var _local12:TextField;
var _local13:uint;
var _local14:uint;
var _local15:Bitmap;
var _local3:uint = getTimer();
_elapsed = ((_local3 - _total) / 1000);
_total = _local3;
FlxG.elapsed = _elapsed;
if (FlxG.elapsed > MAX_ELAPSED){
FlxG.elapsed = MAX_ELAPSED;
};
if (_logoComplete){
_panel.update();
if (_soundTrayTimer > 0){
_soundTrayTimer = (_soundTrayTimer - _elapsed);
} else {
if (_soundTray.y > -(_soundTray.height)){
_soundTray.y = (_soundTray.y - ((_elapsed * FlxG.height) * 2));
if (_soundTray.y < -(_soundTray.height)){
_soundTray.visible = false;
};
};
};
if (_console.visible){
_FPS[_curFPS] = (1 / _elapsed);
if (++_curFPS >= _FPS.length){
_curFPS = 0;
};
_fpsUpdate = !(_fpsUpdate);
if (_fpsUpdate){
_local4 = 0;
_local2 = 0;
while (_local2 < _FPS.length) {
_local4 = (_local4 + _FPS[_local2]);
_local2++;
};
_consoleFPS.text = (Math.floor((_local4 / _FPS.length)) + " fps");
};
};
if (_consoleY < _consoleYT){
_consoleY = (_consoleY + ((FlxG.height * 10) * _elapsed));
} else {
if (_consoleY > _consoleYT){
_consoleY = (_consoleY - ((FlxG.height * 10) * _elapsed));
};
};
if (_consoleY > (_gy * _z)){
_consoleY = (_gy * _z);
} else {
if (_consoleY < ((_gy * _z) - (FlxG.height * _z))){
_consoleY = ((_gy * _z) - (FlxG.height * _z));
_console.visible = false;
};
};
_console.y = Math.floor(_consoleY);
FlxG.updateKeys();
if (_paused){
if (!FlxG.kMouse){
_go_mouse = 0;
};
if (((((((((FlxG.mouse.x + FlxG.scroll.x) > 72)) && (((FlxG.mouse.x + FlxG.scroll.x) < 95)))) && (((FlxG.mouse.y + FlxG.scroll.y) > 41)))) && (((FlxG.mouse.y + FlxG.scroll.y) < 46)))){
_focusPopup.visible = false;
_focusPopup2.visible = true;
_focusPopup3.visible = false;
_focusPopup4.visible = false;
_gimme5.visible = true;
_gimme5.filters = [];
if (FlxG.kMouse){
onFocus();
};
} else {
if (((((((((FlxG.mouse.x + FlxG.scroll.x) > 72)) && (((FlxG.mouse.x + FlxG.scroll.x) < 95)))) && (((FlxG.mouse.y + FlxG.scroll.y) > 48)))) && (((FlxG.mouse.y + FlxG.scroll.y) < 55)))){
_focusPopup.visible = false;
_focusPopup2.visible = false;
_focusPopup3.visible = true;
_focusPopup4.visible = false;
_gimme5.visible = true;
_gimme5.filters = [];
if (FlxG.kMouse){
onFocus();
FlxG.switchState(MenuState);
};
} else {
if (((((((((FlxG.mouse.x + FlxG.scroll.x) > 55)) && (((FlxG.mouse.x + FlxG.scroll.x) < 106)))) && (((FlxG.mouse.y + FlxG.scroll.y) > 55)))) && (((FlxG.mouse.y + FlxG.scroll.y) < 70)))){
_focusPopup.visible = false;
_focusPopup2.visible = false;
_focusPopup3.visible = false;
_focusPopup4.visible = true;
_gimme5.visible = true;
_gimme5.filters = [filt];
if (((FlxG.kMouse) && ((_go_mouse == 0)))){
_gimme5.filters = [filt2];
_go_mouse = 1;
};
} else {
_focusPopup.visible = true;
_focusPopup2.visible = false;
_focusPopup3.visible = false;
_focusPopup4.visible = false;
_gimme5.visible = true;
_gimme5.filters = [];
};
};
};
if (FlxG.pressed(FlxG.A)){
_focusPopup.visible = false;
_focusPopup2.visible = false;
_focusPopup3.visible = false;
_focusPopup4.visible = false;
_gimme5.visible = false;
_gimme5.filters = [];
onFocus();
};
};
if (!_paused){
if (FlxG.pause_game == 1){
FlxG.pause_game = 0;
onFocusLost();
};
if (_cursor != null){
_cursor.x = (FlxG.mouse.x + FlxG.scroll.x);
_cursor.y = (FlxG.mouse.y + FlxG.scroll.y);
};
FlxG.doFollow();
_curState.update();
if (_quakeTimer > 0){
_quakeTimer = (_quakeTimer + _elapsed);
if (_quakeTimer > _quakeLength){
_quakeTimer = 0;
_buffer.x = 0;
_buffer.y = 0;
} else {
_buffer.x = (((((Math.random() * _quakeIntensity) * FlxG.width) * 2) - (_quakeIntensity * FlxG.width)) * _z);
_buffer.y = (((((Math.random() * _quakeIntensity) * FlxG.height) * 2) - (_quakeIntensity * FlxG.height)) * _z);
};
};
if (_flash.visible){
_flashHelper = (_flashHelper - (_elapsed / _flashDelay));
_flash.alpha = _flashHelper;
if (_flash.alpha <= 0){
_flash.visible = false;
if (_flashComplete != null){
_flashComplete();
};
};
};
if (((_fade.visible) && (!((_fade.alpha == 1))))){
_fadeHelper = (_fadeHelper + (_elapsed / _fadeDelay));
_fade.alpha = _fadeHelper;
if (_fade.alpha >= 1){
_fade.alpha = 1;
if (_fadeComplete != null){
_fadeComplete();
};
};
};
if (_flipped){
_bmpFront.bitmapData.fillRect(new Rectangle(0, 0, _bmpFront.width, _bmpFront.height), _bgc);
FlxG.buffer = _bmpFront.bitmapData;
} else {
_bmpBack.bitmapData.fillRect(new Rectangle(0, 0, _bmpBack.width, _bmpBack.height), _bgc);
FlxG.buffer = _bmpBack.bitmapData;
};
_curState.render();
_panel.render();
_bmpBack.visible = !((_bmpFront.visible = _flipped));
_flipped = !(_flipped);
};
} else {
if (_created){
if (!_showLogo){
_logoComplete = true;
switchState(_iState);
} else {
if (_f == null){
_f = new FlxArray();
_local6 = 1;
if (FlxG.height > 200){
_local6 = 2;
};
_local7 = (32 * _local6);
_local8 = (((FlxG.height * _z) / 2) - (_local7 * 2));
_local9 = (((FlxG.width * _z) / 2) - _local7);
_f.push((addChild(new FlxLogoPixel((_local9 + _local7), _local8, _local7, 0, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel(_local9, (_local8 + _local7), _local7, 1, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel(_local9, (_local8 + (_local7 * 2)), _local7, 2, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel((_local9 + _local7), (_local8 + (_local7 * 2)), _local7, 3, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel(_local9, (_local8 + (_local7 * 3)), _local7, 4, _fc)) as FlxLogoPixel));
_poweredBy = new ImgPoweredBy();
_poweredBy.scaleX = _local6;
_poweredBy.scaleY = _local6;
_poweredBy.x = (((FlxG.width * _z) / 2) - (_poweredBy.width / 2));
_poweredBy.y = ((_local8 + (_local7 * 4)) + 16);
_local10 = new ColorTransform();
_local10.color = _fc;
_poweredBy.bitmapData.colorTransform(new Rectangle(0, 0, _poweredBy.width, _poweredBy.height), _local10);
addChild(_poweredBy);
_logoFade = (addChild(new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z), true, 4278190080))) as Bitmap);
_logoFade.x = (_gx * _z);
_logoFade.y = (_gy * _z);
if (_fSound != null){
new _fSound().play(0, 0, new SoundTransform(0.35, 0));
};
};
_logoTimer = (_logoTimer + _elapsed);
_local2 = 0;
while (_local2 < _f.length) {
_f[_local2].update();
_local2++;
};
if (_logoFade.alpha > 0){
_logoFade.alpha = (_logoFade.alpha - (_elapsed * 0.5));
};
if (_logoTimer > 2){
removeChild(_poweredBy);
_local2 = 0;
while (_local2 < _f.length) {
removeChild(_f[_local2]);
_local2++;
};
_f.clear();
removeChild(_logoFade);
switchState(_iState);
_logoComplete = true;
};
};
} else {
if (root != null){
stage.showDefaultContextMenu = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.frameRate = 90;
_buffer = new Sprite();
_buffer.scaleX = _z;
_buffer.scaleY = _z;
addChild(_buffer);
_bmpBack = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, _bgc));
_bmpBack.x = _gx;
_bmpBack.y = _gy;
_buffer.addChild(_bmpBack);
_bmpFront = new Bitmap(new BitmapData(_bmpBack.width, _bmpBack.height, true, _bgc));
_bmpFront.x = _bmpBack.x;
_bmpFront.y = _bmpBack.y;
_buffer.addChild(_bmpFront);
_flipped = false;
_flash = new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z)));
_flash.x = (_gx * _z);
_flash.y = (_gy * _z);
_flash.visible = false;
addChild(_flash);
_fade = new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z)));
_fade.x = (_gx * _z);
_fade.y = (_gy * _z);
_fade.visible = false;
addChild(_fade);
_console = new Sprite();
_console.visible = false;
_console.x = (_gx * _z);
_console.y = ((_gy * _z) - (FlxG.height * _z));
_consoleYT = (_consoleY = _console.y);
_local5 = new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z), true, 2130706432));
_console.addChild(_local5);
_consoleText = new TextField();
_consoleText.width = _local5.width;
_consoleText.height = _local5.height;
_consoleText.multiline = true;
_consoleText.wordWrap = true;
_consoleText.embedFonts = true;
_consoleText.antiAliasType = AntiAliasType.NORMAL;
_consoleText.gridFitType = GridFitType.PIXEL;
_consoleText.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF);
_console.addChild(_consoleText);
_consoleFPS = new TextField();
_consoleFPS.width = _local5.width;
_consoleFPS.height = 20;
_consoleFPS.multiline = true;
_consoleFPS.wordWrap = true;
_consoleFPS.embedFonts = true;
_consoleFPS.antiAliasType = AntiAliasType.NORMAL;
_consoleFPS.gridFitType = GridFitType.PIXEL;
_consoleFPS.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right");
_console.addChild(_consoleFPS);
_consoleLines = new Array();
addChild(_console);
log("flixel v1.25");
log("---------------------------------------");
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
_focusPopup = new Sprite();
_focusPopup.visible = false;
_focusPopup.scaleX = 1;
_focusPopup.scaleY = 1;
_focusPopup.x = ((_gx * _z) + (8 * _z));
_focusPopup.y = ((_gy * _z) + ((FlxG.height * _z) / 4));
_local5 = new Bitmap(new BitmapData(640, 480, true, 3741319168));
_focusPopup.x = (((_gx + (FlxG.width / 2)) * _z) - ((_local5.width / 2) * _focusPopup.scaleX));
_focusPopup.y = (((_gy + (FlxG.height / 2)) * _z) - ((_local5.height / 2) * _focusPopup.scaleY));
_focusPopup.addChild(_local5);
_local11 = (_focusPopup.addChild(new ImgPauseScreen()) as Bitmap);
_local11.x = 0;
_local11.y = 120;
addChild(_focusPopup);
_focusPopup2 = new Sprite();
_focusPopup2.visible = false;
_focusPopup2.scaleX = 1;
_focusPopup2.scaleY = 1;
_focusPopup2.x = ((_gx * _z) + (8 * _z));
_focusPopup2.y = ((_gy * _z) + ((FlxG.height * _z) / 4));
_local5 = new Bitmap(new BitmapData(640, 480, true, 3741319168));
_focusPopup2.x = (((_gx + (FlxG.width / 2)) * _z) - ((_local5.width / 2) * _focusPopup2.scaleX));
_focusPopup2.y = (((_gy + (FlxG.height / 2)) * _z) - ((_local5.height / 2) * _focusPopup2.scaleY));
_focusPopup2.addChild(_local5);
_local11 = (_focusPopup2.addChild(new ImgPauseScreen2()) as Bitmap);
_local11.x = 0;
_local11.y = 120;
addChild(_focusPopup2);
_focusPopup3 = new Sprite();
_focusPopup3.visible = false;
_focusPopup3.scaleX = 1;
_focusPopup3.scaleY = 1;
_focusPopup3.x = ((_gx * _z) + (8 * _z));
_focusPopup3.y = ((_gy * _z) + ((FlxG.height * _z) / 4));
_local5 = new Bitmap(new BitmapData(640, 480, true, 3741319168));
_focusPopup3.x = (((_gx + (FlxG.width / 2)) * _z) - ((_local5.width / 2) * _focusPopup3.scaleX));
_focusPopup3.y = (((_gy + (FlxG.height / 2)) * _z) - ((_local5.height / 2) * _focusPopup3.scaleY));
_focusPopup3.addChild(_local5);
_local11 = (_focusPopup3.addChild(new ImgPauseScreen3()) as Bitmap);
_local11.x = 0;
_local11.y = 120;
addChild(_focusPopup3);
_focusPopup4 = new Sprite();
_focusPopup4.visible = false;
_focusPopup4.scaleX = 1;
_focusPopup4.scaleY = 1;
_focusPopup4.x = ((_gx * _z) + (8 * _z));
_focusPopup4.y = ((_gy * _z) + ((FlxG.height * _z) / 4));
_local5 = new Bitmap(new BitmapData(640, 480, true, 3741319168));
_focusPopup4.x = (((_gx + (FlxG.width / 2)) * _z) - ((_local5.width / 2) * _focusPopup4.scaleX));
_focusPopup4.y = (((_gy + (FlxG.height / 2)) * _z) - ((_local5.height / 2) * _focusPopup4.scaleY));
_focusPopup4.addChild(_local5);
_local11 = (_focusPopup4.addChild(new ImgPauseScreen4()) as Bitmap);
_local11.x = 0;
_local11.y = 120;
addChild(_focusPopup4);
_gimme5 = new Sprite();
_gimme5.visible = false;
_gimme5.x = (206 + ((_gx * _z) + (8 * _z)));
_gimme5.y = (115 + ((_gy * _z) + ((FlxG.height * _z) / 4)));
_gimme5.scaleX = 1;
_gimme5.scaleY = 1;
_gimme5.addChild(new ImgGimme5());
addChild(_gimme5);
addEventListener(MouseEvent.CLICK, GotoGimme);
filt.color = 0xFF0000;
filt.blurX = 10;
filt.blurY = 10;
filt2.color = 0xFFFFFF;
filt2.blurY = 10;
filt2.blurY = 10;
_soundTray = new Sprite();
_soundTray.visible = false;
_soundTray.scaleX = 1;
_soundTray.scaleY = 1;
_local5 = new Bitmap(new BitmapData(80, 30, true, 2130706432));
_soundTray.x = (((_gx + (FlxG.width / 2)) * _z) - ((_local5.width / 2) * _soundTray.scaleX));
_soundTray.addChild(_local5);
_local12 = new TextField();
_local12 = new TextField();
_local12.width = _local5.width;
_local12.height = _local5.height;
_local12.multiline = true;
_local12.wordWrap = true;
_local12.selectable = false;
_local12.embedFonts = true;
_local12.antiAliasType = AntiAliasType.NORMAL;
_local12.gridFitType = GridFitType.PIXEL;
_local12.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center");
_soundTray.addChild(_local12);
_local12.text = "VOLUME";
_local12.y = 16;
_local13 = 10;
_local14 = 14;
_soundTrayBars = new Array();
_local2 = 0;
while (_local2 < 10) {
_local5 = new Bitmap(new BitmapData(4, (_local2 + 1), false, 0xFFFFFF));
_local5.x = _local13;
_local5.y = _local14;
_soundTrayBars.push(_soundTray.addChild(_local5));
_local13 = (_local13 + 6);
_local14--;
_local2++;
};
addChild(_soundTray);
stage.addEventListener(Event.DEACTIVATE, onFocusLost);
if (_frame != null){
_local15 = new _frame();
_local15.scaleX = _z;
_local15.scaleY = _z;
addChild(_local15);
};
_created = true;
_logoTimer = 0;
};
};
};
}
private function switchState(_arg1:Class):void{
_panel.hide();
FlxG.unfollow();
FlxG.resetKeys();
_quakeTimer = 0;
_buffer.x = 0;
_buffer.y = 0;
if (_cursor != null){
_buffer.removeChild(_cursor);
_cursor = null;
};
var _local2:FlxState = new (_arg1);
_buffer.addChild(_local2);
if (_curState != null){
_buffer.swapChildren(_local2, _curState);
_buffer.removeChild(_curState);
_curState.destroy();
};
_fade.visible = false;
_curState = _local2;
}
private function onMouseDown(_arg1:MouseEvent):void{
FlxG.kMouse = true;
FlxG.pressKey(6);
}
private function onKeyDown(_arg1:KeyboardEvent):void{
var _local2:String = String.fromCharCode(_arg1.charCode);
if ((((((_arg1.keyCode == 37)) || ((_local2 == "a")))) || ((_local2 == "A")))){
FlxG.kLeft = true;
FlxG.pressKey(0);
} else {
if ((((((_arg1.keyCode == 39)) || ((_local2 == "d")))) || ((_local2 == "D")))){
FlxG.kRight = true;
FlxG.pressKey(1);
} else {
if ((((((_arg1.keyCode == 38)) || ((_local2 == "w")))) || ((_local2 == "W")))){
FlxG.kUp = true;
FlxG.pressKey(2);
} else {
if ((((((_arg1.keyCode == 40)) || ((_local2 == "s")))) || ((_local2 == "S")))){
FlxG.kDown = true;
FlxG.pressKey(3);
} else {
if ((((((((((_local2 == "x")) || ((_local2 == "X")))) || ((_arg1.keyCode == Keyboard.TAB)))) || ((_local2 == "j")))) || ((_local2 == "J")))){
FlxG.kA = true;
FlxG.pressKey(4);
} else {
if ((((((((((_local2 == "c")) || ((_local2 == "C")))) || ((_arg1.keyCode == Keyboard.SPACE)))) || ((_local2 == "k")))) || ((_local2 == "K")))){
FlxG.kB = true;
FlxG.pressKey(5);
};
};
};
};
};
};
}
private function duplicateImageAsSprite(_arg1:DisplayObject):Sprite{
var _local2:BitmapData = new BitmapData(_arg1.width, _arg1.height, true, 0);
_local2.draw((_arg1 as IBitmapDrawable));
var _local3:Bitmap = new Bitmap(_local2);
var _local4:Sprite = new Sprite();
_local4.addChild((_local3 as DisplayObject));
return (_local4);
}
private function onKeyUp(_arg1:KeyboardEvent):void{
var _local2:String = String.fromCharCode(_arg1.charCode);
if ((((((_arg1.keyCode == 37)) || ((_local2 == "a")))) || ((_local2 == "A")))){
FlxG.kLeft = false;
FlxG.releaseKey(0);
} else {
if ((((((_arg1.keyCode == 39)) || ((_local2 == "d")))) || ((_local2 == "D")))){
FlxG.kRight = false;
FlxG.releaseKey(1);
} else {
if ((((((_arg1.keyCode == 38)) || ((_local2 == "w")))) || ((_local2 == "W")))){
FlxG.kUp = false;
FlxG.releaseKey(2);
} else {
if ((((((_arg1.keyCode == 40)) || ((_local2 == "s")))) || ((_local2 == "S")))){
FlxG.kDown = false;
FlxG.releaseKey(3);
} else {
if ((((((((((_local2 == "x")) || ((_local2 == "X")))) || ((_arg1.keyCode == Keyboard.TAB)))) || ((_local2 == "j")))) || ((_local2 == "J")))){
FlxG.kA = false;
FlxG.releaseKey(4);
} else {
if ((((((((((_local2 == "c")) || ((_local2 == "C")))) || ((_arg1.keyCode == Keyboard.SPACE)))) || ((_local2 == "k")))) || ((_local2 == "K")))){
FlxG.kB = false;
FlxG.releaseKey(5);
} else {
if ((((_local2 == "0")) || ((_local2 == ")")))){
FlxG.setMute(!(FlxG.getMute()));
showSoundTray();
} else {
if ((((_local2 == "-")) || ((_local2 == "_")))){
FlxG.setMute(false);
FlxG.setMasterVolume((FlxG.getMasterVolume() - 0.1));
showSoundTray();
} else {
if ((((_local2 == "+")) || ((_local2 == "=")))){
FlxG.setMute(false);
FlxG.setMasterVolume((FlxG.getMasterVolume() + 0.1));
showSoundTray();
} else {
if ((((((((_local2 == "1")) || ((_local2 == "!")))) || ((_local2 == "~")))) || ((_local2 == "`")))){
toggleConsole();
} else {
if (_arg1.keyCode == Keyboard.ESCAPE){
onFocusLost();
};
};
};
};
};
};
};
};
};
};
};
}
private function GotoGimme(_arg1:MouseEvent):void{
if (!_paused){
return;
};
FlxG.openURL("http://www.gimme5games.com/?ref=blasting");
}
private function quake(_arg1:Number, _arg2:Number=0.5):void{
_quakeIntensity = _arg1;
_quakeLength = _arg2;
_quakeTimer = 0.01;
}
private function flash(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
if (_arg1 == 0){
_flash.visible = false;
return;
};
if (((!(_arg4)) && (_flash.visible))){
return;
};
_flash.bitmapData.fillRect(new Rectangle(0, 0, _flash.width, _flash.height), _arg1);
_flashDelay = _arg2;
_flashComplete = _arg3;
_flashHelper = 1;
_flash.alpha = 1;
_flash.visible = true;
}
private function onFocusLost(_arg1:Event=null):void{
if (((!((x == 0))) || (!((y == 0))))){
x = 0;
y = 0;
};
if (!FlxG.canPause){
return;
};
Mouse.show();
_focusPopup.visible = true;
_focusPopup2.visible = false;
_focusPopup3.visible = false;
_focusPopup4.visible = false;
_gimme5.visible = false;
if (!_paused){
FlxG.pauseMusic();
};
_paused = true;
stage.frameRate = 10;
}
}
}//package org.flixel
Section 433
//FlxGame_ImgGimme5 (org.flixel.FlxGame_ImgGimme5)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgGimme5 extends SpriteAsset {
}
}//package org.flixel
Section 434
//FlxGame_ImgKey0 (org.flixel.FlxGame_ImgKey0)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgKey0 extends BitmapAsset {
}
}//package org.flixel
Section 435
//FlxGame_ImgKey1 (org.flixel.FlxGame_ImgKey1)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgKey1 extends BitmapAsset {
}
}//package org.flixel
Section 436
//FlxGame_ImgKeyC (org.flixel.FlxGame_ImgKeyC)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgKeyC extends BitmapAsset {
}
}//package org.flixel
Section 437
//FlxGame_ImgKeyMinus (org.flixel.FlxGame_ImgKeyMinus)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgKeyMinus extends BitmapAsset {
}
}//package org.flixel
Section 438
//FlxGame_ImgKeyMouse (org.flixel.FlxGame_ImgKeyMouse)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgKeyMouse extends BitmapAsset {
}
}//package org.flixel
Section 439
//FlxGame_ImgKeyPlus (org.flixel.FlxGame_ImgKeyPlus)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgKeyPlus extends BitmapAsset {
}
}//package org.flixel
Section 440
//FlxGame_ImgKeysArrows (org.flixel.FlxGame_ImgKeysArrows)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgKeysArrows extends BitmapAsset {
}
}//package org.flixel
Section 441
//FlxGame_ImgKeyX (org.flixel.FlxGame_ImgKeyX)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgKeyX extends BitmapAsset {
}
}//package org.flixel
Section 442
//FlxGame_ImgPauseScreen (org.flixel.FlxGame_ImgPauseScreen)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgPauseScreen extends BitmapAsset {
}
}//package org.flixel
Section 443
//FlxGame_ImgPauseScreen2 (org.flixel.FlxGame_ImgPauseScreen2)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgPauseScreen2 extends BitmapAsset {
}
}//package org.flixel
Section 444
//FlxGame_ImgPauseScreen3 (org.flixel.FlxGame_ImgPauseScreen3)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgPauseScreen3 extends BitmapAsset {
}
}//package org.flixel
Section 445
//FlxGame_ImgPauseScreen4 (org.flixel.FlxGame_ImgPauseScreen4)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgPauseScreen4 extends BitmapAsset {
}
}//package org.flixel
Section 446
//FlxGame_ImgPoweredBy (org.flixel.FlxGame_ImgPoweredBy)
package org.flixel {
import mx.core.*;
public class FlxGame_ImgPoweredBy extends BitmapAsset {
}
}//package org.flixel
Section 447
//FlxGame_junk (org.flixel.FlxGame_junk)
package org.flixel {
import mx.core.*;
public class FlxGame_junk extends FontAsset {
}
}//package org.flixel
Section 448
//FlxGame_SndBeep (org.flixel.FlxGame_SndBeep)
package org.flixel {
import mx.core.*;
public class FlxGame_SndBeep extends SoundAsset {
}
}//package org.flixel
Section 449
//FlxGame_SndFlixel (org.flixel.FlxGame_SndFlixel)
package org.flixel {
import mx.core.*;
public class FlxGame_SndFlixel extends SoundAsset {
}
}//package org.flixel
Section 450
//FlxLayer (org.flixel.FlxLayer)
package org.flixel {
public class FlxLayer extends FlxCore {
private var _children:FlxArray;
public function FlxLayer(){
_children = new FlxArray();
}
public function add(_arg1:FlxCore):FlxCore{
return ((_children.add(_arg1) as FlxCore));
}
override public function render():void{
super.render();
var _local1:uint;
while (_local1 < _children.length) {
if (((((!((_children[_local1] == null))) && (_children[_local1].exists))) && (_children[_local1].visible))){
_children[_local1].render();
};
_local1++;
};
}
override public function update():void{
super.update();
var _local1:uint;
while (_local1 < _children.length) {
if (((((!((_children[_local1] == null))) && (_children[_local1].exists))) && (_children[_local1].active))){
_children[_local1].update();
};
_local1++;
};
}
public function destroy():void{
_children.clear();
}
public function children():FlxArray{
return (_children);
}
}
}//package org.flixel
Section 451
//FlxSprite (org.flixel.FlxSprite)
package org.flixel {
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
public class FlxSprite extends FlxCore {
public var acceleration:Point;
public var finished:Boolean;
public var angularAcceleration:Number;
private var _alpha:Number;
private var _animations:FlxArray;
public var offset:Point;
private var _callback:Function;
public var _curAnim:FlxAnim;
public var drag:Point;
public var angularDrag:Number;
private var _pZero:Point;
private var _flipped:uint;
public var pixels:BitmapData;
public var scale:Point;
private var _pixels:BitmapData;
public var angle:Number;
public var thrust:Number;
public var maxThrust:Number;
public var velocity:Point;
public var maxAngular:Number;
public var angularVelocity:Number;
public var maxVelocity:Point;
public var health:Number;
private var _bh:uint;
private var _p:Point;
private var _r:Rectangle;
private var _bw:uint;
private var _frameTimer:Number;
private var _facing:Boolean;
public var _curFrame:uint;
public static const RIGHT:Boolean = true;
public static const LEFT:Boolean = false;
public function FlxSprite(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0){
if (_arg1 == null){
pixels = FlxG.createBitmap(_arg6, _arg7, _arg8);
} else {
pixels = FlxG.addBitmap(_arg1, _arg5);
};
x = _arg2;
y = _arg3;
if (_arg6 == 0){
if (_arg4){
_arg6 = pixels.height;
} else {
_arg6 = pixels.width;
};
};
width = (_bw = _arg6);
height = (_bh = pixels.height);
offset = new Point();
velocity = new Point();
acceleration = new Point();
drag = new Point();
maxVelocity = new Point(10000, 10000);
angle = 0;
angularVelocity = 0;
angularAcceleration = 0;
angularDrag = 0;
maxAngular = 10000;
thrust = 0;
scale = new Point(1, 1);
finished = false;
_facing = true;
_animations = new FlxArray();
if (_arg5){
_flipped = (pixels.width >> 1);
} else {
_flipped = 0;
};
_curAnim = null;
_curFrame = 0;
_frameTimer = 0;
_p = new Point(x, y);
_pZero = new Point();
_r = new Rectangle(0, 0, _bw, _bh);
_pixels = new BitmapData(width, height);
_pixels.copyPixels(pixels, _r, _pZero);
health = 1;
alpha = 1;
_callback = null;
}
override protected function getScreenXY(_arg1:Point):void{
_arg1.x = (Math.floor((x - offset.x)) + Math.floor((FlxG.scroll.x * scrollFactor.x)));
_arg1.y = (Math.floor((y - offset.y)) + Math.floor((FlxG.scroll.y * scrollFactor.y)));
}
public function hurt(_arg1:Number):void{
if ((health = (health - _arg1)) <= 0){
kill();
};
}
override public function render():void{
var _local1:Matrix;
if (!visible){
return;
};
getScreenXY(_p);
if (((((!((angle == 0))) || (!((scale.x == 1))))) || (!((scale.y == 1))))){
_local1 = new Matrix();
_local1.translate(-((_bw >> 1)), -((_bh >> 1)));
_local1.scale(scale.x, scale.y);
if (angle != 0){
_local1.rotate(((Math.PI * 2) * (angle / 360)));
};
_local1.translate((_p.x + (_bw >> 1)), (_p.y + (_bh >> 1)));
FlxG.buffer.draw(_pixels, _local1);
return;
};
FlxG.buffer.copyPixels(_pixels, _r, _p, null, null, true);
}
public function randomFrame():void{
_pixels.copyPixels(pixels, new Rectangle((Math.floor((Math.random() * (pixels.width / _bw))) * _bw), 0, _bw, _bh), _pZero);
}
private function calcFrame():void{
var _local1:uint;
if (_curAnim == null){
_local1 = 0;
} else {
_local1 = (_curAnim.frames[_curFrame] * _bw);
};
if (((!(_facing)) && ((_flipped > 0)))){
_local1 = (((_flipped << 1) - _local1) - _bw);
};
_pixels.copyPixels(pixels, new Rectangle(_local1, 0, _bw, _bh), _pZero);
if (_alpha != 1){
_pixels.colorTransform(_r, new ColorTransform(1, 1, 1, _alpha));
};
if (_callback != null){
_callback(_curAnim.name, _curFrame, _curAnim.frames[_curFrame]);
};
}
override public function hitCeiling():Boolean{
velocity.y = 0;
return (true);
}
public function play(_arg1:String, _arg2:Boolean=false):void{
if (((((!(_arg2)) && (!((_curAnim == null))))) && ((_arg1 == _curAnim.name)))){
return;
};
_curFrame = 0;
_frameTimer = 0;
var _local3:uint;
while (_local3 < _animations.length) {
if (_animations[_local3].name == _arg1){
finished = false;
_curAnim = _animations[_local3];
calcFrame();
return;
};
_local3++;
};
}
override public function hitFloor():Boolean{
velocity.y = 0;
return (true);
}
override public function update():void{
var _local1:Point;
var _local2:Point;
super.update();
if (!active){
return;
};
if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){
_frameTimer = (_frameTimer + FlxG.elapsed);
if (_frameTimer > _curAnim.delay){
_frameTimer = (_frameTimer - _curAnim.delay);
if (_curFrame == (_curAnim.frames.length - 1)){
if (_curAnim.looped){
_curFrame = 0;
};
finished = true;
} else {
_curFrame++;
};
calcFrame();
};
};
angle = (angle + ((angularVelocity = FlxG.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular)) * FlxG.elapsed));
if (thrust != 0){
_local1 = FlxG.rotatePoint(-(thrust), 0, 0, 0, angle);
_local2 = FlxG.rotatePoint(-(maxThrust), 0, 0, 0, angle);
maxVelocity.x = Math.abs(_local2.x);
maxVelocity.y = Math.abs(_local2.y);
} else {
_local1 = _pZero;
};
x = (x + ((velocity.x = FlxG.computeVelocity(velocity.x, (acceleration.x + _local1.x), drag.x, maxVelocity.x)) * FlxG.elapsed));
y = (y + ((velocity.y = FlxG.computeVelocity(velocity.y, (acceleration.y + _local1.y), drag.y, maxVelocity.y)) * FlxG.elapsed));
}
public function set alpha(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
};
if (_arg1 < 0){
_arg1 = 0;
};
_alpha = _arg1;
calcFrame();
}
public function addAnimationCallback(_arg1:Function):void{
_callback = _arg1;
}
public function onEmit():void{
}
public function set facing(_arg1:Boolean):void{
var _local2 = !((_facing == _arg1));
_facing = _arg1;
if (_local2){
calcFrame();
};
}
public function specificFrame(_arg1:uint):void{
_pixels.copyPixels(pixels, new Rectangle((_arg1 * _bw), 0, _bw, _bh), _pZero);
}
public function get facing():Boolean{
return (_facing);
}
public function addAnimation(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true):void{
_animations.add(new FlxAnim(_arg1, _arg2, _arg3, _arg4));
}
public function get alpha():Number{
return (_alpha);
}
override public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{
var _local4:Number = x;
var _local5:Number = y;
if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){
_local4 = (_local4 - Math.floor((FlxG.scroll.x * scrollFactor.x)));
_local5 = (_local5 - Math.floor((FlxG.scroll.y * scrollFactor.y)));
};
if (_arg3){
return (_pixels.hitTest(new Point(0, 0), 0xFF, new Point((_arg1 - _local4), (_arg2 - _local5))));
};
if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){
return (false);
};
return (true);
}
override public function hitWall():Boolean{
velocity.x = 0;
return (true);
}
}
}//package org.flixel
Section 452
//FlxState (org.flixel.FlxState)
package org.flixel {
import flash.display.*;
public class FlxState extends Sprite {
private var _layer:FlxLayer;
public function FlxState(){
_layer = new FlxLayer();
FlxG.state = this;
}
public function add(_arg1:FlxCore):FlxCore{
return (_layer.add(_arg1));
}
public function render():void{
_layer.render();
}
public function update():void{
_layer.update();
}
public function destroy():void{
_layer.destroy();
}
}
}//package org.flixel
Section 453
//FlxText (org.flixel.FlxText)
package org.flixel {
import flash.geom.*;
import flash.text.*;
public class FlxText extends FlxCore {
private var _ox:Number;
private var _oy:Number;
private var _dirty:Boolean;// = true
private var _tf:TextField;
private var _mtx:Matrix;
public var angle:Number;
private var _oa:Number;
public function FlxText(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:uint, _arg5:String="", _arg6:uint=0xFFFFFF, _arg7:String=null, _arg8:uint=8, _arg9:String=null, _arg10:Number=0){
_ox = (x = _arg1);
_oy = (y = _arg2);
_oa = (angle = _arg10);
width = _arg3;
height = _arg4;
if (_arg7 == null){
_arg7 = "system";
};
if (_arg5 == null){
_arg5 = "";
};
_tf = new TextField();
_tf.width = width;
_tf.height = height;
_tf.embedFonts = true;
_tf.selectable = false;
_tf.sharpness = 100;
_tf.defaultTextFormat = new TextFormat(_arg7, _arg8, _arg6, null, null, null, null, null, _arg9);
_tf.text = _arg5;
_mtx = new Matrix();
_mtx.translate(-((width >> 1)), -((height >> 1)));
_mtx.rotate(((Math.PI * 2) * (angle / 360)));
_mtx.translate((Math.floor(x) + (width >> 1)), (Math.floor(y) + (height >> 1)));
}
public function setColor(_arg1:uint):void{
var _local2:TextFormat = _tf.defaultTextFormat;
_local2.color = _arg1;
_tf.defaultTextFormat = _local2;
_tf.text = _tf.text;
}
public function setText(_arg1:String):void{
_tf.text = _arg1;
_dirty = true;
}
override public function update():void{
var _local2:TextLineMetrics;
var _local3:Number;
super.update();
var _local1:Point = new Point();
getScreenXY(_local1);
if (((((((_dirty) || (!((_ox == _local1.x))))) || (!((_oy == _local1.y))))) || (!((_oa == angle))))){
_dirty = false;
_local2 = _tf.getLineMetrics(0);
_local3 = (_local2.x - Math.floor(_local2.x));
_mtx = new Matrix();
_mtx.translate(-((width >> 1)), -((height >> 1)));
_mtx.rotate(((Math.PI * 2) * (angle / 360)));
_mtx.translate(((_local3 + _local1.x) + (width >> 1)), (_local1.y + (height >> 1)));
_ox = _local1.x;
_oy = _local1.y;
};
}
override public function render():void{
FlxG.buffer.draw(_tf, _mtx);
}
}
}//package org.flixel
Section 454
//FlxTilemap (org.flixel.FlxTilemap)
package org.flixel {
import flash.display.*;
import flash.geom.*;
public class FlxTilemap extends FlxCore {
private var heightInTiles:uint;
private var _screenRows:uint;
private var _ci:uint;
private var _data:FlxArray;
private var _pixels:BitmapData;
private var _tileSize:uint;
private var _rects:FlxArray;
private var _p:Point;
private var _block:FlxBlock;
private var widthInTiles:uint;
private var _screenCols:uint;
public function FlxTilemap(_arg1:String, _arg2:Class, _arg3:uint=1, _arg4:uint=1){
var _local5:uint;
var _local6:Array;
super();
_ci = _arg3;
widthInTiles = 0;
heightInTiles = 0;
_data = new FlxArray();
var _local7:Array = _arg1.split("\n");
heightInTiles = _local7.length;
var _local8:uint;
while (_local8 < heightInTiles) {
_local6 = _local7[_local8].split(",");
if (_local6.length <= 1){
heightInTiles--;
} else {
if (widthInTiles == 0){
widthInTiles = _local6.length;
};
_local5 = 0;
while (_local5 < widthInTiles) {
_data.push(uint(_local6[_local5]));
_local5++;
};
};
_local8++;
};
_pixels = FlxG.addBitmap(_arg2);
_rects = new FlxArray();
_p = new Point();
_tileSize = _pixels.height;
width = (widthInTiles * _tileSize);
height = (heightInTiles * _tileSize);
var _local9:uint = (widthInTiles * heightInTiles);
var _local10:uint;
while (_local10 < _local9) {
if (_data[_local10] >= _arg4){
_rects.push(new Rectangle((_tileSize * _data[_local10]), 0, _tileSize, _tileSize));
} else {
_rects.push(null);
};
_local10++;
};
_block = new FlxBlock(0, 0, _tileSize, _tileSize, null);
_screenRows = (Math.ceil((FlxG.height / _tileSize)) + 1);
if (_screenRows > heightInTiles){
_screenRows = heightInTiles;
};
_screenCols = (Math.ceil((FlxG.width / _tileSize)) + 1);
if (_screenCols > widthInTiles){
_screenCols = widthInTiles;
};
}
override public function collide(_arg1:FlxSprite):void{
var _local6:uint;
var _local2:uint = Math.floor(((_arg1.x - x) / _tileSize));
var _local3:uint = Math.floor(((_arg1.y - y) / _tileSize));
var _local4:uint = (Math.ceil((_arg1.width / _tileSize)) + 1);
var _local5:uint = (Math.ceil((_arg1.height / _tileSize)) + 1);
var _local7:uint;
while (_local7 < _local5) {
if ((((_local7 < 0)) || ((_local7 >= heightInTiles)))){
} else {
_local6 = 0;
while (_local6 < _local4) {
if ((((_local6 < 0)) || ((_local6 >= widthInTiles)))){
} else {
if (_data[((((_local3 + _local7) * widthInTiles) + _local2) + _local6)] >= _ci){
_block.x = (x + ((_local2 + _local6) * _tileSize));
_block.y = (y + ((_local3 + _local7) * _tileSize));
_block.collide(_arg1);
};
};
_local6++;
};
};
_local7++;
};
}
override public function render():void{
var _local5:uint;
var _local6:uint;
super.render();
getScreenXY(_p);
var _local1:int = Math.floor((-(_p.x) / _tileSize));
var _local2:int = Math.floor((-(_p.y) / _tileSize));
if (_local1 < 0){
_local1 = 0;
};
if (_local1 > (widthInTiles - _screenCols)){
_local1 = (widthInTiles - _screenCols);
};
if (_local2 < 0){
_local2 = 0;
};
if (_local2 > (heightInTiles - _screenRows)){
_local2 = (heightInTiles - _screenRows);
};
var _local3:int = ((_local2 * widthInTiles) + _local1);
_p.x = (_p.x + (_local1 * _tileSize));
_p.y = (_p.y + (_local2 * _tileSize));
var _local4:int = _p.x;
var _local7:uint;
while (_local7 < _screenRows) {
_local6 = _local3;
_local5 = 0;
while (_local5 < _screenCols) {
if (_rects[_local6] != null){
FlxG.buffer.copyPixels(_pixels, _rects[_local6], _p, null, null, true);
};
_local6++;
_p.x = (_p.x + _tileSize);
_local5++;
};
_local3 = (_local3 + widthInTiles);
_p.x = _local4;
_p.y = (_p.y + _tileSize);
_local7++;
};
}
}
}//package org.flixel
Section 455
//_activeButtonStyleStyle (_activeButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".activeButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 456
//_activeTabStyleStyle (_activeTabStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeTabStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeTabStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".activeTabStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 457
//_alertButtonStyleStyle (_alertButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _alertButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".alertButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".alertButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 734012;
};
};
}
}
}//package
Section 458
//_comboDropdownStyle (_comboDropdownStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _comboDropdownStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".comboDropdown");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".comboDropdown", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.shadowDirection = "center";
this.fontWeight = "normal";
this.dropShadowEnabled = true;
this.leading = 0;
this.backgroundColor = 0xFFFFFF;
this.shadowDistance = 1;
this.cornerRadius = 0;
this.borderThickness = 0;
this.paddingLeft = 5;
this.paddingRight = 5;
};
};
}
}
}//package
Section 459
//_dataGridStylesStyle (_dataGridStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dataGridStylesStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dataGridStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".dataGridStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 460
//_dateFieldPopupStyle (_dateFieldPopupStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dateFieldPopupStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dateFieldPopup");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".dateFieldPopup", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.dropShadowEnabled = true;
this.backgroundColor = 0xFFFFFF;
this.borderThickness = 0;
};
};
}
}
}//package
Section 461
//_DEBUG (_DEBUG)
package {
public var _DEBUG:Boolean;
_DEBUG = false;
}//package
Section 462
//_errorTipStyle (_errorTipStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _errorTipStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".errorTip");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".errorTip", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.borderStyle = "errorTipRight";
this.paddingTop = 4;
this.borderColor = 13510953;
this.color = 0xFFFFFF;
this.fontSize = 9;
this.shadowColor = 0;
this.paddingLeft = 4;
this.paddingBottom = 4;
this.paddingRight = 4;
};
};
}
}
}//package
Section 463
//_globalStyle (_globalStyle)
package {
import mx.core.*;
import mx.styles.*;
import mx.skins.halo.*;
public class _globalStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("global");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration("global", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fillColor = 0xFFFFFF;
this.kerning = false;
this.iconColor = 0x111111;
this.textRollOverColor = 2831164;
this.horizontalAlign = "left";
this.shadowCapColor = 14015965;
this.backgroundAlpha = 1;
this.filled = true;
this.textDecoration = "none";
this.roundedBottomCorners = true;
this.fontThickness = 0;
this.focusBlendMode = "normal";
this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE];
this.horizontalGap = 8;
this.borderCapColor = 9542041;
this.buttonColor = 7305079;
this.indentation = 17;
this.selectionDisabledColor = 0xDDDDDD;
this.closeDuration = 250;
this.embedFonts = false;
this.paddingTop = 0;
this.letterSpacing = 0;
this.focusAlpha = 0.4;
this.bevel = true;
this.fontSize = 10;
this.shadowColor = 0xEEEEEE;
this.borderAlpha = 1;
this.paddingLeft = 0;
this.fontWeight = "normal";
this.indicatorGap = 14;
this.focusSkin = HaloFocusRect;
this.dropShadowEnabled = false;
this.leading = 2;
this.borderSkin = HaloBorder;
this.fontSharpness = 0;
this.modalTransparencyDuration = 100;
this.borderThickness = 1;
this.backgroundSize = "auto";
this.borderStyle = "inset";
this.borderColor = 12040892;
this.fontAntiAliasType = "advanced";
this.errorColor = 0xFF0000;
this.shadowDistance = 2;
this.horizontalGridLineColor = 0xF7F7F7;
this.stroked = false;
this.modalTransparencyColor = 0xDDDDDD;
this.cornerRadius = 0;
this.verticalAlign = "top";
this.textIndent = 0;
this.fillAlphas = [0.6, 0.4, 0.75, 0.65];
this.verticalGridLineColor = 14015965;
this.themeColor = 40447;
this.version = "3.0.0";
this.shadowDirection = "center";
this.modalTransparency = 0.5;
this.repeatInterval = 35;
this.openDuration = 250;
this.textAlign = "left";
this.fontFamily = "Verdana";
this.textSelectedColor = 2831164;
this.paddingBottom = 0;
this.strokeWidth = 1;
this.fontGridFitType = "pixel";
this.horizontalGridLines = false;
this.useRollOver = true;
this.verticalGridLines = true;
this.repeatDelay = 500;
this.fontStyle = "normal";
this.dropShadowColor = 0;
this.focusThickness = 2;
this.verticalGap = 6;
this.disabledColor = 11187123;
this.paddingRight = 0;
this.focusRoundedCorners = "tl tr bl br";
this.borderSides = "left top right bottom";
this.disabledIconColor = 0x999999;
this.modalTransparencyBlur = 3;
this.color = 734012;
this.selectionDuration = 250;
this.highlightAlphas = [0.3, 0];
};
};
}
}
}//package
Section 464
//_headerDateTextStyle (_headerDateTextStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDateTextStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDateText");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".headerDateText", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.textAlign = "center";
};
};
}
}
}//package
Section 465
//_headerDragProxyStyleStyle (_headerDragProxyStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDragProxyStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDragProxyStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".headerDragProxyStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 466
//_linkButtonStyleStyle (_linkButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _linkButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".linkButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".linkButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 2;
this.paddingLeft = 2;
this.paddingBottom = 2;
this.paddingRight = 2;
};
};
}
}
}//package
Section 467
//_opaquePanelStyle (_opaquePanelStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _opaquePanelStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".opaquePanel");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".opaquePanel", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.borderColor = 0xFFFFFF;
this.backgroundColor = 0xFFFFFF;
this.headerColors = [0xE7E7E7, 0xD9D9D9];
this.footerColors = [0xE7E7E7, 0xC7C7C7];
this.borderAlpha = 1;
};
};
}
}
}//package
Section 468
//_plainStyle (_plainStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _plainStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".plain");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".plain", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 0;
this.backgroundColor = 0xFFFFFF;
this.backgroundImage = "";
this.horizontalAlign = "left";
this.paddingLeft = 0;
this.paddingBottom = 0;
this.paddingRight = 0;
};
};
}
}
}//package
Section 469
//_popUpMenuStyle (_popUpMenuStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _popUpMenuStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".popUpMenu");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".popUpMenu", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "normal";
this.textAlign = "left";
};
};
}
}
}//package
Section 470
//_richTextEditorTextAreaStyleStyle (_richTextEditorTextAreaStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _richTextEditorTextAreaStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".richTextEditorTextAreaStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".richTextEditorTextAreaStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 471
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _swatchPanelTextFieldStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".swatchPanelTextField");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".swatchPanelTextField", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.borderStyle = "inset";
this.borderColor = 14015965;
this.highlightColor = 12897484;
this.backgroundColor = 0xFFFFFF;
this.shadowCapColor = 14015965;
this.shadowColor = 14015965;
this.paddingLeft = 5;
this.buttonColor = 7305079;
this.borderCapColor = 9542041;
this.paddingRight = 5;
};
};
}
}
}//package
Section 472
//_textAreaHScrollBarStyleStyle (_textAreaHScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaHScrollBarStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaHScrollBarStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".textAreaHScrollBarStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 473
//_textAreaVScrollBarStyleStyle (_textAreaVScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaVScrollBarStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaVScrollBarStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".textAreaVScrollBarStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 474
//_todayStyleStyle (_todayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _todayStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".todayStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".todayStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 0xFFFFFF;
this.textAlign = "center";
};
};
}
}
}//package
Section 475
//_weekDayStyleStyle (_weekDayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _weekDayStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".weekDayStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".weekDayStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.textAlign = "center";
};
};
}
}
}//package
Section 476
//_windowStatusStyle (_windowStatusStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStatusStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStatus");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".windowStatus", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 0x666666;
};
};
}
}
}//package
Section 477
//_windowStylesStyle (_windowStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStylesStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".windowStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 478
//Debug (Debug)
package {
public class Debug {
public static function initialize():void{
var re:RegExp;
try {
throw (new Error("Intentional error to get call stack"));
} catch(e:Error) {
re = /\[.*:[0-9]+\]/;
_DEBUG = re.test(e.getStackTrace());
};
}
}
}//package
Section 479
//en_US$core_properties (en_US$core_properties)
package {
import mx.resources.*;
public class en_US$core_properties extends ResourceBundle {
public function en_US$core_properties(){
super("en_US", "core");
}
override protected function getContent():Object{
var _local1:Object = {multipleChildSets_ClassAndInstance:"Multiple sets of visual children have been specified for this component (component definition and component instance).", truncationIndicator:"...", notExecuting:"Repeater is not executing.", versionAlreadyRead:"Compatibility version has already been read.", multipleChildSets_ClassAndSubclass:"Multiple sets of visual children have been specified for this component (base component definition and derived component definition).", viewSource:"View Source", badFile:"File does not exist.", stateUndefined:"Undefined state '{0}'.", versionAlreadySet:"Compatibility version has already been set."};
return (_local1);
}
}
}//package
Section 480
//en_US$skins_properties (en_US$skins_properties)
package {
import mx.resources.*;
public class en_US$skins_properties extends ResourceBundle {
public function en_US$skins_properties(){
super("en_US", "skins");
}
override protected function getContent():Object{
var _local1:Object = {notLoaded:"Unable to load '{0}'."};
return (_local1);
}
}
}//package
Section 481
//en_US$styles_properties (en_US$styles_properties)
package {
import mx.resources.*;
public class en_US$styles_properties extends ResourceBundle {
public function en_US$styles_properties(){
super("en_US", "styles");
}
override protected function getContent():Object{
var _local1:Object = {unableToLoad:"Unable to load style({0}): {1}."};
return (_local1);
}
}
}//package
Section 482
//g5Link (g5Link)
package {
import flash.display.*;
public dynamic class g5Link extends SimpleButton {
}
}//package
Section 483
//linkBack (linkBack)
package {
import flash.display.*;
public dynamic class linkBack extends SimpleButton {
}
}//package
Section 484
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
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 485
//movLoader (movLoader)
package {
import flash.display.*;
import flash.text.*;
public class movLoader extends MovieClip {
public var gLink:g5Link;
public var txtPercent:TextField;
public var done:Boolean;// = false
public var movLoadingBar:MovieClip;
public function movLoader():void{
}
}
}//package
Section 486
//movSplash (movSplash)
package {
import flash.events.*;
import flash.display.*;
public class movSplash extends MovieClip {
public var clk:Boolean;// = false
public var hand:MovieClip;
public var lBack:linkBack;
public var bPlay:SimpleButton;
public var Linked:Boolean;// = false
public function movSplash(){
addFrameScript(98, this.frame99);
}
public function LinkIt(_arg1:MouseEvent):void{
this.Linked = true;
}
public function CBack(_arg1:MouseEvent):void{
this.clk = true;
}
function frame99(){
this.lBack.addEventListener(MouseEvent.CLICK, this.LinkIt);
this.bPlay.addEventListener(MouseEvent.CLICK, this.CBack);
}
}
}//package
Section 487
//NG_AD_OBJECT_WITH_PRELOADER (NG_AD_OBJECT_WITH_PRELOADER)
package {
import flash.events.*;
import flash.display.*;
import com.NewGrounds.*;
import flash.net.*;
import flash.utils.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.geom.*;
import flash.media.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.system.*;
import flash.text.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class NG_AD_OBJECT_WITH_PRELOADER extends MovieClip {
public var ng_ad:MovieClip;
public var X_LOAD:MovieClip;
public var NG_Button:SimpleButton;
public function NG_AD_OBJECT_WITH_PRELOADER(){
addFrameScript(0, frame1);
}
public function handleSecurityError(_arg1:SecurityErrorEvent):void{
trace(("Load failed: Security Error: " + _arg1.text));
}
public function handleComplete(_arg1:Event):void{
trace("The data has successfully loaded");
ad_Loaded(_arg1);
}
public function handleHttpStatus(_arg1:HTTPStatusEvent):void{
trace(("Load failed: HTTP Status = " + _arg1.status));
}
function frame1(){
trace(Security.sandboxType);
Security.allowDomain("70.87.128.99");
Security.allowInsecureDomain("70.87.128.99");
Security.allowDomain("ads.shizmoo.com");
Security.allowInsecureDomain("ads.shizmoo.com");
Security.allowDomain("www.cpmstar.com");
Security.allowInsecureDomain("www.cpmstar.com");
Security.allowDomain("server.cpmstar.com");
Security.allowInsecureDomain("server.cpmstar.com");
Security.allowDomain("uploads.ungrounded.net");
Security.allowInsecureDomain("uploads.ungrounded.net");
Security.allowDomain("www.newgrounds.com");
Security.allowInsecureDomain("www.newgrounds.com");
Security.allowDomain("www.ngads.com");
Security.allowInsecureDomain("www.ngads.com");
if (NewgroundsAPI.getAdURL()){
startAd(NewgroundsAPI.getAdURL());
};
NewgroundsAPI.addEventListener(NewgroundsAPI.ADS_APPROVED, startAd);
NG_Button.addEventListener(MouseEvent.CLICK, loadNGSite);
stop();
}
public function startAd(_arg1){
var _local2:URLLoader = new URLLoader();
_local2.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_local2.addEventListener(HTTPStatusEvent.HTTP_STATUS, handleHttpStatus);
_local2.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleSecurityError);
_local2.addEventListener(Event.COMPLETE, handleComplete);
_local2.dataFormat = URLLoaderDataFormat.VARIABLES;
_local2.load(new URLRequest(unescape(_arg1)));
}
public function loadNGSite(_arg1:Event){
NewgroundsAPI.loadNewgrounds();
}
public function ad_Loaded(_arg1:Event){
var _local2:* = String(_arg1.target.data);
var _local3:Loader = new Loader();
_local3.load(new URLRequest(unescape(_local2)));
ng_ad.addChild(_local3);
}
public function handleIOError(_arg1:IOErrorEvent):void{
trace(("Load failed: IO error: " + _arg1.text));
}
}
}//package
Section 488
//Preloader (Preloader)
package {
import org.flixel.data.*;
public class Preloader extends FlxFactory {
public function Preloader():void{
MochiBot.track(this, "62346742");
className = "ProjUno";
super();
}
}
}//package
Section 489
//ProjUno (ProjUno)
package {
import org.flixel.*;
import com.ProjUno.*;
public dynamic class ProjUno extends FlxGame {
public function ProjUno():void{
var _local1:Class;
Debug.initialize();
var _local2:Boolean;
if (_DEBUG){
_local1 = LogoState;
_local2 = false;
} else {
_local1 = LogoState;
_local2 = false;
};
super(160, 120, _local1, 4, 4278194466, _local2, 4281558681);
help("Jump", "Shoot", "Nothing");
}
public function init(_arg1:Boolean):void{
}
}
}//package
Section 490
//sndSlap (sndSlap)
package {
import flash.media.*;
public dynamic class sndSlap extends Sound {
}
}//package
Section 491
//ZattikkaHiScores (ZattikkaHiScores)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import com.hexagonstar.util.debug.*;
import flash.external.*;
public class ZattikkaHiScores extends MovieClip {
public var btnGFTP:SimpleButton;
private var gameKey:String;
private var score:Number;
private var g5User:Object;
private var lowIsBest:Boolean;
private var fbUser:Object;
private var cxn:LocalConnection;
private var gameId:Number;
private var infoScreen:MovieClip;// = null
private var levelId:Number;
private var fbSessionKey:String;
public var movEntryScreen:MovieClip;
private var msg1:String;
private var msg2:String;
private var testMode:int;// = 0
private var g5UserExists:Boolean;
private var fbUserExists:Boolean;
public var movInfoScreen:MovieClip;
private var entryScreen:MovieClip;// = null
private var gameCode:String;
private static const TEST_MODE_OFF:int = 0;
private static const EVENT_PUBLISH_HI_SCORE_FEED_EXTERNAL:String = "PublishHiScoreFeedExternal=";
private static const EVENT_VIEW_HI_SCORE:String = "ViewHiScore=";
private static const MSG_SERVER_ERROR:String = "Could not contact server, please try again in a few minutes.";
private static const MSG_SUBMITTING_DETAILS:String = "Submitting hi-score details to the server, please wait.";
private static const EVENT_POST_TWEET:String = "PostTweet=";
private static const FB_ACTION:String = "/Facebook.action?";
private static const HS_PLATFORM_WEB:int = 0;
private static const HS_PLATFORM_FACEBOOK:int = 1;
private static const VERSION_NUM:String = "1.0.9 (AS3)";
private static const HS_ACTION:String = "/HiScore.action?";
private static const TEST_MODE_FB:int = 2;
private static const EVENT_PUBLISH_HI_SCORE_FEED:String = "PublishHiScoreFeed=";
private static const EVENT_SUBMIT_HI_SCORE:String = "SubmitHiScore=";
private static const TW_ACTION:String = "/Twitter.action?";
private static const MSG_PLEASE_ENTER_NICKNAME:String = "Please enter your nickname.";
private static const TEST_MODE_G5:int = 1;
private static var SERVER_URL:String = "http://api.zattikka.com";
private static var GFTP_URL:String = "http://www.gamesfortheplanet.com";
public function ZattikkaHiScores(){
debug((("[ZattikkaHiScores VERSION " + VERSION_NUM) + "]"));
this.visible = false;
}
public function setDetails(_arg1:Number, _arg2:Number, _arg3:String, _arg4:String, _arg5:Boolean, _arg6:Number, _arg7:String, _arg8:String, _arg9:String=""):void{
var gameId = _arg1;
var levelId = _arg2;
var gameCode = _arg3;
var gameKey = _arg4;
var lowIsBest = _arg5;
var score = _arg6;
var msg1 = _arg7;
var msg2 = _arg8;
var svrUrl = _arg9;
debug(((((((((("[ZattikkaHiScores::setDetails] gameId = " + gameId) + ", levelId = ") + levelId) + ", gameCode = ") + gameCode) + ", lowIsBest = ") + lowIsBest) + ", score = ") + score));
var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
var fvSvrUrl:Object = params["svrUrl"];
if (((!((fvSvrUrl == null))) && ((fvSvrUrl.length > 0)))){
SERVER_URL = String(fvSvrUrl);
} else {
if (((!((svrUrl == null))) && ((svrUrl.length > 0)))){
SERVER_URL = svrUrl;
};
};
debug(("[ZattikkaHiScores::setDetails] SERVER_URL = " + SERVER_URL));
entryScreen = this["movEntryScreen"];
infoScreen = this["movInfoScreen"];
entryScreen.visible = false;
infoScreen.visible = false;
this.gameId = gameId;
this.levelId = levelId;
this.gameCode = gameCode;
this.gameKey = gameKey;
this.lowIsBest = lowIsBest;
this.score = score;
this.msg1 = msg1;
this.msg2 = msg2;
try {
grabG5User();
if (!g5UserExists){
grabFacebookUser();
};
} catch(err:Error) {
};
this["btnGFTP"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
entryScreen["btnSubmit"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
entryScreen["btnTwitter"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
entryScreen["btnFacebook"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
infoScreen["btnView"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
infoScreen["btnBack"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
if (fbUserExists){
btn_submitScore();
} else {
showEntryScreen();
};
this.visible = true;
}
private function facebookFeed():void{
var _local1:URLVariables = new URLVariables();
_local1.gameId = this.gameId;
_local1.levelId = this.levelId;
_local1.score = this.score;
_local1.sessionKey = this.fbSessionKey;
_local1.returnMessage = true;
hitServer(FB_ACTION, EVENT_PUBLISH_HI_SCORE_FEED, _local1);
}
private function grabG5User():void{
this.g5User = ExternalInterface.call("getG5User");
this.g5UserExists = ((g5User == null)) ? false : !(isNaN(this.g5User[0]));
if (testMode == TEST_MODE_G5){
this.g5User = new Array("9", "RocketRonz");
this.g5UserExists = ((g5User == null)) ? false : !(isNaN(this.g5User[0]));
};
debug(("[ZattikkaHiScores::grabG5User] " + (g5UserExists) ? ((("userId = " + this.g5User[0]) + ", userName = ") + this.g5User[1]) : "g5User is empty"));
}
public function setFBUser(_arg1:String, _arg2:String):void{
debug(((("[ZattikkaHiScores::setFBUser] fbUserId = " + _arg1) + ", fbSessionKey = ") + _arg2));
this.fbUser = new Array(_arg1, "");
this.fbUserExists = true;
this.fbSessionKey = _arg2;
cxn.close();
facebookFeed();
}
public function loadHandler(_arg1:String, _arg2:Boolean, _arg3:Event):void{
var response:URLLoader;
var xml:XML;
var resCode:int;
var stripesEvent = _arg1;
var success = _arg2;
var event = _arg3;
debug(((((("[ZattikkaHiScores::loadHandler] stripesEvent = " + stripesEvent) + ", success = ") + success) + ", event = ") + event.toString()));
if (!success){
showInfoMessage(MSG_SERVER_ERROR, true);
} else {
response = URLLoader(event.target);
xml = new XML(response.data);
resCode = xml.@code;
switch (stripesEvent){
case EVENT_SUBMIT_HI_SCORE:
showInfoMessage(xml.@msg, (resCode == -1));
if (((fbUserExists) && ((((resCode == 1)) || ((resCode == 2)))))){
try {
ExternalInterface.call("refreshFBHiScores", this.score, this.levelId);
ExternalInterface.call("streamPublish_FBConnect", this.msg1, this.levelId);
} catch(err:Error) {
};
};
break;
case EVENT_PUBLISH_HI_SCORE_FEED:
submitScore();
break;
};
};
}
private function grabFacebookUser():void{
this.fbUser = ExternalInterface.call("getFBUser");
this.fbUserExists = ((fbUser == null)) ? false : !(isNaN(this.fbUser[0]));
this.fbSessionKey = ExternalInterface.call("getFBSessionKey");
if (testMode == TEST_MODE_FB){
this.fbUser = new Array("1383775213", "Dolphin Gimme-Five");
this.fbUserExists = ((fbUser == null)) ? false : !(isNaN(this.fbUser[0]));
this.fbSessionKey = "ad4dff81c4d2467efc456072-1383775213";
};
debug(("[ZattikkaHiScores::grabFacebookUser] " + (fbUserExists) ? ((((("userId = " + this.fbUser[0]) + ", userName = ") + this.fbUser[1]) + ", sessionKey = ") + this.fbSessionKey) : "fbUser is empty"));
}
private function hitServer(_arg1:String, _arg2:String, _arg3:URLVariables):void{
var stripesAction = _arg1;
var stripesEvent = _arg2;
var vars = _arg3;
debug(((("[ZattikkaHiScores::hitServer] url = " + SERVER_URL) + stripesAction) + stripesEvent));
var request:URLRequest = new URLRequest(((SERVER_URL + stripesAction) + stripesEvent));
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
request.data = vars;
request.method = URLRequestMethod.POST;
request.requestHeaders = new Array(new URLRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"));
loader.addEventListener(Event.COMPLETE, function (_arg1:Event):void{
loadHandler(stripesEvent, true, _arg1);
});
loader.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:Event):void{
loadHandler(stripesEvent, false, _arg1);
});
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (_arg1:Event):void{
loadHandler(stripesEvent, false, _arg1);
});
loader.load(request);
}
public function showInfoMessage(_arg1:String, _arg2:Boolean):void{
infoScreen["txtInfo"].text = _arg1;
infoScreen["btnBack"].visible = _arg2;
infoScreen["btnView"].visible = ((!(_arg2)) && (!(fbUserExists)));
infoScreen.visible = true;
entryScreen.visible = false;
}
private function twitterTweet():void{
var _local1:String = ((SERVER_URL + TW_ACTION) + EVENT_POST_TWEET);
_local1 = (_local1 + ("&gameId=" + this.gameId));
_local1 = (_local1 + ("&levelId=" + this.levelId));
_local1 = (_local1 + ("&score=" + this.score));
navigateToURL(new URLRequest(_local1), "_blank");
submitScore();
}
private function getRandom(_arg1:Number, _arg2:Number):Number{
return ((Math.floor((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1));
}
private function showEntryScreen():void{
entryScreen["txtMsg1"].text = msg1;
entryScreen["txtMsg2"].text = msg2;
entryScreen["movNameAuto"].visible = ((g5UserExists) || (fbUserExists));
entryScreen["movNameManual"].visible = ((!(g5UserExists)) && (!(fbUserExists)));
entryScreen["movNameAuto"]["txtName"].text = (g5UserExists) ? this.g5User[1] : (fbUserExists) ? this.fbUser[1] : "";
entryScreen["movNameManual"]["txtName"].text = "";
entryScreen.visible = true;
infoScreen.visible = false;
}
private function getRandomString(_arg1:int):String{
var _local2 = "";
var _local3:int;
while (_local3 < _arg1) {
_local2 = (_local2 + String.fromCharCode(getRandom(48, 122)));
_local3++;
};
return (_local2);
}
private function replaceAll(_arg1:String, _arg2:String, _arg3:String):String{
var _local4 = "";
var _local5:int;
while (_local5 < _arg1.length) {
if (_arg1.charAt(_local5) == _arg2){
_local4 = (_local4 + _arg3);
} else {
_local4 = (_local4 + _arg1.charAt(_local5));
};
_local5++;
};
return (_local4);
}
public function onButtonPress(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "btnGFTP":
navigateToURL(new URLRequest(GFTP_URL), "_blank");
break;
case "btnSubmit":
btn_submitScore();
break;
case "btnTwitter":
if (((((!(this.g5UserExists)) && (!(this.fbUserExists)))) && ((entryScreen["movNameManual"]["txtName"].text.length == 0)))){
showInfoMessage(MSG_PLEASE_ENTER_NICKNAME, true);
} else {
twitterTweet();
};
break;
case "btnFacebook":
if (this.fbUserExists){
facebookFeed();
} else {
facebookFeedExternal();
};
break;
case "btnView":
viewScore();
break;
case "btnBack":
setDetails(this.gameId, this.levelId, this.gameCode, this.gameKey, this.lowIsBest, this.score, this.msg1, this.msg2);
break;
};
}
private function debug(_arg1:String):void{
trace(_arg1);
Debug.trace(_arg1);
}
private function submitScore():void{
showInfoMessage(MSG_SUBMITTING_DETAILS, false);
infoScreen.visible = true;
entryScreen.visible = false;
var _local1:int = (fbUserExists) ? HS_PLATFORM_FACEBOOK : HS_PLATFORM_WEB;
var _local2 = "";
var _local3 = "";
if (fbUserExists){
_local3 = this.fbUser[0];
} else {
if (g5UserExists){
_local3 = this.g5User[0];
} else {
_local2 = entryScreen["movNameManual"]["txtName"].text;
};
};
var _local4:String = String(new Date().getTime());
var _local5:String = _local4.split("").reverse().join("");
var _local6:String = xor(_local5, this.gameKey, false);
var _local7 = "";
_local7 = (_local7 + (this.gameId + ","));
_local7 = (_local7 + (this.levelId + ","));
_local7 = (_local7 + (_local1 + ","));
_local7 = (_local7 + (this.score + ","));
_local7 = (_local7 + (_local3 + ","));
_local7 = (_local7 + (replaceAll(_local2, ",", "") + ","));
_local7 = (_local7 + ",");
_local7 = (_local7 + lowIsBest);
var _local8:String = xor(_local7, _local6, false);
debug(((("key [" + _local6.length) + "] = ") + _local6));
debug(((("plain [" + _local7.length) + "] = ") + _local7));
debug(((("cipher [" + _local8.length) + "] = ") + _local8));
_local8 = ((getRandomString(5) + _local8) + getRandomString(5));
var _local9:URLVariables = new URLVariables();
_local9.gameId = this.gameId;
_local9.platformId = _local1;
_local9.time = _local4;
_local9.data = _local8;
_local9.returnMessage = true;
if (fbUserExists){
_local9.fbSessionKey = this.fbSessionKey;
};
hitServer(HS_ACTION, EVENT_SUBMIT_HI_SCORE, _local9);
}
private function xor(_arg1:String, _arg2:String, _arg3:Boolean):String{
var _local7:int;
var _local4 = "";
var _local5:int;
var _local6:int;
while (_local5 < _arg1.length) {
if (_local6 >= _arg2.length){
_local6 = 0;
};
_local7 = ((_arg1.charCodeAt(_local5) ^ _arg2.charCodeAt(_local6)) + 1);
if (_arg3){
debug(((("charCode = " + _local7) + " = ") + String.fromCharCode(_local7)));
};
_local4 = (_local4 + String.fromCharCode(_local7));
_local5++;
_local6++;
};
return (_local4);
}
public function viewScore():void{
var _local1:String = ((SERVER_URL + HS_ACTION) + EVENT_VIEW_HI_SCORE);
_local1 = (_local1 + ("&gameId=" + this.gameId));
_local1 = (_local1 + ("&levelId=" + this.levelId));
_local1 = (_local1 + ("&platformId=" + HS_PLATFORM_WEB));
_local1 = (_local1 + ("&gameCode=" + this.gameCode));
if (this.g5UserExists){
_local1 = (_local1 + ("&userId=" + this.g5User[0]));
} else {
_local1 = (_local1 + ("&name=" + entryScreen["movNameManual"]["txtName"].text));
};
navigateToURL(new URLRequest(_local1), "_blank");
}
private function facebookFeedExternal():void{
navigateToURL(new URLRequest(((SERVER_URL + FB_ACTION) + EVENT_PUBLISH_HI_SCORE_FEED_EXTERNAL)), "_blank");
try {
cxn = new LocalConnection();
cxn.allowDomain("*");
cxn.client = this;
cxn.connect("_cxnZattikkaHS");
} catch(err:Error) {
};
}
private function btn_submitScore():void{
if (((((!(this.g5UserExists)) && (!(this.fbUserExists)))) && ((entryScreen["movNameManual"]["txtName"].text.length == 0)))){
showInfoMessage(MSG_PLEASE_ENTER_NICKNAME, true);
} else {
submitScore();
};
}
}
}//package