Section 1
//KeyPoll (bigroom.input.KeyPoll)
package bigroom.input {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class KeyPoll {
private var states:ByteArray;
public var press:Boolean;// = false
public var click:Boolean;// = false
public var onscreen:Boolean;// = true
public var hasclicked:Boolean;// = false
private var dispObj:DisplayObject;
public function KeyPoll(_arg1:DisplayObject){
states = new ByteArray();
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
dispObj = _arg1;
dispObj.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener, false, 0, true);
dispObj.addEventListener(KeyboardEvent.KEY_UP, keyUpListener, false, 0, true);
dispObj.addEventListener(Event.ACTIVATE, activateListener, false, 0, true);
dispObj.addEventListener(Event.DEACTIVATE, deactivateListener, false, 0, true);
dispObj.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener);
dispObj.addEventListener(MouseEvent.MOUSE_UP, mouseUpListener);
dispObj.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
dispObj.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
}
public function mouseOutHandler(_arg1:MouseEvent):void{
onscreen = false;
}
public function isUp(_arg1:uint):Boolean{
return (((states[(_arg1 >>> 3)] & (1 << (_arg1 & 7))) == 0));
}
private function activateListener(_arg1:Event):void{
var _local2:int;
while (_local2 < 8) {
states[_local2] = 0;
_local2++;
};
}
public function isDown(_arg1:uint):Boolean{
return (!(((states[(_arg1 >>> 3)] & (1 << (_arg1 & 7))) == 0)));
}
private function keyUpListener(_arg1:KeyboardEvent):void{
states[(_arg1.keyCode >>> 3)] = (states[(_arg1.keyCode >>> 3)] & ~((1 << (_arg1.keyCode & 7))));
}
private function deactivateListener(_arg1:Event):void{
var _local2:int;
while (_local2 < 8) {
states[_local2] = 0;
_local2++;
};
}
public function mouseOverHandler(_arg1:MouseEvent):void{
onscreen = true;
}
public function mouseUpListener(_arg1:MouseEvent):void{
press = false;
click = false;
hasclicked = false;
}
public function mouseDownListener(_arg1:MouseEvent):void{
press = true;
click = true;
hasclicked = true;
}
private function keyDownListener(_arg1:KeyboardEvent):void{
states[(_arg1.keyCode >>> 3)] = (states[(_arg1.keyCode >>> 3)] | (1 << (_arg1.keyCode & 7)));
}
}
}//package bigroom.input
Section 2
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent)
package com.kongregate.as3.client.events {
import flash.events.*;
public class KongregateEvent extends Event {
public static const COMPLETE:String = "component_api_available";
public function KongregateEvent(_arg1:String){
super(_arg1);
}
}
}//package com.kongregate.as3.client.events
Section 3
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService)
package com.kongregate.as3.client.services {
import flash.events.*;
public class AbstractShadowService extends EventDispatcher {
protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{
trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4));
}
}
}//package com.kongregate.as3.client.services
Section 4
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow)
package com.kongregate.as3.client.services {
public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices {
private var mode:String;
public function HighScoreServiceShadow(){
mode = "";
}
public function submit(_arg1:Number, _arg2:String=null):void{
alert("IHighScoreServices", "submit", arguments);
}
public function connect():Boolean{
alert("IKongregateServices", "connect");
return (true);
}
public function requestList(_arg1:Function):void{
alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]"));
_arg1({success:false});
}
public function setMode(_arg1:String):void{
alert("IHighScoreServices", "setMode", arguments);
this.mode = _arg1;
}
}
}//package com.kongregate.as3.client.services
Section 5
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices)
package com.kongregate.as3.client.services {
public interface IHighScoreServices {
function setMode(_arg1:String):void;
function submit(_arg1:Number, _arg2:String=null):void;
function requestList(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 6
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices)
package com.kongregate.as3.client.services {
import flash.events.*;
public interface IKongregateServices extends IEventDispatcher {
function getPlayerInfo(_arg1:Function):void;
function connect(_arg1:Number=-1):Boolean;
}
}//package com.kongregate.as3.client.services
Section 7
//IStatServices (com.kongregate.as3.client.services.IStatServices)
package com.kongregate.as3.client.services {
public interface IStatServices {
function submitArray(_arg1:Array):void;
function submit(_arg1:String, _arg2:Number):void;
}
}//package com.kongregate.as3.client.services
Section 8
//IUserServices (com.kongregate.as3.client.services.IUserServices)
package com.kongregate.as3.client.services {
public interface IUserServices {
function getName():String;
function getPlayerInfo(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 9
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow)
package com.kongregate.as3.client.services {
public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices {
public function getName():String{
alert("IKongregateServices", "getName");
return ("Guest");
}
public function connect(_arg1:Number=-1):Boolean{
alert("IKongregateServices", "connect", arguments);
return (true);
}
public function getPlayerInfo(_arg1:Function):void{
alert("IKongregateServices", "getPlayerInfo");
_arg1(new Object());
}
}
}//package com.kongregate.as3.client.services
Section 10
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow)
package com.kongregate.as3.client.services {
public class StatServiceShadow extends AbstractShadowService implements IStatServices {
public function submitArray(_arg1:Array):void{
alert("IStatServices", "submitArray", arguments);
}
public function submit(_arg1:String, _arg2:Number):void{
alert("IStatServices", "submitStat", arguments);
}
}
}//package com.kongregate.as3.client.services
Section 11
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow)
package com.kongregate.as3.client.services {
public class UserServiceShadow extends AbstractShadowService implements IUserServices {
public function getName():String{
alert("UserService", "getName");
return ("Guest");
}
public function getPlayerInfo(_arg1:Function):void{
alert("UserService", "getPlayerInfo");
_arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""});
}
}
}//package com.kongregate.as3.client.services
Section 12
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
public interface IAPIBootstrap {
function init(_arg1:Event=null, _arg2:Stage=null):void;
function hideLog():void;
function showLog(_arg1:int=0):void;
}
}//package com.kongregate.as3.client
Section 13
//KongregateAPI (com.kongregate.as3.client.KongregateAPI)
package com.kongregate.as3.client {
import flash.events.*;
import com.kongregate.as3.client.services.*;
import flash.display.*;
import flash.system.*;
import com.kongregate.as3.client.events.*;
import flash.net.*;
import flash.utils.*;
import flash.errors.*;
public class KongregateAPI extends Sprite {
private const VERSION:Number = 1;
private var loader:Loader;
private var loadedDomain:ApplicationDomain;
private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices";
private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices";
private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices";
private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices";
private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf";
private static var _connected:Boolean;
private static var kUser:IUserServices;
private static var _loaded:Boolean;
private static var kServices:IKongregateServices;
private static var kScores:IHighScoreServices;
private static var mInstance:KongregateAPI;
private static var kStats:IStatServices;
private static var kAPI:IAPIBootstrap;
public function KongregateAPI(){
if (mInstance != null){
throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access."));
};
mInstance = this;
this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
}
public function get loaded():Boolean{
return (_loaded);
}
public function get connected():Boolean{
return (_connected);
}
private function alertConnected(_arg1:TimerEvent=null):void{
var _local2:KongregateEvent;
var _local3:Boolean;
_local2 = new KongregateEvent(KongregateEvent.COMPLETE);
_local3 = this.dispatchEvent(_local2);
}
private function init(_arg1:Event):void{
var _local2:Object;
var _local3:String;
var _local4:URLRequest;
var _local5:LoaderContext;
this.removeEventListener(Event.ADDED_TO_STAGE, init);
_loaded = false;
_connected = false;
_local2 = LoaderInfo(root.loaderInfo).parameters;
_local3 = _local2.api_path;
if (_local3 == null){
trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded.");
createShadowServices();
return;
};
Security.allowDomain("*.kongregate.com");
Security.allowDomain("kongregatetrunk.com");
_local4 = new URLRequest(_local3);
_local5 = new LoaderContext(false);
_local5.applicationDomain = ApplicationDomain.currentDomain;
_local5.securityDomain = SecurityDomain.currentDomain;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.load(_local4, _local5);
}
public function get api():IAPIBootstrap{
return (kAPI);
}
private function loadComplete(_arg1:Event):void{
getServices();
}
public function get scores():IHighScoreServices{
return (kScores);
}
private function ioErrorHandler(_arg1:IOErrorEvent):void{
throw (new IOError(("API file not found. " + _arg1)));
}
public function get services():IKongregateServices{
return (kServices);
}
public function get stats():IStatServices{
return (kStats);
}
private function createShadowServices():void{
var _local1:Timer;
trace(">>> Kongregate Shadow Services instantiated for local development..");
kServices = new KongregateServiceShadow();
kScores = new HighScoreServiceShadow();
kStats = new StatServiceShadow();
kUser = new UserServiceShadow();
_local1 = new Timer(200, 1);
_local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected);
_local1.start();
_connected = true;
}
public function get user():IUserServices{
return (kUser);
}
private function getServices():void{
var _local1:ApplicationDomain;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = ApplicationDomain.currentDomain;
kAPI = IAPIBootstrap(loader.getChildAt(0));
this.addChild(loader);
_local2 = _local1.getDefinition(CLASS_SERVICES);
trace(_local2);
kServices = _local2.getInstance();
_local3 = _local1.getDefinition(CLASS_SCORES);
kScores = _local3.getInstance();
_local4 = _local1.getDefinition(CLASS_STATS);
kStats = _local4.getInstance();
_local5 = _local1.getDefinition(CLASS_USER);
kUser = _local5.getInstance();
kServices.connect(VERSION);
_loaded = true;
_connected = true;
alertConnected();
}
public static function getInstance():KongregateAPI{
if (!mInstance){
throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it."));
};
return (mInstance);
}
}
}//package com.kongregate.as3.client
Section 14
//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;
myInstance = getChildAt(0);
onResize(stage.width, stage.height);
if (ExternalInterface.available){
ExternalInterface.addCallback("onResize", onResize);
ExternalInterface.addCallback("onUpdate", onUpdate);
};
} catch(e) {
};
}
private function updateCollection(_arg1:Object, _arg2:String):void{
var _local3:Class;
var _local4:Class;
var _local5:Object;
var _local6:int;
var _local7:Object;
var _local8:Object;
var _local9:*;
_local3 = Class(getDefinitionByName(_arg1.collectionClass));
_local4 = Class(getDefinitionByName(_arg1.collectionItemClass));
_local5 = new (_local3);
_local6 = 0;
while (_local6 < _arg1.collectionArray.length) {
_local7 = new (_local4);
_local8 = _arg1.collectionArray[_local6];
for (_local9 in _local8) {
_local7[_local9] = _local8[_local9];
};
_local5.addItem(_local7);
_local6++;
};
myInstance[_arg2] = (_local5 as _local3);
}
public function onResize(_arg1:Number, _arg2:Number):void{
var setSizeFn:Function;
var width = _arg1;
var height = _arg2;
setSizeFn = null;
try {
setSizeFn = myInstance["setSize"];
} catch(e:Error) {
setSizeFn = null;
};
if (setSizeFn != null){
setSizeFn(width, height);
} else {
myInstance.width = width;
myInstance.height = height;
};
}
public function onUpdate(... _args):void{
var i:int;
var name:String;
var value:*;
var updateArray = _args;
i = 0;
while ((i + 1) < updateArray.length) {
try {
name = String(updateArray[i]);
value = updateArray[(i + 1)];
if ((((typeof(value) == "object")) && (value.__treatAsCollectionSpecialSauce__))){
updateCollection(value, name);
} else {
myInstance[name] = value;
};
} catch(e:Error) {
};
i = (i + 2);
};
}
}
}//package fl.livepreview
Section 15
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.system.*;
import flash.net.*;
import flash.utils.*;
public class MochiAd {
public static function getVersion():String{
return ("3.0 as3");
}
public static function showClickAwayAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
var sendHostProgress:Boolean;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType == "application"){
return (_local2);
};
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var clip:Object;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
var depth:Number = options.depth;
delete options.depth;
var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
} else {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
};
var lv:URLVariables = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
trace("[MochiAds] Blocked URL");
});
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local6:Array;
var _local3:Object = _arg2.getBounds(_arg2.root);
var _local4:Number = 0;
var _local5:Number = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array = _arg2.split(".");
var _local4:Number = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var f:Function = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _local1:Object = this.parent.parent.root;
var _local2:Object = this.parent._mochiad_ctr;
var _local3:Number = (getTimer() - this.started);
var _local4:Boolean;
var _local5:Number = _local1.loaderInfo.bytesTotal;
var _local6:Number = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
var _local7:Number = ((100 * _local6) / _local5);
var _local8:Number = ((100 * _local3) / chk.ad_msec);
var _local9:Object = this._mochiad_bar._inside;
var _local10:Number = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var mc = _arg1;
var f:Function = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package mochi.as3
Section 16
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.2.0.3794";
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 17
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.2.0.3794";
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 18
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 19
//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 20
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 21
//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 22
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.2.0.3794";
}
}//package mx.core
Section 23
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.2.0.3794";
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 24
//dwgraphicsclass (dwgraphicsclass)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.net.*;
public class dwgraphicsclass extends Sprite {
public var temptile:BitmapData;
public var images:Array;
public var backgrounds:Array;
public var alphamult:uint;
public var bfontpos:int;
public var tiles:Array;
public var bfontmask:Array;
public var bg_rect:Rectangle;
public var screenbuffer:BitmapData;
public var bfont:Array;
public var bfont_rect:Rectangle;
public var updatebackground:Boolean;
public var cur:int;
public var bfontlen:Array;
public var bfontmask_rect:Rectangle;
public var stemp:String;
public var images_rect:Rectangle;
public var buffer:BitmapData;
public var temp:int;
public var tiles_rect:Rectangle;
public var temp3:int;
public var temp2:int;
public var backbuffer:BitmapData;
public var screen:Bitmap;
public var ct:ColorTransform;
public var tl:Point;
public function dwgraphicsclass(){
backgrounds = new Array();
images = new Array();
tiles = new Array();
bfont = new Array();
bfontmask = new Array();
bfontlen = new Array();
super();
}
public function makebfont():void{
var _local2:Array;
var _local5:Number;
var _local6:BitmapData;
var _local7:Rectangle;
var _local1:Number = 0;
while (_local1 < 16) {
_local5 = 0;
while (_local5 < 16) {
_local6 = new BitmapData(8, 8, true, 0);
_local7 = new Rectangle((_local5 * 8), (_local1 * 8), 8, 8);
_local6.copyPixels(buffer, _local7, tl);
bfont.push(_local6);
_local5++;
};
_local1++;
};
_local5 = 0;
while (_local5 < 0x0100) {
bfontlen.push(6);
_local5++;
};
var _local3 = "4,3,5,7,6,7,6,3,4,4,7,7,3,5,2,5,6,5,6,6,6,6,6,6,6,6,2,3,5,5,5,6,7,6,6,6,6,5,5,6,6,3,6,6,5,7,7,6,6,6,6,6,5,6,7,7,7,7,5,4,5,4,5,6,4,6,6,6,6,5,5,6,6,3,6,6,5,7,7,6,6,6,6,6,5,6,7,7,7,7,5,5,3,5,6,4";
_local2 = new Array();
_local2 = _local3.split(",");
var _local4:int;
while (_local4 < 96) {
bfontlen[(_local4 + 32)] = int(_local2[_local4]);
_local4++;
};
}
public function drawentities(_arg1:entityclass, _arg2:helpclass):void{
var _local3:int;
var _local4:int;
var _local5:int;
while (_local5 < _arg1.nentity) {
if (_arg1.entities[_local5].size == 1){
_local3 = 0;
while (_local3 < 2) {
_local4 = 0;
while (_local4 < 2) {
backbuffer.copyPixels(tiles[((_arg1.entities[_local5].drawframe + _local3) + (_local4 * 20))], tiles_rect, new Point((_arg1.entities[_local5].xp + (_local3 * 16)), (_arg1.entities[_local5].yp + (_local4 * 16))));
_local4++;
};
_local3++;
};
} else {
if (_arg1.entities[_local5].size == 2){
_local3 = 0;
while (_local3 < 4) {
_local4 = 0;
while (_local4 < 5) {
backbuffer.copyPixels(tiles[((_arg1.entities[_local5].drawframe + _local3) + (_local4 * 20))], tiles_rect, new Point((_arg1.entities[_local5].xp + (_local3 * 16)), (_arg1.entities[_local5].yp + (_local4 * 16))));
_local4++;
};
_local3++;
};
} else {
if (!_arg1.entities[_local5].invis){
if (_arg1.entities[_local5].type == 28){
backbuffer.copyPixels(tiles[_arg1.entities[_local5].drawframe], tiles_rect, new Point(_arg1.entities[_local5].xp, (_arg1.entities[_local5].yp + (2 * _arg2.sine[int(_arg2.slowsine)]))));
} else {
backbuffer.copyPixels(tiles[_arg1.entities[_local5].drawframe], tiles_rect, new Point(_arg1.entities[_local5].xp, _arg1.entities[_local5].yp));
};
};
};
};
_local5++;
};
}
public function bprint(_arg1:int, _arg2:int, _arg3:String, _arg4:int, _arg5:int, _arg6:int, _arg7:Boolean=false):void{
printmask(_arg1, _arg2, _arg3, _arg7);
print(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7);
}
public function bprinttemptile(_arg1:int, _arg2:int, _arg3:String, _arg4:int, _arg5:int, _arg6:int, _arg7:Boolean=false):void{
printmasktemptile(_arg1, _arg2, _arg3, _arg7);
printtemptile(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7);
}
public function addbackground():void{
var _local1:BitmapData = new BitmapData(160, 144, true, 0);
_local1.copyPixels(buffer, bg_rect, tl);
backgrounds.push(_local1);
}
public function init():void{
updatebackground = true;
tiles_rect = new Rectangle(0, 0, 16, 16);
bfont_rect = new Rectangle(0, 0, 8, 8);
bfontmask_rect = new Rectangle(0, 0, 9, 9);
bg_rect = new Rectangle(0, 0, 160, 144);
tl = new Point(0, 0);
ct = new ColorTransform(0, 0, 0, 1, 0xFF, 0xFF, 0xFF, 1);
backbuffer = new BitmapData(160, 144, false, 0);
screenbuffer = new BitmapData(160, 144, false, 0);
temptile = new BitmapData(16, 16, false, 0);
screen = new Bitmap(screenbuffer);
screen.width = 640;
screen.height = 576;
addChild(screen);
}
public function len(_arg1:String):int{
bfontpos = 0;
var _local2:int;
while (_local2 < _arg1.length) {
cur = _arg1.charCodeAt(_local2);
bfontpos = (bfontpos + bfontlen[cur]);
_local2++;
};
return (bfontpos);
}
public function render():void{
screenbuffer.lock();
screenbuffer.copyPixels(backbuffer, backbuffer.rect, tl, null, null, false);
screenbuffer.unlock();
backbuffer.lock();
backbuffer.fillRect(backbuffer.rect, 0);
backbuffer.unlock();
}
public function drawimage(_arg1:int, _arg2:int, _arg3:int, _arg4:Boolean=false):void{
if (_arg4){
backbuffer.copyPixels(images[_arg1], new Rectangle(0, 0, images[_arg1].width, images[_arg1].height), new Point((80 - int((images[_arg1].width / 2))), _arg3));
} else {
backbuffer.copyPixels(images[_arg1], new Rectangle(0, 0, images[_arg1].width, images[_arg1].height), new Point(_arg2, _arg3));
};
}
public function printmask(_arg1:int, _arg2:int, _arg3:String, _arg4:Boolean=false):void{
if (_arg4){
_arg1 = (80 - (len(_arg3) / 2));
};
bfontpos = 0;
var _local5:int;
while (_local5 < _arg3.length) {
cur = _arg3.charCodeAt(_local5);
backbuffer.copyPixels(bfontmask[cur], bfont_rect, new Point(((_arg1 + bfontpos) - 1), _arg2));
bfontpos = (bfontpos + bfontlen[cur]);
_local5++;
};
}
public function screenshake():void{
screenbuffer.lock();
screenbuffer.copyPixels(backbuffer, backbuffer.rect, tl, null, null, false);
screenbuffer.copyPixels(backbuffer, backbuffer.rect, new Point(((Math.random() * 5) - 3), ((Math.random() * 5) - 3)), null, null, false);
screenbuffer.unlock();
backbuffer.lock();
backbuffer.fillRect(backbuffer.rect, 0);
backbuffer.unlock();
}
public function printmasktemptile(_arg1:int, _arg2:int, _arg3:String, _arg4:Boolean=false):void{
if (_arg4){
_arg1 = (80 - (len(_arg3) / 2));
};
bfontpos = 0;
var _local5:int;
while (_local5 < _arg3.length) {
cur = _arg3.charCodeAt(_local5);
temptile.copyPixels(bfontmask[cur], bfont_rect, new Point(((_arg1 + bfontpos) - 1), _arg2));
bfontpos = (bfontpos + bfontlen[cur]);
_local5++;
};
}
public function flashlight():void{
backbuffer.fillRect(backbuffer.rect, 9383213);
}
public function RGB(_arg1:Number, _arg2:Number, _arg3:Number):Number{
return (((_arg3 | (_arg2 << 8)) | (_arg1 << 16)));
}
public function printtemptile(_arg1:int, _arg2:int, _arg3:String, _arg4:int, _arg5:int, _arg6:int, _arg7:Boolean=false):void{
if (_arg4 < 0){
_arg4 = 0;
};
if (_arg5 < 0){
_arg5 = 0;
};
if (_arg6 < 0){
_arg6 = 0;
};
if (_arg4 > 0xFF){
_arg4 = 0xFF;
};
if (_arg5 > 0xFF){
_arg5 = 0xFF;
};
if (_arg6 > 0xFF){
_arg6 = 0xFF;
};
ct.color = RGB(_arg4, _arg5, _arg6);
if (_arg7){
_arg1 = (80 - (len(_arg3) / 2));
};
bfontpos = 0;
var _local8:int;
while (_local8 < _arg3.length) {
cur = _arg3.charCodeAt(_local8);
bfont[cur].colorTransform(bfont_rect, ct);
temptile.copyPixels(bfont[cur], bfont_rect, new Point((_arg1 + bfontpos), _arg2));
bfontpos = (bfontpos + bfontlen[cur]);
_local8++;
};
}
public function print(_arg1:int, _arg2:int, _arg3:String, _arg4:int, _arg5:int, _arg6:int, _arg7:Boolean=false):void{
if (_arg4 < 0){
_arg4 = 0;
};
if (_arg5 < 0){
_arg5 = 0;
};
if (_arg6 < 0){
_arg6 = 0;
};
if (_arg4 > 0xFF){
_arg4 = 0xFF;
};
if (_arg5 > 0xFF){
_arg5 = 0xFF;
};
if (_arg6 > 0xFF){
_arg6 = 0xFF;
};
ct.color = RGB(_arg4, _arg5, _arg6);
if (_arg7){
_arg1 = (80 - (len(_arg3) / 2));
};
bfontpos = 0;
var _local8:int;
while (_local8 < _arg3.length) {
cur = _arg3.charCodeAt(_local8);
bfont[cur].colorTransform(bfont_rect, ct);
backbuffer.copyPixels(bfont[cur], bfont_rect, new Point((_arg1 + bfontpos), _arg2));
bfontpos = (bfontpos + bfontlen[cur]);
_local8++;
};
}
public function drawbuffertile(_arg1:int, _arg2:int, _arg3:int):void{
buffer.copyPixels(tiles[_arg3], tiles_rect, new Point(_arg1, _arg2));
}
public function maketilearray():void{
var _local2:Number;
var _local3:BitmapData;
var _local4:Rectangle;
var _local1:Number = 0;
while (_local1 < 15) {
_local2 = 0;
while (_local2 < 20) {
_local3 = new BitmapData(16, 16, true, 0);
_local4 = new Rectangle((_local2 * 16), (_local1 * 16), 16, 16);
_local3.copyPixels(buffer, _local4, tl);
tiles.push(_local3);
_local2++;
};
_local1++;
};
}
public function addimage():void{
var _local1:BitmapData = new BitmapData(buffer.width, buffer.height, true, 0);
_local1.copyPixels(buffer, new Rectangle(0, 0, buffer.width, buffer.height), tl);
images.push(_local1);
}
public function makebfontmask():void{
var _local2:Number;
var _local3:BitmapData;
var _local4:Rectangle;
var _local1:Number = 0;
while (_local1 < 16) {
_local2 = 0;
while (_local2 < 16) {
_local3 = new BitmapData(9, 9, true, 0);
_local4 = new Rectangle((_local2 * 9), (_local1 * 9), 9, 9);
_local3.copyPixels(buffer, _local4, tl);
bfontmask.push(_local3);
_local2++;
};
_local1++;
};
}
public function drawbackground(_arg1:int):void{
backbuffer.copyPixels(backgrounds[_arg1], bg_rect, tl);
}
public function drawbossmeter(_arg1:gameclass):void{
if (_arg1.hpposition > ((_arg1.currenthp * 120) / _arg1.totalhp)){
_arg1.hpposition = (_arg1.hpposition - 2);
};
if (_arg1.hpposition < ((_arg1.currenthp * 120) / _arg1.totalhp)){
_arg1.hpposition = ((_arg1.currenthp * 120) / _arg1.totalhp);
};
backbuffer.fillRect(new Rectangle(19, 130, 122, 8), 1114884);
backbuffer.fillRect(new Rectangle(20, 131, _arg1.hpposition, 6), 9383213);
}
public function drawtile(_arg1:int, _arg2:int, _arg3:int):void{
backbuffer.copyPixels(tiles[_arg3], tiles_rect, new Point(_arg1, _arg2));
}
}
}//package
Section 25
//entityclass (entityclass)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.net.*;
public class entityclass extends Sprite {
public var flags:Array;
public var restartcounter:int;
public var temph:int;
public var tempw:int;
public var tempx:int;
public var tempy:int;
public var restartmode:int;
public var temprect:Rectangle;
public var norestartsound:Boolean;
public var entities:Array;
public var onladder:Boolean;
public var nentity:int;
public var temp:int;
public var temp2:int;
public var removeentity:Boolean;
public var restartroom:Boolean;
public var activetrigger:int;
public function entityclass(){
entities = new Array();
flags = new Array();
super();
}
public function updateentities(_arg1:int, _arg2:helpclass, _arg3:gameclass, _arg4:musicclass):Boolean{
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
removeentity = false;
if (entities[_arg1].statedelay <= 0){
switch (entities[_arg1].type){
case 0:
if (entities[_arg1].state == 1){
entities[_arg1].state = 2;
_local5 = 0;
while (_local5 < 2) {
_local6 = 0;
while (_local6 < 10) {
createentity(((entities[_arg1].xp + 8) + _local5), ((entities[_arg1].yp + 3) + _local6), 30);
_local6++;
};
_local5++;
};
} else {
if (entities[_arg1].state == 2){
entities[_arg1].life--;
if (entities[_arg1].life <= 8){
entities[_arg1].invis = true;
};
entities[_arg1].vx = 0;
entities[_arg1].vy = 0;
};
};
break;
case 1:
if (entities[_arg1].state == 0){
if (entities[_arg1].xp < -30){
entities[_arg1].state = 1;
};
if (entities[_arg1].xp > 190){
entities[_arg1].state = 1;
};
if (entities[_arg1].yp < -30){
entities[_arg1].state = 1;
};
if (entities[_arg1].yp > 174){
entities[_arg1].state = 1;
};
} else {
if (entities[_arg1].state == 1){
removeentity = true;
if (entities[_arg1].vx <= 0){
createentity((entities[_arg1].xp + 1), entities[_arg1].yp, 16, 3, (-(Math.random()) * 2));
} else {
createentity((entities[_arg1].xp + 1), entities[_arg1].yp, 16, -3, (-(Math.random()) * 2));
};
};
};
break;
case 2:
if (entities[_arg1].state == 0){
temp = getplayer();
entities[_arg1].vx = 0;
entities[_arg1].vy = 0;
if ((entities[_arg1].xp + 1) < (entities[temp].xp + 2)){
entities[_arg1].vx = 1;
};
if ((entities[_arg1].xp - 1) > (entities[temp].xp + 2)){
entities[_arg1].vx = -1;
};
if ((entities[_arg1].yp + 1) < (entities[temp].yp + 5)){
entities[_arg1].vy = 1;
};
if ((entities[_arg1].yp - 1) > (entities[temp].yp + 5)){
entities[_arg1].vy = -1;
};
} else {
if (entities[_arg1].state == 1){
_arg3.incenemycount();
flags[entities[_arg1].flag] = 2;
_arg4.playef(5, 50);
createentity(entities[_arg1].xp, entities[_arg1].yp, 3, entities[_arg1].bulletvel, -5);
removeentity = true;
};
};
break;
case 4:
if (entities[_arg1].state == 0){
entities[_arg1].life--;
if (entities[_arg1].life <= 0){
entities[_arg1].state = 1;
};
} else {
if (entities[_arg1].state == 1){
if (entities[_arg1].yp > 30){
if (Math.random() < 0.5){
createentity(entities[_arg1].xp, (entities[_arg1].yp + 5), 5, (Math.random() + 1), -4);
} else {
createentity(entities[_arg1].xp, (entities[_arg1].yp + 5), 5, (-(Math.random()) - 1), -4);
};
};
removeentity = true;
};
};
break;
case 5:
if (entities[_arg1].state == 0){
entities[_arg1].life--;
if (entities[_arg1].life <= 0){
entities[_arg1].state = 2;
};
} else {
if (entities[_arg1].state == 1){
if (!entities[_arg1].bounce){
entities[_arg1].state = 0;
entities[_arg1].life = (entities[_arg1].life - 8);
if (entities[_arg1].life <= 0){
removeentity = true;
};
entities[_arg1].ay = -2;
entities[_arg1].jumping = true;
entities[_arg1].jumpframe = 2;
entities[_arg1].bounce = true;
entities[_arg1].onwall = 0;
} else {
removeentity = true;
};
} else {
if (entities[_arg1].state == 2){
removeentity = true;
};
};
};
break;
case 6:
if (entities[_arg1].state == 1){
temp = getplayer();
entities[_arg1].vx = (entities[_arg1].vx * 0.95);
if (((entities[temp].onground) && (entities[_arg1].onground))){
if ((entities[_arg1].xp + 1) < (entities[temp].xp + 2)){
entities[_arg1].vx = 4;
};
if ((entities[_arg1].xp - 1) > (entities[temp].xp + 2)){
entities[_arg1].vx = -4;
};
entities[_arg1].dir = 1;
if (entities[_arg1].vx > 0){
entities[_arg1].dir = 0;
};
};
entities[_arg1].onxwall = 2;
} else {
if (entities[_arg1].state == 2){
entities[_arg1].vx = 0;
entities[_arg1].state = 1;
entities[_arg1].onxwall = 0;
} else {
if (entities[_arg1].state == 3){
entities[_arg1].hp--;
if (entities[_arg1].hp <= 0){
_arg3.incenemycount();
flags[entities[_arg1].flag] = 2;
_arg4.playef(5, 50);
createentity(entities[_arg1].xp, entities[_arg1].yp, 7, entities[_arg1].bulletvel, -5);
removeentity = true;
} else {
entities[_arg1].vx = entities[_arg1].bulletvel;
entities[_arg1].vy = -5;
entities[_arg1].state = 1;
};
};
};
};
break;
case 9:
if (entities[_arg1].state == 0){
temp = getplayer();
if (Math.abs((entities[_arg1].xp - entities[temp].xp)) < 50){
entities[_arg1].state = 1;
entities[_arg1].tile = 94;
entities[_arg1].drawframe = 94;
entities[_arg1].gravity = true;
};
} else {
if (entities[_arg1].state == 1){
} else {
if (entities[_arg1].state == 2){
temp = getplayer();
entities[_arg1].onywall = 0;
entities[_arg1].onwall = 0;
entities[_arg1].state = 3;
entities[_arg1].tile = 89;
if ((entities[_arg1].xp + 1) < (entities[temp].xp + 2)){
entities[_arg1].state = 4;
};
if ((entities[_arg1].xp - 1) > (entities[temp].xp + 2)){
entities[_arg1].state = 3;
};
} else {
if (entities[_arg1].state == 3){
entities[_arg1].onxwall = 4;
entities[_arg1].vx = -2;
entities[_arg1].dir = 1;
if (entities[_arg1].xp < 0){
entities[_arg1].state = 4;
};
} else {
if (entities[_arg1].state == 4){
entities[_arg1].onxwall = 3;
entities[_arg1].vx = 2;
entities[_arg1].dir = 0;
if (entities[_arg1].xp > 145){
entities[_arg1].state = 3;
};
} else {
if (entities[_arg1].state == 10){
_arg3.incenemycount();
flags[entities[_arg1].flag] = 2;
_arg4.playef(5, 50);
createentity(entities[_arg1].xp, entities[_arg1].yp, 10, entities[_arg1].bulletvel, -5);
removeentity = true;
};
};
};
};
};
};
break;
case 11:
if (entities[_arg1].state == 0){
temp = getplayer();
if (Math.abs((entities[_arg1].xp - entities[temp].xp)) < 25){
entities[_arg1].state = 1;
entities[_arg1].gravity = true;
};
} else {
if (entities[_arg1].state == 1){
entities[_arg1].yp++;
} else {
if (entities[_arg1].state == 2){
createentity((entities[_arg1].xp + 2), (entities[_arg1].yp + 13), 5, Math.random(), -8);
createentity((entities[_arg1].xp + 2), (entities[_arg1].yp + 13), 5, -(Math.random()), -8);
createentity((entities[_arg1].xp + 2), (entities[_arg1].yp + 13), 5, (Math.random() + 1), -6);
createentity((entities[_arg1].xp + 2), (entities[_arg1].yp + 13), 5, (-(Math.random()) - 1), -6);
_arg4.playef(7, 50);
removeentity = true;
};
};
};
break;
case 12:
if (entities[_arg1].state == 0){
temp = getplayer();
if (Math.abs((entities[_arg1].xp - entities[temp].xp)) < 100){
if (Math.abs((entities[_arg1].yp - entities[temp].yp)) < 50){
entities[_arg1].onywall = 2;
};
};
} else {
if (entities[_arg1].state == 2){
entities[_arg1].onywall = 0;
entities[_arg1].vx = (entities[_arg1].vx * 0.4);
entities[_arg1].state = 3;
entities[_arg1].statedelay = 6;
} else {
if (entities[_arg1].state == 3){
entities[_arg1].onywall = 2;
entities[_arg1].state = 1;
entities[_arg1].ay = (-4 - (Math.random() * 5));
entities[_arg1].jumping = true;
entities[_arg1].jumpframe = (7 + (Math.random() * 6));
temp = getplayer();
if ((entities[_arg1].xp + 1) < (entities[temp].xp + 2)){
entities[_arg1].vx = 2;
};
if ((entities[_arg1].xp - 1) > (entities[temp].xp + 2)){
entities[_arg1].vx = -2;
};
} else {
if (entities[_arg1].state == 10){
entities[_arg1].hp--;
if (entities[_arg1].hp <= 0){
_arg3.incenemycount();
_arg4.playef(14);
flags[entities[_arg1].flag] = 2;
if (entities[_arg1].vx <= 0){
createentity(entities[_arg1].xp, entities[_arg1].yp, 13, entities[_arg1].bulletvel, -5);
};
if (entities[_arg1].vx > 0){
createentity(entities[_arg1].xp, entities[_arg1].yp, 14, entities[_arg1].bulletvel, -5);
};
removeentity = true;
} else {
_arg4.playef(5);
entities[_arg1].vx = entities[_arg1].bulletvel;
entities[_arg1].vy = -1;
entities[_arg1].state = 1;
entities[_arg1].onywall = 2;
};
};
};
};
};
break;
case 15:
if (entities[_arg1].state == 0){
if (entities[_arg1].xp < -10){
removeentity = true;
};
if (entities[_arg1].xp > 170){
removeentity = true;
};
if (entities[_arg1].yp < -10){
removeentity = true;
};
if (entities[_arg1].yp > 154){
removeentity = true;
};
if (entities[_arg1].vx < -0.5){
if ((((Math.random() < 0.9)) && ((nentity < 40)))){
createentity((entities[_arg1].xp + 4), (entities[_arg1].yp + 1), 16, Math.random(), -(Math.random()));
};
if (Math.random() < 0.9){
createentity((entities[_arg1].xp + 4), (entities[_arg1].yp + 4), 16, Math.random(), -(Math.random()));
};
} else {
if (entities[_arg1].vx > 0.5){
if ((((Math.random() < 0.9)) && ((nentity < 40)))){
createentity((entities[_arg1].xp - 2), (entities[_arg1].yp + 1), 16, Math.random(), -(Math.random()));
};
if (Math.random() < 0.9){
createentity((entities[_arg1].xp - 2), (entities[_arg1].yp + 4), 16, Math.random(), -(Math.random()));
};
} else {
if ((((Math.random() < 0.9)) && ((nentity < 40)))){
createentity((entities[_arg1].xp + 2), (entities[_arg1].yp + 1), 16, (0.5 - Math.random()), -(Math.random()));
};
if (Math.random() < 0.9){
createentity((entities[_arg1].xp + 3), (entities[_arg1].yp + 1), 16, (0.5 - Math.random()), -(Math.random()));
};
};
};
} else {
if (entities[_arg1].state == 1){
removeentity = true;
};
};
break;
case 17:
if (entities[_arg1].state == 0){
if (!entities[_arg1].roar){
_arg4.playef(11);
entities[_arg1].roar = true;
};
temp = getplayer();
entities[_arg1].onbullet = 10;
entities[_arg1].state = 1;
entities[_arg1].vx = 0;
if ((entities[_arg1].xp + 1) < (entities[temp].xp + 2)){
entities[_arg1].state = 2;
};
if ((entities[_arg1].xp - 1) > (entities[temp].xp + 2)){
entities[_arg1].state = 1;
};
entities[_arg1].statedelay = 10;
} else {
if (entities[_arg1].state == 1){
entities[_arg1].onxwall = 2;
entities[_arg1].vx = -1;
entities[_arg1].dir = 1;
if (entities[_arg1].xp < 0){
entities[_arg1].state = 2;
};
temp = getplayer();
if (Math.abs((entities[_arg1].yp - entities[temp].yp)) < 30){
entities[_arg1].charge--;
if (entities[_arg1].charge <= 0){
entities[_arg1].state = 3;
};
};
} else {
if (entities[_arg1].state == 2){
entities[_arg1].onxwall = 1;
entities[_arg1].vx = 1;
entities[_arg1].dir = 0;
if (entities[_arg1].xp > 135){
entities[_arg1].state = 1;
};
temp = getplayer();
if (Math.abs((entities[_arg1].yp - entities[temp].yp)) < 30){
entities[_arg1].charge--;
if (entities[_arg1].charge <= 0){
entities[_arg1].state = 3;
};
};
} else {
if (entities[_arg1].state == 3){
entities[_arg1].charge = 40;
entities[_arg1].state = 4;
entities[_arg1].vx = 0;
temp = getplayer();
if ((entities[_arg1].xp + 1) < (entities[temp].xp + 2)){
entities[_arg1].dir = 0;
};
if ((entities[_arg1].xp - 1) > (entities[temp].xp + 2)){
entities[_arg1].dir = 1;
};
} else {
if (entities[_arg1].state == 4){
entities[_arg1].state = 0;
entities[_arg1].statedelay = 5;
if (entities[_arg1].dir == 1){
createentity((entities[_arg1].xp - 5), (entities[_arg1].yp + 14), 15, -4, (0.5 - Math.random()));
};
if (entities[_arg1].dir == 0){
createentity((entities[_arg1].xp + 5), (entities[_arg1].yp + 14), 15, 4, (0.5 - Math.random()));
};
_arg4.playef(8);
} else {
if (entities[_arg1].state == 10){
entities[_arg1].hp--;
if (entities[_arg1].hp <= 0){
_arg3.incenemycount();
flags[entities[_arg1].flag] = 2;
_arg4.playef(13);
_arg4.playef(8);
createentity(entities[_arg1].xp, (entities[_arg1].yp + 14), 15, -2, -1);
createentity(entities[_arg1].xp, (entities[_arg1].yp + 14), 15, -1, -2);
createentity(entities[_arg1].xp, (entities[_arg1].yp + 14), 15, 0, -2.4);
createentity(entities[_arg1].xp, (entities[_arg1].yp + 14), 15, 2, -1);
createentity(entities[_arg1].xp, (entities[_arg1].yp + 14), 15, 1, -2);
removeentity = true;
_arg3.screenshake = 10;
} else {
_arg4.playef(14);
entities[_arg1].vx = 0;
entities[_arg1].state = 3;
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
createentity(((entities[_arg1].xp + 6) + (Math.random() * 24)), ((entities[_arg1].yp + 6) + (Math.random() * 16)), 29);
};
};
};
};
};
};
};
break;
case 19:
if (entities[_arg1].state == 0){
entities[_arg1].state = 1;
} else {
if (entities[_arg1].state == 1){
entities[_arg1].onywall = 2;
entities[_arg1].vy = 4;
if (entities[_arg1].yp > 128){
entities[_arg1].state = 2;
};
} else {
if (entities[_arg1].state == 2){
entities[_arg1].onywall = 1;
entities[_arg1].vy = -4;
if (entities[_arg1].yp <= 0){
entities[_arg1].state = 1;
};
} else {
if (entities[_arg1].state == 3){
removeentity = true;
};
};
};
};
break;
case 20:
if (entities[_arg1].state == 0){
entities[_arg1].state = 1;
} else {
if (entities[_arg1].state == 1){
entities[_arg1].onxwall = 2;
entities[_arg1].vx = 4;
if (entities[_arg1].xp > 144){
entities[_arg1].state = 2;
};
} else {
if (entities[_arg1].state == 2){
entities[_arg1].onxwall = 1;
entities[_arg1].vx = -4;
if (entities[_arg1].xp <= 0){
entities[_arg1].state = 1;
};
} else {
if (entities[_arg1].state == 3){
removeentity = true;
};
};
};
};
break;
case 21:
if (entities[_arg1].state == 0){
entities[_arg1].state = 1;
} else {
if (entities[_arg1].state == 1){
entities[_arg1].onxwall = 2;
entities[_arg1].onywall = 0;
entities[_arg1].vx = 3;
entities[_arg1].vy = 0;
if (entities[_arg1].xp > 151){
entities[_arg1].state = 2;
};
} else {
if (entities[_arg1].state == 2){
entities[_arg1].onxwall = 0;
entities[_arg1].onywall = 3;
entities[_arg1].vx = 0;
entities[_arg1].vy = 3;
if (entities[_arg1].yp > 135){
entities[_arg1].state = 3;
};
} else {
if (entities[_arg1].state == 3){
entities[_arg1].onxwall = 4;
entities[_arg1].onywall = 0;
entities[_arg1].vx = -3;
entities[_arg1].vy = 0;
if (entities[_arg1].xp <= 0){
entities[_arg1].state = 4;
};
} else {
if (entities[_arg1].state == 4){
entities[_arg1].onxwall = 0;
entities[_arg1].onywall = 1;
entities[_arg1].vx = 0;
entities[_arg1].vy = -3;
if (entities[_arg1].yp <= 0){
entities[_arg1].state = 1;
};
} else {
if (entities[_arg1].state == 10){
removeentity = true;
};
};
};
};
};
};
break;
case 22:
if (entities[_arg1].state == 0){
entities[_arg1].framedelay++;
if (entities[_arg1].framedelay > 90){
entities[_arg1].state = 1;
};
} else {
if (entities[_arg1].state == 1){
createentity((entities[_arg1].xp + 2), (entities[_arg1].yp - 4), 18, 0, 0);
_arg4.playef(8);
entities[_arg1].state = 0;
entities[_arg1].framedelay = 0;
};
};
break;
case 23:
if (entities[_arg1].state == 0){
_arg3.removeblockat(_arg2, entities[_arg1].xp, entities[_arg1].yp);
_arg3.createblock(entities[_arg1].xp, entities[_arg1].yp, entities[_arg1].cw, entities[_arg1].ch);
entities[_arg1].state = 1;
entities[_arg1].invis = false;
entities[_arg1].tile = 33;
entities[_arg1].drawframe = 33;
} else {
if (entities[_arg1].state == 1){
entities[_arg1].framedelay++;
if (entities[_arg1].framedelay > 60){
entities[_arg1].state = 2;
};
} else {
if (entities[_arg1].state == 2){
entities[_arg1].state = 3;
entities[_arg1].statedelay = 5;
entities[_arg1].tile = 34;
entities[_arg1].drawframe = 34;
} else {
if (entities[_arg1].state == 3){
entities[_arg1].state = 4;
entities[_arg1].statedelay = 5;
entities[_arg1].tile = 35;
entities[_arg1].drawframe = 35;
} else {
if (entities[_arg1].state == 4){
entities[_arg1].framedelay = 0;
entities[_arg1].state = 5;
entities[_arg1].statedelay = 5;
entities[_arg1].tile = 36;
entities[_arg1].drawframe = 36;
} else {
if (entities[_arg1].state == 5){
entities[_arg1].invis = true;
_arg3.removeblockat(_arg2, entities[_arg1].xp, entities[_arg1].yp);
entities[_arg1].framedelay++;
if (entities[_arg1].framedelay > 45){
entities[_arg1].state = 6;
};
} else {
if (entities[_arg1].state == 6){
_arg3.createblock(entities[_arg1].xp, entities[_arg1].yp, entities[_arg1].cw, entities[_arg1].ch);
entities[_arg1].invis = false;
entities[_arg1].framedelay = 0;
entities[_arg1].tile = 36;
entities[_arg1].drawframe = 36;
entities[_arg1].state = 7;
entities[_arg1].statedelay = 5;
} else {
if (entities[_arg1].state == 7){
entities[_arg1].state = 8;
entities[_arg1].statedelay = 5;
entities[_arg1].tile = 35;
entities[_arg1].drawframe = 35;
} else {
if (entities[_arg1].state == 8){
entities[_arg1].state = 0;
entities[_arg1].statedelay = 5;
entities[_arg1].tile = 34;
entities[_arg1].drawframe = 34;
};
};
};
};
};
};
};
};
};
break;
case 24:
if (entities[_arg1].state == 0){
_arg3.createblock(entities[_arg1].xp, (entities[_arg1].yp + 1), entities[_arg1].cw, entities[_arg1].ch);
entities[_arg1].state = 1;
} else {
if (entities[_arg1].state == 1){
} else {
if (entities[_arg1].state == 2){
entities[_arg1].onplayer = 0;
_arg4.playef(9);
entities[_arg1].state = 3;
entities[_arg1].statedelay = 5;
entities[_arg1].tile = 53;
entities[_arg1].drawframe = 53;
createentity(((entities[_arg1].xp + 4) + (Math.random() * 4)), (entities[_arg1].yp + 4), 5, 0, (1 + (Math.random() * 2)));
createentity(((entities[_arg1].xp + 8) + (Math.random() * 4)), (entities[_arg1].yp + 4), 5, 0, (1 + (Math.random() * 2)));
} else {
if (entities[_arg1].state == 3){
entities[_arg1].onplayer = 0;
entities[_arg1].state = 4;
entities[_arg1].statedelay = 5;
entities[_arg1].tile = 54;
entities[_arg1].drawframe = 54;
createentity((entities[_arg1].xp + (Math.random() * 4)), (entities[_arg1].yp + 4), 5, 0, (1 + (Math.random() * 2)));
createentity(((entities[_arg1].xp + 12) + (Math.random() * 4)), (entities[_arg1].yp + 4), 5, 0, (1 + (Math.random() * 2)));
} else {
if (entities[_arg1].state == 4){
entities[_arg1].state = 5;
entities[_arg1].statedelay = 5;
entities[_arg1].tile = 55;
entities[_arg1].drawframe = 55;
createentity(((entities[_arg1].xp + 4) + (Math.random() * 4)), (entities[_arg1].yp + 5), 5, 0, (1 + (Math.random() * 2)));
createentity(((entities[_arg1].xp + 8) + (Math.random() * 4)), (entities[_arg1].yp + 5), 5, 0, (1 + (Math.random() * 2)));
} else {
if (entities[_arg1].state == 5){
entities[_arg1].framedelay = 0;
entities[_arg1].state = 6;
entities[_arg1].statedelay = 5;
entities[_arg1].tile = 56;
entities[_arg1].drawframe = 56;
createentity((entities[_arg1].xp + (Math.random() * 4)), (entities[_arg1].yp + 5), 5, 0, (1 + (Math.random() * 2)));
createentity(((entities[_arg1].xp + 12) + (Math.random() * 4)), (entities[_arg1].yp + 5), 5, 0, (1 + (Math.random() * 2)));
} else {
if (entities[_arg1].state == 6){
_arg3.removeblockat(_arg2, entities[_arg1].xp, (entities[_arg1].yp + 1));
removeentity = true;
createentity((entities[_arg1].xp + (Math.random() * 4)), (entities[_arg1].yp + 4), 5, 0, (1 + (Math.random() * 2)));
createentity(((entities[_arg1].xp + 4) + (Math.random() * 4)), (entities[_arg1].yp + 4), 5, 0, (1 + (Math.random() * 2)));
createentity(((entities[_arg1].xp + 8) + (Math.random() * 4)), (entities[_arg1].yp + 4), 5, 0, (1 + (Math.random() * 2)));
createentity(((entities[_arg1].xp + 12) + (Math.random() * 4)), (entities[_arg1].yp + 4), 5, 0, (1 + (Math.random() * 2)));
};
};
};
};
};
};
};
break;
case 26:
if (entities[_arg1].state == 0){
entities[_arg1].harmdelay = 0;
entities[_arg1].onbullet = 10;
if (entities[_arg1].onground){
entities[_arg1].vx = (entities[_arg1].vx * 0.2);
};
if (entities[_arg1].hp == 3){
entities[_arg1].attackdelay--;
entities[_arg1].onywall = 0;
if (entities[_arg1].attackdelay <= 0){
entities[_arg1].onywall = 3;
entities[_arg1].attackdelay = 25;
};
} else {
if (entities[_arg1].hp == 2){
entities[_arg1].attackdelay--;
entities[_arg1].onywall = 0;
if (entities[_arg1].attackdelay <= 0){
entities[_arg1].onywall = 4;
entities[_arg1].attackdelay = 20;
};
} else {
temp = getplayer();
if (((entities[_arg1].onground) && ((entities[_arg1].attackdelay <= 6)))){
if ((entities[_arg1].xp - entities[temp].xp) > 0){
entities[_arg1].dir = 1;
} else {
entities[_arg1].dir = 0;
};
};
entities[_arg1].attackdelay--;
entities[_arg1].onywall = 0;
if (entities[_arg1].attackdelay <= 0){
entities[_arg1].onywall = 4;
entities[_arg1].attackdelay = 30;
};
};
};
} else {
if (entities[_arg1].state == 1){
if ((((entities[_arg1].vx < -1)) && ((entities[_arg1].xp < 10)))){
entities[_arg1].vx = -(entities[_arg1].vx);
entities[_arg1].dir = 0;
};
if ((((entities[_arg1].vx > 1)) && ((entities[_arg1].xp > 135)))){
entities[_arg1].vx = -(entities[_arg1].vx);
entities[_arg1].dir = 1;
};
} else {
if (entities[_arg1].state == 2){
entities[_arg1].onywall = 0;
entities[_arg1].state = 0;
} else {
if (entities[_arg1].state == 3){
if ((Math.random() * 100) > 50){
if ((Math.random() * 100) > 80){
_arg4.playef(10);
} else {
_arg4.playef(21);
};
};
entities[_arg1].onywall = 2;
entities[_arg1].state = 1;
entities[_arg1].ay = -6;
entities[_arg1].jumping = true;
entities[_arg1].jumpframe = 8;
temp = getplayer();
if ((entities[_arg1].xp + 1) < (entities[temp].xp + 2)){
entities[_arg1].vx = 2;
};
if ((entities[_arg1].xp - 1) > (entities[temp].xp + 2)){
entities[_arg1].vx = -2;
};
entities[_arg1].dir = 0;
if (entities[_arg1].vx < 0){
entities[_arg1].dir = 1;
};
} else {
if (entities[_arg1].state == 4){
if ((Math.random() * 100) > 50){
if ((Math.random() * 100) > 80){
_arg4.playef(10);
} else {
_arg4.playef(21);
};
};
entities[_arg1].onywall = 2;
entities[_arg1].state = 1;
entities[_arg1].ay = -6;
if (entities[_arg1].hp == 1){
entities[_arg1].ay = -2;
};
entities[_arg1].jumping = true;
entities[_arg1].jumpframe = 8;
temp = getplayer();
if ((entities[_arg1].xp + 1) < (entities[temp].xp + 2)){
entities[_arg1].vx = 3;
};
if ((entities[_arg1].xp - 1) > (entities[temp].xp + 2)){
entities[_arg1].vx = -3;
};
if (entities[_arg1].hp == 1){
if ((entities[_arg1].xp + 1) < (entities[temp].xp + 2)){
entities[_arg1].vx = 4;
};
if ((entities[_arg1].xp - 1) > (entities[temp].xp + 2)){
entities[_arg1].vx = -4;
};
};
entities[_arg1].dir = 0;
if (entities[_arg1].vx < 0){
entities[_arg1].dir = 1;
};
} else {
if (entities[_arg1].state == 8){
entities[_arg1].onbullet = 0;
entities[_arg1].harmdelay--;
if (entities[_arg1].onground){
entities[_arg1].vx = (entities[_arg1].vx * 0.2);
};
entities[_arg1].oxp = entities[_arg1].xp;
entities[_arg1].oyp = entities[_arg1].yp;
entities[_arg1].xp = ((entities[_arg1].oxp + (Math.random() * 2)) - 1);
entities[_arg1].yp = (entities[_arg1].oyp - Math.random());
if (entities[_arg1].harmdelay == 80){
_arg4.playef(13);
_arg3.flashlight = 4;
};
if (entities[_arg1].harmdelay == 40){
_arg4.playef(13);
_arg3.flashlight = 4;
};
if (entities[_arg1].harmdelay == 20){
_arg4.playef(13);
_arg3.flashlight = 4;
};
if (entities[_arg1].harmdelay == 2){
_arg4.playef(13);
_arg3.flashlight = 4;
};
createentity(((entities[_arg1].xp + 2) + (Math.random() * 10)), ((entities[_arg1].yp + 6) + (Math.random() * 3)), 29);
createentity(((entities[_arg1].xp + 2) + (Math.random() * 10)), ((entities[_arg1].yp + 6) + (Math.random() * 3)), 29);
if (entities[_arg1].harmdelay <= 0){
flags[entities[_arg1].flag] = 2;
_local7 = 0;
while (_local7 < 6) {
_local8 = 0;
while (_local8 < 4) {
createentity(((entities[_arg1].xp + 2) + (_local7 * 2)), ((entities[_arg1].yp + 2) + (_local8 * 3)), 29);
_local8++;
};
_local7++;
};
_arg3.flashlight = 4;
_arg3.state = 12;
removeentity = true;
_arg4.playef(14);
};
} else {
if (entities[_arg1].state == 9){
entities[_arg1].onbullet = 0;
entities[_arg1].harmdelay--;
if (entities[_arg1].onground){
entities[_arg1].vx = (entities[_arg1].vx * 0.2);
};
entities[_arg1].oxp = entities[_arg1].xp;
entities[_arg1].oyp = entities[_arg1].yp;
entities[_arg1].xp = ((entities[_arg1].oxp + (Math.random() * 2)) - 1);
entities[_arg1].yp = (entities[_arg1].oyp - Math.random());
createentity(((entities[_arg1].xp + 2) + (Math.random() * 10)), ((entities[_arg1].yp + 6) + (Math.random() * 3)), 29);
if (entities[_arg1].harmdelay <= 0){
entities[_arg1].state = 0;
entities[_arg1].harmdelay = 0;
entities[_arg1].attackdelay = 15;
temp = getplayer();
if (entities[_arg1].onground){
if ((entities[_arg1].xp - entities[temp].xp) > 0){
entities[_arg1].dir = 1;
} else {
entities[_arg1].dir = 0;
};
};
};
} else {
if (entities[_arg1].state == 10){
if ((((((entities[_arg1].dir == 1)) && ((entities[_arg1].bulletvel < 0)))) || ((((entities[_arg1].dir == 0)) && ((entities[_arg1].bulletvel > 0)))))){
entities[_arg1].harmdelay = 45;
entities[_arg1].hp--;
_arg3.currenthp--;
_arg3.flashlight = 4;
_arg3.screenshake = 45;
if (entities[_arg1].hp <= 0){
_arg3.incenemycount();
_arg4.playef(12);
entities[_arg1].vx = entities[_arg1].bulletvel;
entities[_arg1].vy = -1;
entities[_arg1].state = 8;
entities[_arg1].onywall = 0;
entities[_arg1].harmdelay = 120;
_arg3.screenshake = 120;
_arg4.fadeout();
entities[_arg1].harmful = false;
} else {
if (entities[_arg1].hp == 2){
_arg4.playef(11);
} else {
_arg4.playef(11);
};
entities[_arg1].vx = entities[_arg1].bulletvel;
entities[_arg1].vy = -1;
entities[_arg1].state = 9;
entities[_arg1].onywall = 0;
};
} else {
_arg4.playef(22);
entities[_arg1].state = 0;
};
};
};
};
};
};
};
};
};
break;
case 27:
if (entities[_arg1].state == 0){
_arg4.play(2);
if (!entities[_arg1].roar){
_arg4.playef(16);
entities[_arg1].roar = true;
};
entities[_arg1].xp = 90;
entities[_arg1].yp = 30;
if (entities[_arg1].framedelay <= 0){
entities[_arg1].tile = 180;
};
entities[_arg1].harmdelay = 0;
entities[_arg1].onbullet = 100;
if (entities[_arg1].hp >= 5){
entities[_arg1].attackdelay--;
if (entities[_arg1].attackdelay <= 0){
entities[_arg1].attackdelay = 60;
temp = (Math.random() * 40);
if (temp < 10){
entities[_arg1].state = 1;
} else {
temp = (temp - 10);
if (temp < 10){
entities[_arg1].state = 3;
} else {
temp = (temp - 10);
if (temp < 10){
entities[_arg1].state = 5;
} else {
entities[_arg1].state = 6;
};
};
};
};
} else {
if (entities[_arg1].hp == 4){
entities[_arg1].attackdelay--;
if (entities[_arg1].attackdelay <= 0){
entities[_arg1].attackdelay = 55;
temp = (Math.random() * 40);
if (temp < 10){
entities[_arg1].state = 2;
} else {
temp = (temp - 10);
if (temp < 10){
entities[_arg1].state = 3;
} else {
temp = (temp - 10);
if (temp < 10){
entities[_arg1].state = 6;
} else {
entities[_arg1].state = 5;
};
};
};
};
} else {
if (entities[_arg1].hp == 3){
entities[_arg1].attackdelay--;
if (entities[_arg1].attackdelay <= 0){
entities[_arg1].attackdelay = 50;
temp = (Math.random() * 40);
if (temp < 10){
entities[_arg1].state = 7;
} else {
temp = (temp - 10);
if (temp < 10){
entities[_arg1].state = 8;
} else {
temp = (temp - 10);
if (temp < 10){
entities[_arg1].state = 3;
} else {
entities[_arg1].state = 2;
};
};
};
};
} else {
if (entities[_arg1].hp == 2){
entities[_arg1].attackdelay--;
if (entities[_arg1].attackdelay <= 0){
entities[_arg1].attackdelay = 50;
temp = (Math.random() * 40);
if (temp < 10){
entities[_arg1].state = 9;
} else {
temp = (temp - 10);
if (temp < 10){
entities[_arg1].state = 10;
} else {
temp = (temp - 10);
if (temp < 10){
entities[_arg1].state = 11;
} else {
entities[_arg1].state = 4;
};
};
};
};
} else {
if (entities[_arg1].hp == 1){
entities[_arg1].attackdelay--;
if (entities[_arg1].attackdelay <= 0){
entities[_arg1].attackdelay = 50;
temp = (Math.random() * 40);
if (temp < 10){
entities[_arg1].state = 1;
} else {
temp = (temp - 10);
if (temp < 10){
entities[_arg1].state = 2;
} else {
temp = (temp - 10);
if (temp < 10){
entities[_arg1].state = 12;
} else {
entities[_arg1].state = 10;
};
};
};
};
};
};
};
};
};
} else {
if (entities[_arg1].state == 1){
entities[_arg1].tile = (180 + 8);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 0;
temp = (Math.random() * 40);
if (temp < 10){
createentity(25, 0, 11);
} else {
temp = (temp - 10);
if (temp < 10){
createentity(42, 0, 11);
} else {
temp = (temp - 10);
if (temp < 10){
createentity(65, 0, 11);
} else {
createentity(90, 0, 11);
};
};
};
} else {
if (entities[_arg1].state == 2){
entities[_arg1].tile = (180 + 4);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 0;
temp = (Math.random() * 30);
if (temp < 10){
createentity(60, -10, 9);
} else {
temp = (temp - 10);
if (temp < 10){
createentity(60, -10, 9);
} else {
createentity(60, -10, 9);
};
};
} else {
if (entities[_arg1].state == 3){
entities[_arg1].tile = (180 + 4);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 0;
temp = (Math.random() * 20);
if (temp < 10){
createentity(128, 30, 2);
} else {
createentity(138, 60, 2);
};
} else {
if (entities[_arg1].state == 4){
entities[_arg1].tile = (180 + 4);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 0;
createentity(70, -10, 9);
createentity(80, -20, 9);
createentity(90, -10, 9);
} else {
if (entities[_arg1].state == 5){
if (entities[_arg1].framedelay < 5){
entities[_arg1].tile = (180 + 12);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 0;
createentity(105, 80, 15, -3, 0);
_arg4.playef(8);
};
} else {
if (entities[_arg1].state == 6){
if (entities[_arg1].framedelay < 5){
entities[_arg1].tile = (180 + 8);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 0;
createentity(95, 60, 15, -3, 0);
_arg4.playef(8);
};
} else {
if (entities[_arg1].state == 7){
entities[_arg1].tile = (180 + 12);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 6;
entities[_arg1].statedelay = 10;
createentity(105, 80, 15, -3, 0);
_arg4.playef(8);
} else {
if (entities[_arg1].state == 8){
entities[_arg1].tile = (180 + 8);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 5;
entities[_arg1].statedelay = 10;
createentity(95, 60, 15, -3, 0);
_arg4.playef(8);
} else {
if (entities[_arg1].state == 9){
if (entities[_arg1].framedelay < 5){
entities[_arg1].tile = (180 + 4);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 0;
createentity(95, 40, 15, -2, 0);
createentity(95, 40, 15, -2, 1);
createentity(95, 40, 15, -1.6, 1.6);
createentity(95, 40, 15, -1, 2);
createentity(95, 40, 15, 0, 2);
_arg4.playef(8);
};
} else {
if (entities[_arg1].state == 10){
if (entities[_arg1].framedelay < 5){
entities[_arg1].tile = (180 + 8);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 0;
createentity(93, 60, 15, 0, -2);
createentity(93, 60, 15, -1.6, -1.6);
createentity(93, 60, 15, -2, 0);
createentity(93, 60, 15, -1.6, 1.6);
createentity(93, 60, 15, 0, 2);
_arg4.playef(8);
};
} else {
if (entities[_arg1].state == 11){
if (entities[_arg1].framedelay < 5){
entities[_arg1].tile = (180 + 12);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 0;
createentity(105, 80, 15, 0, -2);
createentity(105, 80, 15, -1, -2);
createentity(105, 80, 15, -1.6, -1.6);
createentity(105, 80, 15, -2, -1);
createentity(105, 80, 15, -2, 0);
_arg4.playef(8);
};
} else {
if (entities[_arg1].state == 12){
if (entities[_arg1].framedelay < 5){
entities[_arg1].tile = (180 + 4);
entities[_arg1].framedelay = 15;
entities[_arg1].state = 11;
createentity(95, 40, 15, -2, 0);
createentity(95, 40, 15, -2, 1);
createentity(95, 40, 15, -1.6, 1.6);
createentity(95, 40, 15, -1, 2);
createentity(95, 40, 15, 0, 2);
_arg4.playef(8);
};
} else {
if (entities[_arg1].state == 80){
entities[_arg1].onbullet = 0;
entities[_arg1].harmdelay--;
entities[_arg1].xp = ((90 + (Math.random() * 8)) - 4);
entities[_arg1].yp = (30 - (Math.random() * 4));
if (entities[_arg1].harmdelay == 80){
_arg4.playef(13);
_arg3.flashlight = 4;
};
if (entities[_arg1].harmdelay == 40){
_arg4.playef(13);
_arg3.flashlight = 4;
};
if (entities[_arg1].harmdelay == 20){
_arg4.playef(13);
_arg3.flashlight = 4;
};
if (entities[_arg1].harmdelay == 2){
_arg4.playef(13);
_arg3.flashlight = 45;
};
createentity(((entities[_arg1].xp + 28) + (Math.random() * 30)), ((entities[_arg1].yp + 36) + (Math.random() * 3)), 29);
createentity(((entities[_arg1].xp + 28) + (Math.random() * 30)), ((entities[_arg1].yp + 36) + (Math.random() * 3)), 29);
if (entities[_arg1].harmdelay <= 0){
_arg3.flashlight = 10;
_arg3.bg = 59;
_arg3.state = 13;
removeentity = true;
_arg4.playef(14);
};
} else {
if (entities[_arg1].state == 90){
entities[_arg1].onbullet = 0;
entities[_arg1].harmdelay--;
entities[_arg1].xp = ((90 + Math.random()) - 0.5);
entities[_arg1].yp = (30 - Math.random());
createentity(((entities[_arg1].xp + 28) + (Math.random() * 30)), ((entities[_arg1].yp + 36) + (Math.random() * 3)), 29);
if (entities[_arg1].harmdelay <= 0){
entities[_arg1].state = 0;
entities[_arg1].harmdelay = 0;
entities[_arg1].attackdelay = 0;
};
} else {
if (entities[_arg1].state == 100){
entities[_arg1].tile = (180 + 16);
entities[_arg1].framedelay = 45;
entities[_arg1].harmdelay = 45;
entities[_arg1].hp--;
_arg3.currenthp--;
_arg3.flashlight = 4;
_arg3.screenshake = 45;
if (entities[_arg1].hp <= 0){
_arg4.fadeout();
_arg4.playef(18);
entities[_arg1].state = 80;
entities[_arg1].harmdelay = 120;
entities[_arg1].framedelay = 120;
_arg3.createblock(100, -10, 5, 110);
_arg3.screenshake = 120;
while (_local9 < nentity) {
if (entities[_local9].type == 9){
entities[_local9].state = 10;
} else {
if (entities[_local9].type == 2){
entities[_local9].state = 1;
};
};
_local9++;
};
} else {
_arg4.playef(17);
entities[_arg1].state = 90;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
break;
case 28:
if (entities[_arg1].state == 0){
if (_arg3.eurydicemode){
temp = getplayer();
entities[_arg1].vx = (entities[_arg1].vx * 0.75);
if (entities[_arg1].xp > (entities[temp].xp + 20)){
entities[_arg1].vx = -2;
};
if (entities[_arg1].xp < (entities[temp].xp + 12)){
entities[_arg1].vx = 2;
};
entities[_arg1].vy = (entities[_arg1].vy * 0.75);
if (entities[_arg1].yp > (entities[temp].yp - 4)){
entities[_arg1].vy = -2;
};
if (entities[_arg1].yp < (entities[temp].yp - 12)){
entities[_arg1].vy = 2;
};
};
} else {
if (entities[_arg1].state == 1){
_arg4.playef(19);
entities[_arg1].state = 2;
_local10 = 0;
while (_local10 < 2) {
_local11 = 0;
while (_local11 < 10) {
createentity(((entities[_arg1].xp + 8) + _local10), ((entities[_arg1].yp + 3) + _local11), 30);
_local11++;
};
_local10++;
};
} else {
if (entities[_arg1].state == 2){
entities[_arg1].drawframe = 19;
entities[_arg1].life--;
if (entities[_arg1].life <= 8){
entities[_arg1].invis = true;
};
entities[_arg1].vx = 0;
entities[_arg1].vy = 0;
};
};
};
break;
case 29:
if (entities[_arg1].state == 0){
entities[_arg1].yp = (entities[_arg1].yp - 3);
entities[_arg1].xp = (entities[_arg1].xp + ((Math.random() * 6) - 3));
entities[_arg1].life--;
if (entities[_arg1].life <= 0){
entities[_arg1].state = 1;
};
} else {
if (entities[_arg1].state == 1){
removeentity = true;
};
};
break;
case 30:
if (entities[_arg1].state == 0){
entities[_arg1].yp = (entities[_arg1].yp - 1);
entities[_arg1].xp = (entities[_arg1].xp + ((Math.random() * 4) - 1));
entities[_arg1].life--;
if (entities[_arg1].life <= 0){
entities[_arg1].state = 1;
};
} else {
if (entities[_arg1].state == 1){
removeentity = true;
};
};
break;
};
} else {
entities[_arg1].statedelay--;
if (entities[_arg1].statedelay < 0){
entities[_arg1].statedelay = 0;
};
};
if (removeentity){
_arg2.removeObject(entities[_arg1], entities);
nentity--;
return (false);
};
return (true);
}
public function init():void{
var _local2:int;
restartroom = false;
norestartsound = false;
nentity = 0;
var _local1:Number = 0;
while (_local1 < 300) {
_local2 = 0;
flags.push(_local2);
_local1++;
};
}
public function gettype(_arg1:int):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < nentity) {
if (entities[_local2].type == _arg1){
return (true);
};
_local2++;
};
return (false);
}
public function resetflags():void{
var _local1:Number = 0;
while (_local1 < 300) {
if (flags[_local1] == 2){
flags[_local1] = 0;
};
_local1++;
};
}
public function changeflag(_arg1:int, _arg2:int):void{
flags[_arg1] = _arg2;
}
public function removeentitytype(_arg1:helpclass, _arg2:int):void{
var _local3:int;
while (_local3 < nentity) {
if (entities[_local3].type == _arg2){
removeanentity(_arg1, _local3);
_local3--;
};
_local3++;
};
}
public function animateentities(_arg1:int, _arg2:helpclass, _arg3:gameclass):void{
if (entities[_arg1].statedelay <= 0){
switch (entities[_arg1].type){
case 0:
entities[_arg1].framedelay--;
if (entities[_arg1].dir == 1){
entities[_arg1].drawframe = 0;
} else {
entities[_arg1].drawframe = 20;
};
if ((((((((((((_arg3.shotdelay > 0)) && ((entities[_arg1].pickupmode == 0)))) && (entities[_arg1].onground))) && ((entities[_arg1].vx == 0)))) && (!(onladder)))) && ((entities[_arg1].bigfallframe == 0)))){
if (_arg3.isshooting){
if (entities[_arg1].dir == 1){
entities[_arg1].drawframe = 37;
} else {
entities[_arg1].drawframe = 38;
};
};
};
if (entities[_arg1].pickupmode == 0){
if (((!((entities[_arg1].vx == 0))) && (entities[_arg1].onground))){
if (entities[_arg1].framedelay <= 0){
entities[_arg1].framedelay = 2;
entities[_arg1].walkingframe++;
if (entities[_arg1].walkingframe > 8){
entities[_arg1].walkingframe = 0;
};
};
entities[_arg1].drawframe = (entities[_arg1].drawframe + (entities[_arg1].walkingframe + 1));
};
if (!entities[_arg1].onground){
if (entities[_arg1].jumping){
entities[_arg1].drawframe = (entities[_arg1].drawframe + 1);
} else {
entities[_arg1].drawframe = (entities[_arg1].drawframe + 2);
};
} else {
if (onladder){
if (entities[_arg1].dir == 1){
entities[_arg1].drawframe = 12;
} else {
entities[_arg1].drawframe = 32;
};
} else {
if (entities[_arg1].bigfallframe > 0){
if (entities[_arg1].bigfallframe == 4){
entities[_arg1].bigfallframe = 3;
entities[_arg1].bigfallframedelay = 2;
};
entities[_arg1].bigfallframedelay--;
if (entities[_arg1].bigfallframedelay <= 0){
entities[_arg1].bigfallframedelay = 3;
entities[_arg1].bigfallframe--;
};
if (entities[_arg1].bigfallframe > 0){
if (entities[_arg1].dir == 1){
if (entities[_arg1].bigfallframe == 3){
entities[_arg1].drawframe = 10;
};
if (entities[_arg1].bigfallframe == 2){
entities[_arg1].drawframe = 11;
};
if (entities[_arg1].bigfallframe == 1){
entities[_arg1].drawframe = 10;
};
} else {
if (entities[_arg1].bigfallframe == 3){
entities[_arg1].drawframe = 30;
};
if (entities[_arg1].bigfallframe == 2){
entities[_arg1].drawframe = 31;
};
if (entities[_arg1].bigfallframe == 1){
entities[_arg1].drawframe = 30;
};
};
};
};
};
};
} else {
if (entities[_arg1].pickupmode == 1){
if (entities[_arg1].framedelay <= 0){
entities[_arg1].framedelay = 2;
entities[_arg1].pickupframe++;
if (entities[_arg1].pickupframe > 2){
entities[_arg1].pickupframe = 2;
entities[_arg1].pickupmode = 2;
};
};
entities[_arg1].drawframe = (14 + entities[_arg1].pickupframe);
} else {
if (entities[_arg1].pickupmode == 2){
if (entities[_arg1].framedelay <= 0){
entities[_arg1].framedelay = 2;
entities[_arg1].pickupframe--;
if (entities[_arg1].pickupframe < 0){
entities[_arg1].pickupframe = 0;
entities[_arg1].pickupmode = 0;
};
};
entities[_arg1].drawframe = (14 + entities[_arg1].pickupframe);
};
};
};
break;
case 2:
entities[_arg1].framedelay--;
entities[_arg1].drawframe = entities[_arg1].tile;
if (entities[_arg1].framedelay <= 0){
entities[_arg1].framedelay = 2;
entities[_arg1].walkingframe++;
if (entities[_arg1].walkingframe > 3){
entities[_arg1].walkingframe = 0;
};
};
entities[_arg1].drawframe = (entities[_arg1].drawframe + entities[_arg1].walkingframe);
break;
case 6:
entities[_arg1].framedelay--;
if (entities[_arg1].dir == 1){
entities[_arg1].drawframe = entities[_arg1].tile;
} else {
entities[_arg1].drawframe = (entities[_arg1].tile + 4);
};
if (entities[_arg1].framedelay <= 0){
entities[_arg1].framedelay = 2;
entities[_arg1].walkingframe++;
if (entities[_arg1].walkingframe > 3){
entities[_arg1].walkingframe = 0;
};
};
if (Math.abs(entities[_arg1].vx) > 1){
entities[_arg1].drawframe = (entities[_arg1].drawframe + entities[_arg1].walkingframe);
};
break;
case 9:
if (entities[_arg1].tile == 89){
entities[_arg1].framedelay--;
if (entities[_arg1].framedelay <= 0){
entities[_arg1].framedelay = 2;
entities[_arg1].walkingframe++;
if (entities[_arg1].walkingframe > 3){
entities[_arg1].walkingframe = 0;
};
};
if (Math.abs(entities[_arg1].vx) > 1){
entities[_arg1].drawframe = (89 + entities[_arg1].walkingframe);
} else {
entities[_arg1].drawframe = 89;
};
};
break;
case 12:
if (entities[_arg1].state == 0){
entities[_arg1].drawframe = entities[_arg1].tile;
} else {
if (entities[_arg1].onground){
entities[_arg1].drawframe = (entities[_arg1].tile + 1);
} else {
entities[_arg1].drawframe = (entities[_arg1].tile + 2);
};
};
break;
case 17:
entities[_arg1].framedelay--;
if (entities[_arg1].dir == 1){
entities[_arg1].drawframe = entities[_arg1].tile;
} else {
entities[_arg1].drawframe = (entities[_arg1].tile + 40);
};
if (entities[_arg1].framedelay <= 0){
entities[_arg1].framedelay = 2;
entities[_arg1].walkingframe++;
if (entities[_arg1].walkingframe > 6){
entities[_arg1].walkingframe = 0;
};
};
if (Math.abs(entities[_arg1].vx) >= 1){
entities[_arg1].drawframe = (entities[_arg1].drawframe + (2 + (entities[_arg1].walkingframe * 2)));
};
break;
case 19:
case 20:
entities[_arg1].framedelay--;
entities[_arg1].drawframe = entities[_arg1].tile;
if (entities[_arg1].framedelay <= 0){
entities[_arg1].framedelay = 1;
entities[_arg1].walkingframe++;
if (entities[_arg1].walkingframe > 1){
entities[_arg1].walkingframe = 0;
};
};
entities[_arg1].drawframe = (entities[_arg1].drawframe + entities[_arg1].walkingframe);
break;
case 25:
entities[_arg1].framedelay--;
entities[_arg1].drawframe = entities[_arg1].tile;
if (entities[_arg1].framedelay <= 0){
entities[_arg1].framedelay = 15;
entities[_arg1].walkingframe++;
if (entities[_arg1].walkingframe > 1){
entities[_arg1].walkingframe = 0;
};
};
entities[_arg1].drawframe = (entities[_arg1].drawframe + entities[_arg1].walkingframe);
break;
case 26:
entities[_arg1].framedelay--;
if (entities[_arg1].dir == 1){
entities[_arg1].drawframe = entities[_arg1].tile;
} else {
entities[_arg1].drawframe = (entities[_arg1].tile + 4);
};
if (entities[_arg1].harmdelay > 0){
entities[_arg1].drawframe = (entities[_arg1].drawframe + 3);
} else {
if (!entities[_arg1].onground){
if (entities[_arg1].vy < 0){
entities[_arg1].drawframe = (entities[_arg1].drawframe + 2);
} else {
entities[_arg1].drawframe = (entities[_arg1].drawframe + 1);
};
};
};
if (Math.abs(entities[_arg1].vx) > 1){
entities[_arg1].drawframe = (entities[_arg1].drawframe + entities[_arg1].walkingframe);
};
break;
case 27:
entities[_arg1].framedelay--;
if (entities[_arg1].framedelay <= 0){
entities[_arg1].framedelay = 0;
};
entities[_arg1].drawframe = entities[_arg1].tile;
break;
default:
entities[_arg1].drawframe = entities[_arg1].tile;
break;
};
} else {
entities[_arg1].statedelay--;
if (entities[_arg1].statedelay < 0){
entities[_arg1].statedelay = 0;
};
};
}
public function checkladder(_arg1:gameclass):Boolean{
var _local2:int;
var _local3:int;
_local2 = 0;
while (_local2 < nentity) {
if (entities[_local2].type == 0){
tempx = (entities[_local2].xp + entities[_local2].cx);
tempy = (entities[_local2].yp + entities[_local2].cy);
tempw = entities[_local2].cw;
temph = entities[_local2].ch;
temprect = new Rectangle(tempx, tempy, tempw, temph);
_local3 = 0;
while (_local3 < _arg1.nblocks) {
if (_arg1.blocks[_local3].type == 2){
if (_arg1.blocks[_local3].rect.intersects(temprect)){
return (true);
};
};
_local3++;
};
};
_local2++;
};
return (false);
}
public function checktrigger(_arg1:gameclass):Boolean{
var _local2:int;
var _local3:int;
_local2 = 0;
while (_local2 < nentity) {
if (entities[_local2].type == 0){
tempx = (entities[_local2].xp + entities[_local2].cx);
tempy = (entities[_local2].yp + entities[_local2].cy);
tempw = entities[_local2].cw;
temph = entities[_local2].ch;
temprect = new Rectangle(tempx, tempy, tempw, temph);
_local3 = 0;
while (_local3 < _arg1.nblocks) {
if (_arg1.blocks[_local3].type == 1){
if (_arg1.blocks[_local3].rect.intersects(temprect)){
activetrigger = _arg1.blocks[_local3].trigger;
return (true);
};
};
_local3++;
};
};
_local2++;
};
return (false);
}
public function getplayer():int{
var _local1:int;
_local1 = 0;
while (_local1 < nentity) {
if (entities[_local1].type == 0){
return (_local1);
};
_local1++;
};
return (-1);
}
public function testwallsx(_arg1:gameclass, _arg2:int, _arg3:int, _arg4:int):Boolean{
var _local5:int;
tempx = (_arg3 + entities[_arg2].cx);
tempy = (_arg4 + entities[_arg2].cy);
tempw = entities[_arg2].cw;
temph = entities[_arg2].ch;
temprect = new Rectangle(tempx, tempy, tempw, temph);
if (checkwall(_arg1)){
if (entities[_arg2].vx > 1){
entities[_arg2].vx--;
entities[_arg2].newxp = (entities[_arg2].xp + entities[_arg2].vx);
return (testwallsx(_arg1, _arg2, entities[_arg2].newxp, entities[_arg2].yp));
};
if (entities[_arg2].vx < -1){
entities[_arg2].vx++;
entities[_arg2].newxp = (entities[_arg2].xp + entities[_arg2].vx);
return (testwallsx(_arg1, _arg2, entities[_arg2].newxp, entities[_arg2].yp));
};
entities[_arg2].vx = 0;
return (false);
};
return (true);
}
public function testwallsy(_arg1:gameclass, _arg2:int, _arg3:int, _arg4:int):Boolean{
var _local5:int;
tempx = (_arg3 + entities[_arg2].cx);
tempy = (_arg4 + entities[_arg2].cy);
tempw = entities[_arg2].cw;
temph = entities[_arg2].ch;
temprect = new Rectangle(tempx, tempy, tempw, temph);
if (checkwall(_arg1)){
if (entities[_arg2].vy > 1){
entities[_arg2].vy--;
entities[_arg2].newyp = (entities[_arg2].yp + entities[_arg2].vy);
return (testwallsy(_arg1, _arg2, entities[_arg2].xp, entities[_arg2].newyp));
};
if (entities[_arg2].vy < -1){
entities[_arg2].vy++;
entities[_arg2].newyp = (entities[_arg2].yp + entities[_arg2].vy);
return (testwallsy(_arg1, _arg2, entities[_arg2].xp, entities[_arg2].newyp));
};
entities[_arg2].vy = 0;
return (false);
};
return (true);
}
public function confirmflags():void{
var _local1:Number = 0;
while (_local1 < 300) {
if (flags[_local1] == 2){
flags[_local1] = 1;
};
_local1++;
};
}
public function checkwall(_arg1:gameclass):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < _arg1.nblocks) {
if (_arg1.blocks[_local2].type == 0){
if (_arg1.blocks[_local2].rect.intersects(temprect)){
return (true);
};
};
_local2++;
};
return (false);
}
public function removeanentity(_arg1:helpclass, _arg2:int):void{
_arg1.removeObject(entities[_arg2], entities);
nentity--;
}
public function removeallentities(_arg1:helpclass):void{
while (nentity > 0) {
removeanentity(_arg1, 0);
};
}
public function createentity(_arg1:Number, _arg2:Number, _arg3:int, _arg4:Number=0, _arg5:Number=0, _arg6:int=0):void{
var _local7:Object;
if ((((((((_arg6 == 0)) || ((flags[_arg6] == 0)))) || ((_arg3 == 23)))) || ((_arg3 == 22)))){
_local7 = new Object();
switch (_arg3){
case 0:
_local7.type = 0;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.onground = false;
_local7.jumping = false;
_local7.jumpframe = 0;
_local7.gravity = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 6;
_local7.cy = 0;
_local7.cw = 5;
_local7.ch = 16;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 0;
_local7.life = 15;
_local7.framedelay = 0;
_local7.drawframe = 0;
_local7.walkingframe = 0;
_local7.dir = 0;
_local7.bigfallframe = 0;
_local7.bigfallframedelay = 0;
_local7.bigfallcounter = 0;
_local7.pickupmode = 0;
_local7.pickupframe = 0;
break;
case 1:
_local7.type = 1;
_local7.size = 0;
_local7.onwall = 1;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 6;
_local7.ch = 3;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 40;
_local7.drawframe = 40;
break;
case 2:
_local7.type = 2;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = true;
_local7.onbullet = 1;
_local7.harmful = true;
_local7.flag = _arg6;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 2;
_local7.cy = 0;
_local7.cw = 7;
_local7.ch = 5;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 60;
_local7.bulletvel = 0;
_local7.framedelay = 0;
_local7.drawframe = 60;
_local7.walkingframe = 0;
break;
case 3:
_local7.type = 3;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onground = false;
_local7.gravity = true;
_local7.xgravity = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 11;
_local7.ch = 5;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 64;
_local7.framedelay = 0;
_local7.drawframe = 64;
_local7.walkingframe = 0;
break;
case 4:
_local7.type = 4;
_local7.size = 0;
_local7.onwall = 1;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 2;
_local7.ch = 6;
_local7.state = 0;
_local7.statedelay = 0;
_local7.life = 20;
_local7.tile = 42;
_local7.drawframe = 42;
break;
case 5:
_local7.type = 5;
_local7.size = 0;
_local7.onwall = 1;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onground = false;
_local7.gravity = true;
_local7.xgravity = false;
_local7.jumping = false;
_local7.jumpframe = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 1;
_local7.ch = 1;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 41;
_local7.framedelay = 0;
_local7.drawframe = 41;
_local7.life = 20;
break;
case 6:
_local7.type = 6;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 2;
_local7.onywall = 0;
_local7.onentity = true;
_local7.onbullet = 3;
_local7.harmful = true;
_local7.flag = _arg6;
_local7.hp = 3;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 5;
_local7.cy = 5;
_local7.cw = 9;
_local7.ch = 11;
_local7.gravity = true;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 1;
_local7.statedelay = 0;
_local7.tile = 80;
_local7.bulletvel = 0;
_local7.framedelay = 0;
_local7.drawframe = 80;
_local7.walkingframe = 0;
break;
case 7:
_local7.type = 3;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onground = false;
_local7.gravity = true;
_local7.xgravity = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 16;
_local7.ch = 16;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 88;
_local7.framedelay = 0;
_local7.drawframe = 88;
_local7.walkingframe = 0;
break;
case 8:
_local7.type = 8;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onground = false;
_local7.gravity = true;
_local7.xgravity = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 5;
_local7.ch = 4;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 43;
_local7.framedelay = 0;
_local7.drawframe = 43;
_local7.walkingframe = 0;
break;
case 9:
_local7.type = 9;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 2;
_local7.onentity = true;
_local7.onbullet = 10;
_local7.harmful = true;
_local7.flag = _arg6;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 2;
_local7.cy = 0;
_local7.cw = 12;
_local7.ch = 8;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 93;
_local7.bulletvel = 0;
_local7.framedelay = 0;
_local7.drawframe = 93;
_local7.walkingframe = 0;
break;
case 10:
_local7.type = 3;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onground = false;
_local7.gravity = true;
_local7.xgravity = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 12;
_local7.ch = 6;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 95;
_local7.framedelay = 0;
_local7.drawframe = 95;
_local7.walkingframe = 0;
break;
case 11:
_local7.type = 11;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 2;
_local7.harmful = true;
_local7.flag = _arg6;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 5;
_local7.ch = 16;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 65;
_local7.bulletvel = 0;
_local7.framedelay = 0;
_local7.drawframe = 65;
_local7.walkingframe = 0;
break;
case 12:
_local7.type = 12;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = true;
_local7.onbullet = 10;
_local7.harmful = true;
_local7.flag = _arg6;
_local7.hp = 3;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 1;
_local7.cy = 3;
_local7.cw = 6;
_local7.ch = 13;
_local7.gravity = true;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 66;
_local7.bulletvel = 0;
_local7.framedelay = 0;
_local7.drawframe = 66;
_local7.walkingframe = 0;
break;
case 13:
_local7.type = 3;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onground = false;
_local7.gravity = true;
_local7.xgravity = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 16;
_local7.ch = 16;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 69;
_local7.framedelay = 0;
_local7.drawframe = 69;
_local7.walkingframe = 0;
break;
case 14:
_local7.type = 3;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onground = false;
_local7.gravity = true;
_local7.xgravity = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 16;
_local7.ch = 16;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 70;
_local7.framedelay = 0;
_local7.drawframe = 70;
_local7.walkingframe = 0;
break;
case 15:
_local7.type = 15;
_local7.size = 0;
_local7.onwall = 1;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.harmful = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.cx = 1;
_local7.cy = 1;
_local7.cw = 4;
_local7.ch = 4;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 44;
_local7.drawframe = 44;
break;
case 16:
_local7.type = 5;
_local7.size = 0;
_local7.onwall = 1;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onground = false;
_local7.gravity = true;
_local7.xgravity = false;
_local7.jumping = false;
_local7.jumpframe = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 1;
_local7.ch = 1;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 50;
_local7.framedelay = 0;
_local7.drawframe = 50;
_local7.life = 4;
break;
case 17:
_local7.type = 17;
_local7.size = 1;
_local7.onwall = 0;
_local7.onxwall = 1;
_local7.onywall = 0;
_local7.onentity = true;
_local7.onbullet = 10;
_local7.harmful = true;
_local7.flag = _arg6;
_local7.hp = 4;
_local7.onground = false;
_local7.gravity = true;
_local7.xgravity = false;
_local7.jumping = false;
_local7.jumpframe = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 10;
_local7.cy = 0;
_local7.cw = 12;
_local7.ch = 32;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 100;
_local7.charge = 40;
_local7.bulletvel = 0;
_local7.roar = false;
_local7.framedelay = 0;
_local7.drawframe = 100;
_local7.walkingframe = 0;
break;
case 18:
_local7.type = 15;
_local7.size = 0;
_local7.onwall = 1;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.harmful = true;
_local7.gravity = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = _arg4;
_local7.vy = -6;
_local7.ay = -16;
_local7.jumping = true;
_local7.jumpframe = 24;
_local7.cx = 1;
_local7.cy = 1;
_local7.cw = 4;
_local7.ch = 4;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 44;
_local7.drawframe = 44;
break;
case 19:
_local7.type = 19;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 2;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.harmful = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.cx = 1;
_local7.cy = 0;
_local7.cw = 2;
_local7.ch = 16;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 47;
_local7.drawframe = 47;
_local7.framedelay = 0;
_local7.walkingframe = 0;
break;
case 20:
_local7.type = 20;
_local7.size = 0;
_local7.onwall = 0;
_local7.onywall = 0;
_local7.onxwall = 2;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.harmful = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 16;
_local7.ch = 4;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 45;
_local7.drawframe = 45;
_local7.framedelay = 0;
_local7.walkingframe = 0;
break;
case 21:
_local7.type = 21;
_local7.size = 0;
_local7.onwall = 0;
_local7.onywall = 0;
_local7.onxwall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.harmful = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = 0;
_local7.vy = _arg5;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 9;
_local7.ch = 9;
_local7.state = _arg4;
_local7.statedelay = 0;
_local7.tile = 49;
_local7.drawframe = 49;
_local7.framedelay = 0;
_local7.walkingframe = 0;
break;
case 22:
_local7.type = 22;
_local7.size = 0;
_local7.onwall = 0;
_local7.onywall = 0;
_local7.onxwall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 8;
_local7.ch = 3;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 51;
_local7.drawframe = 51;
_local7.framedelay = _arg6;
_local7.walkingframe = 0;
break;
case 23:
_local7.type = 23;
_local7.size = 0;
_local7.onwall = 0;
_local7.onywall = 0;
_local7.onxwall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 16;
_local7.ch = 4;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 33;
_local7.drawframe = 33;
_local7.framedelay = _arg6;
_local7.walkingframe = 0;
break;
case 24:
_local7.type = 24;
_local7.size = 0;
_local7.onwall = 0;
_local7.onywall = 0;
_local7.onxwall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.onplayer = 2;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 16;
_local7.ch = 5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 53;
_local7.drawframe = 53;
_local7.framedelay = 0;
_local7.walkingframe = 0;
break;
case 25:
_local7.type = 25;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.harmful = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.vx = 0;
_local7.vy = 0;
_local7.cx = 1;
_local7.cy = 0;
_local7.cw = 2;
_local7.ch = 16;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 47;
_local7.drawframe = 47;
_local7.framedelay = 0;
_local7.walkingframe = _arg4;
break;
case 26:
_local7.type = 26;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = true;
_local7.onbullet = 10;
_local7.harmful = true;
_local7.hp = 3;
_local7.oxp = 0;
_local7.oyp = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 4;
_local7.cy = 5;
_local7.cw = 12;
_local7.ch = 11;
_local7.gravity = true;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 71;
_local7.bulletvel = 0;
_local7.framedelay = 0;
_local7.drawframe = 71;
_local7.walkingframe = 0;
_local7.attackdelay = 0;
_local7.harmdelay = 0;
break;
case 27:
_local7.type = 27;
_local7.size = 2;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = true;
_local7.onbullet = 100;
_local7.harmful = true;
_local7.flag = _arg6;
_local7.hp = 5;
_local7.onground = false;
_local7.gravity = true;
_local7.xgravity = false;
_local7.jumping = false;
_local7.jumpframe = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 32;
_local7.cy = 0;
_local7.cw = 16;
_local7.ch = 80;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 180;
_local7.charge = 40;
_local7.bulletvel = 0;
_local7.roar = false;
_local7.framedelay = 0;
_local7.drawframe = 180;
_local7.walkingframe = 0;
_local7.attackdelay = 30;
_local7.harmdelay = 0;
break;
case 28:
_local7.type = 28;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = true;
_local7.onbullet = 0;
_local7.harmful = false;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 4;
_local7.cy = 2;
_local7.cw = 8;
_local7.ch = 14;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 18;
_local7.bulletvel = 0;
_local7.life = 15;
_local7.framedelay = 0;
_local7.drawframe = 18;
_local7.walkingframe = 0;
break;
case 29:
_local7.type = 29;
_local7.size = 0;
_local7.onwall = 1;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onground = false;
_local7.gravity = false;
_local7.xgravity = false;
_local7.jumping = false;
_local7.jumpframe = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 1;
_local7.ch = 1;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 50;
_local7.life = 40;
_local7.framedelay = 0;
_local7.drawframe = 50;
break;
case 30:
_local7.type = 30;
_local7.size = 0;
_local7.onwall = 1;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onground = false;
_local7.gravity = false;
_local7.xgravity = false;
_local7.jumping = false;
_local7.jumpframe = 0;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 0;
_local7.cy = 0;
_local7.cw = 1;
_local7.ch = 1;
_local7.vx = _arg4;
_local7.vy = _arg5;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 50;
_local7.life = 40;
_local7.framedelay = 0;
_local7.drawframe = 50;
break;
case 31:
_local7.type = 31;
_local7.size = 0;
_local7.onwall = 0;
_local7.onxwall = 0;
_local7.onywall = 0;
_local7.onentity = false;
_local7.onbullet = 0;
_local7.onground = false;
_local7.jumping = false;
_local7.jumpframe = 0;
_local7.gravity = true;
_local7.ax = 0;
_local7.ay = 0;
_local7.xp = _arg1;
_local7.yp = _arg2;
_local7.cx = 6;
_local7.cy = 0;
_local7.cw = 5;
_local7.ch = 16;
_local7.vx = 0;
_local7.vy = 0;
_local7.state = 0;
_local7.statedelay = 0;
_local7.tile = 20;
_local7.life = 15;
_local7.framedelay = 0;
_local7.drawframe = 20;
_local7.walkingframe = 0;
_local7.dir = 0;
_local7.bigfallframe = 0;
_local7.bigfallframedelay = 0;
_local7.bigfallcounter = 0;
_local7.pickupmode = 0;
_local7.pickupframe = 0;
break;
};
entities.push(_local7);
nentity++;
};
}
public function applyfriction(_arg1:int, _arg2:Number, _arg3:Number):void{
if (entities[_arg1].xgravity){
if (Math.abs(entities[_arg1].vx) <= _arg2){
entities[_arg1].vx = 0;
};
};
if (Math.abs(entities[_arg1].vy) <= _arg3){
entities[_arg1].vy = 0;
};
if (entities[_arg1].xgravity){
if (entities[_arg1].vx > 0){
entities[_arg1].vx = (entities[_arg1].vx - _arg2);
};
};
if (entities[_arg1].xgravity){
if (entities[_arg1].vx < 0){
entities[_arg1].vx = (entities[_arg1].vx + _arg2);
};
};
if (entities[_arg1].vy > 0){
entities[_arg1].vy = (entities[_arg1].vy - _arg3);
};
if (entities[_arg1].vy < 0){
entities[_arg1].vy = (entities[_arg1].vy + _arg3);
};
if (entities[_arg1].vy > 4){
entities[_arg1].vy = 4;
};
if (entities[_arg1].vy < -3){
entities[_arg1].vy = -3;
};
if (entities[_arg1].vx > 3){
entities[_arg1].vx = 3;
};
if (entities[_arg1].vx < -3){
entities[_arg1].vx = -3;
};
}
public function entitycollidefloor(_arg1:gameclass, _arg2:int):Boolean{
tempx = (entities[_arg2].xp + entities[_arg2].cx);
tempy = ((entities[_arg2].yp + entities[_arg2].cy) + 1);
tempw = entities[_arg2].cw;
temph = entities[_arg2].ch;
temprect = new Rectangle(tempx, tempy, tempw, temph);
if (checkwall(_arg1)){
return (true);
};
return (false);
}
public function geteurydice():int{
var _local1:int;
_local1 = 0;
while (_local1 < nentity) {
if (entities[_local1].type == 28){
return (_local1);
};
_local1++;
};
return (-1);
}
public function checkdamage(_arg1:gameclass):Boolean{
var _local2:int;
var _local3:int;
_local2 = 0;
while (_local2 < nentity) {
if (entities[_local2].type == 0){
tempx = (entities[_local2].xp + entities[_local2].cx);
tempy = (entities[_local2].yp + entities[_local2].cy);
tempw = entities[_local2].cw;
temph = entities[_local2].ch;
temprect = new Rectangle(tempx, tempy, tempw, temph);
_local3 = 0;
while (_local3 < _arg1.nblocks) {
if (_arg1.blocks[_local3].type == 3){
if (_arg1.blocks[_local3].rect.intersects(temprect)){
return (true);
};
};
_local3++;
};
};
_local2++;
};
return (false);
}
public function entitycollide(_arg1:int, _arg2:int):Boolean{
tempx = (entities[_arg1].xp + entities[_arg1].cx);
tempy = (entities[_arg1].yp + entities[_arg1].cy);
tempw = entities[_arg1].cw;
temph = entities[_arg1].ch;
temprect = new Rectangle(tempx, tempy, tempw, temph);
tempx = (entities[_arg2].xp + entities[_arg2].cx);
tempy = (entities[_arg2].yp + entities[_arg2].cy);
tempw = entities[_arg2].cw;
temph = entities[_arg2].ch;
if (temprect.intersects(new Rectangle(tempx, tempy, tempw, temph))){
return (true);
};
return (false);
}
}
}//package
Section 26
//gameclass (gameclass)
package {
import flash.events.*;
import com.kongregate.as3.client.events.*;
import flash.display.*;
import flash.geom.*;
import flash.net.*;
import com.kongregate.as3.client.*;
public class gameclass extends Sprite {
public var restorehighlighted:Boolean;
public var inmenu:Boolean;
public var startspecial:Boolean;
public var screenshake:int;
public var kongversion:Boolean;
public var teststring:String;
public var showcreditline:int;
public var flashlight:int;
public var visithighlighted:Boolean;
public var hpposition:int;
public var paused:Boolean;
public var savepoint:int;
public var startroom:int;
public var currenthp:int;
public var bg:int;
public var door_right:int;
public var totalhp:int;
public var startx:int;
public var starty:int;
public var globalsound:int;
public var hasgun:Boolean;
public var jumpheld:Boolean;
public var raindelay:int;
public var muted:Boolean;
public var nblocks:int;
public var debugmode:Boolean;
public var showtitle:int;
public var showimage:int;
public var newgamehighlighted:Boolean;
public var currentimage:int;
public var hascontrol:Boolean;
public var blocks:Array;
public var enemycount:int;
public var mutebutton:int;
public var offlinehighlighted:Boolean;
public var state:int;
public var statedelay:int;
public var door_down:int;
public var rain:Boolean;
public var isshooting:Boolean;
public var toggledeath:Boolean;
public var test:Boolean;
public var lastx:int;
public var lasty:int;
public var mx:int;
public var my:int;
public var ongroundlasttime:Boolean;
public var eurydicemode:Boolean;
public var entdir:int;
public var showblocks:Boolean;
public var shotdelay:int;
public var door_up:int;
public var currentroom:int;
public var gamecookie:SharedObject;
public var showmenu:int;
public var infocus:Boolean;
public var kongapi:KongregateAPI;
public var entvx:int;
public var enty:int;
public var standaloneversion:Boolean;
public var entx:int;
public var entvy:int;
public var door_left:int;
public var onkongregate:Boolean;
public function gameclass(_arg1:entityclass, _arg2:helpclass, _arg3:musicclass):void{
blocks = new Array();
super();
gamecookie = SharedObject.getLocal("dwdontlookback");
kongversion = true;
if (kongversion){
kongapi = KongregateAPI.getInstance();
};
if (gamecookie.data.counter == undefined){
gamecookie.data.counter = 0;
} else {
savepoint = gamecookie.data.counter;
};
infocus = true;
paused = false;
muted = false;
globalsound = 1;
mutebutton = 0;
addEventListener(Event.DEACTIVATE, windowNotActive);
addEventListener(Event.ACTIVATE, windowActive);
showtitle = 0;
showcreditline = 0;
showmenu = 0;
lastx = 0;
lasty = 0;
test = false;
teststring = "Test=TRUE";
jumpheld = false;
shotdelay = 0;
hasgun = false;
hascontrol = true;
rain = true;
raindelay = 0;
showblocks = false;
nblocks = 0;
currentroom = 0;
gotoroom(0, _arg1, _arg2, _arg3);
state = 1;
statedelay = 0;
updatestate(_arg1, _arg2, _arg3);
}
public function setsavepoint(_arg1:int):void{
savepoint = _arg1;
gamecookie.data.counter = savepoint;
if (kongversion){
kongapi.stats.submit("progress", _arg1);
};
}
public function resetenemycount():void{
enemycount = 0;
}
public function createblock(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{
var _local5:Object = new Object();
_local5.type = 0;
_local5.xp = _arg1;
_local5.yp = _arg2;
_local5.w = _arg3;
_local5.h = _arg4;
_local5.rect = new Rectangle(_arg1, _arg2, _arg3, _arg4);
blocks.push(_local5);
nblocks++;
}
public function windowActive(_arg1:Event):void{
infocus = true;
}
public function createladder(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{
var _local5:Object = new Object();
_local5.type = 2;
_local5.xp = _arg1;
_local5.yp = _arg2;
_local5.w = _arg3;
_local5.h = _arg4;
_local5.rect = new Rectangle(_arg1, _arg2, _arg3, _arg4);
blocks.push(_local5);
nblocks++;
}
public function createtrigger(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int):void{
var _local6:Object = new Object();
_local6.type = 1;
_local6.xp = _arg1;
_local6.yp = _arg2;
_local6.w = _arg3;
_local6.h = _arg4;
_local6.rect = new Rectangle(_arg1, _arg2, _arg3, _arg4);
_local6.trigger = _arg5;
blocks.push(_local6);
nblocks++;
}
public function removeallblocks(_arg1:helpclass):void{
while (nblocks > 0) {
removeblock(_arg1, 0);
};
}
public function updatestate(_arg1:entityclass, _arg2:helpclass, _arg3:musicclass):void{
var _local4:Number;
statedelay--;
if (statedelay <= 0){
statedelay = 0;
};
if (statedelay <= 0){
switch (state){
case 0:
break;
case 1:
state = 17;
statedelay = 10;
resetenemycount();
startspecial = false;
currentroom = 0;
entx = 30;
enty = 94;
_arg1.createentity(entx, enty, 0);
_arg1.entities[_arg1.getplayer()].onground = true;
_arg1.entities[_arg1.getplayer()].dir = 0;
_arg1.entities[_arg1.getplayer()].drawframe = 20;
inmenu = true;
hascontrol = false;
break;
case 2:
state = 0;
removetrigger(_arg2, 2);
rain = false;
break;
case 3:
state = 0;
removetrigger(_arg2, 3);
rain = true;
break;
case 4:
if (_arg1.flags[3] == 1){
removetrigger(_arg2, 4);
state = 0;
} else {
state = 5;
statedelay = 6;
_arg3.stopstep();
removetrigger(_arg2, 4);
hascontrol = false;
};
break;
case 5:
_arg2.globaltemp = _arg1.getplayer();
if (_arg1.entities[_arg2.globaltemp].onground){
state = 6;
statedelay = 4;
_arg1.entities[_arg2.globaltemp].pickupmode = 1;
_arg1.entities[_arg2.globaltemp].pickupframe = 0;
};
break;
case 6:
state = 7;
statedelay = 4;
showimage = 150;
currentimage = 0;
_arg1.changeflag(3, 1);
_arg1.removeentitytype(_arg2, 8);
break;
case 7:
state = 0;
hascontrol = true;
hasgun = true;
break;
case 8:
if (showimage > 20){
showimage = 20;
};
removetrigger(_arg2, 8);
state = 0;
break;
case 9:
if (_arg1.flags[4] == 0){
_arg1.changeflag(4, 1);
showimage = 150;
currentimage = 2;
};
removetrigger(_arg2, 9);
state = 0;
break;
case 10:
removetrigger(_arg2, 10);
if (_arg1.flags[26] == 0){
state = 11;
hascontrol = false;
currenthp = 3;
totalhp = 3;
hpposition = 120;
_arg3.play(2);
} else {
state = 0;
};
break;
case 11:
_arg2.globaltemp = _arg1.getplayer();
if (_arg1.entities[_arg2.globaltemp].onground){
_arg1.createentity(165, 94, 26);
_arg1.createentity(5, 108, 25);
_arg1.createentity(5, 93, 25, 1);
_arg1.createentity(5, 78, 25);
_arg1.createentity(5, 63, 25, 1);
_arg1.createentity(150, 108, 25);
_arg1.createentity(150, 93, 25, 1);
_arg1.createentity(150, 78, 25);
_arg1.createentity(150, 63, 25, 1);
hascontrol = true;
state = 0;
};
break;
case 12:
_arg1.removeentitytype(_arg2, 25);
_arg1.changeflag(26, 1);
state = 0;
currenthp = 0;
totalhp = 0;
hpposition = 0;
if (kongversion){
kongapi.stats.submit("defeated_cerberus", 1);
};
break;
case 13:
_arg1.removeentitytype(_arg2, 23);
totalhp = 0;
currenthp = 0;
removeblockat(_arg2, 40, 90);
removeblockat(_arg2, 20, 70);
removeblockat(_arg2, 100, -10);
state = 0;
if (kongversion){
kongapi.stats.submit("defeated_hades", 1);
};
break;
case 14:
hascontrol = false;
_arg2.globaltemp = _arg1.getplayer();
_arg1.entities[_arg2.globaltemp].vx = 2;
_arg1.entities[_arg2.globaltemp].dir = 1;
if (currentroom == 52){
if (_arg1.entities[_arg2.globaltemp].xp >= 80){
_arg3.playef(20);
state = 15;
statedelay = 10;
_arg1.entities[_arg2.globaltemp].vx = 0;
};
};
if (((!((_arg1.entities[_arg2.globaltemp].vx == 0))) && (_arg1.entities[_arg2.globaltemp].onground))){
_arg3.playstep(_arg3.steptype);
} else {
_arg3.stopstep();
};
break;
case 15:
eurydicemode = true;
state = 16;
statedelay = 60;
break;
case 16:
_arg2.globaltemp = _arg1.getplayer();
_arg1.entities[_arg2.globaltemp].vx = -2;
_arg1.entities[_arg2.globaltemp].dir = 0;
if (currentroom == 53){
_arg1.entities[_arg2.globaltemp].vx = 0;
hascontrol = true;
state = 0;
};
if (((!((_arg1.entities[_arg2.globaltemp].vx == 0))) && (_arg1.entities[_arg2.globaltemp].onground))){
_arg3.playstep(_arg3.steptype);
} else {
_arg3.stopstep();
};
break;
case 17:
state = 18;
showcreditline = 5;
break;
case 18:
showcreditline--;
if (showcreditline == 1){
state = 19;
};
break;
case 19:
state = 20;
statedelay = 80;
break;
case 20:
showcreditline++;
if (showcreditline >= 5){
state = 21;
statedelay = 60;
showcreditline = 0;
};
break;
case 21:
state = 22;
showtitle = 5;
break;
case 22:
showtitle--;
if (showtitle == 1){
state = 23;
};
break;
case 23:
showmenu = 1;
state = 0;
break;
case 24:
showtitle++;
if (showtitle >= 5){
state = 25;
};
break;
case 25:
showtitle = 0;
state = 26;
statedelay = 20;
break;
case 26:
newgamehighlighted = false;
inmenu = false;
hascontrol = true;
state = 27;
statedelay = 15;
setsavepoint(0);
break;
case 27:
showimage = 160;
currentimage = 1;
state = 0;
break;
case 28:
hascontrol = false;
_arg2.globaltemp = _arg1.getplayer();
_arg1.entities[_arg2.globaltemp].vx = -2;
_arg1.entities[_arg2.globaltemp].dir = 0;
if (currentroom == 86){
if (_arg1.entities[_arg2.globaltemp].xp <= 90){
state = 29;
statedelay = 90;
_arg1.entities[_arg2.globaltemp].vx = 0;
};
};
if (((!((_arg1.entities[_arg2.globaltemp].vx == 0))) && (_arg1.entities[_arg2.globaltemp].onground))){
_arg3.playstep(_arg3.steptype);
} else {
_arg3.stopstep();
};
break;
case 29:
_arg1.entities[_arg1.geteurydice()].state = 1;
_arg1.entities[_arg1.getplayer()].state = 1;
state = 30;
statedelay = 75;
break;
case 30:
if (kongversion){
kongapi.stats.submit("gamecomplete", 1);
};
state = 31;
statedelay = 1;
startspecial = false;
currentroom = 0;
entx = 30;
enty = 94;
_arg1.removeentitytype(_arg2, 0);
_arg1.createentity(entx, enty, 0);
_arg1.entities[_arg1.getplayer()].onground = true;
_arg1.entities[_arg1.getplayer()].dir = 0;
_arg1.entities[_arg1.getplayer()].drawframe = 20;
inmenu = true;
hascontrol = false;
break;
case 31:
_local4 = 0;
while (_local4 < 300) {
_arg1.flags[_local4] = 0;
_local4++;
};
currentroom = 0;
bg = 8;
door_right = 5;
toggledeath = false;
flashlight = 0;
screenshake = 0;
eurydicemode = false;
rain = true;
hasgun = false;
createtrigger(130, 0, 10, 150, 8);
state = 17;
statedelay = 10;
_arg1.removeentitytype(_arg2, 31);
break;
case 32:
removetrigger(_arg2, 32);
if (_arg1.flags[250] == 0){
_arg3.play(0);
state = 0;
_arg1.changeflag(250, 1);
} else {
state = 0;
};
break;
case 33:
showtitle++;
if (showtitle >= 5){
state = 34;
};
break;
case 34:
showtitle = 0;
state = 35;
statedelay = 20;
break;
case 35:
state = 0;
hascontrol = true;
hasgun = true;
rain = false;
restorehighlighted = false;
inmenu = false;
eurydicemode = false;
_arg1.restartroom = true;
_arg1.restartmode = 0;
_arg1.restartcounter = 0;
_arg1.norestartsound = true;
entdir = 1;
if (savepoint >= 1){
_arg1.flags[1] = 1;
_arg1.flags[2] = 1;
_arg1.flags[3] = 1;
_arg1.flags[4] = 1;
_arg1.flags[250] = 1;
};
if (savepoint >= 2){
_arg1.flags[13] = 1;
_arg1.flags[14] = 1;
_arg1.flags[15] = 1;
};
if (savepoint >= 5){
_arg1.flags[26] = 1;
};
if (savepoint >= 6){
_arg1.flags[48] = 1;
_arg1.flags[49] = 1;
};
if (savepoint >= 7){
_arg1.flags[50] = 1;
_arg1.flags[51] = 1;
};
if (savepoint == 1){
_arg3.changeamb(1);
_arg3.steptype = 1;
currentroom = 8;
entx = 2;
enty = 109;
} else {
if (savepoint == 2){
_arg3.changeamb(1);
_arg3.steptype = 1;
currentroom = 16;
entx = 2;
enty = 106;
} else {
if (savepoint == 3){
currentroom = 27;
entx = 2;
enty = 94;
_arg3.changeamb(2);
_arg3.steptype = 1;
} else {
if (savepoint == 4){
currentroom = 37;
entx = 2;
enty = 94;
_arg3.changeamb(1);
_arg3.steptype = 1;
} else {
if (savepoint == 5){
currentroom = 39;
entx = 2;
enty = 94;
_arg3.changeamb(1);
_arg3.steptype = 1;
} else {
if (savepoint == 6){
currentroom = 45;
entx = 2;
enty = 74;
_arg3.changeamb(1);
_arg3.steptype = 1;
} else {
if (savepoint == 7){
currentroom = 47;
entx = 2;
enty = 57;
_arg3.changeamb(1);
_arg3.steptype = 1;
} else {
if (savepoint == 8){
currentroom = 49;
entx = 2;
enty = 94;
_arg3.changeamb(3);
_arg3.steptype = 1;
} else {
if (savepoint == 9){
currentroom = 64;
entx = 150;
enty = 94;
entdir = 0;
_arg3.changeamb(1);
_arg3.steptype = 1;
_arg3.play(3);
eurydicemode = true;
} else {
if (savepoint == 10){
currentroom = 69;
entx = 150;
enty = 94;
entdir = 0;
_arg3.changeamb(1);
_arg3.steptype = 1;
_arg3.play(3);
eurydicemode = true;
} else {
if (savepoint == 11){
currentroom = 75;
entx = 150;
enty = 94;
entdir = 0;
_arg3.changeamb(1);
_arg3.steptype = 1;
_arg3.play(3);
eurydicemode = true;
};
};
};
};
};
};
};
};
};
};
};
break;
};
};
}
public function createdamage(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{
var _local5:Object = new Object();
_local5.type = 3;
_local5.xp = _arg1;
_local5.yp = _arg2;
_local5.w = _arg3;
_local5.h = _arg4;
_local5.rect = new Rectangle(_arg1, _arg2, _arg3, _arg4);
blocks.push(_local5);
nblocks++;
}
public function removeblockat(_arg1:helpclass, _arg2:int, _arg3:int):void{
var _local4:int;
while (_local4 < nblocks) {
if ((((blocks[_local4].xp == _arg2)) && ((blocks[_local4].yp == _arg3)))){
removeblock(_arg1, _local4);
};
_local4++;
};
}
public function removeblock(_arg1:helpclass, _arg2:int):void{
_arg1.removeObject(blocks[_arg2], blocks);
nblocks--;
}
public function windowNotActive(_arg1:Event):void{
infocus = false;
}
public function removetrigger(_arg1:helpclass, _arg2:int):void{
var _local3:int;
while (_local3 < nblocks) {
if (blocks[_local3].type == 1){
if (blocks[_local3].trigger == _arg2){
removeblock(_arg1, _local3);
};
};
_local3++;
};
}
public function gotoroom(_arg1:int, _arg2:entityclass, _arg3:helpclass, _arg4:musicclass):void{
if ((((_arg1 == currentroom)) || ((((_arg1 == startroom)) && ((startspecial == true)))))){
_arg2.resetflags();
} else {
_arg2.confirmflags();
};
removeallblocks(_arg3);
_arg2.removeallentities(_arg3);
door_up = -2;
door_down = -2;
door_right = -2;
door_left = -2;
currentroom = _arg1;
switch (_arg1){
case 0:
bg = 8;
door_right = 5;
toggledeath = false;
flashlight = 0;
screenshake = 0;
eurydicemode = false;
createblock(-10, 110, 180, 100);
createtrigger(130, 0, 10, 150, 8);
break;
case 1:
bg = 2;
door_right = 2;
door_left = 7;
createblock(-10, 125, 180, 100);
_arg2.createentity(90, 109, 6, 0, 0, 1);
createtrigger(-10, 110, 180, 100, 32);
break;
case 2:
bg = 5;
door_right = 3;
door_left = 1;
createblock(-10, 125, 180, 100);
createtrigger(70, 0, 20, 160, 4);
_arg2.createentity(75, 121, 8, 0, 0, 3);
break;
case 3:
bg = 3;
door_right = 4;
door_left = 2;
createdamage(-10, 130, 180, 100);
createblock(-10, 125, 65, 100);
createblock(130, 125, 40, 100);
createblock(73, 119, 12, 4);
createblock(101, 112, 12, 4);
break;
case 4:
_arg4.changeamb(0);
_arg4.steptype = 0;
bg = 4;
door_right = 8;
door_left = 3;
rain = true;
createblock(-10, 125, 180, 100);
createblock(72, -2, 200, 10);
_arg2.createentity(165, 50, 2, 0, 0, 2);
break;
case 5:
bg = 6;
door_left = 0;
door_right = 6;
createblock(-10, 110, 180, 100);
createblock(90, 88, 90, 90);
createtrigger(10, 0, 10, 150, 9);
createtrigger(130, 0, 10, 150, 8);
break;
case 6:
bg = 0;
door_left = 5;
door_down = 7;
createblock(-10, 88, 80, 100);
break;
case 7:
bg = 1;
door_up = 6;
door_right = 1;
createblock(0, 0, 28, 128);
createblock(0, -2, 70, 10);
createblock(-10, 125, 180, 100);
createtrigger(-10, 110, 180, 100, 32);
break;
case 8:
_arg4.changeamb(1);
_arg4.steptype = 1;
bg = 9;
door_left = 4;
door_right = 9;
rain = false;
createblock(-10, 125, 180, 100);
_arg2.createentity(50, 18, 11);
_arg2.createentity(100, 15, 11);
_arg2.createentity(70, 58, 2, 0, 0, 5);
if (savepoint < 1){
setsavepoint(1);
};
break;
case 9:
bg = 10;
door_left = 8;
door_right = 10;
createblock(-10, 125, 180, 100);
_arg2.createentity(10, 14, 11);
_arg2.createentity(130, 42, 11);
_arg2.createentity(110, 35, 9, 0, 0, 6);
break;
case 10:
bg = 11;
door_left = 9;
door_right = 11;
createblock(-10, 125, 180, 100);
createblock(-10, -10, 180, 15);
createblock(132, 36, 60, 150);
createladder(117, 17, 2, 85);
_arg2.createentity(15, 32, 2, 0, 0, 9);
_arg2.createentity(140, 6, 9, 0, 0, 7);
_arg2.createentity(40, 6, 9, 0, 0, 12);
break;
case 11:
bg = 12;
door_left = 10;
door_down = 12;
createblock(-10, 36, 105, 13);
createblock(-10, -10, 180, 15);
createblock(111, 0, 9, 22);
createblock(138, 0, 30, 150);
createblock(78, 87, 90, 70);
createblock(0, 88, 48, 100);
createblock(-10, 36, 35, 100);
_arg2.createentity(122, 8, 9, 0, 0, 11);
break;
case 12:
bg = 13;
door_right = 13;
createblock(-10, 122, 180, 100);
createblock(0, 0, 15, 160);
createblock(102, -1, 80, 66);
createblock(146, 100, 40, 30);
_arg2.createentity(150, 84, 6, 0, 0, 13);
_arg2.createentity(30, 65, 2, 0, 0, 14);
_arg2.createentity(165, 80, 2, 0, 0, 15);
break;
case 13:
bg = 14;
door_left = 12;
door_right = 14;
createblock(-20, 100, 200, 80);
createblock(-20, 0, 200, 44);
createblock(-20, -1, 30, 66);
_arg2.createentity(50, 55, 19);
_arg2.createentity(85, 75, 19);
_arg2.createentity(120, 55, 19);
startspecial = true;
startx = 2;
starty = 84;
startroom = 13;
break;
case 14:
bg = 15;
door_left = 13;
door_right = 15;
_arg4.fadeout();
createblock(-20, 100, 75, 80);
createblock(-20, 0, 200, 44);
createblock(-10, 122, 180, 100);
_arg2.createentity(30, 55, 19);
_arg2.createentity(40, 60, 19);
startspecial = false;
break;
case 15:
bg = 16;
door_left = 14;
door_right = 16;
createblock(-10, 122, 180, 100);
break;
case 16:
bg = 17;
door_left = 15;
door_down = 17;
createblock(-10, 122, 40, 100);
if (savepoint < 2){
setsavepoint(2);
};
break;
case 17:
_arg4.changeamb(1);
_arg4.steptype = 1;
_arg4.play(1);
bg = 18;
door_down = 18;
createblock(-10, -50, 15, 300);
createblock(155, -50, 15, 300);
break;
case 18:
_arg4.changeamb(-1);
_arg4.steptype = 2;
bg = 7;
door_down = 20;
createblock(-10, -50, 15, 300);
createblock(155, -50, 15, 300);
break;
case 20:
bg = 7;
door_down = 21;
createblock(-10, -50, 15, 300);
createblock(155, -50, 15, 300);
break;
case 21:
bg = 7;
door_right = 22;
createblock(-10, -50, 15, 300);
createblock(155, -10, 15, 60);
createblock(-10, 125, 180, 100);
break;
case 22:
bg = 7;
door_left = 21;
door_right = 23;
createblock(-10, -10, 15, 60);
createblock(-100, 125, 280, 100);
_arg2.createentity(-60, 106, 6, 0, 0, 16);
_arg2.createentity(170, 106, 6, 0, 0, 22);
break;
case 23:
bg = 7;
door_left = 22;
door_right = 25;
createblock(-10, 125, 180, 100);
createblock(100, 110, 100, 100);
_arg2.createentity(30, -80, 9, 0, 0, 18);
_arg2.createentity(65, -60, 9, 0, 0, 19);
_arg2.createentity(100, -40, 9, 0, 0, 20);
_arg2.createentity(135, -20, 9, 0, 0, 21);
break;
case 24:
bg = 7;
door_left = 23;
door_right = 25;
createblock(-10, -10, 180, 15);
createblock(-10, 110, 180, 100);
createblock(130, 90, 25, 5);
createblock(90, 70, 25, 5);
createblock(50, 50, 25, 5);
createblock(50, 0, 5, 50);
createblock(130, 50, 25, 5);
createblock(90, 30, 40, 5);
createblock(130, 30, 5, 25);
createblock(155, 50, 20, 100);
_arg2.createentity(20, 50, 20);
_arg2.createentity(20, 70, 20);
_arg2.createentity(20, 90, 20);
_arg2.createentity(20, 6, 11);
_arg2.createentity(60, 6, 11);
_arg2.createentity(100, 6, 11);
break;
case 25:
bg = 7;
door_left = 23;
door_right = 26;
createblock(-10, -10, 180, 15);
createblock(-10, 110, 180, 100);
createblock(20, 95, 15, 51);
createblock(30, 5, 50, 30);
createblock(30, 80, 50, 40);
createblock(110, 5, 60, 30);
createblock(110, 80, 60, 40);
_arg2.createentity(80, 5, 21);
_arg2.createentity(100, 100, 21);
_arg2.createentity(50, 40, 19);
_arg2.createentity(80, 30, 20);
_arg2.createentity(80, 90, 20);
break;
case 26:
_arg4.changeamb(-1);
_arg4.steptype = 2;
bg = 7;
door_left = 25;
door_right = 27;
createblock(-10, -10, 180, 15);
createblock(-10, 110, 180, 100);
createblock(-10, 80, 50, 40);
break;
case 27:
_arg4.changeamb(2);
_arg4.steptype = 1;
bg = 19;
door_left = 26;
door_right = 28;
createblock(-10, 110, 180, 100);
startspecial = false;
if (savepoint < 3){
setsavepoint(3);
};
break;
case 28:
bg = 20;
door_left = 27;
door_right = 29;
createblock(-10, 110, 93, 100);
createdamage(-10, 125, 180, 100);
_arg2.createentity(110, 110, 22, 0, 0, 80);
_arg2.createentity(140, 105, 22, 0, 0, 80);
_arg2.createentity(60, 88, 24);
_arg2.createentity(90, 75, 24);
_arg2.createentity(120, 75, 24);
_arg2.createentity(150, 75, 24);
createblock(150, 76, 16, 4);
startspecial = true;
startx = 40;
starty = 94;
startroom = 28;
break;
case 29:
bg = 21;
door_left = 28;
door_right = 30;
createdamage(-10, 125, 180, 100);
_arg2.createentity(0, 75, 24);
_arg2.createentity(16, 75, 24);
_arg2.createentity(32, 75, 24);
_arg2.createentity(48, 75, 24);
_arg2.createentity(70, 105, 22, 0, 0, 65);
_arg2.createentity(82, 105, 22, 0, 0, 55);
_arg2.createentity(94, 105, 22, 0, 0, 45);
_arg2.createentity(106, 75, 24);
_arg2.createentity(122, 75, 24);
_arg2.createentity(138, 75, 24);
_arg2.createentity(154, 75, 24);
createblock(0, 76, 16, 4);
createblock(138, 76, 16, 4);
createblock(154, 76, 16, 4);
break;
case 30:
bg = 22;
door_left = 29;
door_right = 31;
createdamage(-10, 125, 180, 100);
_arg2.createentity(0, 75, 24);
_arg2.createentity(80, 50, 23, 0, 0, 40);
_arg2.createentity(20, 95, 22, 0, 0, 80);
_arg2.createentity(70, 95, 22, 0, 0, 20);
_arg2.createentity(100, 95, 22, 0, 0, 20);
createblock(0, 76, 16, 4);
createblock(42, 64, 16, 4);
createblock(122, 42, 40, 6);
startspecial = true;
startx = 45;
starty = 48;
startroom = 30;
break;
case 31:
bg = 23;
door_left = 30;
door_right = 32;
createdamage(-10, 125, 180, 100);
createblock(-10, 42, 74, 6);
createblock(107, 70, 16, 6);
createblock(155, 63, 16, 6);
createdamage(130, 100, 25, 7);
createblock(130, 107, 25, 6);
_arg2.createentity(80, 95, 22, 0, 0, 89);
_arg2.createentity(128, 95, 22, 0, 0, 80);
_arg2.createentity(140, 95, 22, 0, 0, 60);
_arg2.createentity(128, 95, 22, 0, 0, 35);
_arg2.createentity(140, 95, 22, 0, 0, 15);
_arg2.createentity(170, 40, 2, 0, 0, 24);
startspecial = true;
startx = 110;
starty = 54;
startroom = 31;
break;
case 32:
bg = 24;
door_left = 31;
door_right = 33;
createdamage(-10, 125, 180, 100);
createblock(-10, 63, 26, 6);
_arg2.createentity(40, 50, 23, 0, 0, -15);
_arg2.createentity(80, 40, 23, 0, 0, -13);
_arg2.createentity(120, 30, 23, 0, 0, -11);
_arg2.createentity(136, 30, 23, 0, 0, -11);
_arg2.createentity(152, 30, 23, 0, 0, -11);
startspecial = true;
startx = 2;
starty = 47;
startroom = 32;
break;
case 33:
bg = 21;
door_left = 32;
door_right = 34;
createdamage(-10, 125, 180, 100);
_arg2.createentity(0, 60, 24);
_arg2.createentity(16, 60, 24);
_arg2.createentity(32, 60, 24);
_arg2.createentity(48, 60, 24);
_arg2.createentity(64, 60, 24);
_arg2.createentity(20, 80, 23, 0, 0, 10);
_arg2.createentity(36, 80, 23, 0, 0, 15);
_arg2.createentity(52, 80, 23, 0, 0, 20);
_arg2.createentity(68, 80, 23, 0, 0, 25);
_arg2.createentity(84, 80, 23, 0, 0, 30);
_arg2.createentity(100, 80, 23, 0, 0, 35);
_arg2.createentity(116, 80, 23, 0, 0, 45);
_arg2.createentity(132, 80, 23, 0, 0, 50);
_arg2.createentity(148, 80, 23, 0, 0, 55);
break;
case 34:
bg = 21;
door_left = 33;
door_right = 35;
createdamage(-10, 125, 180, 100);
_arg2.createentity(-12, 80, 23, 0, 0, 45);
_arg2.createentity(4, 80, 23, 0, 0, 45);
_arg2.createentity(20, 80, 23, 0, 0, 35);
_arg2.createentity(36, 80, 23, 0, 0, 35);
_arg2.createentity(52, 80, 23, 0, 0, 25);
_arg2.createentity(68, 80, 23, 0, 0, 25);
_arg2.createentity(84, 80, 23, 0, 0, 15);
_arg2.createentity(100, 80, 23, 0, 0, 15);
_arg2.createentity(116, 79, 24);
_arg2.createentity(132, 79, 24);
_arg2.createentity(148, 79, 24);
break;
case 35:
bg = 25;
door_left = 34;
door_right = 36;
createdamage(-10, 125, 180, 100);
createblock(0, 80, 16, 4);
_arg2.createentity(0, 79, 24);
createblock(30, 82, 23, 8);
createblock(82, 76, 24, 8);
createblock(128, 87, 22, 8);
_arg2.createentity(56, 95, 22, 0, 0, 80);
_arg2.createentity(68, 95, 22, 0, 0, 60);
_arg2.createentity(56, 95, 22, 0, 0, 20);
_arg2.createentity(68, 95, 22, 0, 0, 40);
_arg2.createentity(112, 105, 22, 0, 0, 80);
_arg2.createentity(112, 105, 22, 0, 0, 50);
_arg2.createentity(112, 105, 22, 0, 0, 20);
startspecial = true;
startx = 40;
starty = 66;
startroom = 35;
break;
case 36:
_arg4.changeamb(2);
bg = 26;
door_left = 35;
door_right = 37;
createdamage(-10, 125, 180, 100);
createblock(145, 110, 93, 100);
_arg2.createentity(10, 85, 24);
_arg2.createentity(55, 85, 24);
_arg2.createentity(100, 85, 24);
break;
case 37:
_arg4.changeamb(1);
bg = 27;
door_left = 36;
door_right = 38;
createblock(-10, 110, 200, 100);
startspecial = false;
if (savepoint < 4){
setsavepoint(4);
};
break;
case 38:
bg = 28;
door_left = 37;
door_right = 39;
createblock(-100, 110, 400, 100);
createtrigger(20, -10, 40, 200, 10);
currenthp = 0;
totalhp = 0;
hpposition = 0;
startspecial = true;
startx = 20;
starty = 94;
startroom = 38;
break;
case 39:
bg = 29;
door_left = 38;
door_right = 40;
createblock(-100, 110, 400, 100);
_arg2.createentity(120, 94, 12, 0, 0, 30);
_arg2.createentity(165, 60, 2, 0, 0, 33);
startspecial = false;
if (_arg2.flags[251] == 0){
_arg2.changeflag(251, 1);
_arg4.play(0);
};
if (savepoint < 5){
setsavepoint(5);
};
break;
case 40:
bg = 30;
door_left = 39;
door_right = 41;
createblock(-100, 110, 400, 100);
_arg2.createentity(120, 94, 12, 0, 0, 31);
_arg2.createentity(80, 94, 12, 0, 0, 32);
_arg2.createentity(-40, 94, 12, 0, 0, 34);
break;
case 41:
bg = 31;
door_left = 40;
door_right = 42;
createblock(-100, 110, 154, 100);
createblock(125, 110, 400, 100);
createdamage(-10, 125, 200, 100);
_arg2.createentity(64, 95, 23, 0, 0, 45);
_arg2.createentity(80, 95, 23, 0, 0, 30);
_arg2.createentity(96, 95, 23, 0, 0, 15);
_arg2.createentity(165, 40, 2, 0, 0, 35);
_arg2.createentity(195, 10, 2, 0, 0, 36);
_arg2.createentity(225, -20, 2, 0, 0, 37);
_arg2.createentity(0xFF, -50, 2, 0, 0, 38);
_arg2.createentity(285, -80, 2, 0, 0, 39);
_arg2.createentity(315, -110, 2, 0, 0, 40);
_arg2.createentity(-50, 40, 2, 0, 0, 41);
_arg2.createentity(-80, 10, 2, 0, 0, 42);
_arg2.createentity(-110, -20, 2, 0, 0, 43);
_arg2.createentity(-140, -50, 2, 0, 0, 44);
_arg2.createentity(-170, -80, 2, 0, 0, 45);
_arg2.createentity(-200, -110, 2, 0, 0, 46);
break;
case 42:
bg = 32;
door_left = 41;
door_right = 43;
createblock(-10, 110, 200, 100);
_arg2.createentity(130, 78, 17, 0, 0, 47);
startspecial = false;
break;
case 43:
bg = 33;
door_left = 42;
door_down = 44;
createblock(-10, 110, 55, 100);
startspecial = true;
startx = 5;
starty = 94;
startroom = 43;
break;
case 44:
bg = 34;
door_right = 45;
createblock(-10, -50, 55, 60);
createblock(-10, -50, 40, 200);
createblock(-10, 90, 200, 200);
_arg2.createentity(130, 74, 6, 0, 0, 48);
_arg2.createentity(50, 74, 12, 0, 0, 49);
break;
case 45:
bg = 37;
door_left = 44;
door_right = 46;
createblock(136, 40, 200, 200);
createblock(-10, 90, 200, 200);
_arg2.createentity(80, 80, 23, 0, 0, 50);
_arg2.createentity(50, 60, 23, 0, 0, 10);
_arg2.createentity(20, 40, 23, 0, 0, 30);
_arg2.createentity(65, 20, 24);
_arg2.createentity(49, 20, 24);
_arg2.createentity(100, 20, 23, 0, 0, 40);
_arg2.flags[48] = 1;
_arg2.flags[49] = 1;
startspecial = true;
startx = 5;
starty = 74;
startroom = 45;
if (savepoint < 6){
setsavepoint(6);
};
_arg4.fadeout();
break;
case 46:
bg = 35;
door_left = 45;
door_right = 47;
createblock(-10, 110, 80, 200);
createblock(-10, 120, 200, 200);
createblock(-10, 40, 28, 200);
createblock(124, 73, 60, 200);
createblock(124, 67, 5, 200);
createladder(116, 58, 3, 30);
_arg2.createentity(25, 95, 23);
_arg2.createentity(40, 80, 23);
_arg2.createentity(55, 65, 23);
_arg2.createentity(71, 65, 23);
_arg2.createentity(90, 88, 17, 0, 0, 50);
_arg2.createentity(150, 41, 17, 0, 0, 51);
startspecial = false;
break;
case 47:
bg = 36;
door_left = 46;
door_down = 48;
createblock(-10, 73, 30, 200);
createblock(50, -10, 7, 200);
startspecial = true;
startx = 5;
starty = 57;
startroom = 47;
currenthp = 0;
totalhp = 0;
if (savepoint < 7){
setsavepoint(7);
};
if (kongversion){
kongapi.stats.submit("minchallenge", enemycount);
};
break;
case 48:
_arg4.changeamb(1);
bg = 38;
door_right = 49;
createblock(-10, 110, 200, 200);
createblock(-10, -50, 22, 300);
createblock(50, -50, 7, 65);
createblock(157, -50, 7, 125);
_arg2.createentity(90, 30, 27, 0, 0, 52);
currenthp = 5;
totalhp = 5;
hpposition = 120;
_arg2.createentity(40, 90, 23, 0, 0, 60);
_arg2.createentity(20, 70, 23, 0, 0, 0);
break;
case 49:
_arg4.changeamb(3);
bg = 39;
door_left = -1;
door_right = 50;
createblock(-10, -50, 13, 125);
createblock(-10, 110, 200, 200);
startspecial = false;
if (savepoint < 8){
setsavepoint(8);
};
break;
case 50:
bg = 40;
door_left = -1;
door_right = 51;
createblock(-10, 110, 200, 200);
break;
case 51:
bg = 41;
door_left = -1;
door_right = 52;
createblock(-10, 110, 200, 200);
hasgun = true;
eurydicemode = false;
createtrigger(140, -10, 200, 200, 14);
break;
case 52:
bg = 42;
door_left = 53;
createblock(-10, 110, 200, 200);
createblock(105, -30, 200, 200);
_arg2.createentity(115, 85, 28);
hasgun = false;
break;
case 53:
bg = 41;
door_left = 54;
door_right = -1;
createblock(-10, 110, 200, 200);
hasgun = true;
break;
case 54:
bg = 40;
door_left = 55;
door_right = -1;
createblock(-10, 110, 200, 200);
break;
case 55:
_arg4.changeamb(3);
bg = 39;
door_left = 56;
door_right = -1;
createblock(-10, -50, 13, 125);
createblock(-10, 110, 200, 200);
break;
case 56:
_arg4.changeamb(1);
bg = 43;
door_right = -1;
door_up = 57;
createblock(-10, 110, 200, 200);
createblock(-10, -50, 22, 300);
createblock(50, -50, 20, 65);
createblock(157, -50, 7, 125);
createladder(99, -10, 3, 90);
break;
case 57:
_arg4.play(3);
bg = 44;
door_down = -1;
door_up = 58;
createblock(50, -50, 20, 265);
createladder(99, -10, 3, 190);
break;
case 58:
bg = 45;
door_down = -1;
door_up = 59;
createblock(-10, 120, 80, 265);
createblock(-10, -10, 30, 265);
createladder(43, -10, 3, 102);
createladder(99, 50, 3, 190);
break;
case 59:
bg = 46;
door_down = -1;
door_left = 60;
createblock(-10, 110, 42, 10);
createblock(-10, 110, 30, 100);
createladder(43, 70, 3, 190);
break;
case 60:
bg = 47;
door_right = -1;
door_left = 93;
createblock(-10, 110, 200, 100);
break;
case 61:
bg = 47;
door_right = -1;
door_left = 87;
createblock(-10, 110, 200, 100);
_arg2.createentity(20, 108, 22, 0, 0, 60);
_arg2.createentity(30, 108, 22, 0, 0, 70);
_arg2.createentity(40, 108, 22, 0, 0, 80);
_arg2.createentity(50, 108, 22, 0, 0, 0);
_arg2.createentity(60, 108, 22, 0, 0, 10);
_arg2.createentity(70, 108, 22, 0, 0, 20);
_arg2.createentity(80, 108, 22, 0, 0, 30);
_arg2.createentity(90, 108, 22, 0, 0, 40);
_arg2.createentity(100, 108, 22, 0, 0, 50);
_arg2.createentity(110, 108, 22, 0, 0, 60);
_arg2.createentity(120, 108, 22, 0, 0, 70);
_arg2.createentity(130, 108, 22, 0, 0, 80);
break;
case 62:
bg = 48;
door_right = -1;
door_left = 63;
createblock(-10, 110, 200, 100);
createblock(30, 80, 13, 100);
createblock(118, 17, 11, 24);
createblock(30, 95, 98, 100);
createblock(30, 0, 100, 26);
_arg2.createentity(44, 28, 21, 1);
_arg2.createentity(105, 29, 21, 2);
_arg2.createentity(105, 80, 21, 3);
_arg2.createentity(44, 80, 21, 4);
break;
case 63:
bg = 47;
door_right = -1;
door_left = 88;
createblock(-10, 110, 200, 100);
_arg2.createentity(10, 100, 20);
_arg2.createentity(30, 50, 19);
_arg2.createentity(80, 50, 19);
_arg2.createentity(130, 50, 19);
break;
case 64:
bg = 49;
door_right = -1;
door_up = 65;
createblock(-10, 110, 200, 265);
createblock(-10, -10, 32, 265);
createladder(43, -10, 5, 95);
if (savepoint < 9){
setsavepoint(9);
};
break;
case 65:
bg = 46;
door_down = -1;
door_left = 89;
createblock(-10, 110, 42, 10);
createblock(-10, 110, 30, 100);
createladder(43, 70, 5, 190);
break;
case 66:
bg = 47;
door_right = -1;
door_left = 90;
createblock(-10, 110, 200, 100);
_arg2.createentity(0, 10, 11);
_arg2.createentity(10, 10, 11);
_arg2.createentity(20, 10, 11);
_arg2.createentity(30, 10, 11);
_arg2.createentity(40, 10, 11);
_arg2.createentity(50, 10, 11);
_arg2.createentity(60, 10, 11);
_arg2.createentity(70, 10, 11);
_arg2.createentity(80, 10, 11);
_arg2.createentity(90, 10, 11);
_arg2.createentity(100, 10, 11);
_arg2.createentity(110, 10, 11);
_arg2.createentity(120, 10, 11);
_arg2.createentity(130, 10, 11);
_arg2.createentity(140, 10, 11);
_arg2.createentity(150, 10, 11);
_arg2.createentity(160, 10, 11);
break;
case 67:
bg = 47;
door_right = -1;
door_left = 68;
createblock(-10, 110, 200, 100);
_arg2.createentity(35, 108, 22, 0, 0, 80);
_arg2.createentity(45, 108, 22, 0, 0, 0);
_arg2.createentity(55, 108, 22, 0, 0, 10);
_arg2.createentity(65, 108, 22, 0, 0, 20);
_arg2.createentity(85, 108, 22, 0, 0, 80);
_arg2.createentity(95, 108, 22, 0, 0, 0);
_arg2.createentity(105, 108, 22, 0, 0, 10);
_arg2.createentity(115, 108, 22, 0, 0, 20);
_arg2.createentity(35, 108, 22, 0, 0, 35);
_arg2.createentity(45, 108, 22, 0, 0, 45);
_arg2.createentity(55, 108, 22, 0, 0, 55);
_arg2.createentity(65, 108, 22, 0, 0, 65);
_arg2.createentity(85, 108, 22, 0, 0, 35);
_arg2.createentity(95, 108, 22, 0, 0, 45);
_arg2.createentity(105, 108, 22, 0, 0, 55);
_arg2.createentity(115, 108, 22, 0, 0, 65);
break;
case 68:
bg = 50;
door_right = -1;
door_left = 69;
createblock(-10, 110, 200, 100);
createblock(34, 95, 86, 60);
createblock(34, 0, 86, 28);
_arg2.createentity(40, 30, 19);
_arg2.createentity(50, 35, 19);
_arg2.createentity(60, 40, 19);
_arg2.createentity(90, 50, 19);
_arg2.createentity(100, 55, 19);
_arg2.createentity(110, 60, 19);
break;
case 69:
bg = 49;
door_right = -1;
door_up = 70;
createblock(-10, 110, 200, 265);
createblock(-10, -10, 32, 265);
createladder(43, -10, 5, 95);
if (savepoint < 10){
setsavepoint(10);
};
break;
case 70:
bg = 46;
door_down = -1;
door_left = 91;
createblock(-10, 110, 42, 10);
createblock(-10, 110, 30, 100);
createladder(43, 70, 5, 190);
toggledeath = false;
break;
case 71:
bg = 53;
door_right = -1;
door_left = 72;
createblock(-10, 110, 200, 100);
createblock(19, -10, 121, 55);
createblock(19, 98, 16, 60);
createblock(19, -10, 16, 60);
createblock(125, -10, 16, 60);
createblock(125, 98, 16, 60);
_arg2.createentity(35, 101, 21, 4);
_arg2.createentity(54, 101, 21, 3);
_arg2.createentity(73, 101, 21, 3);
_arg2.createentity(93, 101, 21, 3);
_arg2.createentity(116, 101, 21, 3);
_arg2.createentity(35, 45, 21, 1);
_arg2.createentity(54, 45, 21, 1);
_arg2.createentity(73, 45, 21, 1);
_arg2.createentity(93, 45, 21, 1);
_arg2.createentity(116, 45, 21, 2);
_arg2.createentity(19, 50, 23);
_arg2.createentity(19, 54, 23);
_arg2.createentity(19, 58, 23);
_arg2.createentity(19, 62, 23);
_arg2.createentity(19, 66, 23);
_arg2.createentity(19, 70, 23);
_arg2.createentity(19, 74, 23);
_arg2.createentity(19, 78, 23);
_arg2.createentity(19, 82, 23);
_arg2.createentity(19, 86, 23);
_arg2.createentity(19, 90, 23);
_arg2.createentity(19, 94, 23);
toggledeath = true;
break;
case 72:
bg = 52;
door_right = -1;
door_left = 73;
createblock(-10, 110, 200, 100);
createblock(112, 40, 20, 100);
createblock(13, 9, 24, 68);
createladder(135, 23, 6, 60);
createblock(-10, -10, 200, 25);
_arg2.createentity(56, 40, 20);
_arg2.createentity(66, 55, 20);
_arg2.createentity(76, 70, 20);
toggledeath = false;
break;
case 73:
bg = 54;
door_right = -1;
door_left = 92;
createblock(-10, -10, 200, 25);
createblock(-10, 110, 200, 100);
createblock(15, 40, 5, 100);
createblock(15, 40, 30, 5);
createblock(15, 63, 10, 5);
createblock(40, 40, 5, 10);
createblock(40, 80, 5, 100);
createblock(140, 0, 5, 90);
createblock(115, 85, 30, 5);
createblock(135, 63, 10, 5);
createblock(115, 0, 5, 50);
createblock(115, 80, 5, 10);
_arg2.createentity(20, 45, 21);
_arg2.createentity(131, 76, 21);
createblock(80, 35, 10, 5);
createblock(100, 45, 10, 5);
createladder(105, 55, 5, 28);
createladder(80, 45, 5, 28);
createladder(55, 25, 5, 38);
break;
case 74:
bg = 51;
door_right = -1;
door_left = 75;
createblock(-10, -10, 200, 25);
createblock(144, 110, 80, 100);
createblock(-10, 110, 34, 100);
createdamage(-10, 120, 200, 100);
createladder(132, 22, 5, 70);
createladder(29, 22, 5, 70);
_arg2.createentity(64, 85, 23);
_arg2.createentity(80, 85, 23);
break;
case 75:
bg = 55;
door_right = -1;
door_left = 76;
createblock(-10, 110, 200, 100);
if (savepoint < 11){
setsavepoint(11);
};
break;
case 76:
bg = 56;
door_right = -1;
door_down = 77;
createblock(120, 110, 200, 100);
createblock(80, 122, 200, 100);
createblock(0, 0, 40, 200);
break;
case 77:
bg = 10;
door_right = -1;
door_left = 78;
createblock(-10, 125, 180, 100);
_arg2.createentity(10, 14, 11);
_arg2.createentity(130, 42, 11);
break;
case 78:
_arg4.changeamb(1);
_arg4.steptype = 1;
bg = 9;
door_left = 79;
door_right = -1;
rain = false;
createblock(-10, 125, 180, 100);
_arg2.createentity(50, 18, 11);
_arg2.createentity(100, 15, 11);
break;
case 79:
_arg4.fadeout();
_arg4.changeamb(0);
_arg4.steptype = 0;
bg = 4;
door_right = -1;
door_left = 80;
rain = true;
createblock(-10, 125, 180, 100);
createblock(72, -2, 200, 10);
break;
case 80:
bg = 3;
door_right = -1;
door_left = 81;
createdamage(-10, 130, 180, 100);
createblock(-10, 125, 60, 100);
createblock(130, 125, 40, 100);
createblock(73, 119, 12, 4);
createblock(102, 112, 10, 4);
break;
case 81:
bg = 5;
door_right = -1;
door_left = 82;
createblock(-10, 125, 180, 100);
break;
case 82:
bg = 2;
door_right = -1;
door_left = 83;
createblock(-10, 125, 180, 100);
break;
case 83:
bg = 57;
door_up = 84;
door_right = 1;
createblock(0, 0, 28, 128);
createblock(0, -2, 70, 10);
createblock(-10, 125, 180, 100);
createladder(72, -10, 5, 110);
break;
case 84:
bg = 58;
door_left = 85;
door_down = -1;
door_right = -1;
createblock(-10, 88, 80, 100);
createladder(72, 75, 5, 110);
break;
case 85:
bg = 6;
door_left = 86;
door_right = -1;
createtrigger(-10, -10, 60, 200, 28);
createblock(-10, 110, 180, 100);
createblock(90, 88, 90, 90);
break;
case 86:
bg = 8;
door_right = -1;
createblock(-10, 110, 180, 100);
_arg2.createentity(30, 94, 31);
setsavepoint(0);
break;
case 87:
bg = 47;
door_right = -1;
door_left = 62;
createblock(-10, 110, 200, 100);
break;
case 88:
bg = 47;
door_right = -1;
door_left = 64;
createblock(-10, 110, 200, 100);
break;
case 89:
bg = 47;
door_right = -1;
door_left = 66;
createblock(-10, 110, 200, 100);
break;
case 90:
bg = 47;
door_right = -1;
door_left = 67;
createblock(-10, 110, 200, 100);
break;
case 91:
bg = 47;
door_right = -1;
door_left = 71;
createblock(-10, 110, 200, 100);
break;
case 92:
bg = 47;
door_right = -1;
door_left = 74;
createblock(-10, 110, 200, 100);
break;
case 93:
bg = 60;
door_right = -1;
door_left = 61;
createblock(-10, 110, 200, 100);
createblock(10, -10, 10, 100);
createblock(40, 30, 70, 10);
createblock(40, 30, 40, 30);
createblock(140, -10, 10, 100);
createblock(110, 80, 30, 10);
createblock(100, 90, 50, 4);
createblock(10, -10, 140, 15);
createladder(125, 10, 3, 50);
_arg2.createentity(40, 60, 19);
_arg2.createentity(57, 60, 19);
_arg2.createentity(75, 60, 19);
break;
};
}
public function updaterain(_arg1:entityclass):void{
raindelay--;
if (raindelay <= 0){
raindelay = 0;
};
if (((rain) && ((raindelay <= 0)))){
raindelay = 2;
_arg1.createentity((Math.random() * 200), (-5 - (Math.random() * 5)), 4, -3, 8);
};
}
public function incenemycount():void{
if (currentroom != 48){
enemycount++;
};
}
public function kongapitest(_arg1:KongregateEvent):void{
trace("Services available; kongapitest() called.");
}
}
}//package
Section 27
//helpclass (helpclass)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.net.*;
public class helpclass extends Sprite {
public var glowdir:int;
public var globaltemp3:int;
public var glow:int;
public var slowsine:int;
public var sine:Array;
public var globaltemp:int;
public var cosine:Array;
public var globaltemp2:int;
public function removeObject(_arg1:Object, _arg2:Array):void{
var _local3:String;
for (_local3 in _arg2) {
if (_arg2[_local3] == _arg1){
_arg2.splice(_local3, 1);
break;
};
};
}
public function init():void{
sine = new Array();
cosine = new Array();
var _local1:int;
while (_local1 < 64) {
sine[_local1] = Math.sin(((_local1 * 6.283) / 64));
cosine[_local1] = Math.cos(((_local1 * 6.283) / 64));
_local1++;
};
glow = 0;
glowdir = 0;
slowsine = 0;
}
public function updateglow():void{
slowsine++;
if (slowsine >= 64){
slowsine = 0;
};
if (glowdir == 0){
glow = (glow + 2);
if (glow >= 62){
glowdir = 1;
};
} else {
glow = (glow - 2);
if (glow < 2){
glowdir = 0;
};
};
}
}
}//package
Section 28
//KONG_30FPS (KONG_30FPS)
package {
import flash.display.*;
public dynamic class KONG_30FPS extends MovieClip {
}
}//package
Section 29
//Main (Main)
package {
import bigroom.input.*;
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.ui.*;
public class Main extends Sprite {
public const GAMEMODE:int = 0;
private var im_opt_offline1:Class;
public var dwgfx:dwgraphicsclass;
public var pj:uint;
public var game:gameclass;
private var ef_0:Class;
private var ef_1:Class;
private var ef_2:Class;
private var ef_3:Class;
private var ef_4:Class;
private var amb_3:Class;
private var ef_6:Class;
private var ef_7:Class;
private var ef_8:Class;
private var ef_9:Class;
private var ef_5:Class;
public var music:musicclass;
private var im_opt_newgame2:Class;
private var im_opt_newgame1:Class;
public var clickedlogo:Boolean;
private var im_title1:Class;
private var im_title2:Class;
public var key:KeyPoll;
public var pixel2:uint;
private var ef_10:Class;
private var ef_11:Class;
private var ef_12:Class;
private var im_website:Class;
private var ef_14:Class;
private var ef_16:Class;
private var ef_17:Class;
private var ef_18:Class;
public var pixel:uint;
private var ef_13:Class;
private var ef_15:Class;
private var ef_19:Class;
private var music_1:Class;
private var music_2:Class;
private var music_3:Class;
private var im_background_0:Class;
private var im_background_1:Class;
private var im_background_2:Class;
private var im_background_3:Class;
public var slogo:MovieClip;
private var im_background_5:Class;
private var im_background_6:Class;
private var im_background_7:Class;
private var im_background_8:Class;
private var im_background_9:Class;
private var im_background_4:Class;
private var music_4:Class;
private var im_opt_restore2:Class;
private var ef_22:Class;
private var im_opt_restore1:Class;
private var im_tiles:Class;
private var im_sponsorwebsite:Class;
private var ef_21:Class;
private var im_bfontmask:Class;
private var im_creditline1:Class;
private var im_creditline2:Class;
private var im_presszorup:Class;
private var ef_20:Class;
private var im_bfont:Class;
private var im_opt_visitsite2:Class;
private var footsteps_1:Class;
private var im_opt_visitsite1:Class;
private var im_pressxorspace:Class;
private var im_background_10:Class;
private var im_background_11:Class;
public var obj:entityclass;
private var im_background_13:Class;
private var im_background_14:Class;
private var im_background_15:Class;
private var im_background_16:Class;
private var im_background_17:Class;
private var im_background_18:Class;
private var im_background_19:Class;
private var footsteps_2:Class;
private var im_sponsorwebsite2:Class;
private var im_background_12:Class;
private var footsteps_3:Class;
private var im_background_20:Class;
private var im_pressarrowkeys:Class;
private var im_background_22:Class;
private var im_background_23:Class;
private var im_background_25:Class;
private var im_background_26:Class;
private var im_background_27:Class;
private var im_background_21:Class;
private var im_background_29:Class;
private var im_background_24:Class;
private var im_background_28:Class;
private var im_opt_fullscreen1:Class;
private var im_opt_fullscreen2:Class;
private var im_background_30:Class;
private var im_background_32:Class;
private var im_background_34:Class;
private var im_background_36:Class;
private var im_background_38:Class;
private var im_background_33:Class;
private var im_background_35:Class;
public var help:helpclass;
private var im_background_37:Class;
private var im_background_31:Class;
private var im_background_40:Class;
private var im_background_41:Class;
private var im_background_43:Class;
private var im_background_45:Class;
private var im_background_46:Class;
private var im_background_47:Class;
private var im_background_48:Class;
private var im_background_49:Class;
private var im_background_44:Class;
private var im_background_39:Class;
private var im_background_42:Class;
private var im_background_50:Class;
private var im_background_51:Class;
private var im_background_52:Class;
private var im_background_53:Class;
private var im_background_54:Class;
private var im_background_55:Class;
private var im_background_56:Class;
private var im_background_58:Class;
private var im_background_59:Class;
private var im_background_57:Class;
private var im_background_60:Class;
private var im_sponscreditline1:Class;
private var im_sponscreditline2:Class;
public var logoposition:Matrix;
public var gamestate:int;
private var amb_1:Class;
private var amb_2:Class;
private var amb_4:Class;
public var pi:uint;
private var im_opt_offline2:Class;
public function Main():void{
dwgfx = new dwgraphicsclass();
music = new musicclass();
help = new helpclass();
obj = new entityclass();
im_title1 = Main_im_title1;
im_title2 = Main_im_title2;
im_creditline1 = Main_im_creditline1;
im_creditline2 = Main_im_creditline2;
im_sponscreditline1 = Main_im_sponscreditline1;
im_sponscreditline2 = Main_im_sponscreditline2;
im_opt_newgame1 = Main_im_opt_newgame1;
im_opt_newgame2 = Main_im_opt_newgame2;
im_opt_offline1 = Main_im_opt_offline1;
im_opt_offline2 = Main_im_opt_offline2;
im_opt_visitsite1 = Main_im_opt_visitsite1;
im_opt_visitsite2 = Main_im_opt_visitsite2;
im_opt_fullscreen1 = Main_im_opt_fullscreen1;
im_opt_fullscreen2 = Main_im_opt_fullscreen2;
im_website = Main_im_website;
im_sponsorwebsite = Main_im_sponsorwebsite;
im_sponsorwebsite2 = Main_im_sponsorwebsite2;
im_opt_restore1 = Main_im_opt_restore1;
im_opt_restore2 = Main_im_opt_restore2;
im_tiles = Main_im_tiles;
im_bfont = Main_im_bfont;
im_bfontmask = Main_im_bfontmask;
im_pressxorspace = Main_im_pressxorspace;
im_pressarrowkeys = Main_im_pressarrowkeys;
im_presszorup = Main_im_presszorup;
im_background_0 = Main_im_background_0;
im_background_1 = Main_im_background_1;
im_background_2 = Main_im_background_2;
im_background_3 = Main_im_background_3;
im_background_4 = Main_im_background_4;
im_background_5 = Main_im_background_5;
im_background_6 = Main_im_background_6;
im_background_7 = Main_im_background_7;
im_background_8 = Main_im_background_8;
im_background_9 = Main_im_background_9;
im_background_10 = Main_im_background_10;
im_background_11 = Main_im_background_11;
im_background_12 = Main_im_background_12;
im_background_13 = Main_im_background_13;
im_background_14 = Main_im_background_14;
im_background_15 = Main_im_background_15;
im_background_16 = Main_im_background_16;
im_background_17 = Main_im_background_17;
im_background_18 = Main_im_background_18;
im_background_19 = Main_im_background_19;
im_background_20 = Main_im_background_20;
im_background_21 = Main_im_background_21;
im_background_22 = Main_im_background_22;
im_background_23 = Main_im_background_23;
im_background_24 = Main_im_background_24;
im_background_25 = Main_im_background_25;
im_background_26 = Main_im_background_26;
im_background_27 = Main_im_background_27;
im_background_28 = Main_im_background_28;
im_background_29 = Main_im_background_29;
im_background_30 = Main_im_background_30;
im_background_31 = Main_im_background_31;
im_background_32 = Main_im_background_32;
im_background_33 = Main_im_background_33;
im_background_34 = Main_im_background_34;
im_background_35 = Main_im_background_35;
im_background_36 = Main_im_background_36;
im_background_37 = Main_im_background_37;
im_background_38 = Main_im_background_38;
im_background_39 = Main_im_background_39;
im_background_40 = Main_im_background_40;
im_background_41 = Main_im_background_41;
im_background_42 = Main_im_background_42;
im_background_43 = Main_im_background_43;
im_background_44 = Main_im_background_44;
im_background_45 = Main_im_background_45;
im_background_46 = Main_im_background_46;
im_background_47 = Main_im_background_47;
im_background_48 = Main_im_background_48;
im_background_49 = Main_im_background_49;
im_background_50 = Main_im_background_50;
im_background_51 = Main_im_background_51;
im_background_52 = Main_im_background_52;
im_background_53 = Main_im_background_53;
im_background_54 = Main_im_background_54;
im_background_55 = Main_im_background_55;
im_background_56 = Main_im_background_56;
im_background_57 = Main_im_background_57;
im_background_58 = Main_im_background_58;
im_background_59 = Main_im_background_59;
im_background_60 = Main_im_background_60;
music_1 = Main_music_1;
music_2 = Main_music_2;
music_3 = Main_music_3;
music_4 = Main_music_4;
amb_1 = Main_amb_1;
amb_2 = Main_amb_2;
amb_3 = Main_amb_3;
amb_4 = Main_amb_4;
footsteps_1 = Main_footsteps_1;
footsteps_2 = Main_footsteps_2;
footsteps_3 = Main_footsteps_3;
ef_0 = Main_ef_0;
ef_1 = Main_ef_1;
ef_2 = Main_ef_2;
ef_3 = Main_ef_3;
ef_4 = Main_ef_4;
ef_5 = Main_ef_5;
ef_6 = Main_ef_6;
ef_7 = Main_ef_7;
ef_8 = Main_ef_8;
ef_9 = Main_ef_9;
ef_10 = Main_ef_10;
ef_11 = Main_ef_11;
ef_12 = Main_ef_12;
ef_13 = Main_ef_13;
ef_14 = Main_ef_14;
ef_15 = Main_ef_15;
ef_16 = Main_ef_16;
ef_17 = Main_ef_17;
ef_18 = Main_ef_18;
ef_19 = Main_ef_19;
ef_20 = Main_ef_20;
ef_21 = Main_ef_21;
ef_22 = Main_ef_22;
super();
if (stage){
init();
} else {
addEventListener(Event.ADDED_TO_STAGE, gameinit);
};
}
private function gameinit(_arg1:Event=null):void{
var _local2:Bitmap;
var _local3:ContextMenu;
var _local4:ContextMenuItem;
var _local5:ContextMenuItem;
removeEventListener(Event.ADDED_TO_STAGE, gameinit);
if (sitelock()){
_local3 = new ContextMenu();
_local4 = new ContextMenuItem("Visit distractionware.com");
_local5 = new ContextMenuItem("Visit kongregate.com");
_local4.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, visit_distractionware);
_local5.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, visit_sponsor);
_local5.separatorBefore = false;
_local3.hideBuiltInItems();
_local3.customItems.push(_local4);
_local3.customItems.push(_local5);
this.contextMenu = _local3;
gamestate = GAMEMODE;
obj.init();
help.init();
key = new KeyPoll(stage);
SoundMixer.soundTransform = new SoundTransform(1);
music.currentamb = -1;
music.currentsong = -1;
music.musicfade = 0;
music.step1playing = false;
music.step2playing = false;
music.stepchanlen = 0;
music.initefchannels();
music.currentefchan = 0;
music.musicchan.push(new music_1());
music.musicchan.push(new music_2());
music.musicchan.push(new music_3());
music.musicchan.push(new music_4());
music.ambchan.push(new amb_1());
music.ambchan.push(new amb_2());
music.ambchan.push(new amb_3());
music.ambchan.push(new amb_4());
music.stepchan.push(new footsteps_1());
music.stepchan.push(new footsteps_2());
music.stepchan.push(new footsteps_3());
music.efchan.push(new ef_0());
music.efchan.push(new ef_1());
music.efchan.push(new ef_2());
music.efchan.push(new ef_3());
music.efchan.push(new ef_4());
music.efchan.push(new ef_5());
music.efchan.push(new ef_6());
music.efchan.push(new ef_7());
music.efchan.push(new ef_8());
music.efchan.push(new ef_9());
music.efchan.push(new ef_10());
music.efchan.push(new ef_11());
music.efchan.push(new ef_12());
music.efchan.push(new ef_13());
music.efchan.push(new ef_14());
music.efchan.push(new ef_15());
music.efchan.push(new ef_16());
music.efchan.push(new ef_17());
music.efchan.push(new ef_18());
music.efchan.push(new ef_19());
music.efchan.push(new ef_20());
music.efchan.push(new ef_21());
music.efchan.push(new ef_22());
game = new gameclass(obj, help, music);
game.standaloneversion = false;
dwgfx.init();
_local2 = new im_tiles();
dwgfx.buffer = _local2.bitmapData;
dwgfx.maketilearray();
_local2 = new im_bfont();
dwgfx.buffer = _local2.bitmapData;
dwgfx.makebfont();
_local2 = new im_bfontmask();
dwgfx.buffer = _local2.bitmapData;
dwgfx.makebfontmask();
_local2 = new im_pressxorspace();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_pressarrowkeys();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_presszorup();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_title1();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_title2();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_creditline1();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_creditline2();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_opt_newgame1();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_opt_newgame2();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_opt_offline1();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_opt_offline2();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_opt_visitsite1();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_opt_visitsite2();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_opt_fullscreen1();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_opt_fullscreen2();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_website();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_opt_restore1();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_opt_restore2();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_sponsorwebsite();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_sponscreditline1();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_sponscreditline2();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_sponsorwebsite2();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addimage();
_local2 = new im_background_0();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_1();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_2();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_3();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_4();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_5();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_6();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_7();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_8();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_9();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_10();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_11();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_12();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_13();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_14();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_15();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_16();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_17();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_18();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_19();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_20();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_21();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_22();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_23();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_24();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_25();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_26();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_27();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_28();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_29();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_30();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_31();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_32();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_33();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_34();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_35();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_36();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_37();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_38();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_39();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_40();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_41();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_42();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_43();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_44();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_45();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_46();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_47();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_48();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_49();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_50();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_51();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_52();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_53();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_54();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_55();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_56();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_57();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_58();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_59();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
_local2 = new im_background_60();
dwgfx.buffer = _local2.bitmapData;
dwgfx.addbackground();
dwgfx.buffer = new BitmapData(160, 144, false, 0);
sponsorinit();
} else {
dwgfx.init();
addChild(dwgfx);
_local2 = new im_bfont();
dwgfx.buffer = _local2.bitmapData;
dwgfx.makebfont();
_local2 = new im_bfontmask();
dwgfx.buffer = _local2.bitmapData;
dwgfx.makebfontmask();
dwgfx.buffer = new BitmapData(160, 144, false, 0);
addEventListener(Event.ENTER_FRAME, lockedloop);
};
}
public function gamerender(_arg1:KeyPoll, _arg2:dwgraphicsclass, _arg3:gameclass, _arg4:entityclass, _arg5:helpclass):void{
var _local6:int;
_arg2.backbuffer.lock();
_arg2.drawbackground(_arg3.bg);
if (_arg3.showblocks){
_local6 = 0;
while (_local6 < _arg3.nblocks) {
if (_arg3.blocks[_local6].type == 0){
_arg2.backbuffer.fillRect(_arg3.blocks[_local6].rect, 0xAAAAAA);
} else {
if (_arg3.blocks[_local6].type == 1){
_arg2.backbuffer.fillRect(_arg3.blocks[_local6].rect, 170);
} else {
if (_arg3.blocks[_local6].type == 2){
_arg2.backbuffer.fillRect(_arg3.blocks[_local6].rect, 0xAA00);
} else {
if (_arg3.blocks[_local6].type == 3){
_arg2.backbuffer.fillRect(_arg3.blocks[_local6].rect, 0xFF0000);
};
};
};
};
_local6++;
};
};
_arg2.drawentities(_arg4, _arg5);
if (_arg3.totalhp > 0){
_arg2.drawbossmeter(_arg3);
};
if (((_arg4.restartroom) && ((_arg4.restartmode > -1)))){
_arg2.backbuffer.fillRect(new Rectangle(0, 0, 160, (8 * _arg4.restartcounter)), 1114884);
_arg2.backbuffer.fillRect(new Rectangle(0, (144 - (8 * _arg4.restartcounter)), 160, 180), 1114884);
_arg2.backbuffer.fillRect(new Rectangle(0, 0, (9 * _arg4.restartcounter), 144), 1114884);
_arg2.backbuffer.fillRect(new Rectangle((160 - (9 * _arg4.restartcounter)), 0, 190, 144), 1114884);
};
if (_arg3.showimage > 0){
_arg3.showimage--;
if (_arg3.showimage > 130){
_arg2.drawimage(_arg3.currentimage, 0, (140 - _arg3.showimage), true);
} else {
if (_arg3.showimage < 20){
_arg2.drawimage(_arg3.currentimage, 0, (_arg3.showimage - 10), true);
} else {
_arg2.drawimage(_arg3.currentimage, 0, 10, true);
};
};
};
if (_arg3.showcreditline > 1){
if (_arg3.kongversion){
_arg2.drawimage(20, 0, 8, true);
} else {
_arg2.drawimage(6, 0, 16, true);
};
} else {
if (_arg3.showcreditline == 1){
if (_arg3.kongversion){
_arg2.drawimage(19, 0, 8, true);
} else {
_arg2.drawimage(5, 0, 16, true);
};
};
};
if (_arg3.showtitle > 1){
_arg2.drawimage(4, 0, 8, true);
} else {
if (_arg3.showtitle == 1){
_arg2.drawimage(3, 0, 8, true);
};
};
if (_arg3.showmenu > 0){
if (_arg3.standaloneversion){
if (_arg3.savepoint > 0){
if (_arg3.newgamehighlighted){
_arg2.drawimage(7, 0, 32, true);
} else {
_arg2.drawimage(8, 0, 32, true);
};
if (_arg3.restorehighlighted){
_arg2.drawimage(16, 0, 42, true);
} else {
_arg2.drawimage(17, 0, 42, true);
};
if (_arg3.visithighlighted){
_arg2.drawimage(11, 0, 52, true);
} else {
_arg2.drawimage(12, 0, 52, true);
};
} else {
if (_arg3.newgamehighlighted){
_arg2.drawimage(7, 0, 37, true);
} else {
_arg2.drawimage(8, 0, 37, true);
};
if (_arg3.visithighlighted){
_arg2.drawimage(11, 0, 47, true);
} else {
_arg2.drawimage(12, 0, 47, true);
};
};
_arg2.drawimage(13, 0, 128, true);
_arg2.drawimage(15, 0, 136, true);
} else {
if (_arg3.savepoint > 0){
if (_arg3.newgamehighlighted){
_arg2.drawimage(7, 0, 28, true);
} else {
_arg2.drawimage(8, 0, 28, true);
};
if (_arg3.restorehighlighted){
_arg2.drawimage(16, 0, 37, true);
} else {
_arg2.drawimage(17, 0, 37, true);
};
if (_arg3.offlinehighlighted){
_arg2.drawimage(9, 0, 46, true);
} else {
_arg2.drawimage(10, 0, 46, true);
};
if (_arg3.visithighlighted){
_arg2.drawimage(11, 0, 55, true);
} else {
_arg2.drawimage(12, 0, 55, true);
};
} else {
if (_arg3.newgamehighlighted){
_arg2.drawimage(7, 0, 32, true);
} else {
_arg2.drawimage(8, 0, 32, true);
};
if (_arg3.offlinehighlighted){
_arg2.drawimage(9, 0, 42, true);
} else {
_arg2.drawimage(10, 0, 42, true);
};
if (_arg3.visithighlighted){
_arg2.drawimage(11, 0, 52, true);
} else {
_arg2.drawimage(12, 0, 52, true);
};
};
if (_arg3.kongversion){
if (_arg3.my > 134){
_arg2.drawimage(21, 0, 135, true);
} else {
_arg2.drawimage(18, 0, 135, true);
};
} else {
_arg2.drawimage(15, 0, 136, true);
};
};
};
if (_arg3.standaloneversion){
if (_arg3.savepoint > 0){
if (_arg3.newgamehighlighted){
_arg2.drawimage(7, 0, 32, true);
};
if (_arg3.restorehighlighted){
_arg2.drawimage(16, 0, 42, true);
};
if (_arg3.visithighlighted){
_arg2.drawimage(11, 0, 52, true);
};
} else {
if (_arg3.newgamehighlighted){
_arg2.drawimage(7, 0, 37, true);
};
if (_arg3.visithighlighted){
_arg2.drawimage(11, 0, 47, true);
};
};
} else {
if (_arg3.savepoint > 0){
if (_arg3.newgamehighlighted){
_arg2.drawimage(7, 0, 28, true);
};
if (_arg3.restorehighlighted){
_arg2.drawimage(16, 0, 37, true);
};
if (_arg3.offlinehighlighted){
_arg2.drawimage(9, 0, 46, true);
};
if (_arg3.visithighlighted){
_arg2.drawimage(11, 0, 55, true);
};
} else {
if (_arg3.newgamehighlighted){
_arg2.drawimage(7, 0, 32, true);
};
if (_arg3.offlinehighlighted){
_arg2.drawimage(9, 0, 42, true);
};
if (_arg3.visithighlighted){
_arg2.drawimage(11, 0, 52, true);
};
};
};
if (_arg3.test){
_arg2.print(2, 2, _arg3.teststring, 0xFF, 0xFF, 0xFF);
};
if (_arg3.debugmode){
_arg2.backbuffer.fillRect(new Rectangle(_arg3.lastx, _arg3.lasty, (int((mouseX / 4)) - _arg3.lastx), (int((mouseY / 4)) - _arg3.lasty)), 0x999999);
_arg2.print(2, 134, ((((((String(_arg3.lastx) + ",") + String(_arg3.lasty)) + ": ") + String((int((mouseX / 4)) - _arg3.lastx))) + ",") + String((int((mouseY / 4)) - _arg3.lasty))), 0xFF, 0xFF, 0xFF);
};
if (_arg3.flashlight > 0){
_arg3.flashlight--;
_arg2.flashlight();
};
if (_arg3.screenshake > 0){
_arg3.screenshake--;
_arg2.screenshake();
_arg2.backbuffer.unlock();
} else {
_arg2.render();
_arg2.backbuffer.unlock();
};
}
public function visit_sponsor_logo():void{
var _local1:URLRequest = new URLRequest("http://www.kongregate.com/?gamereferral=dontlookback");
navigateToURL(_local1, "_blank");
}
public function visit_sponsor(_arg1:Event):void{
var _local2:URLRequest = new URLRequest("http://www.kongregate.com/?gamereferral=dontlookback");
navigateToURL(_local2, "_blank");
}
public function gamelogic(_arg1:KeyPoll, _arg2:dwgraphicsclass, _arg3:gameclass, _arg4:entityclass, _arg5:helpclass, _arg6:musicclass):void{
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
_arg6.processmusic();
_arg6.processamb();
_arg6.processstep();
_arg5.updateglow();
if (((_arg4.checkdamage(_arg3)) && (!(_arg4.restartroom)))){
_arg4.restartroom = true;
_arg4.restartmode = 0;
_arg4.restartcounter = 0;
};
if (_arg4.restartroom){
if (_arg4.restartmode == -1){
_local7 = 0;
while (_local7 < _arg4.nentity) {
if ((((_arg4.entities[_local7].type == 28)) || ((_arg4.entities[_local7].type == 30)))){
_arg4.updateentities(_local7, _arg5, _arg3, _arg6);
_arg4.entities[_local7].newxp = (_arg4.entities[_local7].xp + _arg4.entities[_local7].vx);
_arg4.entities[_local7].newyp = (_arg4.entities[_local7].yp + _arg4.entities[_local7].vy);
_arg4.entities[_local7].xp = _arg4.entities[_local7].newxp;
_arg4.entities[_local7].yp = _arg4.entities[_local7].newyp;
};
_local7++;
};
_arg4.restartcounter++;
if (_arg4.restartcounter == 30){
_arg4.restartcounter = 0;
_arg4.restartmode = 0;
};
} else {
if (_arg4.restartmode == 0){
_arg3.screenshake = 0;
if (_arg4.restartcounter == 0){
if (_arg4.norestartsound == false){
_arg6.playef(6, 200);
};
_arg4.norestartsound = false;
};
_arg4.restartcounter++;
if (_arg4.restartcounter == 10){
_arg4.restartmode = 1;
};
} else {
if (_arg4.restartmode == 1){
_arg4.restartcounter++;
if (_arg4.restartcounter == 12){
_arg4.restartmode = 2;
_arg4.restartcounter = 10;
if (_arg3.startspecial){
_arg5.globaltemp = _arg4.getplayer();
_arg5.globaltemp2 = _arg4.entities[_arg5.globaltemp].dir;
_arg3.gotoroom(_arg3.startroom, _arg4, _arg5, _arg6);
_arg4.createentity(_arg3.startx, _arg3.starty, 0);
if (_arg3.eurydicemode){
_arg4.createentity((_arg3.entx + 18), _arg3.enty, 28);
};
_arg5.globaltemp = _arg4.getplayer();
_arg4.entities[_arg5.globaltemp].dir = _arg5.globaltemp2;
} else {
_arg3.gotoroom(_arg3.currentroom, _arg4, _arg5, _arg6);
_arg4.createentity(_arg3.entx, _arg3.enty, 0);
if (_arg3.eurydicemode){
_arg4.createentity((_arg3.entx + 18), _arg3.enty, 28);
};
_arg5.globaltemp = _arg4.getplayer();
_arg4.entities[_arg5.globaltemp].vx = _arg3.entvx;
_arg4.entities[_arg5.globaltemp].vy = _arg3.entvy;
_arg4.entities[_arg5.globaltemp].dir = _arg3.entdir;
};
};
} else {
if (_arg4.restartmode == 2){
_arg4.restartcounter--;
if (_arg4.restartcounter == 0){
_arg4.restartmode = 0;
_arg4.restartroom = false;
_arg3.shotdelay = 10;
};
};
};
};
};
} else {
_arg3.updaterain(_arg4);
_arg3.updatestate(_arg4, _arg5, _arg6);
_arg4.onladder = false;
if (_arg4.checkladder(_arg3)){
_arg4.onladder = true;
};
_local8 = 0;
while (_local8 < _arg4.nentity) {
_arg4.entities[_local8].vx = (_arg4.entities[_local8].vx + _arg4.entities[_local8].ax);
_arg4.entities[_local8].vy = (_arg4.entities[_local8].vy + _arg4.entities[_local8].ay);
_arg4.entities[_local8].ax = 0;
if (_arg4.entities[_local8].jumping){
if (_arg4.entities[_local8].ay < 0){
_arg4.entities[_local8].ay++;
};
if (_arg4.entities[_local8].ay > -1){
_arg4.entities[_local8].ay = 0;
};
_arg4.entities[_local8].jumpframe--;
if (_arg4.entities[_local8].jumpframe <= 0){
_arg4.entities[_local8].jumping = false;
};
} else {
if (_arg4.onladder){
if (_arg4.entities[_local8].type == 0){
_arg4.entities[_local8].vy = (_arg4.entities[_local8].vy / 2);
_arg4.entities[_local8].bigfallcounter = 0;
_arg4.entities[_local8].onground = true;
_arg4.entities[_local8].ay = 0;
_arg4.entities[_local8].jumpframe = 0;
_arg4.entities[_local8].jumping = false;
} else {
if (_arg4.entities[_local8].gravity){
_arg4.entities[_local8].ay = 1;
};
};
} else {
if (_arg4.entities[_local8].gravity){
_arg4.entities[_local8].ay = 1;
};
};
};
if (_arg4.entities[_local8].gravity){
_arg4.applyfriction(_local8, 0.15, 0.5);
};
_arg4.entities[_local8].newxp = (_arg4.entities[_local8].xp + _arg4.entities[_local8].vx);
_arg4.entities[_local8].newyp = (_arg4.entities[_local8].yp + _arg4.entities[_local8].vy);
if ((((_arg4.entities[_local8].type == 0)) && ((_arg3.currentroom == 0)))){
if (_arg4.entities[_local8].newxp < 30){
_arg4.entities[_local8].newxp = 30;
_arg4.entities[_local8].vx = 0;
};
};
if (_arg4.entities[_local8].type != 28){
if (_arg4.testwallsx(_arg3, _local8, _arg4.entities[_local8].newxp, _arg4.entities[_local8].yp)){
_arg4.entities[_local8].xp = _arg4.entities[_local8].newxp;
} else {
if (_arg4.entities[_local8].onwall > 0){
_arg4.entities[_local8].state = _arg4.entities[_local8].onwall;
};
if (_arg4.entities[_local8].onxwall > 0){
_arg4.entities[_local8].state = _arg4.entities[_local8].onxwall;
};
};
if (_arg4.testwallsy(_arg3, _local8, _arg4.entities[_local8].xp, _arg4.entities[_local8].newyp)){
_arg4.entities[_local8].yp = _arg4.entities[_local8].newyp;
} else {
if (_arg4.entities[_local8].onwall > 0){
_arg4.entities[_local8].state = _arg4.entities[_local8].onwall;
};
if (_arg4.entities[_local8].onywall > 0){
_arg4.entities[_local8].state = _arg4.entities[_local8].onywall;
};
_arg4.entities[_local8].jumpframe = 0;
};
if (!_arg4.testwallsx(_arg3, _local8, _arg4.entities[_local8].xp, _arg4.entities[_local8].yp)){
if (((((((((((((((((((((!((_arg4.entities[_local8].type == 1))) && (!((_arg4.entities[_local8].type == 23))))) && (!((_arg4.entities[_local8].type == 24))))) && (!((_arg4.entities[_local8].type == 25))))) && (!((_arg4.entities[_local8].type == 2))))) && (!((_arg4.entities[_local8].type == 16))))) && (!((_arg4.entities[_local8].type == 15))))) && (!((_arg4.entities[_local8].type == 22))))) && (!((_arg4.entities[_local8].type == 17))))) && (!((_arg4.entities[_local8].type == 14))))) && (!((_arg4.entities[_local8].type == 14))))){
if (_arg3.toggledeath){
_arg4.restartroom = true;
_arg4.restartmode = 0;
_arg4.restartcounter = 0;
} else {
_arg4.entities[_local8].yp = (_arg4.entities[_local8].yp - 3);
};
};
};
_arg4.animateentities(_local8, _arg5, _arg3);
_local9 = (_local8 + 1);
while (_local9 < _arg4.nentity) {
if (_local8 != _local9){
if (_arg4.entities[_local8].onentity){
if (_arg4.entitycollide(_local8, _local9)){
if ((((_arg4.entities[_local8].type == 1)) && ((_arg4.entities[_local8].state == 0)))){
if (_arg4.entities[_local9].onbullet > 0){
if (_arg4.entities[_local9].type == 27){
if (_arg4.entities[_local8].yp < 52){
_arg4.entities[_local9].state = _arg4.entities[_local9].onbullet;
} else {
_arg6.playef(22);
};
_arg4.entities[_local9].bulletvel = _arg4.entities[_local8].vx;
_arg4.entities[_local8].state = 1;
} else {
_arg4.entities[_local9].state = _arg4.entities[_local9].onbullet;
_arg4.entities[_local9].bulletvel = _arg4.entities[_local8].vx;
_arg4.entities[_local8].state = 1;
};
} else {
_arg4.entities[_local8].state = 1;
};
};
if ((((_arg4.entities[_local9].type == 1)) && ((_arg4.entities[_local9].state == 0)))){
if (_arg4.entities[_local8].onbullet > 0){
if (_arg4.entities[_local8].type == 27){
if (_arg4.entities[_local9].yp < 52){
_arg4.entities[_local8].state = _arg4.entities[_local8].onbullet;
};
_arg4.entities[_local8].bulletvel = _arg4.entities[_local9].vx;
_arg4.entities[_local9].state = 1;
} else {
_arg4.entities[_local8].state = _arg4.entities[_local8].onbullet;
_arg4.entities[_local8].bulletvel = _arg4.entities[_local9].vx;
_arg4.entities[_local9].state = 1;
};
} else {
_arg4.entities[_local9].state = 1;
};
};
};
};
if ((((_arg4.entities[_local8].type == 0)) || ((_arg4.entities[_local9].type == 0)))){
if (((_arg4.entities[_local9].harmful) || (_arg4.entities[_local8].harmful))){
if (_arg4.entitycollide(_local8, _local9)){
if ((((_arg4.entities[_local8].size == 0)) && ((_arg4.entities[_local9].size == 0)))){
if (_arg2.tiles[_arg4.entities[_local8].drawframe].hitTest(new Point(_arg4.entities[_local8].xp, _arg4.entities[_local8].yp), 1, _arg2.tiles[_arg4.entities[_local9].drawframe], new Point(_arg4.entities[_local9].xp, _arg4.entities[_local9].yp), 1) == true){
_arg4.restartroom = true;
_arg4.restartmode = 0;
_arg4.restartcounter = 0;
};
} else {
_arg4.restartroom = true;
_arg4.restartmode = 0;
_arg4.restartcounter = 0;
};
};
};
if ((((_arg4.entities[_local9].onplayer > 0)) || ((_arg4.entities[_local8].onplayer > 0)))){
if (_arg4.entitycollide(_local8, _local9)){
if (_arg4.entities[_local8].onplayer > 0){
_arg4.entities[_local8].state = _arg4.entities[_local8].onplayer;
};
if (_arg4.entities[_local9].onplayer > 0){
_arg4.entities[_local9].state = _arg4.entities[_local9].onplayer;
};
};
};
};
};
_local9++;
};
} else {
_arg4.entities[_local8].xp = _arg4.entities[_local8].newxp;
_arg4.entities[_local8].yp = _arg4.entities[_local8].newyp;
};
if (_arg4.entitycollidefloor(_arg3, _local8)){
_arg4.entities[_local8].bigfallcounter = 0;
_arg4.entities[_local8].onground = true;
if (_arg4.entities[_local8].bigfallframe == -1){
_arg4.entities[_local8].bigfallframe = 3;
if (_arg4.entities[_local8].type == 0){
_arg6.playef(_arg6.steptype);
};
};
if (((_arg3.ongroundlasttime) && ((_arg4.entities[_local8].type == 0)))){
_arg3.ongroundlasttime = false;
_arg6.playef(_arg6.steptype);
};
} else {
if (!_arg4.onladder){
if (_arg4.entities[_local8].type == 0){
_arg3.ongroundlasttime = true;
};
_arg4.entities[_local8].onground = false;
_arg4.entities[_local8].bigfallcounter++;
if (_arg4.entities[_local8].bigfallcounter > 25){
_arg4.entities[_local8].bigfallframe = -1;
};
};
};
_local8++;
};
_arg4.activetrigger = -1;
if (_arg4.checktrigger(_arg3)){
_arg3.state = _arg4.activetrigger;
};
if (!_arg4.restartroom){
_local10 = 0;
while (_local10 < _arg4.nentity) {
if (!_arg4.updateentities(_local10, _arg5, _arg3, _arg6)){
_local10--;
};
_local10++;
};
_arg5.globaltemp = _arg4.getplayer();
if ((((_arg4.entities[_arg5.globaltemp].xp < -7)) && ((_arg3.door_left >= -1)))){
if (_arg3.door_left == -1){
if (!_arg4.restartroom){
_arg4.restartroom = true;
_arg4.restartmode = 0;
_arg4.restartcounter = 0;
};
} else {
_arg3.enty = _arg4.entities[_arg5.globaltemp].yp;
_arg3.entdir = _arg4.entities[_arg5.globaltemp].dir;
_arg3.entvx = _arg4.entities[_arg5.globaltemp].vx;
_arg3.entvy = _arg4.entities[_arg5.globaltemp].vy;
_arg5.globaltemp2 = _arg4.entities[_arg5.globaltemp].bigfallcounter;
_arg3.gotoroom(_arg3.door_left, _arg4, _arg5, _arg6);
_arg3.entx = 152;
_arg4.createentity(_arg3.entx, _arg3.enty, 0);
if (_arg3.eurydicemode){
_arg4.createentity((_arg3.entx + 18), _arg3.enty, 28);
};
_arg5.globaltemp = _arg4.getplayer();
_arg4.entities[_arg5.globaltemp].dir = _arg3.entdir;
_arg4.entities[_arg5.globaltemp].bigfallcounter = _arg5.globaltemp2;
_arg4.restartroom = false;
};
} else {
if ((((_arg4.entities[_arg5.globaltemp].xp > 153)) && ((_arg3.door_right >= -1)))){
if (_arg3.door_right == -1){
if (!_arg4.restartroom){
_arg4.restartroom = true;
_arg4.restartmode = 0;
_arg4.restartcounter = 0;
};
} else {
_arg3.enty = _arg4.entities[_arg5.globaltemp].yp;
_arg3.entdir = _arg4.entities[_arg5.globaltemp].dir;
_arg3.entvx = _arg4.entities[_arg5.globaltemp].vx;
_arg3.entvy = _arg4.entities[_arg5.globaltemp].vy;
_arg5.globaltemp2 = _arg4.entities[_arg5.globaltemp].bigfallcounter;
_arg3.gotoroom(_arg3.door_right, _arg4, _arg5, _arg6);
_arg3.entx = -6;
_arg4.createentity(_arg3.entx, _arg3.enty, 0);
if (_arg3.eurydicemode){
_arg4.createentity((_arg3.entx + 18), _arg3.enty, 28);
};
_arg5.globaltemp = _arg4.getplayer();
_arg4.entities[_arg5.globaltemp].dir = _arg3.entdir;
_arg4.entities[_arg5.globaltemp].bigfallcounter = _arg5.globaltemp2;
_arg4.restartroom = false;
};
} else {
if ((((_arg4.entities[_arg5.globaltemp].yp < -4)) && ((_arg3.door_up >= -1)))){
if (_arg3.door_up == -1){
if (!_arg4.restartroom){
_arg4.restartroom = true;
_arg4.restartmode = 0;
_arg4.restartcounter = 0;
};
} else {
_arg3.entx = _arg4.entities[_arg5.globaltemp].xp;
_arg3.entdir = _arg4.entities[_arg5.globaltemp].dir;
_arg3.entvx = _arg4.entities[_arg5.globaltemp].vx;
_arg3.entvy = _arg4.entities[_arg5.globaltemp].vy;
_arg5.globaltemp2 = _arg4.entities[_arg5.globaltemp].bigfallcounter;
_arg3.gotoroom(_arg3.door_up, _arg4, _arg5, _arg6);
_arg3.enty = 137;
_arg4.createentity(_arg3.entx, _arg3.enty, 0);
if (_arg3.eurydicemode){
_arg4.createentity((_arg3.entx + 18), _arg3.enty, 28);
};
_arg5.globaltemp = _arg4.getplayer();
_arg4.entities[_arg5.globaltemp].vy = _arg3.entvy;
_arg4.entities[_arg5.globaltemp].dir = _arg3.entdir;
_arg4.entities[_arg5.globaltemp].bigfallcounter = _arg5.globaltemp2;
_arg4.restartroom = false;
};
} else {
if ((((_arg4.entities[_arg5.globaltemp].yp > 138)) && ((_arg3.door_down >= -1)))){
if (_arg3.door_down == -1){
if (!_arg4.restartroom){
_arg4.restartroom = true;
_arg4.restartmode = 0;
_arg4.restartcounter = 0;
};
} else {
_arg3.entx = _arg4.entities[_arg5.globaltemp].xp;
_arg3.entdir = _arg4.entities[_arg5.globaltemp].dir;
_arg3.entvx = _arg4.entities[_arg5.globaltemp].vx;
_arg3.entvy = _arg4.entities[_arg5.globaltemp].vy;
_arg5.globaltemp2 = _arg4.entities[_arg5.globaltemp].bigfallcounter;
_arg3.gotoroom(_arg3.door_down, _arg4, _arg5, _arg6);
_arg3.enty = -3;
_arg4.createentity(_arg3.entx, _arg3.enty, 0);
if (_arg3.eurydicemode){
_arg4.createentity((_arg3.entx + 18), _arg3.enty, 28);
};
_arg5.globaltemp = _arg4.getplayer();
_arg4.entities[_arg5.globaltemp].vy = _arg3.entvy;
_arg4.entities[_arg5.globaltemp].dir = _arg3.entdir;
_arg4.entities[_arg5.globaltemp].bigfallcounter = _arg5.globaltemp2;
_arg4.restartroom = false;
};
};
};
};
};
};
};
}
public function lockedloop(_arg1:Event):void{
dwgfx.backbuffer.lock();
dwgfx.bprint(5, 57, "Sorry! This game can", 0xFF, 177, 181, true);
dwgfx.bprint(5, 67, "only by played on", 0xFF, 177, 181, true);
dwgfx.bprint(5, 77, "www.distractionware.com", 0xFF, 177, 181, true);
dwgfx.render();
dwgfx.backbuffer.unlock();
help.updateglow();
}
public function sponsorloop(_arg1:Event):void{
var _local2:uint;
var _local3:uint;
dwgfx.backbuffer.lock();
dwgfx.backbuffer.fillRect(new Rectangle(0, 0, 160, 144), 1114884);
dwgfx.backbuffer.draw(slogo, logoposition);
dwgfx.backbuffer.fillRect(new Rectangle(0, 131, 160, 25), 1114884);
dwgfx.backbuffer.fillRect(new Rectangle(0, 0, 25, 131), 1114884);
dwgfx.backbuffer.fillRect(new Rectangle(133, 0, 27, 131), 1114884);
dwgfx.backbuffer.fillRect(new Rectangle(25, 0, 108, 14), 1114884);
pj = 14;
while (pj < 131) {
pi = 25;
while (pi < 133) {
_local2 = dwgfx.backbuffer.getPixel(pi, pj);
_local2 = ((_local2 >> 16) & 0xFF);
if (_local2 < 90){
_local3 = 1114884;
} else {
if (_local2 < 154){
_local3 = 4522758;
} else {
if (_local2 < 240){
_local3 = 9383213;
} else {
_local3 = 15832473;
};
};
};
dwgfx.backbuffer.setPixel(pi, pj, _local3);
pi++;
};
pj++;
};
dwgfx.render();
dwgfx.backbuffer.unlock();
if (slogo.currentFrame == slogo.totalFrames){
slogo.stop();
slogo.removeEventListener(MouseEvent.CLICK, visit_sponsor);
removeEventListener(Event.ENTER_FRAME, sponsorloop);
addChild(dwgfx);
music.changeamb(0);
music.steptype = 0;
addEventListener(Event.ENTER_FRAME, mainloop);
};
if (((key.hasclicked) && (!(clickedlogo)))){
clickedlogo = true;
visit_sponsor_logo();
};
if (key.hasclicked){
key.click = false;
};
}
public function sitelock():Boolean{
var _local1:String = stage.loaderInfo.url.toLowerCase();
if ((((_local1.indexOf("distractionware.com") <= 0)) && ((_local1.indexOf("flashgamelicense.com") <= 0)))){
return (true);
};
return (true);
}
public function gameinput(_arg1:KeyPoll, _arg2:dwgraphicsclass, _arg3:gameclass, _arg4:entityclass, _arg5:helpclass, _arg6:musicclass):void{
var _local8:Number;
var _local9:URLRequest;
var _local10:URLRequest;
var _local11:URLRequest;
var _local12:URLRequest;
var _local13:int;
_arg3.mx = (mouseX / 4);
_arg3.my = (mouseY / 4);
if (_arg3.showmenu > 0){
_arg3.newgamehighlighted = false;
_arg3.offlinehighlighted = false;
_arg3.visithighlighted = false;
_arg3.restorehighlighted = false;
if (_arg3.standaloneversion){
if (_arg3.savepoint > 0){
if ((((_arg3.my >= 31)) && ((_arg3.my <= 37)))){
_arg3.newgamehighlighted = true;
};
if ((((_arg3.my >= 41)) && ((_arg3.my <= 47)))){
_arg3.restorehighlighted = true;
};
if ((((_arg3.my >= 51)) && ((_arg3.my <= 57)))){
_arg3.visithighlighted = true;
};
} else {
if ((((_arg3.my >= 36)) && ((_arg3.my <= 42)))){
_arg3.newgamehighlighted = true;
};
if ((((_arg3.my >= 46)) && ((_arg3.my <= 52)))){
_arg3.visithighlighted = true;
};
};
} else {
if (_arg3.savepoint > 0){
if ((((_arg3.my >= 27)) && ((_arg3.my <= 33)))){
_arg3.newgamehighlighted = true;
};
if ((((_arg3.my >= 37)) && ((_arg3.my <= 42)))){
_arg3.restorehighlighted = true;
};
if ((((_arg3.my >= 45)) && ((_arg3.my <= 51)))){
_arg3.offlinehighlighted = true;
};
if ((((_arg3.my >= 54)) && ((_arg3.my <= 60)))){
_arg3.visithighlighted = true;
};
} else {
if ((((_arg3.my >= 31)) && ((_arg3.my <= 37)))){
_arg3.newgamehighlighted = true;
};
if ((((_arg3.my >= 41)) && ((_arg3.my <= 47)))){
_arg3.offlinehighlighted = true;
};
if ((((_arg3.my >= 51)) && ((_arg3.my <= 57)))){
_arg3.visithighlighted = true;
};
};
};
if (_arg1.click){
if (_arg3.newgamehighlighted){
_local8 = 0;
while (_local8 < 300) {
_arg4.flags[_local8] = 0;
_local8++;
};
_arg3.toggledeath = false;
_arg3.flashlight = 0;
_arg3.screenshake = 0;
_arg3.eurydicemode = false;
_arg3.rain = true;
_arg3.hasgun = false;
_arg3.createtrigger(130, 0, 10, 150, 8);
_arg3.offlinehighlighted = false;
_arg3.visithighlighted = false;
_arg3.restorehighlighted = false;
_arg3.state = 24;
_arg3.showmenu = 0;
};
if (_arg3.restorehighlighted){
_arg3.offlinehighlighted = false;
_arg3.visithighlighted = false;
_arg3.newgamehighlighted = false;
_arg3.state = 33;
_arg3.showmenu = 0;
};
if (_arg3.visithighlighted){
_local9 = new URLRequest("http://www.distractionware.com");
navigateToURL(_local9, "_blank");
};
if (_arg3.offlinehighlighted){
_local10 = new URLRequest("http://www.distractionware.com/games/flash/dontlookback/offline/");
navigateToURL(_local10, "_blank");
};
if (_arg3.showmenu > 0){
if ((((_arg3.my >= 134)) && ((_arg3.my <= 142)))){
if (_arg3.kongversion){
_local11 = new URLRequest("http://www.kongregate.com/?gamereferral=dontlookback");
navigateToURL(_local11, "_blank");
} else {
_local12 = new URLRequest("http://www.distractionware.com");
navigateToURL(_local12, "_blank");
};
};
};
};
};
var _local7:int;
while (_local7 < _arg4.nentity) {
if (_arg4.entities[_local7].type == 0){
if (_arg4.entities[_local7].bigfallframe <= 0){
if (_arg3.hascontrol){
if (((_arg1.isDown(Keyboard.LEFT)) || (_arg1.isDown(65)))){
_arg6.playstep(_arg6.steptype);
_arg4.entities[_local7].vx = -2;
_arg4.entities[_local7].dir = 0;
} else {
if (((_arg1.isDown(Keyboard.RIGHT)) || (_arg1.isDown(68)))){
if (((_arg3.eurydicemode) && (!(_arg4.restartroom)))){
if (_arg4.entities[_local7].onground){
_arg6.playstep(_arg6.steptype);
};
_arg4.restartroom = true;
_arg4.restartmode = -1;
_arg4.restartcounter = 0;
_arg4.entities[_local7].dir = 1;
_arg4.entities[_arg4.geteurydice()].state = 1;
_arg4.animateentities(_local7, _arg5, _arg3);
} else {
if (_arg4.entities[_local7].onground){
_arg6.playstep(_arg6.steptype);
};
_arg4.entities[_local7].vx = 2;
_arg4.entities[_local7].dir = 1;
};
} else {
_arg4.entities[_local7].vx = 0;
_arg6.stopstep();
};
};
if (!_arg4.entities[_local7].onground){
_arg6.stopstep();
};
if (_arg4.restartroom){
_arg6.stopstep();
};
if (_arg4.onladder){
_arg3.jumpheld = false;
if (((((_arg1.isDown(Keyboard.UP)) || (_arg1.isDown(90)))) || (_arg1.isDown(87)))){
if (((_arg4.entities[_local7].onground) && (!(_arg4.entities[_local7].jumping)))){
_arg4.entities[_local7].ay = -2;
_arg4.entities[_local7].jumping = true;
_arg4.entities[_local7].jumpframe = 2;
};
} else {
if (((_arg1.isDown(Keyboard.DOWN)) || (_arg1.isDown(83)))){
_arg4.entities[_local7].vy = 4;
};
};
} else {
if (((((_arg1.isUp(Keyboard.UP)) && (_arg1.isUp(90)))) && (_arg1.isUp(87)))){
_arg3.jumpheld = false;
};
if (((((((_arg1.isDown(Keyboard.UP)) || (_arg1.isDown(90)))) || (_arg1.isDown(87)))) && (!(_arg3.jumpheld)))){
_arg3.jumpheld = true;
if (((_arg4.entities[_local7].onground) && (!(_arg4.entities[_local7].jumping)))){
_arg4.entities[_local7].ay = -5;
_arg4.entities[_local7].jumping = true;
_arg4.entities[_local7].jumpframe = 10;
};
};
};
if (((_arg1.isDown(Keyboard.SPACE)) || (_arg1.isDown(88)))){
_arg3.isshooting = true;
} else {
_arg3.isshooting = false;
};
if (((_arg3.hasgun) && (!(_arg4.restartroom)))){
_arg3.shotdelay--;
if (_arg3.shotdelay <= 0){
_arg3.shotdelay = 0;
};
if (((((_arg1.isDown(Keyboard.SPACE)) || (_arg1.isDown(88)))) && ((_arg3.shotdelay <= 0)))){
_arg6.playef(4);
_arg3.shotdelay = 12;
_local13 = _arg4.getplayer();
if (_local13 > -1){
if (_arg4.entities[_local13].dir == 0){
_arg4.createentity((_arg4.entities[_local13].xp + 6), (_arg4.entities[_local13].yp + 6), 1, (-7 + _arg4.entities[_local13].vx), 0);
};
if (_arg4.entities[_local13].dir == 1){
_arg4.createentity((_arg4.entities[_local13].xp + 4), (_arg4.entities[_local13].yp + 6), 1, (7 + _arg4.entities[_local13].vx), 0);
};
};
};
};
} else {
_arg4.entities[_local7].vx = 0;
};
} else {
_arg4.entities[_local7].vx = (_arg4.entities[_local7].vx / 2);
};
};
_local7++;
};
}
private function sponsorinit():void{
slogo = new KONG_30FPS();
slogo.addEventListener(MouseEvent.CLICK, visit_sponsor);
addChild(dwgfx);
logoposition = new Matrix();
logoposition.scale(0.65, 0.65);
logoposition.translate(84, 87);
clickedlogo = false;
addEventListener(Event.ENTER_FRAME, sponsorloop);
}
public function visit_distractionware(_arg1:Event):void{
var _local2:URLRequest = new URLRequest("http://www.distractionware.com");
navigateToURL(_local2, "_blank");
}
public function getsite():String{
var _local1:String = stage.loaderInfo.url.toLowerCase();
return (_local1);
}
public function mainloop(_arg1:Event):void{
if (((game.paused) || (!(game.infocus)))){
if (game.globalsound > 0){
game.globalsound = 0;
SoundMixer.soundTransform = new SoundTransform(0);
};
dwgfx.backbuffer.lock();
dwgfx.backbuffer.fillRect(new Rectangle(0, 0, 160, 144), 1114884);
dwgfx.bprint(5, 60, "[Game paused]", 253, 196, 195, true);
dwgfx.bprint(5, 70, "Click to resume", 253, 196, 195, true);
dwgfx.bprint(5, 134, "[Press M to Mute in game]", 253, 196, 195, true);
dwgfx.render();
dwgfx.backbuffer.unlock();
music.processmusic();
music.processamb();
music.processstep();
} else {
gamerender(key, dwgfx, game, obj, help);
gameinput(key, dwgfx, game, obj, help, music);
gamelogic(key, dwgfx, game, obj, help, music);
if (((key.isDown(77)) && ((game.mutebutton <= 0)))){
game.mutebutton = 8;
if (game.muted){
game.muted = false;
} else {
game.muted = true;
};
};
if (game.mutebutton > 0){
game.mutebutton--;
};
if (game.muted){
if (game.globalsound == 1){
game.globalsound = 0;
SoundMixer.soundTransform = new SoundTransform(0);
};
};
if (((!(game.muted)) && ((game.globalsound == 0)))){
game.globalsound = 1;
SoundMixer.soundTransform = new SoundTransform(1);
};
};
if (key.hasclicked){
key.click = false;
};
}
}
}//package
Section 30
//Main_amb_1 (Main_amb_1)
package {
import mx.core.*;
public class Main_amb_1 extends SoundAsset {
}
}//package
Section 31
//Main_amb_2 (Main_amb_2)
package {
import mx.core.*;
public class Main_amb_2 extends SoundAsset {
}
}//package
Section 32
//Main_amb_3 (Main_amb_3)
package {
import mx.core.*;
public class Main_amb_3 extends SoundAsset {
}
}//package
Section 33
//Main_amb_4 (Main_amb_4)
package {
import mx.core.*;
public class Main_amb_4 extends SoundAsset {
}
}//package
Section 34
//Main_ef_0 (Main_ef_0)
package {
import mx.core.*;
public class Main_ef_0 extends SoundAsset {
}
}//package
Section 35
//Main_ef_1 (Main_ef_1)
package {
import mx.core.*;
public class Main_ef_1 extends SoundAsset {
}
}//package
Section 36
//Main_ef_10 (Main_ef_10)
package {
import mx.core.*;
public class Main_ef_10 extends SoundAsset {
}
}//package
Section 37
//Main_ef_11 (Main_ef_11)
package {
import mx.core.*;
public class Main_ef_11 extends SoundAsset {
}
}//package
Section 38
//Main_ef_12 (Main_ef_12)
package {
import mx.core.*;
public class Main_ef_12 extends SoundAsset {
}
}//package
Section 39
//Main_ef_13 (Main_ef_13)
package {
import mx.core.*;
public class Main_ef_13 extends SoundAsset {
}
}//package
Section 40
//Main_ef_14 (Main_ef_14)
package {
import mx.core.*;
public class Main_ef_14 extends SoundAsset {
}
}//package
Section 41
//Main_ef_15 (Main_ef_15)
package {
import mx.core.*;
public class Main_ef_15 extends SoundAsset {
}
}//package
Section 42
//Main_ef_16 (Main_ef_16)
package {
import mx.core.*;
public class Main_ef_16 extends SoundAsset {
}
}//package
Section 43
//Main_ef_17 (Main_ef_17)
package {
import mx.core.*;
public class Main_ef_17 extends SoundAsset {
}
}//package
Section 44
//Main_ef_18 (Main_ef_18)
package {
import mx.core.*;
public class Main_ef_18 extends SoundAsset {
}
}//package
Section 45
//Main_ef_19 (Main_ef_19)
package {
import mx.core.*;
public class Main_ef_19 extends SoundAsset {
}
}//package
Section 46
//Main_ef_2 (Main_ef_2)
package {
import mx.core.*;
public class Main_ef_2 extends SoundAsset {
}
}//package
Section 47
//Main_ef_20 (Main_ef_20)
package {
import mx.core.*;
public class Main_ef_20 extends SoundAsset {
}
}//package
Section 48
//Main_ef_21 (Main_ef_21)
package {
import mx.core.*;
public class Main_ef_21 extends SoundAsset {
}
}//package
Section 49
//Main_ef_22 (Main_ef_22)
package {
import mx.core.*;
public class Main_ef_22 extends SoundAsset {
}
}//package
Section 50
//Main_ef_3 (Main_ef_3)
package {
import mx.core.*;
public class Main_ef_3 extends SoundAsset {
}
}//package
Section 51
//Main_ef_4 (Main_ef_4)
package {
import mx.core.*;
public class Main_ef_4 extends SoundAsset {
}
}//package
Section 52
//Main_ef_5 (Main_ef_5)
package {
import mx.core.*;
public class Main_ef_5 extends SoundAsset {
}
}//package
Section 53
//Main_ef_6 (Main_ef_6)
package {
import mx.core.*;
public class Main_ef_6 extends SoundAsset {
}
}//package
Section 54
//Main_ef_7 (Main_ef_7)
package {
import mx.core.*;
public class Main_ef_7 extends SoundAsset {
}
}//package
Section 55
//Main_ef_8 (Main_ef_8)
package {
import mx.core.*;
public class Main_ef_8 extends SoundAsset {
}
}//package
Section 56
//Main_ef_9 (Main_ef_9)
package {
import mx.core.*;
public class Main_ef_9 extends SoundAsset {
}
}//package
Section 57
//Main_footsteps_1 (Main_footsteps_1)
package {
import mx.core.*;
public class Main_footsteps_1 extends SoundAsset {
}
}//package
Section 58
//Main_footsteps_2 (Main_footsteps_2)
package {
import mx.core.*;
public class Main_footsteps_2 extends SoundAsset {
}
}//package
Section 59
//Main_footsteps_3 (Main_footsteps_3)
package {
import mx.core.*;
public class Main_footsteps_3 extends SoundAsset {
}
}//package
Section 60
//Main_im_background_0 (Main_im_background_0)
package {
import mx.core.*;
public class Main_im_background_0 extends BitmapAsset {
}
}//package
Section 61
//Main_im_background_1 (Main_im_background_1)
package {
import mx.core.*;
public class Main_im_background_1 extends BitmapAsset {
}
}//package
Section 62
//Main_im_background_10 (Main_im_background_10)
package {
import mx.core.*;
public class Main_im_background_10 extends BitmapAsset {
}
}//package
Section 63
//Main_im_background_11 (Main_im_background_11)
package {
import mx.core.*;
public class Main_im_background_11 extends BitmapAsset {
}
}//package
Section 64
//Main_im_background_12 (Main_im_background_12)
package {
import mx.core.*;
public class Main_im_background_12 extends BitmapAsset {
}
}//package
Section 65
//Main_im_background_13 (Main_im_background_13)
package {
import mx.core.*;
public class Main_im_background_13 extends BitmapAsset {
}
}//package
Section 66
//Main_im_background_14 (Main_im_background_14)
package {
import mx.core.*;
public class Main_im_background_14 extends BitmapAsset {
}
}//package
Section 67
//Main_im_background_15 (Main_im_background_15)
package {
import mx.core.*;
public class Main_im_background_15 extends BitmapAsset {
}
}//package
Section 68
//Main_im_background_16 (Main_im_background_16)
package {
import mx.core.*;
public class Main_im_background_16 extends BitmapAsset {
}
}//package
Section 69
//Main_im_background_17 (Main_im_background_17)
package {
import mx.core.*;
public class Main_im_background_17 extends BitmapAsset {
}
}//package
Section 70
//Main_im_background_18 (Main_im_background_18)
package {
import mx.core.*;
public class Main_im_background_18 extends BitmapAsset {
}
}//package
Section 71
//Main_im_background_19 (Main_im_background_19)
package {
import mx.core.*;
public class Main_im_background_19 extends BitmapAsset {
}
}//package
Section 72
//Main_im_background_2 (Main_im_background_2)
package {
import mx.core.*;
public class Main_im_background_2 extends BitmapAsset {
}
}//package
Section 73
//Main_im_background_20 (Main_im_background_20)
package {
import mx.core.*;
public class Main_im_background_20 extends BitmapAsset {
}
}//package
Section 74
//Main_im_background_21 (Main_im_background_21)
package {
import mx.core.*;
public class Main_im_background_21 extends BitmapAsset {
}
}//package
Section 75
//Main_im_background_22 (Main_im_background_22)
package {
import mx.core.*;
public class Main_im_background_22 extends BitmapAsset {
}
}//package
Section 76
//Main_im_background_23 (Main_im_background_23)
package {
import mx.core.*;
public class Main_im_background_23 extends BitmapAsset {
}
}//package
Section 77
//Main_im_background_24 (Main_im_background_24)
package {
import mx.core.*;
public class Main_im_background_24 extends BitmapAsset {
}
}//package
Section 78
//Main_im_background_25 (Main_im_background_25)
package {
import mx.core.*;
public class Main_im_background_25 extends BitmapAsset {
}
}//package
Section 79
//Main_im_background_26 (Main_im_background_26)
package {
import mx.core.*;
public class Main_im_background_26 extends BitmapAsset {
}
}//package
Section 80
//Main_im_background_27 (Main_im_background_27)
package {
import mx.core.*;
public class Main_im_background_27 extends BitmapAsset {
}
}//package
Section 81
//Main_im_background_28 (Main_im_background_28)
package {
import mx.core.*;
public class Main_im_background_28 extends BitmapAsset {
}
}//package
Section 82
//Main_im_background_29 (Main_im_background_29)
package {
import mx.core.*;
public class Main_im_background_29 extends BitmapAsset {
}
}//package
Section 83
//Main_im_background_3 (Main_im_background_3)
package {
import mx.core.*;
public class Main_im_background_3 extends BitmapAsset {
}
}//package
Section 84
//Main_im_background_30 (Main_im_background_30)
package {
import mx.core.*;
public class Main_im_background_30 extends BitmapAsset {
}
}//package
Section 85
//Main_im_background_31 (Main_im_background_31)
package {
import mx.core.*;
public class Main_im_background_31 extends BitmapAsset {
}
}//package
Section 86
//Main_im_background_32 (Main_im_background_32)
package {
import mx.core.*;
public class Main_im_background_32 extends BitmapAsset {
}
}//package
Section 87
//Main_im_background_33 (Main_im_background_33)
package {
import mx.core.*;
public class Main_im_background_33 extends BitmapAsset {
}
}//package
Section 88
//Main_im_background_34 (Main_im_background_34)
package {
import mx.core.*;
public class Main_im_background_34 extends BitmapAsset {
}
}//package
Section 89
//Main_im_background_35 (Main_im_background_35)
package {
import mx.core.*;
public class Main_im_background_35 extends BitmapAsset {
}
}//package
Section 90
//Main_im_background_36 (Main_im_background_36)
package {
import mx.core.*;
public class Main_im_background_36 extends BitmapAsset {
}
}//package
Section 91
//Main_im_background_37 (Main_im_background_37)
package {
import mx.core.*;
public class Main_im_background_37 extends BitmapAsset {
}
}//package
Section 92
//Main_im_background_38 (Main_im_background_38)
package {
import mx.core.*;
public class Main_im_background_38 extends BitmapAsset {
}
}//package
Section 93
//Main_im_background_39 (Main_im_background_39)
package {
import mx.core.*;
public class Main_im_background_39 extends BitmapAsset {
}
}//package
Section 94
//Main_im_background_4 (Main_im_background_4)
package {
import mx.core.*;
public class Main_im_background_4 extends BitmapAsset {
}
}//package
Section 95
//Main_im_background_40 (Main_im_background_40)
package {
import mx.core.*;
public class Main_im_background_40 extends BitmapAsset {
}
}//package
Section 96
//Main_im_background_41 (Main_im_background_41)
package {
import mx.core.*;
public class Main_im_background_41 extends BitmapAsset {
}
}//package
Section 97
//Main_im_background_42 (Main_im_background_42)
package {
import mx.core.*;
public class Main_im_background_42 extends BitmapAsset {
}
}//package
Section 98
//Main_im_background_43 (Main_im_background_43)
package {
import mx.core.*;
public class Main_im_background_43 extends BitmapAsset {
}
}//package
Section 99
//Main_im_background_44 (Main_im_background_44)
package {
import mx.core.*;
public class Main_im_background_44 extends BitmapAsset {
}
}//package
Section 100
//Main_im_background_45 (Main_im_background_45)
package {
import mx.core.*;
public class Main_im_background_45 extends BitmapAsset {
}
}//package
Section 101
//Main_im_background_46 (Main_im_background_46)
package {
import mx.core.*;
public class Main_im_background_46 extends BitmapAsset {
}
}//package
Section 102
//Main_im_background_47 (Main_im_background_47)
package {
import mx.core.*;
public class Main_im_background_47 extends BitmapAsset {
}
}//package
Section 103
//Main_im_background_48 (Main_im_background_48)
package {
import mx.core.*;
public class Main_im_background_48 extends BitmapAsset {
}
}//package
Section 104
//Main_im_background_49 (Main_im_background_49)
package {
import mx.core.*;
public class Main_im_background_49 extends BitmapAsset {
}
}//package
Section 105
//Main_im_background_5 (Main_im_background_5)
package {
import mx.core.*;
public class Main_im_background_5 extends BitmapAsset {
}
}//package
Section 106
//Main_im_background_50 (Main_im_background_50)
package {
import mx.core.*;
public class Main_im_background_50 extends BitmapAsset {
}
}//package
Section 107
//Main_im_background_51 (Main_im_background_51)
package {
import mx.core.*;
public class Main_im_background_51 extends BitmapAsset {
}
}//package
Section 108
//Main_im_background_52 (Main_im_background_52)
package {
import mx.core.*;
public class Main_im_background_52 extends BitmapAsset {
}
}//package
Section 109
//Main_im_background_53 (Main_im_background_53)
package {
import mx.core.*;
public class Main_im_background_53 extends BitmapAsset {
}
}//package
Section 110
//Main_im_background_54 (Main_im_background_54)
package {
import mx.core.*;
public class Main_im_background_54 extends BitmapAsset {
}
}//package
Section 111
//Main_im_background_55 (Main_im_background_55)
package {
import mx.core.*;
public class Main_im_background_55 extends BitmapAsset {
}
}//package
Section 112
//Main_im_background_56 (Main_im_background_56)
package {
import mx.core.*;
public class Main_im_background_56 extends BitmapAsset {
}
}//package
Section 113
//Main_im_background_57 (Main_im_background_57)
package {
import mx.core.*;
public class Main_im_background_57 extends BitmapAsset {
}
}//package
Section 114
//Main_im_background_58 (Main_im_background_58)
package {
import mx.core.*;
public class Main_im_background_58 extends BitmapAsset {
}
}//package
Section 115
//Main_im_background_59 (Main_im_background_59)
package {
import mx.core.*;
public class Main_im_background_59 extends BitmapAsset {
}
}//package
Section 116
//Main_im_background_6 (Main_im_background_6)
package {
import mx.core.*;
public class Main_im_background_6 extends BitmapAsset {
}
}//package
Section 117
//Main_im_background_60 (Main_im_background_60)
package {
import mx.core.*;
public class Main_im_background_60 extends BitmapAsset {
}
}//package
Section 118
//Main_im_background_7 (Main_im_background_7)
package {
import mx.core.*;
public class Main_im_background_7 extends BitmapAsset {
}
}//package
Section 119
//Main_im_background_8 (Main_im_background_8)
package {
import mx.core.*;
public class Main_im_background_8 extends BitmapAsset {
}
}//package
Section 120
//Main_im_background_9 (Main_im_background_9)
package {
import mx.core.*;
public class Main_im_background_9 extends BitmapAsset {
}
}//package
Section 121
//Main_im_bfont (Main_im_bfont)
package {
import mx.core.*;
public class Main_im_bfont extends BitmapAsset {
}
}//package
Section 122
//Main_im_bfontmask (Main_im_bfontmask)
package {
import mx.core.*;
public class Main_im_bfontmask extends BitmapAsset {
}
}//package
Section 123
//Main_im_creditline1 (Main_im_creditline1)
package {
import mx.core.*;
public class Main_im_creditline1 extends BitmapAsset {
}
}//package
Section 124
//Main_im_creditline2 (Main_im_creditline2)
package {
import mx.core.*;
public class Main_im_creditline2 extends BitmapAsset {
}
}//package
Section 125
//Main_im_opt_fullscreen1 (Main_im_opt_fullscreen1)
package {
import mx.core.*;
public class Main_im_opt_fullscreen1 extends BitmapAsset {
}
}//package
Section 126
//Main_im_opt_fullscreen2 (Main_im_opt_fullscreen2)
package {
import mx.core.*;
public class Main_im_opt_fullscreen2 extends BitmapAsset {
}
}//package
Section 127
//Main_im_opt_newgame1 (Main_im_opt_newgame1)
package {
import mx.core.*;
public class Main_im_opt_newgame1 extends BitmapAsset {
}
}//package
Section 128
//Main_im_opt_newgame2 (Main_im_opt_newgame2)
package {
import mx.core.*;
public class Main_im_opt_newgame2 extends BitmapAsset {
}
}//package
Section 129
//Main_im_opt_offline1 (Main_im_opt_offline1)
package {
import mx.core.*;
public class Main_im_opt_offline1 extends BitmapAsset {
}
}//package
Section 130
//Main_im_opt_offline2 (Main_im_opt_offline2)
package {
import mx.core.*;
public class Main_im_opt_offline2 extends BitmapAsset {
}
}//package
Section 131
//Main_im_opt_restore1 (Main_im_opt_restore1)
package {
import mx.core.*;
public class Main_im_opt_restore1 extends BitmapAsset {
}
}//package
Section 132
//Main_im_opt_restore2 (Main_im_opt_restore2)
package {
import mx.core.*;
public class Main_im_opt_restore2 extends BitmapAsset {
}
}//package
Section 133
//Main_im_opt_visitsite1 (Main_im_opt_visitsite1)
package {
import mx.core.*;
public class Main_im_opt_visitsite1 extends BitmapAsset {
}
}//package
Section 134
//Main_im_opt_visitsite2 (Main_im_opt_visitsite2)
package {
import mx.core.*;
public class Main_im_opt_visitsite2 extends BitmapAsset {
}
}//package
Section 135
//Main_im_pressarrowkeys (Main_im_pressarrowkeys)
package {
import mx.core.*;
public class Main_im_pressarrowkeys extends BitmapAsset {
}
}//package
Section 136
//Main_im_pressxorspace (Main_im_pressxorspace)
package {
import mx.core.*;
public class Main_im_pressxorspace extends BitmapAsset {
}
}//package
Section 137
//Main_im_presszorup (Main_im_presszorup)
package {
import mx.core.*;
public class Main_im_presszorup extends BitmapAsset {
}
}//package
Section 138
//Main_im_sponscreditline1 (Main_im_sponscreditline1)
package {
import mx.core.*;
public class Main_im_sponscreditline1 extends BitmapAsset {
}
}//package
Section 139
//Main_im_sponscreditline2 (Main_im_sponscreditline2)
package {
import mx.core.*;
public class Main_im_sponscreditline2 extends BitmapAsset {
}
}//package
Section 140
//Main_im_sponsorwebsite (Main_im_sponsorwebsite)
package {
import mx.core.*;
public class Main_im_sponsorwebsite extends BitmapAsset {
}
}//package
Section 141
//Main_im_sponsorwebsite2 (Main_im_sponsorwebsite2)
package {
import mx.core.*;
public class Main_im_sponsorwebsite2 extends BitmapAsset {
}
}//package
Section 142
//Main_im_tiles (Main_im_tiles)
package {
import mx.core.*;
public class Main_im_tiles extends BitmapAsset {
}
}//package
Section 143
//Main_im_title1 (Main_im_title1)
package {
import mx.core.*;
public class Main_im_title1 extends BitmapAsset {
}
}//package
Section 144
//Main_im_title2 (Main_im_title2)
package {
import mx.core.*;
public class Main_im_title2 extends BitmapAsset {
}
}//package
Section 145
//Main_im_website (Main_im_website)
package {
import mx.core.*;
public class Main_im_website extends BitmapAsset {
}
}//package
Section 146
//Main_music_1 (Main_music_1)
package {
import mx.core.*;
public class Main_music_1 extends SoundAsset {
}
}//package
Section 147
//Main_music_2 (Main_music_2)
package {
import mx.core.*;
public class Main_music_2 extends SoundAsset {
}
}//package
Section 148
//Main_music_3 (Main_music_3)
package {
import mx.core.*;
public class Main_music_3 extends SoundAsset {
}
}//package
Section 149
//Main_music_4 (Main_music_4)
package {
import mx.core.*;
public class Main_music_4 extends SoundAsset {
}
}//package
Section 150
//musicclass (musicclass)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class musicclass extends Sprite {
public var stepstopother:int;
public var ambchan:Array;
public var ambchanlen:int;
public var currentsong:int;
public var step2playing:Boolean;
public var ambchannel:SoundChannel;
public var musicfadein:int;
public var currentstepchan:int;
public var currentamb:int;
public var currentmusicchan:int;
public var stepchan:Array;
public var musicfade:int;
public var step1playing:Boolean;
public var currentefchan:int;
public var steptype:int;
public var ambchancur:int;
public var playingsteps:Boolean;
public var musicchannel:SoundChannel;
public var amb2active:Boolean;
public var musicchannel2:SoundChannel;
public var ambchannel2:SoundChannel;
public var stepchannel:SoundChannel;
public var musicstopother:int;
public var currentstep:int;
public var musicchanlen:int;
public var stopother:int;
public var stepchanlen:int;
public var efchannel:Array;
public var stepchannel2:SoundChannel;
public var stepchancur:int;
public var musicchancur:int;
public var currentambchan:int;
public var efchan:Array;
public var musicchan:Array;
public function musicclass(){
ambchan = new Array();
musicchan = new Array();
stepchan = new Array();
efchannel = new Array();
efchan = new Array();
super();
}
public function playstep(_arg1:int):void{
if (currentstep != _arg1){
if (currentstep != -1){
stepchanlen = 0;
stepchancur = stepchanlen;
currentstepchan = 0;
stepstopother = 0;
if (step1playing){
stepchannel.stop();
};
if (step2playing){
stepchannel2.stop();
};
};
if (_arg1 != -1){
if (_arg1 == 0){
stepchanlen = 64;
};
if (_arg1 == 1){
stepchanlen = 52;
};
if (_arg1 == 2){
stepchanlen = 52;
};
stepchancur = stepchanlen;
currentstepchan = 0;
currentstep = _arg1;
stepchannel = stepchan[currentstep].play();
step1playing = true;
step2playing = false;
} else {
currentstep = -1;
};
};
}
public function initefchannels():void{
var _local1:int;
while (_local1 < 16) {
efchannel.push(new SoundChannel());
_local1++;
};
}
public function changeamb(_arg1:int):void{
if (currentamb != _arg1){
if (currentamb != -1){
ambchanlen = 0;
ambchancur = ambchanlen;
currentambchan = 0;
stopother = 0;
ambchannel.stop();
if (amb2active){
ambchannel2.stop();
};
};
if (_arg1 != -1){
if (_arg1 == 0){
ambchanlen = 285;
};
if (_arg1 == 1){
ambchanlen = 360;
};
if (_arg1 == 2){
ambchanlen = 120;
};
if (_arg1 == 3){
ambchanlen = 480;
};
ambchancur = ambchanlen;
currentambchan = 0;
currentamb = _arg1;
ambchannel = ambchan[currentamb].play();
} else {
currentamb = -1;
};
};
}
public function processmusicfade():void{
musicfade--;
if (musicfade > 0){
if (currentmusicchan == 0){
musicchannel.soundTransform = new SoundTransform((musicfade / 60));
};
if (currentmusicchan == 1){
musicchannel2.soundTransform = new SoundTransform((musicfade / 60));
};
} else {
if (currentmusicchan == 0){
musicchannel.stop();
};
if (currentmusicchan == 1){
musicchannel2.stop();
};
currentsong = -1;
};
}
public function processmusic():void{
if (musicfade > 0){
processmusicfade();
};
if (musicfadein > 0){
processmusicfadein();
};
musicstopother--;
if (musicstopother == 1){
musicstopother = 0;
if (currentmusicchan == 0){
musicchannel2.stop();
};
if (currentmusicchan == 1){
musicchannel.stop();
};
};
if (musicstopother < 0){
musicstopother = 0;
};
musicchancur--;
if ((((((musicchancur <= 0)) && ((currentsong > -1)))) && ((musicchanlen > 0)))){
musicchancur = musicchanlen;
if (currentmusicchan == 0){
musicchannel2 = musicchan[currentsong].play();
musicstopother = 3;
currentmusicchan = 1;
} else {
musicchannel = musicchan[currentsong].play();
musicstopother = 3;
currentmusicchan = 0;
};
};
}
public function play(_arg1:int):void{
if (currentsong != _arg1){
if (currentsong != -1){
musicchanlen = 0;
musicchancur = musicchanlen;
currentmusicchan = 0;
musicstopother = 0;
musicchannel.stop();
musicchannel2.stop();
};
if (_arg1 != -1){
musicchanlen = -1;
if (_arg1 == 2){
musicchanlen = 1231;
};
if (_arg1 == 3){
musicchanlen = 3280;
};
musicchancur = musicchanlen;
currentmusicchan = 0;
currentsong = _arg1;
if (currentsong == 3){
musicfadein = 61;
musicchannel = musicchan[currentsong].play(0, 0, new SoundTransform(0));
} else {
musicchannel = musicchan[currentsong].play();
};
if (musicchanlen < 0){
musicchannel.addEventListener(Event.SOUND_COMPLETE, stopmusic);
};
} else {
currentsong = -1;
};
};
}
public function processmusicfadein():void{
musicfadein--;
if (musicfadein > 0){
musicchannel.soundTransform = new SoundTransform(((60 - musicfadein) / 60));
} else {
musicchannel.soundTransform = new SoundTransform(1);
};
}
public function processstep():void{
stepstopother--;
if (stepstopother == 1){
stepstopother = 0;
if (currentstepchan == 0){
stepchannel2.stop();
step2playing = false;
};
if (currentstepchan == 1){
stepchannel.stop();
step1playing = false;
};
};
if (stepstopother < 0){
stepstopother = 0;
};
stepchancur--;
if ((((((stepchancur <= 0)) && ((currentstep > -1)))) && ((stepchanlen > 0)))){
stepchancur = stepchanlen;
if (currentstepchan == 0){
stepchannel2 = stepchan[currentstep].play();
step2playing = true;
stepstopother = 3;
currentstepchan = 1;
} else {
stepchannel = stepchan[currentstep].play();
step1playing = true;
stepstopother = 3;
currentstepchan = 0;
};
};
}
public function fadeout():void{
if ((((currentsong == 2)) || ((currentsong == 3)))){
if (musicfade == 0){
musicchannel.removeEventListener(Event.SOUND_COMPLETE, stopmusic);
musicfade = 61;
};
} else {
if (currentsong == 0){
if (musicfade == 0){
musicfade = 61;
};
};
};
}
public function stopstep():void{
if (step1playing){
stepchannel.stop();
step1playing = false;
};
if (step2playing){
stepchannel2.stop();
step2playing = false;
};
currentstep = -1;
}
public function playef(_arg1:int, _arg2:int=0):void{
efchannel[currentefchan] = efchan[_arg1].play(_arg2);
currentefchan++;
if (currentefchan > 15){
currentefchan = (currentefchan - 16);
};
}
public function loopamb1(_arg1:Event):void{
ambchannel.removeEventListener(Event.SOUND_COMPLETE, loopamb1);
ambchannel = ambchan[currentamb].play(0, 0, new SoundTransform(0.5));
ambchannel.addEventListener(Event.SOUND_COMPLETE, loopamb1);
}
public function loopamb2(_arg1:Event):void{
ambchannel.removeEventListener(Event.SOUND_COMPLETE, loopamb2);
ambchannel2 = ambchan[currentamb].play(0, 0, new SoundTransform(0.5));
ambchannel2.addEventListener(Event.SOUND_COMPLETE, loopamb2);
}
public function stopmusic(_arg1:Event):void{
musicchannel.removeEventListener(Event.SOUND_COMPLETE, stopmusic);
musicchannel.stop();
currentsong = -1;
}
public function processamb():void{
stopother--;
if (stopother == 1){
stopother = 0;
if (currentambchan == 0){
ambchannel2.stop();
};
if (currentambchan == 1){
ambchannel.stop();
};
};
if (stopother < 0){
stopother = 0;
};
ambchancur--;
if ((((ambchancur <= 0)) && ((currentamb > -1)))){
ambchancur = ambchanlen;
if (currentambchan == 0){
amb2active = true;
ambchannel2 = ambchan[currentamb].play();
stopother = 3;
if (currentamb == 3){
stopother = 20;
};
currentambchan = 1;
} else {
ambchannel = ambchan[currentamb].play();
stopother = 3;
if (currentamb == 3){
stopother = 20;
};
currentambchan = 0;
};
};
}
}
}//package
Section 151
//Preloader (Preloader)
package {
import flash.events.*;
import com.kongregate.as3.client.*;
import flash.display.*;
import mochi.as3.*;
import flash.ui.*;
import flash.net.*;
import flash.utils.*;
public dynamic class Preloader extends MovieClip {
private var im_loading:Class;
public var showctp:Boolean;
public var startgame:Boolean;
public var adson:Boolean;
public var loading:Bitmap;
public function Preloader(){
im_loading = Preloader_im_loading;
super();
if (checksite()){
adson = false;
} else {
adson = true;
};
var _local1:KongregateAPI = new KongregateAPI();
this.addChild(_local1);
if (adson){
MochiAd.showPreGameAd({clip:root, id:"3da6e9186ed03b91", res:"640x576", background:1114884, color:9383213, outline:4522758, no_bg:false});
};
var _local2:ContextMenu = new ContextMenu();
var _local3:ContextMenuItem = new ContextMenuItem("Visit distractionware.com");
var _local4:ContextMenuItem = new ContextMenuItem("Visit kongregate.com");
_local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, visit_distractionware);
_local4.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, visit_sponsor);
_local4.separatorBefore = false;
_local2.hideBuiltInItems();
_local2.customItems.push(_local3);
_local2.customItems.push(_local4);
this.contextMenu = _local2;
addEventListener(Event.ENTER_FRAME, checkFrame);
if (!adson){
loading = new im_loading();
loading.x = (320 - (loading.width / 2));
loading.y = 316;
addChild(loading);
};
showctp = false;
startgame = false;
}
private function checkFrame(_arg1:Event):void{
var _local3:int;
var _local2:Number = (this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal);
if (!adson){
graphics.clear();
graphics.beginFill(1114884);
graphics.drawRect(0, 0, 640, 576);
graphics.endFill();
graphics.beginFill(15832473);
graphics.drawRect(120, 279, 400, 18);
graphics.endFill();
};
if (_local2 < 1){
if (!adson){
graphics.beginFill(1114884);
_local3 = int(Math.round((_local2 * 391)));
graphics.drawRect((125 + _local3), 283, (391 - _local3), 10);
graphics.endFill();
};
} else {
if (!showctp){
showctp = true;
startgame = true;
};
};
if (currentFrame == totalFrames){
if (startgame){
startup();
};
};
}
public function visit_sponsor(_arg1:Event):void{
var _local2:URLRequest = new URLRequest("http://www.kongregate.com/?gamereferral=dontlookback");
navigateToURL(_local2, "_blank");
}
public function visit_distractionware(_arg1:Event):void{
var _local2:URLRequest = new URLRequest("http://www.distractionware.com");
navigateToURL(_local2, "_blank");
}
public function checksite():Boolean{
var _local1:String = stage.loaderInfo.url.toLowerCase();
if ((((((((_local1.indexOf("distractionware.com") <= 0)) && ((_local1.indexOf("flashgamelicense.com") <= 0)))) && ((_local1.indexOf("kongregate.com") <= 0)))) && ((_local1.indexOf("chat.kongregate.com") <= 0)))){
return (false);
};
return (true);
}
private function startup():void{
removeEventListener(Event.ENTER_FRAME, checkFrame);
var _local1:Class = (getDefinitionByName("Main") as Class);
addChild((new (_local1) as DisplayObject));
}
}
}//package
Section 152
//Preloader_im_loading (Preloader_im_loading)
package {
import mx.core.*;
public class Preloader_im_loading extends BitmapAsset {
}
}//package