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

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

Super Fight Fight.swf

This is the info page for
Flash #25187

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


Text
(C) 2008 DIFFUSION GAMES - www.diffusiongames.com

<p align="center"><font face="BadaBoom BB" size="44" color="#ffffff" letterSpacing="1.000000" kerning="0">PLAY GAME</font></p>

HIGH SCORES

CREDITS

MORE STICK FIGURE MADNESS!

<p align="center"><font face="BadaBoom BB" size="24" color="#ffffff" letterSpacing="1.000000" kerning="1">SOUND : ON</font></p>

CREDITS

Code, ART, design, audio

TESTING / FEEDBACK

"SUPER FIGHT FIGHT" IS BROUGHT TO YOU in partnership with AKR INDUSTRIES, a wholly owned subsidiary
of whoop-ass brand international, FOUNDING member of Chop Chop WORLDWIDE.
ALL RIGHTS RESERVED, EXCEPT THOSE WHICH CANCELLED THEIR RESERVATION. UNAUTHORIZED
USE IS PUNISHABLE UNDER APPLICABLE MARTIAL LAW, OR JUDE LAW. YOUR MILEAGE MAY VARY.

Andrew sega

SIMON TRAVIS
ARVEE GARDE

A DIFFUSION GAMES 2008 PRODUCTION!

SPONSORED BY ARMOR GAMES

WWW.ARMORGAMES.COM

<p align="left"></p>

<p align="left"></p>

<p align="left"></p>

<p align="right"><font face="SmackAttack BB" size="27" color="#ffffff" letterSpacing="0.000000" kerning="1">Score</font></p>

<p align="right"></p>

<p align="right"></p>

<p align="left"></p>

<p align="right"></p>

<p align="right"></p>

<p align="left"><font face="SmackAttack BB" size="32" color="#ffffff" letterSpacing="0.000000" kerning="1"><b> </b></font></p>

chi

USE            TO MOVE,      to CROUCH
"SPACE" TO JUMP, "P" to PAUSE

Press "S" to PUNCH,
"D" to KICK,
"A" to BLOCK

POWER UP YOUR BLUE CHI BAR,
THEN PRESS all 3 BUTTONS
AT ONCE, FOR SUPER MOVE!

HIGH SCORES

<p align="center"></p>

<p align="center"></p>

GAME OVER!

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"><font face="BadaBoom BB" size="22" color="#efefef" letterSpacing="0.000000" kerning="1"><a href="http://www.armorgames.com" target = "_blank">CLICK TO play more games at armorgames.com!</a></font></p>

<p align="center"></p>

<p align="center"></p>

YOU WIN!

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

VICTORY HAS BEEN ACHIEVED! YOU HAVE THE SOUL
OF A TRUE STICK FIGHTING WARRIOR!

<p align="center"></p>

<p align="center"></p>

<p align="center"><font face="BadaBoom BB" size="21" color="#e2e2e2" letterSpacing="0.000000" kerning="1">HINT: &nbsp;ZEN STUDENTS SHOULD WASTE TIME CONSCIENTIOUSLY</font></p>

<p align="center"><font face="BadaBoom BB" size="21" color="#e2e2e2" letterSpacing="0.000000" kerning="1">HINT: &nbsp;CHI MOVES CAN HIT MULTIPLE ENEMIES</font></p>

<p align="center"><font face="BadaBoom BB" size="21" color="#e2e2e2" letterSpacing="0.000000" kerning="1">HINT: &nbsp;SOMETIMES, It&apos;s better to let them strike first</font></p>

<p align="center"><font face="BadaBoom BB" size="21" color="#e2e2e2" letterSpacing="0.000000" kerning="1">HINT: Be not afraid of going slowly, be afraid only of standing still</font></p>

<p align="center"><font face="BadaBoom BB" size="21" color="#e2e2e2" letterSpacing="0.000000" kerning="1">HINT: &nbsp;BOSSES ARE VULNERABLE TO CHI ATTACKS</font></p>

<p align="center"><font face="BadaBoom BB" size="21" color="#e2e2e2" letterSpacing="0.000000" kerning="1">HINT: &nbsp;DON&apos;T FORGET TO DUCK!</font></p>

<p align="center"><font face="BadaBoom BB" size="21" color="#e2e2e2" letterSpacing="0.000000" kerning="1">HINT: &nbsp;SAVE CHI ATTACKS FOR WHEN THEY ARE MOST NEEDED</font></p>

<p align="center"><font face="BadaBoom BB" size="21" color="#e2e2e2" letterSpacing="0.000000" kerning="1">HINT: &nbsp;SWITCH OFTEN BETWEEN HIGH AND LOW ATTACKS </font></p>

HINT:           +   K  =   JUMP KICK

<p align="center"><font face="BadaBoom BB" size="21" color="#e2e2e2" letterSpacing="0.000000" kerning="1">HINT: BLOCKING IS IMPORTANT! (ESPECIALLY AGAINST BOSSES)</font></p>

High score!

please enter your name, warrior

<p align="center"></p>

GAME PAUSED

<p align="center"><font face="BadaBoom BB" size="24" color="#efefef" letterSpacing="0.000000" kerning="1"><a href="http://www.armorgames.com" target = "_blank">CLICK TO play more games </a></font></p><p align="center"><font face="BadaBoom BB" size="24" color="#efefef" letterSpacing="0.000000" kerning="1"><a href="http://www.armorgames.com" target = "_blank">at armorgames.com!</a></font></p>

sponsored by

<p align="center"><font face="SmackAttack BB" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>sponsored by</b></font></p>

created by

<p align="left"></p>

ActionScript [AS3]

