Section 1
//mp3 (alarm1.mp3)
package alarm1 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package alarm1
Section 2
//mp3 (award_sound.mp3)
package award_sound {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package award_sound
Section 3
//mp3 (aww.mp3)
package aww {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package aww
Section 4
//mp3 (barricade.mp3)
package barricade {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package barricade
Section 5
//mp3 (board_motor.mp3)
package board_motor {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package board_motor
Section 6
//mp3 (cmon.mp3)
package cmon {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package cmon
Section 7
//mp3 (cmonwhine.mp3)
package cmonwhine {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package cmonwhine
Section 8
//DragonLoader (com.midasplayer.DragonLoader)
package com.midasplayer {
import flash.display.*;
import flash.events.*;
import fl.transitions.easing.*;
import flash.media.*;
import fl.transitions.*;
import flash.utils.*;
public class DragonLoader extends MovieClip {
public var fireLogoHolder:MovieClip;
public var mcPlayBtn:MovieClip;
private var m_dragonClip:MovieClip;
private var m_bannedSign:MovieClip;
private var m_glimmerTween:Tween;
private var m_bg:Sprite;
private var m_playBtnTween:Tween;
public var bannedSign:MovieClip;
private var m_fireLogoClip:MovieClip;
private var oldFrameRate:int;
private var m_fireLogoTween:Tween;
private var m_sndBell:Sound;
public var dragonHolder:MovieClip;
private var m_glimmer:MovieClip;
private var m_playBtn:MovieClip;
public static var LAUNCH_GAME:String = "launchGame";
public function DragonLoader(){
this.x = (this.y = 0);
m_bannedSign = bannedSign;
m_bannedSign.bg.width = stage.stageWidth;
m_bannedSign.bg.height = stage.stageHeight;
m_bannedSign.alpha = 0;
m_bannedSign.addEventListener(MouseEvent.CLICK, onMainMovie);
m_bannedSign.buttonMode = true;
m_fireLogoClip = fireLogoHolder;
m_fireLogoClip.x = ((m_bannedSign.bg.width - m_fireLogoClip.width) - 90);
m_fireLogoClip.y = (((m_bannedSign.bg.height / 2) - (m_fireLogoClip.height / 2)) - 60);
m_fireLogoClip.visible = false;
m_fireLogoClip.stop();
m_dragonClip = dragonHolder;
m_dragonClip.x = (m_bannedSign.bg.width - m_dragonClip.width);
m_dragonClip.y = ((m_bannedSign.bg.height / 2) - (m_dragonClip.height / 2));
m_dragonClip.stop();
m_playBtn = mcPlayBtn;
m_playBtn.buttonMode = true;
m_playBtn.alpha = 0;
}
public function destroy():void{
var _local1:Sprite;
m_playBtn.removeEventListener(MouseEvent.ROLL_OVER, btnOver);
m_playBtn.removeEventListener(MouseEvent.ROLL_OUT, btnOut);
m_playBtn.removeEventListener(MouseEvent.MOUSE_DOWN, btnDown);
m_playBtn.removeEventListener(MouseEvent.MOUSE_UP, launchGame);
m_fireLogoTween.removeEventListener(TweenEvent.MOTION_FINISH, logoInPlace);
m_fireLogoTween = null;
_local1 = (this.parent.getChildByName("clickBg") as Sprite);
if (this.parent != null){
if (_local1 != null){
this.parent.removeChild(_local1);
};
if (this != null){
this.parent.removeChild(this);
};
};
}
public function onMainMovie(_arg1:MouseEvent):void{
KingAPI.openLoaderMovieLink();
}
public function playLoaderMovie():void{
m_dragonClip.addEventListener(Event.ENTER_FRAME, animationDone);
m_dragonClip.play();
}
public function init(_arg1:String, _arg2:String=""):void{
if (_arg2 != ""){
MochiBot.track(this, _arg2);
};
oldFrameRate = root.stage.frameRate;
root.stage.frameRate = 30;
if (KingAPI.banned){
showBannedScreen();
} else {
playLoaderMovie();
};
}
private function btnDown(_arg1:MouseEvent):void{
m_playBtn.gotoAndStop("down");
}
public function animationDone(_arg1:Event):void{
if (m_dragonClip.currentFrame == 80){
m_fireLogoClip.visible = true;
m_fireLogoClip.play();
m_fireLogoTween = new Tween(m_fireLogoClip, "x", Regular.easeOut, m_fireLogoClip.x, (((stage.width / 2) - (m_dragonClip.width / 2)) - 51), 1, true);
m_fireLogoTween.addEventListener(TweenEvent.MOTION_FINISH, logoInPlace);
};
if (m_dragonClip.currentFrame == m_dragonClip.totalFrames){
m_dragonClip.removeEventListener(Event.ENTER_FRAME, animationDone);
m_dragonClip.stop();
m_playBtn.x = ((stage.width / 2) - (m_playBtn.width / 2));
m_playBtn.y = (m_fireLogoClip.y + 210);
m_playBtn.addEventListener(MouseEvent.ROLL_OVER, btnOver);
m_playBtn.addEventListener(MouseEvent.ROLL_OUT, btnOut);
m_playBtn.addEventListener(MouseEvent.MOUSE_DOWN, btnDown);
m_playBtn.addEventListener(MouseEvent.MOUSE_UP, launchGame);
};
}
private function onGlimmerTmr(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
_local2 = (m_fireLogoClip.x - m_glimmer.width);
_local3 = ((m_fireLogoClip.x + m_fireLogoClip.width) - 80);
m_glimmerTween = new Tween(m_glimmer, "x", None.easeNone, _local2, _local3, 0.5, true);
m_glimmerTween.addEventListener(TweenEvent.MOTION_FINISH, glimmerDone);
}
public function launchGame(_arg1:Event):void{
root.stage.frameRate = oldFrameRate;
trace(LAUNCH_GAME);
this.dispatchEvent(new Event(LAUNCH_GAME));
}
private function btnOver(_arg1:MouseEvent):void{
m_playBtn.gotoAndStop("over");
}
private function logoVisible(_arg1:Event):void{
if (m_fireLogoClip.currentFrame == m_fireLogoClip.totalFrames){
m_fireLogoClip.removeEventListener(Event.ENTER_FRAME, logoVisible);
m_playBtnTween = new Tween(m_playBtn, "alpha", None.easeNone, 0, 1, 0.5, true);
m_glimmer = new mcGlimmer();
m_glimmer.x = (m_fireLogoClip.x - m_glimmer.width);
m_glimmer.y = (m_fireLogoClip.y + 112);
this.addChild(m_glimmer);
setTimeout(onGlimmerTmr, 1000, null);
};
}
private function btnOut(_arg1:MouseEvent):void{
m_playBtn.gotoAndStop("idle");
}
private function glimmerDone(_arg1:Event):void{
m_glimmerTween.removeEventListener(TweenEvent.MOTION_FINISH, glimmerDone);
this.removeChild(m_glimmer);
}
private function logoInPlace(_arg1:Event):void{
m_fireLogoClip.addEventListener(Event.ENTER_FRAME, logoVisible);
}
public function showBannedScreen():void{
m_bannedSign.alpha = 1;
}
}
}//package com.midasplayer
Section 9
//KingAPI (com.midasplayer.KingAPI)
package com.midasplayer {
import flash.events.*;
import flash.net.*;
import flash.external.*;
public class KingAPI {
public static const LINK_TYPE_RIGHT_CLICK:String = "rightclick";
public static const USER_TYPE_SUBSCRIPTION:int = 3;
public static const LINK_TYPE_HIGHSCORES:String = "highscores";
public static const LINK_TYPE_SIGN:String = "sign";
public static const INITIALIZED_EVENT:String = "initialized";
public static const LINK_TYPE_OTHER_GAMES:String = "other_games";
public static const USER_TYPE_REGISTERED:int = 1;
private static const SAK:String = "ggfd7sday923mdsfd8csfds34";
private static const loadHomeParametersURL:String = "http://www.king.com/servlet/FreeGameServlet?action=load";
public static const LINK_TYPE_LOADER_MOVIE:String = "loader_movie";
private static const bounceURL:String = "http://www.mygame.com/king/bounce.jsp";
public static const LINK_TYPE_PROTECT:String = "protect";
public static const LINK_TYPE_ADD_GAME:String = "add_game";
public static const USER_TYPE_GOLD:int = 2;
public static const USER_TYPE_UNREGISTERED:int = 0;
public static const HOST_BANNED_EVENT:String = "hostBanned";
private static const SK:String = "vf78hxcsjak77cxzhjkwad87s";
private static const loadCountURL:String = "http://www.mygame.com/king/loadcount.jsp";
public static const LINK_TYPE_LOADER_PROGRESS:String = "loader_progress";
private static var check:String = null;
public static var gameName:String;
public static var banned:Boolean = false;
protected static var dispatcher:EventDispatcher;
public static var isHome:Boolean = false;
private static var sessionID:String;
private static var iscore:int = 123;
public static var fromURL:String;
private static var SSK:String = "ng43ui54hy35tdsnd6f54rews";
private static function loadUrlErrorHandler(_arg1:Event):void{
trace(("Unable to load url: " + _arg1));
}
public static function resetScore():void{
iscore = 123;
check = null;
}
public static function openOfflineProtectionLink():void{
openKingPage(LINK_TYPE_PROTECT);
}
public static function init(_arg1:String, _arg2:String):void{
var loadCounter:URLLoader;
var reqvars:URLVariables;
var request:URLRequest;
var so:SharedObject;
var rnd1:Number;
var rnd2:Number;
var name = _arg1;
var from = _arg2;
gameName = "oozing-forever";
fromURL = from;
loadCounter = new URLLoader();
reqvars = new URLVariables();
reqvars.game = gameName;
reqvars.from = fromURL;
try {
so = SharedObject.getLocal("sessionId");
if (so.data.sessionID == null){
rnd1 = Math.abs(Math.floor((Math.random() * 4294967295)));
rnd2 = Math.abs(Math.floor((Math.random() * 4294967295)));
so.data.sessionID = (rnd1.toString(16) + rnd2.toString(16));
so.flush();
};
sessionID = so.data.sessionID;
} catch(e:Error) {
sessionID = "error";
};
reqvars.session = sessionID;
request = new URLRequest(((loadCountURL + "?") + reqvars.toString()));
loadCounter.addEventListener(Event.COMPLETE, loadCountHandler);
loadCounter.addEventListener(IOErrorEvent.IO_ERROR, loadUrlErrorHandler);
loadCounter.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loadUrlErrorHandler);
try {
loadCounter.load(request);
} catch(error:Error) {
trace(("Unable to load loadcount url: " + loadCountURL));
trace(error.message);
};
}
private static function loadHomeParametersHandler(_arg1:Event):void{
var _local2:URLLoader;
_local2 = URLLoader(_arg1.target);
trace(("loadCounter.data" + _local2.data));
}
public static function submitInternalScore():void{
var _local1:int;
checkScore();
_local1 = ((iscore - 123) / 2);
submitScore(_local1);
}
public static function openOtherGamesLink():void{
openKingPage(LINK_TYPE_OTHER_GAMES);
}
public static function openKingPage(_arg1:String, _arg2:String=null):void{
var _local3:URLVariables;
var _local4:String;
_local3 = new URLVariables();
_local3.game = gameName;
_local3.from = fromURL;
_local3.type = _arg1;
_local3.session = sessionID;
if (_arg2 != null){
_local3.redirect = _arg2;
};
_local4 = "_blank";
navigateToURL(new URLRequest(((bounceURL + "?") + _local3.toString())), _local4);
}
private static function loadCountHandler(_arg1:Event):void{
var loadCounter:URLLoader;
var vars:URLVariables;
var event = _arg1;
loadCounter = URLLoader(event.target);
trace(("loadCounter.data :" + loadCounter.data));
try {
vars = new URLVariables(loadCounter.data);
if (vars.h == "true"){
isHome = true;
};
if (vars.b == "true"){
banned = true;
dispatcher.dispatchEvent(new Event(HOST_BANNED_EVENT));
} else {
dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT));
};
trace((("::" + vars.h) + "::"));
trace((("::" + vars.b) + "::"));
} catch(e:Error) {
trace(("Error reading data from loadcount url: " + e));
};
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
if (dispatcher == null){
dispatcher = new EventDispatcher();
};
dispatcher.addEventListener(_arg1, _arg2);
}
public static function openLoaderMovieLink():void{
openKingPage(LINK_TYPE_LOADER_MOVIE);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
if (dispatcher == null){
return;
};
dispatcher.removeEventListener(_arg1, _arg2);
}
public static function submitScore(_arg1:int):void{
var hash:String;
var score = _arg1;
hash = md5.encrypt(((((score + ":") + gameName) + ":") + SSK));
try {
if (isHome){
ExternalInterface.call("submitScore", score, hash);
} else {
openKingPage(LINK_TYPE_HIGHSCORES, ((((("game/" + gameName) + "/submit/") + score) + ":") + hash));
};
} catch(e:Error) {
trace(e);
};
}
public static function submitLevel(_arg1:int):void{
var hash:String;
var level = _arg1;
hash = md5.encrypt(((((level + ":") + gameName) + ":") + SSK));
try {
if (isHome){
ExternalInterface.call("submitLevel", level, hash);
};
} catch(e:Error) {
trace(e);
};
}
public static function openHighscoresLink():void{
openKingPage(LINK_TYPE_HIGHSCORES, (("game/" + gameName) + "/highscores"));
}
public static function openSignLink():void{
openKingPage(LINK_TYPE_SIGN);
}
public static function openRightClickLink():void{
openKingPage(LINK_TYPE_RIGHT_CLICK);
}
private static function checkScore():void{
if (check != null){
if (check != md5.encrypt(((((iscore + ":") + gameName) + ":") + SK))){
SSK = "ng41ui54hy35tdsnd6f54rews";
};
};
}
public static function addScore(_arg1:int):int{
var _local2:int;
checkScore();
_local2 = ((iscore - 123) / 2);
_local2 = (_local2 + _arg1);
iscore = ((_local2 * 2) + 123);
check = md5.encrypt(((((iscore + ":") + gameName) + ":") + SK));
return (_local2);
}
public static function openLoaderProgressLink():void{
openKingPage(LINK_TYPE_LOADER_PROGRESS);
}
public static function openAddToWebsiteLink():void{
openKingPage(LINK_TYPE_ADD_GAME, "website_content.jsp");
}
public static function submitAchievement(_arg1:String):void{
var hash:String;
var achievement = _arg1;
hash = md5.encrypt(((((achievement + ":") + gameName) + ":") + SAK));
try {
if (isHome){
ExternalInterface.call("submitAchievement", achievement, hash);
};
} catch(e:Error) {
trace(e);
};
}
}
}//package com.midasplayer
Section 10
//md5 (com.midasplayer.md5)
package com.midasplayer {
public class md5 {
public static const HEX_FORMAT_LOWERCASE:uint = 0;
public static const HEX_FORMAT_UPPERCASE:uint = 1;
public static const BASE64_PAD_CHARACTER_DEFAULT_COMPLIANCE:String = "";
public static const BASE64_PAD_CHARACTER_RFC_COMPLIANCE:String = "=";
public static var hexcase:uint = 0;
public static var b64pad:String = "";
public static function md5_gg(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function md5_cmn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{
return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3));
}
public static function binl_md5(_arg1:Array, _arg2:Number):Array{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
_arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32)));
_arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2;
_local3 = 1732584193;
_local4 = -271733879;
_local5 = -1732584194;
_local6 = 271733878;
_local7 = 0;
while (_local7 < _arg1.length) {
_local8 = _local3;
_local9 = _local4;
_local10 = _local5;
_local11 = _local6;
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330);
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983);
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162);
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551);
_local3 = safe_add(_local3, _local8);
_local4 = safe_add(_local4, _local9);
_local5 = safe_add(_local5, _local10);
_local6 = safe_add(_local6, _local11);
_local7 = (_local7 + 16);
};
return ([_local3, _local4, _local5, _local6]);
}
public static function str2rstr_utf16le(_arg1:String):String{
var _local2:String;
var _local3:Number;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode((_arg1.charCodeAt(_local3) & 0xFF), ((_arg1.charCodeAt(_local3) >>> 8) & 0xFF)));
_local3++;
};
return (_local2);
}
public static function hex_hmac_md5(_arg1:String, _arg2:String):String{
return (rstr2hex(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2))));
}
public static function binl2rstr(_arg1:Array):String{
var _local2:String;
var _local3:Number;
_local2 = "";
_local3 = 0;
while (_local3 < (_arg1.length * 32)) {
_local2 = (_local2 + String.fromCharCode(((_arg1[(_local3 >> 5)] >>> (_local3 % 32)) & 0xFF)));
_local3 = (_local3 + 8);
};
return (_local2);
}
public static function md5_ff(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function md5_ii(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function rstr2binl(_arg1:String):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array((_arg1.length >> 2));
_local3 = 0;
while (_local3 < _local2.length) {
_local2[_local3] = 0;
_local3++;
};
_local3 = 0;
while (_local3 < (_arg1.length * 8)) {
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | ((_arg1.charCodeAt((_local3 / 8)) & 0xFF) << (_local3 % 32)));
_local3 = (_local3 + 8);
};
return (_local2);
}
public static function md5_vm_test():Boolean{
return ((hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"));
}
public static function b64_md5(_arg1:String):String{
return (rstr2b64(rstr_md5(str2rstr_utf8(_arg1))));
}
public static function any_hmac_md5(_arg1:String, _arg2:String, _arg3:String):String{
return (rstr2any(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)), _arg3));
}
public static function hex_md5(_arg1:String):String{
return (rstr2hex(rstr_md5(str2rstr_utf8(_arg1))));
}
public static function bit_rol(_arg1:Number, _arg2:Number):Number{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public static function encrypt(_arg1:String):String{
return (hex_md5(_arg1));
}
public static function md5_hh(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function rstr2hex(_arg1:String):String{
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:Number;
_local2 = (hexcase) ? "0123456789ABCDEF" : "0123456789abcdef";
_local3 = "";
_local5 = 0;
while (_local5 < _arg1.length) {
_local4 = _arg1.charCodeAt(_local5);
_local3 = (_local3 + (_local2.charAt(((_local4 >>> 4) & 15)) + _local2.charAt((_local4 & 15))));
_local5++;
};
return (_local3);
}
public static function any_md5(_arg1:String, _arg2:String):String{
return (rstr2any(rstr_md5(str2rstr_utf8(_arg1)), _arg2));
}
public static function b64_hmac_md5(_arg1:String, _arg2:String):String{
return (rstr2b64(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2))));
}
public static function rstr2b64(_arg1:String):String{
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
_local3 = "";
_local4 = _arg1.length;
_local5 = 0;
while (_local5 < _local4) {
_local6 = (((_arg1.charCodeAt(_local5) << 16) | (((_local5 + 1) < _local4)) ? (_arg1.charCodeAt((_local5 + 1)) << 8) : 0) | (((_local5 + 2) < _local4)) ? _arg1.charCodeAt((_local5 + 2)) : 0);
_local7 = 0;
while (_local7 < 4) {
if (((_local5 * 8) + (_local7 * 6)) > (_arg1.length * 8)){
_local3 = (_local3 + b64pad);
} else {
_local3 = (_local3 + _local2.charAt(((_local6 >>> (6 * (3 - _local7))) & 63)));
};
_local7++;
};
_local5 = (_local5 + 3);
};
return (_local3);
}
public static function safe_add(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:Number;
_local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF));
_local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16));
return (((_local4 << 16) | (_local3 & 0xFFFF)));
}
public static function str2rstr_utf8(_arg1:String):String{
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = "";
_local3 = -1;
while (++_local3 < _arg1.length) {
_local4 = _arg1.charCodeAt(_local3);
_local5 = (((_local3 + 1) < _arg1.length)) ? _arg1.charCodeAt((_local3 + 1)) : 0;
if ((((((((0xD800 <= _local4)) && ((_local4 <= 56319)))) && ((0xDC00 <= _local5)))) && ((_local5 <= 57343)))){
_local4 = ((65536 + ((_local4 & 1023) << 10)) + (_local5 & 1023));
_local3++;
};
if (_local4 <= 127){
_local2 = (_local2 + String.fromCharCode(_local4));
} else {
if (_local4 <= 2047){
_local2 = (_local2 + String.fromCharCode((192 | ((_local4 >>> 6) & 31)), (128 | (_local4 & 63))));
} else {
if (_local4 <= 0xFFFF){
_local2 = (_local2 + String.fromCharCode((224 | ((_local4 >>> 12) & 15)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63))));
} else {
if (_local4 <= 2097151){
_local2 = (_local2 + String.fromCharCode((240 | ((_local4 >>> 18) & 7)), (128 | ((_local4 >>> 12) & 63)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63))));
};
};
};
};
};
return (_local2);
}
public static function rstr_hmac_md5(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:Array;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = rstr2binl(_arg1);
if (_local3.length > 16){
_local3 = binl_md5(_local3, (_arg1.length * 8));
};
_local4 = new Array(16);
_local5 = new Array(16);
_local6 = 0;
while (_local6 < 16) {
_local4[_local6] = (_local3[_local6] ^ 909522486);
_local5[_local6] = (_local3[_local6] ^ 1549556828);
_local6++;
};
_local7 = binl_md5(_local4.concat(rstr2binl(_arg2)), (0x0200 + (_arg2.length * 8)));
return (binl2rstr(binl_md5(_local5.concat(_local7), (0x0200 + 128))));
}
public static function str2rstr_utf16be(_arg1:String):String{
var _local2:String;
var _local3:Number;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(((_arg1.charCodeAt(_local3) >>> 8) & 0xFF), (_arg1.charCodeAt(_local3) & 0xFF)));
_local3++;
};
return (_local2);
}
public static function rstr2any(_arg1:String, _arg2:String):String{
var _local3:Number;
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Array;
var _local9:Array;
var _local10:String;
_local3 = _arg2.length;
_local4 = [];
_local9 = new Array((_arg1.length / 2));
_local5 = 0;
while (_local5 < _local9.length) {
_local9[_local5] = ((_arg1.charCodeAt((_local5 * 2)) << 8) | _arg1.charCodeAt(((_local5 * 2) + 1)));
_local5++;
};
while (_local9.length > 0) {
_local8 = [];
_local7 = 0;
_local5 = 0;
while (_local5 < _local9.length) {
_local7 = ((_local7 << 16) + _local9[_local5]);
_local6 = Math.floor((_local7 / _local3));
_local7 = (_local7 - (_local6 * _local3));
if ((((_local8.length > 0)) || ((_local6 > 0)))){
_local8[_local8.length] = _local6;
};
_local5++;
};
_local4[_local4.length] = _local7;
_local9 = _local8;
};
_local10 = "";
_local5 = (_local4.length - 1);
while (_local5 >= 0) {
_local10 = (_local10 + _arg2.charAt(_local4[_local5]));
_local5--;
};
return (_local10);
}
public static function rstr_md5(_arg1:String):String{
return (binl2rstr(binl_md5(rstr2binl(_arg1), (_arg1.length * 8))));
}
}
}//package com.midasplayer
Section 11
//mp3 (droid_explode.mp3)
package droid_explode {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package droid_explode
Section 12
//mp3 (elec.mp3)
package elec {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package elec
Section 13
//mp3 (evap.mp3)
package evap {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package evap
Section 14
//mp3 (fan.mp3)
package fan {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package fan
Section 15
//mp3 (final_motor.mp3)
package final_motor {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package final_motor
Section 16
//None (fl.transitions.easing.None)
package fl.transitions.easing {
public class None {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package fl.transitions.easing
Section 17
//Regular (fl.transitions.easing.Regular)
package fl.transitions.easing {
public class Regular {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
}
}//package fl.transitions.easing
Section 18
//Tween (fl.transitions.Tween)
package fl.transitions {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Tween extends EventDispatcher {
private var _position:Number;// = NAN
public var prevTime:Number;// = NAN
public var prevPos:Number;// = NAN
public var isPlaying:Boolean;// = false
public var begin:Number;// = NAN
private var _fps:Number;// = NAN
private var _time:Number;// = NAN
public var change:Number;// = NAN
private var _finish:Number;// = NAN
public var looping:Boolean;// = false
private var _intervalID:uint;// = 0
public var func:Function;
private var _timer:Timer;// = null
private var _startTime:Number;// = NAN
public var prop:String;// = ""
private var _duration:Number;// = NAN
public var obj:Object;// = null
public var useSeconds:Boolean;// = false
protected static var _mc:MovieClip = new MovieClip();
public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){
isPlaying = false;
obj = null;
prop = "";
func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
};
begin = NaN;
change = NaN;
useSeconds = false;
prevTime = NaN;
prevPos = NaN;
looping = false;
_duration = NaN;
_time = NaN;
_fps = NaN;
_position = NaN;
_startTime = NaN;
_intervalID = 0;
_finish = NaN;
_timer = null;
super();
if (!arguments.length){
return;
};
this.obj = _arg1;
this.prop = _arg2;
this.begin = _arg4;
this.position = _arg4;
this.duration = _arg6;
this.useSeconds = _arg7;
if ((_arg3 is Function)){
this.func = _arg3;
};
this.finish = _arg5;
this._timer = new Timer(100);
this.start();
}
public function continueTo(_arg1:Number, _arg2:Number):void{
this.begin = this.position;
this.finish = _arg1;
if (!isNaN(_arg2)){
this.duration = _arg2;
};
this.start();
}
public function stop():void{
this.stopEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position));
}
private function fixTime():void{
if (this.useSeconds){
this._startTime = (getTimer() - (this._time * 1000));
};
}
public function set FPS(_arg1:Number):void{
var _local2:Boolean;
_local2 = this.isPlaying;
this.stopEnterFrame();
this._fps = _arg1;
if (_local2){
this.startEnterFrame();
};
}
public function get finish():Number{
return ((this.begin + this.change));
}
public function get duration():Number{
return (this._duration);
}
protected function startEnterFrame():void{
var _local1:Number;
if (isNaN(this._fps)){
_mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true);
} else {
_local1 = (1000 / this._fps);
this._timer.delay = _local1;
this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true);
this._timer.start();
};
this.isPlaying = true;
}
public function set time(_arg1:Number):void{
this.prevTime = this._time;
if (_arg1 > this.duration){
if (this.looping){
this.rewind((_arg1 - this._duration));
this.update();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position));
} else {
if (this.useSeconds){
this._time = this._duration;
this.update();
};
this.stop();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position));
};
} else {
if (_arg1 < 0){
this.rewind();
this.update();
} else {
this._time = _arg1;
this.update();
};
};
}
protected function stopEnterFrame():void{
if (isNaN(this._fps)){
_mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
} else {
this._timer.stop();
};
this.isPlaying = false;
}
public function getPosition(_arg1:Number=NaN):Number{
if (isNaN(_arg1)){
_arg1 = this._time;
};
return (this.func(_arg1, this.begin, this.change, this._duration));
}
public function set finish(_arg1:Number):void{
this.change = (_arg1 - this.begin);
}
public function set duration(_arg1:Number):void{
this._duration = ((_arg1)<=0) ? Infinity : _arg1;
}
public function setPosition(_arg1:Number):void{
this.prevPos = this._position;
if (this.prop.length){
this.obj[this.prop] = (this._position = _arg1);
};
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position));
}
public function resume():void{
this.fixTime();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position));
}
public function fforward():void{
this.time = this._duration;
this.fixTime();
}
protected function onEnterFrame(_arg1:Event):void{
this.nextFrame();
}
public function get position():Number{
return (this.getPosition(this._time));
}
public function yoyo():void{
this.continueTo(this.begin, this.time);
}
public function nextFrame():void{
if (this.useSeconds){
this.time = ((getTimer() - this._startTime) / 1000);
} else {
this.time = (this._time + 1);
};
}
protected function timerHandler(_arg1:TimerEvent):void{
this.nextFrame();
_arg1.updateAfterEvent();
}
public function get FPS():Number{
return (this._fps);
}
public function rewind(_arg1:Number=0):void{
this._time = _arg1;
this.fixTime();
this.update();
}
public function set position(_arg1:Number):void{
this.setPosition(_arg1);
}
public function get time():Number{
return (this._time);
}
private function update():void{
this.setPosition(this.getPosition(this._time));
}
public function start():void{
this.rewind();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position));
}
public function prevFrame():void{
if (!this.useSeconds){
this.time = (this._time - 1);
};
}
}
}//package fl.transitions
Section 19
//TweenEvent (fl.transitions.TweenEvent)
package fl.transitions {
import flash.events.*;
public class TweenEvent extends Event {
public var time:Number;// = NAN
public var position:Number;// = NAN
public static const MOTION_START:String = "motionStart";
public static const MOTION_STOP:String = "motionStop";
public static const MOTION_LOOP:String = "motionLoop";
public static const MOTION_CHANGE:String = "motionChange";
public static const MOTION_FINISH:String = "motionFinish";
public static const MOTION_RESUME:String = "motionResume";
public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){
time = NaN;
position = NaN;
super(_arg1, _arg4, _arg5);
this.time = _arg2;
this.position = _arg3;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable));
}
}
}//package fl.transitions
Section 20
//mp3 (flyer_drone.mp3)
package flyer_drone {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package flyer_drone
Section 21
//mp3 (Funk_Orchestra.mp3)
package Funk_Orchestra {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package Funk_Orchestra
Section 22
//mp3 (geez.mp3)
package geez {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package geez
Section 23
//mp3 (hadefiant.mp3)
package hadefiant {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package hadefiant
Section 24
//mp3 (hahaha.mp3)
package hahaha {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package hahaha
Section 25
//mp3 (hey.mp3)
package hey {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package hey
Section 26
//mp3 (hit1.mp3)
package hit1 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package hit1
Section 27
//mp3 (hit2.mp3)
package hit2 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package hit2
Section 28
//mp3 (hit3.mp3)
package hit3 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package hit3
Section 29
//mp3 (hover_drone.mp3)
package hover_drone {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package hover_drone
Section 30
//mp3 (hover_shot.mp3)
package hover_shot {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package hover_shot
Section 31
//mp3 (huh.mp3)
package huh {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package huh
Section 32
//mp3 (jump1.mp3)
package jump1 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package jump1
Section 33
//mp3 (jump2.mp3)
package jump2 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package jump2
Section 34
//mp3 (jump3.mp3)
package jump3 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package jump3
Section 35
//mp3 (ledge_sci1.mp3)
package ledge_sci1 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package ledge_sci1
Section 36
//mp3 (ledge_sci2.mp3)
package ledge_sci2 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package ledge_sci2
Section 37
//mp3 (ledge_sci3.mp3)
package ledge_sci3 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package ledge_sci3
Section 38
//mp3 (level_complete.mp3)
package level_complete {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package level_complete
Section 39
//mp3 (movingplatform.mp3)
package movingplatform {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package movingplatform
Section 40
//mp3 (nolong.mp3)
package nolong {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package nolong
Section 41
//mp3 (noloud.mp3)
package noloud {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package noloud
Section 42
//mp3 (OF_combat_loop.mp3)
package OF_combat_loop {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package OF_combat_loop
Section 43
//mp3 (OF_intro_loop.mp3)
package OF_intro_loop {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package OF_intro_loop
Section 44
//mp3 (OF_menu_loop.mp3)
package OF_menu_loop {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package OF_menu_loop
Section 45
//ag_intro_mc_324 (OozingForever_fla.ag_intro_mc_324)
package OozingForever_fla {
import flash.display.*;
public dynamic class ag_intro_mc_324 extends MovieClip {
public var link:SimpleButton;
public function ag_intro_mc_324(){
addFrameScript(107, frame108);
}
function frame108(){
stop();
}
}
}//package OozingForever_fla
Section 46
//alarm_light_84 (OozingForever_fla.alarm_light_84)
package OozingForever_fla {
import flash.display.*;
public dynamic class alarm_light_84 extends MovieClip {
public function alarm_light_84(){
addFrameScript(0, frame1, 14, frame15);
}
function frame15(){
gotoAndPlay(2);
}
function frame1(){
stop();
}
}
}//package OozingForever_fla
Section 47
//bgsky_air_272 (OozingForever_fla.bgsky_air_272)
package OozingForever_fla {
import flash.display.*;
public dynamic class bgsky_air_272 extends MovieClip {
public var dawn:MovieClip;
}
}//package OozingForever_fla
Section 48
//bgsky_dawn_276 (OozingForever_fla.bgsky_dawn_276)
package OozingForever_fla {
import flash.display.*;
public dynamic class bgsky_dawn_276 extends MovieClip {
public var sun:MovieClip;
}
}//package OozingForever_fla
Section 49
//bgsky_day_277 (OozingForever_fla.bgsky_day_277)
package OozingForever_fla {
import flash.display.*;
public dynamic class bgsky_day_277 extends MovieClip {
public var sun:MovieClip;
}
}//package OozingForever_fla
Section 50
//bgsky_dusk_273 (OozingForever_fla.bgsky_dusk_273)
package OozingForever_fla {
import flash.display.*;
public dynamic class bgsky_dusk_273 extends MovieClip {
public var sun:MovieClip;
}
}//package OozingForever_fla
Section 51
//bgsky_eve_278 (OozingForever_fla.bgsky_eve_278)
package OozingForever_fla {
import flash.display.*;
public dynamic class bgsky_eve_278 extends MovieClip {
public var sun:MovieClip;
}
}//package OozingForever_fla
Section 52
//bgsky_night_275 (OozingForever_fla.bgsky_night_275)
package OozingForever_fla {
import flash.display.*;
public dynamic class bgsky_night_275 extends MovieClip {
public var sun:MovieClip;
}
}//package OozingForever_fla
Section 53
//door_barricade_17 (OozingForever_fla.door_barricade_17)
package OozingForever_fla {
import flash.display.*;
public dynamic class door_barricade_17 extends MovieClip {
public var mover:col_box;
public function door_barricade_17(){
addFrameScript(0, frame1, 15, frame16);
}
function frame16(){
stop();
}
function frame1(){
stop();
}
}
}//package OozingForever_fla
Section 54
//door_barricade2_19 (OozingForever_fla.door_barricade2_19)
package OozingForever_fla {
import flash.display.*;
public dynamic class door_barricade2_19 extends MovieClip {
public var mover:col_box;
public function door_barricade2_19(){
addFrameScript(0, frame1, 15, frame16);
}
function frame16(){
stop();
}
function frame1(){
stop();
}
}
}//package OozingForever_fla
Section 55
//droid_hover_barrel_258 (OozingForever_fla.droid_hover_barrel_258)
package OozingForever_fla {
import flash.display.*;
public dynamic class droid_hover_barrel_258 extends MovieClip {
public function droid_hover_barrel_258(){
addFrameScript(0, frame1, 5, frame6);
}
function frame6(){
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package OozingForever_fla
Section 56
//elevator_142 (OozingForever_fla.elevator_142)
package OozingForever_fla {
import flash.display.*;
public dynamic class elevator_142 extends MovieClip {
public var mover:col_box;
public function elevator_142(){
addFrameScript(659, frame660);
}
function frame660(){
stop();
}
}
}//package OozingForever_fla
Section 57
//exit2_200 (OozingForever_fla.exit2_200)
package OozingForever_fla {
import flash.display.*;
public dynamic class exit2_200 extends MovieClip {
public var mover:col_box;
public function exit2_200(){
addFrameScript(4, frame5, 19, frame20);
}
function frame20(){
stop();
}
function frame5(){
stop();
}
}
}//package OozingForever_fla
Section 58
//export_everything_5 (OozingForever_fla.export_everything_5)
package OozingForever_fla {
import flash.display.*;
public dynamic class export_everything_5 extends MovieClip {
public function export_everything_5(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
gotoAndStop(1);
}
}
}//package OozingForever_fla
Section 59
//fan_53 (OozingForever_fla.fan_53)
package OozingForever_fla {
import flash.display.*;
public dynamic class fan_53 extends MovieClip {
public var blades:MovieClip;
}
}//package OozingForever_fla
Section 60
//flipper_high2_135 (OozingForever_fla.flipper_high2_135)
package OozingForever_fla {
import flash.display.*;
public dynamic class flipper_high2_135 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 61
//flipper_low_129 (OozingForever_fla.flipper_low_129)
package OozingForever_fla {
import flash.display.*;
public dynamic class flipper_low_129 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 62
//floor_shift_195 (OozingForever_fla.floor_shift_195)
package OozingForever_fla {
import flash.display.*;
public dynamic class floor_shift_195 extends MovieClip {
public function floor_shift_195(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package OozingForever_fla
Section 63
//floor_shift2_197 (OozingForever_fla.floor_shift2_197)
package OozingForever_fla {
import flash.display.*;
public dynamic class floor_shift2_197 extends MovieClip {
public function floor_shift2_197(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package OozingForever_fla
Section 64
//level_ate_collapse_48 (OozingForever_fla.level_ate_collapse_48)
package OozingForever_fla {
import flash.display.*;
public dynamic class level_ate_collapse_48 extends MovieClip {
public function level_ate_collapse_48(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
stop();
}
function frame1(){
stop();
}
}
}//package OozingForever_fla
Section 65
//level_dofa_chunk1_144 (OozingForever_fla.level_dofa_chunk1_144)
package OozingForever_fla {
import flash.display.*;
public dynamic class level_dofa_chunk1_144 extends MovieClip {
public var sun:col_vol;
}
}//package OozingForever_fla
Section 66
//level_dofa_chunk2_145 (OozingForever_fla.level_dofa_chunk2_145)
package OozingForever_fla {
import flash.display.*;
public dynamic class level_dofa_chunk2_145 extends MovieClip {
public var sun:col_vol;
}
}//package OozingForever_fla
Section 67
//level_dofa_chunk3_146 (OozingForever_fla.level_dofa_chunk3_146)
package OozingForever_fla {
import flash.display.*;
public dynamic class level_dofa_chunk3_146 extends MovieClip {
public var sun:col_vol;
}
}//package OozingForever_fla
Section 68
//level_dofa_chunk4_156 (OozingForever_fla.level_dofa_chunk4_156)
package OozingForever_fla {
import flash.display.*;
public dynamic class level_dofa_chunk4_156 extends MovieClip {
public var sun:col_vol;
}
}//package OozingForever_fla
Section 69
//level_dofa_chunk6_153 (OozingForever_fla.level_dofa_chunk6_153)
package OozingForever_fla {
import flash.display.*;
public dynamic class level_dofa_chunk6_153 extends MovieClip {
public var sun:col_vol;
}
}//package OozingForever_fla
Section 70
//level_syf_collapse_65 (OozingForever_fla.level_syf_collapse_65)
package OozingForever_fla {
import flash.display.*;
public dynamic class level_syf_collapse_65 extends MovieClip {
public var mover:col_box;
public function level_syf_collapse_65(){
addFrameScript(0, frame1, 49, frame50);
}
function frame1(){
stop();
}
function frame50(){
stop();
}
}
}//package OozingForever_fla
Section 71
//level_wat_spinroom_16 (OozingForever_fla.level_wat_spinroom_16)
package OozingForever_fla {
import flash.display.*;
public dynamic class level_wat_spinroom_16 extends MovieClip {
public var mover_exit:MovieClip;
public var talk_spinroom:col_vol;
public var mover_entrance:MovieClip;
public var warp9:col_vol;
}
}//package OozingForever_fla
Section 72
//MainTimeline (OozingForever_fla.MainTimeline)
package OozingForever_fla {
import flash.display.*;
import flash.events.*;
import com.midasplayer.*;
import flash.media.*;
import flash.utils.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.external.*;
import flash.filters.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var pe:Phase;
public var mcLoadLogoBg:MovieClip;
public var allowPlay:Boolean;
public var ag:MovieClip;
public var botLimit:Number;
public var block2:SimpleButton;
public var percent:Number;
public var topLimit:Number;
public var allowed_site2:String;
public var allowed_site1:String;
public var percLoaded:Number;
public var block:SimpleButton;
public var numvars:Number;
public var pre:MovieClip;
public var mochi:String;
public var vertSpeed:Number;
public var ag2:MovieClip;
public var listen:Boolean;
public var mcKingLoader:DragonLoader;
public var game_name:String;
public var domain:String;
public var game:OFGame;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 29, frame30, 30, frame31, 31, frame32, 82, frame83, 85, frame86, 91, frame92, 92, frame93, 97, frame98, 98, frame99, 103, frame104, 104, frame105, 109, frame110);
}
function frame86(){
}
public function onComplete(_arg1:Event){
listen = true;
this.loaderInfo.removeEventListener(Event.COMPLETE, onComplete);
playGame(null);
}
function frame104(){
}
function frame98(){
}
function frame93(){
}
function frame105(){
}
public function checkProgress(_arg1:ProgressEvent):void{
listen = true;
pre.bplay.visible = false;
percLoaded = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100);
percent = Math.round(percLoaded);
pre.txt.text = (("" + percent) + "%");
if ((((percLoaded == 100)) || ((_arg1.bytesLoaded == _arg1.bytesTotal)))){
onComplete(_arg1);
};
}
public function launch2Game(_arg1):void{
mcKingLoader.removeEventListener(DragonLoader.LAUNCH_GAME, launch2Game);
mcKingLoader.destroy();
gotoAndPlay(32);
}
function frame1(){
stop();
this.stage.quality = StageQuality.MEDIUM;
allowPlay = true;
allowed_site1 = "flashgamelicense.com";
allowed_site2 = "pgstudios.org";
domain = this.root.loaderInfo.url.split("/")[2];
if (domain.indexOf(allowed_site1) == (domain.length - allowed_site1.length)){
trace("allow fgl");
} else {
if (domain.indexOf(allowed_site2) == (domain.length - allowed_site2.length)){
trace("allow pgs");
};
};
listen = false;
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, checkProgress);
this.loaderInfo.addEventListener(Event.COMPLETE, onComplete);
pre.bplay.addEventListener(MouseEvent.CLICK, playGame);
addEventListener(Event.ENTER_FRAME, preloaderLoop);
percent = 0;
percLoaded = 0;
vertSpeed = 2;
topLimit = -80;
botLimit = 80;
numvars = 5;
pre.map2.gotoAndStop(Math.ceil((Math.random() * numvars)));
pre.map3.gotoAndStop(Math.ceil((Math.random() * numvars)));
pre.map4.gotoAndStop(Math.ceil((Math.random() * numvars)));
}
function frame110(){
}
public function ag2Loop(_arg1:Event):void{
if (ag2.currentFrame == 108){
ag2.link.removeEventListener(MouseEvent.CLICK, ag2Link);
gotoAndPlay(31);
};
}
function frame30(){
stop();
ag2.link.addEventListener(MouseEvent.CLICK, ag2Link);
addEventListener(Event.ENTER_FRAME, ag2Loop);
}
function frame99(){
}
public function playGame(_arg1:Event){
removeEventListener(Event.ENTER_FRAME, preloaderLoop);
if (allowPlay){
gotoAndStop(30);
} else {
gotoAndStop(20);
};
}
function frame83(){
}
public function preloaderLoop(_arg1:Event):void{
var _local2:*;
var _local3:*;
var _local4:*;
pre.y = (pre.y + vertSpeed);
if (pre.y <= topLimit){
vertSpeed = ((Math.random() * 4) + 2);
botLimit = (25 + (Math.random() * 75));
} else {
if (pre.y >= botLimit){
vertSpeed = (-((Math.random() * 4)) - 2);
topLimit = (-25 - (Math.random() * 75));
};
};
_local2 = 4;
_local3 = 0;
while (_local3 < _local2) {
_local4 = pre[("map" + (_local3 + 1))];
pre[("map" + (_local3 + 1))].x = (_local4.x - 30);
if (_local4.x <= -700){
_local4.x = (_local4.x + (_local2 * 700));
_local4.gotoAndStop(Math.ceil((Math.random() * numvars)));
};
_local3++;
};
if (!listen){
onComplete(null);
};
}
public function gameLoop(_arg1:Event):void{
Phase.loopStart();
Phase.loopEnd();
}
function frame32(){
stop();
this.stage.quality = StageQuality.MEDIUM;
pe = new Phase(this.stage);
game = new OFGame();
Phase.debug.visible = false;
addEventListener(Event.ENTER_FRAME, gameLoop);
}
function frame92(){
}
function frame31(){
stop();
removeEventListener(Event.ENTER_FRAME, ag2Loop);
game_name = "oozing-forever";
mochi = "ccd614a6";
mcKingLoader.addEventListener(DragonLoader.LAUNCH_GAME, launch2Game);
mcKingLoader.init("oozing-forever", mochi);
}
function frame2(){
}
public function ag2Link(_arg1:Event){
navigateToURL(new URLRequest("http://www.armorgames.com"), "_blank");
}
}
}//package OozingForever_fla
Section 73
//mcBannedSign_330 (OozingForever_fla.mcBannedSign_330)
package OozingForever_fla {
import flash.display.*;
public dynamic class mcBannedSign_330 extends MovieClip {
public var bg:MovieClip;
}
}//package OozingForever_fla
Section 74
//mcFireLogo_329 (OozingForever_fla.mcFireLogo_329)
package OozingForever_fla {
import flash.display.*;
public dynamic class mcFireLogo_329 extends MovieClip {
public function mcFireLogo_329(){
addFrameScript(72, frame73);
}
function frame73(){
stop();
}
}
}//package OozingForever_fla
Section 75
//mcLoadLogo_334 (OozingForever_fla.mcLoadLogo_334)
package OozingForever_fla {
import flash.display.*;
public dynamic class mcLoadLogo_334 extends MovieClip {
public var bar:MovieClip;
}
}//package OozingForever_fla
Section 76
//mcPlayBtn_332 (OozingForever_fla.mcPlayBtn_332)
package OozingForever_fla {
import flash.display.*;
public dynamic class mcPlayBtn_332 extends MovieClip {
public function mcPlayBtn_332(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package OozingForever_fla
Section 77
//menu_awards_322 (OozingForever_fla.menu_awards_322)
package OozingForever_fla {
import flash.display.*;
import flash.text.*;
public dynamic class menu_awards_322 extends MovieClip {
public var tropicslimer:award_tropicslimer;
public var firstunlock:award_firstunlock;
public var harlot:award_harlot;
public var divider:award_divider;
public var respectdead:award_respectdead;
public var fatty:award_fatty;
public var ocdroid:award_ocdroid;
public var desc:TextField;
public var rollercoaster:award_rollercoaster;
public var awname:TextField;
public var support:award_support;
public var bugzapper:award_bugzapper;
public var momplete:award_momplete;
public var quality:award_quality;
}
}//package OozingForever_fla
Section 78
//menu_levels_323 (OozingForever_fla.menu_levels_323)
package OozingForever_fla {
import flash.display.*;
import flash.text.*;
public dynamic class menu_levels_323 extends MovieClip {
public var bresume:SimpleButton;
public var pass:TextField;
public var rtxt:TextField;
}
}//package OozingForever_fla
Section 79
//menu_options_317 (OozingForever_fla.menu_options_317)
package OozingForever_fla {
import flash.display.*;
import flash.text.*;
public dynamic class menu_options_317 extends MovieClip {
public var fdown:SimpleButton;
public var volMusic:MovieClip;
public var gtext:TextField;
public var volMaster:MovieClip;
public var gup:SimpleButton;
public var fup:SimpleButton;
public var gdown:SimpleButton;
public var ftext:TextField;
public var volEffects:MovieClip;
}
}//package OozingForever_fla
Section 80
//mover_spike_124 (OozingForever_fla.mover_spike_124)
package OozingForever_fla {
import flash.display.*;
public dynamic class mover_spike_124 extends MovieClip {
public var mover:col_spike;
}
}//package OozingForever_fla
Section 81
//mover_tetris1_166 (OozingForever_fla.mover_tetris1_166)
package OozingForever_fla {
import flash.display.*;
public dynamic class mover_tetris1_166 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 82
//mover_tetris2_168 (OozingForever_fla.mover_tetris2_168)
package OozingForever_fla {
import flash.display.*;
public dynamic class mover_tetris2_168 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 83
//mover_tetris3_169 (OozingForever_fla.mover_tetris3_169)
package OozingForever_fla {
import flash.display.*;
public dynamic class mover_tetris3_169 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 84
//mover_tetris4_178 (OozingForever_fla.mover_tetris4_178)
package OozingForever_fla {
import flash.display.*;
public dynamic class mover_tetris4_178 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 85
//mover_tetris5_179 (OozingForever_fla.mover_tetris5_179)
package OozingForever_fla {
import flash.display.*;
public dynamic class mover_tetris5_179 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 86
//mover_tetris6_180 (OozingForever_fla.mover_tetris6_180)
package OozingForever_fla {
import flash.display.*;
public dynamic class mover_tetris6_180 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 87
//mover_tetris7_181 (OozingForever_fla.mover_tetris7_181)
package OozingForever_fla {
import flash.display.*;
public dynamic class mover_tetris7_181 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 88
//npc_scientist_102 (OozingForever_fla.npc_scientist_102)
package OozingForever_fla {
import flash.display.*;
public dynamic class npc_scientist_102 extends MovieClip {
public function npc_scientist_102(){
addFrameScript(40, frame41, 69, frame70, 94, frame95, 140, frame141);
}
function frame70(){
gotoAndPlay("talking");
}
function frame95(){
gotoAndStop("gone");
}
function frame41(){
gotoAndPlay("idle");
}
function frame141(){
stop();
}
}
}//package OozingForever_fla
Section 89
//npc_scientist_dead_51 (OozingForever_fla.npc_scientist_dead_51)
package OozingForever_fla {
import flash.display.*;
public dynamic class npc_scientist_dead_51 extends MovieClip {
public function npc_scientist_dead_51(){
addFrameScript(9, frame10);
}
function frame10(){
gotoAndPlay("idle");
}
}
}//package OozingForever_fla
Section 90
//npc_scientist_dead2_116 (OozingForever_fla.npc_scientist_dead2_116)
package OozingForever_fla {
import flash.display.*;
public dynamic class npc_scientist_dead2_116 extends MovieClip {
public function npc_scientist_dead2_116(){
addFrameScript(9, frame10);
}
function frame10(){
gotoAndPlay("idle");
}
}
}//package OozingForever_fla
Section 91
//npc_scientist_dead3_230 (OozingForever_fla.npc_scientist_dead3_230)
package OozingForever_fla {
import flash.display.*;
public dynamic class npc_scientist_dead3_230 extends MovieClip {
public function npc_scientist_dead3_230(){
addFrameScript(9, frame10);
}
function frame10(){
gotoAndPlay("idle");
}
}
}//package OozingForever_fla
Section 92
//num2_203 (OozingForever_fla.num2_203)
package OozingForever_fla {
import flash.display.*;
public dynamic class num2_203 extends MovieClip {
public function num2_203(){
addFrameScript(12, frame13, 39, frame40, 59, frame60, 88, frame89);
}
function frame89(){
gotoAndPlay("run");
}
function frame13(){
gotoAndPlay("idle");
}
function frame40(){
gotoAndPlay("talking");
}
function frame60(){
gotoAndPlay("run");
}
}
}//package OozingForever_fla
Section 93
//num2_board_206 (OozingForever_fla.num2_board_206)
package OozingForever_fla {
import flash.display.*;
public dynamic class num2_board_206 extends MovieClip {
public function num2_board_206(){
addFrameScript(10, frame11, 34, frame35);
}
function frame11(){
gotoAndPlay("idle");
}
function frame35(){
gotoAndPlay("idle");
}
}
}//package OozingForever_fla
Section 94
//num2_machine_211 (OozingForever_fla.num2_machine_211)
package OozingForever_fla {
import flash.display.*;
public dynamic class num2_machine_211 extends MovieClip {
public var num2:MovieClip;
}
}//package OozingForever_fla
Section 95
//otm_plat1_240 (OozingForever_fla.otm_plat1_240)
package OozingForever_fla {
import flash.display.*;
public dynamic class otm_plat1_240 extends MovieClip {
public var mover:col_box;
public function otm_plat1_240(){
addFrameScript(399, frame400);
}
function frame400(){
stop();
}
}
}//package OozingForever_fla
Section 96
//otm_plat2_241 (OozingForever_fla.otm_plat2_241)
package OozingForever_fla {
import flash.display.*;
public dynamic class otm_plat2_241 extends MovieClip {
public var mover:col_box;
public function otm_plat2_241(){
addFrameScript(539, frame540);
}
function frame540(){
stop();
}
}
}//package OozingForever_fla
Section 97
//otm_plat3_243 (OozingForever_fla.otm_plat3_243)
package OozingForever_fla {
import flash.display.*;
public dynamic class otm_plat3_243 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 98
//otm_plat4_244 (OozingForever_fla.otm_plat4_244)
package OozingForever_fla {
import flash.display.*;
public dynamic class otm_plat4_244 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 99
//otm_plat5_245 (OozingForever_fla.otm_plat5_245)
package OozingForever_fla {
import flash.display.*;
public dynamic class otm_plat5_245 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 100
//otm_plat6_225 (OozingForever_fla.otm_plat6_225)
package OozingForever_fla {
import flash.display.*;
public dynamic class otm_plat6_225 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 101
//piston_67 (OozingForever_fla.piston_67)
package OozingForever_fla {
import flash.display.*;
public dynamic class piston_67 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 102
//powerdoor_36 (OozingForever_fla.powerdoor_36)
package OozingForever_fla {
import flash.display.*;
public dynamic class powerdoor_36 extends MovieClip {
public var mover:col_box;
public function powerdoor_36(){
addFrameScript(0, frame1, 54, frame55);
}
function frame1(){
stop();
}
function frame55(){
stop();
}
}
}//package OozingForever_fla
Section 103
//pre_map_3 (OozingForever_fla.pre_map_3)
package OozingForever_fla {
import flash.display.*;
public dynamic class pre_map_3 extends MovieClip {
public function pre_map_3(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
}
}//package OozingForever_fla
Section 104
//preloader_1 (OozingForever_fla.preloader_1)
package OozingForever_fla {
import flash.display.*;
import flash.text.*;
public dynamic class preloader_1 extends MovieClip {
public var map3:MovieClip;
public var map2:MovieClip;
public var map4:MovieClip;
public var map1:MovieClip;
public var txt:TextField;
public var bplay:SimpleButton;
}
}//package OozingForever_fla
Section 105
//preloader_mochi_333 (OozingForever_fla.preloader_mochi_333)
package OozingForever_fla {
import flash.display.*;
public dynamic class preloader_mochi_333 extends MovieClip {
public var map3:MovieClip;
public var map2:MovieClip;
public var map4:MovieClip;
public var map1:MovieClip;
}
}//package OozingForever_fla
Section 106
//risingplatform_45 (OozingForever_fla.risingplatform_45)
package OozingForever_fla {
import flash.display.*;
public dynamic class risingplatform_45 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 107
//risingplatform_high_127 (OozingForever_fla.risingplatform_high_127)
package OozingForever_fla {
import flash.display.*;
public dynamic class risingplatform_high_127 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 108
//risingplatform_high2_128 (OozingForever_fla.risingplatform_high2_128)
package OozingForever_fla {
import flash.display.*;
public dynamic class risingplatform_high2_128 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 109
//rock_fall_219 (OozingForever_fla.rock_fall_219)
package OozingForever_fla {
import flash.display.*;
public dynamic class rock_fall_219 extends MovieClip {
public function rock_fall_219(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package OozingForever_fla
Section 110
//rock_fall2_221 (OozingForever_fla.rock_fall2_221)
package OozingForever_fla {
import flash.display.*;
public dynamic class rock_fall2_221 extends MovieClip {
public function rock_fall2_221(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package OozingForever_fla
Section 111
//rock_fall3_222 (OozingForever_fla.rock_fall3_222)
package OozingForever_fla {
import flash.display.*;
public dynamic class rock_fall3_222 extends MovieClip {
public function rock_fall3_222(){
addFrameScript(31, frame32);
}
function frame32(){
stop();
}
}
}//package OozingForever_fla
Section 112
//sideplatform_76 (OozingForever_fla.sideplatform_76)
package OozingForever_fla {
import flash.display.*;
public dynamic class sideplatform_76 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 113
//sideplatform2_123 (OozingForever_fla.sideplatform2_123)
package OozingForever_fla {
import flash.display.*;
public dynamic class sideplatform2_123 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 114
//slider_318 (OozingForever_fla.slider_318)
package OozingForever_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.external.*;
import flash.filters.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class slider_318 extends MovieClip {
public var val:Number;
public var dragging:Boolean;
public var rectangle:Rectangle;
public var updated:Boolean;
public var slider:MovieClip;
public function slider_318(){
addFrameScript(0, frame1);
}
public function adjustValue(_arg1:Event):void{
val = (slider.handle.x / 100);
}
function frame1(){
val = 0.5;
updated = false;
dragging = false;
rectangle = new Rectangle(0, 0, 100, 0);
slider.handle.addEventListener(MouseEvent.MOUSE_DOWN, dragIt);
stage.addEventListener(MouseEvent.MOUSE_UP, dropIt);
slider.handle.buttonMode = (slider.handle.useHandCursor = true);
}
public function dragIt(_arg1:Event):void{
slider.handle.startDrag(false, rectangle);
dragging = true;
slider.handle.addEventListener(Event.ENTER_FRAME, adjustValue);
}
public function dropIt(_arg1:Event):void{
if (dragging){
slider.handle.stopDrag();
dragging = false;
updated = true;
};
}
}
}//package OozingForever_fla
Section 115
//slider_bar_319 (OozingForever_fla.slider_bar_319)
package OozingForever_fla {
import flash.display.*;
public dynamic class slider_bar_319 extends MovieClip {
public var handle:MovieClip;
}
}//package OozingForever_fla
Section 116
//spinner_133 (OozingForever_fla.spinner_133)
package OozingForever_fla {
import flash.display.*;
public dynamic class spinner_133 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 117
//spinner_full2_131 (OozingForever_fla.spinner_full2_131)
package OozingForever_fla {
import flash.display.*;
public dynamic class spinner_full2_131 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 118
//wallrise_platform_149 (OozingForever_fla.wallrise_platform_149)
package OozingForever_fla {
import flash.display.*;
public dynamic class wallrise_platform_149 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 119
//wallrise_platform2_151 (OozingForever_fla.wallrise_platform2_151)
package OozingForever_fla {
import flash.display.*;
public dynamic class wallrise_platform2_151 extends MovieClip {
public var mover:col_box;
}
}//package OozingForever_fla
Section 120
//window_open_199 (OozingForever_fla.window_open_199)
package OozingForever_fla {
import flash.display.*;
public dynamic class window_open_199 extends MovieClip {
public function window_open_199(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package OozingForever_fla
Section 121
//mp3 (pop1.mp3)
package pop1 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package pop1
Section 122
//mp3 (pop2.mp3)
package pop2 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package pop2
Section 123
//mp3 (pop3.mp3)
package pop3 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package pop3
Section 124
//mp3 (pop4.mp3)
package pop4 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package pop4
Section 125
//mp3 (sci3.mp3)
package sci3 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package sci3
Section 126
//mp3 (sci4.mp3)
package sci4 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package sci4
Section 127
//mp3 (sci5.mp3)
package sci5 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package sci5
Section 128
//mp3 (slidingplatform.mp3)
package slidingplatform {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package slidingplatform
Section 129
//mp3 (SlowSong_80kbps.mp3)
package SlowSong_80kbps {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package SlowSong_80kbps
Section 130
//mp3 (spider_drone.mp3)
package spider_drone {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package spider_drone
Section 131
//mp3 (squish1.mp3)
package squish1 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package squish1
Section 132
//mp3 (squish2.mp3)
package squish2 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package squish2
Section 133
//mp3 (squish3.mp3)
package squish3 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package squish3
Section 134
//mp3 (squish4.mp3)
package squish4 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package squish4
Section 135
//mp3 (squish5.mp3)
package squish5 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package squish5
Section 136
//mp3 (squish6.mp3)
package squish6 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package squish6
Section 137
//mp3 (squish7.mp3)
package squish7 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package squish7
Section 138
//mp3 (squish8.mp3)
package squish8 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package squish8
Section 139
//mp3 (squish9.mp3)
package squish9 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package squish9
Section 140
//mp3 (sup.mp3)
package sup {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package sup
Section 141
//mp3 (sup2.mp3)
package sup2 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package sup2
Section 142
//mp3 (tv_off.mp3)
package tv_off {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package tv_off
Section 143
//mp3 (tv_on.mp3)
package tv_on {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package tv_on
Section 144
//mp3 (ugh.mp3)
package ugh {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package ugh
Section 145
//mp3 (yo.mp3)
package yo {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package yo
Section 146
//award_bugzapper (award_bugzapper)
package {
import flash.display.*;
public dynamic class award_bugzapper extends MovieClip {
}
}//package
Section 147
//award_divider (award_divider)
package {
import flash.display.*;
public dynamic class award_divider extends MovieClip {
}
}//package
Section 148
//award_fatty (award_fatty)
package {
import flash.display.*;
public dynamic class award_fatty extends MovieClip {
}
}//package
Section 149
//award_firstunlock (award_firstunlock)
package {
import flash.display.*;
public dynamic class award_firstunlock extends MovieClip {
}
}//package
Section 150
//award_harlot (award_harlot)
package {
import flash.display.*;
public dynamic class award_harlot extends MovieClip {
}
}//package
Section 151
//award_momplete (award_momplete)
package {
import flash.display.*;
public dynamic class award_momplete extends MovieClip {
}
}//package
Section 152
//award_ocdroid (award_ocdroid)
package {
import flash.display.*;
public dynamic class award_ocdroid extends MovieClip {
}
}//package
Section 153
//award_quality (award_quality)
package {
import flash.display.*;
public dynamic class award_quality extends MovieClip {
}
}//package
Section 154
//award_respectdead (award_respectdead)
package {
import flash.display.*;
public dynamic class award_respectdead extends MovieClip {
}
}//package
Section 155
//award_rollercoaster (award_rollercoaster)
package {
import flash.display.*;
public dynamic class award_rollercoaster extends MovieClip {
}
}//package
Section 156
//award_support (award_support)
package {
import flash.display.*;
public dynamic class award_support extends MovieClip {
}
}//package
Section 157
//award_tropicslimer (award_tropicslimer)
package {
import flash.display.*;
public dynamic class award_tropicslimer extends MovieClip {
}
}//package
Section 158
//bgsky (bgsky)
package {
import flash.display.*;
public dynamic class bgsky extends MovieClip {
public var sun:MovieClip;
public var air:MovieClip;
}
}//package
Section 159
//blackscreen (blackscreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class blackscreen extends MovieClip {
public var txt:TextField;
public var msg:TextField;
}
}//package
Section 160
//col_box (col_box)
package {
public dynamic class col_box extends PEColClip_Box {
}
}//package
Section 161
//col_box_slant1l (col_box_slant1l)
package {
public dynamic class col_box_slant1l extends PEColClip_Box {
}
}//package
Section 162
//col_box_slant1r (col_box_slant1r)
package {
public dynamic class col_box_slant1r extends PEColClip_Box {
}
}//package
Section 163
//col_circle (col_circle)
package {
public dynamic class col_circle extends PEColClip {
}
}//package
Section 164
//col_line (col_line)
package {
public dynamic class col_line extends PEColClip {
}
}//package
Section 165
//col_snd (col_snd)
package {
public dynamic class col_snd extends PESoundClip {
}
}//package
Section 166
//col_spike (col_spike)
package {
public dynamic class col_spike extends PEColClip_Box {
}
}//package
Section 167
//col_vol (col_vol)
package {
public dynamic class col_vol extends PEColClip_Vol {
}
}//package
Section 168
//debug_overlay (debug_overlay)
package {
import flash.display.*;
import flash.text.*;
public dynamic class debug_overlay extends MovieClip {
public var log:TextField;
}
}//package
Section 169
//droid_hover_exhaust (droid_hover_exhaust)
package {
import flash.display.*;
public dynamic class droid_hover_exhaust extends MovieClip {
public function droid_hover_exhaust(){
addFrameScript(23, frame24);
}
function frame24(){
gotoAndPlay(1);
}
}
}//package
Section 170
//droid_hover_shot (droid_hover_shot)
package {
import flash.display.*;
public dynamic class droid_hover_shot extends MovieClip {
public function droid_hover_shot(){
addFrameScript(39, frame40);
}
function frame40(){
gotoAndStop(20);
}
}
}//package
Section 171
//flyer (flyer)
package {
import flash.display.*;
public dynamic class flyer extends MovieClip {
public var light:col_vol;
public var lightvis:MovieClip;
public function flyer(){
addFrameScript(9, frame10, 24, frame25);
}
function frame10(){
gotoAndPlay("alive");
}
function frame25(){
gotoAndPlay("dead");
}
}
}//package
Section 172
//glob (glob)
package {
import flash.display.*;
public dynamic class glob extends MovieClip {
public function glob(){
addFrameScript(39, frame40);
}
function frame40(){
gotoAndStop(1);
}
}
}//package
Section 173
//hover (hover)
package {
import flash.display.*;
public dynamic class hover extends MovieClip {
public var barrel:MovieClip;
public function hover(){
addFrameScript(14, frame15, 34, frame35);
}
function frame15(){
gotoAndPlay("alive");
}
function frame35(){
gotoAndStop("dead");
}
}
}//package
Section 174
//hud_award (hud_award)
package {
import flash.display.*;
import flash.text.*;
public dynamic class hud_award extends MovieClip {
public var desc:TextField;
public var ico:MovieClip;
public var awname:TextField;
}
}//package
Section 175
//hud_beacon (hud_beacon)
package {
import flash.display.*;
public dynamic class hud_beacon extends MovieClip {
public function hud_beacon(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package
Section 176
//hud_circle (hud_circle)
package {
import flash.display.*;
public dynamic class hud_circle extends MovieClip {
public var beacon:hud_beacon;
public var centre:MovieClip;
}
}//package
Section 177
//hud_circle_small (hud_circle_small)
package {
import flash.display.*;
public dynamic class hud_circle_small extends MovieClip {
}
}//package
Section 178
//hud_dialog (hud_dialog)
package {
import flash.display.*;
import flash.text.*;
public dynamic class hud_dialog extends MovieClip {
public var txt:TextField;
public var ntxt:TextField;
}
}//package
Section 179
//hud_menu (hud_menu)
package {
import flash.display.*;
import flash.text.*;
public dynamic class hud_menu extends MovieClip {
public var soundoff:MovieClip;
public var blogo:SimpleButton;
public var gtext:TextField;
public var soundon:MovieClip;
public var blogo2:SimpleButton;
public var bpause:SimpleButton;
public var bsound:SimpleButton;
}
}//package
Section 180
//hud_skip (hud_skip)
package {
import flash.display.*;
public dynamic class hud_skip extends MovieClip {
public var bskip:SimpleButton;
}
}//package
Section 181
//impact_spark (impact_spark)
package {
import flash.display.*;
public dynamic class impact_spark extends MovieClip {
}
}//package
Section 182
//king_spark (king_spark)
package {
import flash.display.*;
public dynamic class king_spark extends MovieClip {
public function king_spark(){
addFrameScript(22, frame23);
}
function frame23(){
gotoAndStop("loop");
}
}
}//package
Section 183
//level_ate_over1 (level_ate_over1)
package {
import flash.display.*;
public dynamic class level_ate_over1 extends MovieClip {
}
}//package
Section 184
//level_ate_sect1 (level_ate_sect1)
package {
import flash.display.*;
public dynamic class level_ate_sect1 extends MovieClip {
public var zoom70:col_vol;
public var zoom80:col_vol;
public var regen10:col_vol;
public var regen12:col_vol;
public var regen11:col_vol;
public var award_quality:col_vol;
public var sun:col_vol;
public var chunk:MovieClip;
public var spawn24_3:col_vol;
public var next_syf:col_vol;
public var dir_up3:col_vol;
public var movingplatform_mp3:col_snd;
public var zoom45:col_vol;
public var collapse:MovieClip;
public var cover:MovieClip;
public var mover:MovieClip;
public var scene_firstsci:col_vol;
public var point22:col_vol;
public var point24:col_vol;
public var fan_mp3:col_snd;
public var zoom65:col_vol;
public var spawn22_2:col_vol;
}
}//package
Section 185
//level_ba_over1 (level_ba_over1)
package {
import flash.display.*;
public dynamic class level_ba_over1 extends MovieClip {
}
}//package
Section 186
//level_ba_sect1 (level_ba_sect1)
package {
import flash.display.*;
public dynamic class level_ba_sect1 extends MovieClip {
public var regen10:col_vol;
public var regen12:col_vol;
public var regen18:col_vol;
public var elec_mp3:col_snd;
public var dir_up2:col_vol;
public var dir_up4:col_vol;
public var elec_mover_door:col_vol;
public var chunk:MovieClip;
public var mover_door:MovieClip;
public var dir_up3:col_vol;
public var place11_flyer:col_vol;
public var elec:col_vol;
public var talk_lonely:col_vol;
public var next_ate:col_vol;
public var point11:col_vol;
public var zoom55:col_vol;
public var zoom50:col_vol;
public var talk_ss1:col_vol;
public var zoom60:col_vol;
public var talk_ss2:col_vol;
public var talk_ss3:col_vol;
public var ss1:MovieClip;
public var ss2:MovieClip;
public var ss3:MovieClip;
public var dir_left4:col_vol;
public var fan_mp3:col_snd;
public var zoom75:col_vol;
}
}//package
Section 187
//level_dhv_over1 (level_dhv_over1)
package {
import flash.display.*;
public dynamic class level_dhv_over1 extends MovieClip {
}
}//package
Section 188
//level_dhv_sect1 (level_dhv_sect1)
package {
import flash.display.*;
public dynamic class level_dhv_sect1 extends MovieClip {
public var place13_flyer:col_vol;
public var place6_flyer:col_vol;
public var place15_spider:col_vol;
public var place10_flyer:col_vol;
public var chunk:MovieClip;
public var place3_spider:col_vol;
public var point1:col_vol;
public var point3:col_vol;
public var point4:col_vol;
public var point5:col_vol;
public var point6:col_vol;
public var point7:col_vol;
public var point8:col_vol;
public var point9:col_vol;
public var point2:col_vol;
public var place1_spider:col_vol;
public var place12_flyer:col_vol;
public var place8_spider:col_vol;
public var place5_flyer:col_vol;
public var regen10:col_vol;
public var regen14:col_vol;
public var regen18:col_vol;
public var elec_mp3:col_snd;
public var talk_evilrobots:col_vol;
public var place14_spider:col_vol;
public var place7_flyer:col_vol;
public var elec:col_vol;
public var place11_flyer:col_vol;
public var place2_spider:col_vol;
public var next_ff:col_vol;
public var point10:col_vol;
public var point11:col_vol;
public var point12:col_vol;
public var point13:col_vol;
public var point14:col_vol;
public var point15:col_vol;
public var zoom50:col_vol;
public var place9_spider:col_vol;
public var place4_flyer:col_vol;
public var zoom60:col_vol;
public var talk_deadsci2:col_vol;
}
}//package
Section 189
//level_dofa_over1 (level_dofa_over1)
package {
import flash.display.*;
public dynamic class level_dofa_over1 extends MovieClip {
public var alarm1:MovieClip;
public var alarm2:MovieClip;
public var alarm4:MovieClip;
public var alarm3:MovieClip;
}
}//package
Section 190
//level_dofa_over2 (level_dofa_over2)
package {
import flash.display.*;
public dynamic class level_dofa_over2 extends MovieClip {
}
}//package
Section 191
//level_dofa_sect1 (level_dofa_sect1)
package {
import flash.display.*;
public dynamic class level_dofa_sect1 extends MovieClip {
public var alarm1:MovieClip;
public var alarm2:MovieClip;
public var alarm4:MovieClip;
public var alarm3:MovieClip;
public var regen12:col_vol;
public var regen17:col_vol;
public var scene_elevator:col_vol;
public var place11_hover:col_vol;
public var chunk:MovieClip;
public var mover_door:MovieClip;
public var place12_hover:col_vol;
public var point11:col_vol;
public var point12:col_vol;
public var zoom55:col_vol;
public var zoom50:col_vol;
public var mover_elevator:MovieClip;
public var regen9:col_vol;
public var mover:MovieClip;
public var zoom65:col_vol;
}
}//package
Section 192
//level_dofa_sect2 (level_dofa_sect2)
package {
import flash.display.*;
public dynamic class level_dofa_sect2 extends MovieClip {
public var mover_plat1:MovieClip;
public var regen10:col_vol;
public var regen16:col_vol;
public var regen12:col_vol;
public var award_quality:col_vol;
public var sci1:MovieClip;
public var sci2:MovieClip;
public var regen14:col_vol;
public var talk_dofasci:col_vol;
public var dofafight:col_vol;
public var chunk:MovieClip;
public var next_mu:col_vol;
public var sci3:MovieClip;
public var zoom40:col_vol;
public var zoom55:col_vol;
public var scene_ledgepush:col_vol;
public var mover_plat2:MovieClip;
public var mover_plat3:MovieClip;
public var mover_plat4:MovieClip;
public var mover_plat5:MovieClip;
}
}//package
Section 193
//level_ff_over1 (level_ff_over1)
package {
import flash.display.*;
public dynamic class level_ff_over1 extends MovieClip {
}
}//package
Section 194
//level_ff_sect1 (level_ff_sect1)
package {
import flash.display.*;
public dynamic class level_ff_sect1 extends MovieClip {
public var mover_exit:MovieClip;
public var regen10:col_vol;
public var talk_sticky:col_vol;
public var award_quality:col_vol;
public var scene_fightff:col_vol;
public var sun:col_vol;
public var icey:col_vol;
public var talk_wtfprojector:col_vol;
public var next_dofa:col_vol;
public var mover_entrance:MovieClip;
public var chunk:MovieClip;
public var dir_up3:col_vol;
public var regen14:col_vol;
public var proj1:MovieClip;
public var zoom40:col_vol;
public var point11:col_vol;
public var point12:col_vol;
public var point14:col_vol;
public var zoom55:col_vol;
public var point13:col_vol;
public var zoom60:col_vol;
public var zoom65:col_vol;
public var fan_mp3:col_snd;
public var sticky:col_vol;
}
}//package
Section 195
//level_fil_over1 (level_fil_over1)
package {
import flash.display.*;
public dynamic class level_fil_over1 extends MovieClip {
}
}//package
Section 196
//level_fil_sect1 (level_fil_sect1)
package {
import flash.display.*;
public dynamic class level_fil_sect1 extends MovieClip {
public var zoom70:col_vol;
public var next_otm:col_vol;
public var regen10:col_vol;
public var regen12:col_vol;
public var dir_left1:col_vol;
public var place6_spider:col_vol;
public var place5_spider:col_vol;
public var dir_up4:col_vol;
public var chunk:MovieClip;
public var talk_wallsci:col_vol;
public var dir_up3:col_vol;
public var dir_right2:col_vol;
public var elec:col_vol;
public var point6:col_vol;
public var point7:col_vol;
public var point8:col_vol;
public var point9:col_vol;
public var point5:col_vol;
public var warp7:col_vol;
public var warp1:col_vol;
public var warp2:col_vol;
public var point4:col_vol;
public var zoom50:col_vol;
public var zoom55:col_vol;
public var point3:col_vol;
public var place4_flyer:col_vol;
public var point1:col_vol;
public var warp9:col_vol;
public var zoom60:col_vol;
public var point2:col_vol;
public var zoom65:col_vol;
public var dir_left2:col_vol;
public var warp8:col_vol;
public var place3_flyer:col_vol;
public var mover:MovieClip;
}
}//package
Section 197
//level_itrw_over1 (level_itrw_over1)
package {
import flash.display.*;
public dynamic class level_itrw_over1 extends MovieClip {
}
}//package
Section 198
//level_itrw_sect1 (level_itrw_sect1)
package {
import flash.display.*;
public dynamic class level_itrw_sect1 extends MovieClip {
public var mover_spin1:MovieClip;
public var mover_spin2:MovieClip;
public var mover_door1:MovieClip;
public var next_n2:col_vol;
public var sun:col_vol;
public var chunk:MovieClip;
public var zoom35:col_vol;
public var place3_spider:col_vol;
public var place2_spider:col_vol;
public var mover_door2:MovieClip;
public var talk_courtyard:col_vol;
public var point1:col_vol;
public var point6:col_vol;
public var point2:col_vol;
public var point5:col_vol;
public var point4:col_vol;
public var place1_spider:col_vol;
public var point3:col_vol;
public var talk_hangsci:col_vol;
}
}//package
Section 199
//level_mu_over1 (level_mu_over1)
package {
import flash.display.*;
public dynamic class level_mu_over1 extends MovieClip {
}
}//package
Section 200
//level_mu_sect1 (level_mu_sect1)
package {
import flash.display.*;
public dynamic class level_mu_sect1 extends MovieClip {
public var zoom70:col_vol;
public var regen10:col_vol;
public var regen12:col_vol;
public var mover_spike3:MovieClip;
public var regen15:col_vol;
public var mover_spike2:MovieClip;
public var mover_piston2:MovieClip;
public var dir_up4:col_vol;
public var regen14:col_vol;
public var slidingplatform_mp3:col_snd;
public var movingplatform_mp3:col_snd;
public var chunk:MovieClip;
public var zoom45:col_vol;
public var next_wat:col_vol;
public var zoom50:col_vol;
public var mover:MovieClip;
public var zoom65:col_vol;
public var fan_mp3:col_snd;
}
}//package
Section 201
//level_n2_over1 (level_n2_over1)
package {
import flash.display.*;
public dynamic class level_n2_over1 extends MovieClip {
}
}//package
Section 202
//level_n2_sect1 (level_n2_sect1)
package {
import flash.display.*;
public dynamic class level_n2_sect1 extends MovieClip {
public var flyblock:col_box;
public var mover_floor2:MovieClip;
public var mover_floor1:MovieClip;
public var wind1:MovieClip;
public var wind3:MovieClip;
public var wind4:MovieClip;
public var wind2:MovieClip;
public var dir_up6:col_vol;
public var scene_meet1:col_vol;
public var num23:MovieClip;
public var mover_ent1:MovieClip;
public var flyhit:col_vol;
public var spot2:col_vol;
public var spot3:col_vol;
public var spot1:col_vol;
public var num2:MovieClip;
public var chunk:MovieClip;
public var dir_aup6:col_vol;
public var spot4:col_vol;
public var scene_meet2:col_vol;
public var fan2:MovieClip;
public var num22:MovieClip;
public var point1:col_vol;
public var zoom40:col_vol;
public var place2_spider:col_vol;
public var point2:col_vol;
public var spot5:col_vol;
public var point4:col_vol;
public var zoom50:col_vol;
public var fan1:MovieClip;
public var mover_ent2:MovieClip;
public var place1_spider:col_vol;
public var point3:col_vol;
public var mover_exit1:MovieClip;
public var mover_exit2:MovieClip;
public var window:MovieClip;
}
}//package
Section 203
//level_n2_sect2 (level_n2_sect2)
package {
import flash.display.*;
public dynamic class level_n2_sect2 extends MovieClip {
public var blocker:col_line;
public var fall2:MovieClip;
public var fall5:MovieClip;
public var fall6:MovieClip;
public var fall1:MovieClip;
public var fall3:MovieClip;
public var fall4:MovieClip;
public var num24:MovieClip;
public var chunk:MovieClip;
public var scene_end3:col_vol;
}
}//package
Section 204
//level_nhh_over1 (level_nhh_over1)
package {
import flash.display.*;
public dynamic class level_nhh_over1 extends MovieClip {
}
}//package
Section 205
//level_nhh_over2 (level_nhh_over2)
package {
import flash.display.*;
public dynamic class level_nhh_over2 extends MovieClip {
}
}//package
Section 206
//level_nhh_sect1 (level_nhh_sect1)
package {
import flash.display.*;
public dynamic class level_nhh_sect1 extends MovieClip {
public var regen11:col_vol;
public var mover_tet2:MovieClip;
public var mover_tet3:MovieClip;
public var mover_tet1:MovieClip;
public var place5_spider:col_vol;
public var place2_flyer:col_vol;
public var regen14:col_vol;
public var chunk:MovieClip;
public var place4_hover:col_vol;
public var place3_flyer:col_vol;
public var point1:col_vol;
public var elec:col_vol;
public var warp1:col_vol;
public var point5:col_vol;
public var point2:col_vol;
public var point4:col_vol;
public var zoom50:col_vol;
public var point3:col_vol;
public var place4_flyer:col_vol;
public var regen9:col_vol;
public var mover:MovieClip;
public var zoom65:col_vol;
public var dir_left2:col_vol;
}
}//package
Section 207
//level_nhh_sect2 (level_nhh_sect2)
package {
import flash.display.*;
public dynamic class level_nhh_sect2 extends MovieClip {
public var regen13:col_vol;
public var mover_tet5:MovieClip;
public var mover_tet6:MovieClip;
public var mover_tet7:MovieClip;
public var mover_tet8:MovieClip;
public var mover_tet4:MovieClip;
public var regen14:col_vol;
public var mover_tet9:MovieClip;
public var regen15:col_vol;
public var dir_up5:col_vol;
public var sun:col_vol;
public var dir_up4:col_vol;
public var chunk:MovieClip;
public var dir_up3:col_vol;
public var dir_right4:col_vol;
public var dir_right3:col_vol;
public var dir_right5:col_vol;
public var point6:col_vol;
public var warp7:col_vol;
public var zoom40:col_vol;
public var warp6:col_vol;
public var zoom55:col_vol;
public var next_fil:col_vol;
public var mover:MovieClip;
public var point7:col_vol;
}
}//package
Section 208
//level_otm_over1 (level_otm_over1)
package {
import flash.display.*;
public dynamic class level_otm_over1 extends MovieClip {
}
}//package
Section 209
//level_otm_sect1 (level_otm_sect1)
package {
import flash.display.*;
public dynamic class level_otm_sect1 extends MovieClip {
public var mover_p2:MovieClip;
public var mover_p3:MovieClip;
public var mover_p6:MovieClip;
public var mover_p9:MovieClip;
public var plat2:col_vol;
public var mover_p5:MovieClip;
public var regen10:col_vol;
public var regen12:col_vol;
public var mover_circle1:MovieClip;
public var mover_p7:MovieClip;
public var mover_p8:MovieClip;
public var mover_circle2:MovieClip;
public var elec_mover_door:col_vol;
public var mover_p4:MovieClip;
public var mover_door:MovieClip;
public var next_itrw:col_vol;
public var mover_door2:MovieClip;
public var elec:col_vol;
public var point1:col_vol;
public var warp1:col_vol;
public var warp4:col_vol;
public var warp2:col_vol;
public var point4:col_vol;
public var zoom50:col_vol;
public var elec_mover_door2:col_vol;
public var warp3:col_vol;
public var point3:col_vol;
public var mover_circle3:MovieClip;
public var mover_circle4:MovieClip;
public var point2:col_vol;
public var plat1:col_vol;
public var plat9:col_vol;
public var mover_p1:MovieClip;
}
}//package
Section 210
//level_sp_over1 (level_sp_over1)
package {
import flash.display.*;
public dynamic class level_sp_over1 extends MovieClip {
}
}//package
Section 211
//level_sp_over2 (level_sp_over2)
package {
import flash.display.*;
public dynamic class level_sp_over2 extends MovieClip {
}
}//package
Section 212
//level_sp_sect1 (level_sp_sect1)
package {
import flash.display.*;
public dynamic class level_sp_sect1 extends MovieClip {
public var talk_clear:col_vol;
public var regen12:col_vol;
public var regen18:col_vol;
public var elec_mp3:col_snd;
public var elec_mover_door:col_vol;
public var talk_firstelec:col_vol;
public var chunk:MovieClip;
public var mover_door:MovieClip;
public var talk_firstdoor:col_vol;
public var elec:col_vol;
public var zoom50:col_vol;
public var zoom65:col_vol;
public var talk_huntdown:col_vol;
}
}//package
Section 213
//level_sp_sect2 (level_sp_sect2)
package {
import flash.display.*;
public dynamic class level_sp_sect2 extends MovieClip {
public var alarm2:MovieClip;
public var next_ba:col_vol;
public var talk_firstalarm:col_vol;
public var elec_mp3:col_snd;
public var regen14:col_vol;
public var alarm:MovieClip;
public var place11_flyer:col_vol;
public var chunk:MovieClip;
public var elec:col_vol;
public var point11:col_vol;
public var point12:col_vol;
public var zoom55:col_vol;
public var place12_flyer:col_vol;
}
}//package
Section 214
//level_syf_over1 (level_syf_over1)
package {
import flash.display.*;
public dynamic class level_syf_over1 extends MovieClip {
}
}//package
Section 215
//level_syf_sect1 (level_syf_sect1)
package {
import flash.display.*;
public dynamic class level_syf_sect1 extends MovieClip {
public var zoom80:col_vol;
public var regen12:col_box;
public var regen11:col_box;
public var elec_mp3:col_snd;
public var regen14:col_box;
public var regen20:col_box;
public var regen24:col_box;
public var sun:col_vol;
public var mover_collapse:MovieClip;
public var anim_mover_collapse:col_vol;
public var chunk:MovieClip;
public var movingplatform_mp3:col_snd;
public var place11_flyer:col_vol;
public var zoom40:col_vol;
public var next_tb:col_vol;
public var point11:col_vol;
public var zoom55:col_vol;
public var elec:col_vol;
public var mover:MovieClip;
public var place31_spider:col_vol;
public var zoom65:col_vol;
public var point31:col_vol;
public var talk_walkwayfall:col_vol;
}
}//package
Section 216
//level_tb_over1 (level_tb_over1)
package {
import flash.display.*;
public dynamic class level_tb_over1 extends MovieClip {
}
}//package
Section 217
//level_tb_sect1 (level_tb_sect1)
package {
import flash.display.*;
public dynamic class level_tb_sect1 extends MovieClip {
public var regen12:col_box;
public var next_dhv:col_vol;
public var dir_right2:col_vol;
public var dir_up5:col_vol;
public var dir_up4:col_vol;
public var slidingplatform_mp3:col_snd;
public var chunk:MovieClip;
public var dir_up3:col_vol;
public var dir_right4:col_vol;
public var dir_right3:col_vol;
public var dir_right5:col_vol;
public var zoom50:col_vol;
public var talk_blownaround:col_vol;
public var regen9:col_box;
public var mover:MovieClip;
public var fan_mp3:col_snd;
public var dir_left2:col_vol;
public var zoom75:col_vol;
}
}//package
Section 218
//level_wat_over1 (level_wat_over1)
package {
import flash.display.*;
public dynamic class level_wat_over1 extends MovieClip {
}
}//package
Section 219
//level_wat_over2 (level_wat_over2)
package {
import flash.display.*;
public dynamic class level_wat_over2 extends MovieClip {
}
}//package
Section 220
//level_wat_sect1 (level_wat_sect1)
package {
import flash.display.*;
public dynamic class level_wat_sect1 extends MovieClip {
public var regen16:col_vol;
public var place6_flyer:col_vol;
public var sun:col_vol;
public var regen14:col_vol;
public var place4_hover:col_vol;
public var place8_hover:col_vol;
public var place7_hover:col_vol;
public var point6:col_vol;
public var zoom40:col_vol;
public var point8:col_vol;
public var point5:col_vol;
public var warp1:col_vol;
public var place2_spider:col_vol;
public var point4:col_vol;
public var zoom50:col_vol;
public var point1:col_vol;
public var warp3:col_vol;
public var point3:col_vol;
public var regen9:col_vol;
public var point7:col_vol;
public var zoom60:col_vol;
public var point2:col_vol;
public var place5_hover:col_vol;
public var zoom75:col_vol;
}
}//package
Section 221
//level_wat_sect2 (level_wat_sect2)
package {
import flash.display.*;
public dynamic class level_wat_sect2 extends MovieClip {
public var chunk:MovieClip;
public var point9:col_vol;
public var next_nhh:col_vol;
}
}//package
Section 222
//level0_over1 (level0_over1)
package {
import flash.display.*;
public dynamic class level0_over1 extends MovieClip {
public var tip:MovieClip;
}
}//package
Section 223
//level0_sect1 (level0_sect1)
package {
import flash.display.*;
public dynamic class level0_sect1 extends MovieClip {
public var talk_clear:col_vol;
public var mover_exit:MovieClip;
public var regen10:col_vol;
public var regen12:col_vol;
public var next_sp:col_vol;
public var award_quality:col_vol;
public var regen13:col_vol;
public var talk1_wreck:col_vol;
public var sun:col_vol;
public var place21_hover:col_vol;
public var talk1_light:col_vol;
public var chunk:MovieClip;
public var zoom35:col_vol;
public var mover_entrance:MovieClip;
public var screen:MovieClip;
public var ambush1:col_vol;
public var zoom50:col_vol;
public var scene_firstencounter:col_vol;
public var point21:col_vol;
public var zoom65:col_vol;
public var ambush2:col_vol;
}
}//package
Section 224
//libGlow (libGlow)
package {
import flash.display.*;
public dynamic class libGlow extends MovieClip {
}
}//package
Section 225
//mcGlimmer (mcGlimmer)
package {
import flash.display.*;
public dynamic class mcGlimmer extends MovieClip {
}
}//package
Section 226
//menu (menu)
package {
import flash.display.*;
public dynamic class menu extends MovieClip {
public var blogo:SimpleButton;
public var bops:SimpleButton;
public var pixellogo:SimpleButton;
public var lev:MovieClip;
public var baws:SimpleButton;
public var bplay:SimpleButton;
public var ops:MovieClip;
public var blogo2:SimpleButton;
public var aws:MovieClip;
}
}//package
Section 227
//menu_vis (menu_vis)
package {
import flash.display.*;
public dynamic class menu_vis extends MovieClip {
}
}//package
Section 228
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 229
//mr_ooze (mr_ooze)
package {
import flash.display.*;
public dynamic class mr_ooze extends MovieClip {
public function mr_ooze(){
addFrameScript(9, frame10, 24, frame25, 49, frame50, 64, frame65, 79, frame80);
}
function frame65(){
gotoAndStop("hurt");
}
function frame80(){
gotoAndStop("happy");
}
function frame10(){
gotoAndStop("happy");
}
function frame25(){
gotoAndStop("tense");
}
function frame50(){
gotoAndPlay("happy");
}
}
}//package
Section 230
//mrooze (mrooze)
package {
import flash.display.*;
public dynamic class mrooze extends MovieClip {
}
}//package
Section 231
//mrooze_mad (mrooze_mad)
package {
import flash.display.*;
public dynamic class mrooze_mad extends MovieClip {
}
}//package
Section 232
//mrooze_sad (mrooze_sad)
package {
import flash.display.*;
public dynamic class mrooze_sad extends MovieClip {
}
}//package
Section 233
//mrooze_think (mrooze_think)
package {
import flash.display.*;
public dynamic class mrooze_think extends MovieClip {
}
}//package
Section 234
//OFChunk (OFChunk)
package {
public class OFChunk {
public var centre:Vect;
public var breakThreshold:Number;// = 200
public var farTension:Number;// = 0.0185
public var nearTension:Number;// = 0.03
public var calmThreshold:Number;// = 10
public var idealThreshold:Number;// = 90
public var globs:Array;
public function OFChunk(){
globs = new Array();
centre = new Vect();
breakThreshold = 200;
idealThreshold = 90;
calmThreshold = 10;
farTension = 0.0185;
nearTension = 0.03;
super();
}
public function move(_arg1:Vect){
var _local2:*;
for (_local2 in globs) {
globs[_local2].vel.iaddv(_arg1);
};
}
public function stop(){
var _local1:*;
for (_local1 in globs) {
globs[_local1].vel.x = 0;
};
}
public function launch(_arg1:Vect, _arg2:Number){
var _local3:*;
var _local4:*;
_local3 = Phase.rand;
for (_local4 in globs) {
globs[_local4].vel.imult((1 - _arg2));
_arg1.irotate(_local3(-5, 5));
globs[_local4].vel.iaddv(_arg1);
};
}
public function update(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
centre.zero();
for (_local1 in globs) {
centre.iaddv(globs[_local1].pos);
};
centre.imult((1 / globs.length));
move(new Vect(0, 0.012));
_local2 = (globs.length / 60);
for (_local1 in globs) {
_local3 = globs[_local1];
_local4 = _local3.pos.subv(centre);
_local5 = _local4.mag();
_local3.targetScale = ((_local3.sca.x * 1.25) + _local2);
if (_local3.bDead){
_local3.die();
OFEmit.globPop.spawnInstance(_local3.pos);
Phase.destroy(_local3);
removeGlob(_local1);
_local1--;
} else {
if (((!(_local3.bActive)) || ((_local5 >= breakThreshold)))){
removeGlob(_local1);
_local1--;
} else {
if ((((_local1 < 5)) && (!((_local3 is OFMrOoze))))){
idealThreshold = (idealThreshold * 0.5);
} else {
if ((((_local1 > 10)) && (!((_local3 is OFMrOoze))))){
idealThreshold = (idealThreshold * 1.2);
};
};
if (_local5 > idealThreshold){
_local6 = _local4.mult((farTension * ((breakThreshold - _local5) / breakThreshold)));
_local3.vel.isubv(_local6);
} else {
if ((((_local5 < idealThreshold)) && ((_local5 > 60)))){
_local6 = _local4.mult((nearTension * ((idealThreshold - _local5) / idealThreshold)));
_local3.vel.iaddv(_local6);
};
};
if (_local3.justGrabbed > 0){
_local3.justGrabbed--;
};
if ((((_local1 < 5)) && (!((_local3 is OFMrOoze))))){
idealThreshold = (idealThreshold * 2);
} else {
if ((((_local1 > 10)) && (!((_local3 is OFMrOoze))))){
idealThreshold = (idealThreshold / 1.2);
};
};
};
};
};
}
public function removeGlobID(_arg1:uint){
var _local2:*;
_local2 = 0;
while (_local2 < globs.length) {
if (globs[_local2].id == _arg1){
removeGlob(_local2);
};
_local2++;
};
}
public function removeGlob(_arg1:uint){
globs[_arg1].chunk = -1;
globs[_arg1].rechunkDelay = 10;
globs.splice(_arg1, 1);
}
}
}//package
Section 235
//OFDroid (OFDroid)
package {
public class OFDroid extends PEPhysObj {
var vaccel:Number;// = 0.08
var ray:PEPhysObj;// = null
var hp:int;// = 100
var deathEmit:PEEmitInstance;// = null
var haccel:Number;// = 0.1
var bAlive:Boolean;// = true
var target:PEPhysObj;// = null
var impactDelay:uint;// = 0
public function OFDroid(_arg1:String){
var clip = _arg1;
bAlive = true;
impactDelay = 0;
hp = 100;
ray = null;
target = null;
deathEmit = null;
haccel = 0.1;
vaccel = 0.08;
super("col_circle", Phase.CIRCLE);
attachImage(clip);
mc.visible = false;
colType = Phase.ENEMY;
colMask = (colMask ^ Phase.TRIGGER);
triggerMask = (triggerMask ^ Phase.TRIGGER);
limitAccel = true;
if (img[0].light){
ray = new PEPhysObj(img[0].light, Phase.VOL);
ray.colType = Phase.TRIGGER;
ray.colMask = (Phase.ALL | Phase.PLAYER);
ray.triggerMask = ray.colMask;
ray.tells.push("sun");
img[0].light.visible = false;
};
respond = function (_arg1:String, _arg2:PEColResult, _arg3:PEPhysObj){
var _local4:*;
if (bAlive){
if (_arg1 == "glob"){
if (OFGlob(_arg3).powerup == "elec"){
die(true);
} else {
_local4 = _arg3.vel.add(-(vel.x), -(vel.y)).rawmag();
hp = (hp - _local4);
if (hp <= 0){
die(false);
};
if (impactDelay == 0){
Phase.playPosSound((("hit" + Phase.rand(1, 4, true)) + ".mp3"), pos, 0.3);
OFEmit.droidImpact.spawnInstance(pos);
impactDelay = 12;
};
};
};
};
};
}
public function die(_arg1:Boolean){
bAlive = false;
deathEmit = OFEmit.droidSpark.spawnInstance(pos);
OFEmit.droidSmoke.spawnInstance(pos);
img[0].gotoAndPlay("dead");
Phase.playPosSound("droid_explode.mp3", pos);
OFGame.flags.push("dkill");
}
override public function update(){
if (bAlive){
if (ray != null){
Phase.trigger(ray);
};
if (impactDelay > 0){
impactDelay--;
};
} else {
if (deathEmit != null){
deathEmit.setPosv(pos);
};
};
super.update();
}
override public function physShiftv(_arg1:Vect, _arg2:PEPhysObj){
var _local3:*;
var _local4:*;
frameShift.iaddv(_arg1);
_local3 = (sca.x * 25);
_local4 = (sca.y * 25);
if (frameShift.x > _local3){
_arg1.x = (_arg1.x - (frameShift.x - _local3));
frameShift.x = _local3;
} else {
if (frameShift.x < -(_local3)){
_arg1.x = (_arg1.x - (frameShift.x + _local3));
frameShift.x = -(_local3);
};
};
if (frameShift.y > _local4){
_arg1.y = (_arg1.y - (frameShift.y - _local4));
frameShift.y = _local4;
} else {
if (frameShift.y < -(_local4)){
_arg1.y = (_arg1.y - (frameShift.y + _local4));
frameShift.y = -(_local4);
};
};
shiftPos(_arg1.x, _arg1.y);
}
override public function unload(){
if (deathEmit != null){
Phase.destroy(deathEmit);
deathEmit = null;
};
}
}
}//package
Section 236
//OFDroid_Flyer (OFDroid_Flyer)
package {
public class OFDroid_Flyer extends OFDroid {
var sndFly:PESoundObj;// = null
public function OFDroid_Flyer(_arg1:String){
sndFly = null;
super(_arg1);
setScale(1.5, 1.5);
img[0].scaleX = (img[0].scaleY = 3);
mass = 5;
hp = 750;
sndFly = new PESoundObj("flyer_drone.mp3");
sndFly.positional = true;
sndFly.adjust(0.65, 900, 700);
sndFly.setPosv(pos);
sndFly.play(99999);
Phase.index(sndFly);
}
override public function unload(){
Phase.destroy(sndFly);
super.unload();
}
override public function die(_arg1:Boolean){
img[0].lightvis.visible = false;
mass = 0.8;
sndFly.fade(0, -0.1);
bGrav = true;
colMask = (colMask ^ Phase.PLAYER);
triggerMask = (triggerMask ^ Phase.PLAYER);
super.die(_arg1);
}
override public function update(){
var _local1:*;
if (bAlive){
sndFly.setPosv(pos);
if (target != null){
_local1 = target.pos.subv(pos);
if (_local1.y < 200){
vel.y = (vel.y - vaccel);
};
if (_local1.y > 350){
vel.y = (vel.y + vaccel);
};
if (_local1.x < 0){
vel.x = (vel.x - haccel);
img[0].rotation = (img[0].rotation + 0.75);
};
if (_local1.x > 0){
vel.x = (vel.x + haccel);
img[0].rotation = (img[0].rotation - 0.75);
};
};
};
img[0].rotation = (img[0].rotation + ((0 - img[0].rotation) / 24));
vel.imult(0.98);
super.update();
}
}
}//package
Section 237
//OFDroid_Hover (OFDroid_Hover)
package {
public class OFDroid_Hover extends OFDroid {
var sndFly:PESoundObj;// = null
var fire:uint;
var bob:Number;// = 0
var fireDelay:uint;// = 150
public function OFDroid_Hover(_arg1:String){
bob = 0;
fireDelay = 150;
fire = fireDelay;
sndFly = null;
super(_arg1);
setScale(1.1, 1.5);
imgOffset.set(0, 65);
img[0].scaleX = (img[0].scaleY = 2.4);
bGrav = true;
bounce = 0.6;
airResist = 0.6;
mass = 0.4;
haccel = 0.24;
friction = 0;
hp = 500;
attachImage("droid_hover_exhaust");
img[1].scaleX = (img[1].scaleY = 2);
sndFly = new PESoundObj("hover_drone.mp3");
sndFly.positional = true;
sndFly.adjust(0.4, 700, 700);
sndFly.setPosv(pos);
sndFly.play(99999);
Phase.index(sndFly);
}
override public function unload(){
Phase.destroy(sndFly);
super.unload();
}
override public function die(_arg1:Boolean){
sca.y = 1.1;
imgOffset.set(0, 78);
bounce = 0.2;
airResist = 1;
bActive = false;
bAlive = false;
img[0].visible = (img[1].visible = false);
OFEmit.droidSmoke.spawnInstance(pos);
Phase.playPosSound("droid_explode.mp3", pos);
sndFly.fade(0, -0.1);
}
override public function update(){
var _local1:*;
var _local2:*;
if (bAlive){
sndFly.setPosv(pos);
if (target != null){
_local1 = target.pos.subv(pos);
if (_local1.x < -250){
vel.x = (vel.x - haccel);
img[0].rotation = (img[0].rotation - 0.75);
} else {
if (_local1.x > 250){
vel.x = (vel.x + haccel);
img[0].rotation = (img[0].rotation + 0.75);
};
};
img[0].barrel.rotation = Vect.toDeg(Math.atan2(_local1.y, _local1.x));
fire--;
if (fire == 0){
Phase.playPosSound("hover_shot.mp3", pos, 0.5);
fire = fireDelay;
_local1.inorm();
_local2 = new OFDroidProj("col_circle", Phase.CIRCLE);
_local2.attachImage("droid_hover_shot");
_local2.setScale(0.35, 0.35);
_local2.vel.setv(_local1.mult(10));
_local2.pos.setv(pos.addv(_local1.mult(50)).add(0, (imgOffset.y - 40)));
Phase.index(_local2, true);
Phase.attachObj(3, _local2);
};
};
bob = (bob + (Math.PI / 48));
imgOffset.set(0, (40 + (10 * Math.sin(bob))));
};
img[0].rotation = (img[0].rotation + ((0 - img[0].rotation) / 24));
img[1].rotation = img[0].rotation;
vel.x = (vel.x * 0.98);
super.update();
}
}
}//package
Section 238
//OFDroid_Spider (OFDroid_Spider)
package {
public class OFDroid_Spider extends OFDroid {
public var walkDir:String;// = ""
var sndFly:PESoundObj;// = null
public function OFDroid_Spider(_arg1:String){
walkDir = "";
sndFly = null;
super(_arg1);
setScale(2, 1.4);
imgOffset.set(0, 70);
img[0].scaleX = (img[0].scaleY = 2);
bGrav = true;
bounce = 0;
mass = 8;
animRate = 0.5;
haccel = 3;
hp = 15000;
ray.tells.pop();
ray.tells.push("beam");
sndFly = new PESoundObj("spider_drone.mp3");
sndFly.positional = true;
sndFly.adjust(0.45, 800, 600);
sndFly.setPosv(pos);
sndFly.play(99999);
Phase.index(sndFly);
}
override public function unload(){
Phase.destroy(sndFly);
super.unload();
}
override public function die(_arg1:Boolean){
sca.y = 0.7;
imgOffset.set(0, 35);
sndFly.fade(0, -0.1);
if (_arg1){
OFGame.flags.push("szap");
};
colMask = (colMask ^ Phase.PLAYER);
triggerMask = (triggerMask ^ Phase.PLAYER);
super.die(_arg1);
}
override public function update(){
if (bAlive){
sndFly.setPosv(pos);
if (walkDir == ""){
walkDir = "l";
img[0].gotoAndPlay("walk_left");
} else {
if (walkDir == "l"){
vel.x = -(haccel);
} else {
if (walkDir == "r"){
vel.x = haccel;
};
};
};
};
super.update();
}
override public function physShiftv(_arg1:Vect, _arg2:PEPhysObj){
shiftPos(_arg1.x, _arg1.y);
if (((bAlive) && ((((_arg2.colType == Phase.SURFACE)) || ((_arg2.colType == Phase.ENEMY)))))){
if ((((walkDir == "l")) && ((_arg1.x > 0)))){
walkDir = "r";
img[0].gotoAndPlay("walk_right");
} else {
if ((((walkDir == "r")) && ((_arg1.x < 0)))){
walkDir = "l";
img[0].gotoAndPlay("walk_left");
};
};
};
}
}
}//package
Section 239
//OFDroidProj (OFDroidProj)
package {
public class OFDroidProj extends PEPhysObj {
public var lifespan:int;// = 400
public var bAlive:Boolean;// = true
public function OFDroidProj(_arg1, _arg2:uint=0){
bAlive = true;
lifespan = 400;
super(_arg1, _arg2);
colType = Phase.EPROJECTILE;
colMask = (colMask ^ Phase.ENEMY);
colMask = (colMask ^ Phase.PROJECTILE);
colMask = (colMask ^ Phase.EPROJECTILE);
colMask = (colMask ^ Phase.PICKUP);
colMask = (colMask ^ Phase.PLAYER);
colMask = (colMask ^ Phase.TRIGGER);
triggerMask = (triggerMask ^ Phase.ENEMY);
triggerMask = (triggerMask ^ Phase.PROJECTILE);
triggerMask = (triggerMask ^ Phase.EPROJECTILE);
triggerMask = (triggerMask ^ Phase.PICKUP);
triggerMask = (triggerMask ^ Phase.TRIGGER);
mc.visible = false;
tells.push("zap");
}
override public function update(){
lifespan--;
if (lifespan <= 0){
bActive = false;
colMask = 0;
triggerMask = 0;
img[0].visible = false;
};
super.update();
}
}
}//package
Section 240
//OFEmit (OFEmit)
package {
public class OFEmit {
public static var droidSpark:PEEmitter = null;
public static var num2Smoke:PEEmitter = null;
public static var globSpark:PEEmitter = null;
public static var droidImpact:PEEmitter = null;
public static var droidSmoke:PEEmitter = null;
public static var globSteam:PEEmitter = null;
public static var globPop:PEEmitter = null;
public static function init(){
trace("Initializing Emitters");
globPop = new PEEmitter("ooze_droplet");
globPop.spawnType = "radius";
globPop.spawnArea = new Vect(30, 0);
globPop.spawnCount = 6;
globPop.spawnRate = 0;
globPop.lifeRange = new Vect(80, 90);
globPop.startVel = new Vect(-2, -6);
globPop.startVel2 = new Vect(2, -5);
globPop.bGrav = true;
globPop.fadeType = "life";
Phase.attachObj(4, globPop);
Phase.index(globPop);
globSteam = new PEEmitter("steam");
globSteam.spawnType = "box";
globSteam.spawnArea.set(30, 0);
globSteam.spawnOffset.set(0, -50);
globSteam.spawnCount = 1;
globSteam.spawnRate = 0;
globSteam.lifeRange.set(12, 20);
globSteam.startVel.set(0, -5);
globSteam.startVel2.set(0, -3);
globSteam.fadeType = "life";
globSteam.startScale.set(2, 3);
Phase.attachObj(4, globSteam);
Phase.index(globSteam);
globSpark = new PEEmitter("spark");
globSpark.spawnType = "radius";
globSpark.spawnArea.set(30, 0);
globSpark.spawnCount = 1;
globSpark.spawnRate = 0;
globSpark.startVelType = "centre";
globSpark.lifeRange.set(12, 12);
globSpark.startScale.set(2, 2.6);
globSpark.rotType = "vel";
Phase.attachObj(4, globSpark);
Phase.index(globSpark);
droidSpark = new PEEmitter("spark");
droidSpark.spawnType = "radius";
droidSpark.spawnArea.set(80, 0);
droidSpark.spawnCount = 1;
droidSpark.spawnRate = 3;
droidSpark.startVelType = "centre";
droidSpark.startVelMult.set(3, 4);
droidSpark.lifeRange.set(12, 12);
droidSpark.startScale.set(3, 5);
droidSpark.rotType = "vel";
Phase.attachObj(4, droidSpark);
Phase.index(droidSpark);
droidSmoke = new PEEmitter("smoke_droid");
droidSmoke.spawnType = "radius";
droidSmoke.spawnArea.set(20, 0);
droidSmoke.spawnCount = 8;
droidSmoke.spawnRate = 0;
droidSmoke.startVelType = "centre";
droidSmoke.startVelMult.set(7, 8);
droidSmoke.constantVelMult = 0.975;
droidSmoke.startScale.set(1.6, 3);
droidSmoke.rotType = "vel";
droidSmoke.lifeRange.set(45, 70);
droidSmoke.fadeType = "life";
Phase.attachObj(4, droidSmoke);
Phase.index(droidSmoke);
num2Smoke = new PEEmitter("smoke_num2");
num2Smoke.spawnType = "radius";
num2Smoke.spawnArea.set(20, 0);
num2Smoke.spawnCount = 8;
num2Smoke.spawnRate = 0;
num2Smoke.startVelType = "centre";
num2Smoke.startVelMult.set(7, 8);
num2Smoke.constantVelMult = 0.975;
num2Smoke.startScale.set(1.6, 3);
num2Smoke.rotType = "vel";
num2Smoke.lifeRange.set(45, 70);
num2Smoke.fadeType = "life";
Phase.attachObj(4, num2Smoke);
Phase.index(num2Smoke);
droidImpact = new PEEmitter("impact_spark");
droidImpact.spawnType = "radius";
droidImpact.spawnArea.set(20, 0);
droidImpact.spawnCount = 4;
droidImpact.spawnRate = 0;
droidImpact.startVelType = "centre";
droidImpact.startVelMult.set(6, 8);
droidImpact.startScale.set(2, 3);
droidImpact.rotType = "vel";
droidImpact.lifeRange.set(20, 20);
Phase.attachObj(4, droidImpact);
Phase.index(droidImpact);
}
public static function destroy(){
globPop.destroy();
globSteam.destroy();
globSpark.destroy();
droidSmoke.destroy();
droidImpact.destroy();
num2Smoke.destroy();
}
}
}//package
Section 241
//OFGame (OFGame)
package {
import flash.display.*;
import flash.events.*;
import com.midasplayer.*;
import flash.media.*;
import flash.geom.*;
import flash.net.*;
public class OFGame extends PEObj {
public const SCENE:uint = 3;
public const OVER:uint = 2;
public const MENU:uint = 0;
public const GAME:uint = 1;
public var music_upbeat:PESoundObj;// = null
public var sceneSkip:Boolean;// = false
public var awardBox:PEUIObj;
public var pauseState:uint;
public var camTarget:Vect;
public var bg:PEObj;
public var menu_levels:PEUIScrollList;
public var nextLevel:String;// = ""
public var music_combat:PESoundObj;// = null
public var spawns:Array;
public var resumeBlock:uint;// = 10
public var action:String;// = "hide"
public var motor2:PESoundObj;// = null
public var motor:PESoundObj;// = null
public var scene:String;// = ""
public var ds:Array;
public var muteVolume:Number;// = 0
public var state:uint;
public var awardTimeTotal:uint;// = 240
public var nmes:PEPhysObj;
public var awardTime:uint;// = 0
public var player:OFOoze;
public var music_level:PESoundObj;// = null
public var music_matt:PESoundObj;// = null
public var hud:PEUIObj;
public var bLoaded:Boolean;// = false
public var pauseTarget:Vect;
public var scene_map:PEPhysObj;
public var sndMap:PEObj;
public var springTotal:Number;// = 160
public var music_menu:PESoundObj;// = null
public var menu_vis:PEPhysObj;
public var zoomTarget:Number;// = 0.65
public var menu_music:PESoundObj;
public var hits:int;// = 0
public var dialog:PEDialogTarget;
public var skipper:PEUIObj;
public var music_dark:PESoundObj;// = null
public var map:PEPhysObj;
public var menu:PEUIObj;
public var springStrength:Number;// = 0.1
public var zoomLevel:Number;// = 0.65
public var menu_test:PEPhysObj;
public var hideTarget:int;// = 0
public var sceneTime:uint;// = 0
public var rays:Array;
public var talkbox:PEUIObj;
public var circles:Array;
public var sndEvap:PESoundObj;
public var waitTime:int;// = 0
public var menu_ooze:OFOoze;
public var game:PEPhysObj;
public var black:PEUIObj;
public static var flags:Array = new Array();
public static var huntedPassword:Boolean = false;
public static var totalScore:int = 0;
public static var levelTime:int = 0;
public static var stat:OFStat = new OFStat();
public static var lastSquish:int = 0;
public function OFGame(){
bLoaded = false;
awardTime = 0;
awardTimeTotal = 240;
zoomLevel = 0.65;
zoomTarget = 0.65;
muteVolume = 0;
music_menu = null;
music_dark = null;
music_upbeat = null;
music_matt = null;
music_combat = null;
music_level = null;
springStrength = 0.1;
springTotal = 160;
resumeBlock = 10;
scene = "";
sceneTime = 0;
sceneSkip = false;
nextLevel = "";
hits = 0;
action = "hide";
hideTarget = 0;
waitTime = 0;
motor = null;
motor2 = null;
ds = new Array();
super("");
Phase.setupPlanes(6);
Phase.index(this);
Phase.tim.init();
OFGame.saveLoad();
OFEmit.init();
loadMusic();
loadMenu();
state = MENU;
KingAPI.gameName = "oozing-forever";
}
public function showMenu(){
menu.mc.visible = true;
menu.mc.lev.visible = true;
menu_vis.bActive = true;
menu_ooze.unpause(true);
menu_ooze.bActive = true;
}
public function loadLevelotm(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("day");
_local1 = new PEPhysObj("level_otm_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_otm_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
_local1.mc["mover_p1"].gotoAndStop(300);
_local1.mc["mover_p2"].gotoAndStop(300);
_local1.mc["mover_p4"].gotoAndPlay(75);
_local1.mc["mover_p6"].gotoAndPlay(75);
_local1.mc["mover_p8"].gotoAndPlay(75);
_local1.mc["mover_p9"].gotoAndStop(300);
_local1.mc["mover_circle3"].gotoAndPlay(100);
_local1.mc["mover_circle4"].gotoAndPlay(100);
music_level = music_upbeat;
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 14 - One Track Mind";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function loadHUD(){
var logoSite1:Function;
var logoSite2:Function;
var pauseButton:Function;
var soundButton:Function;
var i:*;
logoSite1 = function (_arg1:Event){
KingAPI.openSignLink();
};
logoSite2 = function (_arg1:Event){
navigateToURL(new URLRequest("http://www.armorgames.com"), "_blank");
};
pauseButton = function (_arg1:Event){
if (state == GAME){
pauseGame();
};
};
soundButton = function (_arg1:Event){
var _local2:SoundTransform;
if (hud.mc.soundon.visible){
hud.mc.soundon.visible = false;
hud.mc.soundoff.visible = true;
muteVolume = (menu.mc.ops.volMaster.val * 2);
_local2 = SoundMixer.soundTransform;
_local2.volume = 0;
SoundMixer.soundTransform = _local2;
} else {
hud.mc.soundon.visible = true;
hud.mc.soundoff.visible = false;
_local2 = SoundMixer.soundTransform;
_local2.volume = muteVolume;
SoundMixer.soundTransform = _local2;
};
};
trace("Loading HUD");
hud = new PEUIObj("hud_menu");
hud.mc.blogo.addEventListener(MouseEvent.CLICK, logoSite1);
hud.mc.blogo2.addEventListener(MouseEvent.CLICK, logoSite2);
hud.mc.bpause.addEventListener(MouseEvent.CLICK, pauseButton);
hud.mc.bsound.addEventListener(MouseEvent.CLICK, soundButton);
hud.mc.soundoff.visible = false;
Phase.index(hud);
Phase.attachUIObj(hud);
circles = new Array();
circles.push(new PEUIObj("hud_circle"));
circles.push(new PEUIObj("hud_circle_small"));
circles.push(new PEUIObj("hud_circle_small"));
for (i in circles) {
Phase.parent(circles[i], hud);
Phase.attachUIObj(circles[i]);
};
circles[0].mc.mouseEnabled = false;
circles[0].mc.centre.mouseEnabled = false;
black = new PEUIObj("blackscreen");
black.mc.mouseEnabled = false;
Phase.attachUIObj(black);
talkbox = new PEUIObj("hud_dialog");
talkbox.mc.y = (talkbox.pos.y = 400);
Phase.parent(talkbox, hud);
Phase.attachUIObj(talkbox);
dialog = new PEDialogTarget(talkbox.mc);
dialog.portraitPos.set(10, 50);
Phase.index(dialog);
Phase.boostUIObj(awardBox);
}
public function loadLeveln2(){
var _local1:*;
var _local2:*;
var _local3:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("dusk");
_local1 = new PEPhysObj("level_n2_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_n2_sect2");
_local2.sca.set(2, 2);
_local2.setPos(5680, 3800);
autoPhys(_local2);
Phase.attachObj(2, _local2);
Phase.parent(_local2, map);
_local3 = new PEPhysObj("level_n2_over1");
_local3.sca.set(2, 2);
Phase.attachObj(4, _local3);
_local3.update();
Phase.parent(_local3, map);
_local1.mc["mover_ent1"].gotoAndStop("open");
_local1.mc["mover_exit1"].gotoAndStop("closed");
_local1.mc["mover_ent2"].gotoAndStop("open");
_local1.mc["mover_floor1"].gotoAndStop(1);
_local1.mc["mover_floor2"].gotoAndStop(1);
_local1.mc["window"].gotoAndStop(1);
_local2.mc.fall1.stop();
_local2.mc.fall2.stop();
_local2.mc.fall3.stop();
_local2.mc.fall4.stop();
_local2.mc.fall5.stop();
_local2.mc.fall6.stop();
music_level = music_upbeat;
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 16 - Number 2";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
player.addGlobs(11);
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function hideHUD(){
var _local1:*;
if (bLoaded){
hud.mc.visible = false;
for (_local1 in circles) {
circles[_local1].mc.visible = false;
};
talkbox.mc.visible = false;
dialog.pause();
};
}
public function loadLevelmu(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("day");
_local1 = new PEPhysObj("level_mu_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_mu_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
music_level = music_upbeat;
_local1.mc["mover_spike2"].gotoAndPlay(30);
_local1.mc["mover_spike3"].gotoAndPlay(60);
_local1.mc["mover_piston2"].gotoAndPlay(65);
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 10 - Moving Up";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function award(_arg1:String){
var _local2:int;
var _local3:MovieClip;
var _local4:*;
var _local5:Boolean;
var _local6:*;
_local2 = -1;
if ((((_arg1 == "firstunlock")) && (!(OFGame.stat.awards[0])))){
_local2 = 0;
awardBox.mc.awname.text = "Master Of Unlocking";
awardBox.mc.desc.text = "Unlock the first set of levels.";
_local3 = new award_firstunlock();
} else {
if ((((_arg1 == "divider")) && (!(OFGame.stat.awards[1])))){
_local2 = 1;
awardBox.mc.awname.text = "The Divider";
awardBox.mc.desc.text = "Separate from your entire blob.";
_local3 = new award_divider();
} else {
if ((((_arg1 == "quality")) && (!(OFGame.stat.awards[2])))){
_local2 = 2;
awardBox.mc.awname.text = "Assured Quality";
awardBox.mc.desc.text = "Bounce off of a poorly placed invisible wall.";
_local3 = new award_quality();
} else {
if ((((_arg1 == "fatty")) && (!(OFGame.stat.awards[3])))){
_local2 = 3;
awardBox.mc.awname.text = "Fatty Fatty Fatty";
awardBox.mc.desc.text = "Gather 25 globs together.";
_local3 = new award_fatty();
} else {
if ((((_arg1 == "support")) && (!(OFGame.stat.awards[4])))){
_local2 = 4;
awardBox.mc.awname.text = "Support Team";
awardBox.mc.desc.text = "Click the Sponsor logo on the main menu.";
_local3 = new award_support();
} else {
if ((((_arg1 == "momplete")) && (!(OFGame.stat.awards[5])))){
_local2 = 5;
awardBox.mc.awname.text = "Cission Momplete";
awardBox.mc.desc.text = "Beat every level in the game.";
_local3 = new award_momplete();
} else {
if ((((_arg1 == "rollercoaster")) && (!(OFGame.stat.awards[6])))){
_local2 = 6;
awardBox.mc.awname.text = "Rollercoaster";
awardBox.mc.desc.text = "Beat the game without using Level Select after starting.";
_local3 = new award_rollercoaster();
} else {
if ((((_arg1 == "ocdroid")) && (!(OFGame.stat.awards[7])))){
_local2 = 7;
awardBox.mc.awname.text = "OCDroid";
awardBox.mc.desc.text = "Destroy 50 droids.";
_local3 = new award_ocdroid();
} else {
if ((((_arg1 == "bugzapper")) && (!(OFGame.stat.awards[8])))){
_local2 = 8;
awardBox.mc.awname.text = "Bug Zapper";
awardBox.mc.desc.text = "Destroy 10 spider droids using electricity.";
_local3 = new award_bugzapper();
} else {
if ((((_arg1 == "respectdead")) && (!(OFGame.stat.awards[9])))){
_local2 = 9;
awardBox.mc.awname.text = "Respect the Dead";
awardBox.mc.desc.text = "Make sarcastic comments about 5 dead scientists.";
_local3 = new award_respectdead();
} else {
if ((((_arg1 == "tropicslimer")) && (!(OFGame.stat.awards[10])))){
_local2 = 10;
awardBox.mc.awname.text = "Tropic Slimer";
awardBox.mc.desc.text = "Survive 5 battles you didn't mean to fight in the first place.";
_local3 = new award_tropicslimer();
} else {
if ((((_arg1 == "harlot")) && (!(OFGame.stat.awards[11])))){
_local2 = 11;
awardBox.mc.awname.text = "Award Harlot";
awardBox.mc.desc.text = "Achieve every single award.";
_local3 = new award_harlot();
};
};
};
};
};
};
};
};
};
};
};
};
if (_local2 != -1){
menu.mc.aws[_arg1].alpha = 100;
OFGame.stat.awards[_local2] = true;
awardTime = awardTimeTotal;
_local4 = awardBox.mc.getChildByName("ico");
awardBox.mc.removeChild(_local4);
_local3.name = "ico";
_local3.x = 10;
_local3.y = 30;
awardBox.mc.addChild(_local3);
Phase.playSound("award_sound.mp3");
saveGame();
if (OFGame.stat.awards[11] == false){
_local5 = true;
for (_local6 in OFGame.stat.awards) {
if (((!((_local6 == 11))) && ((OFGame.stat.awards[_local6] == false)))){
_local5 = false;
break;
};
};
if (_local5 == true){
award("harlot");
};
};
};
}
public function updateSpawns(){
var _local1:Number;
var _local2:Number;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local1 = 0;
_local2 = 0;
for (_local3 in player.all) {
_local4 = player.all[_local3];
if (_local4.tran == -1){
_local4.dieOff();
};
if (_local4.bDead){
_local4.die();
OFEmit.globPop.spawnInstance(_local4.pos);
Phase.destroy(_local4);
player.all.splice(_local3, 1);
_local3--;
} else {
if (_local4.mc == null){
player.all.splice(_local3, 1);
_local3--;
} else {
if (_local4.evapped > 0){
_local1++;
if (_local2 == 0){
_local2 = _local4.pos.x;
} else {
_local2 = (_local2 + _local4.pos.x);
_local2 = (_local2 / 2);
};
};
};
};
};
if (_local1 > 12){
_local1 = 12;
};
_local1 = (_local1 * 0.1);
sndEvap.vol = (sndEvap.vol + ((_local1 - sndEvap.vol) / 24));
if (_local2 != 0){
sndEvap.pos.set(_local2, player.core.pos.y);
};
for (_local3 in spawns) {
_local5 = spawns[_local3];
if (player.all.length < _local5.limit){
if (_local5.apos == null){
} else {
_local6 = _local5.pos.mult(2);
_local6.iaddv(_local5.parent.pos);
if ((((((((_local6.x < (player.core.pos.x - 600))) || ((_local6.x > (player.core.pos.x + 600))))) || ((_local6.y < (player.core.pos.y - 400))))) || ((_local6.y > (player.core.pos.y + 400))))){
} else {
player.addGlobs(1, _local6.x, _local6.y, 20, 0);
};
};
};
};
}
public function talk(_arg1:String, _arg2:String, _arg3:uint, _arg4:String=""){
var _local5:*;
_local5 = "";
if (_arg2 == "Mr. Ooze"){
_local5 = "mrooze";
} else {
if (_arg2 == "Mr. Ooze Sad"){
_local5 = "mrooze_sad";
_arg2 = "Mr. Ooze";
} else {
if (_arg2 == "Mr. Ooze Mad"){
_local5 = "mrooze_mad";
_arg2 = "Mr. Ooze";
} else {
if (_arg2 == "Mr. Ooze Think"){
_local5 = "mrooze_think";
_arg2 = "Mr. Ooze";
} else {
if (_arg2 == "Random Scientist #1"){
_local5 = "sci1";
} else {
if (_arg2 == "Random Scientist #2"){
_local5 = "sci2";
};
};
};
};
};
};
if (dialog.q.length == 0){
dialog.setSpeaker(_arg2, _local5);
if (_arg4 != ""){
Phase.playSound((_arg4 + ".mp3"), 0.45);
};
};
dialog.addMessage(_arg1, 2, true, _arg2, _local5, _arg4);
dialog.addDelays(0, _arg3);
}
public function getClipPos(_arg1:String){
var _local2:*;
var _local3:*;
var _local4:*;
for (_local2 in map.children) {
_local3 = map.children[_local2].mc[_arg1];
if (_local3){
_local4 = new Vect(map.children[_local2].pos.x, map.children[_local2].pos.y);
_local4.iadd((_local3.x * map.children[_local2].sca.x), (_local3.y * map.children[_local2].sca.x));
return (_local4);
};
};
trace(("!!!ERROR!!! Can't find MovieClip: " + _arg1));
}
public function camTrack(){
var _local1:Vect;
var _local2:Vect;
camTarget.x = (camTarget.x + (player.core.vel.x * 2));
camTarget.y = (camTarget.y + ((player.core.vel.y * 3) - 10));
_local2 = player.core.pos.subv(camTarget);
_local2.iscale(0.24, 0.24);
camTarget.iaddv(_local2);
_local2 = Phase.getMouseWorldPos().subv(camTarget);
_local2.iscale(0.06, 0.06);
camTarget.iaddv(_local2);
_local2 = camTarget.subv(Phase.cpos);
_local2.imult(0.06);
Phase.cpos.iaddv(_local2);
if (Math.abs((zoomLevel - zoomTarget)) > 0.05){
zoomLevel = (zoomLevel + ((zoomTarget - zoomLevel) / 20));
};
Phase.cam(Phase.cpos, zoomLevel);
}
public function showHUD(){
var _local1:*;
if (bLoaded){
hud.mc.visible = true;
for (_local1 in circles) {
circles[_local1].mc.visible = true;
};
talkbox.mc.visible = true;
dialog.unpause();
};
}
public function updateSun(){
var _local1:*;
var _local2:*;
if (OFGame.stat.glevel == 1){
if (rays[1].visible){
for (_local1 in rays) {
rays[_local1].visible = false;
};
};
} else {
if (OFGame.stat.glevel == 2){
if (((rays[0].visible) || (!(rays[1].visible)))){
for (_local1 in rays) {
if ((_local1 % 2) == 0){
rays[_local1].visible = false;
} else {
rays[_local1].visible = true;
};
};
};
} else {
if (OFGame.stat.glevel == 3){
if (!rays[0].visible){
for (_local1 in rays) {
rays[_local1].visible = true;
};
};
};
};
};
for (_local1 in rays) {
_local2 = rays[_local1];
_local2.rotation = (_local2.rotation + (0.05 + (_local2.scaleY / 10)));
if (_local2.rotation > 110){
_local2.rotation = (_local2.rotation + 150);
};
};
}
override public function update(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:int;
var _local5:String;
super.update();
input();
if (awardBox != null){
updateAwards();
};
if (state == GAME){
if (lastSquish > 0){
lastSquish--;
};
Phase.controlFocus = true;
OFGame.levelTime = (OFGame.levelTime + 1);
PEDebug.log(("" + (OFGame.levelTime / 40)));
updateEvents();
updateSpawns();
updateSun();
camTrack();
updateHUD();
updateDialog();
if (scene == "firstencounter"){
if (nmes.children.length > 1){
if (((!(nmes.children[0].bAlive)) && (!(nmes.children[1].bAlive)))){
scene = "";
music_combat.fade(0, -0.025);
music_level = music_dark;
music_level.fade(1, 0.025);
Phase.playSound("tv_on.mp3", 0.8);
map.children[0].mc["screen"].visible = true;
map.children[0].mc["mover_exit"].play();
OFGame.stat.fights[0] = true;
awardFightCheck();
talk("Killer robots are totally uncalled for! Stay right there, you prick, I'm coming for you.", "Mr. Ooze Mad", 120, "cmon");
};
};
} else {
if (scene == "fightff"){
if (nmes.children.length > 2){
if (((((!(nmes.children[0].bAlive)) && (!(nmes.children[1].bAlive)))) && (!(nmes.children[2].bAlive)))){
scene = "";
music_combat.fade(0, -0.025);
music_level.fade(1, 0.025);
map.children[0].mc["mover_entrance"].play();
map.children[0].mc["mover_exit"].play();
OFGame.stat.fights[1] = true;
awardFightCheck();
};
};
} else {
if (scene == "end1"){
_local1 = map.children[0].mc["num2"];
if (action == "hide"){
if (hideTarget == 0){
_local1.gotoAndPlay("run");
if (_local1.x < 320){
hideTarget = 470;
_local1.scaleX = -1;
} else {
if ((((_local1.x > 620)) && ((_local1.x < 640)))){
if (Phase.rand(0, 2, true) == 0){
hideTarget = 470;
_local1.scaleX = 1;
} else {
hideTarget = 790;
_local1.scaleX = -1;
};
} else {
if ((((_local1.x > 940)) && ((_local1.x < 960)))){
if (Phase.rand(0, 2, true) == 0){
hideTarget = 790;
_local1.scaleX = 1;
} else {
hideTarget = 1110;
_local1.scaleX = -1;
};
} else {
if ((((_local1.x > 1260)) && ((_local1.x < 0x0500)))){
if (Phase.rand(0, 2, true) == 0){
hideTarget = 1110;
_local1.scaleX = 1;
} else {
hideTarget = 1430;
_local1.scaleX = -1;
};
} else {
if (_local1.x > 1570){
hideTarget = 1430;
_local1.scaleX = 1;
};
};
};
};
};
} else {
if (hideTarget > _local1.x){
_local1.x = (_local1.x + 4);
};
if (hideTarget < _local1.x){
_local1.x = (_local1.x - 4);
};
if (Math.abs((hideTarget - _local1.x)) < 10){
action = "warp";
};
};
} else {
if (action == "warp"){
if (hits < 5){
action = "move";
_local1.x = (470 + (Phase.rand(0, 4, true) * 320));
if (Phase.rand(0, 2, true) == 0){
hideTarget = (_local1.x + 160);
_local1.scaleX = -1;
} else {
hideTarget = (_local1.x - 160);
_local1.scaleX = 1;
};
} else {
flags.push("scene_escape1");
_local1.x = 1430;
_local1.scaleX = -1;
};
} else {
if (action == "move"){
if (hideTarget > _local1.x){
_local1.x = (_local1.x + 4);
};
if (hideTarget < _local1.x){
_local1.x = (_local1.x - 4);
};
if (Math.abs((hideTarget - _local1.x)) < 5){
_local1.gotoAndPlay("talking");
action = "idle";
};
} else {
if (action == "idle"){
if ((player.core.pos.x / 2) < _local1.x){
_local1.scaleX = 1;
} else {
_local1.scaleX = -1;
};
waitTime = (waitTime + 1);
if (waitTime > (100 - (hits * 12))){
action = "hide";
hideTarget = 0;
waitTime = 0;
};
} else {
if (action == "hurt"){
waitTime = (waitTime + 1);
if (waitTime > 30){
action = "hide";
hideTarget = 0;
waitTime = 0;
};
};
};
};
};
};
} else {
if (scene == "end2"){
_local2 = map.children[0].mc["num23"];
motor.pos.set((_local2.x * 2), ((_local2.y * 2) + 120));
map.children[0].mc["flyhit"].x = (_local2.x - 30);
map.children[0].mc["flyhit"].y = (_local2.y - 120);
map.children[0].mc["flyblock"].x = (_local2.x - 50);
map.children[0].mc["flyblock"].y = (_local2.y - 15);
if (action == "fall"){
_local3 = map.children[0].mc["num22"];
waitTime++;
_local3.y = (_local3.y + ((waitTime / 1.5) - 8));
_local3.x = (_local3.x - 2);
if (waitTime > 100){
_local3.visible = false;
waitTime = 0;
action = "idle";
};
} else {
if (action == "idle"){
waitTime = (waitTime + 1);
if (waitTime > (150 - (hits * 12))){
action = "fly";
hideTarget = 0;
waitTime = 0;
};
} else {
if (action == "fly"){
if (hideTarget == 0){
if (_local2.x > 2950){
_local2.scaleX = -1;
hideTarget = 3600;
} else {
_local2.scaleX = 1;
hideTarget = 2300;
};
} else {
if (hideTarget < _local2.x){
_local2.x = (_local2.x - 10);
} else {
_local2.x = (_local2.x + 10);
};
if (hideTarget == 3600){
_local2.x = (_local2.x + 10);
};
if (hideTarget == 2300){
_local2.x = (_local2.x - 10);
};
if ((((hideTarget == 3600)) && ((_local2.x >= 3600)))){
_local2.x = 2300;
if (Phase.rand(0, 10, true) > 4){
_local2.y = 765;
} else {
_local2.y = 925;
};
if (Phase.rand(0, 8, true) > 2){
hideTarget = (2700 + Phase.rand(0, 500));
};
if (hits >= 5){
action = "";
scene = "";
map.children[0].mc["mover_exit2"].play();
map.children[0].mc["fan1"].blades.stop();
map.children[0].mc["fan2"].blades.stop();
map.children[0].mc["wind1"].visible = false;
map.children[0].mc["wind2"].visible = false;
map.children[0].mc["wind3"].visible = false;
map.children[0].mc["wind4"].visible = false;
map.children[0].mc["dir_up6"].x = 99999;
map.children[0].mc["dir_aup6"].x = 99999;
OFGame.stat.fights[4] = true;
awardFightCheck();
};
} else {
if ((((hideTarget == 2300)) && ((_local2.x <= 2300)))){
_local2.x = 3600;
if (Phase.rand(0, 10, true) > 4){
_local2.y = 765;
} else {
_local2.y = 925;
};
if (Phase.rand(0, 8, true) > 2){
hideTarget = (2700 + Phase.rand(0, 500));
};
if (hits >= 6){
action = "";
scene = "";
map.children[0].mc["mover_exit2"].play();
map.children[0].mc["fan1"].stop();
map.children[0].mc["fan2"].stop();
map.children[0].mc["wind1"].visible = false;
map.children[0].mc["wind2"].visible = false;
map.children[0].mc["wind3"].visible = false;
map.children[0].mc["wind4"].visible = false;
map.children[0].mc["dir_up6"].x = 99999;
map.children[0].mc["dir_aup6"].x = 99999;
};
};
};
if (((((!((hideTarget == 3600))) && (!((hideTarget == 2300))))) && ((Math.abs((_local2.x - hideTarget)) < 10)))){
action = "idle";
};
};
} else {
if (action == "hurt"){
waitTime = (waitTime + 1);
if (waitTime > 30){
action = "fly";
hideTarget = 0;
waitTime = 0;
};
};
};
};
};
} else {
if (scene == "end3"){
if (sceneTime == 1050){
talk("Hey hey, wait. Isn't that cheating?", "Mr. Ooze Think", 30);
talk("Haha! HehehaHAHAHA!", "Random Scientist #2", 50);
talk("You're going to crush us both!", "Mr. Ooze Mad", 50);
talk("Muahaha! Really? GREAT!", "Random Scientist #2", 30);
talk("Ha! HAHAHA! HAHAHAHA!", "Random Scientist #2", 20);
talk("HAHA! HA-hurk *cough cough* haaAAAA!", "Random Scientist #2", 20);
talk("WELCOME TO THE END!", "Random Scientist #2", 75);
black.mc.alpha = 0;
black.mc.visible = true;
black.mc.txt.text = "";
black.mc.msg.text = "";
} else {
if (sceneTime == 1000){
Phase.camShake(10, 0.99);
map.children[1].mc["fall2"].play();
} else {
if (sceneTime == 925){
Phase.camShake(5, 0.99);
map.children[1].mc["fall1"].play();
} else {
if (sceneTime == 850){
Phase.camShake(15, 0.99);
} else {
if (sceneTime == 725){
map.children[1].mc["fall3"].play();
Phase.camShake(25, 0.99);
black.mc.alpha = 0.2;
} else {
if (sceneTime == 675){
map.children[1].mc["fall4"].play();
Phase.camShake(40, 0.99);
black.mc.alpha = 0.35;
} else {
if (sceneTime == 425){
map.children[1].mc["fall5"].play();
Phase.camShake(50, 0.99);
black.mc.alpha = 0.5;
} else {
if (sceneTime == 350){
map.children[1].mc["fall6"].play();
black.mc.alpha = 0.65;
} else {
if (sceneTime == 300){
Phase.camShake(75, 0.99);
black.mc.alpha = 0.8;
} else {
if (sceneTime < 300){
black.mc.alpha = (black.mc.alpha + 0.004);
};
};
};
};
};
};
};
};
};
};
map.children[1].mc["num24"].x = (map.children[1].mc["num24"].x + 3);
map.children[1].mc["blocker"].x = (map.children[1].mc["blocker"].x + 3);
if (sceneTime == 100){
if (OFGame.stat.noLevelSelect){
award("rollercoaster");
};
_local4 = (((300 * 40) - levelTime) / 10);
if (_local4 < 0){
_local4 = 0;
};
totalScore = (totalScore + _local4);
black.mc.msg.text = (((("Time: " + Math.round((levelTime / 40))) + " secs\n") + "Final Score: ") + totalScore);
levelTime = 0;
};
if (sceneTime == 0){
pauseGame();
menu.mc.lev.rtxt.text = "";
menu.mc.lev.bresume.visible = false;
bLoaded = true;
black.mc.alpha = 0;
black.mc.visible = false;
completeLevel("end");
};
sceneTime--;
} else {
if (scene == "courtyard"){
if (sceneTime == 5000){
flags.push("place5_hover");
flags.push("place4_flyer");
};
if (sceneTime == 4000){
flags.push("place4_hover");
flags.push("place6_flyer");
};
if (sceneTime == 3500){
flags.push("spawn4_2");
flags.push("spawn5_2");
flags.push("spawn6_2");
};
if (sceneTime == 3000){
flags.push("place5_spider");
flags.push("place6_flyer");
};
if (sceneTime == 2000){
flags.push("place4_hover");
flags.push("place5_hover");
};
if (sceneTime == 1500){
flags.push("spawn4_2");
flags.push("spawn5_2");
flags.push("spawn6_2");
};
if (sceneTime == 1000){
flags.push("place4_flyer");
flags.push("place6_flyer");
};
if (sceneTime == 0){
scene = "";
map.children[0].mc["mover_door2"].play();
OFGame.stat.fights[3] = true;
awardFightCheck();
};
sceneTime--;
};
};
};
};
};
};
} else {
if (state == MENU){
Phase.cam(new Vect(-90100, -89950), 1);
Phase.controlFocus = false;
menu_vis.rot = (menu_vis.rot + 2);
if (menu_vis.rot > 360){
menu_vis.rot = (menu_vis.rot - 360);
};
if (menu_levels.hitItem != -1){
trace(menu_levels.hitItem);
if ((((((menu_levels.hitItem == 1)) || ((menu_levels.hitItem == 7)))) || ((menu_levels.hitItem == 13)))){
menu_levels.hitItem = -1;
return;
};
if (!bLoaded){
loadGame();
} else {
clearMap();
resumeGame();
while (dialog.q.length > 0) {
dialog.nextMessage();
};
};
hideMenu();
_local5 = menu.mc.lev.pass.text.toLowerCase();
if (_local5 == "for_never_and_ever"){
OFGame.huntedPassword = true;
black.mc.msg.text = ((("for_never_and_ever password entered.\n" + "Auto-regen up to 30 globs activated. Expect lag.\n\n") + "This password was actually originally intended for another game that got delayed.") + "It will show up again in a more cool form later! Hang on to it!");
} else {
OFGame.huntedPassword = false;
black.mc.msg.text = "";
};
OFGame.totalScore = 0;
OFGame.levelTime = 0;
if (menu_levels.hitItem == 0){
state = SCENE;
scene = "intro";
sceneTime = 1900;
camTarget = new Vect(1200, 300);
scene_map = new PEPhysObj("scene1");
scene_map.sca.set(2, 2);
Phase.attachObj(2, scene_map);
Phase.parent(scene_map, map);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "";
black.mc.msg.text = "Pixelante Game Studios presents...";
skipper.mc.visible = true;
OFGame.stat.noLevelSelect = true;
if (music_level != null){
music_level.fade(0, -0.05);
};
} else {
OFGame.stat.noLevelSelect = false;
if (menu_levels.hitItem == 2){
loadLevelsp();
} else {
if (menu_levels.hitItem == 3){
loadLevelba();
} else {
if (menu_levels.hitItem == 4){
loadLevelate();
} else {
if (menu_levels.hitItem == 5){
loadLevelsyf();
} else {
if (menu_levels.hitItem == 6){
loadLeveltb();
} else {
if (menu_levels.hitItem == 8){
loadLeveldhv();
} else {
if (menu_levels.hitItem == 9){
loadLevelff();
} else {
if (menu_levels.hitItem == 10){
loadLeveldofa();
} else {
if (menu_levels.hitItem == 11){
loadLevelmu();
} else {
if (menu_levels.hitItem == 12){
loadLevelwat();
} else {
if (menu_levels.hitItem == 14){
loadLevelnhh();
} else {
if (menu_levels.hitItem == 15){
loadLevelfil();
} else {
if (menu_levels.hitItem == 16){
loadLevelotm();
} else {
if (menu_levels.hitItem == 17){
loadLevelitrw();
} else {
if (menu_levels.hitItem == 18){
loadLeveln2();
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
menu_levels.hitItem = -1;
};
if (menu.mc.lev.visible){
if (Phase.getMouseWheel() < 0){
menu_levels.scrollDown();
} else {
if (Phase.getMouseWheel() > 0){
menu_levels.scrollUp();
};
};
};
} else {
if (state == SCENE){
Phase.cam(camTarget, zoomLevel);
updateSun();
updateScenes();
updateDialog();
};
};
};
}
public function loadMusic(){
music_menu = new PESoundObj("OF_menu_loop.mp3");
music_menu.makeMusic();
Phase.index(music_menu);
music_upbeat = new PESoundObj("Funk_Orchestra.mp3");
music_upbeat.makeMusic();
Phase.index(music_upbeat);
music_matt = new PESoundObj("SlowSong_80kbps.mp3");
music_matt.makeMusic();
Phase.index(music_matt);
music_dark = new PESoundObj("OF_intro_loop.mp3");
music_dark.makeMusic();
Phase.index(music_dark);
music_combat = new PESoundObj("OF_combat_loop.mp3");
music_combat.makeMusic();
Phase.index(music_combat);
}
public function loadLevelnhh(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("night");
_local1 = new PEPhysObj("level_nhh_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_nhh_sect2");
_local2.sca.set(2, 2);
_local2.setPos(4660, -2020);
autoPhys(_local2);
Phase.attachObj(2, _local2);
Phase.parent(_local2, map);
_local3 = new PEPhysObj("level_nhh_over1");
_local3.sca.set(2, 2);
Phase.attachObj(4, _local3);
_local3.update();
Phase.parent(_local3, map);
_local4 = new PEPhysObj("level_nhh_over2");
_local4.sca.set(2, 2);
_local4.setPos(4660, -2020);
Phase.attachObj(4, _local4);
_local4.update();
Phase.parent(_local4, map);
_local1.mc["mover_tet2"].gotoAndPlay(110);
_local1.mc["mover_tet3"].gotoAndPlay(220);
_local2.mc["mover_tet5"].gotoAndPlay(110);
_local2.mc["mover_tet6"].gotoAndPlay(220);
_local2.mc["mover_tet8"].gotoAndPlay(110);
_local2.mc["mover_tet9"].gotoAndPlay(220);
music_level = music_matt;
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(-5000, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 12 - No Hand Holding";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
player.warp(new Vect(-5000, 0));
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function loadLevelba(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("dawn");
_local1 = new PEPhysObj("level_ba_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_ba_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
music_level = music_matt;
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 3 - Blown Away";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function pauseGame(){
menu.mc.lev.rtxt.text = "RESUME";
menu.mc.lev.bresume.visible = true;
pauseTarget = camTarget.copy();
pauseState = state;
game.pause(true);
player.bActive = false;
map.bActive = false;
hideHUD();
showMenu();
state = MENU;
music_level.fade(0, -0.025);
music_menu.fade(1, 0.025);
}
public function awardFightCheck(){
var _local1:*;
_local1 = 0;
while (_local1 < 5) {
if (!OFGame.stat.fights[_local1]){
return;
};
_local1++;
};
award("tropicslimer");
}
public function loadLevelfil(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("dawn");
_local1 = new PEPhysObj("level_fil_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_fil_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
music_level = music_matt;
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 13 - Faith In Leaping";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
player.addGlobs(4);
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function loadLevelsp(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("night");
_local1 = new PEPhysObj("level_sp_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_sp_sect2");
_local2.sca.set(2, 2);
_local2.setPos(6440, 0);
autoPhys(_local2);
Phase.attachObj(2, _local2);
Phase.parent(_local2, map);
_local3 = new PEPhysObj("level_sp_over1");
_local3.sca.set(2, 2);
Phase.attachObj(4, _local3);
_local3.update();
Phase.parent(_local3, map);
_local4 = new PEPhysObj("level_sp_over2");
_local4.sca.set(2, 2);
_local4.setPos(6440, 0);
Phase.attachObj(4, _local4);
_local4.update();
Phase.parent(_local4, map);
music_level = music_matt;
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 2 - Shocking Progress";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function loadLeveltb(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("eve");
_local1 = new PEPhysObj("level_tb_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_tb_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
music_level = music_upbeat;
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(-1700, 80);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 6 - This Blows";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze(-1700, 80);
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function updateEvents(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
for (_local1 in flags) {
_local2 = flags[_local1];
if (_local2.indexOf("zoom") == 0){
zoomTarget = Number((_local2.substring(4) / 100));
player.cullDist = (400 + ((1 - zoomTarget) * 1500));
} else {
if (_local2.indexOf("spawn") == 0){
_local3 = _local2.substring(5, _local2.indexOf("_"));
_local4 = _local2.substring((_local2.indexOf("_") + 1));
_local5 = getClipPos(("point" + _local3));
trace((((((((("Spawning " + _local4) + " globs at point") + _local3) + " = Vect(") + _local5.x) + ", ") + _local5.y) + ")"));
player.addGlobs(_local4, _local5.x, _local5.y);
} else {
if (_local2.indexOf("place") == 0){
_local3 = _local2.substring(5, _local2.indexOf("_"));
_local6 = _local2.substring((_local2.indexOf("_") + 1));
_local7 = getClipPos(("point" + _local3));
if (_local6 == "flyer"){
_local8 = new OFDroid_Flyer(_local6);
} else {
if (_local6 == "spider"){
_local8 = new OFDroid_Spider(_local6);
} else {
if (_local6 == "hover"){
_local8 = new OFDroid_Hover(_local6);
};
};
};
_local8.setPos(_local7.x, _local7.y);
_local8.target = player.core;
Phase.parent(_local8, nmes);
Phase.attachObj(3, _local8);
} else {
if (_local2 == "talk_clear"){
while (dialog.q.length > 0) {
dialog.nextMessage();
};
} else {
if (_local2.indexOf("talk") == 0){
_local9 = _local2.substring((_local2.indexOf("_") + 1));
if (_local9 == "wreck"){
talk("This place is a wreck, but I'm not gonna complain. Freedom!", "Mr. Ooze", 220, "yo");
} else {
if (_local9 == "light"){
talk("Sunlight!? I should rush through it before I evaporate.", "Mr. Ooze Sad", 140, "cmonwhine");
} else {
if (_local9 == "huntdown"){
talk("Time to start looking for that scientist jerk.", "Mr. Ooze", 100, "hadefiant");
} else {
if (_local9 == "firstdoor"){
talk("Looks like an automatic door, but it needs power.", "Mr. Ooze Think", 140, "huh");
} else {
if (_local9 == "firstelec"){
talk("Oh sweet, electricity. Really gets me all charged up.", "Mr. Ooze", 140, "hey");
} else {
if (_local9 == "firstalarm"){
talk("Flashing red lights? My favourite kind!", "Mr. Ooze Sad", 100, "ugh");
map.children[1].mc["alarm"].play();
map.children[1].mc["alarm2"].play();
_local10 = new PESoundObj("alarm1.mp3");
_local10.positional = true;
_local10.setPos(6590, -900);
_local10.adjust(0.25, 1200, 700);
_local10.play(99999);
Phase.parent(_local10, sndMap);
_local10 = new PESoundObj("alarm1.mp3");
_local10.positional = true;
_local10.setPos(7840, -1100);
_local10.adjust(0.25, 1200, 700);
_local10.play(99999);
Phase.parent(_local10, sndMap);
state = GAME;
} else {
if (_local9 == "ss1"){
map.children[0].mc["ss1"].visible = false;
Phase.playSound("tv_off.mp3", 1, 1, -0.4);
} else {
if (_local9 == "ss2"){
map.children[0].mc["ss2"].visible = false;
Phase.playSound("tv_off.mp3", 1, 1, -0.4);
} else {
if (_local9 == "ss3"){
map.children[0].mc["ss3"].visible = false;
Phase.playSound("tv_on.mp3", 1, 1, -0.4);
} else {
if (_local9 == "walkwayfall"){
talk("Life, why do you hate me?", "Mr. Ooze Sad", 70, "aww");
} else {
if (_local9 == "blownaround"){
talk("Weeeeeeeeeeee!", "Mr. Ooze", 40, "hahaha");
} else {
if (_local9 == "deadsci2"){
OFGame.stat.scis[1] = true;
awardSciCheck();
talk("Another one dead, eh? Well that's no surprise.", "Mr. Ooze Think", 70, "ugh");
talk("You put robots in a secret science facility and of course everything goes to shit!", "Mr. Ooze", 120, "cmon");
talk("I bet that prick I keep seeing is really some egoistical sentient A.I. that went berserk.", "Mr. Ooze Sad", 140, "huh");
talk("Yeah that's right! You hear me, crazy A.I.!? Be more original!", "Mr. Ooze Mad", 85, "yo");
} else {
if (_local9 == "sticky"){
talk("My body is full of slime and even I don't want to know what this gunk is.", "Mr. Ooze Think", 120, "ugh");
} else {
if (_local9 == "wtfprojector"){
talk("Oh sure, go and vanish on me. That`s always a great sign.", "Mr. Ooze Mad", 100, "cmonwhine");
map.children[0].mc["proj1"].gotoAndPlay("vanish");
} else {
if (_local9 == "dofafight"){
OFGame.stat.fights[2] = true;
awardFightCheck();
} else {
if (_local9 == "dofasci"){
OFGame.stat.scis[2] = true;
awardSciCheck();
talk("I guess he didn't really deserve to die.", "Mr. Ooze Think", 55, "aww");
talk("But it sure makes me happy.", "Mr. Ooze", 55, "hahaha");
} else {
if (_local9 == "spinroom"){
_local11 = map.children[1].mc["chunk"];
_local12 = _local11["mover_entrance"];
_local13 = _local11["mover_exit"];
if (_local12.currentFrame != 1){
_local12.gotoAndPlay("closing");
};
if (_local13.currentFrame != 1){
_local13.gotoAndPlay("closing");
};
} else {
if (_local9 == "wallsci"){
OFGame.stat.scis[3] = true;
awardSciCheck();
talk("Death from falling sideways? Now that's talent!", "Mr. Ooze", 55, "hadefiant");
} else {
if (_local9 == "hangsci"){
OFGame.stat.scis[4] = true;
awardSciCheck();
talk("Was it too much to ask to turn off security before dying?", "Mr. Ooze", 55);
talk("Now I'm going to have to be careful.", "Mr. Ooze", 80);
} else {
if (_local9 == "courtyard"){
map.children[0].mc["mover_door1"].gotoAndPlay("closing");
scene = "courtyard";
sceneTime = 5000;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
} else {
if (_local2.indexOf("award") == 0){
_local14 = _local2.substring((_local2.indexOf("_") + 1));
award(_local14);
} else {
if (_local2.indexOf("anim") == 0){
map.children[0].mc[_local2.substring(5)].play();
} else {
if (_local2.indexOf("next") == 0){
hideHUD();
state = SCENE;
sceneTime = 100;
scene = "levelend";
nextLevel = _local2.substring(5);
camTarget = Phase.cpos.copy();
black.mc.txt.text = "";
black.mc.visible = true;
black.mc.alpha = 0;
if (dialog.q.length > 0){
dialog.nextMessage();
};
completeLevel(nextLevel);
} else {
if (_local2.indexOf("scene") == 0){
scene = _local2.substring(6);
state = SCENE;
camTarget.setv(Phase.cpos);
if (scene == "firstencounter"){
sceneTime = 666;
} else {
if (scene == "firstsci"){
sceneTime = 660;
} else {
if (scene == "fightff"){
sceneTime = 0;
} else {
if (scene == "elevator"){
sceneTime = 0;
} else {
if (scene == "ledgepush"){
sceneTime = 1460;
} else {
if (scene == "meet1"){
sceneTime = 1000;
} else {
if (scene == "escape1"){
sceneTime = 125;
} else {
if (scene == "meet2"){
sceneTime = 1200;
} else {
if (scene == "end3"){
sceneTime = 1050;
state = GAME;
};
};
};
};
};
};
};
};
};
} else {
if (_local2.indexOf("warp") == 0){
_local3 = _local2.substring(4);
_local7 = getClipPos(("point" + _local3));
player.warp(_local7);
camTarget.setv(_local7);
Phase.cam(camTarget, zoomLevel);
} else {
if (_local2.indexOf("plat") == 0){
_local15 = map.children[0].mc;
if ((((_local2 == "plat1")) && ((_local15["mover_p1"].currentFrame > 180)))){
_local15["mover_p1"].gotoAndPlay(1);
};
if ((((_local2 == "plat2")) && ((_local15["mover_p2"].currentFrame > 240)))){
_local15["mover_p2"].gotoAndPlay(1);
};
if ((((_local2 == "plat9")) && ((_local15["mover_p9"].currentFrame > 280)))){
_local15["mover_p9"].gotoAndPlay(1);
};
} else {
if (_local2.indexOf("spot") == 0){
if ((((scene == "end1")) && ((action == "idle")))){
_local16 = map.children[0].mc["num2"];
_local10 = int(_local2.substring(4));
if ((((((((((((_local10 == 1)) && ((_local16.x < 320)))) || ((((((_local10 == 2)) && ((_local16.x > 620)))) && ((_local16.x < 640)))))) || ((((((_local10 == 3)) && ((_local16.x > 940)))) && ((_local16.x < 960)))))) || ((((((_local10 == 4)) && ((_local16.x > 1260)))) && ((_local16.x < 0x0500)))))) || ((((_local10 == 5)) && ((_local16.x > 1580)))))){
action = "hurt";
_local16.gotoAndPlay("knocked");
waitTime = 0;
hits = (hits + 1);
OFEmit.num2Smoke.spawnInstance(new Vect((_local16.x * 2), ((_local16.y * 2) - 150)));
};
};
} else {
if (_local2 == "flyhit"){
if (scene == "end2"){
_local17 = map.children[0].mc["num23"];
if ((((action == "idle")) || ((((((((action == "fly")) && (!((hideTarget == 3600))))) && (!((hideTarget == 2300))))) && (!((hideTarget == 0))))))){
action = "hurt";
map.children[0].mc["num23"].gotoAndPlay("knocked");
waitTime = (hideTarget = 0);
hits = (hits + 1);
OFEmit.num2Smoke.spawnInstance(new Vect((_local17.x * 2), ((_local17.y * 2) - 150)));
};
};
} else {
if (_local2 == "dkill"){
OFGame.stat.droidKill = (OFGame.stat.droidKill + 1);
if (OFGame.stat.droidKill >= 50){
award("ocdroid");
};
} else {
if (_local2 == "szap"){
OFGame.stat.zaps = (OFGame.stat.zaps + 1);
if (OFGame.stat.zaps >= 10){
award("bugzapper");
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
flags = new Array();
}
public function playGame(){
loadGame();
hideMenu();
state = GAME;
}
public function autoPhys(_arg1:PEPhysObj){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:String;
var _local12:*;
_local3 = _arg1.mc.numChildren;
_local4 = 0;
while (_local4 < _local3) {
_local2 = _arg1.mc.getChildAt(_local4);
if (_local2.name.indexOf("mover") == 0){
_local5 = new PEMover(_local2);
_local5.bStatic = true;
_local5.colShape = Phase.CONTAINER;
_local5.contain.push(_arg1);
_local5.contain = _local5.contain.concat(_arg1.contain);
Phase.parent(_local5, _arg1);
autoPhys(_local5);
} else {
if (_local2.name.indexOf("regen") == 0){
_local6 = _local2.name.substring(5);
trace(("Creating ooze spawner limit: " + _local6));
_local7 = new OFSpawner(_local2, _local6);
_local7.colType = Phase.NONE;
_local7.contain.push(_arg1);
_local7.contain = _local7.contain.concat(_arg1.contain);
_local7.tells.push(_local2.name);
Phase.parent(_local7, _arg1);
spawns.push(_local7);
} else {
if (((!((_local2.name.indexOf("chunk") == -1))) || ((_local2 is PEColClip_Box)))){
_local8 = new PEPhysObj(_local2);
_local8.bStatic = true;
_local8.colShape = Phase.CONTAINER;
_local8.contain.push(_arg1);
_local8.contain = _local8.contain.concat(_arg1.contain);
Phase.parent(_local8, _arg1);
autoPhys(_local8);
} else {
if ((_local2 is col_line)){
_local9 = new PEPhysObj(_local2, Phase.LINE);
_local9.bStatic = true;
_local9.contain.push(_arg1);
_local9.contain = _local9.contain.concat(_arg1.contain);
Phase.parent(_local9, _arg1);
} else {
if ((_local2 is col_circle)){
_local9 = new PEPhysObj(_local2, Phase.CIRCLE);
_local9.bStatic = true;
_local9.contain.push(_arg1);
_local9.contain = _local9.contain.concat(_arg1.contain);
Phase.parent(_local9, _arg1);
} else {
if ((_local2 is PEColClip_Vol)){
if (_local2.name.indexOf("point") == 0){
_local2.visible = false;
} else {
_local10 = new PEPhysVol(_local2);
_local10.colType = Phase.TRIGGER;
_local10.contain.push(_arg1);
_local10.contain = _local10.contain.concat(_arg1.contain);
_local10.tells.push(_local2.name);
Phase.parent(_local10, _arg1);
if ((((((((((((((((((((_local2.name.indexOf("zoom") == 0)) || ((_local2.name.indexOf("spawn") == 0)))) || ((_local2.name.indexOf("award") == 0)))) || ((_local2.name.indexOf("talk") == 0)))) || ((_local2.name.indexOf("next") == 0)))) || ((_local2.name.indexOf("anim") == 0)))) || ((_local2.name.indexOf("zoom") == 0)))) || ((_local2.name.indexOf("warp") == 0)))) || ((_local2.name.indexOf("place") == 0)))) || ((_local2.name.indexOf("scene") == 0)))){
_local10.colType = Phase.PTRIGGER;
};
};
} else {
if ((_local2 is PESoundClip)){
_local11 = _local2.name;
_local12 = new PESoundObj(_local11.replace("_", "."));
_local12.positional = true;
_local12.setPos((_arg1.pos.x + (_local2.x * 2)), (_arg1.pos.y + (_local2.y * 2)));
_local12.adjust(_local2.scaleY, (_local2.scaleX * 800), 800);
_local12.play(99999);
Phase.parent(_local12, sndMap);
_local2.visible = false;
};
};
};
};
};
};
};
_local4++;
};
}
public function loadMenu(){
var logoSite3:Function;
var logoSite4:Function;
var logoSite2:Function;
var i:*;
var playButton:Function;
var resumeButton:Function;
var showOptions:Function;
var graphicDown:Function;
var graphicUp:Function;
var flashDown:Function;
var flashUp:Function;
var volUpdates:Function;
var st:SoundTransform;
var maw:*;
var showAwards:Function;
var desc1:Function;
var desc2:Function;
var desc3:Function;
var desc4:Function;
var desc5:Function;
var desc6:Function;
var desc7:Function;
var desc8:Function;
var desc9:Function;
var desc10:Function;
var desc11:Function;
var desc12:Function;
var oi:*;
logoSite3 = function (_arg1:Event){
KingAPI.openOtherGamesLink();
award("support");
};
logoSite4 = function (_arg1:Event){
navigateToURL(new URLRequest("http://www.armorgames.com"), "_blank");
award("support");
};
logoSite2 = function (_arg1:Event){
navigateToURL(new URLRequest("http://pgstudios.org"), "_blank");
};
playButton = function (_arg1:Event){
menu.mc.lev.visible = true;
menu.mc.ops.visible = (menu.mc.aws.visible = false);
if (!bLoaded){
menu.mc.lev.rtxt.text = "";
menu.mc.lev.bresume.visible = false;
};
};
resumeButton = function (_arg1:Event){
resumeGame();
};
showOptions = function (_arg1:Event){
menu.mc.ops.visible = true;
menu.mc.aws.visible = (menu.mc.lev.visible = false);
};
graphicDown = function (_arg1:Event){
if (OFGame.stat.glevel == 3){
OFGame.stat.glevel = 2;
menu.mc.ops.gtext.text = "2/3";
} else {
if (OFGame.stat.glevel == 2){
OFGame.stat.glevel = 1;
menu.mc.ops.gtext.text = "1/3";
};
};
if (player != null){
player.applyFilters();
};
menu_ooze.applyFilters();
saveGame();
};
graphicUp = function (_arg1:Event){
if (OFGame.stat.glevel == 1){
OFGame.stat.glevel = 2;
menu.mc.ops.gtext.text = "2/3";
} else {
if (OFGame.stat.glevel == 2){
OFGame.stat.glevel = 3;
menu.mc.ops.gtext.text = "3/3";
};
};
if (player != null){
player.applyFilters();
};
menu_ooze.applyFilters();
saveGame();
};
flashDown = function (_arg1:Event){
if (Phase.stage.quality == "HIGH"){
Phase.stage.quality = "MEDIUM";
menu.mc.ops.ftext.text = "2/3";
} else {
if (Phase.stage.quality == "MEDIUM"){
Phase.stage.quality = "LOW";
menu.mc.ops.ftext.text = "1/3";
};
};
OFGame.stat.qlevel = uint(menu.mc.ops.ftext.text.charAt(0));
saveGame();
};
flashUp = function (_arg1:Event){
if (Phase.stage.quality == "LOW"){
Phase.stage.quality = "MEDIUM";
menu.mc.ops.ftext.text = "2/3";
} else {
if (Phase.stage.quality == "MEDIUM"){
Phase.stage.quality = "HIGH";
menu.mc.ops.ftext.text = "3/3";
};
};
OFGame.stat.qlevel = uint(menu.mc.ops.ftext.text.charAt(0));
saveGame();
};
volUpdates = function (_arg1:Event):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:SoundTransform;
_local2 = menu.mc.ops.volMaster;
if (_local2.updated){
OFGame.stat.masvol = (_local2.val * 2);
if (hud != null){
if (hud.mc.soundon.visible){
_local5 = SoundMixer.soundTransform;
_local5.volume = (_local2.val * 2);
SoundMixer.soundTransform = _local5;
_local2.updated = false;
} else {
muteVolume = (_local2.val * 2);
};
};
saveGame();
};
_local3 = menu.mc.ops.volMusic;
_local4 = menu.mc.ops.volEffects;
if (_local3.updated){
OFGame.stat.musvol = (PESoundScape.musicvol = (_local3.val * 2));
_local3.updated = false;
saveGame();
};
if (_local4.updated){
OFGame.stat.effvol = (PESoundScape.effectvol = (_local4.val * 2));
_local4.updated = false;
saveGame();
};
};
showAwards = function (_arg1:Event){
maw.visible = true;
menu.mc.ops.visible = (menu.mc.lev.visible = false);
maw.awname.text = "";
maw.desc.text = "Point at an award to view it";
};
desc1 = function (_arg1:Event){
maw.awname.text = "Master of Unlocking";
maw.desc.text = "Unlock the first set of levels.";
};
desc2 = function (_arg1:Event){
maw.awname.text = "The Divider";
maw.desc.text = "Separate from your entire blob.";
};
desc3 = function (_arg1:Event){
maw.awname.text = "Assured Quality";
maw.desc.text = "Bounce off of a poorly placed invisible wall.";
};
desc4 = function (_arg1:Event){
maw.awname.text = "Fatty Fatty Fatty";
maw.desc.text = "Gather 25 globs together.";
};
desc5 = function (_arg1:Event){
maw.awname.text = "Support Team";
maw.desc.text = "Click the Sponsor logo on the main menu.";
};
desc6 = function (_arg1:Event){
maw.awname.text = "Cission Momplete";
maw.desc.text = "Beat every level in the game.";
};
desc7 = function (_arg1:Event){
maw.awname.text = "Rollercoaster";
maw.desc.text = "Beat the game without using Level Select after starting.";
};
desc8 = function (_arg1:Event){
maw.awname.text = "OCDroid";
maw.desc.text = "Destroy 50 droids";
};
desc9 = function (_arg1:Event){
maw.awname.text = "Respect the Dead";
maw.desc.text = "Make sarcastic comments about 5 dead scientists.";
};
desc10 = function (_arg1:Event){
maw.awname.text = "Tropic Slimer";
maw.desc.text = "Survive 5 battles you didn't mean to fight in the first place.";
};
desc11 = function (_arg1:Event){
maw.awname.text = "Bug Zapper";
maw.desc.text = "Destroy 10 spider droids using electricity.";
};
desc12 = function (_arg1:Event){
maw.awname.text = "Award Harlot";
maw.desc.text = "Achieve every single award.";
};
trace("Loading menu");
menu = new PEUIObj("menu");
menu.mc.mouseChildren = true;
menu.mc.ops.visible = false;
menu.mc.aws.visible = false;
menu.mc.lev.visible = false;
Phase.attachUIObj(menu);
menu.mc.blogo.addEventListener(MouseEvent.CLICK, logoSite3);
menu.mc.blogo2.addEventListener(MouseEvent.CLICK, logoSite4);
menu.mc.pixellogo.addEventListener(MouseEvent.CLICK, logoSite2);
menu_levels = new PEUIScrollList(["1. Break Out", "", "2. Shocking Progress", "3. Blown Away", "4. Almost Too Easy", "5. Screw You, Fate", "6. This Blows", "", "7. Danger! High Voltage", "8. Feeling Friction", "9. Death of Fresh Air", "10. Moving Up", "11. Warped and Twisted", "", "12. No Hand Holding", "13. Faith In Leaping", "14. One Track Mind", "15. If The Robots Win", "16. Number 2"]);
menu_levels.pos.set(465, 80);
menu.mc.lev.addChild(menu_levels.mc);
Phase.index(menu_levels);
for (i in menu_levels.list) {
if ((menu_levels.list[i] is scrollbox_item)){
if (!OFGame.stat.levels[i]){
menu_levels.list[i].alpha = 0.5;
menu_levels.list[i].hit.mouseEnabled = false;
};
if (!OFGame.stat.completed[i]){
menu_levels.list[i].mark.visible = false;
};
};
};
menu.mc.bplay.addEventListener(MouseEvent.CLICK, playButton);
menu.mc.lev.bresume.addEventListener(MouseEvent.CLICK, resumeButton);
menu_test = new PEPhysObj("");
menu_test.colType = Phase.ALL;
Phase.index(menu_test, true);
menu_vis = new PEPhysObj("menu_vis");
menu_vis.setPos(-90000, -90000);
autoPhys(menu_vis);
Phase.attachObj(3, menu_vis);
Phase.parent(menu_vis, menu_test);
menu_ooze = new OFOoze();
menu_ooze.addGlobs(16, 0, 0, 40, 40);
menu_ooze.menu_setup(-90000, -90100);
Phase.attachObj(4, menu_ooze);
Phase.parent(menu_ooze, menu_test);
Phase.showPhys(false);
menu.mc.bops.addEventListener(MouseEvent.CLICK, showOptions);
menu.mc.ops.gdown.addEventListener(MouseEvent.CLICK, graphicDown);
menu.mc.ops.gup.addEventListener(MouseEvent.CLICK, graphicUp);
menu.mc.ops.fdown.addEventListener(MouseEvent.CLICK, flashDown);
menu.mc.ops.fup.addEventListener(MouseEvent.CLICK, flashUp);
menu.mc.ops.gtext.text = (("" + OFGame.stat.glevel) + "/3");
menu.mc.ops.ftext.text = (("" + OFGame.stat.qlevel) + "/3");
menu.mc.ops.addEventListener(Event.ENTER_FRAME, volUpdates);
menu.mc.ops.volMusic.slider.handle.x = ((OFGame.stat.musvol / 2) * 100);
menu.mc.ops.volEffects.slider.handle.x = ((OFGame.stat.effvol / 2) * 100);
menu.mc.ops.volMaster.slider.handle.x = ((OFGame.stat.masvol / 2) * 100);
PESoundScape.musicvol = OFGame.stat.musvol;
PESoundScape.effectvol = OFGame.stat.effvol;
st = SoundMixer.soundTransform;
st.volume = OFGame.stat.masvol;
SoundMixer.soundTransform = st;
maw = menu.mc.aws;
menu.mc.baws.addEventListener(MouseEvent.CLICK, showAwards);
maw["firstunlock"].addEventListener(MouseEvent.MOUSE_OVER, desc1);
maw["divider"].addEventListener(MouseEvent.MOUSE_OVER, desc2);
maw["quality"].addEventListener(MouseEvent.MOUSE_OVER, desc3);
maw["fatty"].addEventListener(MouseEvent.MOUSE_OVER, desc4);
maw["support"].addEventListener(MouseEvent.MOUSE_OVER, desc5);
maw["momplete"].addEventListener(MouseEvent.MOUSE_OVER, desc6);
maw["rollercoaster"].addEventListener(MouseEvent.MOUSE_OVER, desc7);
maw["ocdroid"].addEventListener(MouseEvent.MOUSE_OVER, desc8);
maw["respectdead"].addEventListener(MouseEvent.MOUSE_OVER, desc9);
maw["tropicslimer"].addEventListener(MouseEvent.MOUSE_OVER, desc10);
maw["bugzapper"].addEventListener(MouseEvent.MOUSE_OVER, desc11);
maw["harlot"].addEventListener(MouseEvent.MOUSE_OVER, desc12);
awardBox = new PEUIObj("hud_award");
awardBox.mc.x = (awardBox.pos.x = 700);
Phase.attachUIObj(awardBox);
Phase.index(awardBox);
for (i in OFGame.stat.awards) {
oi = OFGame.stat.awards[i];
if (oi){
switch (i){
case 0:
maw["firstunlock"].alpha = 100;
break;
case 1:
maw["divider"].alpha = 100;
break;
case 2:
maw["quality"].alpha = 100;
break;
case 3:
maw["fatty"].alpha = 100;
break;
case 4:
maw["support"].alpha = 100;
break;
case 5:
maw["momplete"].alpha = 100;
break;
case 6:
maw["rollercoaster"].alpha = 100;
break;
case 7:
maw["ocdroid"].alpha = 100;
break;
case 8:
maw["respectdead"].alpha = 100;
break;
case 9:
maw["tropicslimer"].alpha = 100;
break;
case 10:
maw["bugzapper"].alpha = 100;
break;
case 11:
maw["harlot"].alpha = 100;
break;
};
};
};
music_menu.fadePhase = -0.6;
music_menu.vol = 0.75;
music_menu.play(999999);
music_menu.fade(1, 0.025);
}
public function loadLeveldhv(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("dusk");
_local1 = new PEPhysObj("level_dhv_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_dhv_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
music_level = music_upbeat;
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(-1800, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 7 - Danger! High Voltage";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
player.warp(new Vect(-1800, 0));
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function updateHUD(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
if (player.core.chunk != -1){
hud.mc.gtext.text = player.chunks[player.core.chunk].globs.length;
};
_local1 = Phase.getMousePos();
_local2 = Phase.getMouseWorldPos();
_local3 = _local2.subv(player.core.pos);
_local3.imult(Phase.czoom);
circles[0].pos.setv(_local1);
circles[1].pos.setv(_local1.subv(_local3.mult(0.33)));
circles[2].pos.setv(_local1.subv(_local3.mult(0.66)));
if (springStrength < springTotal){
if (springStrength < (springTotal / 4)){
springStrength = (springStrength + 0.5);
} else {
if (springStrength < (springTotal / 2)){
springStrength = (springStrength + 1);
} else {
if (springStrength < springTotal){
springStrength = (springStrength + 2);
};
};
};
if (((player.core.bGrounded) || (player.core.bBoosted))){
springStrength = (springStrength + 50);
};
if (springStrength >= springTotal){
springStrength = springTotal;
_local4 = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
circles[0].mc.transform.colorTransform = _local4;
};
};
circles[0].mc.centre.scaleX = (circles[0].mc.centre.scaleY = (springStrength / springTotal));
circles[0].mc.visible = true;
}
public function updateDialog(){
if ((((dialog.q.length > 0)) && ((talkbox.pos.y > 340)))){
talkbox.pos.y = (talkbox.pos.y - 6);
} else {
if ((((dialog.q.length == 0)) && ((talkbox.pos.y < 400)))){
talkbox.pos.y = (talkbox.pos.y + 6);
};
};
}
public function loadLevelff(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("night");
_local1 = new PEPhysObj("level_ff_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_ff_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
music_level = music_matt;
_local1.mc["mover_entrance"].gotoAndStop("open");
_local1.mc["mover_exit"].gotoAndStop("open");
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 8 - Feeling Friction";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function checkUnlocks(){
var _local1:uint;
var _local2:*;
if (!OFGame.stat.levels[8]){
_local1 = 0;
_local2 = 2;
while (_local2 < 7) {
if (OFGame.stat.completed[_local2]){
_local1++;
};
_local2++;
};
if (_local1 >= 3){
_local2 = 8;
while (_local2 < 13) {
OFGame.stat.levels[_local2] = true;
menu_levels.list[_local2].hit.mouseEnabled = true;
menu_levels.list[_local2].alpha = 1;
_local2++;
};
};
};
if (!OFGame.stat.levels[14]){
_local1 = 0;
_local2 = 8;
while (_local2 < 13) {
if (OFGame.stat.completed[_local2]){
_local1++;
};
_local2++;
};
if (_local1 >= 3){
_local2 = 14;
while (_local2 < 19) {
OFGame.stat.levels[_local2] = true;
menu_levels.list[_local2].hit.mouseEnabled = true;
menu_levels.list[_local2].alpha = 1;
_local2++;
};
};
};
_local1 = 0;
_local2 = 0;
while (_local2 < 19) {
if (OFGame.stat.completed[_local2]){
_local1++;
};
_local2++;
};
if (_local1 >= 16){
award("momplete");
};
}
public function updateScenes(){
var _local1:*;
var _local2:int;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
for (_local1 in circles) {
circles[_local1].mc.visible = false;
};
if (scene == "intro"){
if (sceneSkip){
if (sceneTime < 1850){
music_dark.fade(0, -0.05);
};
if (sceneTime > 101){
dialog.clearAll();
loadLevel0();
showHUD();
};
sceneSkip = false;
skipper.mc.visible = false;
black.mc.msg.text = "";
};
camTarget.isub(0.65, 0.23);
Phase.cam(camTarget, zoomLevel);
if (sceneTime == 1850){
hud.mc.visible = false;
music_dark.fadePhase = -0.6;
music_dark.play();
music_dark.fade(1, 0.01);
scene_map.mc["sci1"].gotoAndPlay("talking");
talk("I gotta hand it to you Number 2, this is - by far - the greatest discovery you've ever made.", "Random Scientist #1", 80, "sci1");
talk("Heck yeah! That meteorite really brought us the jackpot. This thing just sits here oozing forever.", "Random Scientist #2", 80, "sci3");
talk("The gunk doesn't even do anything, but that doesn't stop us from selling a shitload of it.", "Random Scientist #2", 80, "sci4");
talk("More like 10 shitloads!", "Random Scientist #1", 40, "sci2");
talk("God bless marketing. Now let's get out of here. No point in watching ooze all day.", "Random Scientist #2", 80, "sci5");
};
if ((((sceneTime < 1771)) && ((sceneTime >= 1570)))){
black.mc.alpha = (black.mc.alpha - 0.005);
};
if (sceneTime == 1570){
black.mc.visible = false;
black.mc.alpha = 0;
};
if (sceneTime == 1510){
scene_map.mc["sci1"].gotoAndPlay("idle");
scene_map.mc["sci2"].gotoAndPlay("talking");
};
if (sceneTime == 800){
scene_map.mc["sci2"].gotoAndPlay("idle");
scene_map.mc["sci1"].gotoAndPlay("talking");
};
if (sceneTime == 680){
scene_map.mc["sci1"].gotoAndPlay("idle");
scene_map.mc["sci2"].gotoAndPlay("talking");
};
if (sceneTime == 451){
music_dark.fade(0, -0.0025);
black.mc.visible = true;
black.mc.msg.text = "";
};
if ((((sceneTime < 451)) && ((sceneTime > 250)))){
black.mc.alpha = (black.mc.alpha + 0.01);
};
if (sceneTime == 250){
black.mc.txt.text = "An indeterminately long time later...";
};
if (sceneTime == 84){
loadLevel0();
skipper.mc.visible = false;
sceneTime = 100;
};
} else {
if (scene == "levelend"){
if (sceneTime == 100){
_local2 = (((300 * 40) - levelTime) / 10);
if (_local2 < 0){
_local2 = 0;
};
totalScore = (totalScore + _local2);
black.mc.msg.text = (((("Time: " + Math.round((levelTime / 40))) + " secs\n") + "Total Score: ") + totalScore);
levelTime = 0;
};
if (sceneTime > 0){
black.mc.alpha = (black.mc.alpha + 0.01);
};
if (sceneTime == 0){
if (nextLevel == "0"){
loadLevel0();
} else {
if (nextLevel == "sp"){
loadLevelsp();
} else {
if (nextLevel == "ba"){
loadLevelba();
} else {
if (nextLevel == "ate"){
loadLevelate();
} else {
if (nextLevel == "syf"){
loadLevelsyf();
} else {
if (nextLevel == "tb"){
loadLeveltb();
} else {
if (nextLevel == "dhv"){
loadLeveldhv();
} else {
if (nextLevel == "ff"){
loadLevelff();
} else {
if (nextLevel == "dofa"){
loadLeveldofa();
} else {
if (nextLevel == "mu"){
loadLevelmu();
} else {
if (nextLevel == "wat"){
loadLevelwat();
} else {
if (nextLevel == "nhh"){
loadLevelnhh();
} else {
if (nextLevel == "fil"){
loadLevelfil();
} else {
if (nextLevel == "otm"){
loadLevelotm();
} else {
if (nextLevel == "itrw"){
loadLevelitrw();
} else {
if (nextLevel == "n2"){
loadLeveln2();
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
} else {
if (scene == "levelstart"){
if (((!((music_level == null))) && (!((music_level.playState == "on"))))){
music_level.play();
};
if (((!((music_level == null))) && ((sceneTime == 100)))){
music_level.fade(1, 0.01);
};
if ((((sceneTime <= 50)) && ((black.mc.alpha > 0)))){
black.mc.alpha = (black.mc.alpha - 0.02);
};
if (sceneTime == 0){
state = GAME;
black.mc.visible = false;
skipper.mc.visible = false;
showHUD();
};
} else {
if (scene == "levelstart_ate"){
if (music_level.playState != "on"){
music_level.play();
};
if (sceneTime == 300){
music_level.fade(1, 0.01);
};
talkbox.mc.visible = true;
if (dialog.paused){
dialog.paused = false;
dialog.update();
dialog.paused = true;
};
if ((((sceneTime < 300)) && ((sceneTime >= 249)))){
black.mc.alpha = (black.mc.alpha - 0.02);
};
if (sceneTime == 270){
talk("Oh hey, the exit is just to the right here.", "Mr. Ooze", 40, "yo");
};
if ((((sceneTime < 160)) && ((sceneTime >= 50)))){
camTarget.x = (camTarget.x + 2);
};
if (sceneTime == 100){
map.children[0].mc["collapse"].play();
};
if (sceneTime == 40){
talk("Oh hey.", "Mr. Ooze", 30, "hey");
talk("Son of a bitch.", "Mr. Ooze Mad", 30, "huh");
};
if (sceneTime == 0){
state = GAME;
black.mc.visible = false;
skipper.mc.visible = false;
showHUD();
};
} else {
if (scene == "firstencounter"){
if (sceneTime == 666){
hud.mc.visible = false;
music_level.fade(0, -0.02);
music_dark.fade(1, 0.0125);
};
if (sceneTime > 580){
camTarget.iadd(2, -0.8);
};
if (sceneTime == 625){
map.children[0].mc["screen"].visible = true;
Phase.playSound("tv_on.mp3", 0.8, 1, 0.8);
talk("Oh damn, I was kind of hoping you were gone. Like, completely.", "Mr. Ooze Sad", 70, "aww");
talk("What's with the silent treatment science man? It's not my fault this place fell apart!", "Mr. Ooze Mad", 100, "sup2");
};
if (sceneTime == 70){
Phase.playSound("barricade.mp3", 0.6, 1, -0.5);
};
if (sceneTime == 60){
map.children[0].mc["mover_entrance"].play();
music_dark.fade(0, -0.025);
music_combat.fadePhase = -0.8;
music_combat.play();
music_combat.fade(1, 0.025);
};
if (sceneTime == 40){
_local3 = getClipPos("ambush1");
_local4 = new OFDroid_Hover("hover");
_local4.setPos(_local3.x, _local3.y);
_local4.target = player.core;
Phase.parent(_local4, nmes);
Phase.attachObj(3, _local4);
_local3 = getClipPos("ambush2");
_local4 = new OFDroid_Hover("hover");
_local4.setPos(_local3.x, _local3.y);
_local4.target = player.core;
Phase.parent(_local4, nmes);
Phase.attachObj(3, _local4);
OFGame.flags.push("zoom45");
};
if (sceneTime == 0){
state = GAME;
Phase.playSound("tv_off.mp3", 1, 1, 0.8);
map.children[0].mc["screen"].visible = false;
map.children[1].mc["tip"].alpha = 1;
hud.mc.visible = true;
_local5 = 0;
while (_local5 < 3) {
circles[_local5].mc.visible = true;
_local5++;
};
};
} else {
if (scene == "firstsci"){
_local6 = new Vect(-2700, 1100);
_local7 = _local6.subv(camTarget);
camTarget.iaddv(_local7.mult(0.014));
if (sceneTime == 660){
hud.mc.visible = false;
music_level.fade(0, -0.01);
music_dark.fade(1, 0.0125);
};
if (sceneTime == 640){
talk("Wait, what? He's already dead?", "Mr. Ooze Think", 80, "geez");
talk("Noooooooooooo!", "Mr. Ooze Mad", 60, "nolong");
talk("I was gonna kill him...", "Mr. Ooze Sad", 80, "aww");
};
if (sceneTime == 140){
Phase.playSound("tv_on.mp3", 0.8, 1, 0.8);
map.children[0].mc["cover"].visible = false;
};
if (sceneTime == 100){
talk("Oh, phew. It's just some other guy.", "Mr. Ooze", 80, "hahaha");
music_dark.fade(0, -0.01);
music_level.fade(1, 0.01);
};
if (sceneTime == 0){
scene = "";
state = GAME;
hud.mc.visible = true;
OFGame.flags.push("zoom60");
OFGame.stat.scis[0] = true;
awardSciCheck();
_local5 = 0;
while (_local5 < 3) {
circles[_local5].mc.visible = true;
_local5++;
};
};
} else {
if (scene == "fightff"){
if (sceneTime == 0){
state = GAME;
map.children[0].mc["mover_entrance"].play();
map.children[0].mc["mover_exit"].play();
Phase.playSound("barricade.mp3", 0.8);
music_level.fade(0, -0.025);
music_combat.fadePhase = -0.8;
music_combat.play();
music_combat.fade(1, 0.025);
_local3 = getClipPos("point11");
_local4 = new OFDroid_Spider("spider");
_local4.setPos(_local3.x, _local3.y);
_local4.target = player.core;
Phase.parent(_local4, nmes);
Phase.attachObj(3, _local4);
_local3 = getClipPos("point13");
_local4 = new OFDroid_Hover("hover");
_local4.setPos(_local3.x, _local3.y);
_local4.target = player.core;
Phase.parent(_local4, nmes);
Phase.attachObj(3, _local4);
_local3 = getClipPos("point14");
_local4 = new OFDroid_Hover("hover");
_local4.setPos(_local3.x, _local3.y);
_local4.target = player.core;
Phase.parent(_local4, nmes);
Phase.attachObj(3, _local4);
};
} else {
if (scene == "elevator"){
map.children[0].mc["mover_elevator"].play();
map.children[0].mc["mover_door"].play();
map.children[0].mc["alarm1"].play();
map.children[0].mc["alarm2"].play();
map.children[0].mc["alarm3"].play();
map.children[0].mc["alarm4"].play();
Phase.playSound("barricade.mp3", 0.6, 1, -0.8);
_local8 = new PESoundObj("alarm1.mp3");
_local8.positional = true;
_local8.setPos(5550, -850);
_local8.adjust(0.25, 1200, 700);
_local8.play(99999);
Phase.parent(_local8, sndMap);
_local8 = new PESoundObj("alarm1.mp3");
_local8.positional = true;
_local8.setPos(6350, -850);
_local8.adjust(0.25, 1200, 700);
_local8.play(99999);
Phase.parent(_local8, sndMap);
_local8 = new PESoundObj("alarm1.mp3");
_local8.positional = true;
_local8.setPos(5550, -2925);
_local8.adjust(0.25, 1200, 700);
_local8.play(99999);
Phase.parent(_local8, sndMap);
_local8 = new PESoundObj("alarm1.mp3");
_local8.positional = true;
_local8.setPos(6350, -2925);
_local8.adjust(0.25, 1200, 700);
_local8.play(99999);
Phase.parent(_local8, sndMap);
state = GAME;
} else {
if (scene == "ledgepush"){
_local6 = new Vect(7000, -5250);
_local7 = _local6.subv(camTarget);
camTarget.iaddv(_local7.mult(0.0125));
if (sceneTime == 1460){
hud.mc.visible = false;
music_level.fade(0, -0.0125);
music_dark.fade(1, 0.0125);
};
if (sceneTime == 1375){
talk("Oh god. Oh god you have to help me.", "Random Scientist #1", 80, "ledge_sci1");
talk("Help you? You've been trying to kill me for the past 8 levels!", "Mr. Ooze Mad", 100, "cmon");
talk("No no no! It's Number 2, he's totally lost it!", "Random Scientist #1", 80, "ledge_sci2");
talk("He's killing EVERYONE!", "Random Scientist #1", 80, "ledge_sci3");
map.children[1].mc["sci2"].visible = true;
};
if (sceneTime < 450){
map.children[1].mc["sci2"].x = (map.children[1].mc["sci2"].x + 12);
};
if (sceneTime == 345){
map.children[1].mc["sci1"].gotoAndPlay("knocked");
};
if (sceneTime == 260){
talk("Huh. So it wasn't an A.I. after all.", "Mr. Ooze Think", 70, "huh");
talk("Old-school.", "Mr. Ooze", 60, "hadefiant");
};
if (sceneTime == 0){
state = GAME;
hud.mc.visible = true;
music_dark.fade(0, -0.025);
music_level.fade(1, 0.01);
map.children[1].mc["sci2"].visible = false;
map.children[1].mc["sci1"].visible = false;
_local5 = 0;
while (_local5 < 3) {
circles[_local5].mc.visible = true;
_local5++;
};
};
} else {
if (scene == "meet1"){
_local6 = new Vect(1600, -100);
_local7 = _local6.subv(camTarget);
camTarget.iaddv(_local7.mult(0.012));
if (sceneTime == 1000){
hud.mc.visible = false;
music_dark.fade(1, 0.0125);
music_level.fade(0, -0.0125);
};
if (sceneTime == 900){
talk("I've finally tracked you down. Ready to die?", "Mr. Ooze Mad", 40);
talk("Ready? Hahaha!", "Random Scientist #2", 30, "sci5");
talk("Haha!", "Random Scientist #2", 10);
talk("Ha!", "Random Scientist #2", 10);
talk("Hahahaha!", "Random Scientist #2", 20);
talk("Am I Ready? Me? Haha!", "Random Scientist #2", 20);
talk("Ha!", "Random Scientist #2", 10);
talk("Yeah, sure.", "Random Scientist #2", 40, "sci4");
talk("Well that takes the fun out of it. Think you could give me a little struggle?", "Mr. Ooze Sad", 50, "aww");
talk("Might as well.", "Random Scientist #2", 40, "sci3");
};
if (sceneTime == 0){
scene = "end1";
state = GAME;
hud.mc.visible = true;
_local5 = 0;
while (_local5 < 3) {
circles[_local5].mc.visible = true;
_local5++;
};
map.children[0].mc["mover_ent1"].gotoAndStop("closed");
music_dark.fade(0, -0.0125);
music_level.fade(1, 0.0125);
};
} else {
if (scene == "escape1"){
_local6 = new Vect(3000, -100);
_local7 = _local6.subv(camTarget);
camTarget.iaddv(_local7.mult(0.05));
if (sceneTime == 125){
hud.mc.visible = false;
};
if (sceneTime == 100){
map.children[0].mc["mover_exit1"].play();
};
if (sceneTime < 100){
map.children[0].mc["num2"].x = (map.children[0].mc["num2"].x + 5);
};
if (sceneTime == 0){
state = GAME;
hud.mc.visible = true;
_local5 = 0;
while (_local5 < 3) {
circles[_local5].mc.visible = true;
_local5++;
};
map.children[0].mc["num2"].visible = false;
};
} else {
if (scene == "meet2"){
_local6 = new Vect(5800, -250);
_local7 = _local6.subv(camTarget);
camTarget.iaddv(_local7.mult(0.05));
if (sceneTime == 1200){
hud.mc.visible = false;
music_dark.fade(1, 0.0125);
music_level.fade(0, -0.0125);
};
if (sceneTime == 1100){
map.children[0].mc["mover_ent2"].gotoAndPlay("closing");
talk("So what's with the homicidal rampage, anyways?", "Mr. Ooze Think", 40);
talk("I was bored.", "Random Scientist #2", 30, "sci5");
talk("Couldn't you just play some video games? Maybe go outside?", "Mr. Ooze Think", 40);
talk("Outside!?", "Random Scientist #2", 20);
};
if (sceneTime == 600){
map.children[0].mc["window"].play();
};
if (sceneTime == 500){
talk("Thanks to you and your alien friends there's nothing worth going outside for!", "Random Scientist #2", 50);
talk("Funny, I don't remember my friends destroying worlds. Sure they weren't yours?", "Mr. Ooze Mad", 50);
};
if (sceneTime == 0){
scene = "end2";
state = GAME;
hud.mc.visible = true;
_local5 = 0;
while (_local5 < 3) {
circles[_local5].mc.visible = true;
_local5++;
};
map.children[0].mc["mover_floor1"].play();
map.children[0].mc["mover_floor2"].play();
hits = 0;
waitTime = 0;
action = "fall";
map.children[0].mc["num22"].gotoAndPlay("run");
music_dark.fade(0, -0.0125);
music_level.fade(1, 0.0125);
motor = new PESoundObj("board_motor.mp3");
motor.snd.infLoop = true;
motor.adjust(0.6, 1800, 500);
motor.play();
Phase.index(motor);
};
};
};
};
};
};
};
};
};
};
};
};
};
if (sceneTime > 0){
sceneTime--;
};
}
public function unloadGame(){
var _local1:*;
bLoaded = false;
spawns = new Array();
trace("Unloading Transitions");
Phase.destroy(black);
Phase.destroy(skipper);
trace("Unloading HUD");
Phase.destroy(hud);
Phase.destroy(dialog);
trace("Unloading Sky");
Phase.destroy(bg);
for (_local1 in rays) {
rays[_local1] = null;
};
trace("Unloading Map Audio");
Phase.destroy(sndMap);
trace("Unloading Game");
Phase.destroy(game);
}
public function loadLevelate(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("dawn");
_local1 = new PEPhysObj("level_ate_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_ate_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
music_level = music_matt;
_local1.mc["collapse"].gotoAndStop(1);
state = SCENE;
sceneTime = 400;
scene = "levelstart_ate";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 4 - Almost Too Easy";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze(0, 0, 4);
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function loadLevel0(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("dusk");
_local1 = new PEPhysObj("level0_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level0_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
_local1.mc["screen"].visible = false;
_local1.mc["mover_entrance"].gotoAndStop("open");
music_level = music_upbeat;
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 1 - Break Out";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function resumeGame(){
camTarget = pauseTarget.copy();
Phase.cam(camTarget, 0.6);
state = pauseState;
game.unpause(true);
player.bActive = true;
map.bActive = true;
resumeBlock = 2;
showHUD();
hideMenu();
music_level.fade(1, 0.025);
}
public function hideMenu(){
menu.mc.visible = false;
menu.mc.ops.visible = false;
menu.mc.aws.visible = false;
menu.mc.lev.visible = false;
menu_vis.bActive = false;
menu_ooze.bActive = false;
menu_ooze.pause(true);
music_menu.fade(0, -0.025);
}
public function getClip(_arg1:String){
var _local2:*;
var _local3:*;
for (_local2 in map.children) {
_local3 = map.children[_local2].mc[_arg1];
if (_local3){
return (_local3);
};
};
trace(("!!!ERROR!!! Can't find MovieClip: " + _arg1));
}
public function loadLevelsyf(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("day");
_local1 = new PEPhysObj("level_syf_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_syf_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
music_level = music_upbeat;
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 5 - Screw You, Fate";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze(0, 0, 4);
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function input(){
var _local1:*;
var _local2:*;
var _local3:*;
if (Phase.keyTap(219)){
Phase.showPhys(false);
};
if (Phase.keyTap(221)){
Phase.showPhys(true);
};
if (state == GAME){
if (Phase.keyTap(27)){
pauseGame();
};
if (resumeBlock > 0){
resumeBlock--;
};
if (Phase.keyReleased(1)){
if (resumeBlock == 0){
_local1 = Phase.getMouseWorldPos();
_local2 = _local1.subv(player.core.pos);
if (_local2.rawmag() >= 900){
circles[0].mc.beacon.gotoAndPlay(1);
circles[0].mc.beacon.scaleX = (circles[0].mc.beacon.scaleY = (springStrength / springTotal));
_local2.inorm();
player.launch(_local2, (springStrength / springTotal));
Phase.playSound((("jump" + Phase.rand(1, 4, true)) + ".mp3"), (0.05 + (0.35 * (springStrength / springTotal))));
_local3 = new ColorTransform(0, 0, 0, 1, 0, 0, 0, 0);
circles[0].mc.transform.colorTransform = _local3;
springStrength = 0.1;
};
};
};
if (Phase.keyHeld(1)){
player.condense();
} else {
player.expand();
player.mousePull();
};
} else {
if (state == MENU){
if (((Phase.keyTap(27)) && (bLoaded))){
resumeGame();
};
} else {
if (state == SCENE){
if (player != null){
player.holdStill();
};
};
};
};
}
public function completeLevel(_arg1:String){
var _local2:*;
var _local3:*;
_local2 = 0;
if (_arg1 == "sp"){
_local2 = 0;
} else {
if (_arg1 == "ba"){
_local2 = 2;
} else {
if (_arg1 == "ate"){
_local2 = 3;
} else {
if (_arg1 == "syf"){
_local2 = 4;
} else {
if (_arg1 == "tb"){
_local2 = 5;
} else {
if (_arg1 == "dhv"){
_local2 = 6;
} else {
if (_arg1 == "ff"){
_local2 = 8;
} else {
if (_arg1 == "dofa"){
_local2 = 9;
} else {
if (_arg1 == "mu"){
_local2 = 10;
} else {
if (_arg1 == "wat"){
_local2 = 11;
} else {
if (_arg1 == "nhh"){
_local2 = 12;
} else {
if (_arg1 == "fil"){
_local2 = 14;
} else {
if (_arg1 == "otm"){
_local2 = 15;
} else {
if (_arg1 == "itrw"){
_local2 = 16;
} else {
if (_arg1 == "n2"){
_local2 = 17;
} else {
if (_arg1 == "end"){
_local2 = 18;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
if ((((_local2 == 0)) && (!(OFGame.stat.levels[2])))){
award("firstunlock");
_local3 = 2;
while (_local3 < 7) {
OFGame.stat.levels[_local3] = true;
menu_levels.list[_local3].hit.mouseEnabled = true;
menu_levels.list[_local3].alpha = 1;
_local3++;
};
};
Phase.playSound("level_complete.mp3", 1.5);
music_level.fade(0, -0.01);
OFGame.stat.completed[_local2] = true;
menu_levels.list[_local2].mark.visible = true;
checkUnlocks();
saveGame();
}
public function clearMap(){
var _local1:*;
trace("Clear Map");
for (_local1 in spawns) {
Phase.destroy(spawns[_local1]);
};
spawns = new Array();
Phase.destroy(nmes);
nmes = new PEPhysObj("");
nmes.colType = Phase.ENEMY;
Phase.parent(nmes, game);
Phase.destroy(map);
map = new PEPhysObj("");
Phase.parent(map, game);
Phase.destroy(sndMap);
sndMap = new PEObj("");
Phase.index(sndMap);
zoomTarget = 0.65;
}
public function loadLeveldofa(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("dawn");
_local1 = new PEPhysObj("level_dofa_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_dofa_sect2");
_local2.sca.set(2, 2);
_local2.setPos(9440, -1880);
autoPhys(_local2);
Phase.attachObj(2, _local2);
Phase.parent(_local2, map);
_local3 = new PEPhysObj("level_dofa_over1");
_local3.sca.set(2, 2);
Phase.attachObj(4, _local3);
_local3.update();
Phase.parent(_local3, map);
_local4 = new PEPhysObj("level_dofa_over2");
_local4.sca.set(2, 2);
_local4.setPos(9440, -1880);
Phase.attachObj(4, _local4);
_local4.update();
Phase.parent(_local4, map);
music_level = music_matt;
_local1.mc["mover_door"].gotoAndStop("open");
_local1.mc["mover_elevator"].gotoAndStop(1);
_local2.mc["sci2"].visible = false;
_local2.mc["mover_plat1"].gotoAndPlay(1);
_local2.mc["mover_plat2"].gotoAndPlay(60);
_local2.mc["mover_plat3"].gotoAndPlay(120);
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 9 - Death of Fresh Air";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze(0, 0);
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function updateAwards(){
if (awardTime > 0){
awardTime--;
if (awardBox.pos.x > 450){
awardBox.pos.x = (awardBox.pos.x - 10);
};
} else {
if ((((awardTime == 0)) && ((awardBox.pos.x < 700)))){
awardBox.pos.x = (awardBox.pos.x + 10);
};
};
if (player != null){
if (player.core.chunk != -1){
if (player.chunks[player.core.chunk].globs.length == 1){
award("divider");
} else {
if (player.chunks[player.core.chunk].globs.length >= 25){
award("fatty");
};
};
};
};
}
public function awardSciCheck(){
var _local1:*;
_local1 = 0;
while (_local1 < 5) {
if (!OFGame.stat.scis[_local1]){
return;
};
_local1++;
};
award("respectdead");
}
public function loadLevelitrw(){
var _local1:*;
var _local2:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("day");
_local1 = new PEPhysObj("level_itrw_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_itrw_over1");
_local2.sca.set(2, 2);
Phase.attachObj(4, _local2);
_local2.update();
Phase.parent(_local2, map);
music_level = music_upbeat;
_local1.mc["mover_door1"].gotoAndStop("open");
_local1.mc["mover_door2"].gotoAndStop("closed");
_local1.mc["mover_spin2"].gotoAndPlay(100);
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(-2200, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 15 - If The Robots Win";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
player.warp(new Vect(-2200, 0));
player.addGlobs(15, -2200);
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function loadLevelwat(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
if (map.children.length > 0){
clearMap();
};
bg.mc.air.gotoAndStop("eve");
_local1 = new PEPhysObj("level_wat_sect1");
_local1.sca.set(2, 2);
autoPhys(_local1);
Phase.attachObj(2, _local1);
Phase.parent(_local1, map);
_local2 = new PEPhysObj("level_wat_sect2");
_local2.sca.set(2, 2);
_local2.setPos(6720, -1400);
autoPhys(_local2);
Phase.attachObj(2, _local2);
Phase.parent(_local2, map);
_local3 = new PEPhysObj("level_wat_over1");
_local3.sca.set(2, 2);
Phase.attachObj(4, _local3);
_local3.update();
Phase.parent(_local3, map);
_local4 = new PEPhysObj("level_wat_over2");
_local4.sca.set(2, 2);
_local4.setPos(6720, -1400);
Phase.attachObj(4, _local4);
_local4.update();
Phase.parent(_local4, map);
music_level = music_upbeat;
_local2.mc.chunk.mover_entrance.gotoAndStop("open");
_local2.mc.chunk.mover_exit.gotoAndStop("open");
state = SCENE;
sceneTime = 150;
scene = "levelstart";
camTarget.set(0, 0);
black.mc.visible = true;
black.mc.alpha = 1;
black.mc.txt.text = "Level 11 - Warped and Twisted";
if (player != null){
Phase.destroy(player);
};
player = new OFOoze();
Phase.parentFirst(player, game);
Phase.showPhys(false);
}
public function loadGame(){
var i:*;
var skipButton:Function;
var s:*;
skipButton = function (_arg1:Event){
sceneSkip = true;
skipper.mc.visible = false;
};
if (bLoaded){
unloadGame();
};
trace("Loading Game");
bLoaded = true;
state = GAME;
game = new PEPhysObj("");
game.colType = Phase.ALL;
Phase.index(game, true);
spawns = new Array();
bg = new PEObj("bgsky");
rays = new Array();
i = 0;
while (i < 20) {
s = new sunray();
s.rotation = (((i * 10) + Phase.rand(-5, 5)) - 90);
if ((i % 2) == 0){
s.scaleY = (0.5 + Phase.rand(0, 0.3));
};
bg.mc.sun.addChild(s);
rays.push(s);
i = (i + 1);
};
Phase.attachObj(0, bg);
bg.mc.air.gotoAndStop("dusk");
nmes = new PEPhysObj("");
nmes.colType = Phase.ENEMY;
Phase.parent(nmes, game);
map = new PEPhysObj("");
Phase.parent(map, game);
sndMap = new PEObj("");
Phase.index(sndMap);
loadHUD();
hideHUD();
talkbox.mc.visible = true;
dialog.unpause();
camTarget = new Vect(0, 0);
Phase.cam(camTarget, zoomLevel);
Phase.showPhys(false);
skipper = new PEUIObj("hud_skip");
skipper.mc.visible = false;
skipper.mc.bskip.addEventListener(MouseEvent.CLICK, skipButton);
Phase.attachUIObj(skipper);
sndEvap = new PESoundObj("evap.mp3");
sndEvap.adjust(0, 2000, 1500);
sndEvap.play(99999);
Phase.index(sndEvap);
}
public static function saveLoad(){
var _local1:SharedObject;
var _local2:*;
_local1 = SharedObject.getLocal("Oozing_Forever_Save", "/", false);
if ((((_local1.data.stat == null)) || (!((_local1.data.stat.saveVersion == 1))))){
trace("No save file yet or save is incorrect version - creating new save");
OFGame.stat.levels.push(true);
_local2 = 0;
while (_local2 < 18) {
OFGame.stat.levels.push(false);
_local2++;
};
_local2 = 0;
while (_local2 < 18) {
OFGame.stat.completed.push(false);
_local2++;
};
_local2 = 0;
while (_local2 < 5) {
OFGame.stat.scis.push(false);
_local2++;
};
_local2 = 0;
while (_local2 < 5) {
OFGame.stat.fights.push(false);
_local2++;
};
} else {
trace("Loading save");
OFGame.stat.saveVersion = 1;
OFGame.stat.awards = _local1.data.stat.awards;
OFGame.stat.levels = _local1.data.stat.levels;
OFGame.stat.scis = _local1.data.stat.scis;
OFGame.stat.fights = _local1.data.stat.fights;
OFGame.stat.completed = _local1.data.stat.completed;
OFGame.stat.droidKill = _local1.data.stat.droidKill;
OFGame.stat.musvol = _local1.data.stat.musvol;
OFGame.stat.effvol = _local1.data.stat.effvol;
OFGame.stat.masvol = _local1.data.stat.masvol;
OFGame.stat.glevel = _local1.data.stat.glevel;
OFGame.stat.qlevel = _local1.data.stat.qlevel;
if (OFGame.stat.qlevel == 1){
Phase.stage.quality = "LOW";
} else {
if (OFGame.stat.qlevel == 2){
Phase.stage.quality = "MEDIUM";
} else {
if (OFGame.stat.qlevel == 3){
Phase.stage.quality = "HIGH";
};
};
};
};
_local1.close();
saveGame();
}
public static function saveGame(){
var _local1:SharedObject;
_local1 = SharedObject.getLocal("Oozing_Forever_Save", "/", false);
_local1.data.stat = OFGame.stat;
_local1.flush();
_local1.close();
}
}
}//package
Section 242
//OFGlob (OFGlob)
package {
import flash.geom.*;
public class OFGlob extends PEPhysObj {
public var bGrounded:Boolean;// = false
public var steamDelay:uint;// = 0
public var justGrabbed:uint;// = 0
public var tran:int;// = 0
public var targetScale:Number;// = 1
public var powerup:String;// = ""
public var chunk:int;// = -1
public var evapped:uint;// = 0
public var rechunkDelay:uint;// = 0
public var powerTime:uint;// = 0
public var evapRate:Number;// = 0.0006
public var sparkDelay:uint;// = 0
public var bBoosted:Boolean;// = false
public var lastAnim:String;// = "happy"
public var popRate:Number;// = 0.4
public var bDead:Boolean;// = false
public function OFGlob(){
var scale:*;
chunk = -1;
bGrounded = false;
bBoosted = false;
justGrabbed = 0;
lastAnim = "happy";
targetScale = 1;
rechunkDelay = 0;
evapRate = 0.0006;
evapped = 0;
steamDelay = 0;
sparkDelay = 0;
popRate = 0.4;
bDead = false;
tran = 0;
powerup = "";
powerTime = 0;
super("col_circle", Phase.CIRCLE);
attachImage("glob");
scale = (0.45 + Phase.rand(0, 0.45));
limitAccel = true;
limitAccelVal = 40;
mc.visible = false;
bGrav = true;
sca.set(scale, scale);
img[0].scaleX = (img[0].scaleY = (targetScale = (scale * 1.5)));
bounce = 0.75;
friction = 0;
colType = Phase.PLAYER;
colMask = (colMask ^ Phase.PLAYER);
tells.push("glob");
respond = function (_arg1:String, _arg2:PEColResult, _arg3:PEPhysObj){
if (_arg1 == "glob"){
OFOoze(parent).linkGlobs(OFGlob(this), OFGlob(_arg3));
if (((((bGrounded) && ((_arg3.vel.y < 0.1)))) && ((_arg3.vel.y > -2)))){
_arg3.vel.y = (_arg3.vel.y - 0.4);
OFGlob(_arg3).bBoosted = true;
} else {
if (((bBoosted) && ((_arg3.vel.y > -2)))){
_arg3.vel.y = (_arg3.vel.y - 0.3);
};
};
if ((((powerup == "")) && (!((OFGlob(_arg3).powerup == ""))))){
powerup = OFGlob(_arg3).powerup;
powerTime = OFGlob(_arg3).powerTime;
};
} else {
if (_arg1 == "sun"){
evaporate();
if (steamDelay == 0){
steamDelay = 10;
OFEmit.globSteam.spawnInstance(pos);
};
} else {
if (_arg1 == "beam"){
evaporateFast();
if (steamDelay == 0){
steamDelay = 10;
OFEmit.globSteam.spawnInstance(pos);
};
} else {
if (_arg1 == "sticky"){
if (bGrounded){
vel.imult(0.4);
} else {
if (bBoosted){
vel.imult(0.6);
};
};
} else {
if (_arg1 == "icey"){
if (bGrounded){
vel.imult(1.1);
} else {
if (bBoosted){
vel.imult(1.05);
};
};
} else {
if (_arg1.indexOf("spawn") == 0){
OFGame.flags.push(_arg1);
_arg3.bActive = false;
} else {
if (_arg1.indexOf("dir") == 0){
if (_arg1.indexOf("left") != -1){
vel.x = (vel.x - (Number(_arg1.substring((_arg1.indexOf("left") + 4))) / 10));
};
if (_arg1.indexOf("up") != -1){
vel.y = (vel.y - (Number(_arg1.substring((_arg1.indexOf("up") + 2))) / 10));
};
if (_arg1.indexOf("right") != -1){
vel.x = (vel.x + (Number(_arg1.substring((_arg1.indexOf("right") + 5))) / 10));
};
if (_arg1.indexOf("down") != -1){
vel.y = (vel.y + (Number(_arg1.substring((_arg1.indexOf("down") + 4))) / 10));
};
} else {
if (_arg1 == "elec"){
if (powerup == ""){
powerup = "elec";
sparkDelay = Phase.rand(1, 10);
};
powerTime = 480;
} else {
if (_arg1.indexOf("elec") == 0){
if (powerup == "elec"){
OFGame.flags.push(("anim" + _arg1.substring(4)));
_arg3.bActive = false;
};
} else {
if (_arg1 == "zap"){
bDead = true;
OFDroidProj(_arg3).bAlive = false;
_arg3.tells.pop();
Phase.destroy(_arg3);
};
};
};
};
};
};
};
};
};
};
};
}
public function powerups(){
if (powerTime > 0){
powerTime--;
if (powerTime == 0){
powerup = "";
};
};
if (powerup == ""){
img[0].transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
};
if (powerup == "elec"){
img[0].transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0xFF, 0xFF, 0xFF, 0);
if (sparkDelay == 0){
sparkDelay = Phase.rand(20, 28);
OFEmit.globSpark.spawnInstance(pos);
};
};
}
public function evaporate(){
sca.isub(evapRate, evapRate);
img[0].scaleX = (img[0].scaleX - evapRate);
img[0].scaleY = (img[0].scaleY - evapRate);
if (sca.x < popRate){
bDead = true;
};
evapped = 3;
}
public function evaporateFast(){
sca.isub((evapRate * 5), (evapRate * 5));
img[0].scaleX = (img[0].scaleX - evapRate);
img[0].scaleY = (img[0].scaleY - evapRate);
if (sca.x < popRate){
bDead = true;
};
evapped = 3;
}
public function die(){
Phase.playPosSound((("pop" + (1 + Phase.rand(0, 4, true))) + ".mp3"), pos, 0.7);
}
override public function update(){
var _local1:*;
if (!bActive){
return;
};
bGrounded = (bBoosted = false);
if (bHitSurface == true){
if (hitSurfaceDir.y < -0.8){
bGrounded = true;
};
if (OFGame.lastSquish == 0){
OFGame.lastSquish = 5;
Phase.playPosSound((("squish" + Phase.rand(1, 10, true)) + ".mp3"), pos, (impactSpeed / 25));
} else {
if (OFGame.lastSquish == 3){
OFGame.lastSquish = 2;
Phase.playPosSound((("squish" + Phase.rand(1, 10, true)) + ".mp3"), pos, (impactSpeed / 50));
};
};
};
bHitSurface = false;
_local1 = 0.025;
if (img[0].scaleX < targetScale){
img[0].scaleX = (img[0].scaleX + _local1);
img[0].scaleY = (img[0].scaleY + _local1);
};
if (img[0].scaleY > targetScale){
img[0].scaleX = (img[0].scaleX - _local1);
img[0].scaleY = (img[0].scaleY - _local1);
};
powerups();
vel.imult(0.9925);
if (rechunkDelay > 0){
rechunkDelay--;
};
if (steamDelay > 0){
steamDelay--;
};
if (sparkDelay > 0){
sparkDelay--;
};
if (evapped > 0){
evapped--;
};
super.update();
}
public function dieOff(){
sca.isub((evapRate * 2), (evapRate * 2));
img[0].scaleX = (img[0].scaleX - (evapRate * 2));
img[0].scaleY = (img[0].scaleY - (evapRate * 2));
if (sca.x < popRate){
bDead = true;
};
}
}
}//package
Section 243
//OFMrOoze (OFMrOoze)
package {
public class OFMrOoze extends OFGlob {
public function OFMrOoze(){
var scale:*;
super();
img[0] = null;
img = new Array();
attachImage("mr_ooze");
scale = 0.6;
sca.set(scale, scale);
img[0].scaleX = (img[0].scaleY = (targetScale = (scale * 1.5)));
triggerMask = (triggerMask | Phase.PTRIGGER);
respond = function (_arg1:String, _arg2:PEColResult, _arg3:PEPhysObj){
if (_arg1 == "glob"){
OFOoze(parent).linkGlobs(OFGlob(this), OFGlob(_arg3));
if (((((bGrounded) && ((_arg3.vel.y < 0.1)))) && ((_arg3.vel.y > -2)))){
_arg3.vel.y = (_arg3.vel.y - 0.4);
OFGlob(_arg3).bBoosted = true;
} else {
if (((bBoosted) && ((_arg3.vel.y > -2)))){
_arg3.vel.y = (_arg3.vel.y - 0.3);
};
};
} else {
if (_arg1 == "sun"){
evaporate();
} else {
if (_arg1 == "beam"){
evaporateFast();
} else {
if (_arg1 == "sticky"){
if (bGrounded){
vel.imult(0.4);
} else {
if (bBoosted){
vel.imult(0.6);
};
};
} else {
if (_arg1 == "icey"){
if (bGrounded){
vel.imult(1.1);
} else {
if (bBoosted){
vel.imult(1.05);
};
};
} else {
if (_arg1.indexOf("dir") == 0){
if (_arg1.indexOf("left") != -1){
vel.x = (vel.x - (Number(_arg1.substring((_arg1.indexOf("left") + 4))) / 10));
};
if (_arg1.indexOf("up") != -1){
vel.y = (vel.y - (Number(_arg1.substring((_arg1.indexOf("up") + 2))) / 10));
};
if (_arg1.indexOf("right") != -1){
vel.x = (vel.x + (Number(_arg1.substring((_arg1.indexOf("right") + 5))) / 10));
};
if (_arg1.indexOf("down") != -1){
vel.y = (vel.y + (Number(_arg1.substring((_arg1.indexOf("down") + 4))) / 10));
};
} else {
if (_arg1 == "elec"){
powerup = "elec";
powerTime = 480;
} else {
if (_arg1.indexOf("elec") == 0){
if (powerup == "elec"){
OFGame.flags.push(("anim" + _arg1.substring(4)));
_arg3.bActive = false;
};
} else {
if ((((((((((_arg1.indexOf("zoom") == 0)) || ((_arg1.indexOf("plat") == 0)))) || ((_arg1.indexOf("warp") == 0)))) || ((_arg1.indexOf("spot") == 0)))) || ((_arg1 == "flyhit")))){
OFGame.flags.push(_arg1);
} else {
if (_arg1 == "zap"){
} else {
OFGame.flags.push(_arg1);
_arg3.bActive = false;
};
};
};
};
};
};
};
};
};
};
};
}
override public function powerups(){
if (powerTime > 0){
powerTime--;
if (powerTime == 0){
powerup = "";
playAnim("happy");
};
};
if (powerup == "elec"){
playAnim("charged");
};
}
override public function evaporate(){
playAnim("hurt");
}
override public function evaporateFast(){
playAnim("hurt");
}
public function playAnim(_arg1:String){
if ((((_arg1 == "happy")) && ((lastAnim == "surprise")))){
} else {
img[0].gotoAndPlay(_arg1);
lastAnim = _arg1;
};
}
}
}//package
Section 244
//OFOoze (OFOoze)
package {
import flash.display.*;
import flash.filters.*;
public class OFOoze extends PEPhysObj {
public var numTraces:int;// = 2
public var crotMax:Number;// = 6
public var cullDist;// = 680
public var accelMult:Number;// = 0.0012
public var grabWindow:uint;// = 30
public var launchGlobsDiv:Number;// = 2.2
public var launchStr:Number;// = 7
public var nofilter:MovieClip;// = null
public var traceIndex:int;// = -1
public var crot:Number;// = 0
public var core:OFMrOoze;// = null
public var chunks:Array;
public var regenTime:uint;// = 0
public var all:Array;
public var regenRate:uint;// = 100
public var trans:Array;
public var maxAccel:Number;// = 100
public function OFOoze(_arg1:Number=0, _arg2:Number=0, _arg3:uint=4){
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
trans = new Array();
nofilter = null;
cullDist = 680;
all = new Array();
core = null;
crot = 0;
crotMax = 6;
maxAccel = 100;
accelMult = 0.0012;
grabWindow = 30;
chunks = new Array();
traceIndex = -1;
numTraces = 2;
launchStr = 7;
launchGlobsDiv = 2.2;
regenTime = 0;
regenRate = 100;
super("", Phase.CONTAINER);
nofilter = new MovieClip();
Phase.planes[3].addChild(nofilter);
_local4 = 0;
while (_local4 < 9) {
_local7 = new MovieClip();
trans.push(_local7);
mc.addChild(_local7);
_local4++;
};
addGlobs(_arg3, _arg1, _arg2, 40, 20);
Phase.attachObj(3, this);
colType = Phase.PLAYER;
_local5 = new OFMrOoze();
_local5.setPos(_arg1, _arg2);
Phase.parent(_local5, this);
trans[0].addChild(_local5.mc);
trans[0].addChild(_local5.img[0]);
all.push(_local5);
core = _local5;
chunks.push(new OFChunk());
for (_local6 in all) {
all[_local6].chunk = 0;
chunks[0].globs.push(all[_local6]);
};
applyFilters();
}
public function addGlobs(_arg1:uint, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0){
var _local6:*;
var _local7:*;
_local6 = 0;
while (_local6 < _arg1) {
_local7 = new OFGlob();
_local7.pos.set((_arg2 + Phase.rand(-(_arg4), _arg4)), (_arg3 + Phase.rand(-(_arg5), _arg5)));
_local7.vel.x = Phase.rand(-0.2, 0.2);
Phase.parent(_local7, this);
trans[0].addChild(_local7.mc);
trans[0].addChild(_local7.img[0]);
all.push(_local7);
_local6++;
};
if (core != null){
trans[0].setChildIndex(core.img[0], (trans[0].numChildren - 1));
};
}
public function moveCore(_arg1:Vect){
var _local2:*;
if (core.chunk == -1){
_local2 = newChunk();
if (_local2 == -1){
core.chunk = (chunks.push(new OFChunk()) - 1);
} else {
core.chunk = _local2;
};
chunks[core.chunk].globs.push(core);
};
_arg1.y = (_arg1.y * 0.5);
chunks[core.chunk].move(_arg1);
crot = (crot + _arg1.x);
if (crot > crotMax){
crot = crotMax;
} else {
if (crot < -(crotMax)){
crot = -(crotMax);
};
};
}
public function mergeChunks(_arg1:int, _arg2:int){
var _local3:*;
for (_local3 in chunks[_arg2].globs) {
chunks[_arg2].globs[_local3].chunk = _arg1;
};
chunks[_arg1].globs = chunks[_arg1].globs.concat(chunks[_arg2].globs);
chunks[_arg2].globs = new Array();
for (_local3 in chunks[_arg1].globs) {
chunks[_arg1].globs[_local3].justGrabbed = grabWindow;
};
}
public function linkGlobs(_arg1:OFGlob, _arg2:OFGlob){
var _local3:*;
if (_arg1.rechunkDelay > 0){
return;
};
if (_arg2.rechunkDelay > 0){
return;
};
if ((((_arg1.chunk == -1)) && ((_arg2.chunk == -1)))){
_arg1.justGrabbed = (_arg2.justGrabbed = grabWindow);
_local3 = newChunk();
if (_local3 == -1){
_arg1.chunk = (_arg2.chunk = (chunks.push(new OFChunk()) - 1));
} else {
_arg1.chunk = (_arg2.chunk = _local3);
};
chunks[_arg1.chunk].globs.push(_arg1);
chunks[_arg1.chunk].globs.push(_arg2);
return;
};
if (_arg1.chunk == _arg2.chunk){
return;
};
if (((!((_arg1.chunk == -1))) && ((_arg2.chunk == -1)))){
_arg2.chunk = _arg1.chunk;
chunks[_arg1.chunk].globs.push(_arg2);
} else {
if ((((_arg1.chunk == -1)) && (!((_arg2.chunk == -1))))){
_arg1.chunk = _arg2.chunk;
chunks[_arg2.chunk].globs.push(_arg1);
} else {
if (((!((_arg1.chunk == -1))) && (!((_arg2.chunk == -1))))){
mergeChunks(_arg1.chunk, _arg2.chunk);
};
};
};
}
public function holdStill(){
var _local1:*;
if (core.chunk == -1){
_local1 = newChunk();
if (_local1 == -1){
core.chunk = (chunks.push(new OFChunk()) - 1);
} else {
core.chunk = _local1;
};
chunks[core.chunk].globs.push(core);
};
chunks[core.chunk].stop();
}
public function updateRegen(){
if (core.chunk == -1){
return;
};
if ((((chunks[core.chunk].globs.length < 5)) || (((OFGame.huntedPassword) && ((chunks[core.chunk].globs.length < 30)))))){
regenTime++;
if (regenTime >= regenRate){
regenTime = 0;
addGlobs(1, core.pos.x, core.pos.y, 0, 0);
};
};
}
public function updateVis(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
for (_local1 in children) {
_local2 = children[_local1];
_local3 = _local2.pos.subv(core.pos);
_local4 = _local3.rawmag();
_local5 = _local2.tran;
if ((((_local4 > (cullDist * cullDist))) && (!((_local2.tran == -1))))){
_local2.tran = -1;
nofilter.addChild(_local2.mc);
nofilter.addChild(_local2.img[0]);
} else {
if (_local4 > ((cullDist * cullDist) / 2)){
if (_local3.x < -750){
if ((((_local3.y < -500)) && (!((_local2.tran == 1))))){
_local2.tran = 1;
trans[1].addChild(_local2.mc);
trans[1].addChild(_local2.img[0]);
} else {
if ((((_local3.y > 500)) && (!((_local2.tran == 3))))){
_local2.tran = 3;
trans[3].addChild(_local2.mc);
trans[3].addChild(_local2.img[0]);
} else {
if (_local2.tran != 2){
_local2.tran = 2;
trans[2].addChild(_local2.mc);
trans[2].addChild(_local2.img[0]);
};
};
};
} else {
if (_local3.x > 750){
if ((((_local3.y < -500)) && (!((_local2.tran == 4))))){
_local2.tran = 4;
trans[4].addChild(_local2.mc);
trans[4].addChild(_local2.img[0]);
} else {
if ((((_local3.y > 500)) && (!((_local2.tran == 6))))){
_local2.tran = 6;
trans[6].addChild(_local2.mc);
trans[6].addChild(_local2.img[0]);
} else {
if (_local2.tran != 5){
_local2.tran = 5;
trans[5].addChild(_local2.mc);
trans[5].addChild(_local2.img[0]);
};
};
};
} else {
if ((((_local3.y < -500)) && (!((_local2.tran == 7))))){
_local2.tran = 7;
trans[7].addChild(_local2.mc);
trans[7].addChild(_local2.img[0]);
} else {
if ((((_local3.y > 500)) && (!((_local2.tran == 8))))){
_local2.tran = 8;
trans[8].addChild(_local2.mc);
trans[8].addChild(_local2.img[0]);
};
};
};
};
} else {
if (_local2.tran != 0){
_local2.tran = 0;
trans[0].addChild(_local2.mc);
trans[0].addChild(_local2.img[0]);
trans[0].setChildIndex(core.img[0], (trans[0].numChildren - 1));
};
};
};
};
}
public function mousePull(){
var _local1:Vect;
var _local2:Vect;
_local1 = Phase.getMouseWorldPos();
_local2 = _local1.subv(core.pos);
_local2.cap(maxAccel);
_local2.imult(accelMult);
moveCore(_local2);
}
public function expand(){
if (core.chunk == -1){
return;
};
chunks[core.chunk].idealThreshold = 60;
chunks[core.chunk].nearTension = 0.025;
core.playAnim("happy");
}
public function updateMrOoze(){
core.img[0].rotation = (core.img[0].rotation + crot);
if (core.img[0].rotation > 360){
core.img[0].rotation = (core.img[0].rotation - 360);
} else {
if (core.img[0].rotation < 0){
core.img[0].rotation = (core.img[0].rotation + 360);
};
};
}
public function warp(_arg1:Vect){
var _local2:*;
var _local3:*;
_local2 = chunks[core.chunk];
for (_local3 in _local2.globs) {
_local2.globs[_local3].pos.setv(_arg1);
};
_local2.centre.setv(core.pos);
}
public function launch(_arg1:Vect, _arg2:Number){
var _local3:*;
if (core.chunk == -1){
return;
};
_arg1.imult(_arg2);
_arg1.imult((launchStr + (chunks[core.chunk].globs.length / launchGlobsDiv)));
_local3 = Math.abs(Vect.toDeg(Math.atan2(_arg1.y, _arg1.x)));
if ((((_local3 >= 75)) && ((_local3 <= 105)))){
} else {
if ((((_local3 < 75)) && ((_local3 >= 60)))){
_arg1.irotate(-10);
} else {
if ((((_local3 < 60)) && ((_local3 >= 30)))){
_arg1.irotate(-20);
_arg1.imult(1.15);
} else {
if ((((_local3 < 30)) && ((_local3 >= -20)))){
_arg1.irotate(-10);
_arg1.imult(1.3);
} else {
if ((((_local3 > 105)) && ((_local3 <= 120)))){
_arg1.irotate(10);
} else {
if ((((_local3 > 120)) && ((_local3 <= 150)))){
_arg1.irotate(20);
_arg1.imult(1.15);
} else {
if ((((_local3 > 150)) && ((_local3 <= 200)))){
_arg1.irotate(10);
_arg1.imult(1.3);
};
};
};
};
};
};
};
chunks[core.chunk].launch(_arg1, _arg2);
core.playAnim("surprise");
}
public function menu_setup(_arg1:Number, _arg2:Number){
var _local3:*;
var _local4:*;
for (_local3 in all) {
all[_local3].setPos(_arg1, _arg2);
_local4 = Phase.rand(0.35, 0.5);
all[_local3].setScale(_local4, _local4);
all[_local3].img[0].scaleX = (all[_local3].img[0].scaleY = (_local4 * 1.25));
all[_local3].bounce = 0.9;
all[_local3].vel.set(Phase.rand(-3, 3), Phase.rand(-3, 3));
};
}
public function applyFilters(){
var _local1:*;
_local1 = 0;
while (_local1 < 9) {
if (OFGame.stat.glevel == 1){
trans[_local1].blendMode = "layer";
trans[_local1].filters = [new GlowFilter(0x88FF00, 1, 4, 4, 6, 3, false, false)];
} else {
if (OFGame.stat.glevel == 2){
trans[_local1].blendMode = "layer";
trans[_local1].filters = [new GlowFilter(0x88FF00, 1, 8, 8, 6, 3, false, false), new GlowFilter(0, 1, 2, 2, 6, 1, false, false)];
} else {
if (OFGame.stat.glevel == 3){
trans[_local1].blendMode = "layer";
trans[_local1].filters = [new GlowFilter(0x88FF00, 1, 8, 8, 8, 3, false, false), new BevelFilter(16, 90, 0xAAFF00, 1, 0x5FAF00, 1, 32, 32, 1, 1), new GlowFilter(0, 1, 4, 4, 10, 1, false, false)];
};
};
};
_local1++;
};
}
override public function update(){
if (paused){
return;
};
lineTrace();
mousePull();
updateChunks();
updateMrOoze();
updateVis();
updateRegen();
super.update();
}
public function condense(){
if (core.chunk == -1){
return;
};
chunks[core.chunk].idealThreshold = 20;
chunks[core.chunk].nearTension = 0.001;
core.playAnim("tense");
}
public function lineTrace(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = numTraces;
_local2 = 0;
while (_local2 < numTraces) {
traceIndex++;
if (traceIndex >= all.length){
traceIndex = 0;
};
if (all[traceIndex] == null){
trace("null glob");
};
if (all[traceIndex].chunk == -1){
} else {
_local3 = all[traceIndex];
_local4 = chunks[_local3.chunk];
_local5 = PEIndex.lineTrace(_local3.pos, _local4.centre);
if (_local5.hit){
_local4.removeGlobID(_local3.id);
numTraces = (numTraces + 1);
if (numTraces > 20){
numTraces = 20;
};
};
};
_local2++;
};
if ((((numTraces == _local1)) && ((numTraces > 5)))){
numTraces--;
};
}
public function updateChunks(){
var _local1:*;
for (_local1 in chunks) {
if (chunks[_local1].globs.length == 0){
} else {
chunks[_local1].update();
};
};
}
public function newChunk(){
var _local1:*;
for (_local1 in chunks) {
if (chunks[_local1].globs.length == 0){
return (_local1);
};
};
return (-1);
}
}
}//package
Section 245
//OFSpawner (OFSpawner)
package {
public class OFSpawner extends PEPhysVol {
public var limit:uint;// = 0
public function OFSpawner(_arg1, _arg2:uint){
limit = 0;
super(_arg1);
limit = _arg2;
}
}
}//package
Section 246
//OFStat (OFStat)
package {
public class OFStat {
public var glevel:uint;// = 3
public var scis:Array;
public var completed:Array;
public var masvol:Number;// = 1
public var effvol:Number;// = 1
public var saveVersion:uint;// = 1
public var noLevelSelect:Boolean;// = true
public var fights:Array;
public var musvol:Number;// = 1
public var zaps:uint;// = 0
public var levels:Array;
public var qlevel:uint;// = 2
public var droidKill:uint;// = 0
public var awards:Array;
public function OFStat(){
awards = new Array(false, false, false, false, false, false, false, false, false, false, false, false);
levels = new Array();
completed = new Array();
scis = new Array();
fights = new Array();
noLevelSelect = true;
droidKill = 0;
zaps = 0;
saveVersion = 1;
musvol = 1;
effvol = 1;
masvol = 1;
glevel = 3;
qlevel = 2;
super();
}
}
}//package
Section 247
//ooze_droplet (ooze_droplet)
package {
import flash.display.*;
public dynamic class ooze_droplet extends MovieClip {
}
}//package
Section 248
//PEBind (PEBind)
package {
public class PEBind {
public var a:PEObj;
public var b:PEObj;
public var bDirect:Boolean;
public var bTemp:Boolean;
public function PEBind(_arg1:PEObj, _arg2:PEObj){
a = _arg1;
b = _arg2;
bDirect = true;
bTemp = true;
}
}
}//package
Section 249
//PEChar (PEChar)
package {
public class PEChar extends PEPhysObj {
public var actions:Array;
public var wallPush:Number;// = -5
public var bDJumped:Boolean;// = false
public var pstate:uint;
public var frictionStop:Number;// = 0.12
public var wallAngle:Number;// = 0
public var jumpStr:Number;// = -5
public var sndJump:Array;
public var gravNorm:Vect;
public var wallSide:String;// = ""
public var wallGrip:Number;// = 0.99
public var speed:Number;// = 8
public var landImpact:Number;// = 0
public var command:Array;
public var bCanDoubleJump:Boolean;// = false
public var sndLand:Array;
public var frictionRun:Number;// = 0
public var frictionASlide:Number;// = -0.02
public var jumpFrames:uint;// = 10
public var fallTime:Number;// = 0
public var acc:Number;// = 0.6
public var state:uint;
public var bCanWallSlide:Boolean;// = false
public var grabPoint:PEPhysObj;// = null
public var airControl:Number;// = 0.5
public var boostStr:Number;// = -1.4
public var grabCool:uint;// = 0
public var jumpWindow:uint;// = 8
public var wallImpact:Number;// = 0
public var frictionSlide:Number;// = 0.05
public var lastJump:uint;// = 0
public var bIsRunning:Boolean;// = false
public var sndWallImpact:String;// = ""
public var moveDir:String;// = ""
public static const STAND:uint = 1;
public static const WSLIDE:uint = 2;
public static const FALL:uint = 0;
public function PEChar(_arg1, _arg2:uint){
command = new Array();
actions = new Array();
gravNorm = new Vect(0, 1);
moveDir = "";
frictionRun = 0;
frictionStop = 0.12;
frictionSlide = 0.05;
frictionASlide = -0.02;
speed = 8;
acc = 0.6;
airControl = 0.5;
jumpStr = -5;
boostStr = -1.4;
lastJump = 0;
jumpFrames = 10;
bCanDoubleJump = false;
bDJumped = false;
landImpact = 0;
bCanWallSlide = false;
wallGrip = 0.99;
wallSide = "";
wallPush = -5;
wallImpact = 0;
wallAngle = 0;
grabPoint = null;
grabCool = 0;
bIsRunning = false;
fallTime = 0;
jumpWindow = 8;
sndJump = new Array();
sndLand = new Array();
sndWallImpact = "";
super(_arg1, _arg2);
colType = Phase.PLAYER;
state = FALL;
pstate = state;
bGrav = true;
command.push("stop");
bIsRunning = false;
fallTime = 0;
bounce = 0;
}
public function clearCommands(){
command = new Array();
}
override public function physAccelv(_arg1:Vect, _arg2:PEPhysObj){
if (state == STAND){
if (_arg1.y > 0){
_arg2.accel(0, -(_arg1.y));
_arg1.y = 0;
};
};
accel(_arg1.x, _arg1.y);
}
public function control(_arg1:String, _arg2:String=""){
var _local3:*;
moveDir = _arg2;
for (_local3 in command) {
if (command[_local3] == _arg1){
return;
};
};
command.push(_arg1);
}
public function grabLedge(_arg1:PEPhysObj){
if (state == WSLIDE){
bDJumped = false;
if ((((vel.y < 0)) && ((grabCool == 0)))){
if (_arg1.apos.x < apos.x){
vel.x = (vel.x - 1);
actions.push("ledgepopl");
pos.x = (pos.x + 25);
} else {
if (_arg1.apos.x > apos.x){
vel.x = (vel.x + 1);
actions.push("ledgepopr");
pos.x = (pos.x - 25);
};
};
state = FALL;
grabCool = 10;
vel.y = -5;
} else {
actions.push("ledgegrab");
grabPoint = _arg1;
};
};
}
public function playAnim(_arg1:String){
img[0].gotoAndPlay(_arg1);
}
public function land(){
var _local1:Number;
state = STAND;
bDJumped = false;
if (pstate != STAND){
landImpact = vel.y;
if ((((sndLand.length > 0)) && ((fallTime > 10)))){
_local1 = (landImpact / 20);
Phase.playSound(sndLand[Phase.rand(0, sndLand.length, true)], _local1);
};
if (bIsRunning){
bIsRunning = true;
if (fallTime < 5){
actions.push("quickland");
} else {
actions.push("rland");
};
} else {
bIsRunning = false;
actions.push("land");
};
};
fallTime = 0;
}
public function turn(_arg1:String){
if (state == FALL){
if ((((((_arg1 == "l")) && ((vel.x < (speed * airControl))))) && ((img[0].scaleX > 0)))){
actions.push("fturnl");
};
if ((((((_arg1 == "r")) && ((vel.x > -((speed * airControl)))))) && ((img[0].scaleX < 0)))){
actions.push("fturnr");
};
} else {
if (state == STAND){
if ((((moveDir == "l")) && ((img[0].scaleX > 0)))){
actions.push("rturnl");
};
if ((((moveDir == "r")) && ((img[0].scaleX < 0)))){
actions.push("rturnr");
};
};
};
}
override public function updateImages(){
var _local1:*;
var _local2:Vect;
var _local3:*;
_local1 = 0;
while (_local1 < img.length) {
if (img[_local1] == null){
} else {
_local2 = imgOffset.copy();
_local2.irotate(img[_local1].rotation);
_local3 = (Math.abs(img[_local1].rotation) / 90);
_local2.imult((1 - _local3));
_local2.iaddv(imgOffset.mult(_local3));
img[_local1].x = (mc.x + _local2.x);
img[_local1].y = (mc.y + _local2.y);
animAccrue = (animAccrue + animRate);
if (animAccrue >= 1){
animAccrue = (animAccrue - 1);
if (img[_local1].body.currentLabel != "ns"){
img[_local1].body.gotoAndStop((img[_local1].body.currentFrame + 1));
};
};
};
_local1++;
};
}
override public function update(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:Vect;
var _local5:Vect;
if (((!(bActive)) || (paused))){
return;
};
input();
if (state == STAND){
_local3 = (Vect.toDeg(Math.atan2(gravNorm.y, gravNorm.x)) - 90);
_local3 = ((_local3 - img[0].rotation) / 10);
img[0].rotation = (img[0].rotation + _local3);
grabPoint = null;
} else {
if (state == FALL){
fallTime++;
bIsRunning = false;
if ((((pstate == STAND)) && ((vel.y > 0)))){
actions.push("fall");
} else {
if ((((pstate == WSLIDE)) && ((Math.abs(vel.x) < (speed + airControl))))){
actions.push("fall");
};
};
_local3 = ((0 - img[0].rotation) / 10);
img[0].rotation = (img[0].rotation + _local3);
grabPoint = null;
} else {
if (state == WSLIDE){
bIsRunning = false;
_local3 = (((wallAngle + 90) - img[0].rotation) / 10);
img[0].rotation = (img[0].rotation + _local3);
if (wallSide == "l"){
vel.x = (vel.x + 0.1);
};
if (wallSide == "r"){
vel.x = (vel.x - 0.1);
};
if (grabPoint != null){
vel.y = 0;
pos.y = (grabPoint.apos.y + 24);
};
};
};
};
if (grabCool > 0){
grabCool--;
};
_local1 = false;
friction = frictionStop;
for each (_local2 in command) {
if (_local2 == "move"){
_local1 = true;
turn(moveDir);
if (state == FALL){
friction = -0.02;
if ((((moveDir == "r")) && ((vel.x < speed)))){
vel.x = (vel.x + (acc * airControl));
};
if ((((moveDir == "l")) && ((vel.x > -(speed))))){
vel.x = (vel.x + (-(acc) * airControl));
};
} else {
if (state == STAND){
if (!bIsRunning){
actions.push("startrun");
};
friction = frictionRun;
_local4 = gravNorm.copy();
_local4.irotate(90);
_local4.imult(acc);
if ((((moveDir == "r")) && ((vel.x < speed)))){
_local5 = _local4.mult(-1);
if (_local5.y < 0){
_local5.y = (_local5.y * 0.6);
} else {
if (_local5.y > 0){
_local5.y = (_local5.y * 1.2);
};
};
vel.iaddv(_local5);
};
if ((((moveDir == "l")) && ((vel.x > -(speed))))){
_local5 = _local4;
if (_local5.y < 0){
_local5.y = (_local5.y * 0.6);
} else {
if (_local5.y > 0){
_local5.y = (_local5.y * 1.2);
};
};
vel.iaddv(_local5);
};
} else {
if (state == WSLIDE){
if (vel.y > 0){
friction = frictionSlide;
} else {
friction = frictionASlide;
};
_local3 = (((wallAngle + 90) - img[0].rotation) / 10);
img[0].rotation = (img[0].rotation + _local3);
if ((((moveDir == "r")) && ((vel.x < speed)))){
vel.x = (vel.x + (acc * airControl));
};
if ((((moveDir == "l")) && ((vel.x > -(speed))))){
vel.x = (vel.x + (-(acc) * airControl));
};
if (grabPoint != null){
vel.y = 0;
pos.y = (grabPoint.apos.y + 24);
};
};
};
};
if (!bIsRunning){
bIsRunning = true;
};
} else {
if (_local2 == "stop"){
friction = frictionStop;
if (bIsRunning){
bIsRunning = false;
if (state == STAND){
actions.push("stoprun");
};
};
} else {
if (_local2 == "jump"){
if ((((state == STAND)) || ((((state == FALL)) && ((fallTime <= jumpWindow)))))){
actions.push("jump");
state = FALL;
gravNorm.set(0, 1);
vel.y = jumpStr;
lastJump = jumpFrames;
if (sndJump.length > 0){
Phase.playSound(sndJump[Phase.rand(0, sndJump.length, true)]);
};
} else {
if (state == FALL){
if (((((bCanDoubleJump) && (!(bDJumped)))) && ((fallTime > 1)))){
actions.push("djump");
gravNorm.set(0, 1);
vel.y = (jumpStr / 4);
lastJump = (jumpFrames * 4);
bDJumped = true;
};
} else {
if (state == WSLIDE){
if (grabPoint != null){
actions.push("ledgepop");
if (grabPoint.apos.x < apos.x){
vel.x = (vel.x - 2);
actions.push("ledgepopl");
pos.x = (pos.x + 25);
} else {
if (grabPoint.apos.x > apos.x){
vel.x = (vel.x + 2);
actions.push("ledgepopr");
pos.x = (pos.x - 25);
};
};
state = FALL;
grabCool = 10;
vel.y = -5;
} else {
actions.push(("wjump" + wallSide));
gravNorm.set(0, 1);
vel.y = wallPush;
if (wallSide == "l"){
vel.x = -((speed + airControl));
};
if (wallSide == "r"){
vel.x = (speed + airControl);
};
lastJump = (jumpFrames / 2);
};
};
};
};
} else {
if (_local2 == "boost"){
if (state == STAND){
lastJump = 0;
};
if (lastJump > 0){
if (bDJumped){
vel.y = (vel.y + (((boostStr / 2) * lastJump) / (jumpFrames * 4)));
} else {
if (lastJump == jumpFrames){
vel.y = (vel.y + (((boostStr * lastJump) / jumpFrames) * 0.5));
} else {
vel.y = (vel.y + ((boostStr * lastJump) / jumpFrames));
};
};
lastJump--;
};
};
};
};
};
};
clearCommands();
if (_local1){
command.push("move");
};
if (bGrav){
vel.iaddv(gravNorm.mult((gravity * airResist)));
vel.y = (vel.y - (gravity * airResist));
};
pstate = state;
super.update();
}
public function input(){
}
public function act(){
}
override public function physShiftv(_arg1:Vect, _arg2:PEPhysObj){
if (state == STAND){
if ((((_arg1.y > 0)) && (!(_arg2.bStatic)))){
_arg2.shiftPos(0, -(_arg1.y));
_arg1.y = 0;
};
};
shiftPos(_arg1.x, _arg1.y);
}
public function faceDir(_arg1:String){
if ((((((_arg1 == "l")) && ((img[0].scaleX > 0)))) || ((((_arg1 == "r")) && ((img[0].scaleX < 0)))))){
img[0].scaleX = (img[0].scaleX * -1);
};
}
override public function unpause(_arg1:Boolean=false){
control("stop");
super.unpause(_arg1);
}
}
}//package
Section 250
//PEColClip (PEColClip)
package {
import flash.display.*;
public class PEColClip extends MovieClip {
}
}//package
Section 251
//PEColClip_Box (PEColClip_Box)
package {
public class PEColClip_Box extends PEColClip {
public var l1:col_line;
public var l4:col_line;
public var l3:col_line;
public var l2:col_line;
}
}//package
Section 252
//PEColClip_Vol (PEColClip_Vol)
package {
public class PEColClip_Vol extends PEColClip {
public var l1:col_line;
public var l4:col_line;
public var l3:col_line;
public var l2:col_line;
}
}//package
Section 253
//PECollision (PECollision)
package {
public class PECollision {
public static function linetolinev(_arg1:Vect, _arg2:Vect, _arg3:PEPhysObj){
var _local4:*;
var _local5:Vect;
var _local6:*;
var _local7:Number;
var _local8:Vect;
var _local9:Vect;
var _local10:Vect;
var _local11:Vect;
var _local12:*;
var _local13:*;
var _local14:Number;
var _local15:Number;
var _local16:*;
var _local17:*;
_local4 = new PEColResult();
_local5 = _arg3.pos.copy();
_local6 = 0;
while (_local6 < _arg3.contain.length) {
_local5.imultv(_arg3.contain[_local6].sca);
_local5.irotate(_arg3.contain[_local6].rot);
_local5.iadd(_arg3.contain[_local6].pos.x, _arg3.contain[_local6].pos.y);
_local6++;
};
_local7 = Vect.toRad(_arg3.rot);
_local8 = new Vect(((Math.cos(_local7) * _arg3.sca.x) * 100), ((Math.sin(_local7) * _arg3.sca.x) * 100));
_local6 = 0;
while (_local6 < _arg3.contain.length) {
_local8.imultv(_arg3.contain[_local6].sca);
_local8.irotate(_arg3.contain[_local6].rot);
_local6++;
};
_local9 = _local5.addv(_local8);
_local10 = _arg2.subv(_arg1);
_local11 = _local9.subv(_local5);
_local12 = (_local5.x - _arg1.x);
_local13 = (_arg1.y - _local5.y);
_local14 = ((_local10.x * _local11.y) - (_local10.y * _local11.x));
if (_local14 == 0){
_local4.hit = false;
return (_local4);
};
_local15 = (1 / _local14);
_local16 = (((_local11.x * _local13) + (_local11.y * _local12)) * _local15);
_local17 = (((_local10.x * _local13) + (_local10.y * _local12)) * _local15);
if ((((((((_local16 < 0)) || ((_local16 > 1)))) || ((_local17 < 0)))) || ((_local17 > 1)))){
_local4.hit = false;
} else {
_local4.hit = true;
_local4.point = new Vect((_arg1.x + (_local10.x * _local16)), (_arg1.y + (_local10.y * _local16)));
};
return (_local4);
}
public static function circletocircle(_arg1:PEPhysObj, _arg2:PEPhysObj){
var _local3:PEColResult;
_local3 = new PEColResult();
_local3.a = _arg1;
_local3.b = _arg2;
_local3.dirvec = _arg1.apos.subv(_arg2.apos);
_local3.norm = _local3.dirvec.norm();
_local3.dist = _local3.dirvec.rawmag();
_local3.range = _local3.norm.scale((_arg1.sca.x * 50), (_arg1.sca.y * 50)).rawmag();
_local3.range = (_local3.range + _local3.norm.scale((_arg2.sca.x * 50), (_arg2.sca.y * 50)).rawmag());
_local3.range = (_local3.range * 2);
if (_local3.dist < _local3.range){
_local3.hit = true;
_local3.dist = Math.sqrt(_local3.dist);
_local3.range = Math.sqrt(_local3.range);
} else {
_local3.hit = false;
};
return (_local3);
}
public static function linetoline(_arg1:PEPhysObj, _arg2:PEPhysObj){
var _local3:Vect;
var _local4:*;
var _local5:Number;
var _local6:Vect;
var _local7:*;
var _local8:*;
_local3 = _arg1.pos.copy();
_local4 = 0;
while (_local4 < _arg1.contain.length) {
_local3.imultv(_arg1.contain[_local4].sca);
_local3.irotate(_arg1.contain[_local4].rot);
_local3.iadd(_arg1.contain[_local4].pos.x, _arg1.contain[_local4].pos.y);
_local4++;
};
_local5 = Vect.toRad(_arg1.rot);
_local6 = new Vect(((Math.cos(_local5) * _arg1.sca.x) * 100), ((Math.sin(_local5) * _arg1.sca.x) * 100));
_local4 = 0;
while (_local4 < _arg1.contain.length) {
_local6.imultv(_arg1.contain[_local4].sca);
_local6.irotate(_arg1.contain[_local4].rot);
_local4++;
};
_local7 = _local3.addv(_local6);
_local8 = linetolinev(_local3, _local7, _arg2);
_local8.a = _arg1;
_local8.b = _arg2;
return (_local8);
}
public static function circletoline(_arg1:PEPhysObj, _arg2:PEPhysObj, _arg3:Boolean=false){
var _local4:*;
var _local5:Vect;
var _local6:*;
var _local7:Number;
var _local8:Vect;
var _local9:Vect;
var _local10:Vect;
var _local11:Vect;
var _local12:Vect;
var _local13:Number;
var _local14:Boolean;
_local4 = new PEColResult();
_local4.a = _arg1;
_local4.b = _arg2;
_local5 = _arg2.pos.copy();
_local6 = 0;
while (_local6 < _arg2.contain.length) {
_local5.imultv(_arg2.contain[_local6].sca);
_local5.irotate(_arg2.contain[_local6].rot);
_local5.iaddv(_arg2.contain[_local6].pos);
_local6++;
};
_local7 = Vect.toRad(_arg2.rot);
_local8 = new Vect(((Math.cos(_local7) * _arg2.sca.x) * 100), ((Math.sin(_local7) * _arg2.sca.x) * 100));
_local6 = 0;
while (_local6 < _arg2.contain.length) {
_local8.imultv(_arg2.contain[_local6].sca);
_local8.irotate(_arg2.contain[_local6].rot);
_local6++;
};
_local9 = _local5.addv(_local8);
_local10 = _arg1.apos.subv(_local5);
_local11 = _local9.subv(_local5);
_local12 = _local11.norm();
_local13 = _local10.dot(_local12);
_local14 = false;
_local4.point = new Vect(0, 0);
if (_local13 <= 0){
_local4.point.x = _local5.x;
_local4.point.y = _local5.y;
_local14 = true;
} else {
if (_local13 > _local11.mag()){
_local4.point.x = _local9.x;
_local4.point.y = _local9.y;
_local14 = true;
} else {
_local4.point.x = (_local5.x + (_local12.x * _local13));
_local4.point.y = (_local5.y + (_local12.y * _local13));
};
};
_local4.dirvec = _arg1.apos.subv(_local4.point);
_local4.norm = _local4.dirvec.norm();
_local4.range = _local4.norm.scale((_arg1.sca.x * 50), (_arg1.sca.y * 50)).rawmag();
_local4.dist = _local4.dirvec.rawmag();
if (_local4.dist < _local4.range){
_local4.hit = true;
_local4.dist = Math.sqrt(_local4.dist);
_local4.range = Math.sqrt(_local4.range);
if (((_local14) && ((_local4.dist > (_local4.range - 4))))){
_local4.hit = false;
};
} else {
_local4.hit = false;
};
return (_local4);
}
}
}//package
Section 254
//PEColResult (PEColResult)
package {
public class PEColResult {
public var a:PEPhysObj;
public var b:PEPhysObj;
public var dist:Number;
public var point:Vect;
public var hit:Boolean;
public var endpoint:Vect;
public var dirvec:Vect;
public var norm:Vect;
public var range:Number;
}
}//package
Section 255
//PEDebug (PEDebug)
package {
import flash.display.*;
public class PEDebug {
public static var target:MovieClip;
public static function log(_arg1:String){
target.log.text = (target.log.text + (_arg1 + "\n"));
}
public static function clear(){
target.log.text = "";
}
}
}//package
Section 256
//PEDialogMsg (PEDialogMsg)
package {
public class PEDialogMsg {
var startDelay:Number;
var soundClip:String;
var endDelay:Number;
var bBySpeed:Boolean;
var txt:String;
var dur:Number;
var portrait:String;
var speaker:String;
public function PEDialogMsg(_arg1:String, _arg2:Number, _arg3:Boolean, _arg4:String, _arg5:String, _arg6:String){
this.txt = _arg1;
this.dur = _arg2;
bBySpeed = _arg3;
startDelay = 0;
endDelay = 0;
speaker = _arg4;
portrait = _arg5;
soundClip = _arg6;
}
}
}//package
Section 257
//PEDialogTarget (PEDialogTarget)
package {
import flash.display.*;
import flash.utils.*;
public class PEDialogTarget extends PEObj {
public var phase:Number;// = 0
public var sndSwitch:String;// = ""
public var sndSwitchVol:Number;// = 1
public var target:String;// = "txt"
public var portraitPos:Vect;
public var bAutoAdvance:Boolean;// = true
var endFunc:Function;// = null
public var portrait:MovieClip;// = null
public var bSkipShowsFull:Boolean;// = true
public var protect:Number;// = 0
public var bSpaceSkip:Boolean;// = true
public var q:Array;
public var nameTarget:String;// = "ntxt"
public function PEDialogTarget(_arg1){
target = "txt";
nameTarget = "ntxt";
portrait = null;
portraitPos = new Vect(0, 0);
q = new Array();
bAutoAdvance = true;
bSpaceSkip = true;
bSkipShowsFull = true;
phase = 0;
protect = 0;
endFunc = null;
sndSwitch = "";
sndSwitchVol = 1;
super(_arg1);
}
public function clearAll(){
q = new Array();
phase = 0;
mc[target].text = "";
}
public function advance(){
if (phase > protect){
if (((bSkipShowsFull) && ((phase < (q[0].dur * q[0].txt.length))))){
phase = (q[0].dur * q[0].txt.length);
} else {
nextMessage();
};
};
}
public function addMessage(_arg1:String, _arg2:Number=-1, _arg3:Boolean=true, _arg4:String="", _arg5:String="", _arg6:String=""){
q.push(new PEDialogMsg(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6));
}
override public function update(){
var _local1:*;
var _local2:*;
var _local3:*;
if (paused){
return;
};
if (q.length > 0){
if (phase == 0){
if (q[0].startDelay > 0){
q[0].startDelay--;
} else {
phase++;
};
} else {
if (!q[0].bBySpeed){
if ((((phase >= (q[0].dur + q[0].endDelay))) && (bAutoAdvance))){
nextMessage();
} else {
phase++;
_local1 = (q[0].dur / q[0].txt.length);
_local2 = (phase / _local1);
mc[target].text = q[0].txt.substr(0, Math.round(_local2));
};
} else {
if (q[0].dur > 0){
_local3 = ((q[0].dur * q[0].txt.length) + q[0].endDelay);
if ((((phase >= (_local3 + q[0].endDelay))) && (bAutoAdvance))){
nextMessage();
} else {
phase++;
_local2 = (phase / q[0].dur);
mc[target].text = q[0].txt.substr(0, Math.round(_local2));
if (q[0].txt.substr(Math.round(_local2), (Math.round(_local2) + 1)) == " "){
phase++;
};
};
} else {
if ((((phase >= q[0].endDelay)) && (bAutoAdvance))){
nextMessage();
} else {
phase++;
mc[target].text = q[0].txt;
};
};
};
};
};
}
public function setSpeaker(_arg1, _arg2){
var _local3:Class;
mc[nameTarget].text = _arg1;
if (portrait != null){
mc.removeChild(portrait);
};
_local3 = (getDefinitionByName(_arg2) as Class);
portrait = new (_local3);
mc.addChild(portrait);
portrait.x = portraitPos.x;
portrait.y = portraitPos.y;
}
public function nextMessage(){
phase = 0;
mc[target].text = "";
q.shift();
if (((!((sndSwitch == ""))) && ((q.length > 0)))){
Phase.playSound(sndSwitch, sndSwitchVol);
};
if (q.length == 0){
if (endFunc != null){
endFunc();
};
} else {
if (((!((q[0].speaker == ""))) && (!((q[0].portrait == ""))))){
setSpeaker(q[0].speaker, q[0].portrait);
};
if (q[0].soundClip != ""){
if (q[0].soundClip.indexOf("sci") == 0){
Phase.playSound((q[0].soundClip + ".mp3"), 0.75);
} else {
Phase.playSound((q[0].soundClip + ".mp3"), 0.45);
};
};
};
}
public function addDelays(_arg1:Number=0, _arg2:Number=0){
if (q.length > 0){
q[(q.length - 1)].startDelay = _arg1;
q[(q.length - 1)].endDelay = _arg2;
};
}
}
}//package
Section 258
//PEEmitInstance (PEEmitInstance)
package {
public class PEEmitInstance extends PEObj {
public var spawnPhase:Number;// = 0
public var bOn:Boolean;// = true
public var bDead:Boolean;// = false
public var parts:Array;
public var bBlockSpawn:Boolean;// = false
public function PEEmitInstance(_arg1:Vect){
bDead = false;
bOn = true;
bBlockSpawn = false;
parts = new Array();
spawnPhase = 0;
super("");
pos = _arg1.copy();
updateProperties();
}
override public function setPos(_arg1, _arg2){
var _local3:*;
_local3 = new Vect((pos.x - _arg1), (pos.y - _arg2));
pos.set(_arg1, _arg2);
updateProperties();
realignParts(_local3);
}
override public function setPosv(_arg1:Vect){
var _local2:*;
_local2 = new Vect((pos.x - _arg1.x), (pos.y - _arg1.y));
pos.set(_arg1.x, _arg1.y);
updateProperties();
realignParts(_local2);
}
public function realignParts(_arg1:Vect){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = parts.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = parts[_local3];
if (_local4.life > 0){
_local4.pos.iaddv(_arg1);
};
_local3++;
};
}
override public function shiftPos(_arg1, _arg2){
var _local3:*;
_local3 = new Vect(-(_arg1), _arg2);
pos.add(_arg1, _arg2);
updateProperties();
realignParts(_local3);
}
}
}//package
Section 259
//PEEmitter (PEEmitter)
package {
public class PEEmitter extends PEObj {
public var constantScale:Vect;
public var startScale:Vect;
public var constantAlpha:Number;
public var startRot:Vect;
var clips:Array;
public var startAlpha:Vect;
public var constantVelMult:Number;
var inst:Array;
public var spawnCount:Number;
public var spawnType:String;
public var constantVel:Vect;
public var constantRot:Number;
public var startVelMult:Vect;
public var spawnArea:Vect;
public var lifeRange:Vect;
public var startVelType:String;
public var rotType:String;
public var startVel2:Vect;
public var spawnPhase:Number;
public var startVel:Vect;
public var fadeType:String;
var parts:Array;
public var bGrav:Boolean;
public var spawnOffset:Vect;
public var clipDistribution:String;
public var respawnRange:Vect;
public var spawnRate:Number;
public function PEEmitter(_arg1:String){
super("");
clips = new Array();
clips.push(_arg1);
inst = new Array();
spawnType = "point";
spawnArea = new Vect(100, 100);
spawnOffset = new Vect(0, 0);
spawnCount = 10;
spawnRate = 30;
spawnPhase = 0;
clipDistribution = "random";
lifeRange = new Vect(60, 90);
respawnRange = new Vect(0, 0);
startVelType = "constant";
startVelMult = new Vect(1, 1);
startVel = new Vect(0, 0);
startVel2 = new Vect(0, 10);
constantVel = new Vect(0, 0);
constantVelMult = 1;
rotType = "constant";
startRot = new Vect(0, 0);
constantRot = 0;
fadeType = "constant";
startAlpha = new Vect(1, 1);
constantAlpha = 0;
startScale = new Vect(1, 1);
constantScale = new Vect(0, 0);
bGrav = false;
}
public function spawnInstance(_arg1:Vect){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = 0;
while (_local2 < inst.length) {
if (inst[_local2].bDead){
inst[_local2].setPosv(_arg1);
_local4 = 0;
while (_local4 < spawnCount) {
spawn(_local2, -1);
_local4++;
};
return (inst[_local2]);
};
_local2++;
};
_local3 = (inst.push(new PEEmitInstance(_arg1)) - 1);
_local4 = 0;
while (_local4 < spawnCount) {
spawn(_local3, -1);
_local4++;
};
mc.addChild(inst[_local3].mc);
return (inst[_local3]);
}
public function spawn(_arg1:Number, _arg2:Number){
var _local3:*;
var _local4:PEParticle;
var _local5:PEEmitInstance;
var _local6:*;
var _local7:*;
var _local8:*;
_local3 = Phase.rand;
_local4 = null;
_local5 = inst[_arg1];
_local6 = _local5.parts.length;
if (_arg2 != -1){
_local4 = _local5.parts[_arg2];
} else {
_arg2 = 0;
while (_arg2 < _local6) {
if (_local5.parts[_arg2].life <= 0){
_local4 = _local5.parts[_arg2];
};
_arg2++;
};
if (_local4 == null){
_local5.parts.push(new PEParticle(clips[0]));
_local4 = _local5.parts[(_local5.parts.length - 1)];
_local5.mc.addChild(_local4.mc);
};
};
if (spawnType == "point"){
_local4.pos.set(0, 0);
} else {
if (spawnType == "radius"){
_local4.pos.x = _local3(-1, 1);
_local4.pos.y = _local3(-1, 1);
_local4.pos.inorm();
_local4.pos.imult(_local3(0, spawnArea.x));
} else {
if (spawnType == "box"){
_local4.pos.x = _local3(-(spawnArea.x), spawnArea.x);
_local4.pos.y = _local3(-(spawnArea.y), spawnArea.y);
};
};
};
_local4.pos = _local4.pos.addv(spawnOffset);
if (startVelType == "constant"){
_local4.vel.x = _local3(startVel.x, startVel2.x);
_local4.vel.y = _local3(startVel.y, startVel2.y);
} else {
if (startVelType == "centre"){
_local4.vel = _local4.pos.copy();
_local4.vel.inorm();
_local4.vel.imult(_local3(startVelMult.x, startVelMult.y));
_local7 = Math.atan2(_local4.vel.y, _local4.vel.x);
_local8 = Vect.toDeg(_local7);
_local4.rot = _local8;
};
};
_local4.rot = _local3(startRot.x, startRot.y);
_local4.mc.alpha = _local3(startAlpha.x, startAlpha.y);
_local4.sca.x = (_local4.sca.y = _local3(startScale.x, startScale.y));
_local4.mc.visible = true;
_local4.mc.gotoAndPlay(1);
_local4.lifeMax = (_local4.life = _local3(lifeRange.x, lifeRange.y));
_local4.bGrav = bGrav;
_local4.update();
}
override public function update(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
super.update();
_local1 = Phase.rand;
_local2 = 0;
while (_local2 < inst.length) {
if (!inst[_local2].bOn){
} else {
_local3 = inst[_local2].parts.length;
_local4 = 0;
while (_local4 < _local3) {
inst[_local2].bDead = true;
_local5 = inst[_local2].parts[_local4];
if (_local5.life > 0){
inst[_local2].bDead = false;
_local5.life--;
if (_local5.life <= 0){
_local5.mc.visible = false;
} else {
_local5.vel.iaddv(constantVel);
_local5.vel.imult(constantVelMult);
if (rotType == "constant"){
_local5.rot = (_local5.rot + constantRot);
} else {
if (rotType == "vel"){
_local6 = Math.atan2(_local5.vel.y, _local5.vel.x);
_local7 = Vect.toDeg(_local6);
_local5.rot = _local7;
};
};
_local5.sca.iaddv(constantScale);
if (fadeType == "constant"){
_local5.mc.alpha = (_local5.mc.alpha + constantAlpha);
} else {
if (fadeType == "life"){
_local5.mc.alpha = (_local5.life / _local5.lifeMax);
};
};
_local5.update();
};
};
_local4++;
};
if (spawnRate > 0){
if (inst[_local2].bBlockSpawn){
} else {
inst[_local2].bDead = false;
_local8 = 0;
inst[_local2].spawnPhase++;
while ((((inst[_local2].spawnPhase >= (spawnRate * 2))) && ((_local8 < 100)))) {
spawn(_local2, -1);
inst[_local2].spawnPhase = (inst[_local2].spawnPhase - (spawnRate * 2));
_local8++;
};
};
};
};
_local2++;
};
}
public function destroy(){
var _local1:*;
_local1 = 0;
while (_local1 < inst.length) {
mc.removeChild(inst[_local1].mc);
inst[_local1] = null;
_local1++;
};
inst = new Array();
}
}
}//package
Section 260
//PEIndex (PEIndex)
package {
import flash.display.*;
public class PEIndex {
public var colTests:uint;
public var colTriggers:uint;
public var colDives:uint;
public var accrue:Number;
public var colHits:uint;
public var o:Array;
public var p:Array;
public var u:Array;
public var z:Array;
public var limit:Number;
public static var testline:PEPhysObj;
public static var su:Array;
public static var levelref:MovieClip;
public static var ids:uint;
public static var so:Array;
public static var sp:Array;
public function PEIndex(_arg1:MovieClip){
o = new Array();
p = new Array();
z = new Array();
u = new Array();
so = o;
sp = p;
su = u;
accrue = 0;
ids = 0;
levelref = _arg1;
testline = new PEPhysObj("col_line", Phase.LINE);
levelref.addChild(testline.mc);
testline.mc.visible = false;
}
public function remove(_arg1:uint){
var _local2:*;
for (_local2 in o) {
if (o[_local2].id == _arg1){
o.splice(_local2, 1);
break;
};
};
for (_local2 in p) {
if (p[_local2].id == _arg1){
p.splice(_local2, 1);
break;
};
};
}
public function checkCircleStand(_arg1:Vect, _arg2:PEChar, _arg3:PEObj){
_arg1.inorm();
_arg1.imult(-1);
if (_arg1.y > 0.6){
_arg2.land();
_arg2.binds.push(new PEBind(_arg2, _arg3));
return (true);
};
return (false);
}
function col_circlecircle(_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
_local3 = PECollision.circletocircle(_arg1, _arg2);
if (_local3.hit){
_local4 = _local3.norm.mult((_local3.range - _local3.dist));
if (_arg2.bStatic){
_arg1.physShiftv(_local4, _arg2);
if ((_arg1 is PEChar)){
if (checkCircleStand(_local3.norm.copy(), _arg1, _arg2)){
respond(_arg1, _arg2, _local3);
};
};
} else {
_local5 = (_arg1.mass + _arg2.mass);
if (_local5 == 0){
_local5 = 1;
};
_local6 = (_arg2.mass / _local5);
_arg1.physShiftv(_local4.mult(_local6), _arg2);
_arg2.physShiftv(_local4.mult((-1 + _local6)), _arg1);
_local7 = (_arg1.mass * _arg1.vel.mag());
_local8 = (_arg2.mass * _arg2.vel.mag());
_local9 = ((_local7 / _arg2.mass) * _local6);
_arg2.physAccelv(_local3.norm.mult(-(_local9)), _arg1);
_local10 = ((_local8 / _arg1.mass) * (1 - _local6));
_arg1.physAccelv(_local3.norm.mult(_local10), _arg2);
};
if (((((_arg1.triggerMask & _arg2.colType) > 0)) && (((_arg2.triggerMask & _arg1.colType) > 0)))){
respond(_arg1, _arg2, _local3);
};
};
}
public function menuGrab(_arg1:Vect){
var _local2:*;
var _local3:*;
_local2 = u.length;
_local3 = 0;
while (_local3 < _local2) {
if (!u[_local3].bDraggable){
} else {
if (u[_local3].clickThrough){
} else {
if (u[_local3].mc.grab.hitTestPoint(_arg1.x, _arg1.y, false)){
u[_local3].dragging = true;
};
};
};
_local3++;
};
}
function collide(_arg1:PEPhysObj, _arg2:PEPhysObj){
var _local3:*;
var _local4:*;
colDives++;
if (((((_arg1.colMask & _arg2.colType) > 0)) && (((_arg2.colMask & _arg1.colType) > 0)))){
if (!_arg2.bChecked){
if (_arg2.colShape != Phase.NONE){
colTests++;
if (!_arg1.mc.hitTestObject(_arg2.mc)){
return;
};
if (_arg1.colShape == Phase.CIRCLE){
if (_arg2.colShape == Phase.CIRCLE){
col_circlecircle(_arg1, _arg2);
colHits++;
} else {
if (_arg2.colShape == Phase.LINE){
col_circleline(_arg1, _arg2);
colHits++;
} else {
if (_arg2.colShape == Phase.CONTAINER){
trig_circlevol(_arg1, _arg2);
colTriggers++;
};
};
};
} else {
if (_arg1.colShape == Phase.LINE){
if (_arg2.colShape == Phase.LINE){
col_lineline(_arg1, _arg2);
colHits++;
};
};
};
};
};
} else {
if (((((_arg1.triggerMask & _arg2.colType) > 0)) && (((_arg2.triggerMask & _arg1.colType) > 0)))){
if (!_arg2.bChecked){
if (_arg2.colShape != Phase.NONE){
colTests++;
if (!_arg1.mc.hitTestObject(_arg2.mc)){
return;
};
if (_arg1.colShape == Phase.CIRCLE){
if (_arg2.colShape == Phase.CIRCLE){
trig_circlecircle(_arg1, _arg2);
colTriggers++;
} else {
if (_arg2.colShape == Phase.LINE){
trig_circleline(_arg1, _arg2);
colTriggers++;
} else {
if (_arg2.colShape == Phase.VOL){
trig_circlevol(_arg1, _arg2);
colTriggers++;
} else {
if (_arg2.colShape == Phase.CONTAINER){
trig_circlevol(_arg1, _arg2);
colTriggers++;
};
};
};
};
} else {
if (_arg1.colShape == Phase.LINE){
if (_arg2.colShape == Phase.CIRCLE){
trig_circleline(_arg2, _arg1);
colTriggers++;
} else {
if (_arg2.colShape == Phase.VOL){
trig_circlevol(_arg1, _arg2);
colTriggers++;
};
};
};
};
};
};
} else {
return;
};
};
for (_local3 in _arg2.children) {
_local4 = _arg2.children[_local3];
if (!_local4.bActive){
} else {
if (_arg1.id != _local4.id){
collide(_arg1, _local4);
};
};
};
}
function col_lineline(_arg1, _arg2){
var _local3:*;
_local3 = PECollision.linetoline(_arg1, _arg2);
if (_local3.hit){
if (!_arg2.bStatic){
} else {
_arg1.bHitSurface = true;
_arg1.hitSurfaceDir = _local3.point.copy();
_arg1.hitSurfaceObject = _arg2;
};
if (((((_arg1.triggerMask & _arg2.colType) > 0)) && (((_arg2.triggerMask & _arg1.colType) > 0)))){
respond(_arg1, _arg2, _local3);
};
};
}
public function update(_arg1:Number){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = 0;
accrue = (accrue + _arg1);
while (accrue >= limit) {
_local2++;
accrue = (accrue - limit);
};
if (_local2 > 4){
_local2 = 4;
};
PEDebug.log(((("Index: " + String(o.length)) + ":") + String(p.length)));
colDives = 0;
colTests = 0;
colTriggers = 0;
colHits = 0;
_local3 = 0;
while (_local3 < _local2) {
Phase.inp.update();
for (_local4 in o) {
o[_local4].update();
};
updateCollision();
_local3++;
};
if (colDives != 0){
PEDebug.log(((("Col: " + colDives) + ":") + colTests));
PEDebug.log(((("Col: " + colTriggers) + ":") + colHits));
};
}
public function showPhys(_arg1:PEObj, _arg2:Boolean){
var _local3:*;
for (_local3 in _arg1.children) {
showPhys(_arg1.children[_local3], _arg2);
};
if ((((((_arg1 is PEPhysObj)) && (!((PEPhysObj(_arg1).colShape == Phase.NONE))))) && (!((PEPhysObj(_arg1).colShape == Phase.CONTAINER))))){
_arg1.mc.visible = _arg2;
};
}
function colDive(_arg1:PEPhysObj){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_arg1.bChecked = true;
if ((_arg1 is PEChar)){
PEChar(_arg1).state = PEChar.FALL;
PEChar(_arg1).gravNorm.set(0, 1);
};
if ((((_arg1.colType > 0)) && ((_arg1.colShape > 0)))){
for (_local3 in p) {
_local4 = p[_local3];
if (!_local4.bActive){
} else {
if (_arg1.id != _local4.id){
collide(_arg1, _local4);
};
};
};
};
for (_local2 in _arg1.children) {
_local5 = _arg1.children[_local2];
if (_local5.bStatic){
} else {
if (!_local5.bActive){
} else {
if (_local5.paused){
} else {
colDive(_local5);
};
};
};
};
}
public function menuDrag(_arg1:Vect){
var _local2:*;
var _local3:*;
_local2 = u.length;
_local3 = 0;
while (_local3 < _local2) {
if (!u[_local3].dragging){
} else {
u[_local3].pos.iaddv(_arg1);
};
_local3++;
};
}
function trig_circleline(_arg1, _arg2){
var _local3:*;
_local3 = PECollision.circletoline(_arg1, _arg2);
if (_local3.hit){
if (((((_arg1.triggerMask & _arg2.colType) > 0)) && (((_arg2.triggerMask & _arg1.colType) > 0)))){
respond(_arg1, _arg2, _local3);
};
};
}
function trigCollide(_arg1:PEPhysObj, _arg2:PEPhysObj){
var _local3:*;
var _local4:*;
var _local5:*;
if ((_arg1.triggerMask & _arg2.colType) > 0){
if (_arg2.colShape != Phase.NONE){
if (!_arg1.mc.hitTestObject(_arg2.mc)){
return;
};
_local4 = new PEColResult();
_local4.a = _arg1;
_local4.b = _arg2;
respond(_arg1, _arg2, _local4);
};
} else {
return;
};
for (_local3 in _arg2.children) {
_local5 = _arg2.children[_local3];
if (!_local5.bActive){
} else {
trigCollide(_arg1, _local5);
};
};
}
public function respond(_arg1:PEPhysObj, _arg2:PEPhysObj, _arg3:PEColResult){
var t:*;
var tlen:*;
var i:*;
var a = _arg1;
var b = _arg2;
var cr = _arg3;
try {
if (a.respond != null){
t = cr.b.tells;
tlen = t.length;
i = 0;
while (i < tlen) {
a.respond(t[i], cr, cr.b);
i = (i + 1);
};
};
} catch(err:Error) {
trace(("respond error: " + err));
};
if (((!((b.respond == null))) && (!((cr.a == null))))){
t = cr.a.tells;
i = 0;
while (i < t.length) {
b.respond(t[i], cr, cr.a);
i = (i + 1);
};
};
}
function trig_circlecircle(_arg1, _arg2){
var _local3:*;
_local3 = PECollision.circletocircle(_arg1, _arg2);
if (_local3.hit){
if (((((_arg1.triggerMask & _arg2.colType) > 0)) && (((_arg2.triggerMask & _arg1.colType) > 0)))){
respond(_arg1, _arg2, _local3);
};
};
}
public function menuLetgo(){
var _local1:*;
var _local2:*;
_local1 = u.length;
_local2 = 0;
while (_local2 < _local1) {
u[_local2].dragging = false;
_local2++;
};
}
function updateCollision(){
var _local1:*;
var _local2:*;
for (_local1 in p) {
_local2 = p[_local1];
if (_local2.bStatic){
} else {
if (!_local2.bActive){
} else {
if (_local2.paused){
} else {
colDive(_local2);
};
};
};
};
}
function preventWallPass(_arg1:PEPhysObj){
}
public function checkStand(_arg1:Vect, _arg2:PEChar, _arg3:PEObj){
_arg1.inorm();
_arg1.imult(-1);
if (_arg1.y > 0.6){
_arg2.land();
_arg2.binds.push(new PEBind(_arg2, _arg3));
_arg2.gravNorm = _arg1;
return (true);
};
return (false);
}
function col_circleline(_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
_local3 = PECollision.circletoline(_arg1, _arg2);
if (_local3.hit){
_local4 = (_arg1.mass + _arg2.mass);
if (_local4 == 0){
_local4 = 1;
};
_local5 = (_arg2.mass / _local4);
if (_arg2.bStatic){
_local5 = 1;
};
_arg1.physShiftv(_local3.norm.mult((((_local3.range - _local3.dist) * _local5) + 0.01)), _arg2);
if (!_arg2.bStatic){
_arg2.physShiftv(_local3.norm.mult(-(((_local3.range - _local3.dist) * (1 - _local5)))), _arg2);
};
if ((_arg1 is PEChar)){
if (checkStand(_local3.norm.copy(), _arg1, _arg2)){
respond(_arg1, _arg2, _local3);
} else {
if (_arg1.state == PEChar.FALL){
checkWallslide(_local3.norm.copy(), _arg1, _arg2);
};
};
};
if (!_arg2.bStatic){
_local6 = (_arg1.mass * _arg1.vel.mag());
_local7 = (_arg2.mass * _arg2.vel.mag());
_local8 = (_local6 / _arg2.mass);
_arg2.vel.iaddv(_local3.norm.mult(-(_local8)));
_local9 = (_local7 / _arg1.mass);
_arg1.vel.iaddv(_local3.norm.mult(_local9));
} else {
_local10 = -(_arg1.vel.dot(_local3.norm));
_local10 = (_local10 * (1 + _arg1.bounce));
if (_local10 > 0.1){
_arg1.vel.iaddv(_local3.norm.mult(_local10));
};
_local11 = _local3.norm.copy();
_local11.irotate(90);
_local11.imult((_arg1.friction + _arg2.friction));
_arg1.vel.x = (_arg1.vel.x * (1 - Math.abs(_local11.x)));
_arg1.vel.y = (_arg1.vel.y * (1 - Math.abs(_local11.y)));
_arg1.bHitSurface = true;
_arg1.hitSurfaceDir = _local3.norm.copy();
_arg1.hitSurfaceObject = _arg2;
_arg1.impactSpeed = Math.abs(_local10);
};
if (((((_arg1.triggerMask & _arg2.colType) > 0)) && (((_arg2.triggerMask & _arg1.colType) > 0)))){
respond(_arg1, _arg2, _local3);
};
};
}
function trigDive(_arg1:PEPhysObj){
var _local2:*;
var _local3:*;
for (_local2 in p) {
_local3 = p[_local2];
if (!_local3.bActive){
} else {
trigCollide(_arg1, _local3);
};
};
}
function trig_circlevol(_arg1, _arg2){
var _local3:*;
_local3 = new PEColResult();
_local3.a = _arg1;
_local3.b = _arg2;
respond(_arg1, _arg2, _local3);
}
public function checkWallslide(_arg1:Vect, _arg2:PEChar, _arg3:PEObj){
if (!_arg2.bCanWallSlide){
return (false);
};
_arg1.inorm();
_arg1.imult(-1);
if (_arg1.x > 0.7){
if (_arg2.pstate == PEChar.FALL){
_arg2.actions.push("wslidel");
};
_arg2.state = PEChar.WSLIDE;
_arg2.wallSide = "l";
_arg2.wallImpact = _arg2.vel.x;
_arg2.wallAngle = (Vect.toDeg(Math.atan2(_arg1.y, _arg1.x)) - 90);
return (true);
} else {
if (_arg1.x < -0.7){
if (_arg2.pstate == PEChar.FALL){
_arg2.actions.push("wslider");
};
_arg2.state = PEChar.WSLIDE;
_arg2.wallSide = "r";
_arg2.wallImpact = _arg2.vel.x;
_arg2.wallAngle = (Vect.toDeg(Math.atan2(_arg1.y, _arg1.x)) + 90);
if (_arg2.wallAngle > 0){
_arg2.wallAngle = (_arg2.wallAngle - 360);
};
return (true);
};
};
return (false);
}
public static function lineTrace(_arg1:Vect, _arg2:Vect, _arg3:uint=1){
var _local4:PEColResult;
var _local5:PEColResult;
var _local6:*;
var _local7:*;
var _local8:*;
_local5 = new PEColResult();
_local5.hit = false;
_local5.endpoint = _arg2;
_local5.point = _arg2.copy();
_local6 = _arg2.subv(_arg1);
_local7 = (_local6.mag() / 100);
_local8 = Vect.toDeg(Math.atan2(_local6.y, _local6.x));
testline.setProps(_arg1.x, _arg1.y, _local7, 1, _local8);
testline.colType = Phase.ALL;
testline.colShape = Phase.LINE;
testline.colMask = (Phase.ALL | Phase.SURFACE);
testline.triggerMask = 0;
PEIndex.lineDive(testline, _local5);
return (_local5);
}
public static function lineDive(_arg1:PEPhysObj, _arg2:PEColResult){
var _local3:*;
var _local4:*;
for (_local3 in sp) {
_local4 = sp[_local3];
if (!(_local4 is PEPhysObj)){
} else {
if (!_local4.bActive){
} else {
PEIndex.lineCollide(_arg1, _local4, _arg2);
};
};
};
}
public static function lineCollide(_arg1:PEPhysObj, _arg2:PEPhysObj, _arg3:PEColResult){
var _local4:*;
var _local5:*;
var _local6:Number;
var _local7:*;
if (((((_arg1.colMask & _arg2.colType) > 0)) && (((_arg2.colMask & _arg1.colType) > 0)))){
if (_arg2.colShape != Phase.NONE){
if ((((_arg2.colShape == Phase.CONTAINER)) || (_arg1.mc.hitTestObject(_arg2.mc)))){
if (_arg2.colShape == Phase.LINE){
_local5 = PECollision.linetolinev(_arg1.pos, _arg3.endpoint, _arg2);
if (_local5.hit){
_local6 = _arg1.pos.distance(_local5.point);
if (_local6 < _arg1.pos.distance(_arg3.point)){
_arg3.point = _local5.point.copy();
_arg3.hit = true;
_arg3.dist = _local6;
};
};
};
} else {
return;
};
};
} else {
return (_arg3);
};
for (_local4 in _arg2.children) {
_local7 = _arg2.children[_local4];
if (!(_local7 is PEPhysObj)){
} else {
if (!_local7.bActive){
} else {
lineCollide(_arg1, _local7, _arg3);
};
};
};
}
public static function addPhysObj(_arg1:PEPhysObj){
so.push(_arg1);
sp.push(_arg1);
}
public static function addUIObj(_arg1:PEUIObj){
so.push(_arg1);
su.push(_arg1);
}
public static function addObj(_arg1:PEObj){
so.push(_arg1);
}
public static function createID():uint{
ids++;
return (ids);
}
}
}//package
Section 261
//PEInput (PEInput)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class PEInput {
var heldtime:Array;
var traceInput:Boolean;
var updates;
var mouseDelta:Vect;
var lpress:Array;
var dpress:Array;
var mousePos:Vect;
var keys:Array;
var allowDuals:Boolean;
var mouseWheel;
var keyup:Array;
public function PEInput(_arg1:Stage){
var gameTimer:*;
var empty:Function;
var stg = _arg1;
super();
empty = function (_arg1:Event){
};
stg.addEventListener(KeyboardEvent.KEY_DOWN, pressKey);
stg.addEventListener(KeyboardEvent.KEY_UP, releaseKey);
stg.addEventListener(Event.DEACTIVATE, reset);
stg.addEventListener(MouseEvent.MOUSE_MOVE, mouseTrack);
stg.addEventListener(MouseEvent.MOUSE_DOWN, pressMouse);
stg.addEventListener(MouseEvent.MOUSE_UP, releaseMouse);
stg.addEventListener(MouseEvent.MOUSE_WHEEL, trackWheel);
gameTimer = new Timer(33, 1);
stg.addEventListener(TimerEvent.TIMER, empty);
keys = new Array(0x0100);
heldtime = new Array(0x0100);
keyup = new Array(0x0100);
reset(undefined);
traceInput = false;
allowDuals = true;
mouseDelta = new Vect(0, 0);
mousePos = new Vect(0, 0);
mouseWheel = 0;
updates = 0;
}
public function update(){
var _local1:uint;
_local1 = 0;
while (_local1 < 0x0100) {
if (keys[_local1]){
var _local2 = heldtime;
var _local3 = _local1;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
if (keyup[_local1]){
keys[_local1] = false;
heldtime[_local1] = 0;
};
} else {
if (keyup[_local1]){
keyup[_local1] = false;
};
};
_local1++;
};
}
public function trackWheel(_arg1:MouseEvent){
if (traceInput){
trace(("Mouse Wheel: " + _arg1.delta));
};
mouseWheel = _arg1.delta;
}
public function reset(_arg1:Event){
var _local2:uint;
_local2 = 0;
while (_local2 < 0x0100) {
keys[_local2] = false;
keyup[_local2] = false;
heldtime[_local2] = 0;
_local2++;
};
}
public function releaseKey(_arg1:KeyboardEvent){
keyup[_arg1.keyCode] = true;
}
public function pressMouse(_arg1:MouseEvent){
if (traceInput){
trace("Left mouse clicked");
};
keys[1] = true;
}
public function pressKey(_arg1:KeyboardEvent){
if (traceInput){
trace(((_arg1.keyCode + " code pressed: ") + keyString(_arg1.keyCode)));
};
keys[_arg1.keyCode] = true;
}
public function releaseMouse(_arg1:MouseEvent){
keyup[1] = true;
}
public function down(_arg1:uint):Boolean{
if (keys[_arg1]){
return (true);
};
return (false);
}
public function tap(_arg1:uint):Boolean{
if (((keys[_arg1]) && ((heldtime[_arg1] == 1)))){
return (true);
};
return (false);
}
public function mouseTrack(_arg1:MouseEvent){
mouseDelta.set(((mouseDelta.x + _arg1.stageX) - mousePos.x), ((mouseDelta.y + _arg1.stageY) - mousePos.y));
mousePos.set(_arg1.stageX, _arg1.stageY);
}
public function keyString(_arg1:Number){
if ((((_arg1 >= 48)) && ((_arg1 <= 57)))){
return (String.fromCharCode(_arg1));
};
if ((((_arg1 >= 65)) && ((_arg1 <= 90)))){
return (String.fromCharCode(_arg1));
};
if ((((_arg1 >= 96)) && ((_arg1 <= 105)))){
return (("NUMPAD " + String((_arg1 - 96))));
};
if ((((_arg1 >= 112)) && ((_arg1 <= 123)))){
return (("F" + String((_arg1 - 111))));
};
switch (_arg1){
case 1:
return ("LEFT CLICK");
case 2:
return ("RIGHT CLICK");
case 4:
return ("MIDDLE CLICK");
case 5:
return ("MOUSE 4");
case 6:
return ("MOUSE 5");
case 8:
return ("BACKSPACE");
case 9:
return ("TAB");
case 13:
return ("ENTER");
case 16:
return ("SHIFT (BOTH)");
case 17:
return ("CTRL (BOTH)");
case 18:
return ("ALT (BOTH)");
case 19:
return ("PAUSE");
case 20:
return ("CAPS LOCK");
case 27:
return ("ESCAPE");
case 32:
return ("SPACEBAR");
case 33:
return ("PAGE UP");
case 34:
return ("PAGE DOWN");
case 35:
return ("END");
case 36:
return ("HOME");
case 37:
return ("LEFT");
case 38:
return ("UP");
case 39:
return ("RIGHT");
case 40:
return ("DOWN");
case 44:
return ("PRINT SCREEN");
case 45:
return ("INSERT");
case 46:
return ("DELETE");
case 91:
return ("WINDOWS (LEFT)");
case 92:
return ("WINDOWS (RIGHT)");
case 106:
return ("NUMPAD *");
case 107:
return ("NUMPAD +");
case 109:
return ("NUMPAD -");
case 110:
return ("NUMPAD .");
case 111:
return ("NUMPAD /");
case 144:
return ("NUM LOCK");
case 145:
return ("SCROLL LOCK");
case 160:
return ("LEFT SHIFT");
case 161:
return ("RIGHT SHIFT");
case 162:
return ("LEFT CTRL");
case 163:
return ("RIGHT CTRL");
case 164:
return ("LEFT ALT");
case 165:
return ("RIGHT ALT");
case 186:
return (";");
case 187:
return ("=");
case 188:
return (",");
case 189:
return ("-");
case 190:
return (".");
case 191:
return ("/");
case 192:
return ("~");
case 219:
return ("[");
case 220:
return ("\\");
case 221:
return ("]");
case 222:
return ("'");
};
return ("UNKNOWN");
}
public function held(_arg1:uint):uint{
return (heldtime[_arg1]);
}
public function released(_arg1:uint):Boolean{
if (keyup[_arg1]){
return (true);
};
return (false);
}
}
}//package
Section 262
//PEMover (PEMover)
package {
import flash.display.*;
public class PEMover extends PEPhysObj {
public function PEMover(_arg1:MovieClip, _arg2:uint=0){
super(_arg1, _arg2);
}
override public function update(){
var _local1:*;
if (paused){
return;
};
ppos = pos.copy();
bChecked = false;
pos.set(mc.x, mc.y);
rot = mc.rotation;
sca.set(mc.scaleX, mc.scaleY);
vel.set((pos.x - ppos.x), (pos.y - ppos.y));
updateImages();
calcAbsolute();
for (_local1 in children) {
children[_local1].update();
};
}
}
}//package
Section 263
//PEObj (PEObj)
package {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class PEObj {
public var bClear:Boolean;
public var animRate:Number;// = 1
public var mc:MovieClip;
public var sca:Vect;
public var id:uint;
public var vel:Vect;
public var parent:PEObj;
public var paused:Boolean;
public var img:Array;
public var imgOffset:Vect;
public var animAccrue:Number;// = 0
public var pos:Vect;
public var binds:Array;
public var rot:Number;
public var clipName:String;// = ""
public var children:Array;
public function PEObj(_arg1){
var _local2:Class;
clipName = "";
animRate = 1;
animAccrue = 0;
super();
if ((_arg1 is String)){
clipName = _arg1;
if (_arg1 == ""){
mc = new MovieClip();
} else {
_local2 = (getDefinitionByName(_arg1) as Class);
mc = new (_local2);
};
pos = new Vect(0, 0);
vel = new Vect(0, 0);
sca = new Vect(1, 1);
rot = 0;
} else {
if ((_arg1 is MovieClip)){
mc = _arg1;
pos = new Vect(mc.x, mc.y);
vel = new Vect(0, 0);
sca = new Vect(mc.scaleX, mc.scaleY);
rot = mc.rotation;
};
};
imgOffset = new Vect(0, 0);
binds = new Array();
img = new Array();
id = PEIndex.createID();
bClear = true;
children = new Array();
paused = false;
}
public function unpause(_arg1:Boolean=false){
var _local2:*;
paused = false;
if (_arg1){
for (_local2 in children) {
children[_local2].unpause(true);
};
};
}
public function setScale(_arg1, _arg2){
sca.set(_arg1, _arg2);
updateProperties();
}
public function traceDown(_arg1:String){
var _local2:*;
trace(((_arg1 + "Child: ") + this));
for (_local2 in children) {
children[_local2].traceDown((_arg1 + "--"));
};
}
public function setPos(_arg1, _arg2){
pos.set(_arg1, _arg2);
updateProperties();
}
public function setRot(_arg1){
rot = _arg1;
updateProperties();
}
public function unload(){
}
public function updateImages(){
var _local1:*;
for (_local1 in img) {
if (img[_local1] == null){
} else {
img[_local1].x = (mc.x + imgOffset.x);
img[_local1].y = (mc.y + imgOffset.y);
animAccrue = (animAccrue + animRate);
if (animAccrue >= 1){
animAccrue = (animAccrue - 1);
if (img[_local1].currentLabel != "ns"){
img[_local1].nextFrame();
};
};
};
};
}
public function setPosv(_arg1:Vect){
setPos(_arg1.x, _arg1.y);
}
public function setProps(_arg1, _arg2, _arg3, _arg4, _arg5){
pos.set(_arg1, _arg2);
sca.set(_arg3, _arg4);
rot = _arg5;
updateProperties();
}
public function attachImage(_arg1:String){
var _local2:Class;
if (_arg1 == ""){
img.push(new MovieClip());
} else {
_local2 = (getDefinitionByName(_arg1) as Class);
img.push(new (_local2));
};
img[(img.length - 1)].stop();
return (img[(img.length - 1)]);
}
public function shiftPosv(_arg1:Vect){
shiftPos(_arg1.x, _arg1.y);
}
public function update(){
var _local1:*;
var _local2:*;
var _local3:*;
if (paused){
return;
};
pos.iaddv(vel);
for (_local1 in binds) {
_local3 = binds[_local1];
if (binds[_local1].bDirect){
if ((_local3.b.parent is PEMover)){
pos.iaddv(_local3.b.parent.vel);
} else {
pos.iaddv(_local3.b.vel);
};
};
if (binds[_local1].bTemp){
binds.splice(_local1, 1);
};
};
updateProperties();
updateImages();
for (_local2 in children) {
children[_local2].update();
};
}
public function rotate(_arg1){
rot = (rot + _arg1);
updateProperties();
}
public function traceChildren(){
var _local1:String;
var _local2:*;
_local1 = "";
trace(((_local1 + "Obj: ") + this));
for (_local2 in children) {
children[_local2].traceDown((_local1 + "--"));
};
}
public function accel(_arg1, _arg2){
vel.iadd(_arg1, _arg2);
}
function updateProperties(){
mc.x = pos.x;
mc.y = pos.y;
mc.scaleX = sca.x;
mc.scaleY = sca.y;
mc.rotation = rot;
calcAbsolute();
}
public function calcAbsolute(){
}
public function colourImage(_arg1, _arg2, _arg3, _arg4:Number=1, _arg5:int=-1){
var _local6:ColorTransform;
var _local7:Number;
var _local8:Number;
if (_arg5 == -1){
_local6 = mc.transform.colorTransform;
_local7 = (1 - _arg4);
_local8 = (_arg4 / 1);
_local6.redMultiplier = (_local6.greenMultiplier = (_local6.blueMultiplier = _local7));
_local6.redOffset = (_arg1 * _local8);
_local6.greenOffset = (_arg2 * _local8);
_local6.blueOffset = (_arg3 * _local8);
mc.transform.colorTransform = _local6;
} else {
_local6 = img[_arg5].transform.colorTransform;
_local7 = (1 - _arg4);
_local8 = (_arg4 / 1);
_local6.redMultiplier = (_local6.greenMultiplier = (_local6.blueMultiplier = _local7));
_local6.redOffset = (_arg1 * _local8);
_local6.greenOffset = (_arg2 * _local8);
_local6.blueOffset = (_arg3 * _local8);
img[_arg5].transform.colorTransform = _local6;
};
}
public function shiftPos(_arg1, _arg2){
pos.iadd(_arg1, _arg2);
updateProperties();
}
public function pause(_arg1:Boolean=false){
var _local2:*;
paused = true;
if (_arg1){
for (_local2 in children) {
children[_local2].pause(true);
};
};
}
public function removeChild(_arg1:uint){
var _local2:*;
for (_local2 in children) {
if (children[_local2].id == _arg1){
children.splice(_local2, 1);
return;
};
};
}
}
}//package
Section 264
//PEParticle (PEParticle)
package {
public class PEParticle extends PEPhysObj {
var clip:String;
var lifeMax:uint;
var life:uint;
public function PEParticle(_arg1:String){
super(_arg1);
lifeMax = 0;
life = 0;
bActive = (bStatic = true);
bGrav = false;
bAttached = false;
mass = 50;
airResist = 1;
bounce = 1;
friction = 0;
absorb = 0;
ppos = pos.copy();
contain = new Array();
tells = new Array();
calcAbsolute();
}
}
}//package
Section 265
//PEPhysObj (PEPhysObj)
package {
import flash.display.*;
public class PEPhysObj extends PEObj {
public var colShape:uint;
public var limitAccelVal:Number;// = 25
public var frameShift:Vect;
public var bActive:Boolean;// = true
public var bAttached:Boolean;// = false
public var absorb:Number;// = 0
public var gravity:Number;// = 0.24
public var apos:Vect;
public var bStatic:Boolean;// = false
public var overAccel:Vect;
public var hitSurfaceObject:PEPhysObj;
public var bounce:Number;// = 1
public var colMask:uint;
public var hitSurfaceDir:Vect;
public var respond:Function;
public var bHitSurface:Boolean;
public var impactSpeed:Number;// = 0
public var appos:Vect;
public var triggerMask:uint;
public var airResist:Number;// = 1
public var colType:uint;
public var contain:Array;
public var redirect:Object;
public var bGrav:Boolean;// = false
public var ppos:Vect;
public var bChecked:Boolean;// = false
public var tells:Array;
public var limitAccel:Boolean;// = false
public var friction:Number;// = 0.02
public var mass:Number;// = 1
public function PEPhysObj(_arg1, _arg2:uint=0){
bActive = true;
bStatic = false;
bGrav = false;
bAttached = false;
bChecked = false;
mass = 1;
airResist = 1;
bounce = 1;
friction = 0.02;
absorb = 0;
gravity = 0.24;
impactSpeed = 0;
frameShift = new Vect(0, 0);
overAccel = new Vect(0, 0);
limitAccel = false;
limitAccelVal = 25;
super(_arg1);
if ((_arg1 is MovieClip)){
bAttached = true;
};
colShape = _arg2;
colType = Phase.SURFACE;
colMask = ((((((((Phase.ALL | Phase.SURFACE) | Phase.PLAYER) | Phase.ENEMY) | Phase.NPC) | Phase.PROJECTILE) | Phase.EPROJECTILE) | Phase.PICKUP) | Phase.BLOCKER);
triggerMask = (colMask | Phase.TRIGGER);
ppos = pos.copy();
contain = new Array();
tells = new Array();
bHitSurface = false;
}
public function lock(){
bStatic = true;
bGrav = false;
}
override public function setProps(_arg1, _arg2, _arg3, _arg4, _arg5){
ppos.set(_arg1, _arg2);
super.setProps(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function physAccelv(_arg1:Vect, _arg2:PEPhysObj){
accel(_arg1.x, _arg1.y);
}
public function makeContainer(){
colShape = Phase.CONTAINER;
bStatic = true;
}
public function setState(_arg1:Boolean, _arg2:Boolean, _arg3:Boolean){
bActive = _arg1;
bStatic = _arg2;
bGrav = _arg3;
}
override public function setPos(_arg1, _arg2){
ppos.set(_arg1, _arg2);
super.setPos(_arg1, _arg2);
}
override public function updateImages(){
super.updateImages();
}
override public function update(){
var _local1:*;
var _local2:*;
var _local3:*;
if (paused){
return;
};
if (bActive){
if (bGrav){
vel.y = (vel.y + (gravity * airResist));
gravity = 0.24;
};
};
ppos = pos.copy();
bChecked = false;
if (bAttached){
pos.set(mc.x, mc.y);
rot = mc.rotation;
sca.set(mc.scaleX, mc.scaleY);
updateImages();
calcAbsolute();
for (_local1 in children) {
children[_local1].update();
};
} else {
if (limitAccel){
vel.iaddv(overAccel);
overAccel.zero();
_local2 = (sca.x * limitAccelVal);
_local3 = (sca.y * limitAccelVal);
if (vel.x > _local2){
overAccel.x = (vel.x - _local2);
vel.x = _local2;
} else {
if (vel.x < -(_local2)){
overAccel.x = (vel.x + _local2);
vel.x = -(_local2);
};
};
if (vel.y > _local3){
overAccel.y = (vel.y - _local3);
vel.y = _local3;
} else {
if (vel.y < -(_local3)){
overAccel.y = (vel.y + _local3);
vel.y = -(_local3);
};
};
};
frameShift.zero();
super.update();
};
}
public function setAttrib(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number){
mass = _arg1;
airResist = _arg2;
bounce = _arg3;
friction = _arg4;
absorb = _arg5;
}
public function physShiftv(_arg1:Vect, _arg2:PEPhysObj){
shiftPos(_arg1.x, _arg1.y);
}
override public function calcAbsolute(){
var _local1:*;
apos = pos.copy();
appos = ppos.copy();
_local1 = 0;
while (_local1 < contain.length) {
apos.irotate(contain[_local1].rot);
appos.irotate(contain[_local1].rot);
apos.iadd(contain[_local1].pos.x, contain[_local1].pos.y);
appos.iadd(contain[_local1].pos.x, contain[_local1].pos.y);
_local1++;
};
}
}
}//package
Section 266
//PEPhysVol (PEPhysVol)
package {
public class PEPhysVol extends PEPhysObj {
public function PEPhysVol(_arg1){
super(_arg1, Phase.VOL);
bStatic = true;
}
}
}//package
Section 267
//PESound (PESound)
package {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class PESound {
var done:Boolean;// = false
var chan:SoundChannel;// = null
var sound:Sound;// = null
var prevLoops:uint;// = 0
var prevVol:uint;// = 0
var infLoop:Boolean;// = false
var tran:SoundTransform;// = null
var pausePos:Number;// = 0
public function PESound(_arg1:String){
var _local2:Class;
sound = null;
chan = null;
tran = null;
done = false;
pausePos = 0;
prevVol = 0;
prevLoops = 0;
infLoop = false;
super();
_local2 = (getDefinitionByName(_arg1) as Class);
sound = new (_local2);
}
public function stop(){
chan.stop();
}
public function isDone(_arg1:Event){
if (infLoop){
tran = new SoundTransform(prevVol, 0);
chan = sound.play(0, 1, tran);
chan.addEventListener(Event.SOUND_COMPLETE, isDone);
} else {
this.done = true;
};
}
public function setVol(_arg1:Number){
if (chan){
tran = chan.soundTransform;
tran.volume = _arg1;
chan.soundTransform = tran;
};
prevVol = _arg1;
}
public function setPan(_arg1:Number){
if (chan){
tran = chan.soundTransform;
tran.pan = _arg1;
chan.soundTransform = tran;
};
}
public function play(_arg1:Number=1, _arg2:uint=1, _arg3:Number=0){
if (infLoop){
_arg2 = 1;
};
if (chan){
chan.removeEventListener(Event.SOUND_COMPLETE, isDone);
};
tran = new SoundTransform(_arg1, 0);
chan = sound.play(_arg3, _arg2, tran);
done = false;
if (chan){
chan.addEventListener(Event.SOUND_COMPLETE, isDone);
};
prevVol = _arg1;
prevLoops = _arg2;
}
public function pause(){
if (!done){
if (chan){
pausePos = chan.position;
chan.stop();
};
};
}
public function unpause(){
if (!done){
play(prevVol, prevLoops, pausePos);
};
}
public function unload(){
if (chan){
chan.stop();
sound = null;
chan = null;
tran = null;
trace("sound unloaded");
};
}
}
}//package
Section 268
//PESoundClip (PESoundClip)
package {
import flash.display.*;
public class PESoundClip extends MovieClip {
}
}//package
Section 269
//PESoundObj (PESoundObj)
package {
public class PESoundObj extends PEObj {
var positional:Boolean;// = true
var dropoff:Number;// = 100
var fadeTarget:Number;// = 0
var fadeSpeed:Number;// = 0
var pauseState:String;// = "fade"
var panRate:Number;// = 100
var playState:String;// = "off"
var vol:Number;// = 1
var fadePhase:Number;// = 0
var snd:PESound;// = null
var bMusic:Boolean;// = false
public function PESoundObj(_arg1:String){
snd = null;
bMusic = false;
playState = "off";
positional = true;
dropoff = 100;
panRate = 100;
vol = 1;
fadeSpeed = 0;
fadePhase = 0;
fadeTarget = 0;
pauseState = "fade";
super("");
snd = new PESound(_arg1);
}
public function adjust(_arg1:Number, _arg2:Number=9999, _arg3:Number=0){
vol = _arg1;
dropoff = _arg2;
panRate = _arg3;
}
public function play(_arg1:uint=1){
if ((((playState == "off")) || (snd.done))){
playState = "on";
snd.play(vol, _arg1);
update();
};
}
override public function update(){
var _local1:Vect;
var _local2:Number;
var _local3:Number;
var _local4:Number;
if (playState != "off"){
if (playState == "fade"){
fadePhase = (fadePhase + fadeSpeed);
if (fadePhase < -(vol)){
pause();
fadePhase = -(vol);
return;
};
if (fadePhase >= 0){
playState = "on";
fadePhase = 0;
} else {
if ((((fadeSpeed > 0)) && (((vol + fadePhase) >= fadeTarget)))){
playState = "on";
} else {
if ((((fadeSpeed < 0)) && (((vol + fadePhase) <= fadeTarget)))){
playState = "on";
};
};
};
};
if (positional){
_local1 = PESoundScape.focus;
_local2 = _local1.distance(pos);
_local3 = (vol - ((vol * _local2) / dropoff));
_local3 = (_local3 + fadePhase);
if (_local3 < 0){
_local3 = 0;
} else {
if (_local3 > vol){
_local3 = vol;
};
};
if (bMusic){
_local3 = (_local3 * PESoundScape.musicvol);
} else {
_local3 = (_local3 * PESoundScape.effectvol);
};
snd.setVol(_local3);
_local2 = (pos.x - _local1.x);
_local4 = ((_local2 * Math.abs((_local2 / panRate))) / 100);
if (_local4 < -1){
_local4 = -1;
} else {
if (_local4 > 1){
_local4 = 1;
};
};
snd.setPan(_local4);
} else {
if (bMusic){
snd.setVol(((vol + fadePhase) * PESoundScape.musicvol));
} else {
snd.setVol(((vol + fadePhase) * PESoundScape.effectvol));
};
snd.setPan(0);
};
};
}
public function makeMusic(){
positional = false;
bMusic = true;
snd.infLoop = true;
}
override public function pause(_arg1:Boolean=false){
super.pause(_arg1);
if (playState != "off"){
snd.pause();
pauseState = playState;
playState = "off";
};
}
public function finished(){
playState = "off";
}
public function fade(_arg1:Number, _arg2:Number){
fadeTarget = _arg1;
fadeSpeed = _arg2;
if (playState == "on"){
playState = "fade";
};
if ((((playState == "off")) && ((_arg2 > 0)))){
this.unpause();
};
}
override public function unpause(_arg1:Boolean=false){
super.unpause(_arg1);
if (playState == "off"){
snd.unpause();
playState = pauseState;
};
}
override public function unload(){
if (snd != null){
snd.unload();
snd = null;
};
}
}
}//package
Section 270
//PESoundScape (PESoundScape)
package {
public class PESoundScape {
var clips:Array;
public static var effectvol:Number;
public static var focus:Vect;
public static var musicvol:Number;
public function PESoundScape(){
clips = new Array();
PESoundScape.focus = new Vect(0, 0);
PESoundScape.effectvol = 1;
PESoundScape.musicvol = 1;
}
public function playSound(_arg1:String, _arg2:Number=1, _arg3:uint=1, _arg4:Number=0){
var _local5:*;
_local5 = 0;
while (_local5 < clips.length) {
if (!clips[_local5].done){
} else {
clips[_local5] = null;
clips[_local5] = new PESound(_arg1);
clips[_local5].play((_arg2 * effectvol), _arg3);
clips[_local5].setPan(_arg4);
return;
};
_local5++;
};
clips.push(new PESound(_arg1));
clips[(clips.length - 1)].play((_arg2 * effectvol), _arg3);
}
public function playPosSound(_arg1:String, _arg2:Vect, _arg3:Number=1, _arg4:uint=1){
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
_local5 = focus.distance(_arg2);
_local6 = (_arg3 - ((_arg3 * _local5) / 1000));
if (_local6 < 0){
_local6 = 0;
} else {
if (_local6 > _arg3){
_local6 = _arg3;
};
};
_local6 = (_local6 * effectvol);
_local5 = (_arg2.x - focus.x);
_local7 = ((_local5 * Math.abs((_local5 / 1000))) / 100);
if (_local7 < -1){
_local7 = -1;
} else {
if (_local7 > 1){
_local7 = 1;
};
};
_local8 = 0;
while (_local8 < clips.length) {
if (!clips[_local8].done){
} else {
clips[_local8] = null;
clips[_local8] = new PESound(_arg1);
clips[_local8].play(_local6, _arg4);
clips[_local8].setPan(_local7);
return;
};
_local8++;
};
clips.push(new PESound(_arg1));
clips[(clips.length - 1)].play(_local6, _arg4);
clips[(clips.length - 1)].setPan(_local7);
}
public static function focusOn(_arg1:Vect){
focus = _arg1.copy();
}
}
}//package
Section 271
//PETime (PETime)
package {
import flash.utils.*;
public class PETime {
public var frames:Number;
public var fps:Number;
public var frameDelta:Number;
public var startTime:Number;
public var frameTime:Number;
public function PETime(){
frameDelta = 33;
frameTime = 0;
frames = 0;
startTime = 0;
fps = 0;
}
public function init(){
startTime = getTimer();
frameTime = 0;
}
public function update(){
var _local1:*;
frames++;
_local1 = getTimer();
frameDelta = (_local1 - startTime);
frameTime = (frameTime + frameDelta);
startTime = _local1;
if (frameTime >= 1000){
fps = frames;
frameTime = (frameTime - 1000);
frames = 0;
};
PEDebug.log(String(("FPS: " + fps)));
return (fps);
}
}
}//package
Section 272
//PEUIObj (PEUIObj)
package {
public class PEUIObj extends PEObj {
public var clickThrough:Boolean;
public var bDraggable:Boolean;
public var canvas:Vect;
public var bDragOff:Boolean;
public var dragging:Boolean;
public function PEUIObj(_arg1){
super(_arg1);
bDraggable = false;
bDragOff = true;
dragging = false;
clickThrough = false;
canvas = new Vect(Phase.stage.stageWidth, Phase.stage.stageHeight);
bClear = false;
}
override public function update(){
if (!bDragOff){
if (pos.x < 0){
pos.x = 0;
} else {
if (pos.x > (canvas.x - mc.width)){
pos.x = (canvas.x - mc.width);
};
};
if (pos.y < 0){
pos.y = 0;
} else {
if (pos.y > (canvas.y - mc.height)){
pos.y = (canvas.y - mc.height);
};
};
};
super.update();
}
public function dock(_arg1:String){
if (_arg1 == "center"){
pos.x = ((canvas.x - mc.width) / 2);
pos.y = ((canvas.y - mc.height) / 2);
} else {
if (_arg1 == "left"){
pos.x = 0;
} else {
if (_arg1 == "right"){
pos.x = (canvas.x - mc.width);
} else {
if (_arg1 == "top"){
pos.y = 0;
} else {
if (_arg1 == "bottom"){
pos.y = (canvas.y - mc.height);
};
};
};
};
};
}
}
}//package
Section 273
//PEUIScrollList (PEUIScrollList)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class PEUIScrollList extends PEUIObj {
var rectangle:Rectangle;// = null
var list:Array;
var hitItem:int;// = -1
var interval:Number;// = 0
var scrollDelay:uint;// = 0
var scrolling:String;// = ""
public function PEUIScrollList(_arg1:Array){
var _local2:MovieClip;
var _local3:*;
list = new Array();
scrolling = "";
scrollDelay = 0;
rectangle = null;
interval = 0;
hitItem = -1;
super("scrollbox");
mc.handle.addEventListener(MouseEvent.MOUSE_DOWN, dragIt);
mc.handle.buttonMode = (mc.handle.useHandCursor = true);
mc.bup.addEventListener(MouseEvent.MOUSE_DOWN, bScrollUp);
mc.bdown.addEventListener(MouseEvent.MOUSE_DOWN, bScrollDown);
_local2 = null;
for (_local3 in _arg1) {
if (_arg1[_local3] == ""){
_local2 = new scrollbox_item_blank();
} else {
_local2 = new scrollbox_item();
_local2.txt.text = _arg1[_local3];
_local2.hit.addEventListener(MouseEvent.CLICK, checkHit);
};
_local2.x = 30;
_local2.y = (25 + (_local3 * 20));
list.push(_local2);
mc.addChild(_local2);
if (_local3 >= 10){
_local2.visible = false;
};
};
interval = (200 / (list.length - 9));
if (interval <= 1){
mc.handle.visible = false;
};
mc.handle.scaleY = (interval / 10);
rectangle = new Rectangle(5, 20, 0, (200 - interval));
}
function bScrollDown(_arg1:Event){
scrolling = "down";
scrollDelay = 0;
}
function scrollDown(){
mc.handle.y = (mc.handle.y + interval);
scrollDelay = 10;
if (mc.handle.y > (rectangle.y + rectangle.height)){
mc.handle.y = (rectangle.y + rectangle.height);
};
}
function scrollUp(){
mc.handle.y = (mc.handle.y - interval);
scrollDelay = 10;
if (mc.handle.y < rectangle.y){
mc.handle.y = rectangle.y;
};
}
override public function update(){
var _local1:int;
var _local2:*;
var _local3:*;
if (list.length == 0){
return;
};
if (dragging){
if (Phase.keyReleased(1)){
mc.handle.stopDrag();
dragging = false;
};
} else {
_local3 = 0;
while (_local3 < 200) {
if (Math.abs((mc.handle.y - _local3)) < (interval / 2)){
mc.handle.y = _local3;
break;
};
_local3 = (_local3 + interval);
};
};
_local1 = int((mc.handle.y / interval));
for (_local2 in list) {
list[_local2].y = ((40 + (_local2 * 20)) - (_local1 * 20));
if ((((list[_local2].y < 20)) || ((list[_local2].y > 200)))){
list[_local2].visible = false;
} else {
list[_local2].visible = true;
};
};
if (scrolling != ""){
if (scrolling == "up"){
if (scrollDelay == 0){
scrollUp();
} else {
scrollDelay--;
};
} else {
if (scrolling == "down"){
if (scrollDelay == 0){
scrollDown();
} else {
scrollDelay--;
};
};
};
if (Phase.keyReleased(1)){
scrolling = "";
};
};
super.update();
}
function bScrollUp(_arg1:Event){
scrolling = "up";
scrollDelay = 0;
}
function dragIt(_arg1:Event){
mc.handle.startDrag(false, rectangle);
dragging = true;
}
function checkHit(_arg1:Event){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = Phase.getMousePos();
for (_local3 in list) {
_local4 = list[_local3];
if (!_local4.visible){
} else {
if (_local4.hitTestPoint(_local2.x, _local2.y)){
hitItem = _local3;
};
};
};
}
}
}//package
Section 274
//Phase (Phase)
package {
import flash.display.*;
import flash.utils.*;
public class Phase {
public static const ALL:uint = 1;
public static const PICKUP:uint = 0x0100;
public static const PROJECTILE:uint = 64;
public static const SURFACE:uint = 2;
public static const TRIGGER:uint = 4;
public static const VOL:uint = 3;
public static const NONE:uint = 0;
public static const NPC:uint = 32;
public static const PTRIGGER:uint = 0x0400;
public static const CIRCLE:uint = 1;
public static const CONTAINER:uint = 4;
public static const EPROJECTILE:uint = 128;
public static const ENEMY:uint = 16;
public static const BLOCKER:uint = 0x0200;
public static const LINE:uint = 2;
public static const PLAYER:uint = 8;
public static var level:MovieClip;
public static var cpos:Vect;
public static var ui:MovieClip;
public static var planes:Array;
public static var tim:PETime;
public static var czoom:Number;
public static var coff:Vect;
public static var debug:MovieClip;
public static var shakeMult:Number;
public static var sounds:MovieClip;
public static var ind:PEIndex;
public static var frustum;
public static var root;
public static var inp:PEInput;
public static var frameRate:uint;
public static var snd:PESoundScape;
public static var controlFocus:Boolean = true;
public static var stage;
public function Phase(_arg1:Stage){
stage = _arg1;
root = _arg1.getChildAt(0);
level = new MovieClip();
ui = new MovieClip();
debug = new debug_overlay();
sounds = new MovieClip();
root.addChild(level);
root.addChild(ui);
root.addChild(debug);
root.addChild(sounds);
root.mouseEnabled = true;
root.mouseChildren = true;
ui.mouseEnabled = true;
ui.mouseChildren = true;
debug.mouseEnabled = false;
debug.log.mouseEnabled = false;
sounds.mouseEnabled = false;
planes = new Array();
ind = new PEIndex(level);
tim = new PETime();
inp = new PEInput(_arg1);
snd = new PESoundScape();
PEDebug.target = debug;
frameRate = 40;
ind.limit = (1000 / frameRate);
cpos = new Vect((stage.stageWidth / 2), (stage.stageHeight / 2));
coff = new Vect(0, 0);
czoom = 1;
shakeMult = 0;
}
public static function boostUIObj(_arg1:PEObj){
ui.setChildIndex(_arg1.mc, (ui.numChildren - 1));
}
public static function playPosSound(_arg1:String, _arg2:Vect, _arg3:Number=1, _arg4:uint=1){
snd.playPosSound(_arg1, _arg2, _arg3, _arg4);
}
public static function attachObj(_arg1:uint, _arg2:PEObj, _arg3:Boolean=false){
var _local4:*;
if (!_arg3){
planes[_arg1].addChild(_arg2.mc);
};
_local4 = 0;
while (_local4 < _arg2.img.length) {
planes[_arg1].addChild(_arg2.img[_local4]);
_local4++;
};
}
public static function inView(_arg1:MovieClip):Boolean{
return (true);
}
public static function setupPlanes(_arg1:uint){
var _local2:*;
_local2 = 0;
while (_local2 < _arg1) {
planes.push(new MovieClip());
level.addChild(planes[(planes.length - 1)]);
_local2++;
};
}
public static function attachUIObj(_arg1:PEObj){
ui.addChild(_arg1.mc);
}
public static function keyDown(_arg1:uint){
return (inp.down(_arg1));
}
public static function loopStart():void{
if (controlFocus){
stage.focus = null;
};
PEDebug.clear();
tim.update();
PESoundScape.focusOn(Phase.cpos);
}
public static function parent(_arg1:PEObj, _arg2:PEObj){
_arg2.children.push(_arg1);
_arg1.parent = _arg2;
}
public static function parentFirst(_arg1:PEObj, _arg2:PEObj){
_arg2.children.splice(0, 0, _arg1);
_arg1.parent = _arg2;
}
public static function loopEnd():void{
var _local1:*;
_local1 = getTimer();
ind.update(tim.frameDelta);
inp.mouseDelta.set(0, 0);
inp.mouseWheel = 0;
}
public static function keyReleased(_arg1:uint){
return (inp.released(_arg1));
}
public static function rand(_arg1:Number, _arg2:Number, _arg3:Boolean=false){
var _local4:*;
_local4 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
if (_arg3){
_local4 = Math.floor(_local4);
};
return (_local4);
}
public static function trigger(_arg1:PEPhysObj){
ind.trigDive(_arg1);
}
public static function keyHeld(_arg1:uint){
return (inp.held(_arg1));
}
public static function showPhys(_arg1:Boolean){
var _local2:*;
for (_local2 in ind.p) {
ind.showPhys(ind.p[_local2], _arg1);
};
}
public static function playSound(_arg1:String, _arg2:Number=1, _arg3:uint=1, _arg4:Number=0){
snd.playSound(_arg1, _arg2, _arg3, _arg4);
}
public static function getMouseWheel(){
return (inp.mouseWheel);
}
public static function cam(_arg1:Vect, _arg2:Number){
var _local3:*;
cpos = _arg1.copy();
czoom = _arg2;
level.scaleX = (level.scaleY = czoom);
level.x = ((stage.stageWidth * 0.5) - ((cpos.x + coff.x) * czoom));
level.y = ((stage.stageHeight * 0.5) - ((cpos.y + coff.y) * czoom));
_local3 = (1 / czoom);
planes[0].x = (-(level.x) * _local3);
planes[0].y = (-(level.y) * _local3);
planes[0].scaleX = (planes[0].scaleY = _local3);
planes[1].x = -(((level.x * _local3) * (0.85 * czoom)));
planes[1].y = -(((level.y * _local3) * (0.85 * czoom)));
if (!coff.equals(0, 0)){
coff.x = (coff.x * shakeMult);
coff.y = (coff.y * shakeMult);
if (rand(0, 2, true) == 0){
coff.x = (coff.x * -1);
};
if (rand(0, 2, true) == 0){
coff.y = (coff.y * -1);
};
if (Math.abs(coff.x) < 1){
coff.zero();
shakeMult = 0;
};
};
}
public static function destroyChild(_arg1:PEObj){
var i:*;
var j:*;
var ob = _arg1;
for (i in ob.children) {
destroyChild(ob.children[i]);
};
ob.children = new Array();
try {
if (ob.mc != null){
if (ob.mc.parent){
ob.mc.parent.removeChild(ob.mc);
};
ob.mc = null;
for (j in ob.img) {
ob.img[j].parent.removeChild(ob.img[j]);
};
};
} catch(err:Error) {
trace(("destroyChild catch: " + err));
};
ob.unload();
ob = null;
}
public static function getMousePos():Vect{
return (inp.mousePos);
}
public static function index(_arg1:PEObj, _arg2:Boolean=false){
if (_arg2){
PEIndex.addPhysObj(PEPhysObj(_arg1));
} else {
PEIndex.addObj(_arg1);
};
}
public static function getMouseWorldPos():Vect{
var _local1:Vect;
_local1 = inp.mousePos.copy();
_local1.isub((stage.stageWidth / 2), (stage.stageHeight / 2));
_local1.imult((1 / Phase.czoom));
_local1.iaddv(cpos);
return (_local1);
}
public static function camShake(_arg1:Number, _arg2:Number){
coff.set((_arg1 / 2), (_arg1 / 2));
shakeMult = _arg2;
}
public static function destroy(_arg1:PEObj, _arg2:Boolean=true){
destroyChild(_arg1);
if (_arg2){
if (_arg1.parent){
_arg1.parent.removeChild(_arg1.id);
} else {
ind.remove(_arg1.id);
};
};
}
public static function keyTap(_arg1:uint){
return (inp.tap(_arg1));
}
}
}//package
Section 275
//scene1 (scene1)
package {
import flash.display.*;
public dynamic class scene1 extends MovieClip {
public var sci1:MovieClip;
public var sci2:MovieClip;
}
}//package
Section 276
//sci1 (sci1)
package {
import flash.display.*;
public dynamic class sci1 extends MovieClip {
}
}//package
Section 277
//mp3 (sci1.mp3)
package sci1 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package sci1
Section 278
//sci2 (sci2)
package {
import flash.display.*;
public dynamic class sci2 extends MovieClip {
}
}//package
Section 279
//mp3 (sci2.mp3)
package sci2 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package sci2
Section 280
//scrollbox (scrollbox)
package {
import flash.display.*;
public dynamic class scrollbox extends MovieClip {
public var bdown:SimpleButton;
public var handle:MovieClip;
public var bup:SimpleButton;
}
}//package
Section 281
//scrollbox_item (scrollbox_item)
package {
import flash.display.*;
import flash.text.*;
public dynamic class scrollbox_item extends MovieClip {
public var txt:TextField;
public var hit:SimpleButton;
public var mark:MovieClip;
}
}//package
Section 282
//scrollbox_item_blank (scrollbox_item_blank)
package {
import flash.display.*;
public dynamic class scrollbox_item_blank extends MovieClip {
}
}//package
Section 283
//sfxBell (sfxBell)
package {
import flash.media.*;
public dynamic class sfxBell extends Sound {
}
}//package
Section 284
//smoke_droid (smoke_droid)
package {
import flash.display.*;
public dynamic class smoke_droid extends MovieClip {
}
}//package
Section 285
//smoke_num2 (smoke_num2)
package {
import flash.display.*;
public dynamic class smoke_num2 extends MovieClip {
}
}//package
Section 286
//spark (spark)
package {
import flash.display.*;
public dynamic class spark extends MovieClip {
}
}//package
Section 287
//spider (spider)
package {
import flash.display.*;
public dynamic class spider extends MovieClip {
public var light:col_vol;
public function spider(){
addFrameScript(20, frame21, 49, frame50, 64, frame65);
}
function frame65(){
gotoAndPlay("dead");
}
function frame21(){
gotoAndPlay("walk_left");
}
function frame50(){
gotoAndPlay("walk_right");
}
}
}//package
Section 288
//steam (steam)
package {
import flash.display.*;
public dynamic class steam extends MovieClip {
}
}//package
Section 289
//sunray (sunray)
package {
import flash.display.*;
public dynamic class sunray extends MovieClip {
}
}//package
Section 290
//Vect (Vect)
package {
public class Vect {
public var y:Number;
public var x:Number;
public function Vect(_arg1:Number=0, _arg2:Number=0){
this.x = _arg1;
this.y = _arg2;
}
public function addv(_arg1:Vect){
return (new Vect((this.x + _arg1.x), (this.y + _arg1.y)));
}
public function multv(_arg1:Vect){
return (new Vect((this.x * _arg1.x), (this.y * _arg1.y)));
}
public function output(){
trace((((("Vect(" + x) + ", ") + y) + ")"));
}
public function dot(_arg1:Vect){
return (((this.x * _arg1.x) + (this.y * _arg1.y)));
}
public function scale(_arg1:Number, _arg2:Number){
return (new Vect((x * _arg1), (y * _arg2)));
}
public function irotate(_arg1:Number){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
if (_arg1 == 0){
return;
};
_local2 = norm();
_local3 = Math.cos(((_arg1 * Math.PI) / 180));
_local4 = Math.sin(((_arg1 * Math.PI) / 180));
_local5 = mag();
this.x = (((_local2.x * _local3) - (_local2.y * _local4)) * _local5);
this.y = (((_local2.x * _local4) + (_local2.y * _local3)) * _local5);
}
public function copy(){
return (new Vect(this.x, this.y));
}
public function iscale(_arg1:Number, _arg2:Number){
x = (x * _arg1);
y = (y * _arg2);
}
public function cap(_arg1:Number){
if ((_arg1 * _arg1) < rawmag()){
inorm();
imult(_arg1);
};
}
public function mag(){
return (Math.sqrt(((x * x) + (y * y))));
}
public function setv(_arg1:Vect){
this.x = _arg1.x;
this.y = _arg1.y;
}
public function iscalev(_arg1:Vect){
x = (x * _arg1.x);
y = (y * _arg1.y);
}
public function equalsv(_arg1:Vect){
if (this.x != _arg1.x){
return (false);
};
if (this.y != _arg1.y){
return (false);
};
return (true);
}
public function iadd(_arg1:Number, _arg2:Number){
this.x = (this.x + _arg1);
this.y = (this.y + _arg2);
}
public function imult(_arg1:Number){
this.x = (this.x * _arg1);
this.y = (this.y * _arg1);
}
public function rotate(_arg1:Number){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
if (_arg1 == 0){
return;
};
_local2 = norm();
_local3 = Math.cos(((_arg1 * Math.PI) / 180));
_local4 = Math.sin(((_arg1 * Math.PI) / 180));
_local5 = mag();
return (new Vect((((_local2.x * _local3) - (_local2.y * _local4)) * _local5), (((_local2.x * _local4) + (_local2.y * _local3)) * _local5)));
}
public function iaddv(_arg1:Vect){
this.x = (this.x + _arg1.x);
this.y = (this.y + _arg1.y);
}
public function isubv(_arg1:Vect){
x = (x - _arg1.x);
y = (y - _arg1.y);
}
public function add(_arg1:Number, _arg2:Number){
return (new Vect((this.x + _arg1), (this.y + _arg2)));
}
public function set(_arg1:Number, _arg2:Number){
this.x = _arg1;
this.y = _arg2;
}
public function inorm(){
var _local1:*;
_local1 = mag();
if ((((_local1 == 0)) || ((_local1 == undefined)))){
x = 0;
y = 0;
return;
};
this.x = (this.x / _local1);
this.y = (this.y / _local1);
}
public function zero(){
x = (y = 0);
}
public function rawmag(){
return (((x * x) + (y * y)));
}
public function scalev(_arg1:Vect){
return (new Vect((x * _arg1.x), (y * _arg1.y)));
}
public function sub(_arg1:Number, _arg2:Number){
return (new Vect((this.x - _arg1), (this.y - _arg2)));
}
public function abs(){
if (this.x < 0){
this.x = (this.x * -1);
};
if (this.y < 0){
this.y = (this.y * -1);
};
}
public function distance(_arg1:Vect){
return (this.subv(_arg1).mag());
}
public function subv(_arg1:Vect){
return (new Vect((this.x - _arg1.x), (this.y - _arg1.y)));
}
public function mult(_arg1:Number){
return (new Vect((this.x * _arg1), (this.y * _arg1)));
}
public function toString(){
return ((((("Vect(" + (Math.round((x * 100)) / 100)) + ", ") + (Math.round((y * 100)) / 100)) + ")"));
}
public function norm(){
var _local1:*;
_local1 = mag();
if ((((_local1 == 0)) || ((_local1 == undefined)))){
return (new Vect(0, 0));
};
return (new Vect((x / _local1), (y / _local1)));
}
public function imultv(_arg1:Vect){
this.x = (this.x * _arg1.x);
this.y = (this.y * _arg1.y);
}
public function isub(_arg1:Number, _arg2:Number){
this.x = (this.x - _arg1);
this.y = (this.y - _arg2);
}
public function equals(_arg1:Number, _arg2:Number){
if (this.x != _arg1){
return (false);
};
if (this.y != _arg2){
return (false);
};
return (true);
}
public static function toRad(_arg1:Number){
return (((_arg1 * Math.PI) / 180));
}
public static function toDeg(_arg1:Number){
return (((_arg1 * 180) / Math.PI));
}
}
}//package