Section 1
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent) package com.kongregate.as3.client.events { import flash.events.*; public class KongregateEvent extends Event { public static const COMPLETE:String = "component_api_available"; public function KongregateEvent(_arg1:String){ super(_arg1); } } }//package com.kongregate.as3.client.events
Section 2
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService) package com.kongregate.as3.client.services { import flash.events.*; public class AbstractShadowService extends EventDispatcher { protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{ trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4)); } } }//package com.kongregate.as3.client.services
Section 3
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow) package com.kongregate.as3.client.services { public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices { private var mode:String; public function HighScoreServiceShadow(){ mode = ""; } public function submit(_arg1:Number, _arg2:String=null):void{ alert("IHighScoreServices", "submit", arguments); } public function connect():Boolean{ alert("IKongregateServices", "connect"); return (true); } public function requestList(_arg1:Function):void{ alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]")); _arg1({success:false}); } public function setMode(_arg1:String):void{ alert("IHighScoreServices", "setMode", arguments); this.mode = _arg1; } } }//package com.kongregate.as3.client.services
Section 4
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices) package com.kongregate.as3.client.services { public interface IHighScoreServices { function setMode(_arg1:String):void; function submit(_arg1:Number, _arg2:String=null):void; function requestList(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 5
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices) package com.kongregate.as3.client.services { import flash.events.*; public interface IKongregateServices extends IEventDispatcher { function getPlayerInfo(_arg1:Function):void; function connect(_arg1:Number=-1):Boolean; } }//package com.kongregate.as3.client.services
Section 6
//IStatServices (com.kongregate.as3.client.services.IStatServices) package com.kongregate.as3.client.services { public interface IStatServices { function submitArray(_arg1:Array):void; function submit(_arg1:String, _arg2:Number):void; } }//package com.kongregate.as3.client.services
Section 7
//IUserServices (com.kongregate.as3.client.services.IUserServices) package com.kongregate.as3.client.services { public interface IUserServices { function getName():String; function getPlayerInfo(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 8
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow) package com.kongregate.as3.client.services { public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices { public function getName():String{ alert("IKongregateServices", "getName"); return ("Guest"); } public function connect(_arg1:Number=-1):Boolean{ alert("IKongregateServices", "connect", arguments); return (true); } public function getPlayerInfo(_arg1:Function):void{ alert("IKongregateServices", "getPlayerInfo"); _arg1(new Object()); } } }//package com.kongregate.as3.client.services
Section 9
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow) package com.kongregate.as3.client.services { public class StatServiceShadow extends AbstractShadowService implements IStatServices { public function submitArray(_arg1:Array):void{ alert("IStatServices", "submitArray", arguments); } public function submit(_arg1:String, _arg2:Number):void{ alert("IStatServices", "submitStat", arguments); } } }//package com.kongregate.as3.client.services
Section 10
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow) package com.kongregate.as3.client.services { public class UserServiceShadow extends AbstractShadowService implements IUserServices { public function getName():String{ alert("UserService", "getName"); return ("Guest"); } public function getPlayerInfo(_arg1:Function):void{ alert("UserService", "getPlayerInfo"); _arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""}); } } }//package com.kongregate.as3.client.services
Section 11
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap) package com.kongregate.as3.client { import flash.events.*; import flash.display.*; public interface IAPIBootstrap { function init(_arg1:Event=null, _arg2:Stage=null):void; function hideLog():void; function showLog(_arg1:int=0):void; } }//package com.kongregate.as3.client
Section 12
//KongregateAPI (com.kongregate.as3.client.KongregateAPI) package com.kongregate.as3.client { import flash.events.*; import flash.display.*; import com.kongregate.as3.client.services.*; import flash.net.*; import com.kongregate.as3.client.events.*; import flash.system.*; import flash.errors.*; import flash.utils.*; public class KongregateAPI extends Sprite { private const VERSION:Number = 1; private var loader:Loader; private var loadedDomain:ApplicationDomain; private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices"; private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices"; private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices"; private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices"; private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf"; private static var _connected:Boolean; private static var kUser:IUserServices; private static var _loaded:Boolean; private static var kServices:IKongregateServices; private static var kScores:IHighScoreServices; private static var mInstance:KongregateAPI; private static var kStats:IStatServices; private static var kAPI:IAPIBootstrap; public function KongregateAPI(){ if (mInstance != null){ throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access.")); }; mInstance = this; this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true); } public function get loaded():Boolean{ return (_loaded); } public function get connected():Boolean{ return (_connected); } private function alertConnected(_arg1:TimerEvent=null):void{ var _local2:KongregateEvent; var _local3:Boolean; _local2 = new KongregateEvent(KongregateEvent.COMPLETE); _local3 = this.dispatchEvent(_local2); } private function init(_arg1:Event):void{ var _local2:Object; var _local3:String; var _local4:URLRequest; var _local5:LoaderContext; this.removeEventListener(Event.ADDED_TO_STAGE, init); _loaded = false; _connected = false; _local2 = LoaderInfo(root.loaderInfo).parameters; _local3 = _local2.api_path; if (_local3 == null){ trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded."); createShadowServices(); return; }; Security.allowDomain("*.kongregate.com"); Security.allowDomain("kongregatetrunk.com"); _local4 = new URLRequest(_local3); _local5 = new LoaderContext(false); _local5.applicationDomain = ApplicationDomain.currentDomain; _local5.securityDomain = SecurityDomain.currentDomain; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); loader.load(_local4, _local5); } public function get api():IAPIBootstrap{ return (kAPI); } private function loadComplete(_arg1:Event):void{ getServices(); } public function get scores():IHighScoreServices{ return (kScores); } private function ioErrorHandler(_arg1:IOErrorEvent):void{ throw (new IOError(("API file not found. " + _arg1))); } public function get services():IKongregateServices{ return (kServices); } public function get stats():IStatServices{ return (kStats); } private function createShadowServices():void{ var _local1:Timer; trace(">>> Kongregate Shadow Services instantiated for local development.."); kServices = new KongregateServiceShadow(); kScores = new HighScoreServiceShadow(); kStats = new StatServiceShadow(); kUser = new UserServiceShadow(); _local1 = new Timer(200, 1); _local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected); _local1.start(); _connected = true; } public function get user():IUserServices{ return (kUser); } private function getServices():void{ var _local1:ApplicationDomain; var _local2:*; var _local3:*; var _local4:*; var _local5:*; _local1 = ApplicationDomain.currentDomain; kAPI = IAPIBootstrap(loader.getChildAt(0)); this.addChild(loader); _local2 = _local1.getDefinition(CLASS_SERVICES); trace(_local2); kServices = _local2.getInstance(); _local3 = _local1.getDefinition(CLASS_SCORES); kScores = _local3.getInstance(); _local4 = _local1.getDefinition(CLASS_STATS); kStats = _local4.getInstance(); _local5 = _local1.getDefinition(CLASS_USER); kUser = _local5.getInstance(); kServices.connect(VERSION); _loaded = true; _connected = true; alertConnected(); } public static function getInstance():KongregateAPI{ if (!mInstance){ throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it.")); }; return (mInstance); } } }//package com.kongregate.as3.client
Section 13
//List (fl.controls.List) package fl.controls { import flash.display.*; public dynamic class List extends MovieClip { } }//package fl.controls
Section 14
//TextInput (fl.controls.TextInput) package fl.controls { import flash.display.*; public dynamic class TextInput extends MovieClip { } }//package fl.controls
Section 15
//armor_preload_1 (sff_fla.armor_preload_1) package sff_fla { import flash.display.*; public dynamic class armor_preload_1 extends MovieClip { public function armor_preload_1(){ addFrameScript(125, frame126); } function frame126(){ } } }//package sff_fla
Section 16
//AUDIOPRELOAD_8 (sff_fla.AUDIOPRELOAD_8) package sff_fla { import flash.display.*; public dynamic class AUDIOPRELOAD_8 extends MovieClip { public function AUDIOPRELOAD_8(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package sff_fla
Section 17
//btn_audio_129 (sff_fla.btn_audio_129) package sff_fla { import flash.display.*; import flash.text.*; public dynamic class btn_audio_129 extends MovieClip { public var sound_text:TextField; } }//package sff_fla
Section 18
//diffusion_intro_5 (sff_fla.diffusion_intro_5) package sff_fla { import flash.display.*; public dynamic class diffusion_intro_5 extends MovieClip { public var pm:PointManager; public function diffusion_intro_5(){ addFrameScript(0, frame1, 0xFF, frame256, 356, frame357); } function frame1(){ pm = new PointManager(this); } function frame357(){ pm = null; stop(); } function frame256(){ pm.fadeout(); } } }//package sff_fla
Section 19
//IntUtil (utils.IntUtil) package utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local3:String; var _local4:int; var _local5:int; _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int; _local3 = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package utils
Section 20
//MD5 (utils.MD5) package utils { public class MD5 { private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function createBlocks(_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; _local2 = new Array(); _local3 = (_arg1.length * 8); _local4 = 0xFF; _local5 = 0; while (_local5 < _local3) { _local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32))); _local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3; return (_local2); } private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function f(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private static function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private static function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private static function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int; _local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hash(_arg1:String):String{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Array; var _local11:int; var _local12:int; _local2 = 1732584193; _local3 = -271733879; _local4 = -1732584194; _local5 = 271733878; _local10 = createBlocks(_arg1); _local11 = _local10.length; _local12 = 0; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } } }//package utils
Section 21
//AIMoveEntry (AIMoveEntry) package { public class AIMoveEntry { var head_damage_probability:Number; var hold_time:int; var torso_damage_probability:Number; var hold_move:Boolean; var id:int; var normal_probability:Number; public function AIMoveEntry(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean, _arg6:int=20){ id = _arg1; normal_probability = _arg2; head_damage_probability = _arg3; torso_damage_probability = _arg4; hold_move = _arg5; hold_time = _arg6; } } }//package
Section 22
//Application (Application) package { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; import flash.ui.*; import flash.utils.*; public class Application extends MovieClip { public var game_over:Boolean; var layer_objects:Sprite; var layer_characters:Sprite; var frame_counter:int; var time_offset:int; var hs_screen:HighScoreScreen; public var load_complete:Boolean; var title_movie:TitleMovie; public var keystate:ApplicationKeystate; public var display_debug:Boolean; var selected_option:int; var gameflow_state:int; var last_player_score:int; var layer_interface:Sprite; public var current_time:Number; public var audio:SoundManager; public var score_api:WebScoreAPI; public var game:Game; public static const AS_CREDITS:int = 4; public static const AS_SCORE_CHECK:int = 5; public static const AS_TITLE_SCREEN:int = 1; public static const AS_HIGH_SCORES:int = 3; public static const AS_PLAYING_GAME:int = 2; public static const AS_INTRO_MOVIE:int = 0; public static var APPLICATION:Application; public function Application(){ trace("APPLICATION : loaded"); Security.allowDomain("*"); Security.allowInsecureDomain("*"); stop(); } public function loading_complete(){ load_complete = true; } public function get_button(_arg1:Number, _arg2:Number):int{ var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; _local3 = (250 - 20); _local4 = (250 + 45); _local5 = (250 + 90); _local6 = (250 + 140); _local7 = (250 + 175); if ((((((((_arg1 > 200)) && ((_arg1 < 600)))) && ((_arg2 >= _local3)))) && ((_arg2 < _local4)))){ return (0); }; if ((((((((_arg1 > 200)) && ((_arg1 < 600)))) && ((_arg2 >= _local4)))) && ((_arg2 < _local5)))){ return (1); }; if ((((((((_arg1 > 200)) && ((_arg1 < 600)))) && ((_arg2 >= _local5)))) && ((_arg2 < _local6)))){ return (2); }; if ((((((((_arg1 > 200)) && ((_arg1 < 600)))) && ((_arg2 >= _local6)))) && ((_arg2 < _local7)))){ return (3); }; if ((((((_arg1 > 200)) && ((_arg1 < 600)))) && ((_arg2 >= _local7)))){ return (4); }; if (_arg2 < 300){ return (0); }; return (4); } public function update_mouse_highlight(){ selected_option = get_button(this.mouseX, this.mouseY); if (title_movie.btn_play_game == null){ return; }; title_movie.btn_play_game.stop(); title_movie.btn_high_scores.stop(); title_movie.btn_audio.stop(); title_movie.btn_credits.stop(); title_movie.btn_more_stick.stop(); title_movie.btn_play_game.alpha = 0.6; title_movie.btn_high_scores.alpha = 0.6; title_movie.btn_credits.alpha = 0.6; title_movie.btn_audio.alpha = 0.6; title_movie.btn_more_stick.alpha = 0.6; if (selected_option == 0){ title_movie.btn_play_game.alpha = 1; } else { if (selected_option == 2){ title_movie.btn_high_scores.alpha = 1; } else { if (selected_option == 3){ title_movie.btn_audio.alpha = 1; } else { if (selected_option == 1){ title_movie.btn_more_stick.alpha = 1; } else { if (selected_option == 4){ title_movie.btn_credits.alpha = 1; }; }; }; }; }; } public function signal_game_over():void{ game_over = true; last_player_score = game.score_manager.current_score; } public function keyup_listener(_arg1:KeyboardEvent):void{ keystate.keyup_listener(_arg1); } public function enter_state(_arg1:int){ trace("APPLICATION: switching to global state ", _arg1); if ((((gameflow_state == AS_TITLE_SCREEN)) && ((_arg1 == AS_PLAYING_GAME)))){ removeEventListener(MouseEvent.CLICK, mouse_click_handler); removeChild(title_movie); title_movie = null; audio.music_stop(); } else { if (gameflow_state == AS_HIGH_SCORES){ hs_screen.shutdown(); removeChild(hs_screen); hs_screen = null; }; }; gameflow_state = _arg1; if ((((((gameflow_state == AS_INTRO_MOVIE)) || ((gameflow_state == AS_TITLE_SCREEN)))) || ((gameflow_state == AS_HIGH_SCORES)))){ if (!title_movie){ title_movie = new TitleMovie(); addChild(title_movie); title_movie.x = 350; title_movie.y = 250; addEventListener(MouseEvent.CLICK, mouse_click_handler); }; if (gameflow_state == AS_TITLE_SCREEN){ title_movie.gotoAndPlay("start_loop"); } else { if (gameflow_state == AS_HIGH_SCORES){ title_movie.gotoAndPlay("high_scores"); hs_screen = new HighScoreScreen(); addChild(hs_screen); hs_screen.initialize(); }; }; } else { if (gameflow_state == AS_PLAYING_GAME){ create_game(); } else { if (gameflow_state == AS_HIGH_SCORES){ title_movie.gotoAndStop("high_scores"); } else { if (gameflow_state == AS_CREDITS){ title_movie.gotoAndStop("credits"); }; }; }; }; } public function load_progress(_arg1:ProgressEvent):void{ var _local2:Number; _local2 = Math.round(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100)); trace("load pct: ", _local2); } public function create_game(){ trace("APPLICATION: create_game() called"); game = new Game(); addChild(game); game.initialize(); game_over = false; } public function initialize(){ trace("APPLICATION: initialize()"); APPLICATION = this; display_debug = false; load_complete = true; selected_option = -1; gameflow_state = -1; game_over = false; keystate = null; time_offset = -1; frame_counter = 0; last_player_score = -1; trace("APPLICATION : starting game"); addEventListener(Event.ENTER_FRAME, update); audio = new SoundManager(); score_api = new WebScoreAPI(); stage.scaleMode = StageScaleMode.NO_SCALE; layer_objects = new Sprite(); addChild(layer_objects); layer_characters = new Sprite(); addChild(layer_characters); layer_interface = new Sprite(); addChild(layer_interface); keystate = new ApplicationKeystate(); stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown_listener); stage.addEventListener(KeyboardEvent.KEY_UP, keyup_listener); stage.showDefaultContextMenu = false; loading_complete(); enter_state(AS_INTRO_MOVIE); } public function keydown_listener(_arg1:KeyboardEvent):void{ var _local2:MouseEvent; var _local3:int; keystate.keydown_listener(_arg1); if (gameflow_state != AS_PLAYING_GAME){ if (_arg1.keyCode == Keyboard.ENTER){ _local2 = new MouseEvent(MouseEvent.CLICK); mouse_click_handler(_local2); }; }; if (gameflow_state == AS_PLAYING_GAME){ if (_arg1.keyCode == 68){ if (_arg1.ctrlKey == true){ }; }; if (display_debug){ if (game.gameflow_state == Game.GF_PLAYING){ if ((((_arg1.keyCode >= 48)) && ((_arg1.keyCode <= 57)))){ _local3 = ((_arg1.keyCode - 48) + 1); game.desired_level = _local3; game.switch_gameflow_state(Game.GF_FADING_OUT); }; }; }; }; } public function update(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:int; var _local5:int; if (load_complete != true){ return; }; _local2 = getTimer(); _local3 = (_local2 - current_time); if (time_offset == -1){ time_offset = _local2; }; _local4 = (_local2 - time_offset); _local5 = (_local4 / 33); if (_local5 > frame_counter){ frame_counter++; if ((_local5 - frame_counter) > 10){ frame_counter = _local5; }; if (game_over){ game.shutdown(); removeChild(game); game = null; enter_state(AS_HIGH_SCORES); game_over = false; }; if ((((gameflow_state == AS_INTRO_MOVIE)) || ((gameflow_state == AS_TITLE_SCREEN)))){ update_mouse_highlight(); if (title_movie){ if (title_movie.version_text){ }; }; if (title_movie.currentFrame > 23){ if (audio.active_music == -1){ audio.start_music(0, 0.8); }; }; }; if (gameflow_state == AS_INTRO_MOVIE){ if (title_movie.currentFrame >= 24){ gameflow_state = AS_TITLE_SCREEN; }; }; if (hs_screen){ hs_screen.update(); }; if (game){ game.update(); }; audio.update(); }; } public function mouse_click_handler(_arg1:MouseEvent):void{ var _local2:Boolean; if (gameflow_state == AS_TITLE_SCREEN){ if (selected_option == 0){ enter_state(AS_PLAYING_GAME); } else { if (selected_option == 2){ enter_state(AS_HIGH_SCORES); } else { if (selected_option == 3){ _local2 = audio.sound_enabled; audio.enable_sound(!(_local2)); if (_local2){ title_movie.btn_audio.sound_text.text = "SOUND : OFF"; } else { title_movie.btn_audio.sound_text.text = "SOUND : ON"; }; } else { if (selected_option == 1){ navigateToURL(new URLRequest("http://www.armorgames.com/tag/stick"), "_blank"); } else { if (selected_option == 4){ enter_state(AS_CREDITS); }; }; }; }; }; } else { if (gameflow_state == AS_CREDITS){ enter_state(AS_TITLE_SCREEN); } else { if (gameflow_state == AS_HIGH_SCORES){ if (hs_screen.exit_allowed() == true){ enter_state(AS_TITLE_SCREEN); }; }; }; }; } public static function get_singleton():Application{ return (APPLICATION); } } }//package
Section 23
//ApplicationKeystate (ApplicationKeystate) package { import flash.events.*; import flash.ui.*; public class ApplicationKeystate { var buffered_presses:Object; var key_array:Object; public static const KEY_RIGHT:uint = Keyboard.RIGHT; public static const KEY_PAUSE:uint = 80; public static const KEY_KICK:uint = 68; public static const KEY_LEFT:uint = Keyboard.LEFT; public static const KEY_DOWN:uint = Keyboard.DOWN; public static const KEY_BLOCK:uint = 65; public static const KEY_PUNCH:uint = 83; public static const KEY_JUMP:uint = Keyboard.SPACE; public static const KEY_UP:uint = Keyboard.UP; public function ApplicationKeystate(){ key_array = new Object(); buffered_presses = new Object(); } public function keyup_listener(_arg1:KeyboardEvent):void{ delete key_array[_arg1.keyCode]; } public function keydown_listener(_arg1:KeyboardEvent):void{ key_array[_arg1.keyCode] = true; buffered_presses[_arg1.keyCode] = true; if (_arg1.keyCode == KEY_PAUSE){ Application.get_singleton().game.signal_pause(); }; } public function get_buffered_press(_arg1:uint):Boolean{ var _local2:Boolean; _local2 = (_arg1 in buffered_presses); if (_local2){ delete buffered_presses[_arg1]; }; return (_local2); } public function is_key_down(_arg1:uint):Boolean{ return (Boolean((_arg1 in key_array))); } } }//package
Section 24
//Avatar (Avatar) package { public class Avatar extends BaseNPC { var killed:Boolean; public function Avatar(){ addFrameScript(4, frame5, 13, frame14, 26, frame27, 36, frame37); faction_id = 0; killed = false; brain = null; move_graph = new AvatarMoveGraph(); move_graph.avatar = this; move_graph.initialize(); damage_data.maximum_hp = 250; damage_data.current_hp = damage_data.maximum_hp; damage_data.head_box.set(0, -40); damage_data.head_box_size.set(70, 70); damage_data.torso_box.set(0, 0); damage_data.torso_box_size.set(1, 1); stop(); } function frame14(){ gotoAndPlay("run_start"); } override public function receive_damage(_arg1:Boolean, _arg2:DamageEvent, _arg3:int):Boolean{ var _local4:int; var _local5:Game; var _local6:LevelManager; var _local7:Vector2D; var _local8:Number; if (damage_data.current_hp > 0){ _local4 = check_damage_reduction(_arg2.hp_amount, _arg3); if (_local4 == 0){ return (false); }; if (_arg2.npc_ptr){ _arg2.npc_ptr.damaged_player = true; }; damage_data.current_hp = (damage_data.current_hp - _local4); _local5 = Application.get_singleton().game; _local6 = Application.get_singleton().game.level_manager; if (damage_data.current_hp <= 0){ damage_data.current_hp = 0; _local7 = _local6.get_respawn_location(move_graph.physics.position.x, move_graph.physics.position.y); _local5.signal_player_death(_local7.x, _local7.y); killed = true; } else { Application.get_singleton().game.score_manager.send_event(ScoreManager.SCORE_EVENT_PLAYER_DAMAGE); Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_HIT); if (_arg2.knockback != 0){ if (_arg1){ _local8 = (move_graph.physics.position.x + _arg2.knockback); } else { _local8 = (move_graph.physics.position.x - _arg2.knockback); }; if (Application.get_singleton().game.world_database.check_x_collision(_local8, move_graph.physics.position.y, move_graph.physics.bounding_width, (move_graph.physics.ground_point * 0.5)) == false){ move_graph.physics.position.x = _local8; }; }; move_graph.switch_move(AvatarMoveGraph.AVATAR_DAMAGE_HEAD, !(_arg1), true); }; _local5.game_interface.notify_health_change((damage_data.current_hp / damage_data.maximum_hp)); return (true); }; return (false); } function frame5(){ } function frame27(){ stop(); } function frame37(){ stop(); } } }//package
Section 25
//AvatarBlock (AvatarBlock) package { public class AvatarBlock extends IMove { public function AvatarBlock(){ starting_frame = 65; current_frame = starting_frame; frame_count = 0; looping = true; combo = new MoveCombo(); combo.name = "Block"; combo.complexity_id = 1; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_ALWAYS; combo.move_array = new Array(); combo.move_array.push(MoveCombo.BLOCK); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ return (0); } } }//package
Section 26
//AvatarCrouchKick (AvatarCrouchKick) package { public class AvatarCrouchKick extends IMove { public function AvatarCrouchKick(){ var _local1:DamageFrame; super(); starting_frame = 122; current_frame = starting_frame; frame_count = 10; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 126; _local1.amount = 70; _local1.knockback = 10; _local1.box_center.set(51, 22); _local1.box_size.set(60, 30); damage_frame_list.push(_local1); combo = new MoveCombo(); combo.name = "Crouch kick"; combo.complexity_id = 4; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_HIGHER_ID; combo.move_array = new Array(); combo.move_array.push(MoveCombo.DOWN); combo.move_array.push(MoveCombo.KICK); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_SWING); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ if (_arg2 == DamageData.DAMAGE_AREA_HEAD){ return (0); }; return (_arg1); } } }//package
Section 27
//AvatarCrouchPunch (AvatarCrouchPunch) package { public class AvatarCrouchPunch extends IMove { public function AvatarCrouchPunch(){ var _local1:DamageFrame; super(); starting_frame = 200; current_frame = starting_frame; frame_count = 10; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 202; _local1.amount = 50; _local1.knockback = 10; _local1.box_center.set(51, 22); _local1.box_size.set(60, 30); damage_frame_list.push(_local1); combo = new MoveCombo(); combo.name = "Crouch punch"; combo.complexity_id = 3; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_HIGHER_ID; combo.move_array = new Array(); combo.move_array.push(MoveCombo.DOWN); combo.move_array.push(MoveCombo.PUNCH); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_SWING); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ if (_arg2 == DamageData.DAMAGE_AREA_HEAD){ return (0); }; return (_arg1); } } }//package
Section 28
//AvatarDamageHead (AvatarDamageHead) package { public class AvatarDamageHead extends IMove { public function AvatarDamageHead(){ starting_frame = 135; current_frame = starting_frame; frame_count = 7; looping = false; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (false); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 29
//AvatarDeath (AvatarDeath) package { public class AvatarDeath extends IMove { public function AvatarDeath(){ starting_frame = 220; current_frame = starting_frame; frame_count = 24; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (false); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ return (0); } } }//package
Section 30
//AvatarForwardKick (AvatarForwardKick) package { public class AvatarForwardKick extends IMove { public function AvatarForwardKick(){ var _local1:DamageFrame; super(); starting_frame = 80; current_frame = starting_frame; frame_count = 12; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 82; _local1.amount = 50; _local1.knockback = 40; _local1.box_center.set(65, -28); _local1.box_size.set(70, 50); damage_frame_list.push(_local1); combo = new MoveCombo(); combo.name = "Forward kick"; combo.complexity_id = 4; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_HIGHER_ID; combo.move_array = new Array(); combo.move_array.push(MoveCombo.FORWARD); combo.move_array.push(MoveCombo.KICK); } override public function update():void{ super.update(); if (animation_finished){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ var _local1:Number; super.move_enter(); _local1 = 150; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_SWING); } } }//package
Section 31
//AvatarJump (AvatarJump) package { public class AvatarJump extends IMove { public function AvatarJump(){ starting_frame = 40; current_frame = starting_frame; frame_count = 15; combo = new MoveCombo(); combo.name = "Jump"; combo.complexity_id = 2; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_NEVER; combo.move_array = new Array(); combo.move_array.push(MoveCombo.JUMP); looping = false; } override public function update():void{ super.update(); if (animation_finished){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ var _local1:Number; super.move_enter(); _local1 = 250; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); npc.move_graph.physics.set_desired_y_velocity(-200); Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_JUMP); } } }//package
Section 32
//AvatarJumpKick (AvatarJumpKick) package { public class AvatarJumpKick extends IMove { public function AvatarJumpKick(){ var _local1:DamageFrame; super(); starting_frame = 145; current_frame = starting_frame; frame_count = 13; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 150; _local1.amount = 100; _local1.knockback = 40; _local1.box_center.set(44, -35); _local1.box_size.set(120, 40); _local1.multiple_hit = true; damage_frame_list.push(_local1); combo = new MoveCombo(); combo.name = "Jump kick"; combo.complexity_id = 4; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_HIGHER_ID; combo.move_array = new Array(); combo.move_array.push(MoveCombo.FORWARD_UP); combo.move_array.push(MoveCombo.KICK); } override public function update():void{ super.update(); if (animation_finished){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ var _local1:Number; super.move_enter(); _local1 = 150; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); npc.move_graph.physics.set_desired_y_velocity(100); Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_SWING); } } }//package
Section 33
//AvatarKick (AvatarKick) package { public class AvatarKick extends IMove { public function AvatarKick(){ var _local1:DamageFrame; super(); starting_frame = 70; current_frame = starting_frame; frame_count = 10; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 72; _local1.amount = 30; _local1.knockback = 10; _local1.box_center.set(25, -28); _local1.box_size.set(110, 60); damage_frame_list.push(_local1); combo = new MoveCombo(); combo.name = "Kick"; combo.complexity_id = 3; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_HIGHER_ID; combo.move_array = new Array(); combo.move_array.push(MoveCombo.KICK); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_SWING); } } }//package
Section 34
//AvatarMove (AvatarMove) package { public class AvatarMove extends IMove { public function AvatarMove(){ starting_frame = 5; current_frame = starting_frame; frame_count = 8; looping = true; combo = new MoveCombo(); combo.name = "Move"; combo.complexity_id = 1; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_ALWAYS; combo.move_array = new Array(); combo.move_array.push(MoveCombo.FORWARD); } override public function update():void{ if (current_frame == 8){ Application.get_singleton().audio.sfx_event(SoundManager.SM_FOOTSTEP); }; super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ var _local1:Number; super.move_enter(); _local1 = 180; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); } } }//package
Section 35
//AvatarMoveCrouch (AvatarMoveCrouch) package { public class AvatarMoveCrouch extends IMove { public function AvatarMoveCrouch(){ starting_frame = 3; current_frame = starting_frame; frame_count = 0; looping = true; combo = new MoveCombo(); combo.name = "Crouch"; combo.complexity_id = 1; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_ALWAYS; combo.move_array = new Array(); combo.move_array.push(MoveCombo.DOWN); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ if (_arg2 == DamageData.DAMAGE_AREA_HEAD){ return (0); }; return (_arg1); } } }//package
Section 36
//AvatarMoveGraph (AvatarMoveGraph) package { public class AvatarMoveGraph extends NPCMoveGraph { var avatar:Avatar; var evaluator:MoveEvaluator; var character_facing:Boolean; public static const AVATAR_SUPER_PUNCH:int = 14; public static const AVATAR_CROUCH_KICK:int = 13; public static const AVATAR_FORWARD_KICK:int = 10; public static const AVATAR_BLOCK:int = 8; public static const AVATAR_PUNCH2:int = 5; public static const AVATAR_STAND:int = 0; public static const AVATAR_JUMP_KICK:int = 7; public static const AVATAR_DAMAGE_HEAD:int = 12; public static const AVATAR_JUMP:int = 6; public static const AVATAR_CROUCH:int = 2; public static const AVATAR_PUNCH:int = 4; public static const AVATAR_TURN_AROUND:int = 3; public static const AVATAR_KICK:int = 9; public static const AVATAR_DEATH:int = 16; public static const AVATAR_CROUCH_PUNCH:int = 15; public static const AVATAR_MOVE:int = 1; public static const AVATAR_SPIN_KICK:int = 11; public function AvatarMoveGraph(){ physics = new BasePhysics(); current_move = AVATAR_STAND; temp_v = new Vector2D(0, 0); character_facing = true; } override public function update():void{ var _local1:Boolean; var _local2:Boolean; var _local3:Boolean; var _local4:Boolean; var _local5:int; var _local6:int; var _local7:int; var _local8:IMove; var _local9:Boolean; if (avatar.killed){ if (current_move != AVATAR_DEATH){ internal_switch_move(AVATAR_DEATH, character_facing); }; } else { _local3 = !(move_list[current_move].face_right); evaluator.update(); if (((!((desired_move == current_move))) && (!((desired_move == -1))))){ internal_switch_move(desired_move, desired_move_direction); desired_move = -1; } else { _local4 = true; if (move_list[current_move].combo == null){ if (move_list[current_move].animation_finished == false){ _local4 = false; }; } else { if ((((move_list[current_move].combo.override_flags == MoveCombo.OR_NEVER)) && ((move_list[current_move].animation_finished == false)))){ _local4 = false; }; }; if (_local4){ _local5 = -1; _local6 = 0; if (move_list[current_move].animation_finished == false){ if (move_list[current_move].combo.override_flags == MoveCombo.OR_HIGHER_ID){ _local6 = move_list[current_move].combo.complexity_id; }; }; _local7 = 0; while (_local7 < move_list.length) { _local8 = move_list[_local7]; if (evaluator.match_move(_local8, !(character_facing))){ _local9 = false; if (_local8.combo.complexity_id > _local6){ _local9 = true; }; if (_local8.chi_move){ _local9 = (Application.get_singleton().game.score_manager.chi_value == 1); }; if (_local9){ _local5 = _local7; _local6 = _local8.combo.complexity_id; }; }; _local7++; }; if (_local5 != -1){ if (_local5 != current_move){ if (move_list[_local5].combo){ if (move_list[_local5].combo.flip_direction_start){ character_facing = !(character_facing); }; }; internal_switch_move(_local5, character_facing); }; } else { if (move_list[current_move].animation_finished){ if (move_list[current_move].combo){ if (move_list[current_move].combo.allow_hold == false){ internal_switch_move(AVATAR_STAND, character_facing); }; }; }; }; }; }; }; move_list[current_move].update(); physics.update(); temp_v.x = 0; temp_v.y = 0; Application.get_singleton().game.camera.get_tile_position(physics.position.x, physics.position.y, 0, temp_v); avatar.x = temp_v.x; avatar.y = temp_v.y; } public function internal_switch_move(_arg1:int, _arg2:Boolean):void{ if (current_move != -1){ move_list[current_move].move_exit(); }; current_move = _arg1; move_list[current_move].face_right = _arg2; move_list[current_move].move_enter(); if (move_list[current_move].chi_move){ Application.get_singleton().game.score_manager.send_event(ScoreManager.SCORE_EVENT_CHI_MOVE); }; } override public function initialize(){ evaluator = new MoveEvaluator(); move_list = new Array(); move_list[AVATAR_STAND] = new AvatarMoveStand(); move_list[AVATAR_STAND].npc = avatar; move_list[AVATAR_MOVE] = new AvatarMove(); move_list[AVATAR_MOVE].npc = avatar; move_list[AVATAR_CROUCH] = new AvatarMoveCrouch(); move_list[AVATAR_CROUCH].npc = avatar; move_list[AVATAR_CROUCH_KICK] = new AvatarCrouchKick(); move_list[AVATAR_CROUCH_KICK].npc = avatar; move_list[AVATAR_TURN_AROUND] = new AvatarTurnAround(); move_list[AVATAR_TURN_AROUND].npc = avatar; move_list[AVATAR_PUNCH] = new AvatarPunch(); move_list[AVATAR_PUNCH].npc = avatar; move_list[AVATAR_PUNCH2] = new AvatarPunch2(); move_list[AVATAR_PUNCH2].npc = avatar; move_list[AVATAR_JUMP] = new AvatarJump(); move_list[AVATAR_JUMP].npc = avatar; move_list[AVATAR_JUMP_KICK] = new AvatarJumpKick(); move_list[AVATAR_JUMP_KICK].npc = avatar; move_list[AVATAR_BLOCK] = new AvatarBlock(); move_list[AVATAR_BLOCK].npc = avatar; move_list[AVATAR_KICK] = new AvatarKick(); move_list[AVATAR_KICK].npc = avatar; move_list[AVATAR_FORWARD_KICK] = new AvatarForwardKick(); move_list[AVATAR_FORWARD_KICK].npc = avatar; move_list[AVATAR_SPIN_KICK] = new AvatarSpinKick(); move_list[AVATAR_SPIN_KICK].npc = avatar; move_list[AVATAR_DAMAGE_HEAD] = new AvatarDamageHead(); move_list[AVATAR_DAMAGE_HEAD].npc = avatar; move_list[AVATAR_SUPER_PUNCH] = new AvatarSuperPunch(); move_list[AVATAR_SUPER_PUNCH].npc = avatar; move_list[AVATAR_CROUCH_PUNCH] = new AvatarCrouchPunch(); move_list[AVATAR_CROUCH_PUNCH].npc = avatar; move_list[AVATAR_DEATH] = new AvatarDeath(); move_list[AVATAR_DEATH].npc = avatar; transition_list = new AvatarTransitionList(); transition_list.create(); } override public function set_position(_arg1:Number, _arg2:Number):void{ physics.set_position(_arg1, _arg2); } } }//package
Section 37
//AvatarMoveStand (AvatarMoveStand) package { public class AvatarMoveStand extends IMove { public function AvatarMoveStand(){ starting_frame = 0; current_frame = starting_frame; frame_count = 0; looping = true; combo = new MoveCombo(); combo.name = "Stand"; combo.complexity_id = 1; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_ALWAYS; combo.move_array = new Array(); combo.move_array.push(MoveCombo.NO_MOVE); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 38
//AvatarPunch (AvatarPunch) package { public class AvatarPunch extends IMove { public function AvatarPunch(){ var _local1:DamageFrame; super(); starting_frame = 20; current_frame = starting_frame; frame_count = 10; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 22; _local1.amount = 25; _local1.knockback = 10; _local1.box_center = new Vector2D(40, -35); _local1.box_size = new Vector2D(20, 20); damage_frame_list.push(_local1); combo = new MoveCombo(); combo.name = "Punch"; combo.complexity_id = 2; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_HIGHER_ID; combo.move_array = new Array(); combo.move_array.push(MoveCombo.PUNCH); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_SWING); } } }//package
Section 39
//AvatarPunch2 (AvatarPunch2) package { public class AvatarPunch2 extends IMove { public function AvatarPunch2(){ var _local1:DamageFrame; super(); starting_frame = 30; current_frame = starting_frame; frame_count = 7; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 32; _local1.amount = 25; _local1.box_center = new Vector2D(40, -35); _local1.box_size = new Vector2D(20, 20); damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_SWING); } } }//package
Section 40
//AvatarSpinKick (AvatarSpinKick) package { public class AvatarSpinKick extends IMove { public function AvatarSpinKick(){ var _local1:DamageFrame; super(); starting_frame = 95; current_frame = starting_frame; frame_count = 28; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 102; _local1.amount = 100; _local1.knockback = 30; _local1.box_center = new Vector2D(57, -45); _local1.box_size = new Vector2D(70, 50); damage_frame_list.push(_local1); _local1 = new DamageFrame(); _local1.index = 111; _local1.amount = 150; _local1.knockback = 50; _local1.box_center = new Vector2D(57, -34); _local1.box_size = new Vector2D(70, 50); damage_frame_list.push(_local1); combo = new MoveCombo(); combo.name = "Spin kick"; combo.complexity_id = 10; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_HIGHER_ID; combo.move_array = new Array(); combo.move_array.push(MoveCombo.FORWARD); combo.move_array.push(MoveCombo.KICK); combo.move_array.push(MoveCombo.FORWARD); combo.move_array.push(MoveCombo.KICK_PUNCH); } override public function update():void{ var _local1:Number; super.update(); if (current_frame == 108){ _local1 = 205; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); }; if (current_frame > 115){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 41
//AvatarSuperPunch (AvatarSuperPunch) package { public class AvatarSuperPunch extends IMove { public function AvatarSuperPunch(){ var _local1:DamageFrame; super(); starting_frame = 165; current_frame = starting_frame; frame_count = 20; chi_move = true; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 167; _local1.amount = 100; _local1.knockback = 0; _local1.box_center = new Vector2D(20, -45); _local1.box_size = new Vector2D(90, 50); damage_frame_list.push(_local1); _local1 = new DamageFrame(); _local1.index = 171; _local1.amount = 100; _local1.knockback = 0; _local1.box_center = new Vector2D(20, -34); _local1.box_size = new Vector2D(90, 50); damage_frame_list.push(_local1); _local1 = new DamageFrame(); _local1.index = 176; _local1.amount = 400; _local1.knockback = 30; _local1.box_center = new Vector2D(20, -34); _local1.box_size = new Vector2D(50, 50); _local1.multiple_hit = true; damage_frame_list.push(_local1); combo = new MoveCombo(); combo.name = "Super punch"; combo.complexity_id = 10; combo.flip_direction_start = false; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_NEVER; combo.move_array = new Array(); combo.move_array.push(MoveCombo.KICK_PUNCH_BLOCK); } override public function update():void{ super.update(); if ((((((current_frame == 165)) || ((current_frame == 169)))) || ((current_frame == 174)))){ Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_SWING); }; if (current_frame > 182){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ var _local1:Number; super.move_enter(); _local1 = 75; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); Application.get_singleton().audio.sfx_event(SoundManager.SM_CHI_MOVE); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ return (0); } } }//package
Section 42
//AvatarTransitionList (AvatarTransitionList) package { public class AvatarTransitionList extends BaseTransitionList { override public function create():void{ } } }//package
Section 43
//AvatarTurnAround (AvatarTurnAround) package { public class AvatarTurnAround extends IMove { public function AvatarTurnAround(){ starting_frame = 5; current_frame = starting_frame; frame_count = 7; looping = true; combo = new MoveCombo(); combo.name = "Turn around"; combo.complexity_id = 2; combo.flip_direction_start = true; combo.flip_direction_end = false; combo.required_ground_state = GS_GROUND; combo.override_flags = MoveCombo.OR_ALWAYS; combo.move_array = new Array(); combo.move_array.push(MoveCombo.BACK); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ var _local1:Number; super.move_enter(); _local1 = 200; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); } } }//package
Section 44
//BaseAI (BaseAI) package { public class BaseAI { var hold_timer:int; var death_move_list:Array; var jump_move:int; var current_state:int; var damage_timer:int; var hold_move:Boolean; var move_spacing:int; var always_engage:Boolean; var move_spacing_variance:int; var attack_move_list:Array; var idle_move_list:Array; var idle_timer:int; var torso_damage_move:int; var head_damage_move:int; var damage_head:Boolean; var traversal_move:int; var engagement_distance:Number; var parent:BaseBrain; var recently_damaged:Boolean; public static const FIGHTING_REPOSITION:int = 3; public static const WAITING_TO_ENGAGE:int = 0; public static const MOVING_TO_WAIT_POINT:int = 1; public static const FIGHTING_PLAYER:int = 2; public function BaseAI(_arg1:BaseBrain){ parent = _arg1; always_engage = false; recently_damaged = false; damage_timer = 0; damage_head = false; idle_move_list = new Array(); attack_move_list = new Array(); death_move_list = new Array(); hold_timer = 0; hold_move = false; idle_timer = 0; current_state = WAITING_TO_ENGAGE; } public function update():void{ var _local1:BaseNPC; var _local2:NPCMoveGraph; var _local3:int; var _local4:*; var _local5:*; var _local6:*; var _local7:Boolean; var _local8:Vector2D; var _local9:Boolean; var _local10:*; var _local11:Boolean; var _local12:Boolean; var _local13:int; var _local14:int; var _local15:AIMoveEntry; var _local16:Boolean; var _local17:Number; _local1 = parent.parent; _local2 = _local1.move_graph; if (recently_damaged){ damage_timer--; if (damage_timer <= 0){ damage_timer = 0; recently_damaged = false; }; }; if (is_jumping() == true){ return; }; if (_local1.move_graph.physics.ground_contact == false){ return; }; if (_local1.damage_data.current_hp == 0){ return; }; if (idle_timer > 0){ idle_timer--; }; _local3 = _local2.current_move; if ((((_local3 == head_damage_move)) || ((_local3 == torso_damage_move)))){ if (_local2.current_move_finished() == false){ hold_timer = 0; hold_move = false; return; }; }; _local4 = _local2.physics.position.x; _local5 = _local2.physics.position.y; _local6 = parent.move_target; _local7 = (_local4 < _local6.x); _local8 = Application.get_singleton().game.player.move_graph.physics.position; _local9 = true; _local10 = Math.abs((_local8.x - _local4)); if (Application.get_singleton().game.pathfind.has_data()){ if (Math.abs((_local8.y - _local5)) > 20){ _local9 = false; }; }; _local11 = !((_local2.move_list[_local3].face_right == _local7)); if (_local1.engage_status == BaseNPC.ENGAGE_PLAYER){ if ((((_local10 < engagement_distance)) && (_local9))){ _local12 = false; if (hold_move){ hold_timer--; if (hold_timer == 0){ hold_move = false; _local12 = true; }; } else { _local12 = _local2.current_move_finished(); }; if (current_state != FIGHTING_PLAYER){ current_state = FIGHTING_PLAYER; _local12 = true; }; if (_local12 == true){ _local13 = 0; if (recently_damaged){ if (damage_head){ _local13 = 1; } else { _local13 = 2; }; }; _local14 = select_move(attack_move_list, _local13); _local15 = attack_move_list[_local14]; _local16 = !(_local15.hold_move); if (!_local16){ hold_move = true; hold_timer = _local15.hold_time; }; _local2.switch_move(_local15.id, _local7, _local16); }; } else { if ((((((_local2.current_move_finished() == true)) || ((hold_move == true)))) || (_local11))){ hold_move = false; current_state = FIGHTING_REPOSITION; _local2.switch_move(traversal_move, _local7, _local11); }; }; } else { _local17 = Math.sqrt((((_local6.x - _local4) * (_local6.x - _local4)) + ((_local6.y - _local5) * (_local6.y - _local5)))); if (_local10 < _local1.wait_distance){ current_state = WAITING_TO_ENGAGE; if (idle_timer == 0){ _local14 = select_move(idle_move_list, 0); _local2.switch_move(idle_move_list[_local14].id, _local7, _local11); idle_timer = ((Math.random() * 90) + 30); }; } else { current_state = MOVING_TO_WAIT_POINT; _local2.switch_move(traversal_move, _local7, _local11); }; }; } public function is_jumping():Boolean{ var _local1:BaseNPC; var _local2:NPCMoveGraph; _local1 = parent.parent; _local2 = _local1.move_graph; return ((((_local2.current_move == jump_move)) && ((_local2.current_move_finished() == false)))); } public function force_jump(_arg1:Boolean):void{ var _local2:BaseNPC; var _local3:NPCMoveGraph; _local2 = parent.parent; _local3 = _local2.move_graph; _local3.switch_move(jump_move, _arg1, true); } public function notify_damage(_arg1:int, _arg2:Boolean){ var _local3:BaseNPC; var _local4:NPCMoveGraph; var _local5:int; recently_damaged = true; damage_timer = 50; _local3 = parent.parent; _local4 = _local3.move_graph; if (_local3.damage_data.current_hp > 0){ if (_arg1 == DamageData.DAMAGE_AREA_HEAD){ _local4.switch_move(head_damage_move, _arg2, true); damage_head = true; } else { _local4.switch_move(torso_damage_move, _arg2, true); damage_head = false; }; } else { _local5 = select_move(death_move_list, (_arg1 + 1)); _local4.switch_move(death_move_list[_local5].id, _arg2, true); }; } function select_move(_arg1:Array, _arg2:int):int{ var _local3:int; var _local4:Number; var _local5:Number; var _local6:int; _local3 = _arg1.length; _local4 = 0; _local5 = Math.random(); _local6 = 0; while (_local6 < _local3) { if (_arg2 == 0){ _local4 = (_local4 + _arg1[_local6].normal_probability); } else { if (_arg2 == 1){ _local4 = (_local4 + _arg1[_local6].head_damage_probability); } else { _local4 = (_local4 + _arg1[_local6].torso_damage_probability); }; }; if (_local4 > _local5){ return (_local6); }; _local6++; }; return ((_local3 - 1)); } } }//package
Section 45
//BaseBrain (BaseBrain) package { public class BaseBrain { var movement_state:int; var update_timer:int; var target_zone:int; var ai:BaseAI; var parent:BaseNPC; var current_zone:int; var jump_timer:int; var jump_dir:Boolean; var move_target:Vector2D; public static const MS_JUMP_CONNECTION:int = 2; public static const MS_PLAYER:int = 0; public static const MS_NORMAL_CONNECTION:int = 1; public function BaseBrain(){ movement_state = MS_PLAYER; update_timer = 0; jump_timer = 0; current_zone = -1; target_zone = -1; move_target = new Vector2D(0, 0); } public function update():void{ update_child(); update_pathfind(); ai.update(); } function update_pathfind():void{ var _local1:Pathfind; var _local2:BaseNPC; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:int; var _local8:*; var _local9:int; var _local10:PathfindZone; var _local11:Boolean; var _local12:int; var _local13:PathfindConnection; var _local14:*; if (parent.damage_data.current_hp == 0){ return; }; _local1 = Application.get_singleton().game.pathfind; _local2 = Application.get_singleton().game.player; if (ai.is_jumping() == true){ return; }; _local3 = parent.move_graph.physics.position.x; _local4 = parent.move_graph.physics.position.y; _local5 = _local2.move_graph.physics.position.x; _local6 = _local2.move_graph.physics.position.y; current_zone = _local1.get_contained_zone(_local3, _local4); _local7 = _local1.get_contained_zone(_local5, _local6); _local8 = _local1.get_next_zone(current_zone, _local7); if (((((!((current_zone == -1))) && (!((_local7 == -1))))) && (!((current_zone == _local7))))){ _local9 = _local1.get_next_zone(current_zone, _local7); if (_local9 != target_zone){ trace("pathfinding - player: ", _local7, " npc: ", current_zone); _local10 = _local1.zone_list[current_zone]; _local11 = false; _local12 = 0; while (_local12 < _local10.connection_list.length) { _local13 = _local10.connection_list[_local12]; if (_local13.zone_connection == _local9){ if (_local13.left_side){ move_target.x = _local10.x_left; } else { move_target.x = _local10.x_right; }; move_target.y = _local10.height; _local11 = true; if (_local13.jump_connection){ movement_state = MS_JUMP_CONNECTION; jump_dir = !(_local13.left_side); } else { movement_state = MS_NORMAL_CONNECTION; }; }; _local12++; }; target_zone = _local9; if (!_local11){ trace(((("PATHFIND: error! couldn't find connection from zone " + current_zone) + " to zone ") + _local9)); }; }; if (movement_state == MS_JUMP_CONNECTION){ _local14 = Math.abs((_local3 - move_target.x)); if (_local14 < 30){ ai.force_jump(jump_dir); }; }; } else { target_zone = -1; move_target.x = _local5; move_target.y = _local6; }; } public function notify_damage(_arg1:int, _arg2:Boolean){ ai.notify_damage(_arg1, _arg2); } public function update_child():void{ } public function set_parent(_arg1:BaseNPC){ parent = _arg1; } } }//package
Section 46
//BaseNPC (BaseNPC) package { import flash.display.*; public class BaseNPC extends MovieClip { var global_damage_multiplier:Number; var npc_type:int; public var boss_monster:Boolean; var faction_id:int; public var wait_distance:Number; public var engage_status:int; var move_graph; public var damaged_player:Boolean; var damage_data; public var health_bar:EnemyHealthBar; var brain; public static const NOT_ASSIGNED:int = 3; public static const WAIT_FAR:int = 2; public static const WAIT_CLOSE:int = 1; public static const ENGAGE_PLAYER:int = 0; public function BaseNPC(){ move_graph = NPCMoveGraph; damage_data = DamageData; brain = BaseBrain; super(); boss_monster = false; global_damage_multiplier = 1; damaged_player = false; damage_data = new DamageData(); engage_status = NOT_ASSIGNED; wait_distance = ((Math.random() * 200) + 100); this.name = "character"; stop(); on_create(); } public function check_damage_reduction(_arg1:int, _arg2:int):int{ if (move_graph.current_move != -1){ return (move_graph.move_list[move_graph.current_move].modulate_damage(_arg1, _arg2)); }; return (_arg1); } public function create(){ if (boss_monster){ health_bar = new EnemyHealthBar(this); }; } public function on_create(){ } public function set_position(_arg1:Number, _arg2:Number):void{ move_graph.set_position(_arg1, _arg2); this.x = _arg1; this.y = _arg2; } public function receive_damage(_arg1:Boolean, _arg2:DamageEvent, _arg3:int):Boolean{ var _local4:int; if (damage_data.current_hp > 0){ _local4 = _arg2.hp_amount; if (_arg2.unblockable == false){ _local4 = check_damage_reduction(_arg2.hp_amount, _arg3); }; if (_local4 == 0){ return (false); }; Application.get_singleton().audio.sfx_event(SoundManager.SM_NPC_HIT); damage_data.current_hp = (damage_data.current_hp - _local4); if (health_bar){ health_bar.notify_health_change((damage_data.current_hp / damage_data.maximum_hp)); }; if (damage_data.current_hp <= 0){ if (health_bar){ health_bar.destroy_bar(); health_bar = null; }; run_death_sfx(); if (boss_monster){ Application.get_singleton().game.score_manager.send_event(ScoreManager.SCORE_EVENT_BOSS_KILL, this); } else { Application.get_singleton().game.score_manager.send_event(ScoreManager.SCORE_EVENT_BASIC_KILL, this); }; Application.get_singleton().game.level_manager.get_current_level().death_notification(npc_type); damage_data.current_hp = 0; } else { Application.get_singleton().game.score_manager.send_event(ScoreManager.SCORE_EVENT_BASIC_HIT, this); }; if (_arg1){ move_graph.physics.position.x = (move_graph.physics.position.x + _arg2.knockback); } else { move_graph.physics.position.x = (move_graph.physics.position.x - _arg2.knockback); }; brain.notify_damage(_arg3, !(_arg1)); return (true); }; return (false); } public function run_death_sfx():void{ Application.get_singleton().audio.sfx_event(SoundManager.SM_NPC_DEATH); } public function update():void{ move_graph.update(); if (brain){ brain.update(); }; } } }//package
Section 47
//BasePhysics (BasePhysics) package { public class BasePhysics { var acceleration:Vector2D; var ground_contact; var position:Vector2D; var bounding_width:Number; var gravity:Number; var ground_point:Number; var velocity:Vector2D; public function BasePhysics(){ ground_contact = Boolean; super(); position = new Vector2D(0, -200); velocity = new Vector2D(0, 0); acceleration = new Vector2D(0, 0); gravity = 800; ground_contact = false; bounding_width = 25; ground_point = 45; } public function update():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; ground_contact = false; _local1 = (1 / 30); _local2 = (position.x + (velocity.x * _local1)); _local3 = (position.y + (velocity.y * _local1)); if (Math.abs(velocity.x) > 0){ if (Application.get_singleton().game.world_database.check_x_collision(_local2, _local3, bounding_width, (ground_point * 0.5))){ _local2 = position.x; velocity.x = 0; }; }; if (velocity.y > 0){ _local4 = (_local3 + ground_point); _local5 = Application.get_singleton().game.world_database.get_ground_y(_local2, _local3); if (_local4 >= _local5){ _local3 = (_local5 - ground_point); velocity.y = 0; ground_contact = true; }; }; position.x = _local2; position.y = _local3; velocity.y = (velocity.y + (gravity * _local1)); } public function set_position(_arg1:Number, _arg2:Number):void{ position.x = _arg1; position.y = _arg2; velocity.x = 0; velocity.y = 0; acceleration.x = 0; acceleration.y = 0; } public function set_desired_y_velocity(_arg1:Number):void{ velocity.y = _arg1; } public function set_desired_x_velocity(_arg1:Number):void{ velocity.x = _arg1; } } }//package
Section 48
//BaseTile (BaseTile) package { import flash.display.*; public class BaseTile { public var depth:Number; var clip_ptr:MovieClip; var collision_type:int; var original_x:Number; var original_y:Number; var obb_width:Number; var obb_height:Number; public var top_adjust:Number; public static const CTYPE_GROUND:int = 1; public static const CTYPE_NONE:int = 2; public static const CTYPE_WALL:int = 0; public function BaseTile(){ depth = 0; collision_type = CTYPE_NONE; top_adjust = 0; } public function update():void{ } public function initialize(_arg1:MovieClip):void{ clip_ptr = _arg1; obb_width = clip_ptr.width; obb_height = clip_ptr.height; original_x = clip_ptr.x; original_y = clip_ptr.y; } } }//package
Section 49
//BaseTransitionList (BaseTransitionList) package { public class BaseTransitionList { var database:Array; public function BaseTransitionList(){ database = new Array(); } public function create():void{ } } }//package
Section 50
//BlurPoint (BlurPoint) package { import flash.display.*; import flash.filters.*; public class BlurPoint extends MovieClip { public var px; public var py:Number; var depth_dir:Number; var alpha_speed:Number; var bf:BlurFilter; var timer:int; var update_counter:int; public var vx; public var vy:Number; var depth:Number; var alpha_val:Number; var depth_speed:Number; public function BlurPoint(){ alpha_val = 0; alpha_speed = (0.1 + (Math.random() * 0.3)); depth_speed = (0.05 + (Math.random() * 0.3)); timer = 0; update_counter = (1 + (Math.random() * 5)); bf = new BlurFilter(); bf.quality = BitmapFilterQuality.MEDIUM; this.filters = new Array(bf); this.alpha = alpha_val; vx = ((Math.random() * 50) - 25); vy = ((Math.random() * 50) - 25); depth = Math.random(); if (depth > 0.5){ depth_dir = -1; } else { depth_dir = 1; }; } public function update(){ var _local1:Number; var _local2:Number; _local1 = (1 / 30); alpha_val = (alpha_val + (alpha_speed * _local1)); this.alpha = alpha_val; px = (px + (vx * _local1)); py = (py + (vy * _local1)); if (px < -380){ px = 380; }; if (py < -280){ py = 280; }; if (px > 380){ px = -380; }; if (py > 280){ py = -280; }; this.x = px; this.y = py; this.scaleX = (0.8 + (depth * 0.4)); this.scaleY = (0.8 + (depth * 0.4)); depth = (depth + ((depth_dir * _local1) * depth_speed)); if ((((depth < 0)) || ((depth > 1)))){ depth_dir = -(depth_dir); }; timer--; if (timer < 0){ timer = update_counter; _local2 = (depth * 30); bf.blurX = _local2; bf.blurY = _local2; this.filters = new Array(bf); }; } } }//package
Section 51
//BossA (BossA) package { public class BossA extends BaseNPC { override public function on_create(){ faction_id = 1; boss_monster = true; move_graph = new BossAMoveGraph(); move_graph.npc = this; move_graph.initialize(); brain = new BossABrain(); brain.set_parent(this); damage_data.maximum_hp = 800; damage_data.current_hp = 800; damage_data.head_box.set(0, -40); damage_data.head_box_size.set(50, 50); damage_data.torso_box.set(0, 0); damage_data.torso_box_size.set(50, 50); } override public function run_death_sfx():void{ Application.get_singleton().audio.sfx_event(SoundManager.SM_BOSS1_DEATH); } } }//package
Section 52
//BossA_AI (BossA_AI) package { public class BossA_AI extends BaseAI { public function BossA_AI(_arg1:BaseBrain){ super(_arg1); traversal_move = BossAMoveGraph.BOSS_A_WALK; jump_move = -1; idle_move_list.push(new AIMoveEntry(BossAMoveGraph.BOSS_A_STAND, 1, 1, 1, false)); attack_move_list.push(new AIMoveEntry(BossAMoveGraph.BOSS_A_HIT_HIGH, 0.35, 0.2, 0.2, false)); attack_move_list.push(new AIMoveEntry(BossAMoveGraph.BOSS_A_HIT_LOW, 0.3, 0.2, 0.2, false)); attack_move_list.push(new AIMoveEntry(BossAMoveGraph.BOSS_A_TRIPLE_HIT, 0.05, 0.1, 0.1, false)); attack_move_list.push(new AIMoveEntry(BossAMoveGraph.BOSS_A_JUMP_BACK, 0.05, 0.15, 0.15, false)); attack_move_list.push(new AIMoveEntry(BossAMoveGraph.BOSS_A_BLOCK, 0.15, 0.35, 0.35, true)); death_move_list.push(new AIMoveEntry(BossAMoveGraph.BOSS_A_DEATH, 1, 1, 1, true)); head_damage_move = BossAMoveGraph.BOSS_A_DAMAGE_TORSO; torso_damage_move = BossAMoveGraph.BOSS_A_DAMAGE_TORSO; engagement_distance = 120; } } }//package
Section 53
//BossABlock (BossABlock) package { public class BossABlock extends IMove { public function BossABlock(){ starting_frame = 20; current_frame = starting_frame; frame_count = 5; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ return (0); } } }//package
Section 54
//BossABrain (BossABrain) package { public class BossABrain extends BaseBrain { public function BossABrain(){ ai = new BossA_AI(this); } override public function update_child():void{ } } }//package
Section 55
//BossADamageTorso (BossADamageTorso) package { public class BossADamageTorso extends IMove { public function BossADamageTorso(){ starting_frame = 160; current_frame = starting_frame; frame_count = 8; looping = false; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 56
//BossADeath (BossADeath) package { public class BossADeath extends IMove { public function BossADeath(){ starting_frame = 200; current_frame = starting_frame; frame_count = 30; looping = false; } override public function update():void{ super.update(); if (current_frame >= 215){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); if (!face_right){ npc.move_graph.physics.set_desired_x_velocity(75); } else { npc.move_graph.physics.set_desired_x_velocity(-75); }; } } }//package
Section 57
//BossAHitHigh (BossAHitHigh) package { public class BossAHitHigh extends IMove { public function BossAHitHigh(){ var _local1:DamageFrame; super(); starting_frame = 110; current_frame = starting_frame; frame_count = 20; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 115; _local1.amount = 30; _local1.box_center = new Vector2D(95, -40); _local1.box_size = new Vector2D(60, 30); _local1.knockback = 30; damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 58
//BossAHitLow (BossAHitLow) package { public class BossAHitLow extends IMove { public function BossAHitLow(){ var _local1:DamageFrame; super(); starting_frame = 130; current_frame = starting_frame; frame_count = 29; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 135; _local1.amount = 30; _local1.box_center = new Vector2D(85, 0); _local1.box_size = new Vector2D(50, 20); _local1.knockback = 20; damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ if (_arg2 == DamageData.DAMAGE_AREA_HEAD){ return (0); }; return (_arg1); } } }//package
Section 59
//BossAJumpBack (BossAJumpBack) package { public class BossAJumpBack extends IMove { public function BossAJumpBack(){ starting_frame = 80; current_frame = starting_frame; frame_count = 30; looping = false; } override public function update():void{ var _local1:Number; super.update(); _local1 = -200; if (!face_right){ _local1 = -(_local1); }; if (current_frame == 85){ npc.move_graph.physics.set_desired_x_velocity(_local1); npc.move_graph.physics.set_desired_y_velocity(-100); }; if (current_frame == 96){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ return (0); } } }//package
Section 60
//BossAMoveGraph (BossAMoveGraph) package { public class BossAMoveGraph extends NPCMoveGraph { public static const BOSS_A_STAND:int = 0; public static const BOSS_A_JUMP_BACK:int = 6; public static const BOSS_A_TRIPLE_HIT:int = 4; public static const BOSS_A_DEATH:int = 8; public static const BOSS_A_DAMAGE_TORSO:int = 7; public static const BOSS_A_HIT_LOW:int = 3; public static const BOSS_A_WALK:int = 1; public static const BOSS_A_BLOCK:int = 5; public static const BOSS_A_HIT_HIGH:int = 2; public function BossAMoveGraph(){ current_move = BOSS_A_STAND; } override public function initialize(){ var _local1:int; move_list = new Array(); move_list[BOSS_A_STAND] = new BossAStand(); move_list[BOSS_A_WALK] = new BossAWalk(); move_list[BOSS_A_HIT_HIGH] = new BossAHitHigh(); move_list[BOSS_A_HIT_LOW] = new BossAHitLow(); move_list[BOSS_A_TRIPLE_HIT] = new BossATripleHit(); move_list[BOSS_A_BLOCK] = new BossABlock(); move_list[BOSS_A_JUMP_BACK] = new BossAJumpBack(); move_list[BOSS_A_DAMAGE_TORSO] = new BossADamageTorso(); move_list[BOSS_A_DEATH] = new BossADeath(); _local1 = 0; while (_local1 < move_list.length) { move_list[_local1].npc = npc; _local1++; }; } } }//package
Section 61
//BossAStand (BossAStand) package { public class BossAStand extends IMove { public function BossAStand(){ starting_frame = 0; current_frame = starting_frame; frame_count = 0; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 62
//BossATripleHit (BossATripleHit) package { public class BossATripleHit extends IMove { public function BossATripleHit(){ var _local1:DamageFrame; super(); starting_frame = 30; current_frame = starting_frame; frame_count = 50; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 54; _local1.amount = 40; _local1.box_center = new Vector2D(95, -40); _local1.box_size = new Vector2D(90, 30); _local1.knockback = 5; damage_frame_list.push(_local1); _local1 = new DamageFrame(); _local1.index = 60; _local1.amount = 40; _local1.box_center = new Vector2D(95, 0); _local1.box_size = new Vector2D(90, 30); _local1.knockback = 5; damage_frame_list.push(_local1); _local1 = new DamageFrame(); _local1.index = 67; _local1.amount = 40; _local1.box_center = new Vector2D(95, -40); _local1.box_size = new Vector2D(90, 30); _local1.knockback = 40; damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 63
//BossAWalk (BossAWalk) package { public class BossAWalk extends IMove { public function BossAWalk(){ starting_frame = 180; current_frame = starting_frame; frame_count = 16; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ var _local1:Number; super.move_enter(); _local1 = 70; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); } } }//package
Section 64
//BossB (BossB) package { public class BossB extends BaseNPC { override public function on_create(){ faction_id = 1; boss_monster = true; move_graph = new BossBMoveGraph(); move_graph.npc = this; move_graph.initialize(); brain = new BossBBrain(); brain.set_parent(this); damage_data.maximum_hp = 1200; damage_data.current_hp = 1200; damage_data.head_box.set(0, -40); damage_data.head_box_size.set(50, 50); damage_data.torso_box.set(0, 0); damage_data.torso_box_size.set(50, 50); move_graph.physics.ground_point = 55; } override public function run_death_sfx():void{ Application.get_singleton().audio.sfx_event(SoundManager.SM_BOSS1_DEATH); } } }//package
Section 65
//BossB_AI (BossB_AI) package { public class BossB_AI extends BaseAI { public function BossB_AI(_arg1:BaseBrain){ super(_arg1); traversal_move = BossBMoveGraph.BOSS_B_RUN; jump_move = -1; idle_move_list.push(new AIMoveEntry(BossBMoveGraph.BOSS_B_STAND, 1, 1, 1, false)); attack_move_list.push(new AIMoveEntry(BossBMoveGraph.BOSS_B_PUNCH, 0.2, 0.2, 0.2, false)); attack_move_list.push(new AIMoveEntry(BossBMoveGraph.BOSS_B_PUNCH2, 0.15, 0.1, 0.2, false)); attack_move_list.push(new AIMoveEntry(BossBMoveGraph.BOSS_B_KICK, 0.1, 0.2, 0.1, false)); attack_move_list.push(new AIMoveEntry(BossBMoveGraph.BOSS_B_JUMP_KICK, 0.2, 0.1, 0.1, false)); attack_move_list.push(new AIMoveEntry(BossBMoveGraph.BOSS_B_CARTWHEEL, 0.15, 0.1, 0.2, false)); attack_move_list.push(new AIMoveEntry(BossBMoveGraph.BOSS_B_BLOCK, 0.1, 0.2, 0, true)); attack_move_list.push(new AIMoveEntry(BossBMoveGraph.BOSS_B_CROUCH_BLOCK, 0.1, 0.2, 0.3, true)); death_move_list.push(new AIMoveEntry(BossBMoveGraph.BOSS_B_DEATH, 1, 1, 1, true)); head_damage_move = BossBMoveGraph.BOSS_B_DAMAGE; torso_damage_move = BossBMoveGraph.BOSS_B_DAMAGE; engagement_distance = 80; } } }//package
Section 66
//BossBBlock (BossBBlock) package { public class BossBBlock extends IMove { public function BossBBlock(){ starting_frame = 100; current_frame = starting_frame; frame_count = 1; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ return (0); } } }//package
Section 67
//BossBBrain (BossBBrain) package { public class BossBBrain extends BaseBrain { public function BossBBrain(){ ai = new BossB_AI(this); } override public function update_child():void{ } } }//package
Section 68
//BossBCartwheel (BossBCartwheel) package { public class BossBCartwheel extends IMove { public function BossBCartwheel(){ starting_frame = 50; current_frame = starting_frame; frame_count = 30; looping = false; } override public function update():void{ var _local1:Number; super.update(); _local1 = 400; if (!face_right){ _local1 = -(_local1); }; if (current_frame == 51){ npc.move_graph.physics.set_desired_x_velocity(_local1); }; if (current_frame == 79){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ return (0); } } }//package
Section 69
//BossBCrouchBlock (BossBCrouchBlock) package { public class BossBCrouchBlock extends IMove { public function BossBCrouchBlock(){ starting_frame = 105; current_frame = starting_frame; frame_count = 2; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ if (_arg2 == DamageData.DAMAGE_AREA_TORSO){ return (0); }; return (_arg1); } } }//package
Section 70
//BossBDamage (BossBDamage) package { public class BossBDamage extends IMove { public function BossBDamage(){ starting_frame = 160; current_frame = starting_frame; frame_count = 6; looping = false; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 71
//BossBDeath (BossBDeath) package { public class BossBDeath extends IMove { public function BossBDeath(){ starting_frame = 175; current_frame = starting_frame; frame_count = 26; looping = false; } override public function update():void{ super.update(); if (current_frame >= 200){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); if (!face_right){ npc.move_graph.physics.set_desired_x_velocity(75); } else { npc.move_graph.physics.set_desired_x_velocity(-75); }; } } }//package
Section 72
//BossBJumpKick (BossBJumpKick) package { public class BossBJumpKick extends IMove { public function BossBJumpKick(){ var _local1:DamageFrame; super(); starting_frame = 80; current_frame = starting_frame; frame_count = 18; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 86; _local1.amount = 30; _local1.box_center = new Vector2D(95, -40); _local1.box_size = new Vector2D(120, 30); _local1.knockback = 30; _local1.allowed_areas = 0; damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 73
//BossBKick (BossBKick) package { public class BossBKick extends IMove { public function BossBKick(){ var _local1:DamageFrame; super(); starting_frame = 30; current_frame = starting_frame; frame_count = 12; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 32; _local1.amount = 20; _local1.box_center = new Vector2D(95, -40); _local1.box_size = new Vector2D(120, 100); _local1.knockback = 30; _local1.allowed_areas = 1; damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 74
//BossBMoveGraph (BossBMoveGraph) package { public class BossBMoveGraph extends NPCMoveGraph { public static const BOSS_B_BLOCK:int = 7; public static const BOSS_B_STAND:int = 0; public static const BOSS_B_JUMP_KICK:int = 6; public static const BOSS_B_CARTWHEEL:int = 2; public static const BOSS_B_DAMAGE:int = 9; public static const BOSS_B_CROUCH_BLOCK:int = 8; public static const BOSS_B_PUNCH2:int = 4; public static const BOSS_B_DEATH:int = 10; public static const BOSS_B_KICK:int = 5; public static const BOSS_B_RUN:int = 1; public static const BOSS_B_PUNCH:int = 3; public function BossBMoveGraph(){ current_move = BOSS_B_STAND; } override public function initialize(){ var _local1:int; move_list = new Array(); move_list[BOSS_B_STAND] = new BossBStand(); move_list[BOSS_B_RUN] = new BossBRun(); move_list[BOSS_B_CARTWHEEL] = new BossBCartwheel(); move_list[BOSS_B_PUNCH] = new BossBPunch(); move_list[BOSS_B_PUNCH2] = new BossBPunch2(); move_list[BOSS_B_KICK] = new BossBKick(); move_list[BOSS_B_JUMP_KICK] = new BossBJumpKick(); move_list[BOSS_B_BLOCK] = new BossBBlock(); move_list[BOSS_B_CROUCH_BLOCK] = new BossBCrouchBlock(); move_list[BOSS_B_DAMAGE] = new BossBDamage(); move_list[BOSS_B_DEATH] = new BossBDeath(); _local1 = 0; while (_local1 < move_list.length) { move_list[_local1].npc = npc; _local1++; }; } } }//package
Section 75
//BossBPunch (BossBPunch) package { public class BossBPunch extends IMove { public function BossBPunch(){ var _local1:DamageFrame; super(); starting_frame = 5; current_frame = starting_frame; frame_count = 9; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 7; _local1.amount = 20; _local1.box_center = new Vector2D(95, -40); _local1.box_size = new Vector2D(120, 100); _local1.knockback = 30; damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 76
//BossBPunch2 (BossBPunch2) package { public class BossBPunch2 extends IMove { public function BossBPunch2(){ var _local1:DamageFrame; super(); starting_frame = 15; current_frame = starting_frame; frame_count = 14; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 18; _local1.amount = 10; _local1.box_center = new Vector2D(95, -40); _local1.box_size = new Vector2D(120, 100); _local1.knockback = 30; _local1.allowed_areas = 1; damage_frame_list.push(_local1); _local1 = new DamageFrame(); _local1.index = 23; _local1.amount = 20; _local1.box_center = new Vector2D(95, -40); _local1.box_size = new Vector2D(60, 100); _local1.knockback = 30; _local1.allowed_areas = 1; damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 77
//BossBRun (BossBRun) package { public class BossBRun extends IMove { public function BossBRun(){ starting_frame = 140; current_frame = starting_frame; frame_count = 12; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ var _local1:Number; super.move_enter(); _local1 = 210; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); } } }//package
Section 78
//BossBStand (BossBStand) package { public class BossBStand extends IMove { public function BossBStand(){ starting_frame = 0; current_frame = starting_frame; frame_count = 0; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 79
//BossC (BossC) package { public class BossC extends BaseNPC { override public function on_create(){ faction_id = 1; boss_monster = true; move_graph = new BossCMoveGraph(); move_graph.npc = this; move_graph.initialize(); brain = new BossCBrain(); brain.set_parent(this); damage_data.maximum_hp = 1500; damage_data.current_hp = 1500; damage_data.head_box.set(0, -40); damage_data.head_box_size.set(50, 50); damage_data.torso_box.set(0, 0); damage_data.torso_box_size.set(50, 50); move_graph.physics.ground_point = 55; } override public function run_death_sfx():void{ Application.get_singleton().audio.sfx_event(SoundManager.SM_BOSS1_DEATH); } } }//package
Section 80
//BossC_AI (BossC_AI) package { public class BossC_AI extends BaseAI { public function BossC_AI(_arg1:BaseBrain){ super(_arg1); traversal_move = BossCMoveGraph.BOSS_C_STAND; jump_move = -1; idle_move_list.push(new AIMoveEntry(BossCMoveGraph.BOSS_C_STAND, 1, 1, 1, false)); attack_move_list.push(new AIMoveEntry(BossCMoveGraph.BOSS_C_IDLE, 0.5, 0, 0, false)); attack_move_list.push(new AIMoveEntry(BossCMoveGraph.BOSS_C_FIREBALL, 0.35, 0, 0, false)); attack_move_list.push(new AIMoveEntry(BossCMoveGraph.BOSS_C_TELEPORT, 0.15, 0.4, 0.4, false)); attack_move_list.push(new AIMoveEntry(BossCMoveGraph.BOSS_C_PUNCH, 0, 0.3, 0.3, false)); attack_move_list.push(new AIMoveEntry(BossCMoveGraph.BOSS_C_KICK, 0, 0.3, 0.3, false)); death_move_list.push(new AIMoveEntry(BossCMoveGraph.BOSS_C_DEATH, 1, 1, 1, true)); head_damage_move = BossCMoveGraph.BOSS_C_DAMAGE; torso_damage_move = BossCMoveGraph.BOSS_C_DAMAGE; engagement_distance = 1500; } } }//package
Section 81
//BossCBrain (BossCBrain) package { public class BossCBrain extends BaseBrain { public function BossCBrain(){ ai = new BossC_AI(this); } override public function update_child():void{ } } }//package
Section 82
//BossCDamage (BossCDamage) package { public class BossCDamage extends IMove { public function BossCDamage(){ starting_frame = 50; current_frame = starting_frame; frame_count = 5; looping = false; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 83
//BossCDeath (BossCDeath) package { public class BossCDeath extends IMove { public function BossCDeath(){ starting_frame = 140; current_frame = starting_frame; frame_count = 41; looping = false; } override public function update():void{ super.update(); if (current_frame >= 170){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); Application.get_singleton().audio.sfx_event(SoundManager.SM_BOSS3_DEATH); if (!face_right){ npc.move_graph.physics.set_desired_x_velocity(75); } else { npc.move_graph.physics.set_desired_x_velocity(-75); }; } } }//package
Section 84
//BossCFireball (BossCFireball) package { public class BossCFireball extends IMove { public function BossCFireball(){ starting_frame = 10; current_frame = starting_frame; frame_count = 27; looping = false; } override public function update():void{ var _local1:int; var _local2:Number; var _local3:Vector2D; super.update(); if (current_frame == 14){ _local1 = 40; _local2 = 300; if (!face_right){ _local1 = -(_local1); _local2 = -(_local2); }; _local3 = npc.move_graph.physics.position; Application.get_singleton().game.projectile_manager.create(ProjectileManager.PT_FIREBALL, (_local3.x + _local1), (_local3.y + 0), _local2, 0); }; } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); Application.get_singleton().audio.sfx_event(SoundManager.SM_BOSS3_FIREBALL); } } }//package
Section 85
//BossCIdle (BossCIdle) package { public class BossCIdle extends IMove { public function BossCIdle(){ starting_frame = 120; current_frame = starting_frame; frame_count = 10; damage_frame_list = new Array(); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 86
//BossCKick (BossCKick) package { public class BossCKick extends IMove { public function BossCKick(){ var _local1:DamageFrame; super(); starting_frame = 105; current_frame = starting_frame; frame_count = 10; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 108; _local1.amount = 30; _local1.box_center = new Vector2D(95, 30); _local1.box_size = new Vector2D(80, 60); _local1.knockback = 20; damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 87
//BossCMoveGraph (BossCMoveGraph) package { public class BossCMoveGraph extends NPCMoveGraph { public static const BOSS_C_PUNCH:int = 4; public static const BOSS_C_FIREBALL:int = 1; public static const BOSS_C_STAND:int = 0; public static const BOSS_C_IDLE:int = 6; public static const BOSS_C_DEATH:int = 7; public static const BOSS_C_KICK:int = 5; public static const BOSS_C_TELEPORT:int = 2; public static const BOSS_C_DAMAGE:int = 3; public function BossCMoveGraph(){ current_move = BOSS_C_STAND; } override public function initialize(){ var _local1:int; move_list = new Array(); move_list[BOSS_C_STAND] = new BossCStand(); move_list[BOSS_C_FIREBALL] = new BossCFireball(); move_list[BOSS_C_TELEPORT] = new BossCTeleport(); move_list[BOSS_C_DAMAGE] = new BossCDamage(); move_list[BOSS_C_PUNCH] = new BossCPunch(); move_list[BOSS_C_KICK] = new BossCKick(); move_list[BOSS_C_IDLE] = new BossCIdle(); move_list[BOSS_C_DEATH] = new BossCDeath(); _local1 = 0; while (_local1 < move_list.length) { move_list[_local1].npc = npc; _local1++; }; } } }//package
Section 88
//BossCPunch (BossCPunch) package { public class BossCPunch extends IMove { public function BossCPunch(){ var _local1:DamageFrame; super(); starting_frame = 90; current_frame = starting_frame; frame_count = 8; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 93; _local1.amount = 20; _local1.box_center = new Vector2D(95, -40); _local1.box_size = new Vector2D(80, 100); _local1.knockback = 10; damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 89
//BossCStand (BossCStand) package { public class BossCStand extends IMove { public function BossCStand(){ starting_frame = 0; current_frame = starting_frame; frame_count = 0; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 90
//BossCTeleport (BossCTeleport) package { public class BossCTeleport extends IMove { public function BossCTeleport(){ starting_frame = 40; current_frame = starting_frame; frame_count = 9; chi_move = true; chi_color = 16772846; looping = false; } override public function update():void{ var _local1:Number; var _local2:Number; var _local3:Number; super.update(); if (current_frame == 48){ _local1 = Application.get_singleton().game.player.move_graph.physics.position.x; _local2 = ((Math.random() * 300) + 100); if (Math.random() > 0.5){ _local2 = -(_local2); }; _local3 = (_local1 + _local2); if (_local3 < -600){ _local3 = -600; }; if (_local3 > 600){ _local3 = 600; }; npc.set_position(_local3, 230); }; } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); Application.get_singleton().audio.sfx_event(SoundManager.SM_BOSS3_TELEPORT); } } }//package
Section 91
//Cave1 (Cave1) package { import flash.display.*; public dynamic class Cave1 extends MovieClip { public var stalag2:MovieClip; public var fill1:MovieClip; public var fill3:MovieClip; public var fill2:MovieClip; public var road1:MovieClip; public var stalag:MovieClip; public var cliff:MovieClip; } }//package
Section 92
//Cave2 (Cave2) package { import flash.display.*; public dynamic class Cave2 extends MovieClip { public var stalag3:MovieClip; public var road123:MovieClip; public var road1:MovieClip; public var stalaga:MovieClip; public var road14:MovieClip; public var road12:MovieClip; public var stalag2a:MovieClip; public var road1a:MovieClip; public var road13:MovieClip; public var fill:MovieClip; public var stalag:MovieClip; public var platform:MovieClip; public var small_platform:MovieClip; public var cliff:MovieClip; } }//package
Section 93
//CaveLevel1 (CaveLevel1) package { public class CaveLevel1 extends Level { public function CaveLevel1(){ music_id = 3; } override public function level_setup():void{ var _local1:*; level_object = new Cave1(); player_start = new Vector2D(-888, 210); camera_left_limit = -2000; camera_right_limit = 1275; finish_zone_active = true; finish_zone_center = new Vector2D(1700, 280); finish_zone_size = new Vector2D(150, 900); respawn_points.push(new Vector2D(-650, 220)); respawn_points.push(new Vector2D(-340, 220)); respawn_points.push(new Vector2D(-50, 220)); _local1 = new PopulationNode(); _local1.location = new Vector2D(600, 210); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 2; _local1.enemy_timer = 0; _local1.enemy_rate = 0.7; _local1.start_distance = 600; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(-100, 210); _local1.enemy_type = PopulationNode.PT_ENEMY_K; _local1.total_enemies = 1; _local1.enemy_timer = 0; _local1.enemy_rate = 0.1; _local1.start_distance = 1500; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(1200, 210); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 3; _local1.enemy_timer = 0; _local1.enemy_rate = 1; _local1.start_distance = 1200; population_nodes.push(_local1); } } }//package
Section 94
//CaveLevel2 (CaveLevel2) package { public class CaveLevel2 extends Level { override public function level_setup():void{ var _local1:*; level_object = new Cave2(); engage_count = 2; player_start = new Vector2D(-888, 230); camera_left_limit = -2000; camera_right_limit = 1275; finish_zone_active = true; finish_zone_center = new Vector2D(1500, -200); finish_zone_size = new Vector2D(200, 200); respawn_points.push(new Vector2D(-800, 230)); respawn_points.push(new Vector2D(-13, -132)); _local1 = new PopulationNode(); _local1.location = new Vector2D(-500, 228); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 1; _local1.enemy_timer = 0; _local1.enemy_rate = 0.5; _local1.start_distance = 1500; _local1.spread_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(200, -165); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 2; _local1.enemy_timer = 0; _local1.enemy_rate = 3; _local1.start_distance = 500; _local1.spread_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(700, -170); _local1.enemy_type = PopulationNode.PT_ENEMY_E; _local1.total_enemies = 2; _local1.enemy_timer = 0; _local1.enemy_rate = 0.25; _local1.start_distance = 600; _local1.spread_distance = 200; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(750, -170); _local1.enemy_type = PopulationNode.PT_ENEMY_K; _local1.total_enemies = 1; _local1.enemy_timer = 0; _local1.enemy_rate = 0.25; _local1.start_distance = 600; _local1.spread_distance = 100; population_nodes.push(_local1); } public function CaveLevel1(){ music_id = 3; } override public function setup_pathfind(_arg1:Pathfind):void{ var _local2:PathfindZone; var _local3:PathfindConnection; _local2 = new PathfindZone(-2000, -660, 276); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -714; _local3.left_side = false; _local3.jump_connection = true; _local3.zone_connection = 1; _local2.connection_list.push(_local3); _local3 = new PathfindConnection(); _local3.x_boundary = -700; _local3.left_side = false; _local3.jump_connection = false; _local3.zone_connection = 8; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-714, -603, 203); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -603; _local3.left_side = false; _local3.jump_connection = true; _local3.zone_connection = 2; _local2.connection_list.push(_local3); _local3 = new PathfindConnection(); _local3.x_boundary = -720; _local3.left_side = true; _local3.jump_connection = false; _local3.zone_connection = 0; _local2.connection_list.push(_local3); _local3 = new PathfindConnection(); _local3.x_boundary = -603; _local3.left_side = false; _local3.jump_connection = false; _local3.zone_connection = 8; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-653, -166, 158); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -176; _local3.left_side = false; _local3.jump_connection = true; _local3.zone_connection = 3; _local2.connection_list.push(_local3); _local3 = new PathfindConnection(); _local3.x_boundary = -603; _local3.left_side = true; _local3.jump_connection = false; _local3.zone_connection = 1; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-186, -51, 106); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -140; _local3.left_side = true; _local3.jump_connection = true; _local3.zone_connection = 4; _local2.connection_list.push(_local3); _local3 = new PathfindConnection(); _local3.x_boundary = -166; _local3.left_side = true; _local3.jump_connection = false; _local3.zone_connection = 2; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-253, -125, 46); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -234; _local3.left_side = true; _local3.jump_connection = true; _local3.zone_connection = 5; _local2.connection_list.push(_local3); _local3 = new PathfindConnection(); _local3.x_boundary = -135; _local3.left_side = false; _local3.jump_connection = false; _local3.zone_connection = 3; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-655, -216, -18); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -234; _local3.left_side = false; _local3.jump_connection = true; _local3.zone_connection = 6; _local2.connection_list.push(_local3); _local3 = new PathfindConnection(); _local3.x_boundary = -226; _local3.left_side = false; _local3.jump_connection = false; _local3.zone_connection = 4; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-226, -97, -81); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -107; _local3.left_side = false; _local3.jump_connection = true; _local3.zone_connection = 7; _local2.connection_list.push(_local3); _local3 = new PathfindConnection(); _local3.x_boundary = -216; _local3.left_side = true; _local3.jump_connection = false; _local3.zone_connection = 5; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-66, 2000, -125); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -66; _local3.left_side = true; _local3.jump_connection = false; _local3.zone_connection = 6; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-660, -80, 276); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -700; _local3.left_side = true; _local3.jump_connection = false; _local3.zone_connection = 0; _local2.connection_list.push(_local3); _local3 = new PathfindConnection(); _local3.x_boundary = -600; _local3.left_side = true; _local3.jump_connection = true; _local3.zone_connection = 1; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); } } }//package
Section 95
//DamageData (DamageData) package { public class DamageData { var head_box:Vector2D; var torso_box_size:Vector2D; var current_hp:int; var maximum_hp:int; var death_timer:Number; var head_box_size:Vector2D; var torso_box:Vector2D; public static const DAMAGE_AREA_TORSO = 1; public static const DAMAGE_AREA_HEAD = 0; public function DamageData(){ death_timer = 0; head_box = new Vector2D(0, 0); head_box_size = new Vector2D(0, 0); torso_box = new Vector2D(0, 0); torso_box_size = new Vector2D(0, 0); } } }//package
Section 96
//DamageEvent (DamageEvent) package { public class DamageEvent { var world_location:Vector2D; var multiple_hit:Boolean; var faction_id:int; var unblockable:Boolean; var npc_ptr:BaseNPC; var damage_size:Vector2D; var npc_location:Vector2D; var allowed_areas:int; var hp_amount:int; var knockback:int; public function DamageEvent(){ hp_amount = 0; npc_ptr = null; faction_id = -1; multiple_hit = false; unblockable = false; knockback = 0; npc_location = new Vector2D(0, 0); world_location = new Vector2D(0, 0); damage_size = new Vector2D(0, 0); allowed_areas = 2; } } }//package
Section 97
//DamageFrame (DamageFrame) package { public class DamageFrame { var multiple_hit:Boolean; var box_center:Vector2D; var allowed_areas:int; var index:int; var box_size:Vector2D; var amount:int; var knockback:int; public function DamageFrame(){ multiple_hit = false; knockback = 0; allowed_areas = 2; box_center = new Vector2D(0, 0); box_size = new Vector2D(0, 0); } } }//package
Section 98
//DamageSystem (DamageSystem) package { public class DamageSystem { var game_ptr:Game; public function DamageSystem(_arg1:Game){ game_ptr = _arg1; } public function test_entity(_arg1:BaseNPC, _arg2:DamageEvent):Boolean{ var _local3:Boolean; var _local4:*; var _local5:*; var _local6:Boolean; var _local7:Boolean; _local3 = false; _local4 = (_arg1.x + _arg1.damage_data.head_box.x); _local5 = (_arg1.y + _arg1.damage_data.head_box.y); _local6 = true; _local7 = true; if (_arg2.allowed_areas == 0){ _local7 = false; }; if (_arg2.allowed_areas == 1){ _local6 = false; }; if (_local6){ if (game_ptr.world_database.box_overlap_2D(_arg2.world_location.x, _arg2.world_location.y, _arg2.damage_size.x, _arg2.damage_size.y, (_arg1.x + _arg1.damage_data.head_box.x), (_arg1.y + _arg1.damage_data.head_box.y), _arg1.damage_data.head_box_size.x, _arg1.damage_data.head_box_size.y)){ _local3 = (_arg1.x > _arg2.npc_location.x); return (_arg1.receive_damage(_local3, _arg2, DamageData.DAMAGE_AREA_HEAD)); }; }; if (_local7){ _local4 = (_arg1.x + _arg1.damage_data.torso_box.x); _local5 = (_arg1.y + _arg1.damage_data.torso_box.y); if (game_ptr.world_database.box_overlap_2D(_arg2.world_location.x, _arg2.world_location.y, _arg2.damage_size.x, _arg2.damage_size.y, (_arg1.x + _arg1.damage_data.torso_box.x), (_arg1.y + _arg1.damage_data.torso_box.y), _arg1.damage_data.torso_box_size.x, _arg1.damage_data.torso_box_size.y)){ _local3 = (_arg1.x > _arg2.npc_location.x); return (_arg1.receive_damage(_local3, _arg2, DamageData.DAMAGE_AREA_TORSO)); }; }; return (false); } function test_intersection(_arg1:Vector2D, _arg2:Number, _arg3:Number, _arg4:Vector2D, _arg5:Vector2D):Boolean{ var _local6:*; var _local7:*; _local6 = (_arg4.x + _arg2); _local7 = (_arg4.y + _arg3); if (_arg1.x < (_local6 + _arg5.x)){ if (_arg1.x > (_local6 - _arg5.x)){ if (_arg1.y < (_local7 + _arg5.y)){ if (_arg1.y > (_local7 - _arg5.y)){ return (true); }; }; }; }; return (false); } public function execute_damage(_arg1:DamageEvent):Boolean{ var _local2:Boolean; var _local3:int; var _local4:BaseNPC; _local2 = false; if (_arg1.faction_id == 0){ if (game_ptr.populator.npc_list){ _local3 = 0; while (_local3 < game_ptr.populator.npc_list.length) { _local4 = game_ptr.populator.npc_list[_local3]; if (_local4){ if (_local4.damage_data){ if (test_entity(_local4, _arg1)){ _local2 = true; if (_arg1.multiple_hit == false){ break; }; }; }; }; _local3++; }; }; } else { if (test_entity(Application.get_singleton().game.player, _arg1)){ _local2 = true; }; }; return (_local2); } } }//package
Section 99
//DeathZone (DeathZone) package { public class DeathZone { var size:Vector2D; var position:Vector2D; var respawn_location:Vector2D; } }//package
Section 100
//Dojo1 (Dojo1) package { import flash.display.*; public dynamic class Dojo1 extends MovieClip { public var floating:MovieClip; public var road1:MovieClip; public var mountain1:MovieClip; public var mountain2:MovieClip; public var road1b:MovieClip; public var fill:MovieClip; public var basefloor:MovieClip; public var cliff:MovieClip; } }//package
Section 101
//DojoLevel (DojoLevel) package { public class DojoLevel extends Level { public function DojoLevel(){ music_id = 1; } override public function level_setup():void{ var _local1:*; music_id = 1; level_object = new Dojo1(); player_start = new Vector2D(-322, 120); camera_left_limit = -500; camera_right_limit = 1000; finish_zone_active = true; finish_zone_center = new Vector2D(1300, 100); finish_zone_size = new Vector2D(200, 400); _local1 = new PopulationNode(); _local1.location = new Vector2D(700, 120); _local1.total_enemies = 1; _local1.enemy_type = PopulationNode.PT_ENEMY_E; _local1.enemy_timer = 0; _local1.enemy_rate = 0; _local1.start_distance = 400; population_nodes.push(_local1); } } }//package
Section 102
//EnemyA (EnemyA) package { import flash.geom.*; public class EnemyA extends BaseNPC { override public function on_create(){ var _local1:ColorTransform; faction_id = 1; move_graph = new EnemyAMoveGraph(); move_graph.npc = this; move_graph.initialize(); brain = new EnemyABrain(); brain.set_parent(this); global_damage_multiplier = 0.6; damage_data.maximum_hp = 150; damage_data.current_hp = 150; damage_data.head_box.set(0, -40); damage_data.head_box_size.set(50, 50); damage_data.torso_box.set(0, 0); damage_data.torso_box_size.set(50, 50); _local1 = new ColorTransform(); _local1.color = 7571135; this.transform.colorTransform = _local1; } } }//package
Section 103
//EnemyA_AI (EnemyA_AI) package { public class EnemyA_AI extends BaseAI { public function EnemyA_AI(_arg1:BaseBrain){ super(_arg1); traversal_move = EnemyAMoveGraph.ENEMY_A_MOVE_RUN; jump_move = EnemyAMoveGraph.ENEMY_A_JUMP; idle_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_STAND, 0.5, 1, 1, false)); idle_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_IDLE_POINT, 0.5, 1, 1, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_PUNCH, 0.4, 0.4, 0.4, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH, 0.1, 0.1, 0.1, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH_PUNCH, 0.1, 0.1, 0.1, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_STAND, 0.4, 0.4, 0.4, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_BLOCK, 0, 0, 0, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH_BLOCK, 0, 0, 0, true)); death_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_DEATH, 1, 1, 1, true)); head_damage_move = EnemyAMoveGraph.ENEMY_A_DAMAGE_HEAD; torso_damage_move = EnemyAMoveGraph.ENEMY_A_DAMAGE_TORSO; engagement_distance = 80; } } }//package
Section 104
//EnemyABlock (EnemyABlock) package { public class EnemyABlock extends IMove { public function EnemyABlock(){ starting_frame = 140; current_frame = starting_frame; frame_count = 1; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ if (_arg2 == DamageData.DAMAGE_AREA_HEAD){ return (0); }; return (_arg1); } } }//package
Section 105
//EnemyABrain (EnemyABrain) package { public class EnemyABrain extends BaseBrain { public function EnemyABrain(){ ai = new EnemyA_AI(this); } override public function update_child():void{ } } }//package
Section 106
//EnemyACrouch (EnemyACrouch) package { public class EnemyACrouch extends IMove { public function EnemyACrouch(){ starting_frame = 5; current_frame = starting_frame; frame_count = 1; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ if (_arg2 == DamageData.DAMAGE_AREA_HEAD){ return (0); }; return (_arg1); } } }//package
Section 107
//EnemyACrouchBlock (EnemyACrouchBlock) package { public class EnemyACrouchBlock extends IMove { public function EnemyACrouchBlock(){ starting_frame = 145; current_frame = starting_frame; frame_count = 1; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ if (_arg2 == DamageData.DAMAGE_AREA_TORSO){ return (0); }; return (_arg1); } } }//package
Section 108
//EnemyACrouchPunch (EnemyACrouchPunch) package { public class EnemyACrouchPunch extends IMove { public function EnemyACrouchPunch(){ var _local1:DamageFrame; super(); starting_frame = 75; current_frame = starting_frame; frame_count = 14; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 77; _local1.amount = 25; _local1.box_center = new Vector2D(55, 0); _local1.box_size = new Vector2D(20, 20); damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } override public function modulate_damage(_arg1:Number, _arg2:int):Number{ if (_arg2 == DamageData.DAMAGE_AREA_HEAD){ return (0); }; return (_arg1); } } }//package
Section 109
//EnemyADamageHead (EnemyADamageHead) package { public class EnemyADamageHead extends IMove { public function EnemyADamageHead(){ starting_frame = 10; current_frame = starting_frame; frame_count = 8; looping = false; } override public function update():void{ super.update(); if (current_frame >= 17){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 110
//EnemyADamageTorso (EnemyADamageTorso) package { public class EnemyADamageTorso extends IMove { public function EnemyADamageTorso(){ starting_frame = 20; current_frame = starting_frame; frame_count = 7; looping = false; } override public function update():void{ super.update(); if (current_frame >= 22){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 111
//EnemyADeath (EnemyADeath) package { public class EnemyADeath extends IMove { public function EnemyADeath(){ starting_frame = 100; current_frame = starting_frame; frame_count = 25; looping = false; } override public function update():void{ super.update(); if (current_frame >= 115){ npc.move_graph.physics.set_desired_x_velocity(0); }; } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); if (!face_right){ npc.move_graph.physics.set_desired_x_velocity(150); } else { npc.move_graph.physics.set_desired_x_velocity(-150); }; } } }//package
Section 112
//EnemyAIdlePoint (EnemyAIdlePoint) package { public class EnemyAIdlePoint extends IMove { public function EnemyAIdlePoint(){ starting_frame = 170; current_frame = starting_frame; frame_count = 29; looping = false; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 113
//EnemyAJump (EnemyAJump) package { public class EnemyAJump extends IMove { public function EnemyAJump(){ starting_frame = 220; current_frame = starting_frame; frame_count = 10; looping = false; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ var _local1:Number; super.move_enter(); _local1 = 150; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); npc.move_graph.physics.set_desired_y_velocity(-250); } } }//package
Section 114
//EnemyAKnifeThrow (EnemyAKnifeThrow) package { public class EnemyAKnifeThrow extends IMove { public function EnemyAKnifeThrow(){ starting_frame = 250; current_frame = starting_frame; frame_count = 13; looping = false; } override public function update():void{ var _local1:int; var _local2:Number; var _local3:Vector2D; super.update(); if (current_frame == 0x0101){ _local1 = 40; _local2 = 300; if (!face_right){ _local1 = -(_local1); _local2 = -(_local2); }; _local3 = npc.move_graph.physics.position; Application.get_singleton().game.projectile_manager.create(ProjectileManager.PT_KNIFE, (_local3.x + _local1), (_local3.y - 40), _local2, 0); }; } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); Application.get_singleton().audio.sfx_event(SoundManager.SM_KNIFE_THROW); } } }//package
Section 115
//EnemyAMoveGraph (EnemyAMoveGraph) package { public class EnemyAMoveGraph extends NPCMoveGraph { public static const ENEMY_A_PUNCH:int = 6; public static const ENEMY_A_CROUCH_PUNCH:int = 7; public static const ENEMY_A_KNIFE_THROW:int = 12; public static const ENEMY_A_BLOCK:int = 8; public static const ENEMY_A_DAMAGE_HEAD:int = 3; public static const ENEMY_A_CROUCH_BLOCK:int = 9; public static const ENEMY_A_STAND:int = 0; public static const ENEMY_A_JUMP:int = 11; public static const ENEMY_A_CROUCH:int = 2; public static const ENEMY_A_DAMAGE_TORSO:int = 4; public static const ENEMY_A_MOVE_RUN:int = 1; public static const ENEMY_A_IDLE_POINT:int = 10; public static const ENEMY_A_DEATH:int = 5; public function EnemyAMoveGraph(){ current_move = ENEMY_A_STAND; } override public function initialize(){ move_list = new Array(5); move_list[ENEMY_A_STAND] = new EnemyAMoveStand(); move_list[ENEMY_A_STAND].npc = npc; move_list[ENEMY_A_MOVE_RUN] = new EnemyAMoveRun(); move_list[ENEMY_A_MOVE_RUN].npc = npc; move_list[ENEMY_A_CROUCH] = new EnemyACrouch(); move_list[ENEMY_A_CROUCH].npc = npc; move_list[ENEMY_A_DAMAGE_HEAD] = new EnemyADamageHead(); move_list[ENEMY_A_DAMAGE_HEAD].npc = npc; move_list[ENEMY_A_DAMAGE_TORSO] = new EnemyADamageTorso(); move_list[ENEMY_A_DAMAGE_TORSO].npc = npc; move_list[ENEMY_A_DEATH] = new EnemyADeath(); move_list[ENEMY_A_DEATH].npc = npc; move_list[ENEMY_A_PUNCH] = new EnemyAPunch(); move_list[ENEMY_A_PUNCH].npc = npc; move_list[ENEMY_A_CROUCH_PUNCH] = new EnemyACrouchPunch(); move_list[ENEMY_A_CROUCH_PUNCH].npc = npc; move_list[ENEMY_A_BLOCK] = new EnemyABlock(); move_list[ENEMY_A_BLOCK].npc = npc; move_list[ENEMY_A_CROUCH_BLOCK] = new EnemyACrouchBlock(); move_list[ENEMY_A_CROUCH_BLOCK].npc = npc; move_list[ENEMY_A_IDLE_POINT] = new EnemyAIdlePoint(); move_list[ENEMY_A_IDLE_POINT].npc = npc; move_list[ENEMY_A_JUMP] = new EnemyAJump(); move_list[ENEMY_A_JUMP].npc = npc; move_list[ENEMY_A_KNIFE_THROW] = new EnemyAKnifeThrow(); move_list[ENEMY_A_KNIFE_THROW].npc = npc; } } }//package
Section 116
//EnemyAMoveRun (EnemyAMoveRun) package { public class EnemyAMoveRun extends IMove { public function EnemyAMoveRun(){ starting_frame = 33; current_frame = starting_frame; frame_count = 12; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ var _local1:Number; super.move_enter(); _local1 = 125; if (!face_right){ _local1 = -(_local1); }; npc.move_graph.physics.set_desired_x_velocity(_local1); } } }//package
Section 117
//EnemyAMoveStand (EnemyAMoveStand) package { public class EnemyAMoveStand extends IMove { public function EnemyAMoveStand(){ starting_frame = 0; current_frame = starting_frame; frame_count = 0; looping = true; } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (true); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 118
//EnemyAPunch (EnemyAPunch) package { public class EnemyAPunch extends IMove { public function EnemyAPunch(){ var _local1:DamageFrame; super(); starting_frame = 50; current_frame = starting_frame; frame_count = 12; damage_frame_list = new Array(); _local1 = new DamageFrame(); _local1.index = 52; _local1.amount = 25; _local1.box_center = new Vector2D(40, -35); _local1.box_size = new Vector2D(20, 20); damage_frame_list.push(_local1); } override public function update():void{ super.update(); } override public function input_transition_allowed():Boolean{ return (animation_finished); } override public function move_enter():void{ super.move_enter(); npc.move_graph.physics.set_desired_x_velocity(0); } } }//package
Section 119
//EnemyB (EnemyB) package { import flash.geom.*; public class EnemyB extends EnemyA { override public function on_create(){ var _local1:ColorTransform; faction_id = 1; move_graph = new EnemyAMoveGraph(); move_graph.npc = this; move_graph.initialize(); brain = new EnemyBBrain(); brain.set_parent(this); damage_data.maximum_hp = 325; damage_data.current_hp = 325; damage_data.head_box.set(0, -40); damage_data.head_box_size.set(50, 50); damage_data.torso_box.set(0, 0); damage_data.torso_box_size.set(50, 50); _local1 = new ColorTransform(); _local1.color = 11482421; this.transform.colorTransform = _local1; } } }//package
Section 120
//EnemyB_AI (EnemyB_AI) package { public class EnemyB_AI extends BaseAI { public function EnemyB_AI(_arg1:BaseBrain){ super(_arg1); traversal_move = EnemyAMoveGraph.ENEMY_A_MOVE_RUN; jump_move = EnemyAMoveGraph.ENEMY_A_JUMP; idle_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_STAND, 0.5, 1, 1, false)); idle_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_IDLE_POINT, 0.5, 1, 1, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_PUNCH, 0.4, 0.3, 0.15, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH, 0.1, 0.05, 0.05, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH_PUNCH, 0.1, 0.05, 0.2, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_STAND, 0, 0.05, 0.05, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_BLOCK, 0.3, 0.5, 0.05, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH_BLOCK, 0.1, 0.05, 0.5, true)); death_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_DEATH, 1, 1, 1, true)); head_damage_move = EnemyAMoveGraph.ENEMY_A_DAMAGE_HEAD; torso_damage_move = EnemyAMoveGraph.ENEMY_A_DAMAGE_TORSO; engagement_distance = 80; } } }//package
Section 121
//EnemyBBrain (EnemyBBrain) package { public class EnemyBBrain extends BaseBrain { public function EnemyBBrain(){ ai = new EnemyB_AI(this); } override public function update_child():void{ } } }//package
Section 122
//EnemyE (EnemyE) package { import flash.geom.*; public class EnemyE extends EnemyA { override public function on_create(){ var _local1:ColorTransform; faction_id = 1; move_graph = new EnemyAMoveGraph(); move_graph.npc = this; move_graph.initialize(); brain = new EnemyEBrain(); brain.set_parent(this); global_damage_multiplier = 0.5; damage_data.maximum_hp = 150; damage_data.current_hp = 150; damage_data.head_box.set(0, -40); damage_data.head_box_size.set(50, 50); damage_data.torso_box.set(0, 0); damage_data.torso_box_size.set(50, 50); _local1 = new ColorTransform(); _local1.color = 0x6C6C6C; this.transform.colorTransform = _local1; } } }//package
Section 123
//EnemyE_AI (EnemyE_AI) package { public class EnemyE_AI extends BaseAI { public function EnemyE_AI(_arg1:BaseBrain){ super(_arg1); traversal_move = EnemyAMoveGraph.ENEMY_A_MOVE_RUN; jump_move = EnemyAMoveGraph.ENEMY_A_JUMP; idle_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_STAND, 0.5, 1, 1, false)); idle_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_IDLE_POINT, 0.5, 1, 1, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_PUNCH, 0.3, 0.3, 0.3, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH, 0, 0.1, 0.1, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH_PUNCH, 0, 0.1, 0.1, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_STAND, 0.7, 0.5, 0.5, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_BLOCK, 0, 0, 0, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH_BLOCK, 0, 0, 0, true)); death_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_DEATH, 1, 1, 1, true)); head_damage_move = EnemyAMoveGraph.ENEMY_A_DAMAGE_HEAD; torso_damage_move = EnemyAMoveGraph.ENEMY_A_DAMAGE_TORSO; engagement_distance = 80; } } }//package
Section 124
//EnemyEBrain (EnemyEBrain) package { public class EnemyEBrain extends BaseBrain { public function EnemyEBrain(){ ai = new EnemyE_AI(this); } override public function update_child():void{ } } }//package
Section 125
//EnemyHealthBar (EnemyHealthBar) package { import flash.display.*; public class EnemyHealthBar extends MovieClip { var fill_bar:Shape; var parent_clip:MovieClip; public function EnemyHealthBar(_arg1:MovieClip){ parent_clip = _arg1; parent_clip.addChild(this); this.x = -30; this.y = -90; this.alpha = 1; fill_bar = new Shape(); fill_bar.graphics.beginFill(0xFF0000, 1); fill_bar.graphics.drawRect(0, 0, -49, 5); fill_bar.x = (this.x + 50); fill_bar.y = (this.y + 1); fill_bar.graphics.endFill(); parent_clip.addChild(fill_bar); } public function destroy_bar():void{ parent_clip.removeChild(fill_bar); parent_clip.removeChild(this); fill_bar = null; } public function notify_health_change(_arg1:Number){ fill_bar.scaleX = _arg1; } } }//package
Section 126
//EnemyK (EnemyK) package { import flash.geom.*; public class EnemyK extends EnemyA { override public function on_create(){ var _local1:ColorTransform; faction_id = 1; move_graph = new EnemyAMoveGraph(); move_graph.npc = this; move_graph.initialize(); brain = new EnemyKBrain(); brain.set_parent(this); damage_data.maximum_hp = 300; damage_data.current_hp = 300; damage_data.head_box.set(0, -40); damage_data.head_box_size.set(50, 50); damage_data.torso_box.set(0, 0); damage_data.torso_box_size.set(50, 50); _local1 = new ColorTransform(); _local1.color = 3101989; this.transform.colorTransform = _local1; } } }//package
Section 127
//EnemyK_AI (EnemyK_AI) package { public class EnemyK_AI extends BaseAI { public function EnemyK_AI(_arg1:BaseBrain){ super(_arg1); always_engage = true; traversal_move = EnemyAMoveGraph.ENEMY_A_MOVE_RUN; jump_move = EnemyAMoveGraph.ENEMY_A_JUMP; idle_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_STAND, 0.5, 1, 1, false)); idle_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_IDLE_POINT, 0.5, 1, 1, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_KNIFE_THROW, 0.8, 0.2, 0.05, true, 50)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_PUNCH, 0, 0.2, 0.05, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH, 0, 0.05, 0.05, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH_PUNCH, 0, 0.05, 0.2, false)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_STAND, 0.2, 0.05, 0.05, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_BLOCK, 0, 0.6, 0.05, true)); attack_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_CROUCH_BLOCK, 0, 0.05, 0.6, true)); death_move_list.push(new AIMoveEntry(EnemyAMoveGraph.ENEMY_A_DEATH, 1, 1, 1, true)); head_damage_move = EnemyAMoveGraph.ENEMY_A_DAMAGE_HEAD; torso_damage_move = EnemyAMoveGraph.ENEMY_A_DAMAGE_TORSO; engagement_distance = 300; } } }//package
Section 128
//EnemyKBrain (EnemyKBrain) package { public class EnemyKBrain extends BaseBrain { public function EnemyKBrain(){ ai = new EnemyK_AI(this); } override public function update_child():void{ } } }//package
Section 129
//Fireball (Fireball) package { public dynamic class Fireball extends Projectile { } }//package
Section 130
//FloorTile (FloorTile) package { import flash.display.*; public class FloorTile extends BaseTile { override public function initialize(_arg1:MovieClip):void{ collision_type = CTYPE_GROUND; super.initialize(_arg1); } } }//package
Section 131
//Game (Game) package { import flash.events.*; import flash.display.*; import flash.system.*; import flash.utils.*; public class Game extends Sprite { var score_manager:ScoreManager; var populator:Populator; var pause_overlay:MovieClip; var game_win:Boolean; var camera:GameCamera; var game_interface:Interface; var death_counter:int; var game_paused:Boolean; var time_adjust:Number; var splash_screen:SplashScreen; var projectile_manager:ProjectileManager; var damage:DamageSystem; var pathfind:Pathfind; var time_counter:int; var player_respawn_location:Vector2D; var world_database:WorldDatabase; var last_player_health:Number; var desired_level:int; var fade_time:int; var gameflow_state:int; var seconds_since_game_start:int; var last_fps:Number; var fade_timer:int; var fade_shape:Shape; var player:Avatar; var kill_player:Boolean; var level_manager:LevelManager; var landscape_container:Sprite; public static const GF_GAME_OVER:int = 5; public static const GF_RESPAWNING_PLAYER:int = 4; public static const GF_FADING_OUT:int = 2; public static const GF_FADING_IN:int = 0; public static const GF_PLAYING:int = 1; public static const GF_WIN:int = 6; public static const GF_LOADING_BLACK:int = 3; public function Game(){ desired_level = 0; seconds_since_game_start = 0; time_counter = 0; time_adjust = 0; last_fps = 0; fade_time = 7; fade_timer = 0; fade_shape = null; gameflow_state = GF_PLAYING; kill_player = false; death_counter = 0; last_player_health = 0; game_win = false; game_paused = false; } public function mouse_click_handler(_arg1:MouseEvent):void{ if (game_interface){ game_interface.notify_mouse_click(_arg1); }; } public function switch_gameflow_state(_arg1:int):void{ var _local2:Level; var _local3:Level; var _local4:Level; if (_arg1 == GF_PLAYING){ Application.get_singleton().addEventListener(MouseEvent.CLICK, mouse_click_handler); } else { Application.get_singleton().removeEventListener(MouseEvent.CLICK, mouse_click_handler); }; if ((((_arg1 == GF_LOADING_BLACK)) || ((_arg1 == GF_FADING_OUT)))){ if (fade_shape == null){ fade_shape = new Shape(); fade_shape.graphics.beginFill(0, 1); fade_shape.graphics.drawRect(0, 0, 750, 500); fade_shape.x = 0; fade_shape.y = 0; fade_shape.graphics.endFill(); Application.get_singleton().addChild(fade_shape); }; }; if (_arg1 == GF_LOADING_BLACK){ fade_timer = fade_time; if (desired_level != -1){ level_manager.start_level(desired_level); }; player = new Avatar(); Application.get_singleton().layer_characters.addChild(player); _local2 = level_manager.get_current_level(); player.set_position(_local2.player_start.x, _local2.player_start.y); camera.reset(_local2.player_start.x, _local2.player_start.y); if (last_player_health != 0){ player.damage_data.current_hp = (last_player_health + (player.damage_data.maximum_hp * 0.4)); if (player.damage_data.current_hp > player.damage_data.maximum_hp){ player.damage_data.current_hp = player.damage_data.maximum_hp; }; }; game_interface = new Interface(); Application.get_singleton().layer_interface.addChild(game_interface); game_interface.create(); force_fade_to_top(); } else { if (_arg1 == GF_PLAYING){ Application.get_singleton().removeChild(fade_shape); fade_shape = null; if (((Application.get_singleton().audio.fading_out) || ((Application.get_singleton().audio.music_volume == 0)))){ Application.get_singleton().audio.start_music(level_manager.get_current_level().music_id); }; player.move_graph.internal_switch_move(AvatarMoveGraph.AVATAR_MOVE, true); } else { if (_arg1 == GF_FADING_IN){ fade_timer = fade_time; force_fade_to_top(); } else { if (_arg1 == GF_FADING_OUT){ fade_timer = fade_time; fade_shape.alpha = 0; _local3 = level_manager.get_current_level(); _local4 = level_manager.get_next_level(); if (_local4){ if (((!((_local4.music_id == _local3.music_id))) && (!((_local4.music_id == -1))))){ Application.get_singleton().audio.music_fade_out(); }; }; Application.get_singleton().layer_interface.removeChild(game_interface); game_interface = null; last_player_health = player.damage_data.current_hp; Application.get_singleton().layer_characters.removeChild(player); player = null; force_fade_to_top(); } else { if (_arg1 == GF_GAME_OVER){ Application.get_singleton().audio.music_fade_out(); splash_screen = new GameOverScreen(); splash_screen.initialize(); } else { if (_arg1 == GF_WIN){ Application.get_singleton().audio.start_music(0, 0.8); splash_screen = new GameWinScreen(); splash_screen.initialize(); }; }; }; }; }; }; gameflow_state = _arg1; } public function shutdown():void{ if (splash_screen){ splash_screen.shutdown(); splash_screen = null; }; level_manager.clear(); populator.clear_npcs(); Application.get_singleton().layer_interface.removeChild(game_interface); game_interface = null; Application.get_singleton().layer_characters.removeChild(player); player = null; } public function initialize():void{ damage = new DamageSystem(this); world_database = new WorldDatabase(this); camera = new GameCamera(); pathfind = new Pathfind(); populator = new Populator(this); score_manager = new ScoreManager(); level_manager = new LevelManager(); projectile_manager = new ProjectileManager(); switch_gameflow_state(GF_LOADING_BLACK); seconds_since_game_start = 0; stage.focus = Application.get_singleton(); } public function force_fade_to_top():void{ Application.get_singleton().setChildIndex(fade_shape, (Application.get_singleton().numChildren - 1)); } public function signal_pause():void{ if (gameflow_state == GF_PLAYING){ if (game_paused){ if (pause_overlay){ Application.get_singleton().removeChild(pause_overlay); pause_overlay = null; }; game_paused = false; } else { pause_overlay = new pause_screen(); pause_overlay.x = 350; pause_overlay.y = 250; Application.get_singleton().addChild(pause_overlay); game_paused = true; }; }; } public function execute_damage(_arg1:DamageEvent):Boolean{ return (damage.execute_damage(_arg1)); } public function signal_player_death(_arg1:Number, _arg2:Number, _arg3:Boolean=false){ kill_player = true; if (_arg3){ death_counter = 1; } else { death_counter = 50; }; player_respawn_location = new Vector2D(_arg1, _arg2); score_manager.send_event(ScoreManager.SCORE_EVENT_PLAYER_DEATH); Application.get_singleton().audio.sfx_event(SoundManager.SM_PLAYER_DEATH); } public function update():void{ var _local1:Number; var _local2:Boolean; var _local3:Number; var _local4:Number; var _local5:int; var _local6:int; if (game_paused){ return; }; if (((game_win) && (!((gameflow_state == GF_WIN))))){ switch_gameflow_state(GF_WIN); }; if ((((score_manager.player_lives == 0)) && (!((gameflow_state == GF_GAME_OVER))))){ switch_gameflow_state(GF_GAME_OVER); }; _local1 = (getTimer() / 1000); _local2 = false; switch (gameflow_state){ case GF_PLAYING: _local2 = true; break; case GF_FADING_OUT: fade_timer--; fade_shape.alpha = (1 - (fade_timer / fade_time)); if (fade_timer == 0){ switch_gameflow_state(GF_LOADING_BLACK); }; break; case GF_LOADING_BLACK: fade_timer--; fade_shape.alpha = 1; if (fade_timer == 0){ switch_gameflow_state(GF_FADING_IN); }; break; case GF_FADING_IN: _local2 = true; fade_timer--; fade_shape.alpha = (fade_timer / fade_time); if (fade_timer == 0){ switch_gameflow_state(GF_PLAYING); }; break; case GF_GAME_OVER: case GF_WIN: if (splash_screen){ splash_screen.update(); }; _local2 = false; if (splash_screen.ready_to_exit){ Application.get_singleton().signal_game_over(); Application.get_singleton().audio.start_music(0, 0.8); }; }; if (_local2){ if (player){ player.update(); populator.update(); camera.update(); world_database.update(); level_manager.update(); score_manager.update(); projectile_manager.update(); game_interface.update(); }; if (level_manager.get_current_level()){ if (level_manager.get_current_level().level_finished){ desired_level++; switch_gameflow_state(GF_FADING_OUT); }; }; if (kill_player){ death_counter--; if (death_counter == 0){ player.set_position(player_respawn_location.x, player_respawn_location.y); score_manager.player_lives--; if (score_manager.player_lives != 0){ player.damage_data.current_hp = player.damage_data.maximum_hp; game_interface.notify_health_change(1); player.move_graph.switch_move(AvatarMoveGraph.AVATAR_STAND, true, true); player.killed = false; kill_player = false; }; }; }; }; _local3 = (getTimer() / 1000); time_counter++; if (time_counter >= 30){ seconds_since_game_start++; if (gameflow_state == GF_PLAYING){ score_manager.elapsed_time = seconds_since_game_start; _local4 = (getTimer() / 1000); last_fps = Math.round((time_counter / (_local4 - time_adjust))); time_counter = 0; time_adjust = _local4; if (Application.get_singleton().display_debug){ game_interface.fps_text.text = ("FPS: " + last_fps.toString()); _local5 = (System.totalMemory / 1000000); _local6 = ((System.totalMemory / 10000) % 100); game_interface.memory_text.text = (((("Memory: " + _local5.toString()) + ".") + _local6.toString()) + " MB"); game_interface.player_loc.text = (((("Player: (" + player.move_graph.physics.position.x.toFixed(1)) + " , ") + player.move_graph.physics.position.y.toFixed(1)) + ")"); } else { game_interface.fps_text.text = ""; game_interface.memory_text.text = ""; game_interface.player_loc.text = ""; }; }; }; } } }//package
Section 132
//game_over_screen (game_over_screen) package { import flash.display.*; import flash.text.*; public dynamic class game_over_screen extends MovieClip { public var user_score:TextField; public var user_time:TextField; public function game_over_screen(){ addFrameScript(158, frame159, 179, frame180); } function frame159(){ } function frame180(){ stop(); } } }//package
Section 133
//game_win_screen (game_win_screen) package { import flash.display.*; import flash.text.*; public dynamic class game_win_screen extends MovieClip { public var user_score:TextField; public var user_time:TextField; public function game_win_screen(){ addFrameScript(174, frame175, 194, frame195); } function frame175(){ } function frame195(){ stop(); } } }//package
Section 134
//GameCamera (GameCamera) package { public class GameCamera { var left_limit:Number; var min_y_bounds:Number; var max_x_bounds:Number; var right_limit:Number; var velocity_x:Number; var velocity_y:Number; public var position_x:Number; public var position_y:Number; var min_x_bounds:Number; var max_y_bounds:Number; public function GameCamera(){ left_limit = -1000000; right_limit = 1000000; position_x = 0; position_y = 0; velocity_x = 0; velocity_y = 0; } public function update():void{ var _local1:Avatar; _local1 = Application.get_singleton().game.player; if (_local1 == null){ return; }; if (_local1.x > 425){ velocity_x = 7; } else { if (_local1.x < 325){ velocity_x = -7; } else { velocity_x = (velocity_x * 0.8); if (Math.abs(velocity_x) < 0.5){ velocity_x = 0; }; }; }; if (_local1.y > 400){ velocity_y = 6; } else { if (_local1.y < 300){ velocity_y = -6; } else { velocity_y = (velocity_y * 0.8); if (Math.abs(velocity_y) < 0.5){ velocity_y = 0; }; }; }; position_x = (position_x + velocity_x); position_y = (position_y + velocity_y); if (position_x < left_limit){ position_x = left_limit; }; if (position_x > right_limit){ position_x = right_limit; }; } public function reset(_arg1:Number, _arg2:Number){ velocity_x = 0; velocity_y = 0; position_x = (_arg1 - 350); position_y = (_arg2 - 350); } public function get_tile_position(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Vector2D){ var _local5:Number; _local5 = ((100 - _arg3) / 100); _arg4.x = (_arg1 - (_local5 * position_x)); _arg4.y = (_arg2 - (_local5 * position_y)); } } }//package
Section 135
//GameOverScreen (GameOverScreen) package { import flash.display.*; public class GameOverScreen extends SplashScreen { var showed_hints:Boolean; var timer:int; var hint:MovieClip; override public function shutdown():void{ if (hint){ Application.get_singleton().removeChild(hint); hint = null; }; Application.get_singleton().removeChild(clip); clip = null; } override public function initialize():void{ clip = new game_over_screen(); Application.get_singleton().addChild(clip); clip.play(); clip.x = 350; clip.y = 250; timer = 0; showed_hints = false; } override public function update():void{ var _local1:MovieClip; var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; timer++; if (timer > 300){ ready_to_exit = true; }; if ((((clip.currentFrame > 160)) && ((showed_hints == false)))){ showed_hints = true; _local2 = (Math.random() * 9); if (_local2 == 0){ _local1 = new hint1(); } else { if (_local2 == 1){ _local1 = new hint2(); } else { if (_local2 == 2){ _local1 = new hint3(); } else { if (_local2 == 3){ _local1 = new hint4(); } else { if (_local2 == 4){ _local1 = new hint5(); } else { if (_local2 == 5){ _local1 = new hint6(); } else { if (_local2 == 6){ _local1 = new hint7(); } else { if (_local2 == 7){ _local1 = new hint8(); } else { if (_local2 == 8){ _local1 = new hint9(); }; }; }; }; }; }; }; }; }; hint = _local1; Application.get_singleton().addChild(hint); hint.x = 370; hint.y = 425; _local3 = Application.get_singleton().game.score_manager.elapsed_time; _local4 = (_local3 / 60); _local5 = (_local3 - (_local4 * 60)); _local6 = (_local5 / 10); _local7 = (_local5 % 10); clip.user_score.text = ("YOUR SCORE: " + Application.get_singleton().game.score_manager.get_current_score()); clip.user_time.text = (((("YOU SURVIVED: " + _local4) + ":") + _local6) + _local7); }; } } }//package
Section 136
//GameWinScreen (GameWinScreen) package { public class GameWinScreen extends SplashScreen { var timer:int; var showed_ending:Boolean; override public function shutdown():void{ Application.get_singleton().removeChild(clip); clip = null; } override public function initialize():void{ clip = new game_win_screen(); Application.get_singleton().addChild(clip); clip.play(); clip.x = 350; clip.y = 250; timer = 0; showed_ending = false; } override public function update():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:int; timer++; if (timer > 400){ ready_to_exit = true; }; if ((((clip.currentFrame > 180)) && ((showed_ending == false)))){ showed_ending = true; _local1 = Application.get_singleton().game.score_manager.elapsed_time; _local2 = (_local1 / 60); _local3 = (_local1 - (_local2 * 60)); _local4 = (_local3 / 10); _local5 = (_local3 % 10); clip.user_score.text = ("FINAL SCORE: " + Application.get_singleton().game.score_manager.get_current_score()); clip.user_time.text = (((("TOTAL TIME: " + _local2) + ":") + _local4) + _local5); }; } } }//package
Section 137
//HealthBar (HealthBar) package { import flash.display.*; import flash.text.*; import flash.geom.*; public class HealthBar extends MovieClip { var fill_bar:Shape; public var life_counter:TextField; var chi_bar:Shape; public function HealthBar(_arg1:MovieClip){ var _local2:Avatar; super(); _arg1.addChild(this); this.x = 59; this.y = 448; this.alpha = 1; fill_bar = new Shape(); fill_bar.graphics.beginFill(0xFF0000, 1); fill_bar.graphics.drawRect(0, 0, 148, 17); fill_bar.x = 60; fill_bar.y = 451; fill_bar.graphics.endFill(); _arg1.addChild(fill_bar); chi_bar = new Shape(); chi_bar.graphics.beginFill(0xFFFFFF, 1); chi_bar.graphics.drawRect(0, 0, 148, 11); chi_bar.x = 60; chi_bar.y = 421; chi_bar.graphics.endFill(); _arg1.addChild(chi_bar); notify_chi_change(Application.get_singleton().game.score_manager.chi_value); _local2 = Application.get_singleton().game.player; if (_local2){ notify_health_change((_local2.damage_data.current_hp / _local2.damage_data.maximum_hp)); }; } public function notify_chi_change(_arg1:Number){ var _local2:ColorTransform; _local2 = new ColorTransform(); _local2.color = 22015; chi_bar.scaleX = _arg1; if (_arg1 == 1){ _local2.color = 13421823; }; chi_bar.transform.colorTransform = _local2; } public function notify_health_change(_arg1:Number){ var _local2:int; fill_bar.scaleX = _arg1; _local2 = (Application.get_singleton().game.score_manager.player_lives - 1); if (_local2 < 0){ _local2 = 0; }; life_counter.text = _local2.toString(); } } }//package
Section 138
//high_scores_screen (high_scores_screen) package { import flash.display.*; public dynamic class high_scores_screen extends MovieClip { } }//package
Section 139
//HighScoreScreen (HighScoreScreen) package { import flash.events.*; import flash.display.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public class HighScoreScreen extends SplashScreen { var waiting_on_scores:Boolean; var timer:int; var score_list_array:Array; var showed_scores:Boolean; var name_entry:MovieClip; var request_scores:Boolean; override public function shutdown():void{ stage.removeEventListener(KeyboardEvent.KEY_DOWN, keydown_listener); Application.get_singleton().removeChild(clip); clip = null; } public function exit_allowed():Boolean{ return ((name_entry == null)); } override public function initialize():void{ request_scores = true; waiting_on_scores = false; clip = new high_scores_screen(); score_list_array = new Array(); Application.get_singleton().addChild(clip); clip.play(); clip.x = 350; clip.y = 250; timer = 0; stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown_listener); } public function keydown_listener(_arg1:KeyboardEvent):void{ var _local2:String; var _local3:WebScoreAPI; if (name_entry){ if (_arg1.keyCode == Keyboard.ENTER){ _local2 = name_entry.name_text.text; trace("SCORE: submitting player ", _local2, " with score ", Application.get_singleton().last_player_score); _local3 = Application.get_singleton().score_api; _local3.submit_score(_local2, Application.get_singleton().last_player_score); Application.get_singleton().last_player_score = -1; request_scores = true; Application.get_singleton().removeChild(name_entry); name_entry = null; }; }; } override public function update():void{ var _local1:WebScoreAPI; var _local2:int; if (request_scores){ request_scores = false; Application.get_singleton().score_api.retrieve_scores(); waiting_on_scores = true; }; if (waiting_on_scores){ if (Application.get_singleton().score_api.scores_available()){ waiting_on_scores = false; if (Application.get_singleton().last_player_score != -1){ _local1 = Application.get_singleton().score_api; _local2 = Application.get_singleton().last_player_score; if (_local2 > _local1.hs_scores[9]){ name_entry = new NameEntry(); Application.get_singleton().addChild(name_entry); name_entry.x = 350; name_entry.y = 250; name_entry.name_text.maxChars = 15; name_entry.name_text.restrict = "A-Z 0-9._"; }; }; hs_callback(); }; }; } public function hs_callback():void{ var _local1:int; var _local2:WebScoreAPI; var _local3:int; var _local4:TextFormat; var _local5:TextFormat; var _local6:TextField; var _local7:GlowFilter; var _local8:TextField; var _local9:int; var _local10:TextField; _local1 = 0; while (_local1 < score_list_array.length) { clip.removeChild(score_list_array[_local1]); _local1++; }; score_list_array = new Array(); _local2 = Application.get_singleton().score_api; _local3 = 9; _local4 = new TextFormat("BadaBoom BB", 36, 0xFFFFFF); _local5 = new TextFormat("BadaBoom BB", 26, 0xDDDDDD); _local6 = new TextField(); _local6.text = ((_local2.hs_names[0] + " ") + _local2.hs_scores[0]); _local6.x = -40; _local6.y = -125; _local6.autoSize = TextFieldAutoSize.CENTER; _local6.embedFonts = true; _local6.selectable = false; _local6.setTextFormat(_local4); _local7 = new GlowFilter(); _local7.color = 11162931; _local7.blurX = 16; _local7.blurY = 16; _local7.quality = BitmapFilterQuality.HIGH; _local6.filters = new Array(_local7); score_list_array.push(_local6); clip.addChild(_local6); _local1 = 0; while (_local1 < _local3) { _local8 = new TextField(); _local9 = (-70 + (_local1 * 28)); _local8.x = -90; _local8.y = _local9; _local8.autoSize = TextFieldAutoSize.RIGHT; _local8.text = (_local2.hs_names[(_local1 + 1)] + " "); _local8.selectable = false; _local8.setTextFormat(_local5); score_list_array.push(_local8); clip.addChild(_local8); _local10 = new TextField(); _local10.text = _local2.hs_scores[(_local1 + 1)]; _local10.x = 30; _local10.y = _local9; _local10.autoSize = TextFieldAutoSize.LEFT; _local10.setTextFormat(_local5); clip.addChild(_local10); score_list_array.push(_local10); _local1++; }; } } }//package
Section 140
//hint1 (hint1) package { import flash.display.*; public dynamic class hint1 extends MovieClip { } }//package
Section 141
//hint10 (hint10) package { import flash.display.*; public dynamic class hint10 extends MovieClip { } }//package
Section 142
//hint2 (hint2) package { import flash.display.*; public dynamic class hint2 extends MovieClip { } }//package
Section 143
//hint3 (hint3) package { import flash.display.*; public dynamic class hint3 extends MovieClip { } }//package
Section 144
//hint4 (hint4) package { import flash.display.*; public dynamic class hint4 extends MovieClip { } }//package
Section 145
//hint5 (hint5) package { import flash.display.*; public dynamic class hint5 extends MovieClip { } }//package
Section 146
//hint6 (hint6) package { import flash.display.*; public dynamic class hint6 extends MovieClip { } }//package
Section 147
//hint7 (hint7) package { import flash.display.*; public dynamic class hint7 extends MovieClip { } }//package
Section 148
//hint8 (hint8) package { import flash.display.*; public dynamic class hint8 extends MovieClip { } }//package
Section 149
//hint9 (hint9) package { import flash.display.*; public dynamic class hint9 extends MovieClip { } }//package
Section 150
//IMove (IMove) package { import flash.filters.*; public class IMove { var damage_frame_list:Array; var chi_color:int; var face_right:Boolean; var chi_move:Boolean; var animation_finished:Boolean; public var combo:MoveCombo; var npc:BaseNPC; var current_frame:int; var starting_frame:int; var ground_type:int; var frame_count:int; var looping:Boolean; public static const GS_AIR:int = 2; public static const GS_GROUND:int = 0; public static const GS_GROUND_CROUCH:int = 1; public function IMove(){ looping = false; face_right = true; animation_finished = false; chi_move = false; chi_color = 11188991; } public function move_exit():void{ if (chi_move){ npc.filters = null; }; } public function move_enter():void{ var _local1:GlowFilter; if (combo){ }; animation_finished = false; current_frame = starting_frame; npc.gotoAndStop(current_frame); if (!face_right){ npc.scaleX = -1; } else { npc.scaleX = 1; }; if (chi_move){ _local1 = new GlowFilter(); _local1.alpha = 0.8; _local1.blurX = 16; _local1.blurY = 16; _local1.quality = 1; _local1.color = chi_color; npc.filters = new Array(_local1); }; } public function input_transition_allowed():Boolean{ return (true); } public function modulate_damage(_arg1:Number, _arg2:int):Number{ return (_arg1); } public function update():void{ var _local1:int; var _local2:DamageFrame; var _local3:DamageEvent; if ((starting_frame + frame_count) <= current_frame){ if (looping){ npc.gotoAndStop(starting_frame); current_frame = starting_frame; } else { current_frame = (starting_frame + frame_count); npc.gotoAndStop(current_frame); animation_finished = true; }; } else { npc.nextFrame(); current_frame++; }; if (damage_frame_list != null){ _local1 = 0; while (_local1 < damage_frame_list.length) { _local2 = damage_frame_list[_local1]; if (_local2.index == current_frame){ _local3 = new DamageEvent(); _local3.hp_amount = (_local2.amount * npc.global_damage_multiplier); _local3.faction_id = npc.faction_id; _local3.npc_location.x = npc.x; _local3.npc_location.y = npc.y; _local3.npc_ptr = npc; _local3.world_location.x = _local2.box_center.x; _local3.world_location.y = _local2.box_center.y; if (!face_right){ _local3.world_location.x = -(_local3.world_location.x); }; _local3.world_location.x = (_local3.world_location.x + npc.x); _local3.world_location.y = (_local3.world_location.y + npc.y); _local3.damage_size.x = _local2.box_size.x; _local3.damage_size.y = _local2.box_size.y; _local3.knockback = _local2.knockback; _local3.multiple_hit = _local2.multiple_hit; _local3.unblockable = chi_move; _local3.allowed_areas = _local2.allowed_areas; Application.get_singleton().game.execute_damage(_local3); }; _local1++; }; }; } } }//package
Section 151
//Interface (Interface) package { import flash.events.*; import flash.display.*; import flash.text.*; public class Interface extends MovieClip { public var special_message_2:TextField; public var app_timing:TextField; public var special_message:TextField; public var score:TextField; public var sound_icon:SoundIcon; var health_bar:HealthBar; public var memory_text:TextField; public var fps_text:TextField; public var score_header:TextField; public var total_time:TextField; public var player_loc:TextField; public function Interface(){ this.name = "interface"; health_bar = null; } public function destroy():void{ health_bar = null; } public function create():void{ health_bar = new HealthBar(this); } public function notify_chi_change(_arg1:Number){ health_bar.notify_chi_change(_arg1); } public function notify_mouse_click(_arg1:MouseEvent):void{ var _local2:Boolean; if ((((((((_arg1.stageX > 630)) && ((_arg1.stageX < 690)))) && ((_arg1.stageY > 430)))) && ((_arg1.stageY < 490)))){ _local2 = Application.get_singleton().audio.sound_enabled; Application.get_singleton().audio.enable_sound(!(_local2)); if (_local2){ sound_icon.gotoAndStop(2); } else { sound_icon.gotoAndStop(1); }; }; } public function notify_health_change(_arg1:Number){ health_bar.notify_health_change(_arg1); } public function update():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:int; _local1 = Application.get_singleton().game.score_manager.elapsed_time; _local2 = (_local1 / 60); _local3 = (_local1 - (_local2 * 60)); _local4 = (_local3 / 10); _local5 = (_local3 % 10); total_time.text = (((_local2 + ":") + _local4) + _local5); } } }//package
Section 152
//Knife (Knife) package { public dynamic class Knife extends Projectile { } }//package
Section 153
//Level (Level) package { import flash.display.*; public class Level { var player_start:Vector2D; var camera_right_limit:Number; var population_nodes:Array; var respawn_point_hit:Array; var finish_zone_active:Boolean; var finish_zone_size:Vector2D; var finish_zone_center:Vector2D; var camera_left_limit:Number; var level_object:MovieClip; var level_finished:Boolean; var engage_count:int; var respawn_points:Array; var music_id:int; var death_zones:Array; public function Level(){ clear(); } public function level_setup():void{ } public function update():void{ var _local1:Game; var _local2:Vector2D; var _local3:int; var _local4:Vector2D; var _local5:Number; _local1 = Application.get_singleton().game; _local2 = _local1.player.move_graph.physics.position; _local3 = 0; while (_local3 < respawn_points.length) { if (respawn_point_hit[_local3] == false){ _local4 = respawn_points[_local3]; _local5 = (((_local4.x - _local2.x) * (_local4.x - _local2.x)) + ((_local4.y - _local2.y) * (_local4.y - _local2.y))); if (_local5 < 50000){ respawn_point_hit[_local3] = true; trace("LEVEL: respawn point", _local3, "hit"); } else { break; }; }; _local3++; }; if (finish_zone_active){ if (_local1.player){ if (!level_finished){ if (_local1.populator.current_npc_count == 0){ if (_local1.world_database.box_overlap_2D(_local2.x, _local2.y, 1, 1, finish_zone_center.x, finish_zone_center.y, finish_zone_size.x, finish_zone_size.y)){ level_finished = true; trace("level finished!"); }; }; }; }; }; } public function death_notification(_arg1:int):void{ } public function setup_pathfind(_arg1:Pathfind):void{ } final public function post_level_setup():void{ var _local1:int; _local1 = 0; while (_local1 < respawn_points.length) { respawn_point_hit.push(false); _local1++; }; } public function clear():void{ music_id = -1; engage_count = 1; finish_zone_active = false; level_finished = false; population_nodes = new Array(); respawn_points = new Array(); respawn_point_hit = new Array(); death_zones = new Array(); } } }//package
Section 154
//LevelManager (LevelManager) package { import flash.display.*; public class LevelManager { var level_list:Array; var current_level:int; public function LevelManager(){ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; super(); current_level = -1; level_list = new Array(); _local1 = new DojoLevel(); level_list.push(_local1); _local2 = new MountainLevel(); level_list.push(_local2); _local3 = new MountainLevel2(); level_list.push(_local3); _local4 = new CaveLevel1(); level_list.push(_local4); _local5 = new CaveLevel2(); level_list.push(_local5); _local6 = new TempleLevelA(); level_list.push(_local6); _local7 = new TempleLevelB(); level_list.push(_local7); _local8 = new TempleLevelC(); level_list.push(_local8); _local9 = new TempleLevelD(); level_list.push(_local9); _local10 = new TempleLevelE(); level_list.push(_local10); _local11 = new TempleLevelF(); level_list.push(_local11); _local12 = new TempleLevelEnd(); level_list.push(_local12); } public function get_respawn_location(_arg1:Number, _arg2:Number):Vector2D{ var _local3:Vector2D; var _local4:Level; var _local5:int; var _local6:int; _local3 = new Vector2D(0, 0); _local4 = level_list[current_level]; if (_local4.respawn_points.length == 0){ _local3.x = _local4.player_start.x; _local3.y = _local4.player_start.y; } else { _local5 = 0; _local6 = 0; while (_local6 < _local4.respawn_points.length) { if (_local4.respawn_point_hit[_local6] == false){ break; } else { _local5 = _local6; }; _local6++; }; _local3.x = _local4.respawn_points[_local5].x; _local3.y = _local4.respawn_points[_local5].y; }; return (_local3); } public function advance_level():void{ start_level((current_level + 1)); } public function get_next_level():Level{ if (current_level < (level_list.length - 1)){ return (level_list[(current_level + 1)]); }; return (null); } public function update():void{ var _local1:Game; var _local2:Vector2D; var _local3:int; var _local4:DeathZone; if (current_level != -1){ level_list[current_level].update(); _local1 = Application.get_singleton().game; if (_local1.player){ _local2 = _local1.player.move_graph.physics.position; _local3 = 0; while (_local3 < level_list[current_level].death_zones.length) { _local4 = level_list[current_level].death_zones[_local3]; if (_local1.world_database.box_overlap_2D(_local2.x, _local2.y, 20, 20, _local4.position.x, _local4.position.y, _local4.size.x, _local4.size.y) == true){ _local1.signal_player_death(_local4.respawn_location.x, _local4.respawn_location.y, true); }; _local3++; }; }; }; } public function parse_level_objects(_arg1:MovieClip):void{ var _local2:Game; var _local3:DisplayObject; var _local4:uint; _local2 = Application.get_singleton().game; _local2.world_database.clear_all_objects(); _local4 = 0; while (_local4 < _arg1.numChildren) { _local3 = _arg1.getChildAt(_local4); _local2.world_database.add_shape(_local3); _local4++; }; } public function clear():void{ if (current_level != -1){ Application.get_singleton().layer_objects.removeChild(level_list[current_level].level_object); level_list[current_level].clear(); }; } public function get_current_level():Level{ return (level_list[current_level]); } public function start_level(_arg1:int){ var _local2:Level; var _local3:Game; clear(); current_level = _arg1; _local2 = level_list[current_level]; _local3 = Application.get_singleton().game; _local2.level_setup(); _local2.post_level_setup(); _local3.populator.clear_npcs(); _local3.camera.left_limit = _local2.camera_left_limit; _local3.camera.right_limit = _local2.camera_right_limit; _local3.pathfind.clear_zones(); _local2.setup_pathfind(_local3.pathfind); _local3.pathfind.precompute_graph(); Application.get_singleton().layer_objects.addChild(_local2.level_object); parse_level_objects(_local2.level_object); } } }//package
Section 155
//Mountain1 (Mountain1) package { import flash.display.*; public dynamic class Mountain1 extends MovieClip { public var road:MovieClip; public var mountain1:MovieClip; public var mountain2:MovieClip; public var fill:MovieClip; public var bridge:MovieClip; public var rockstair2:MovieClip; public var cliff:MovieClip; } }//package
Section 156
//Mountain2 (Mountain2) package { import flash.display.*; public dynamic class Mountain2 extends MovieClip { public var road1:MovieClip; public var rockstair11:MovieClip; public var mountain1:MovieClip; public var mountain2:MovieClip; public var rockstair22:MovieClip; public var cliff1:MovieClip; public var rockstair33:MovieClip; public var fill:MovieClip; public var bridge:MovieClip; public var cliff:MovieClip; } }//package
Section 157
//MountainLevel (MountainLevel) package { public class MountainLevel extends Level { public function MountainLevel(){ music_id = 2; } override public function level_setup():void{ var _local1:DeathZone; var _local2:*; var _local3:*; music_id = 2; level_object = new Mountain1(); player_start = new Vector2D(-888, 320); camera_left_limit = -2000; camera_right_limit = 1375; finish_zone_active = true; finish_zone_center = new Vector2D(2000, 470); finish_zone_size = new Vector2D(300, 200); respawn_points.push(new Vector2D(-850, 320)); respawn_points.push(new Vector2D(-540, 320)); respawn_points.push(new Vector2D(-80, 320)); respawn_points.push(new Vector2D(400, 320)); respawn_points.push(new Vector2D(900, 410)); respawn_points.push(new Vector2D(1720, 530)); _local1 = new DeathZone(); _local1.position = new Vector2D(1225, 700); _local1.size = new Vector2D(500, 200); _local1.respawn_location = new Vector2D(880, 380); death_zones.push(_local1); _local2 = new PopulationNode(); _local2.location = new Vector2D(-34, 250); _local2.enemy_type = PopulationNode.PT_ENEMY_E; _local2.total_enemies = 1; _local2.enemy_timer = 0; _local2.enemy_rate = 1; _local2.start_distance = 1400; population_nodes.push(_local2); _local3 = new PopulationNode(); _local3.location = new Vector2D(620, 241); _local3.enemy_type = PopulationNode.PT_ENEMY_E; _local3.total_enemies = 2; _local3.enemy_timer = 0; _local3.enemy_rate = 2; _local3.start_distance = 1000; population_nodes.push(_local3); } } }//package
Section 158
//MountainLevel2 (MountainLevel2) package { public class MountainLevel2 extends Level { public function MountainLevel2(){ music_id = 2; } override public function level_setup():void{ var _local1:PopulationNode; var _local2:PopulationNode; var _local3:PopulationNode; var _local4:DeathZone; level_object = new Mountain2(); player_start = new Vector2D(-888, 230); camera_left_limit = -2000; camera_right_limit = 1275; finish_zone_active = true; finish_zone_center = new Vector2D(1700, 300); finish_zone_size = new Vector2D(100, 300); _local1 = new PopulationNode(); _local1.location = new Vector2D(-480, 220); _local1.enemy_type = PopulationNode.PT_ENEMY_E; _local1.total_enemies = 1; _local1.enemy_timer = 0; _local1.enemy_rate = 0; _local1.start_distance = 500; population_nodes.push(_local1); _local2 = new PopulationNode(); _local2.location = new Vector2D(480, 200); _local2.enemy_type = PopulationNode.PT_ENEMY_A; _local2.total_enemies = 1; _local2.enemy_timer = 0; _local2.enemy_rate = 0.5; _local2.start_distance = 500; population_nodes.push(_local2); _local3 = new PopulationNode(); _local3.location = new Vector2D(1400, 210); _local3.enemy_type = PopulationNode.PT_ENEMY_E; _local3.total_enemies = 3; _local3.enemy_timer = 0; _local3.enemy_rate = 1; _local3.start_distance = 1200; population_nodes.push(_local3); _local4 = new DeathZone(); _local4.position = new Vector2D(-80, 600); _local4.size = new Vector2D(500, 200); _local4.respawn_location = new Vector2D(-220, 220); death_zones.push(_local4); } } }//package
Section 159
//MoveCombo (MoveCombo) package { public class MoveCombo { public var required_ground_state:int; public var flip_direction_end:Boolean; public var name:String; public var flip_direction_start:Boolean; public var move_array:Array; public var override_flags:int; public var allow_hold:Boolean; public var complexity_id:int; public static const PUNCH_BLOCK:int = 13; public static const KICK:int = 8; public static const NO_MOVE:int = 16; public static const OR_NEVER:int = 2; public static const KICK_PUNCH_BLOCK:int = 14; public static const KICK_PUNCH:int = 11; public static const MAX_KEYS:int = 17; public static const UP:int = 3; public static const PUNCH:int = 9; public static const FORWARD:int = 0; public static const BACK:int = 2; public static const DOWN:int = 1; public static const OR_ALWAYS:int = 0; public static const BLOCK:int = 10; public static const JUMP:int = 15; public static const OR_HIGHER_ID:int = 1; public static const BACK_UP:int = 6; public static const FORWARD_UP:int = 7; public static const BACK_DOWN:int = 5; public static const KICK_BLOCK:int = 12; public static const FORWARD_DOWN:int = 4; public static var action_debug_names:Array; public function MoveCombo(){ allow_hold = false; action_debug_names = new Array(MAX_KEYS); action_debug_names[FORWARD] = "F"; action_debug_names[DOWN] = "D"; action_debug_names[BACK] = "B"; action_debug_names[UP] = "U"; action_debug_names[FORWARD_DOWN] = "F+D"; action_debug_names[BACK_DOWN] = "B+D"; action_debug_names[BACK_UP] = "B+U"; action_debug_names[FORWARD_UP] = "F+U"; action_debug_names[KICK] = "K"; action_debug_names[PUNCH] = "P"; action_debug_names[BLOCK] = "B"; action_debug_names[KICK_PUNCH] = "K+P"; action_debug_names[KICK_BLOCK] = "K+B"; action_debug_names[PUNCH_BLOCK] = "P+B"; action_debug_names[KICK_PUNCH_BLOCK] = "K+P+B"; action_debug_names[JUMP] = "J"; action_debug_names[NO_MOVE] = "-"; } } }//package
Section 160
//MoveEvaluator (MoveEvaluator) package { public class MoveEvaluator { var last_button_state:int; var action_list:Array; var queue_pointer:int; var current_keystate:Array; var frame_counter:int; var queue_size:int; var last_arrow_state:int; var action_time:Array; var last_queue_state:int; public function MoveEvaluator(){ var _local1:*; super(); frame_counter = 0; last_arrow_state = MoveCombo.NO_MOVE; last_button_state = MoveCombo.NO_MOVE; last_queue_state = MoveCombo.NO_MOVE; queue_size = 30; queue_pointer = 0; action_list = new Array(queue_size); _local1 = 0; while (_local1 < queue_size) { action_list[_local1] = -1; _local1++; }; action_time = new Array(queue_size); current_keystate = new Array(MoveCombo.MAX_KEYS); _local1 = 0; while (_local1 < MoveCombo.MAX_KEYS) { current_keystate[_local1] = false; _local1++; }; } public function update():void{ var _local1:ApplicationKeystate; var _local2:Boolean; var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; var _local6:Boolean; var _local7:Boolean; var _local8:Boolean; var _local9:Boolean; var _local10:int; var _local11:Boolean; var _local12:int; clear_queue_entries(); _local1 = Application.get_singleton().keystate; _local2 = _local1.is_key_down(ApplicationKeystate.KEY_JUMP); if (current_keystate[MoveCombo.JUMP] != _local2){ current_keystate[MoveCombo.JUMP] = _local2; if (_local2){ add_action(MoveCombo.JUMP); }; }; _local3 = _local1.is_key_down(ApplicationKeystate.KEY_PUNCH); _local4 = _local1.is_key_down(ApplicationKeystate.KEY_KICK); _local5 = _local1.is_key_down(ApplicationKeystate.KEY_BLOCK); _local10 = -1; if (((((_local3) && (_local4))) && (_local5))){ _local10 = MoveCombo.KICK_PUNCH_BLOCK; } else { if (((_local3) && (_local4))){ _local10 = MoveCombo.KICK_PUNCH; }; if (((_local4) && (_local5))){ _local10 = MoveCombo.KICK_BLOCK; }; if (((_local3) && (_local5))){ _local10 = MoveCombo.PUNCH_BLOCK; }; }; if (_local10 == -1){ if (_local3){ _local10 = MoveCombo.PUNCH; }; if (_local4){ _local10 = MoveCombo.KICK; }; if (_local5){ _local10 = MoveCombo.BLOCK; }; }; if (_local10 == -1){ _local10 = MoveCombo.NO_MOVE; }; if (_local10 != last_button_state){ current_keystate[last_button_state] = false; if (_local10 != MoveCombo.NO_MOVE){ current_keystate[_local10] = true; add_action(_local10); }; last_button_state = _local10; }; _local6 = _local1.is_key_down(ApplicationKeystate.KEY_UP); _local7 = _local1.is_key_down(ApplicationKeystate.KEY_DOWN); _local8 = _local1.is_key_down(ApplicationKeystate.KEY_RIGHT); _local9 = _local1.is_key_down(ApplicationKeystate.KEY_LEFT); _local10 = -1; if (((_local6) && (_local8))){ _local10 = MoveCombo.FORWARD_UP; }; if (((_local7) && (_local8))){ _local10 = MoveCombo.FORWARD_DOWN; }; if (((_local6) && (_local9))){ _local10 = MoveCombo.BACK_UP; }; if (((_local7) && (_local9))){ _local10 = MoveCombo.BACK_DOWN; }; if (_local10 == -1){ if (_local6){ _local10 = MoveCombo.UP; }; if (_local7){ _local10 = MoveCombo.DOWN; }; if (_local8){ _local10 = MoveCombo.FORWARD; }; if (_local9){ _local10 = MoveCombo.BACK; }; }; if (_local10 == -1){ _local10 = MoveCombo.NO_MOVE; }; _local11 = false; if ((((last_button_state == MoveCombo.NO_MOVE)) && ((_local2 == false)))){ if (_local10 != MoveCombo.NO_MOVE){ _local12 = (queue_pointer - 1); if (_local12 < 0){ _local12 = (_local12 + queue_size); }; if (action_list[_local12] != _local10){ _local11 = true; }; }; }; if (((!((_local10 == last_arrow_state))) || (_local11))){ current_keystate[last_arrow_state] = false; if (_local10 != MoveCombo.NO_MOVE){ current_keystate[_local10] = true; add_action(_local10); }; last_arrow_state = _local10; }; if ((((((last_button_state == MoveCombo.NO_MOVE)) && ((last_arrow_state == MoveCombo.NO_MOVE)))) && (!(_local2)))){ if (current_keystate[MoveCombo.NO_MOVE] == false){ current_keystate[MoveCombo.NO_MOVE] = true; add_action(MoveCombo.NO_MOVE); }; } else { current_keystate[MoveCombo.NO_MOVE] = false; }; frame_counter++; } public function match_move(_arg1:IMove, _arg2:Boolean):Boolean{ var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:Boolean; if (_arg1.combo == null){ return (false); }; if (_arg1.combo.move_array == null){ return (false); }; _local3 = _arg1.combo.move_array.length; _local4 = (queue_pointer - _local3); if (_local4 < 0){ _local4 = (_local4 + queue_size); }; _local5 = 0; while (_local5 < _local3) { _local6 = action_list[_local4]; if (_local6 == -1){ _local6 = MoveCombo.NO_MOVE; }; if (_arg2){ if (_local6 == MoveCombo.FORWARD){ _local6 = MoveCombo.BACK; } else { if (_local6 == MoveCombo.FORWARD_UP){ _local6 = MoveCombo.BACK_UP; } else { if (_local6 == MoveCombo.BACK){ _local6 = MoveCombo.FORWARD; } else { if (_local6 == MoveCombo.BACK_UP){ _local6 = MoveCombo.FORWARD_UP; } else { if (_local6 == MoveCombo.FORWARD_DOWN){ _local6 = MoveCombo.BACK_DOWN; } else { if (_local6 == MoveCombo.BACK_DOWN){ _local6 = MoveCombo.FORWARD_DOWN; }; }; }; }; }; }; }; _local7 = (_local6 == _arg1.combo.move_array[_local5]); if (_local7 == false){ return (false); }; _local4++; if (_local4 >= queue_size){ _local4 = (_local4 - queue_size); }; _local5++; }; return (true); } public function add_action(_arg1:int){ current_keystate[_arg1] = true; action_list[queue_pointer] = _arg1; action_time[queue_pointer] = frame_counter; queue_pointer = ((queue_pointer + 1) % queue_size); last_queue_state = _arg1; } public function clear_queue_entries():void{ var _local1:int; _local1 = 0; while (_local1 < queue_size) { if ((frame_counter - action_time[_local1]) > 20){ if (action_list[_local1] == MoveCombo.BLOCK){ if (last_queue_state == MoveCombo.NO_MOVE){ action_list[_local1] = -1; }; } else { action_list[_local1] = -1; }; }; _local1++; }; } } }//package
Section 161
//MusicBoss2 (MusicBoss2) package { import flash.media.*; public dynamic class MusicBoss2 extends Sound { } }//package
Section 162
//MusicCave (MusicCave) package { import flash.media.*; public dynamic class MusicCave extends Sound { } }//package
Section 163
//MusicDojo (MusicDojo) package { import flash.media.*; public dynamic class MusicDojo extends Sound { } }//package
Section 164
//MusicEndBoss (MusicEndBoss) package { import flash.media.*; public dynamic class MusicEndBoss extends Sound { } }//package
Section 165
//MusicIntro (MusicIntro) package { import flash.media.*; public dynamic class MusicIntro extends Sound { } }//package
Section 166
//MusicMountain1 (MusicMountain1) package { import flash.media.*; public dynamic class MusicMountain1 extends Sound { } }//package
Section 167
//MusicTemple2 (MusicTemple2) package { import flash.media.*; public dynamic class MusicTemple2 extends Sound { } }//package
Section 168
//NameEntry (NameEntry) package { import flash.display.*; import flash.text.*; public dynamic class NameEntry extends MovieClip { public var name_text:TextField; } }//package
Section 169
//NPCMoveGraph (NPCMoveGraph) package { public class NPCMoveGraph { var physics:BasePhysics; var transition_list:BaseTransitionList; var temp_v:Vector2D; var move_list:Array; var current_move:int; var desired_move_direction:Boolean; var npc:BaseNPC; var desired_move:int; var force_desired_move:Boolean; public function NPCMoveGraph(){ physics = new BasePhysics(); current_move = 0; desired_move = -1; temp_v = new Vector2D(0, 0); } public function update():void{ move_list[current_move].update(); if (desired_move != -1){ if (((!((desired_move == current_move))) || (force_desired_move))){ move_list[current_move].move_exit(); current_move = desired_move; force_desired_move = false; move_list[current_move].face_right = desired_move_direction; move_list[current_move].move_enter(); }; }; physics.update(); temp_v.x = 0; temp_v.y = 0; Application.get_singleton().game.camera.get_tile_position(physics.position.x, physics.position.y, 0, temp_v); npc.x = temp_v.x; npc.y = temp_v.y; } public function current_move_finished():Boolean{ if (current_move != -1){ return (move_list[current_move].animation_finished); }; return (true); } public function set_position(_arg1:Number, _arg2:Number):void{ physics.set_position(_arg1, _arg2); } public function initialize(){ } public function switch_move(_arg1:int, _arg2:Boolean, _arg3:Boolean=false){ desired_move = _arg1; desired_move_direction = _arg2; force_desired_move = _arg3; } } }//package
Section 170
//Pathfind (Pathfind) package { public class Pathfind { var predecessor_array:Array; var distance_graph:Array; var shortest_distances:Array; var zone_list:Array; var path_graph:Array; var unsettled_vertices:Array; var settled_vertices:Array; public static const MAX_DISTANCE:Number = 10000000; public function Pathfind(){ zone_list = new Array(); } public function get_next_zone(_arg1:int, _arg2:int):int{ var _local3:int; if (zone_list == null){ return (-1); }; _local3 = ((_arg1 * zone_list.length) + _arg2); return (path_graph[_local3]); } public function precompute_graph():void{ var _local1:int; var _local2:*; var _local3:*; var _local4:int; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; if (zone_list == null){ return; }; shortest_distances = new Array(zone_list.length); settled_vertices = new Array(zone_list.length); unsettled_vertices = new Array(zone_list.length); predecessor_array = new Array(zone_list.length); _local1 = (zone_list.length * zone_list.length); path_graph = new Array(_local1); distance_graph = new Array(_local1); _local2 = 0; while (_local2 < _local1) { path_graph[_local2] = -1; distance_graph[_local2] = MAX_DISTANCE; _local2++; }; _local3 = 0; while (_local3 < zone_list.length) { _local4 = 0; while (_local4 < zone_list[_local3].connection_list.length) { _local2 = zone_list[_local3].connection_list[_local4].zone_connection; _local5 = ((zone_list[_local3].x_left + zone_list[_local3].x_right) * 0.5); _local6 = ((zone_list[_local2].x_left + zone_list[_local2].x_right) * 0.5); _local7 = zone_list[_local3].height; _local8 = zone_list[_local2].height; distance_graph[((_local3 * zone_list.length) + _local2)] = Math.sqrt((((_local6 - _local5) * (_local6 - _local5)) + ((_local8 - _local7) * (_local8 - _local7)))); _local4++; }; _local3++; }; _local3 = 0; while (_local3 < zone_list.length) { _local4 = 0; while (_local4 < zone_list.length) { _local9 = ((_local3 * zone_list.length) + _local4); if (_local3 == _local4){ path_graph[_local9] = _local4; } else { path_graph[_local9] = find_shortest_path(_local3, _local4); }; _local4++; }; _local3++; }; } public function clear_zones(){ if (zone_list){ zone_list = null; zone_list = new Array(); }; path_graph = null; distance_graph = null; shortest_distances = null; settled_vertices = null; unsettled_vertices = null; predecessor_array = null; } public function get_contained_zone(_arg1:Number, _arg2:Number):int{ var _local3:int; var _local4:int; var _local5:int; if (zone_list == null){ return (-1); }; _local3 = -1; _local4 = 1000000; _local5 = 0; while (_local5 < zone_list.length) { if ((((_arg1 >= zone_list[_local5].x_left)) && ((_arg1 <= zone_list[_local5].x_right)))){ if (zone_list[_local5].height > _arg2){ if (zone_list[_local5].height < _local4){ _local3 = _local5; _local4 = zone_list[_local5].height; }; }; }; _local5++; }; return (_local3); } public function get_zone_pointer(_arg1:int):PathfindZone{ if (zone_list == null){ return (null); }; return (zone_list[_arg1]); } public function find_shortest_path(_arg1:int, _arg2:int):int{ var _local3:int; var _local4:Boolean; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:Number; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:Number; if (zone_list == null){ return (-1); }; _local3 = 0; while (_local3 < zone_list.length) { shortest_distances[_local3] = MAX_DISTANCE; _local3++; }; settled_vertices.length = 0; unsettled_vertices.length = 0; unsettled_vertices.push(_arg1); shortest_distances[_arg1] = 0; _local4 = false; while (unsettled_vertices.length > 0) { _local7 = -1; _local8 = -1; _local9 = MAX_DISTANCE; _local10 = 0; while (_local10 < unsettled_vertices.length) { if (shortest_distances[unsettled_vertices[_local10]] < _local9){ _local7 = unsettled_vertices[_local10]; _local8 = _local10; _local9 = shortest_distances[_local10]; }; _local10++; }; settled_vertices.push(_local7); if (unsettled_vertices.length > 1){ unsettled_vertices[_local8] = unsettled_vertices[(unsettled_vertices.length - 1)]; }; unsettled_vertices.pop(); _local11 = 0; while (_local11 < zone_list[_local7].connection_list.length) { _local12 = zone_list[_local7].connection_list[_local11].zone_connection; _local4 = false; _local13 = 0; while (_local13 < settled_vertices.length) { if (settled_vertices[_local13] == _local12){ _local4 = true; break; }; _local13++; }; if (!_local4){ _local14 = distance_graph[((_local7 * zone_list.length) + _local12)]; if (shortest_distances[_local12] > (shortest_distances[_local7] + _local14)){ shortest_distances[_local12] = (shortest_distances[_local7] + _local14); predecessor_array[_local12] = _local7; unsettled_vertices.push(_local12); }; }; _local11++; }; }; _local5 = _arg2; _local6 = predecessor_array[_arg2]; while (true) { if (_local6 == _arg1){ return (_local5); }; if (_local6 == _local5){ trace("PATHFIND: warning, no path possible from node", _arg1, "to node", _arg2); return (_arg1); }; _local5 = _local6; _local6 = predecessor_array[_local6]; }; return (-1); } public function has_data():Boolean{ return ((zone_list.length > 0)); } } }//package
Section 171
//PathfindConnection (PathfindConnection) package { public class PathfindConnection { var zone_connection:int; var jump_connection:Boolean; var x_boundary:Number; var left_side:Boolean; } }//package
Section 172
//PathfindZone (PathfindZone) package { public class PathfindZone { var x_left:Number; var height:Number; var x_right:Number; var connection_list:Array; public function PathfindZone(_arg1:Number, _arg2:Number, _arg3:Number){ x_left = _arg1; x_right = _arg2; height = _arg3; connection_list = new Array(); } } }//package
Section 173
//pause_screen (pause_screen) package { import flash.display.*; public dynamic class pause_screen extends MovieClip { } }//package
Section 174
//PointManager (PointManager) package { import flash.events.*; import flash.display.*; public class PointManager { var point_count:int; var parent_clip:MovieClip; var point_list:Array; public function PointManager(_arg1:MovieClip){ var _local2:int; super(); parent_clip = _arg1; parent_clip.addEventListener(Event.ENTER_FRAME, update); point_count = 10; point_list = new Array(); _local2 = 0; while (_local2 < point_count) { point_list[_local2] = new BlurPoint(); _arg1.addChild(point_list[_local2]); point_list[_local2].px = ((Math.random() * 700) - 350); point_list[_local2].py = ((Math.random() * 500) - 250); point_list[_local2].update(); _local2++; }; } public function fadeout(){ var _local1:int; _local1 = 0; while (_local1 < point_count) { point_list[_local1].alpha_speed = -((1.5 + (Math.random() * 2))); _local1++; }; } public function update(_arg1:Event){ var _local2:int; _local2 = 0; while (_local2 < point_count) { point_list[_local2].update(); _local2++; }; } } }//package
Section 175
//PopulationNode (PopulationNode) package { public class PopulationNode { var spawn_location:Vector2D; var enemies_spawned:int; var enemy_timer:Number; var spread_distance:Number; var enemy_type:int; var activated:Boolean; var total_enemies:int; var enemy_rate:Number; var start_distance:Number; var location:Vector2D; public static const PT_BOSS_A:int = 5; public static const PT_BOSS_B:int = 6; public static const PT_BOSS_C:int = 7; public static const PT_ENEMY_A:int = 0; public static const PT_ENEMY_B:int = 1; public static const PT_ENEMY_E:int = 2; public static const PT_ENEMY_K:int = 3; public function PopulationNode(){ enemies_spawned = 0; enemy_timer = 0; enemy_type = PT_ENEMY_A; spread_distance = 0; activated = false; } public function update():void{ var _local1:Avatar; var _local2:Number; var _local3:Vector2D; var _local4:Number; var _local5:BaseNPC; var _local6:Number; _local1 = Application.get_singleton().game.player; if (_local1 == null){ return; }; _local2 = (1 / 30); if (activated == false){ _local3 = _local1.move_graph.physics.position; _local4 = Vector2D.distance_2D(_local3, location); if (_local4 < start_distance){ activated = true; trace("POPULATOR: zone activated, type: ", enemy_type, " position:", "(", location.x, ",", location.y, ")"); }; }; if (activated){ if (enemies_spawned < total_enemies){ enemy_timer = (enemy_timer - _local2); if (enemy_timer <= 0){ enemy_timer = enemy_rate; trace("POPULATOR: spawning enemy type ", enemy_type); _local5 = create_via_type(enemy_type); _local5.create(); _local6 = (spread_distance * (Math.random() - 0.5)); Application.get_singleton().game.populator.register_npc(_local5); if (spawn_location){ _local5.set_position((spawn_location.x + _local6), spawn_location.y); } else { _local5.set_position((location.x + _local6), location.y); }; enemies_spawned++; }; }; }; } public function create_via_type(_arg1:int):BaseNPC{ var _local2:BaseNPC; _local2 = null; if (_arg1 == PT_BOSS_A){ _local2 = new BossA(); } else { if (_arg1 == PT_BOSS_B){ _local2 = new BossB(); } else { if (_arg1 == PT_BOSS_C){ _local2 = new BossC(); } else { if (_arg1 == PT_ENEMY_A){ _local2 = new EnemyA(); } else { if (_arg1 == PT_ENEMY_B){ _local2 = new EnemyB(); } else { if (_arg1 == PT_ENEMY_E){ _local2 = new EnemyE(); } else { if (_arg1 == PT_ENEMY_K){ _local2 = new EnemyK(); }; }; }; }; }; }; }; if (_local2 == null){ trace("warning: unknown enemy type in populator node!"); } else { _local2.npc_type = _arg1; }; return (_local2); } } }//package
Section 176
//Populator (Populator) package { public class Populator { var game_ptr:Game; var npc_list:Array; var current_npc_count:int; var targeting_counter:int; var closest_distance_array:Array; var closest_id_array:Array; public function Populator(_arg1:Game){ game_ptr = _arg1; npc_list = new Array(); targeting_counter = 0; closest_id_array = new Array(); closest_distance_array = new Array(); current_npc_count = 0; } public function clear_npcs():void{ var _local1:int; _local1 = 0; while (_local1 < npc_list.length) { if (npc_list[_local1] != null){ Application.get_singleton().layer_characters.removeChild(npc_list[_local1]); npc_list[_local1] = null; }; _local1++; }; npc_list = new Array(); current_npc_count = 0; } public function register_npc(_arg1:BaseNPC):void{ var _local2:int; current_npc_count++; trace("NPC: active count now", current_npc_count); Application.get_singleton().layer_characters.addChild(_arg1); _local2 = 0; while (_local2 < npc_list.length) { if (npc_list[_local2] == null){ npc_list[_local2] = _arg1; return; }; _local2++; }; npc_list.push(_arg1); } public function update():void{ var _local1:Number; var _local2:Level; var _local3:int; var _local4:PopulationNode; var _local5:Boolean; _local1 = (1 / 30); _local2 = Application.get_singleton().game.level_manager.get_current_level(); if (_local2){ _local3 = 0; while (_local3 < _local2.population_nodes.length) { _local4 = _local2.population_nodes[_local3]; _local4.update(); _local3++; }; }; if (npc_list){ _local3 = 0; while (_local3 < npc_list.length) { _local5 = false; if (npc_list[_local3] != null){ npc_list[_local3].update(); if (npc_list[_local3].damage_data.current_hp <= 0){ if (npc_list[_local3].damage_data.death_timer == 0){ current_npc_count--; trace("NPC: active count now", current_npc_count); }; npc_list[_local3].damage_data.death_timer = (npc_list[_local3].damage_data.death_timer + _local1); if (npc_list[_local3].damage_data.death_timer > 5){ trace("NPC killed: player"); _local5 = true; }; }; if (npc_list[_local3].move_graph.physics.position.y > 2000){ trace("NPC killed: world fall-through"); current_npc_count--; _local5 = true; }; if (_local5){ Application.get_singleton().layer_characters.removeChild(npc_list[_local3]); npc_list[_local3] = null; }; }; _local3++; }; }; targeting_counter++; if (targeting_counter > 6){ targeting_counter = 0; update_targeting(); }; } public function update_targeting():void{ var _local1:Level; var _local2:Avatar; var _local3:int; var _local4:int; var _local5:Vector2D; var _local6:Boolean; var _local7:int; var _local8:int; var _local9:*; var _local10:*; var _local11:Number; var _local12:Number; var _local13:int; var _local14:int; _local1 = Application.get_singleton().game.level_manager.get_current_level(); _local2 = Application.get_singleton().game.player; _local3 = _local1.engage_count; _local4 = 0; _local5 = _local2.move_graph.physics.position; _local6 = _local2.killed; if (npc_list){ _local8 = 0; while (_local8 < npc_list.length) { if (npc_list[_local8]){ if (npc_list[_local8].damage_data.current_hp > 0){ if (_local6){ npc_list[_local8].engage_status = BaseNPC.WAIT_FAR; } else { if (npc_list[_local8].brain.ai.always_engage){ npc_list[_local8].engage_status = BaseNPC.ENGAGE_PLAYER; } else { _local9 = npc_list[_local8].move_graph.physics.position.x; _local10 = npc_list[_local8].move_graph.physics.position.y; _local11 = (((_local5.x - _local9) * (_local5.x - _local9)) + ((_local5.y - _local10) * (_local5.y - _local10))); if (npc_list[_local8].engage_status != BaseNPC.WAIT_FAR){ npc_list[_local8].engage_status = BaseNPC.WAIT_FAR; npc_list[_local8].wait_distance = (npc_list[_local8].brain.ai.engagement_distance + (Math.random() * 300)); }; if (_local4 < _local3){ closest_id_array[_local4] = _local8; closest_distance_array[_local4] = _local11; _local4++; } else { _local12 = 100000000; _local13 = -1; _local14 = 0; while (_local14 < _local4) { if (closest_distance_array[_local14] < _local12){ _local12 = closest_distance_array[_local14]; _local13 = 0; }; _local14++; }; if (_local12 > _local11){ closest_distance_array[_local13] = _local11; closest_id_array[_local13] = _local8; }; }; }; }; }; }; _local8++; }; }; _local7 = 0; while (_local7 < _local4) { npc_list[closest_id_array[_local7]].engage_status = BaseNPC.ENGAGE_PLAYER; _local7++; }; } } }//package
Section 177
//preloader (preloader) package { import flash.events.*; import flash.display.*; import flash.system.*; import flash.text.*; public class preloader extends MovieClip { var app:Application; var preload_complete:Boolean; public var load_text:TextField; public function preloader(){ addFrameScript(489, frame490, 499, frame500); Security.allowDomain("*"); Security.allowInsecureDomain("*"); preload_complete = false; app = null; this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress); this.loaderInfo.addEventListener(Event.COMPLETE, completeHandler); addEventListener(Event.ENTER_FRAME, enter_frame_handler); } private function enter_frame_handler(_arg1:Event):void{ var _local2:Application; if (currentFrame == 490){ if (preload_complete == false){ stop(); } else { play(); }; }; if (currentFrame == 500){ if (!_local2){ _local2 = new Application(); addChild(_local2); _local2.initialize(); removeEventListener(Event.ENTER_FRAME, enter_frame_handler); }; }; } function frame500(){ stop(); } private function onLoadProgress(_arg1:ProgressEvent):void{ var _local2:int; var _local3:int; var _local4:int; if (this.load_text){ _local2 = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100); _local3 = (_arg1.bytesTotal / 1000000); _local4 = ((_arg1.bytesTotal - (_local3 * 1000000)) / 10000); this.load_text.text = ((((((("preloading: " + _local2.toString()) + "%") + " (of ") + _local3) + ".") + _local4) + " MB)"); }; } function frame490(){ stop(); } private function completeHandler(_arg1:Event):void{ trace("preload: complete"); preload_complete = true; } } }//package
Section 178
//Projectile (Projectile) package { import flash.display.*; public class Projectile extends MovieClip { public var screen_pos:Vector2D; public var px:Number; public var py:Number; public var active_time:Number; public var type:int; public var vx:Number; public var vy:Number; public function Projectile(){ type = -1; active_time = 0; screen_pos = new Vector2D(0, 0); } } }//package
Section 179
//ProjectileManager (ProjectileManager) package { public class ProjectileManager { var projectile_list:Array; public static const PT_FIREBALL:int = 1; public static const PT_KNIFE:int = 0; public function ProjectileManager(){ projectile_list = new Array(); } public function update():void{ var _local1:Number; var _local2:Boolean; var _local3:WorldDatabase; var _local4:GameCamera; var _local5:DamageEvent; var _local6:int; var _local7:Projectile; _local1 = (1 / 30); _local3 = Application.get_singleton().game.world_database; _local4 = Application.get_singleton().game.camera; _local5 = new DamageEvent(); _local6 = 0; while (_local6 < projectile_list.length) { _local2 = false; _local7 = projectile_list[_local6]; if (!_local7){ } else { _local7.active_time = (_local7.active_time + _local1); if (_local7.active_time > 5){ _local2 = true; }; _local7.px = (_local7.px + (_local7.vx * _local1)); _local7.py = (_local7.py + (_local7.vy * _local1)); if (_local3.check_x_collision(_local7.px, _local7.py, 10, 5) == true){ _local2 = true; }; _local5.hp_amount = 50; _local5.faction_id = 1; _local5.npc_location.x = _local7.x; _local5.npc_location.y = _local7.y; _local5.world_location.x = _local7.x; _local5.world_location.y = _local7.y; if (_local7.type == PT_KNIFE){ _local5.damage_size.x = 15; _local5.damage_size.y = 2; _local5.allowed_areas = 0; } else { if (_local7.type == PT_FIREBALL){ _local5.damage_size.x = 15; _local5.damage_size.y = 30; _local5.allowed_areas = 1; }; }; _local5.knockback = 20; if (Application.get_singleton().game.execute_damage(_local5)){ _local2 = true; Application.get_singleton().audio.sfx_event(SoundManager.SM_NPC_HIT); }; if (_local2){ Application.get_singleton().layer_objects.removeChild(_local7); projectile_list[_local6] = null; } else { _local4.get_tile_position(_local7.px, _local7.py, 0, _local7.screen_pos); _local7.x = _local7.screen_pos.x; _local7.y = _local7.screen_pos.y; if (_local7.vx > 0){ _local7.scaleX = -1; } else { _local7.scaleX = 1; }; }; }; _local6++; }; } public function create(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number){ var _local6:Projectile; var _local7:int; if (_arg1 == PT_KNIFE){ _local6 = new Knife(); }; if (_arg1 == PT_FIREBALL){ _local6 = new Fireball(); }; _local6.type = _arg1; _local6.px = _arg2; _local6.py = _arg3; _local6.vx = _arg4; _local6.vy = _arg5; Application.get_singleton().layer_objects.addChild(_local6); _local7 = 0; while (_local7 < projectile_list.length) { if (projectile_list[_local7] == null){ projectile_list[_local7] = _local6; return; }; _local7++; }; projectile_list.push(_local6); } } }//package
Section 180
//ScoreManager (ScoreManager) package { public class ScoreManager { var current_message:String; var current_message_time:int; public var current_score:int; public var display_score:int; public var chi_value:Number; public var damage_since_last_kill:Boolean; public var player_lives:int; public var elapsed_time:int; var number_of_kills_since_damage:int; public static const SCORE_EVENT_BASIC_KILL:int = 2; public static const SCORE_EVENT_CHI_MOVE:int = 7; public static const SCORE_EVENT_WIN_GAME:int = 8; public static const SCORE_EVENT_ADVANCED_HIT:int = 1; public static const SCORE_EVENT_PLAYER_DEATH:int = 6; public static const SCORE_EVENT_BASIC_HIT:int = 0; public static const SCORE_EVENT_PLAYER_DAMAGE:int = 4; public static const SCORE_EVENT_BOSS_KILL:int = 5; public function ScoreManager(){ display_score = 0; current_score = 0; chi_value = 0; elapsed_time = 0; player_lives = 3; damage_since_last_kill = false; number_of_kills_since_damage = 0; current_message = null; current_message_time = 0; } public function update():void{ var _local1:Interface; var _local2:Boolean; _local1 = Application.get_singleton().game.game_interface; _local2 = false; if (display_score < current_score){ display_score = (display_score + 125); if (display_score > current_score){ display_score = current_score; }; _local2 = true; } else { if (display_score > current_score){ display_score = (display_score - 125); if (display_score < current_score){ display_score = current_score; }; }; }; if (_local1){ _local1.score.text = display_score.toString(); _local1.score.alpha = 1; if (current_message){ current_message_time--; if (current_message_time < 12){ _local1.special_message.alpha = (current_message_time / 12); _local1.special_message_2.alpha = (current_message_time / 12); }; if (current_message_time <= 0){ current_message = null; _local1.special_message.text = ""; _local1.special_message_2.text = ""; }; }; }; } public function get_current_score():int{ return (current_score); } public function print_special_message(_arg1:String, _arg2:String):void{ var _local3:Interface; current_message = _arg1; current_message_time = 75; _local3 = Application.get_singleton().game.game_interface; if (_local3){ _local3.special_message.text = current_message; _local3.special_message_2.text = _arg2; _local3.special_message.alpha = 1; _local3.special_message_2.alpha = 1; }; } public function send_event(_arg1:int, _arg2:BaseNPC=null){ var _local3:Boolean; var _local4:Boolean; var _local5:int; if (_arg1 == SCORE_EVENT_BASIC_KILL){ _local4 = false; if (damage_since_last_kill == false){ _local4 = true; if (_arg2){ if (_arg2.damaged_player == true){ _local4 = false; }; }; }; if (_local4){ if (number_of_kills_since_damage == 24){ current_score = (current_score + 25000); print_special_message("Zen Master (x25)!!!!!!!", "+25000"); } else { if (number_of_kills_since_damage == 9){ current_score = (current_score + 10000); print_special_message("Ninja warrior! (x10)!!!!!", "+10000"); } else { if (number_of_kills_since_damage == 4){ current_score = (current_score + 5000); print_special_message("Flawless (x5)!!!", "+5000"); } else { if (number_of_kills_since_damage == 2){ current_score = (current_score + 2000); print_special_message("Triple perfect!!", "+2000"); } else { if (number_of_kills_since_damage == 1){ current_score = (current_score + 1000); print_special_message("Perfect (x2)!", "+1000"); } else { current_score = (current_score + 500); print_special_message("Perfect", "+500"); }; }; }; }; }; number_of_kills_since_damage++; }; }; _local3 = false; if (_arg1 == SCORE_EVENT_BASIC_HIT){ current_score = (current_score + 10); _local3 = true; chi_value = (chi_value + 0.1); if (chi_value > 1){ chi_value = 1; }; } else { if (_arg1 == SCORE_EVENT_ADVANCED_HIT){ current_score = (current_score + 25); } else { if (_arg1 == SCORE_EVENT_BASIC_KILL){ current_score = (current_score + 100); damage_since_last_kill = false; _local3 = true; chi_value = (chi_value + 0.2); if (chi_value > 1){ chi_value = 1; }; } else { if (_arg1 == SCORE_EVENT_PLAYER_DAMAGE){ damage_since_last_kill = true; number_of_kills_since_damage = 0; _local3 = true; chi_value = (chi_value - 0.2); if (chi_value < 0){ chi_value = 0; }; } else { if (_arg1 == SCORE_EVENT_PLAYER_DEATH){ damage_since_last_kill = false; number_of_kills_since_damage = 0; if (player_lives > 1){ _local5 = (current_score * 0.2); current_score = (current_score - _local5); print_special_message("Death! (-20%)", ("-" + _local5)); }; _local3 = true; chi_value = 0; } else { if (_arg1 == SCORE_EVENT_BOSS_KILL){ if (damage_since_last_kill == false){ current_score = (current_score + 25000); print_special_message("Boss PERFECT!!!", "+25000"); } else { current_score = (current_score + 10000); print_special_message("Boss kill!", "+10000"); }; } else { if (_arg1 == SCORE_EVENT_CHI_MOVE){ chi_value = 0; _local3 = true; } else { if (_arg1 == SCORE_EVENT_WIN_GAME){ current_score = (current_score + 50000); display_score = current_score; print_special_message("Final boss DEFEATED!!!", "+50000"); }; }; }; }; }; }; }; }; if (_local3){ Application.get_singleton().game.game_interface.notify_chi_change(chi_value); }; } } }//package
Section 181
//SFXBigHit1 (SFXBigHit1) package { import flash.media.*; public dynamic class SFXBigHit1 extends Sound { } }//package
Section 182
//SFXBigHit2 (SFXBigHit2) package { import flash.media.*; public dynamic class SFXBigHit2 extends Sound { } }//package
Section 183
//SFXBoss1Death (SFXBoss1Death) package { import flash.media.*; public dynamic class SFXBoss1Death extends Sound { } }//package
Section 184
//SFXBoss3Death (SFXBoss3Death) package { import flash.media.*; public dynamic class SFXBoss3Death extends Sound { } }//package
Section 185
//SFXChi1 (SFXChi1) package { import flash.media.*; public dynamic class SFXChi1 extends Sound { } }//package
Section 186
//SFXChi2 (SFXChi2) package { import flash.media.*; public dynamic class SFXChi2 extends Sound { } }//package
Section 187
//SFXChi3 (SFXChi3) package { import flash.media.*; public dynamic class SFXChi3 extends Sound { } }//package
Section 188
//SFXDeath1 (SFXDeath1) package { import flash.media.*; public dynamic class SFXDeath1 extends Sound { } }//package
Section 189
//SFXDeath2 (SFXDeath2) package { import flash.media.*; public dynamic class SFXDeath2 extends Sound { } }//package
Section 190
//SFXDeath3 (SFXDeath3) package { import flash.media.*; public dynamic class SFXDeath3 extends Sound { } }//package
Section 191
//SFXDeath4 (SFXDeath4) package { import flash.media.*; public dynamic class SFXDeath4 extends Sound { } }//package
Section 192
//SFXDeath5 (SFXDeath5) package { import flash.media.*; public dynamic class SFXDeath5 extends Sound { } }//package
Section 193
//SFXDeath6 (SFXDeath6) package { import flash.media.*; public dynamic class SFXDeath6 extends Sound { } }//package
Section 194
//SFXDeath7 (SFXDeath7) package { import flash.media.*; public dynamic class SFXDeath7 extends Sound { } }//package
Section 195
//SFXFireball (SFXFireball) package { import flash.media.*; public dynamic class SFXFireball extends Sound { } }//package
Section 196
//SFXFootL1 (SFXFootL1) package { import flash.media.*; public dynamic class SFXFootL1 extends Sound { } }//package
Section 197
//SFXFootL2 (SFXFootL2) package { import flash.media.*; public dynamic class SFXFootL2 extends Sound { } }//package
Section 198
//SFXFootR1 (SFXFootR1) package { import flash.media.*; public dynamic class SFXFootR1 extends Sound { } }//package
Section 199
//SFXFootR2 (SFXFootR2) package { import flash.media.*; public dynamic class SFXFootR2 extends Sound { } }//package
Section 200
//SFXHit1 (SFXHit1) package { import flash.media.*; public dynamic class SFXHit1 extends Sound { } }//package
Section 201
//SFXHit2 (SFXHit2) package { import flash.media.*; public dynamic class SFXHit2 extends Sound { } }//package
Section 202
//SFXHit3 (SFXHit3) package { import flash.media.*; public dynamic class SFXHit3 extends Sound { } }//package
Section 203
//SFXJump (SFXJump) package { import flash.media.*; public dynamic class SFXJump extends Sound { } }//package
Section 204
//SFXKnifeThrow (SFXKnifeThrow) package { import flash.media.*; public dynamic class SFXKnifeThrow extends Sound { } }//package
Section 205
//SFXPHit1 (SFXPHit1) package { import flash.media.*; public dynamic class SFXPHit1 extends Sound { } }//package
Section 206
//SFXPHit2 (SFXPHit2) package { import flash.media.*; public dynamic class SFXPHit2 extends Sound { } }//package
Section 207
//SFXPHit3 (SFXPHit3) package { import flash.media.*; public dynamic class SFXPHit3 extends Sound { } }//package
Section 208
//SFXPHit4 (SFXPHit4) package { import flash.media.*; public dynamic class SFXPHit4 extends Sound { } }//package
Section 209
//SFXPlayerDeath (SFXPlayerDeath) package { import flash.media.*; public dynamic class SFXPlayerDeath extends Sound { } }//package
Section 210
//SFXSwing1 (SFXSwing1) package { import flash.media.*; public dynamic class SFXSwing1 extends Sound { } }//package
Section 211
//SFXSwing2 (SFXSwing2) package { import flash.media.*; public dynamic class SFXSwing2 extends Sound { } }//package
Section 212
//SFXTeleport (SFXTeleport) package { import flash.media.*; public dynamic class SFXTeleport extends Sound { } }//package
Section 213
//SoundIcon (SoundIcon) package { import flash.display.*; public dynamic class SoundIcon extends MovieClip { public function SoundIcon(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 214
//SoundManager (SoundManager) package { import flash.media.*; public class SoundManager { var sound_enabled:Boolean; var fading_out:Boolean; var music_transform:SoundTransform; var music_files:Array; var music_channel:SoundChannel; var foot_counter:Boolean; var active_music:int; var music_volume:Number; public static const SM_PLAYER_SWING:int = 1; public static const SM_NPC_HIT:int = 0; public static const SM_BOSS1_DEATH:int = 3; public static const SM_BOSS3_DEATH:int = 12; public static const SM_PLAYER_HIT:int = 9; public static const SM_PLAYER_JUMP:int = 4; public static const SM_KNIFE_THROW:int = 6; public static const SM_BOSS3_TELEPORT:int = 10; public static const SM_NPC_DEATH:int = 2; public static const SM_BOSS3_FIREBALL:int = 11; public static const SM_CHI_MOVE:int = 8; public static const SM_PLAYER_DEATH:int = 7; public static const SM_FOOTSTEP:int = 5; public function SoundManager(){ active_music = -1; sound_enabled = true; fading_out = false; music_volume = 0; music_files = new Array(); music_files.push(new MusicIntro()); music_files.push(new MusicDojo()); music_files.push(new MusicMountain1()); music_files.push(new MusicCave()); music_files.push(null); music_files.push(new MusicTemple2()); music_files.push(new MusicBoss2()); music_files.push(new MusicEndBoss()); } public function start_music(_arg1:uint, _arg2=0.65){ if (music_files[_arg1] == null){ return; }; if (sound_enabled == false){ return; }; if (_arg1 == active_music){ return; }; fading_out = false; music_volume = _arg2; active_music = _arg1; music_transform = new SoundTransform(music_volume, 0); music_channel = music_files[active_music].play(0, 999, music_transform); } public function update():void{ if (active_music != -1){ if (fading_out){ music_volume = (music_volume - 0.04); if (music_volume < 0){ music_volume = 0; fading_out = false; music_channel.stop(); } else { music_transform.volume = music_volume; music_channel.soundTransform = music_transform; }; }; }; } public function enable_sound(_arg1:Boolean):void{ if (_arg1 != sound_enabled){ sound_enabled = _arg1; if (_arg1 == false){ music_stop(); }; }; } public function music_stop(){ if (active_music != -1){ music_volume = 0; fading_out = false; if (music_channel){ music_channel.stop(); }; }; } public function sfx_event(_arg1:int){ var _local2:Sound; var _local3:int; var _local4:Number; var _local5:SoundTransform; if (sound_enabled == false){ return; }; _local4 = 1; if (_arg1 == SM_PLAYER_SWING){ _local3 = (Math.random() * 2); if (_local3 == 0){ _local2 = new SFXSwing1(); } else { if (_local3 == 1){ _local2 = new SFXSwing2(); }; }; } else { if (_arg1 == SM_NPC_HIT){ _local3 = (Math.random() * 5); if (_local3 == 0){ _local2 = new SFXBigHit1(); } else { if (_local3 == 1){ _local2 = new SFXBigHit2(); } else { if (_local3 == 2){ _local2 = new SFXHit1(); } else { if (_local3 == 3){ _local2 = new SFXHit2(); } else { if (_local3 == 4){ _local2 = new SFXHit3(); }; }; }; }; }; } else { if (_arg1 == SM_PLAYER_HIT){ _local4 = 0.5; _local3 = (Math.random() * 4); if (_local3 == 0){ _local2 = new SFXPHit1(); } else { if (_local3 == 1){ _local2 = new SFXPHit2(); } else { if (_local3 == 2){ _local2 = new SFXPHit3(); } else { if (_local3 == 3){ _local2 = new SFXPHit4(); }; }; }; }; } else { if (_arg1 == SM_CHI_MOVE){ _local3 = (Math.random() * 3); if (_local3 == 0){ _local2 = new SFXChi1(); } else { if (_local3 == 1){ _local2 = new SFXChi2(); } else { if (_local3 == 2){ _local2 = new SFXChi3(); }; }; }; } else { if (_arg1 == SM_NPC_DEATH){ _local3 = (Math.random() * 7); if (_local3 == 0){ _local2 = new SFXDeath1(); } else { if (_local3 == 1){ _local2 = new SFXDeath2(); } else { if (_local3 == 2){ _local2 = new SFXDeath3(); } else { if (_local3 == 3){ _local2 = new SFXDeath4(); } else { if (_local3 == 4){ _local2 = new SFXDeath5(); } else { if (_local3 == 5){ _local2 = new SFXDeath6(); } else { if (_local3 == 6){ _local2 = new SFXDeath7(); }; }; }; }; }; }; }; } else { if (_arg1 == SM_BOSS1_DEATH){ _local2 = new SFXBoss1Death(); } else { if (_arg1 == SM_PLAYER_DEATH){ _local2 = new SFXPlayerDeath(); } else { if (_arg1 == SM_PLAYER_JUMP){ _local4 = 0.8; _local2 = new SFXJump(); } else { if (_arg1 == SM_KNIFE_THROW){ _local4 = 0.4; _local2 = new SFXKnifeThrow(); } else { if (_arg1 == SM_FOOTSTEP){ _local4 = 0.5; _local3 = (Math.random() * 2); foot_counter = !(foot_counter); if (foot_counter){ if (_local3 == 0){ _local2 = new SFXFootL1(); } else { _local2 = new SFXFootL2(); }; } else { if (_local3 == 0){ _local2 = new SFXFootR1(); } else { _local2 = new SFXFootR2(); }; }; } else { if (_arg1 == SM_BOSS3_TELEPORT){ _local2 = new SFXTeleport(); } else { if (_arg1 == SM_BOSS3_FIREBALL){ _local2 = new SFXFireball(); } else { if (_arg1 == SM_BOSS3_DEATH){ _local2 = new SFXBoss3Death(); }; }; }; }; }; }; }; }; }; }; }; }; }; if (_local2){ if (_local4 != 1){ _local5 = new SoundTransform(_local4, 0); _local2.play(0, 0, _local5); } else { _local2.play(); }; }; } public function music_fade_out(){ fading_out = true; } } }//package
Section 215
//SplashScreen (SplashScreen) package { import flash.display.*; public class SplashScreen extends MovieClip { var clip:MovieClip; public var ready_to_exit:Boolean; public function shutdown():void{ } public function initialize():void{ ready_to_exit = false; } public function update():void{ } } }//package
Section 216
//TempleA (TempleA) package { import flash.display.*; public dynamic class TempleA extends MovieClip { public var templebridge:MovieClip; public var road1:MovieClip; public var mountain1:MovieClip; public var temple_entrance:MovieClip; public var fill:MovieClip; public var cliff:MovieClip; public var lowdepth:MovieClip; } }//package
Section 217
//TempleB (TempleB) package { import flash.display.*; public dynamic class TempleB extends MovieClip { public var mountain1:MovieClip; public var mountain2:MovieClip; public var woodfloor:MovieClip; public var fill:MovieClip; public var basefloor:MovieClip; public var cliff:MovieClip; } }//package
Section 218
//TempleC (TempleC) package { import flash.display.*; public dynamic class TempleC extends MovieClip { public var floating2:MovieClip; public var mountain1:MovieClip; public var woodfloor:MovieClip; public var fill:MovieClip; public var basefloor:MovieClip; public var cliff:MovieClip; } }//package
Section 219
//TempleD (TempleD) package { import flash.display.*; public dynamic class TempleD extends MovieClip { public var middepth:MovieClip; public var woodfloor:MovieClip; public var fill:MovieClip; public var cliff:MovieClip; public var lowdepth:MovieClip; } }//package
Section 220
//TempleE (TempleE) package { import flash.display.*; public dynamic class TempleE extends MovieClip { public var mountain1:MovieClip; public var mountain2:MovieClip; public var woodfloor:MovieClip; public var fill:MovieClip; public var basefloor:MovieClip; public var cliff:MovieClip; } }//package
Section 221
//TempleEnd (TempleEnd) package { import flash.display.*; public dynamic class TempleEnd extends MovieClip { public var mountain1:MovieClip; public var mountain2:MovieClip; public var fill:MovieClip; public var basefloor:MovieClip; public var cliff:MovieClip; } }//package
Section 222
//TempleF (TempleF) package { import flash.display.*; public dynamic class TempleF extends MovieClip { public var floating2:MovieClip; public var mountain1:MovieClip; public var woodfloor:MovieClip; public var fill:MovieClip; public var basefloor2:MovieClip; public var basefloor4:MovieClip; public var basefloor5:MovieClip; public var basefloor6:MovieClip; public var basefloor7:MovieClip; public var basefloor3:MovieClip; public var basefloor8:MovieClip; public var basefloor:MovieClip; public var cliff:MovieClip; public var basefloora:MovieClip; } }//package
Section 223
//TempleLevelA (TempleLevelA) package { public class TempleLevelA extends Level { public function TempleLevelA(){ music_id = 2; } override public function level_setup():void{ var _local1:PopulationNode; level_object = new TempleA(); player_start = new Vector2D(-1420, 296); camera_left_limit = -2000; camera_right_limit = 240; finish_zone_active = true; finish_zone_center = new Vector2D(940, 300); finish_zone_size = new Vector2D(200, 500); respawn_points.push(new Vector2D(-1000, 300)); _local1 = new PopulationNode(); _local1.location = new Vector2D(0, 300); _local1.enemy_type = PopulationNode.PT_BOSS_A; _local1.total_enemies = 1; _local1.enemy_timer = 0; _local1.enemy_rate = 0.1; _local1.start_distance = 1000; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(-800, 300); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 2; _local1.enemy_timer = 0; _local1.enemy_rate = 0.5; _local1.start_distance = 500; population_nodes.push(_local1); } } }//package
Section 224
//TempleLevelB (TempleLevelB) package { public class TempleLevelB extends Level { public function TempleLevelB(){ music_id = 5; } override public function level_setup():void{ var _local1:PopulationNode; level_object = new TempleB(); engage_count = 2; player_start = new Vector2D(-275, 105); camera_left_limit = -550; camera_right_limit = 2000; finish_zone_active = true; finish_zone_center = new Vector2D(1800, -600); finish_zone_size = new Vector2D(200, 300); respawn_points.push(new Vector2D(-200, 105)); respawn_points.push(new Vector2D(900, 105)); respawn_points.push(new Vector2D(309, -360)); respawn_points.push(new Vector2D(30, -560)); _local1 = new PopulationNode(); _local1.location = new Vector2D(500, 105); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 1; _local1.enemy_rate = 1.5; _local1.start_distance = 1500; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(900, 105); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 2; _local1.enemy_rate = 3; _local1.start_distance = 1000; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(1200, 105); _local1.enemy_type = PopulationNode.PT_ENEMY_K; _local1.total_enemies = 1; _local1.enemy_rate = 0; _local1.start_distance = 1000; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(1500, 105); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 2; _local1.enemy_rate = 2; _local1.start_distance = 1000; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(800, -379); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 2; _local1.enemy_rate = 3; _local1.start_distance = 1500; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(400, -379); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 1; _local1.enemy_rate = 1; _local1.start_distance = 300; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(300, -379); _local1.enemy_type = PopulationNode.PT_ENEMY_K; _local1.total_enemies = 1; _local1.enemy_rate = 0.1; _local1.start_distance = 300; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(380, -530); _local1.spawn_location = new Vector2D(1000, -580); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 2; _local1.enemy_rate = 1.5; _local1.start_distance = 150; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(380, -530); _local1.spawn_location = new Vector2D(1200, -580); _local1.enemy_type = PopulationNode.PT_ENEMY_K; _local1.total_enemies = 1; _local1.enemy_rate = 0.5; _local1.start_distance = 150; population_nodes.push(_local1); } override public function setup_pathfind(_arg1:Pathfind):void{ var _local2:PathfindZone; var _local3:PathfindConnection; _local2 = new PathfindZone(-400, 2000, 200); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = 1890; _local3.left_side = false; _local3.jump_connection = true; _local3.zone_connection = 1; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-600, 1900, -160); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = 1820; _local3.left_side = false; _local3.jump_connection = false; _local3.zone_connection = 0; _local2.connection_list.push(_local3); _local3 = new PathfindConnection(); _local3.x_boundary = -440; _local3.left_side = false; _local3.jump_connection = true; _local3.zone_connection = 2; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-480, 2000, -550); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -420; _local3.left_side = true; _local3.jump_connection = false; _local3.zone_connection = 1; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); } } }//package
Section 225
//TempleLevelC (TempleLevelC) package { public class TempleLevelC extends Level { public function TempleLevelC(){ music_id = 5; } override public function level_setup():void{ var _local1:PopulationNode; level_object = new TempleC(); engage_count = 2; player_start = new Vector2D(-480, 440); camera_left_limit = -750; camera_right_limit = 900; finish_zone_active = true; finish_zone_center = new Vector2D(1200, 0); finish_zone_size = new Vector2D(100, 100); _local1 = new PopulationNode(); _local1.location = new Vector2D(170, 250); _local1.spawn_location = new Vector2D(170, 250); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 1; _local1.enemy_rate = 2; _local1.start_distance = 1000; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(490, 100); _local1.spawn_location = new Vector2D(900, 0); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 2; _local1.enemy_rate = 1.5; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(490, 100); _local1.spawn_location = new Vector2D(130, 260); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 1; _local1.enemy_rate = 1.5; _local1.start_distance = 100; population_nodes.push(_local1); } } }//package
Section 226
//TempleLevelD (TempleLevelD) package { public class TempleLevelD extends Level { public function TempleLevelD(){ music_id = 6; } override public function level_setup():void{ var _local1:PopulationNode; level_object = new TempleD(); engage_count = 2; player_start = new Vector2D(-500, 160); camera_left_limit = -850; camera_right_limit = 500; finish_zone_active = true; finish_zone_center = new Vector2D(720, 200); finish_zone_size = new Vector2D(100, 500); _local1 = new PopulationNode(); _local1.location = new Vector2D(200, 160); _local1.enemy_type = PopulationNode.PT_BOSS_B; _local1.total_enemies = 1; _local1.enemy_timer = 0; _local1.enemy_rate = 0.1; _local1.start_distance = 500; population_nodes.push(_local1); } } }//package
Section 227
//TempleLevelE (TempleLevelE) package { public class TempleLevelE extends Level { public function TempleLevelE(){ music_id = 5; } override public function level_setup():void{ var _local1:PopulationNode; level_object = new TempleE(); engage_count = 2; player_start = new Vector2D(-285, -550); respawn_points.push(new Vector2D(5, -570)); respawn_points.push(new Vector2D(1500, -370)); respawn_points.push(new Vector2D(1400, -200)); respawn_points.push(new Vector2D(-150, -200)); respawn_points.push(new Vector2D(140, 140)); camera_left_limit = -550; camera_right_limit = 1800; finish_zone_active = true; finish_zone_center = new Vector2D(1640, 200); finish_zone_size = new Vector2D(200, 500); _local1 = new PopulationNode(); _local1.location = new Vector2D(505, -370); _local1.spawn_location = new Vector2D(-75, -550); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 2; _local1.enemy_rate = 1; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(505, -370); _local1.spawn_location = new Vector2D(1100, -370); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 2; _local1.enemy_rate = 4.5; _local1.start_distance = 300; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(1305, -370); _local1.spawn_location = new Vector2D(1600, -370); _local1.enemy_type = PopulationNode.PT_ENEMY_K; _local1.total_enemies = 1; _local1.enemy_rate = 0.45; _local1.start_distance = 200; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(1783, -300); _local1.spawn_location = new Vector2D(900, -200); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 1; _local1.enemy_rate = 6.1; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(1783, -300); _local1.spawn_location = new Vector2D(800, -200); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 2; _local1.enemy_rate = 3.1; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(800, -300); _local1.spawn_location = new Vector2D(500, -200); _local1.enemy_type = PopulationNode.PT_ENEMY_K; _local1.total_enemies = 1; _local1.enemy_rate = 2.1; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(300, -300); _local1.spawn_location = new Vector2D(-200, -200); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 2; _local1.enemy_rate = 1.1; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(80, 110); _local1.spawn_location = new Vector2D(800, 110); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 2; _local1.enemy_rate = 4.1; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(80, 110); _local1.spawn_location = new Vector2D(1000, 110); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 1; _local1.enemy_rate = 1.4; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(500, 110); _local1.spawn_location = new Vector2D(1200, 110); _local1.enemy_type = PopulationNode.PT_ENEMY_K; _local1.total_enemies = 1; _local1.enemy_rate = 1.4; _local1.start_distance = 100; population_nodes.push(_local1); } override public function setup_pathfind(_arg1:Pathfind):void{ var _local2:PathfindZone; var _local3:PathfindConnection; _local2 = new PathfindZone(400, 2000, -520); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = 415; _local3.left_side = true; _local3.jump_connection = false; _local3.zone_connection = 1; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-600, 1760, -340); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = 1740; _local3.left_side = false; _local3.jump_connection = false; _local3.zone_connection = 2; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-370, 2000, -160); _local2.connection_list = new Array(); _local3 = new PathfindConnection(); _local3.x_boundary = -330; _local3.left_side = true; _local3.jump_connection = false; _local3.zone_connection = 3; _local2.connection_list.push(_local3); _arg1.zone_list.push(_local2); _local2 = new PathfindZone(-600, 2000, 220); _local2.connection_list = new Array(); _arg1.zone_list.push(_local2); } } }//package
Section 228
//TempleLevelEnd (TempleLevelEnd) package { public class TempleLevelEnd extends Level { var end_started:Boolean; var end_timer:int; public function TempleLevelEnd(){ music_id = 7; } override public function level_setup():void{ var _local1:PopulationNode; end_started = false; end_timer = 0; level_object = new TempleEnd(); engage_count = 2; player_start = new Vector2D(-800, 230); respawn_points.push(new Vector2D(-800, 230)); respawn_points.push(new Vector2D(-100, 230)); camera_left_limit = -950; camera_right_limit = 1500; _local1 = new PopulationNode(); _local1.location = new Vector2D(400, 250); _local1.spawn_location = new Vector2D(700, 250); _local1.enemy_type = PopulationNode.PT_BOSS_C; _local1.total_enemies = 1; _local1.enemy_rate = 1; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(-800, 250); _local1.spawn_location = new Vector2D(100, 250); _local1.enemy_type = PopulationNode.PT_ENEMY_K; _local1.total_enemies = 1; _local1.enemy_rate = 1; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(-800, 250); _local1.spawn_location = new Vector2D(100, 250); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 4; _local1.enemy_rate = 2; _local1.start_distance = 100; population_nodes.push(_local1); } override public function update():void{ super.update(); if (end_started){ end_timer++; if (end_timer == 100){ Application.get_singleton().game.game_win = true; }; }; } override public function death_notification(_arg1:int):void{ if (_arg1 == PopulationNode.PT_BOSS_C){ Application.get_singleton().audio.music_stop(); Application.get_singleton().game.score_manager.send_event(ScoreManager.SCORE_EVENT_WIN_GAME); end_started = true; }; } } }//package
Section 229
//TempleLevelF (TempleLevelF) package { public class TempleLevelF extends Level { public function TempleLevelF(){ music_id = 5; } override public function level_setup():void{ var _local1:PopulationNode; level_object = new TempleF(); engage_count = 2; player_start = new Vector2D(-480, 440); camera_left_limit = -750; camera_right_limit = 900; finish_zone_active = true; finish_zone_center = new Vector2D(1200, 0); finish_zone_size = new Vector2D(100, 100); _local1 = new PopulationNode(); _local1.location = new Vector2D(170, 250); _local1.spawn_location = new Vector2D(170, 250); _local1.enemy_type = PopulationNode.PT_ENEMY_B; _local1.total_enemies = 2; _local1.enemy_rate = 2; _local1.start_distance = 1000; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(120, 260); _local1.spawn_location = new Vector2D(700, 120); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 3; _local1.enemy_rate = 2.5; _local1.start_distance = 100; population_nodes.push(_local1); _local1 = new PopulationNode(); _local1.location = new Vector2D(40, 263); _local1.spawn_location = new Vector2D(-570, 440); _local1.enemy_type = PopulationNode.PT_ENEMY_A; _local1.total_enemies = 2; _local1.enemy_rate = 1.5; _local1.start_distance = 100; population_nodes.push(_local1); } } }//package
Section 230
//TileDatabase (TileDatabase) package { public class TileDatabase { static function create_tile(_arg1:String):BaseTile{ var _local2:FloorTile; var _local3:WallTile; var _local4:BaseTile; if (_arg1.indexOf("fill") != -1){ _local4 = new BaseTile(); return (_local4); }; if (_arg1.indexOf("cloud") != -1){ _local4 = new BaseTile(); _local4.depth = 98; return (_local4); }; if (_arg1.indexOf("road") != -1){ _local2 = new FloorTile(); _local2.top_adjust = 27; return (_local2); }; if (_arg1.indexOf("basefloor") != -1){ _local2 = new FloorTile(); _local2.top_adjust = 0; return (_local2); }; if (_arg1.indexOf("woodfloor") != -1){ _local2 = new FloorTile(); _local2.top_adjust = 40; return (_local2); }; if (_arg1.indexOf("rockstair") != -1){ _local2 = new FloorTile(); return (_local2); }; if (_arg1.indexOf("rockstair2") != -1){ _local2 = new FloorTile(); _local2.top_adjust = 94; return (_local2); }; if (_arg1.indexOf("bridge") != -1){ _local2 = new FloorTile(); _local2.top_adjust = 93; return (_local2); }; if (_arg1.indexOf("templebridge") != -1){ _local2 = new FloorTile(); _local2.top_adjust = 0; return (_local2); }; if (_arg1.indexOf("temple_entrance") != -1){ _local2 = new FloorTile(); _local2.top_adjust = 400; return (_local2); }; if (_arg1.indexOf("cliff") != -1){ _local3 = new WallTile(); return (_local3); }; if (_arg1.indexOf("mountain1") != -1){ _local4 = new BaseTile(); _local4.depth = 85; return (_local4); }; if (_arg1.indexOf("mountain2") != -1){ _local4 = new BaseTile(); _local4.depth = 75; return (_local4); }; if (_arg1.indexOf("stalag") != -1){ _local4 = new BaseTile(); _local4.depth = 20; return (_local4); }; if (_arg1.indexOf("lowdepth") != -1){ _local4 = new BaseTile(); _local4.depth = 20; return (_local4); }; if (_arg1.indexOf("middepth") != -1){ _local4 = new BaseTile(); _local4.depth = 40; return (_local4); }; if (_arg1.indexOf("vld") != -1){ _local4 = new BaseTile(); _local4.depth = 5; return (_local4); }; if (_arg1.indexOf("floating") != -1){ _local4 = new BaseTile(); _local4.depth = -20; return (_local4); }; if (_arg1.indexOf("floating2") != -1){ _local4 = new BaseTile(); _local4.depth = -10; return (_local4); }; if (_arg1.indexOf("platform") != -1){ _local2 = new FloorTile(); _local2.top_adjust = 10; return (_local2); }; return (null); } } }//package
Section 231
//TitleMovie (TitleMovie) package { import flash.display.*; public dynamic class TitleMovie extends MovieClip { public var btn_play_game:MovieClip; public var btn_audio:MovieClip; public var btn_high_scores:MovieClip; public var btn_credits:MovieClip; public var btn_more_stick:MovieClip; public function TitleMovie(){ addFrameScript(38, frame39, 131, frame132, 142, frame143, 152, frame153); } function frame143(){ stop(); } function frame153(){ stop(); } function frame39(){ } function frame132(){ gotoAndPlay("start_loop"); } } }//package
Section 232
//WallTile (WallTile) package { import flash.display.*; public class WallTile extends BaseTile { override public function initialize(_arg1:MovieClip):void{ collision_type = CTYPE_WALL; super.initialize(_arg1); } } }//package
Section 233
//WebScoreAPI (WebScoreAPI) package { import flash.events.*; import flash.net.*; import utils.*; import flash.system.*; public class WebScoreAPI { var scores_ready:Boolean; var submit_loader:URLLoader; var encrypt:MD5; var view_loader:URLLoader; var hs_scores:Array; var hs_names:Array; static var HK:String = "sc0reHash"; public function WebScoreAPI(){ Security.allowDomain("*"); trace("WebScoreAPI created."); hs_names = new Array(10); hs_scores = new Array(10); encrypt = new MD5(); view_loader = new URLLoader(); view_loader.dataFormat = URLLoaderDataFormat.VARIABLES; view_loader.addEventListener(Event.COMPLETE, view_callback); submit_loader = new URLLoader(); submit_loader.dataFormat = URLLoaderDataFormat.VARIABLES; submit_loader.addEventListener(Event.COMPLETE, submit_callback); scores_ready = false; } public function retrieve_scores(){ var i:int; var variables:URLVariables; var request:URLRequest; scores_ready = false; i = 0; while (i < 10) { hs_names[i] = null; hs_scores[i] = null; i = (i + 1); }; variables = new URLVariables(); variables.viewtype = "FLASH"; request = new URLRequest(); request.url = "http://www.diffusiongames.com/sff_scores.php"; request.method = URLRequestMethod.GET; request.data = variables; try { view_loader.load(request); } catch(error:Error) { trace("WebScoreAPI: Unable to load URL"); }; } public function submit_score(_arg1:String, _arg2:int){ var s_input:String; var s_result:String; var variables:URLVariables; var request:URLRequest; var player_name = _arg1; var player_score = _arg2; scores_ready = false; s_input = ((player_name + player_score) + HK); s_result = MD5.hash(s_input); variables = new URLVariables(); variables.username = player_name; variables.highscore = player_score; variables.action = "ADD"; variables.hash = s_result; request = new URLRequest(); request.url = "http://www.diffusiongames.com/sff_scores.php"; request.method = URLRequestMethod.GET; request.data = variables; try { submit_loader.load(request); } catch(error:Error) { trace("WebScoreAPI: Unable to load URL"); }; } public function submit_callback(_arg1:Event):void{ if (_arg1.currentTarget.data.SUCCESS == "1"){ trace("WebScoreAPI: Score submit successful."); } else { trace("WebScoreAPI: Score submit unsuccessful (hash mismatch?)"); }; } public function scores_available():Boolean{ return (scores_ready); } public function view_callback(_arg1:Event):void{ trace("WebScoreAPI: Score view successful."); scores_ready = true; hs_names[0] = _arg1.currentTarget.data.NAME0; hs_scores[0] = _arg1.currentTarget.data.SCORE0; hs_names[1] = _arg1.currentTarget.data.NAME1; hs_scores[1] = _arg1.currentTarget.data.SCORE1; hs_names[2] = _arg1.currentTarget.data.NAME2; hs_scores[2] = _arg1.currentTarget.data.SCORE2; hs_names[3] = _arg1.currentTarget.data.NAME3; hs_scores[3] = _arg1.currentTarget.data.SCORE3; hs_names[4] = _arg1.currentTarget.data.NAME4; hs_scores[4] = _arg1.currentTarget.data.SCORE4; hs_names[5] = _arg1.currentTarget.data.NAME5; hs_scores[5] = _arg1.currentTarget.data.SCORE5; hs_names[6] = _arg1.currentTarget.data.NAME6; hs_scores[6] = _arg1.currentTarget.data.SCORE6; hs_names[7] = _arg1.currentTarget.data.NAME7; hs_scores[7] = _arg1.currentTarget.data.SCORE7; hs_names[8] = _arg1.currentTarget.data.NAME8; hs_scores[8] = _arg1.currentTarget.data.SCORE8; hs_names[9] = _arg1.currentTarget.data.NAME9; hs_scores[9] = _arg1.currentTarget.data.SCORE9; } } }//package
Section 234
//Vector2D (Vector2D) package { class Vector2D { var x:Number; var y:Number; function Vector2D(_arg1:Number, _arg2:Number){ x = _arg1; y = _arg2; } public function set(_arg1:Number, _arg2:Number){ x = _arg1; y = _arg2; } public function normalize():void{ var _local1:*; _local1 = ((x * x) + (y * y)); if (Math.abs(_local1) > 1E-6){ x = (x / _local1); y = (y / _local1); }; } public static function distance_2D(_arg1:Vector2D, _arg2:Vector2D):Number{ return (Math.sqrt((((_arg2.x - _arg1.x) * (_arg2.x - _arg1.x)) + ((_arg2.y - _arg1.y) * (_arg2.y - _arg1.y))))); } } }//package
Section 235
//WorldDatabase (WorldDatabase) package { import flash.display.*; public class WorldDatabase { var game_ptr:Game; var tile_list:Array; var temp_mv:Vector2D; public function WorldDatabase(_arg1:Game){ game_ptr = _arg1; temp_mv = new Vector2D(0, 0); tile_list = new Array(); } public function add_shape(_arg1:DisplayObject){ var _local2:BaseTile; var _local3:MovieClip; if (_arg1.name != null){ if ((_arg1 is MovieClip)){ _local2 = TileDatabase.create_tile(_arg1.name); if (_local2){ _local2.initialize((_arg1 as MovieClip)); tile_list.push(_local2); _arg1.cacheAsBitmap = true; _local3 = (_arg1 as MovieClip); _local3.enabled = false; }; }; }; } public function clear_all_objects():void{ tile_list = new Array(); } public function box_overlap_2D(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):Boolean{ var _local9:Boolean; var _local10:Boolean; var _local11:*; var _local12:*; var _local13:*; var _local14:*; var _local15:*; var _local16:*; var _local17:*; var _local18:*; _local9 = false; _local10 = false; _local11 = (_arg1 - (_arg3 * 0.5)); _local12 = (_arg1 + (_arg3 * 0.5)); _local13 = (_arg2 - (_arg4 * 0.5)); _local14 = (_arg2 + (_arg4 * 0.5)); _local15 = (_arg5 - (_arg7 * 0.5)); _local16 = (_arg5 + (_arg7 * 0.5)); _local17 = (_arg6 - (_arg8 * 0.5)); _local18 = (_arg6 + (_arg8 * 0.5)); if ((((_local11 > _local15)) && ((_local11 < _local16)))){ _local9 = true; } else { if ((((_local12 > _local15)) && ((_local12 < _local16)))){ _local9 = true; } else { if ((((_local15 > _local11)) && ((_local15 < _local12)))){ _local9 = true; } else { if ((((_local16 > _local11)) && ((_local16 < _local12)))){ _local9 = true; }; }; }; }; if ((((_local13 > _local17)) && ((_local13 < _local18)))){ _local10 = true; } else { if ((((_local14 > _local17)) && ((_local14 < _local18)))){ _local10 = true; } else { if ((((_local17 > _local13)) && ((_local17 < _local14)))){ _local10 = true; } else { if ((((_local18 > _local13)) && ((_local18 < _local14)))){ _local10 = true; }; }; }; }; return (((_local9) && (_local10))); } public function update():void{ var _local1:GameCamera; var _local2:int; var _local3:BaseTile; var _local4:Number; var _local5:int; var _local6:int; _local1 = Application.get_singleton().game.camera; temp_mv.x = 0; temp_mv.y = 0; _local2 = 0; while (_local2 < tile_list.length) { _local3 = tile_list[_local2]; _local4 = ((100 - _local3.depth) / 100); _local5 = (_local3.original_x - (_local4 * _local1.position_x)); _local6 = (_local3.original_y - (_local4 * _local1.position_y)); temp_mv.x = _local5; temp_mv.y = _local6; if (((!((temp_mv.x == _local3.clip_ptr.x))) || (!((temp_mv.y == _local3.clip_ptr.y))))){ _local3.clip_ptr.x = temp_mv.x; _local3.clip_ptr.y = temp_mv.y; }; _local2++; }; } public function get_ground_y(_arg1:Number, _arg2:Number):Number{ var _local3:Number; var _local4:int; var _local5:BaseTile; var _local6:Number; var _local7:Number; var _local8:*; var _local9:*; var _local10:Number; var _local11:Number; var _local12:Number; _local3 = 1000000; _local4 = 0; while (_local4 < tile_list.length) { _local5 = tile_list[_local4]; if (_local5.collision_type == BaseTile.CTYPE_GROUND){ _local6 = _local5.original_x; _local7 = _local5.original_y; _local8 = _local5.obb_width; _local9 = _local5.obb_height; _local10 = ((_local7 - (_local9 * 0.5)) + _local5.top_adjust); if (_local10 >= _arg2){ _local11 = (_local6 - (_local8 * 0.5)); _local12 = (_local6 + (_local8 * 0.5)); if ((((_arg1 >= _local11)) && ((_arg1 <= _local12)))){ if (_local10 < _local3){ _local3 = _local10; }; }; }; }; _local4++; }; return (_local3); } public function clip_vector(_arg1:Number, _arg2:Number, _arg3:Vector2D):Boolean{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Boolean; var _local9:int; var _local10:BaseTile; var _local11:Number; var _local12:Number; var _local13:*; var _local14:*; var _local15:Number; _local4 = Math.sqrt(((_arg3.x * _arg3.x) + (_arg3.y * _arg3.y))); _local5 = (_arg3.x / _local4); _local6 = (_arg3.y / _local4); _local7 = 1000000; _local8 = false; _local9 = 0; while (_local9 < tile_list.length) { _local10 = tile_list[_local9]; if (_local10.collision_type == BaseTile.CTYPE_NONE){ } else { _local11 = _local10.original_x; _local12 = _local10.original_y; _local13 = (_local10.obb_width * 0.5); _local14 = (_local10.obb_height * 0.5); _local15 = ray_box_collide(_arg1, _arg2, _local5, _local6, _local11, _local12, _local13, _local14); if (_local15 >= 0){ if (_local15 <= _local4){ if (_local15 < _local7){ _local7 = _local15; _local8 = true; }; }; }; }; _local9++; }; if (_local8){ _arg3.x = (_local5 * _local7); _arg3.y = (_local6 * _local7); return (true); }; return (false); } public function ray_box_collide(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):Number{ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:*; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local9 = -10000000; _local10 = 10000000; _local11 = (_arg5 - _arg1); _local12 = (_arg6 - _arg2); _local15 = 0; _local16 = _local11; _local17 = _arg3; if (Math.abs(_local17) > 1E-8){ _local13 = ((_local16 + _arg7) / _local17); _local14 = ((_local16 - _arg7) / _local17); if (_local13 > _local14){ _local15 = _local13; _local13 = _local14; _local14 = _local15; }; if (_local13 > _local9){ _local9 = _local13; }; if (_local14 < _local10){ _local10 = _local14; }; if (_local9 > _local10){ return (-1); }; if (_local10 < 0){ return (-1); }; } else { if (((((-(_local16) - _arg7) > 0)) || (((-(_local16) + _arg7) < 0)))){ return (-1); }; }; _local16 = _local12; _local17 = _arg4; if (Math.abs(_local17) > 1E-8){ _local13 = ((_local16 + _arg8) / _local17); _local14 = ((_local16 - _arg8) / _local17); if (_local13 > _local14){ _local15 = _local13; _local13 = _local14; _local14 = _local15; }; if (_local13 > _local9){ _local9 = _local13; }; if (_local14 < _local10){ _local10 = _local14; }; if (_local9 > _local10){ return (-1); }; if (_local10 < 0){ return (-1); }; } else { if (((((-(_local16) - _arg8) > 0)) || (((-(_local16) + _arg8) < 0)))){ return (-1); }; }; if (_local9 > 0){ return (_local9); }; return (_local10); } public function check_x_collision(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{ var _local5:int; var _local6:BaseTile; var _local7:Number; var _local8:Number; var _local9:*; var _local10:*; _local5 = 0; while (_local5 < tile_list.length) { _local6 = tile_list[_local5]; if (_local6.collision_type == BaseTile.CTYPE_WALL){ _local7 = _local6.original_x; _local8 = _local6.original_y; _local9 = _local6.obb_width; _local10 = _local6.obb_height; if (box_overlap_2D(_arg1, _arg2, _arg3, _arg4, _local7, _local8, _local9, _local10)){ return (true); }; }; _local5++; }; return (false); } } }//package

Library Items

Symbol 1 Sound {MusicTemple2}
Symbol 2 Sound {SFXTeleport}
Symbol 3 Sound {SFXSwing2}
Symbol 4 Sound {SFXSwing1}
Symbol 5 Sound {SFXPlayerDeath}
Symbol 6 Sound {SFXPHit4}
Symbol 7 Sound {SFXPHit3}
Symbol 8 Sound {SFXPHit2}
Symbol 9 Sound {SFXPHit1}
Symbol 10 Sound {MusicMountain1}
Symbol 11 Sound {SFXKnifeThrow}
Symbol 12 Sound {SFXJump}
Symbol 13 Sound {SFXHit3}
Symbol 14 Sound {SFXHit2}
Symbol 15 Sound {SFXHit1}
Symbol 16 Sound {SFXFootR2}
Symbol 17 Sound {SFXFootR1}
Symbol 18 Sound {SFXFootL2}
Symbol 19 Sound {SFXFootL1}
Symbol 20 Sound {SFXFireball}
Symbol 21 Sound {MusicEndBoss}
Symbol 22 Sound {MusicDojo}
Symbol 23 Sound {SFXDeath7}
Symbol 24 Sound {SFXDeath6}
Symbol 25 Sound {SFXDeath5}
Symbol 26 Sound {SFXDeath4}
Symbol 27 Sound {SFXDeath3}
Symbol 28 Sound {SFXDeath2}
Symbol 29 Sound {SFXDeath1}
Symbol 30 Sound {SFXChi3}
Symbol 31 Sound {SFXChi2}
Symbol 32 Sound {SFXChi1}
Symbol 33 Sound {MusicCave}
Symbol 34 Sound {MusicBoss2}
Symbol 35 Sound {SFXBigHit2}
Symbol 36 Sound {SFXBigHit1}
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClip {BlurPoint}Uses:37
Symbol 39 MovieClip {fl.controls.List}
Symbol 40 MovieClip {fl.controls.TextInput}
Symbol 41 BitmapUsed by:42
Symbol 42 GraphicUses:41Used by:76
Symbol 43 BitmapUsed by:44
Symbol 44 GraphicUses:43Used by:45
Symbol 45 MovieClipUses:44Used by:76
Symbol 46 BitmapUsed by:47
Symbol 47 GraphicUses:46Used by:76
Symbol 48 FontUsed by:49 65 225 227 229 236
Symbol 49 TextUses:48Used by:76
Symbol 50 FontUsed by:51 53 55 57 59 63 64 69 465 536 538 540 542 544 546 548 550 552 555 638 639
Symbol 51 EditableTextUses:50 61Used by:52
Symbol 52 MovieClipUses:51Used by:76
Symbol 53 TextUses:50Used by:54
Symbol 54 MovieClipUses:53Used by:76
Symbol 55 TextUses:50Used by:56
Symbol 56 MovieClipUses:55Used by:76
Symbol 57 TextUses:50Used by:58
Symbol 58 MovieClipUses:57Used by:76
Symbol 59 EditableTextUses:50 61Used by:60
Symbol 60 MovieClip {sff_fla.btn_audio_129}Uses:59Used by:76
Symbol 61 FontUsed by:51 59 62 453 456 457 458 459 460 461 462 463 464 465 467 468 469 470 471 472 473 475 476 536 538 540 542 544 546 548 550 555 633 634 639
Symbol 62 TextUses:61Used by:75
Symbol 63 TextUses:50Used by:75
Symbol 64 TextUses:50Used by:75
Symbol 65 TextUses:48Used by:75
Symbol 66 FontUsed by:67 68 225 226 230 236 238 394 398 401 474 636 647 649
Symbol 67 TextUses:66Used by:75
Symbol 68 TextUses:66Used by:75
Symbol 69 TextUses:50Used by:75
Symbol 70 FontUsed by:71 74
Symbol 71 TextUses:70Used by:75
Symbol 72 GraphicUsed by:73
Symbol 73 MovieClipUses:72Used by:75 650
Symbol 74 TextUses:70Used by:75
Symbol 75 MovieClipUses:62 63 64 65 67 68 69 71 73 74Used by:76
Symbol 76 MovieClip {TitleMovie}Uses:42 45 47 49 52 54 56 58 60 75
Symbol 77 GraphicUsed by:125 219
Symbol 78 GraphicUsed by:125
Symbol 79 GraphicUsed by:125 219
Symbol 80 GraphicUsed by:125 219
Symbol 81 GraphicUsed by:125
Symbol 82 GraphicUsed by:125
Symbol 83 GraphicUsed by:125
Symbol 84 GraphicUsed by:125
Symbol 85 GraphicUsed by:125
Symbol 86 GraphicUsed by:125
Symbol 87 GraphicUsed by:125
Symbol 88 GraphicUsed by:125
Symbol 89 GraphicUsed by:125
Symbol 90 GraphicUsed by:125
Symbol 91 GraphicUsed by:125
Symbol 92 GraphicUsed by:125
Symbol 93 GraphicUsed by:125
Symbol 94 GraphicUsed by:125
Symbol 95 GraphicUsed by:125
Symbol 96 GraphicUsed by:125
Symbol 97 GraphicUsed by:125
Symbol 98 GraphicUsed by:125
Symbol 99 GraphicUsed by:125
Symbol 100 GraphicUsed by:125
Symbol 101 GraphicUsed by:125
Symbol 102 GraphicUsed by:125
Symbol 103 GraphicUsed by:125
Symbol 104 GraphicUsed by:125
Symbol 105 GraphicUsed by:125
Symbol 106 GraphicUsed by:125
Symbol 107 GraphicUsed by:125
Symbol 108 GraphicUsed by:125
Symbol 109 GraphicUsed by:125
Symbol 110 GraphicUsed by:125
Symbol 111 GraphicUsed by:125
Symbol 112 GraphicUsed by:125
Symbol 113 GraphicUsed by:125
Symbol 114 GraphicUsed by:125
Symbol 115 GraphicUsed by:125
Symbol 116 GraphicUsed by:125
Symbol 117 GraphicUsed by:125
Symbol 118 GraphicUsed by:125
Symbol 119 GraphicUsed by:125
Symbol 120 GraphicUsed by:125
Symbol 121 GraphicUsed by:125
Symbol 122 GraphicUsed by:125
Symbol 123 GraphicUsed by:125
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClip {EnemyA}Uses:77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
Symbol 126 GraphicUsed by:219
Symbol 127 GraphicUsed by:219
Symbol 128 GraphicUsed by:219
Symbol 129 GraphicUsed by:219
Symbol 130 GraphicUsed by:219
Symbol 131 GraphicUsed by:219
Symbol 132 GraphicUsed by:219
Symbol 133 GraphicUsed by:219
Symbol 134 GraphicUsed by:219
Symbol 135 GraphicUsed by:219
Symbol 136 GraphicUsed by:219
Symbol 137 GraphicUsed by:219
Symbol 138 GraphicUsed by:219
Symbol 139 GraphicUsed by:219
Symbol 140 GraphicUsed by:219
Symbol 141 GraphicUsed by:219
Symbol 142 GraphicUsed by:219
Symbol 143 GraphicUsed by:219
Symbol 144 GraphicUsed by:219
Symbol 145 GraphicUsed by:219
Symbol 146 GraphicUsed by:219
Symbol 147 GraphicUsed by:219
Symbol 148 GraphicUsed by:219
Symbol 149 GraphicUsed by:219
Symbol 150 GraphicUsed by:219
Symbol 151 GraphicUsed by:219
Symbol 152 GraphicUsed by:219
Symbol 153 GraphicUsed by:219
Symbol 154 GraphicUsed by:219
Symbol 155 GraphicUsed by:219
Symbol 156 GraphicUsed by:219
Symbol 157 GraphicUsed by:219
Symbol 158 GraphicUsed by:219
Symbol 159 GraphicUsed by:219
Symbol 160 GraphicUsed by:219
Symbol 161 GraphicUsed by:219
Symbol 162 GraphicUsed by:219
Symbol 163 GraphicUsed by:219
Symbol 164 GraphicUsed by:219
Symbol 165 GraphicUsed by:219
Symbol 166 GraphicUsed by:219
Symbol 167 GraphicUsed by:219
Symbol 168 GraphicUsed by:219
Symbol 169 GraphicUsed by:219
Symbol 170 GraphicUsed by:219
Symbol 171 GraphicUsed by:219
Symbol 172 GraphicUsed by:219
Symbol 173 GraphicUsed by:219
Symbol 174 GraphicUsed by:219
Symbol 175 GraphicUsed by:219
Symbol 176 GraphicUsed by:219
Symbol 177 GraphicUsed by:219
Symbol 178 GraphicUsed by:219
Symbol 179 GraphicUsed by:219
Symbol 180 GraphicUsed by:219
Symbol 181 GraphicUsed by:219
Symbol 182 GraphicUsed by:219
Symbol 183 GraphicUsed by:219
Symbol 184 GraphicUsed by:219
Symbol 185 GraphicUsed by:219
Symbol 186 GraphicUsed by:219
Symbol 187 GraphicUsed by:219
Symbol 188 GraphicUsed by:219
Symbol 189 GraphicUsed by:219
Symbol 190 GraphicUsed by:219
Symbol 191 GraphicUsed by:219
Symbol 192 GraphicUsed by:219
Symbol 193 GraphicUsed by:219
Symbol 194 GraphicUsed by:219
Symbol 195 GraphicUsed by:219
Symbol 196 GraphicUsed by:219
Symbol 197 GraphicUsed by:219
Symbol 198 GraphicUsed by:219
Symbol 199 GraphicUsed by:219
Symbol 200 GraphicUsed by:219
Symbol 201 GraphicUsed by:219
Symbol 202 GraphicUsed by:219
Symbol 203 GraphicUsed by:219
Symbol 204 GraphicUsed by:219
Symbol 205 GraphicUsed by:219
Symbol 206 GraphicUsed by:219
Symbol 207 GraphicUsed by:219
Symbol 208 GraphicUsed by:219
Symbol 209 GraphicUsed by:219
Symbol 210 GraphicUsed by:219
Symbol 211 GraphicUsed by:219
Symbol 212 GraphicUsed by:219
Symbol 213 GraphicUsed by:219
Symbol 214 GraphicUsed by:219
Symbol 215 GraphicUsed by:219
Symbol 216 GraphicUsed by:219
Symbol 217 GraphicUsed by:219
Symbol 218 GraphicUsed by:219
Symbol 219 MovieClip {Avatar}Uses:77 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 79 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 80 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218
Symbol 220 GraphicUsed by:234
Symbol 221 FontUsed by:222 223 224 228
Symbol 222 EditableTextUses:221Used by:234
Symbol 223 EditableTextUses:221Used by:234
Symbol 224 EditableTextUses:221Used by:234
Symbol 225 EditableTextUses:48 66Used by:234
Symbol 226 EditableTextUses:66Used by:234
Symbol 227 EditableTextUses:48Used by:234
Symbol 228 EditableTextUses:221Used by:234
Symbol 229 EditableTextUses:48Used by:234
Symbol 230 EditableTextUses:66Used by:234
Symbol 231 GraphicUsed by:233
Symbol 232 GraphicUsed by:233
Symbol 233 MovieClip {SoundIcon}Uses:231 232Used by:234
Symbol 234 MovieClip {Interface}Uses:220 222 223 224 225 226 227 228 229 230 233
Symbol 235 GraphicUsed by:239
Symbol 236 EditableTextUses:48 66Used by:239
Symbol 237 GraphicUsed by:239
Symbol 238 TextUses:66Used by:239
Symbol 239 MovieClip {HealthBar}Uses:235 236 237 238
Symbol 240 GraphicUsed by:298
Symbol 241 GraphicUsed by:298
Symbol 242 GraphicUsed by:298
Symbol 243 GraphicUsed by:298
Symbol 244 GraphicUsed by:298
Symbol 245 GraphicUsed by:298
Symbol 246 GraphicUsed by:298
Symbol 247 GraphicUsed by:298
Symbol 248 GraphicUsed by:298
Symbol 249 GraphicUsed by:298
Symbol 250 GraphicUsed by:298
Symbol 251 GraphicUsed by:298
Symbol 252 GraphicUsed by:298
Symbol 253 GraphicUsed by:298
Symbol 254 GraphicUsed by:298
Symbol 255 GraphicUsed by:298
Symbol 256 GraphicUsed by:298
Symbol 257 GraphicUsed by:298
Symbol 258 GraphicUsed by:298
Symbol 259 GraphicUsed by:298
Symbol 260 GraphicUsed by:298
Symbol 261 GraphicUsed by:298
Symbol 262 GraphicUsed by:298
Symbol 263 GraphicUsed by:298
Symbol 264 GraphicUsed by:298
Symbol 265 GraphicUsed by:298
Symbol 266 GraphicUsed by:298
Symbol 267 GraphicUsed by:298
Symbol 268 GraphicUsed by:298
Symbol 269 GraphicUsed by:298
Symbol 270 GraphicUsed by:298
Symbol 271 GraphicUsed by:298
Symbol 272 GraphicUsed by:298
Symbol 273 GraphicUsed by:298
Symbol 274 GraphicUsed by:298
Symbol 275 GraphicUsed by:298
Symbol 276 GraphicUsed by:298
Symbol 277 GraphicUsed by:298
Symbol 278 GraphicUsed by:298
Symbol 279 GraphicUsed by:298
Symbol 280 GraphicUsed by:298
Symbol 281 GraphicUsed by:298
Symbol 282 GraphicUsed by:298
Symbol 283 GraphicUsed by:298
Symbol 284 GraphicUsed by:298
Symbol 285 GraphicUsed by:298
Symbol 286 GraphicUsed by:298
Symbol 287 GraphicUsed by:298
Symbol 288 GraphicUsed by:298
Symbol 289 GraphicUsed by:298
Symbol 290 GraphicUsed by:298
Symbol 291 GraphicUsed by:298
Symbol 292 GraphicUsed by:298
Symbol 293 GraphicUsed by:298
Symbol 294 GraphicUsed by:298
Symbol 295 GraphicUsed by:298
Symbol 296 GraphicUsed by:298
Symbol 297 GraphicUsed by:298
Symbol 298 MovieClip {BossA}Uses:240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297
Symbol 299 GraphicUsed by:300
Symbol 300 MovieClip {EnemyHealthBar}Uses:299
Symbol 301 GraphicUsed by:324 331 346
Symbol 302 GraphicUsed by:303
Symbol 303 MovieClipUses:302Used by:324 331 346 403 435 442 579 583
Symbol 304 GraphicUsed by:305
Symbol 305 MovieClipUses:304Used by:324 331 403 435 442 574
Symbol 306 GraphicUsed by:307
Symbol 307 MovieClipUses:306Used by:324 331 346 403
Symbol 308 GraphicUsed by:309
Symbol 309 MovieClipUses:308Used by:324 331
Symbol 310 GraphicUsed by:311
Symbol 311 MovieClipUses:310Used by:324
Symbol 312 GraphicUsed by:313 361 376 408 455
Symbol 313 MovieClipUses:312Used by:324
Symbol 314 GraphicUsed by:315
Symbol 315 MovieClipUses:314Used by:324
Symbol 316 GraphicUsed by:317
Symbol 317 MovieClipUses:316Used by:324
Symbol 318 GraphicUsed by:319
Symbol 319 MovieClipUses:318Used by:324
Symbol 320 GraphicUsed by:321
Symbol 321 MovieClipUses:320Used by:324 331
Symbol 322 GraphicUsed by:323
Symbol 323 MovieClipUses:322Used by:324 331 346 361 376 403 452 574 579 583
Symbol 324 MovieClip {Mountain1}Uses:301 303 305 307 309 311 313 315 317 319 321 323
Symbol 325 GraphicUsed by:326
Symbol 326 MovieClipUses:325Used by:331
Symbol 327 GraphicUsed by:328
Symbol 328 MovieClipUses:327Used by:331
Symbol 329 GraphicUsed by:330
Symbol 330 MovieClipUses:329Used by:331 346
Symbol 331 MovieClip {Mountain2}Uses:301 303 305 309 307 326 328 330 321 323
Symbol 332 GraphicUsed by:333
Symbol 333 MovieClipUses:332Used by:346 442 452 574
Symbol 334 GraphicUsed by:335
Symbol 335 MovieClipUses:334Used by:346
Symbol 336 GraphicUsed by:337
Symbol 337 MovieClipUses:336Used by:346 452
Symbol 338 GraphicUsed by:339
Symbol 339 MovieClipUses:338Used by:346
Symbol 340 GraphicUsed by:341
Symbol 341 MovieClipUses:340Used by:346
Symbol 342 GraphicUsed by:343
Symbol 343 MovieClipUses:342Used by:346
Symbol 344 GraphicUsed by:345
Symbol 345 MovieClipUses:344Used by:346
Symbol 346 MovieClip {TempleA}Uses:301 303 333 323 330 335 337 307 339 341 343 345
Symbol 347 GraphicUsed by:348
Symbol 348 MovieClipUses:347Used by:361 376
Symbol 349 GraphicUsed by:350
Symbol 350 MovieClipUses:349Used by:361 376
Symbol 351 GraphicUsed by:352
Symbol 352 MovieClipUses:351Used by:361 376
Symbol 353 GraphicUsed by:354
Symbol 354 MovieClipUses:353Used by:361 376
Symbol 355 GraphicUsed by:356
Symbol 356 MovieClipUses:355Used by:361 376
Symbol 357 GraphicUsed by:358
Symbol 358 MovieClipUses:357Used by:361
Symbol 359 GraphicUsed by:360
Symbol 360 MovieClipUses:359Used by:361 376
Symbol 361 MovieClip {Cave1}Uses:312 323 348 350 352 354 356 358 360
Symbol 362 GraphicUsed by:363
Symbol 363 MovieClipUses:362Used by:376
Symbol 364 GraphicUsed by:365
Symbol 365 MovieClipUses:364Used by:376
Symbol 366 GraphicUsed by:367
Symbol 367 MovieClipUses:366Used by:376
Symbol 368 GraphicUsed by:369
Symbol 369 MovieClipUses:368Used by:376
Symbol 370 GraphicUsed by:371
Symbol 371 MovieClipUses:370Used by:376
Symbol 372 GraphicUsed by:373
Symbol 373 MovieClipUses:372Used by:376
Symbol 374 GraphicUsed by:375
Symbol 375 MovieClipUses:374Used by:376
Symbol 376 MovieClip {Cave2}Uses:312 323 348 350 363 365 367 352 356 360 354 369 371 373 375
Symbol 377 BitmapUsed by:378
Symbol 378 GraphicUses:377Used by:379
Symbol 379 MovieClipUses:378Used by:380
Symbol 380 MovieClip {Fireball}Uses:379
Symbol 381 GraphicUsed by:382
Symbol 382 MovieClip {Knife}Uses:381
Symbol 383 GraphicUsed by:384
Symbol 384 MovieClipUses:383Used by:403 435 442 574 579 583
Symbol 385 GraphicUsed by:386
Symbol 386 MovieClipUses:385Used by:403
Symbol 387 GraphicUsed by:392
Symbol 388 BitmapUsed by:389
Symbol 389 GraphicUses:388Used by:392 428 442
Symbol 390 GraphicUsed by:392 411
Symbol 391 GraphicUsed by:392
Symbol 392 MovieClipUses:387 389 390 391Used by:403
Symbol 393 GraphicUsed by:396
Symbol 394 TextUses:66Used by:396
Symbol 395 GraphicUsed by:396
Symbol 396 MovieClipUses:393 394 395Used by:403
Symbol 397 GraphicUsed by:399
Symbol 398 TextUses:66Used by:399
Symbol 399 MovieClipUses:397 398Used by:403
Symbol 400 GraphicUsed by:402
Symbol 401 TextUses:66Used by:402
Symbol 402 MovieClipUses:400 401Used by:403
Symbol 403 MovieClip {Dojo1}Uses:384 303 305 386 307 392 396 399 402 323
Symbol 404 GraphicUsed by:405
Symbol 405 MovieClipUses:404Used by:435
Symbol 406 GraphicUsed by:407
Symbol 407 MovieClipUses:406Used by:435 442 452 579 583
Symbol 408 MovieClipUses:312Used by:435 442
Symbol 409 GraphicUsed by:410
Symbol 410 MovieClipUses:409Used by:435 442
Symbol 411 MovieClipUses:390Used by:435 442
Symbol 412 GraphicUsed by:413
Symbol 413 MovieClipUses:412Used by:435 579
Symbol 414 BitmapUsed by:415
Symbol 415 GraphicUses:414Used by:416
Symbol 416 MovieClipUses:415Used by:435 442 579 583
Symbol 417 GraphicUsed by:418
Symbol 418 MovieClipUses:417Used by:435 442 574 579 583
Symbol 419 GraphicUsed by:420
Symbol 420 MovieClipUses:419Used by:435 442
Symbol 421 GraphicUsed by:422
Symbol 422 MovieClipUses:421Used by:435 442 579 583
Symbol 423 GraphicUsed by:424
Symbol 424 MovieClipUses:423Used by:435 442
Symbol 425 BitmapUsed by:426
Symbol 426 GraphicUses:425Used by:427
Symbol 427 MovieClipUses:426Used by:435 442
Symbol 428 MovieClipUses:389Used by:435
Symbol 429 GraphicUsed by:430
Symbol 430 MovieClipUses:429Used by:435
Symbol 431 GraphicUsed by:432
Symbol 432 MovieClipUses:431Used by:435 442 574 579 583
Symbol 433 GraphicUsed by:434
Symbol 434 MovieClipUses:433Used by:435 442 579 583
Symbol 435 MovieClip {TempleE}Uses:384 305 303 405 407 408 410 411 413 416 418 420 422 424 427 428 430 432 434
Symbol 436 GraphicUsed by:437
Symbol 437 MovieClipUses:436Used by:442
Symbol 438 GraphicUsed by:439
Symbol 439 MovieClipUses:438Used by:442 574 579 583
Symbol 440 GraphicUsed by:441
Symbol 441 MovieClipUses:440Used by:442
Symbol 442 MovieClip {TempleB}Uses:384 305 303 407 437 408 333 427 439 411 410 420 441 432 424 416 422 418 434 389
Symbol 443 GraphicUsed by:444
Symbol 444 MovieClipUses:443Used by:452
Symbol 445 GraphicUsed by:449
Symbol 446 GraphicUsed by:447
Symbol 447 MovieClipUses:446Used by:449
Symbol 448 GraphicUsed by:449
Symbol 449 MovieClipUses:445 447 448Used by:452
Symbol 450 GraphicUsed by:451
Symbol 451 MovieClipUses:450Used by:452
Symbol 452 MovieClip {TempleD}Uses:444 449 407 337 323 451 333
Symbol 453 TextUses:61Used by:454
Symbol 454 MovieClip {high_scores_screen}Uses:453
Symbol 455 MovieClipUses:312Used by:466 477 640
Symbol 456 EditableTextUses:61Used by:466
Symbol 457 EditableTextUses:61Used by:466
Symbol 458 TextUses:61Used by:466
Symbol 459 EditableTextUses:61Used by:466
Symbol 460 EditableTextUses:61Used by:466
Symbol 461 EditableTextUses:61Used by:466
Symbol 462 EditableTextUses:61Used by:466
Symbol 463 EditableTextUses:61Used by:466
Symbol 464 EditableTextUses:61Used by:466
Symbol 465 EditableTextUses:50 61Used by:466
Symbol 466 MovieClip {game_over_screen}Uses:455 456 457 458 459 460 461 462 463 464 465
Symbol 467 EditableTextUses:61Used by:477
Symbol 468 EditableTextUses:61Used by:477
Symbol 469 TextUses:61Used by:477
Symbol 470 EditableTextUses:61Used by:477
Symbol 471 EditableTextUses:61Used by:477
Symbol 472 EditableTextUses:61Used by:477
Symbol 473 EditableTextUses:61Used by:477
Symbol 474 TextUses:66Used by:477
Symbol 475 EditableTextUses:61Used by:477
Symbol 476 EditableTextUses:61Used by:477
Symbol 477 MovieClip {game_win_screen}Uses:455 467 468 469 470 471 472 473 474 475 476
Symbol 478 GraphicUsed by:535
Symbol 479 GraphicUsed by:535
Symbol 480 GraphicUsed by:535
Symbol 481 GraphicUsed by:535
Symbol 482 GraphicUsed by:535
Symbol 483 GraphicUsed by:535
Symbol 484 GraphicUsed by:535
Symbol 485 GraphicUsed by:535
Symbol 486 GraphicUsed by:535
Symbol 487 GraphicUsed by:535
Symbol 488 GraphicUsed by:535
Symbol 489 GraphicUsed by:535
Symbol 490 GraphicUsed by:535
Symbol 491 GraphicUsed by:535
Symbol 492 GraphicUsed by:535
Symbol 493 GraphicUsed by:535
Symbol 494 GraphicUsed by:535
Symbol 495 GraphicUsed by:535
Symbol 496 GraphicUsed by:535
Symbol 497 GraphicUsed by:535
Symbol 498 GraphicUsed by:535
Symbol 499 GraphicUsed by:535
Symbol 500 GraphicUsed by:535
Symbol 501 GraphicUsed by:535
Symbol 502 GraphicUsed by:535
Symbol 503 GraphicUsed by:535
Symbol 504 GraphicUsed by:535
Symbol 505 GraphicUsed by:535
Symbol 506 GraphicUsed by:535
Symbol 507 GraphicUsed by:535
Symbol 508 GraphicUsed by:535
Symbol 509 GraphicUsed by:535
Symbol 510 GraphicUsed by:535
Symbol 511 GraphicUsed by:535
Symbol 512 GraphicUsed by:535
Symbol 513 GraphicUsed by:535
Symbol 514 GraphicUsed by:535
Symbol 515 GraphicUsed by:535
Symbol 516 GraphicUsed by:535
Symbol 517 GraphicUsed by:535
Symbol 518 GraphicUsed by:535
Symbol 519 GraphicUsed by:535
Symbol 520 GraphicUsed by:535
Symbol 521 GraphicUsed by:535
Symbol 522 GraphicUsed by:535
Symbol 523 GraphicUsed by:535
Symbol 524 GraphicUsed by:535
Symbol 525 GraphicUsed by:535
Symbol 526 GraphicUsed by:535
Symbol 527 GraphicUsed by:535
Symbol 528 GraphicUsed by:535
Symbol 529 GraphicUsed by:535
Symbol 530 GraphicUsed by:535
Symbol 531 GraphicUsed by:535
Symbol 532 GraphicUsed by:535
Symbol 533 GraphicUsed by:535
Symbol 534 GraphicUsed by:535
Symbol 535 MovieClip {BossB}Uses:478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534
Symbol 536 EditableTextUses:50 61Used by:537
Symbol 537 MovieClip {hint10}Uses:536
Symbol 538 EditableTextUses:50 61Used by:539
Symbol 539 MovieClip {hint9}Uses:538
Symbol 540 EditableTextUses:50 61Used by:541
Symbol 541 MovieClip {hint8}Uses:540
Symbol 542 EditableTextUses:50 61Used by:543
Symbol 543 MovieClip {hint7}Uses:542
Symbol 544 EditableTextUses:50 61Used by:545
Symbol 545 MovieClip {hint6}Uses:544
Symbol 546 EditableTextUses:50 61Used by:547
Symbol 547 MovieClip {hint5}Uses:546
Symbol 548 EditableTextUses:50 61Used by:549
Symbol 549 MovieClip {hint4}Uses:548
Symbol 550 EditableTextUses:50 61Used by:551
Symbol 551 MovieClip {hint2}Uses:550
Symbol 552 EditableTextUses:50Used by:554
Symbol 553 GraphicUsed by:554
Symbol 554 MovieClip {hint3}Uses:552 553
Symbol 555 EditableTextUses:50 61Used by:556
Symbol 556 MovieClip {hint1}Uses:555
Symbol 557 GraphicUsed by:558
Symbol 558 MovieClipUses:557Used by:574
Symbol 559 GraphicUsed by:560
Symbol 560 MovieClipUses:559Used by:574
Symbol 561 BitmapUsed by:562
Symbol 562 GraphicUses:561Used by:563
Symbol 563 MovieClipUses:562Used by:574
Symbol 564 BitmapUsed by:565
Symbol 565 GraphicUses:564Used by:566
Symbol 566 MovieClipUses:565Used by:574
Symbol 567 BitmapUsed by:568
Symbol 568 GraphicUses:567Used by:569
Symbol 569 MovieClipUses:568Used by:574
Symbol 570 GraphicUsed by:571
Symbol 571 MovieClipUses:570Used by:574 579 583
Symbol 572 GraphicUsed by:573
Symbol 573 MovieClipUses:572Used by:574
Symbol 574 MovieClip {TempleEnd}Uses:384 558 305 560 439 432 563 566 323 569 571 333 418 573
Symbol 575 GraphicUsed by:576
Symbol 576 MovieClipUses:575Used by:579 583
Symbol 577 GraphicUsed by:578
Symbol 578 MovieClipUses:577Used by:579 583
Symbol 579 MovieClip {TempleC}Uses:384 323 303 407 571 576 434 432 416 422 439 418 413 578
Symbol 580 BitmapUsed by:581
Symbol 581 GraphicUses:580Used by:582
Symbol 582 MovieClipUses:581Used by:583
Symbol 583 MovieClip {TempleF}Uses:384 323 303 407 571 576 432 434 582 416 418 422 439 578
Symbol 584 GraphicUsed by:631
Symbol 585 GraphicUsed by:631
Symbol 586 GraphicUsed by:631
Symbol 587 GraphicUsed by:631
Symbol 588 GraphicUsed by:631
Symbol 589 GraphicUsed by:631
Symbol 590 GraphicUsed by:631
Symbol 591 GraphicUsed by:631
Symbol 592 GraphicUsed by:631
Symbol 593 GraphicUsed by:631
Symbol 594 GraphicUsed by:631
Symbol 595 GraphicUsed by:631
Symbol 596 GraphicUsed by:631
Symbol 597 GraphicUsed by:631
Symbol 598 GraphicUsed by:631
Symbol 599 GraphicUsed by:631
Symbol 600 GraphicUsed by:631
Symbol 601 GraphicUsed by:631
Symbol 602 GraphicUsed by:631
Symbol 603 GraphicUsed by:631
Symbol 604 GraphicUsed by:631
Symbol 605 GraphicUsed by:631
Symbol 606 GraphicUsed by:631
Symbol 607 GraphicUsed by:631
Symbol 608 GraphicUsed by:631
Symbol 609 GraphicUsed by:631
Symbol 610 GraphicUsed by:631
Symbol 611 GraphicUsed by:631
Symbol 612 GraphicUsed by:631
Symbol 613 GraphicUsed by:631
Symbol 614 GraphicUsed by:631
Symbol 615 GraphicUsed by:631
Symbol 616 GraphicUsed by:631
Symbol 617 GraphicUsed by:631
Symbol 618 GraphicUsed by:631
Symbol 619 GraphicUsed by:631
Symbol 620 GraphicUsed by:631
Symbol 621 GraphicUsed by:631
Symbol 622 GraphicUsed by:631
Symbol 623 GraphicUsed by:631
Symbol 624 GraphicUsed by:631
Symbol 625 GraphicUsed by:631
Symbol 626 GraphicUsed by:631
Symbol 627 GraphicUsed by:631
Symbol 628 GraphicUsed by:631
Symbol 629 GraphicUsed by:631
Symbol 630 GraphicUsed by:631
Symbol 631 MovieClip {BossC}Uses:584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630
Symbol 632 GraphicUsed by:637
Symbol 633 TextUses:61Used by:637
Symbol 634 TextUses:61Used by:637
Symbol 635 GraphicUsed by:637
Symbol 636 EditableTextUses:66Used by:637
Symbol 637 MovieClip {NameEntry}Uses:632 633 634 635 636
Symbol 638 TextUses:50Used by:640
Symbol 639 EditableTextUses:50 61Used by:640
Symbol 640 MovieClip {pause_screen}Uses:455 638 639
Symbol 641 MovieClip {com.kongregate.as3.client.KongregateAPI}
Symbol 642 GraphicUsed by:643
Symbol 643 MovieClipUses:642Used by:650
Symbol 644 GraphicUsed by:650
Symbol 645 GraphicUsed by:650
Symbol 646 GraphicUsed by:650
Symbol 647 TextUses:66Used by:648
Symbol 648 MovieClipUses:647Used by:650
Symbol 649 EditableTextUses:66Used by:650
Symbol 650 MovieClip {sff_fla.armor_preload_1}Uses:643 644 645 646 73 648 649 SS1Used by:Timeline
Symbol 651 SoundUsed by:658
Symbol 652 BitmapUsed by:653
Symbol 653 GraphicUses:652Used by:654
Symbol 654 MovieClipUses:653Used by:658
Symbol 655 FontUsed by:656
Symbol 656 TextUses:655Used by:657 658
Symbol 657 MovieClipUses:656Used by:658
Symbol 658 MovieClip {sff_fla.diffusion_intro_5}Uses:651 654 657 656Used by:Timeline
Symbol 659 FontUsed by:660
Symbol 660 EditableTextUses:659Used by:Timeline
Symbol 661 Sound {SFXBoss1Death}Used by:664
Symbol 662 Sound {SFXBoss3Death}Used by:664
Symbol 663 Sound {MusicIntro}Used by:664
Symbol 664 MovieClip {sff_fla.AUDIOPRELOAD_8}Uses:661 662 663Used by:Timeline
Streaming Sound 1Used by:Symbol 650 MovieClip {sff_fla.armor_preload_1}

Instance Names

"load_text"Frame 490Symbol 660 EditableText
"sound_text"Symbol 60 MovieClip {sff_fla.btn_audio_129} Frame 1Symbol 59 EditableText
"btn_play_game"Symbol 76 MovieClip {TitleMovie} Frame 32Symbol 52 MovieClip
"btn_high_scores"Symbol 76 MovieClip {TitleMovie} Frame 32Symbol 54 MovieClip
"btn_credits"Symbol 76 MovieClip {TitleMovie} Frame 32Symbol 56 MovieClip
"btn_more_stick"Symbol 76 MovieClip {TitleMovie} Frame 32Symbol 58 MovieClip
"btn_audio"Symbol 76 MovieClip {TitleMovie} Frame 32Symbol 60 MovieClip {sff_fla.btn_audio_129}
"fps_text"Symbol 234 MovieClip {Interface} Frame 1Symbol 222 EditableText
"memory_text"Symbol 234 MovieClip {Interface} Frame 1Symbol 223 EditableText
"app_timing"Symbol 234 MovieClip {Interface} Frame 1Symbol 224 EditableText
"score_header"Symbol 234 MovieClip {Interface} Frame 1Symbol 225 EditableText
"score"Symbol 234 MovieClip {Interface} Frame 1Symbol 226 EditableText
"special_message"Symbol 234 MovieClip {Interface} Frame 1Symbol 227 EditableText
"player_loc"Symbol 234 MovieClip {Interface} Frame 1Symbol 228 EditableText
"special_message_2"Symbol 234 MovieClip {Interface} Frame 1Symbol 229 EditableText
"total_time"Symbol 234 MovieClip {Interface} Frame 1Symbol 230 EditableText
"sound_icon"Symbol 234 MovieClip {Interface} Frame 1Symbol 233 MovieClip {SoundIcon}
"life_counter"Symbol 239 MovieClip {HealthBar} Frame 1Symbol 236 EditableText
"mountain1"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 303 MovieClip
"mountain1"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 303 MovieClip
"mountain2"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 305 MovieClip
"mountain2"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 305 MovieClip
"road"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 307 MovieClip
"road"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 307 MovieClip
"cliff"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 309 MovieClip
"road"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 311 MovieClip
"road"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 307 MovieClip
"fill"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 313 MovieClip
"cliff"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 315 MovieClip
"road"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 315 MovieClip
"road"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 317 MovieClip
"bridge"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 319 MovieClip
"rockstair2"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 321 MovieClip
"rockstair2"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 321 MovieClip
"rockstair2"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 321 MovieClip
"rockstair2"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 321 MovieClip
"rockstair2"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 321 MovieClip
"road"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 307 MovieClip
"fill"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 313 MovieClip
"cliff"Symbol 324 MovieClip {Mountain1} Frame 1Symbol 323 MovieClip
"mountain1"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 303 MovieClip
"mountain2"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 305 MovieClip
"cliff1"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 309 MovieClip
"road1"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 307 MovieClip
"bridge"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 326 MovieClip
"bridge"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 328 MovieClip
"road1"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 307 MovieClip
"road1"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 307 MovieClip
"fill"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 330 MovieClip
"road1"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 307 MovieClip
"rockstair11"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 321 MovieClip
"rockstair22"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 321 MovieClip
"rockstair33"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 321 MovieClip
"cliff"Symbol 331 MovieClip {Mountain2} Frame 1Symbol 323 MovieClip
"mountain1"Symbol 346 MovieClip {TempleA} Frame 1Symbol 303 MovieClip
"fill"Symbol 346 MovieClip {TempleA} Frame 1Symbol 333 MovieClip
"cliff"Symbol 346 MovieClip {TempleA} Frame 1Symbol 323 MovieClip
"fill"Symbol 346 MovieClip {TempleA} Frame 1Symbol 330 MovieClip
"lowdepth"Symbol 346 MovieClip {TempleA} Frame 1Symbol 335 MovieClip
"fill"Symbol 346 MovieClip {TempleA} Frame 1Symbol 337 MovieClip
"fill"Symbol 346 MovieClip {TempleA} Frame 1Symbol 337 MovieClip
"road1"Symbol 346 MovieClip {TempleA} Frame 1Symbol 307 MovieClip
"cliff"Symbol 346 MovieClip {TempleA} Frame 1Symbol 323 MovieClip
"templebridge"Symbol 346 MovieClip {TempleA} Frame 1Symbol 339 MovieClip
"templebridge"Symbol 346 MovieClip {TempleA} Frame 1Symbol 339 MovieClip
"templebridge"Symbol 346 MovieClip {TempleA} Frame 1Symbol 339 MovieClip
"road1"Symbol 346 MovieClip {TempleA} Frame 1Symbol 341 MovieClip
"road1"Symbol 346 MovieClip {TempleA} Frame 1Symbol 341 MovieClip
"road1"Symbol 346 MovieClip {TempleA} Frame 1Symbol 341 MovieClip
"road1"Symbol 346 MovieClip {TempleA} Frame 1Symbol 341 MovieClip
"fill"Symbol 346 MovieClip {TempleA} Frame 1Symbol 337 MovieClip
"fill"Symbol 346 MovieClip {TempleA} Frame 1Symbol 343 MovieClip
"fill"Symbol 346 MovieClip {TempleA} Frame 1Symbol 333 MovieClip
"road1"Symbol 346 MovieClip {TempleA} Frame 1Symbol 307 MovieClip
"road1"Symbol 346 MovieClip {TempleA} Frame 1Symbol 341 MovieClip
"temple_entrance"Symbol 346 MovieClip {TempleA} Frame 1Symbol 345 MovieClip
"fill"Symbol 346 MovieClip {TempleA} Frame 1Symbol 337 MovieClip
"cliff"Symbol 361 MovieClip {Cave1} Frame 1Symbol 323 MovieClip
"cliff"Symbol 361 MovieClip {Cave1} Frame 1Symbol 323 MovieClip
"stalag"Symbol 361 MovieClip {Cave1} Frame 1Symbol 348 MovieClip
"stalag"Symbol 361 MovieClip {Cave1} Frame 1Symbol 348 MovieClip
"stalag2"Symbol 361 MovieClip {Cave1} Frame 1Symbol 348 MovieClip
"stalag"Symbol 361 MovieClip {Cave1} Frame 1Symbol 350 MovieClip
"fill2"Symbol 361 MovieClip {Cave1} Frame 1Symbol 352 MovieClip
"fill1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 354 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 356 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 356 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 356 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 358 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 358 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 358 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 358 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 356 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 360 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 360 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 360 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 358 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 360 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 360 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 356 MovieClip
"fill3"Symbol 361 MovieClip {Cave1} Frame 1Symbol 352 MovieClip
"road1"Symbol 361 MovieClip {Cave1} Frame 1Symbol 356 MovieClip
"cliff"Symbol 376 MovieClip {Cave2} Frame 1Symbol 323 MovieClip
"stalag2a"Symbol 376 MovieClip {Cave2} Frame 1Symbol 348 MovieClip
"stalaga"Symbol 376 MovieClip {Cave2} Frame 1Symbol 350 MovieClip
"stalaga"Symbol 376 MovieClip {Cave2} Frame 1Symbol 350 MovieClip
"fill"Symbol 376 MovieClip {Cave2} Frame 1Symbol 363 MovieClip
"stalag3"Symbol 376 MovieClip {Cave2} Frame 1Symbol 365 MovieClip
"stalag"Symbol 376 MovieClip {Cave2} Frame 1Symbol 348 MovieClip
"fill"Symbol 376 MovieClip {Cave2} Frame 1Symbol 367 MovieClip
"stalag"Symbol 376 MovieClip {Cave2} Frame 1Symbol 350 MovieClip
"stalag"Symbol 376 MovieClip {Cave2} Frame 1Symbol 348 MovieClip
"fill"Symbol 376 MovieClip {Cave2} Frame 1Symbol 352 MovieClip
"road14"Symbol 376 MovieClip {Cave2} Frame 1Symbol 356 MovieClip
"road1"Symbol 376 MovieClip {Cave2} Frame 1Symbol 360 MovieClip
"road1"Symbol 376 MovieClip {Cave2} Frame 1Symbol 360 MovieClip
"road1"Symbol 376 MovieClip {Cave2} Frame 1Symbol 360 MovieClip
"road1"Symbol 376 MovieClip {Cave2} Frame 1Symbol 360 MovieClip
"road1"Symbol 376 MovieClip {Cave2} Frame 1Symbol 360 MovieClip
"road1"Symbol 376 MovieClip {Cave2} Frame 1Symbol 360 MovieClip
"fill"Symbol 376 MovieClip {Cave2} Frame 1Symbol 354 MovieClip
"road1"Symbol 376 MovieClip {Cave2} Frame 1Symbol 356 MovieClip
"road1a"Symbol 376 MovieClip {Cave2} Frame 1Symbol 356 MovieClip
"road12"Symbol 376 MovieClip {Cave2} Frame 1Symbol 356 MovieClip
"road13"Symbol 376 MovieClip {Cave2} Frame 1Symbol 356 MovieClip
"platform"Symbol 376 MovieClip {Cave2} Frame 1Symbol 369 MovieClip
"small_platform"Symbol 376 MovieClip {Cave2} Frame 1Symbol 371 MovieClip
"small_platform"Symbol 376 MovieClip {Cave2} Frame 1Symbol 371 MovieClip
"cliff"Symbol 376 MovieClip {Cave2} Frame 1Symbol 373 MovieClip
"small_platform"Symbol 376 MovieClip {Cave2} Frame 1Symbol 371 MovieClip
"platform"Symbol 376 MovieClip {Cave2} Frame 1Symbol 369 MovieClip
"small_platform"Symbol 376 MovieClip {Cave2} Frame 1Symbol 371 MovieClip
"road13"Symbol 376 MovieClip {Cave2} Frame 1Symbol 356 MovieClip
"road123"Symbol 376 MovieClip {Cave2} Frame 1Symbol 375 MovieClip
"cliff"Symbol 376 MovieClip {Cave2} Frame 1Symbol 323 MovieClip
"fill"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 384 MovieClip
"mountain1"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 303 MovieClip
"mountain2"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 305 MovieClip
"basefloor"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 386 MovieClip
"basefloor"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 386 MovieClip
"basefloor"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 386 MovieClip
"road1"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 307 MovieClip
"fill"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 392 MovieClip
"floating"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 396 MovieClip
"floating"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 399 MovieClip
"floating"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 402 MovieClip
"cliff"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 323 MovieClip
"road1"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 307 MovieClip
"road1b"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 307 MovieClip
"road1b"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 307 MovieClip
"cliff"Symbol 403 MovieClip {Dojo1} Frame 1Symbol 323 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 384 MovieClip
"mountain2"Symbol 435 MovieClip {TempleE} Frame 1Symbol 305 MovieClip
"mountain1"Symbol 435 MovieClip {TempleE} Frame 1Symbol 303 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 405 MovieClip
"woodfloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 407 MovieClip
"woodfloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 407 MovieClip
"cliff"Symbol 435 MovieClip {TempleE} Frame 1Symbol 408 MovieClip
"cliff"Symbol 435 MovieClip {TempleE} Frame 1Symbol 408 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 410 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 410 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 410 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 410 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 410 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 410 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 411 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 413 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 416 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 418 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 420 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 420 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 420 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 420 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 420 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 422 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 424 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 427 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 428 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 430 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 418 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 422 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 420 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 420 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 420 MovieClip
"fill"Symbol 435 MovieClip {TempleE} Frame 1Symbol 420 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 435 MovieClip {TempleE} Frame 1Symbol 434 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 384 MovieClip
"mountain2"Symbol 442 MovieClip {TempleB} Frame 1Symbol 305 MovieClip
"mountain1"Symbol 442 MovieClip {TempleB} Frame 1Symbol 303 MovieClip
"woodfloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 407 MovieClip
"woodfloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 407 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 437 MovieClip
"cliff"Symbol 442 MovieClip {TempleB} Frame 1Symbol 408 MovieClip
"cliff"Symbol 442 MovieClip {TempleB} Frame 1Symbol 408 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 333 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 427 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 439 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 411 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 411 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 410 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 410 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 410 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 410 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 410 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 410 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 420 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 420 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 420 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 420 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 432 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 424 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 416 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 422 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 418 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 441 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 442 MovieClip {TempleB} Frame 1Symbol 432 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 418 MovieClip
"fill"Symbol 442 MovieClip {TempleB} Frame 1Symbol 422 MovieClip
"middepth"Symbol 452 MovieClip {TempleD} Frame 1Symbol 444 MovieClip
"lowdepth"Symbol 452 MovieClip {TempleD} Frame 1Symbol 449 MovieClip
"woodfloor"Symbol 452 MovieClip {TempleD} Frame 1Symbol 407 MovieClip
"fill"Symbol 452 MovieClip {TempleD} Frame 1Symbol 337 MovieClip
"fill"Symbol 452 MovieClip {TempleD} Frame 1Symbol 337 MovieClip
"woodfloor"Symbol 452 MovieClip {TempleD} Frame 1Symbol 407 MovieClip
"woodfloor"Symbol 452 MovieClip {TempleD} Frame 1Symbol 407 MovieClip
"cliff"Symbol 452 MovieClip {TempleD} Frame 1Symbol 323 MovieClip
"cliff"Symbol 452 MovieClip {TempleD} Frame 1Symbol 323 MovieClip
"fill"Symbol 452 MovieClip {TempleD} Frame 1Symbol 451 MovieClip
"fill"Symbol 452 MovieClip {TempleD} Frame 1Symbol 333 MovieClip
"fill"Symbol 452 MovieClip {TempleD} Frame 1Symbol 333 MovieClip
"user_score"Symbol 466 MovieClip {game_over_screen} Frame 1Symbol 456 EditableText
"user_time"Symbol 466 MovieClip {game_over_screen} Frame 1Symbol 457 EditableText
"user_score"Symbol 466 MovieClip {game_over_screen} Frame 46Symbol 459 EditableText
"user_time"Symbol 466 MovieClip {game_over_screen} Frame 46Symbol 460 EditableText
"user_score"Symbol 466 MovieClip {game_over_screen} Frame 126Symbol 461 EditableText
"user_time"Symbol 466 MovieClip {game_over_screen} Frame 126Symbol 462 EditableText
"user_score"Symbol 466 MovieClip {game_over_screen} Frame 159Symbol 463 EditableText
"user_time"Symbol 466 MovieClip {game_over_screen} Frame 159Symbol 464 EditableText
"user_score"Symbol 477 MovieClip {game_win_screen} Frame 1Symbol 467 EditableText
"user_time"Symbol 477 MovieClip {game_win_screen} Frame 1Symbol 468 EditableText
"user_score"Symbol 477 MovieClip {game_win_screen} Frame 51Symbol 470 EditableText
"user_time"Symbol 477 MovieClip {game_win_screen} Frame 51Symbol 471 EditableText
"user_score"Symbol 477 MovieClip {game_win_screen} Frame 132Symbol 472 EditableText
"user_time"Symbol 477 MovieClip {game_win_screen} Frame 132Symbol 473 EditableText
"user_score"Symbol 477 MovieClip {game_win_screen} Frame 175Symbol 475 EditableText
"user_time"Symbol 477 MovieClip {game_win_screen} Frame 175Symbol 476 EditableText
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 384 MovieClip
"mountain1"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 558 MovieClip
"mountain2"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 305 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 560 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 439 MovieClip
"basefloor"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 432 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 563 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 566 MovieClip
"cliff"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 323 MovieClip
"cliff"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 323 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 569 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 571 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 571 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 571 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 571 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 333 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 333 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 418 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 333 MovieClip
"fill"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 573 MovieClip
"basefloor"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 574 MovieClip {TempleEnd} Frame 1Symbol 432 MovieClip
"fill"Symbol 579 MovieClip {TempleC} Frame 1Symbol 384 MovieClip
"cliff"Symbol 579 MovieClip {TempleC} Frame 1Symbol 323 MovieClip
"mountain1"Symbol 579 MovieClip {TempleC} Frame 1Symbol 303 MovieClip
"woodfloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 407 MovieClip
"fill"Symbol 579 MovieClip {TempleC} Frame 1Symbol 576 MovieClip
"cliff"Symbol 579 MovieClip {TempleC} Frame 1Symbol 323 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 579 MovieClip {TempleC} Frame 1Symbol 432 MovieClip
"fill"Symbol 579 MovieClip {TempleC} Frame 1Symbol 416 MovieClip
"fill"Symbol 579 MovieClip {TempleC} Frame 1Symbol 422 MovieClip
"fill"Symbol 579 MovieClip {TempleC} Frame 1Symbol 439 MovieClip
"fill"Symbol 579 MovieClip {TempleC} Frame 1Symbol 418 MovieClip
"fill"Symbol 579 MovieClip {TempleC} Frame 1Symbol 413 MovieClip
"floating2"Symbol 579 MovieClip {TempleC} Frame 1Symbol 578 MovieClip
"floating2"Symbol 579 MovieClip {TempleC} Frame 1Symbol 578 MovieClip
"floating2"Symbol 579 MovieClip {TempleC} Frame 1Symbol 578 MovieClip
"floating2"Symbol 579 MovieClip {TempleC} Frame 1Symbol 578 MovieClip
"fill"Symbol 583 MovieClip {TempleF} Frame 1Symbol 384 MovieClip
"cliff"Symbol 583 MovieClip {TempleF} Frame 1Symbol 323 MovieClip
"mountain1"Symbol 583 MovieClip {TempleF} Frame 1Symbol 303 MovieClip
"woodfloor"Symbol 583 MovieClip {TempleF} Frame 1Symbol 407 MovieClip
"fill"Symbol 583 MovieClip {TempleF} Frame 1Symbol 576 MovieClip
"cliff"Symbol 583 MovieClip {TempleF} Frame 1Symbol 323 MovieClip
"basefloor"Symbol 583 MovieClip {TempleF} Frame 1Symbol 432 MovieClip
"basefloor3"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor3"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor3"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor3"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor3"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 583 MovieClip {TempleF} Frame 1Symbol 432 MovieClip
"basefloor6"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor7"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor8"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloora"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor5"Symbol 583 MovieClip {TempleF} Frame 1Symbol 432 MovieClip
"basefloor"Symbol 583 MovieClip {TempleF} Frame 1Symbol 432 MovieClip
"basefloor4"Symbol 583 MovieClip {TempleF} Frame 1Symbol 432 MovieClip
"fill"Symbol 583 MovieClip {TempleF} Frame 1Symbol 582 MovieClip
"fill"Symbol 583 MovieClip {TempleF} Frame 1Symbol 416 MovieClip
"fill"Symbol 583 MovieClip {TempleF} Frame 1Symbol 418 MovieClip
"fill"Symbol 583 MovieClip {TempleF} Frame 1Symbol 422 MovieClip
"fill"Symbol 583 MovieClip {TempleF} Frame 1Symbol 439 MovieClip
"fill"Symbol 583 MovieClip {TempleF} Frame 1Symbol 571 MovieClip
"basefloor2"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor2"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"basefloor"Symbol 583 MovieClip {TempleF} Frame 1Symbol 434 MovieClip
"floating2"Symbol 583 MovieClip {TempleF} Frame 1Symbol 578 MovieClip
"floating2"Symbol 583 MovieClip {TempleF} Frame 1Symbol 578 MovieClip
"name_text"Symbol 637 MovieClip {NameEntry} Frame 1Symbol 636 EditableText

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1207 bytes "<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns ..."
Protect (24)Timeline Frame 131 bytes "..$1$w4$v1AEko2XqTRcN2Ma4jxQK1."

Labels

"start_loop"Symbol 76 MovieClip {TitleMovie} Frame 40
"credits"Symbol 76 MovieClip {TitleMovie} Frame 143
"high_scores"Symbol 76 MovieClip {TitleMovie} Frame 153
"stand"Symbol 219 MovieClip {Avatar} Frame 1
"crouch"Symbol 219 MovieClip {Avatar} Frame 3
"run_start"Symbol 219 MovieClip {Avatar} Frame 5
"punch_A"Symbol 219 MovieClip {Avatar} Frame 20
"punch_end_A"Symbol 219 MovieClip {Avatar} Frame 27
"punch_B"Symbol 219 MovieClip {Avatar} Frame 30
"punch_end_B"Symbol 219 MovieClip {Avatar} Frame 37
"jump"Symbol 219 MovieClip {Avatar} Frame 40
"block"Symbol 219 MovieClip {Avatar} Frame 63
"kick"Symbol 219 MovieClip {Avatar} Frame 70
"forward_kick"Symbol 219 MovieClip {Avatar} Frame 80
"spin_kick"Symbol 219 MovieClip {Avatar} Frame 95
"crouch_kick"Symbol 219 MovieClip {Avatar} Frame 123
"head hit"Symbol 219 MovieClip {Avatar} Frame 135
"jump_kick"Symbol 219 MovieClip {Avatar} Frame 146
"super_punch"Symbol 219 MovieClip {Avatar} Frame 165
"crouch_punch"Symbol 219 MovieClip {Avatar} Frame 200
"death"Symbol 219 MovieClip {Avatar} Frame 220
"stand"Symbol 298 MovieClip {BossA} Frame 1
"block"Symbol 298 MovieClip {BossA} Frame 20
"triple hit"Symbol 298 MovieClip {BossA} Frame 30
"back jump"Symbol 298 MovieClip {BossA} Frame 80
"high hit"Symbol 298 MovieClip {BossA} Frame 110
"low hit"Symbol 298 MovieClip {BossA} Frame 130
"damage_torso"Symbol 298 MovieClip {BossA} Frame 160
"walk"Symbol 298 MovieClip {BossA} Frame 180
"death"Symbol 298 MovieClip {BossA} Frame 200
"base"Symbol 535 MovieClip {BossB} Frame 1
"punch1"Symbol 535 MovieClip {BossB} Frame 5
"punch2"Symbol 535 MovieClip {BossB} Frame 15
"kick1"Symbol 535 MovieClip {BossB} Frame 30
"cartwheel"Symbol 535 MovieClip {BossB} Frame 50
"jumpkick"Symbol 535 MovieClip {BossB} Frame 80
"block"Symbol 535 MovieClip {BossB} Frame 100
"crouch block"Symbol 535 MovieClip {BossB} Frame 105
"super_punch"Symbol 535 MovieClip {BossB} Frame 115
"run"Symbol 535 MovieClip {BossB} Frame 140
"damage"Symbol 535 MovieClip {BossB} Frame 160
"death"Symbol 535 MovieClip {BossB} Frame 175
"stand"Symbol 631 MovieClip {BossC} Frame 1
"fireball"Symbol 631 MovieClip {BossC} Frame 10
"teleport"Symbol 631 MovieClip {BossC} Frame 40
"damage"Symbol 631 MovieClip {BossC} Frame 60
"block"Symbol 631 MovieClip {BossC} Frame 80
"punch"Symbol 631 MovieClip {BossC} Frame 90
"low_kick"Symbol 631 MovieClip {BossC} Frame 105
"combat_idle"Symbol 631 MovieClip {BossC} Frame 120
"death"Symbol 631 MovieClip {BossC} Frame 140




http://swfchan.com/6/25187/info.shtml
Created: 23/5 -2019 23:48:01 Last modified: 23/5 -2019 23:48:01 Server time: 10/05 -2024 07:27:17