Section 1
//ClassicLog (_as.fla.events.log.ClassicLog)
package _as.fla.events.log {
import flash.utils.*;
public class ClassicLog {
public const TYPE:String = "log";
protected const _LOG:String = "_log";
protected const _OLOG:String = "_oLog";
public function _log(_arg1:Dictionary, _arg2, _arg3:String){
var _local5:String;
var _local6:*;
var _local7:String;
echo((("=======================\n=======================\n" + _arg3) + "-----------------------"));
var _local4 = "\t";
for (_local5 in _arg2) {
echo(_local5, _LOG);
echo((_local4 + "\t\tobj\t\t\tname\t\t\ttype\t\tlistener\t\t\t\tuseCapture"), _LOG);
for (_local7 in _arg2[_local5]) {
echo((((((((((_local4 + _arg2[_local5][_local7].obj) + "\t\t") + (_arg2[_local5][_local7].obj.hasOwnProperty("name")) ? _arg2[_local5][_local7].obj["name"] : "(NAME N/A)") + "\t\t") + _arg2[_local5][_local7].type) + "\t\t") + _arg2[_local5][_local7].listener) + "\t\t") + _arg2[_local5][_local7].useCapture), _LOG);
};
};
echo("-----------------------\nAll objects that are tracked by the EventController:");
for (_local6 in _arg1) {
echo(((("\t\t\t" + (_local6.hasOwnProperty("name")) ? _local6["name"] : "(NAME N/A)") + " ") + _local6), _OLOG);
};
echo("=======================\n=======================");
}
public function _cLog(_arg1:Object):void{
var _local2:Array;
var _local3:String;
var _local4:*;
var _local5:*;
echo("========\nAll clusterID log\n========");
for (_local3 in _arg1) {
_local4 = _arg1[_local3];
_local5 = _local4[0].obj;
echo(((((("\t\t" + (_local5.hasOwnProperty("name")) ? _local5["name"] : "(NAME N/A)") + " ") + _local5) + " ") + _local3));
};
echo("========\n========");
}
public function _oLog(_arg1:Object, _arg2:Object):void{
var _local5:String;
var _local6:*;
var _local3 = "\t";
var _local4:Object = _arg2[false];
echo((((("=======================\n-- " + (_arg1.hasOwnProperty("name")) ? _arg1["name"] : "(NAME N/A)") + " ") + _arg1) + " -----------------------"));
echo((_local3 + "\t\tobj\t\ttype\t\tlistener\t\t\t\tuseCapture"));
echo("------------------------------------------------------------------");
for (_local5 in _local4) {
for (_local6 in _local4[_local5]) {
echo((((((((_local3 + _arg1) + "\t") + _local5) + "\t\t") + _local6) + "\t\t") + false), _OLOG);
};
};
_local4 = _arg2[true];
for (_local5 in _local4) {
for (_local6 in _local4[_local5]) {
echo((((((((_local3 + _arg1) + "\t") + _local5) + "\t\t") + _local6) + "\t\t") + true), _OLOG);
};
};
echo("=======================");
}
protected function echo(_arg1:String, _arg2=null):void{
trace(_arg1);
}
}
}//package _as.fla.events.log
Section 2
//EC (_as.fla.events.EC)
package _as.fla.events {
import flash.events.*;
public class EC {
public static const UNCLUSTERED:String = "UNCLUSTERED";
private static var g:LEC;
public static var rem:Function = remove;
public function EC():void{
throw ("do not insantiate the EC");
}
public static function plug(_arg1:Class):void{
LEC.plug(_arg1);
}
public static function add(_arg1:Object, _arg2:String, _arg3:Function, _arg4=false, _arg5:int=0, _arg6:Boolean=false, _arg7:String="UNCLUSTERED"):Boolean{
return (global.add((_arg1 as IEventDispatcher), _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function addGroup(_arg1:Array):void{
global.addGroup(_arg1);
}
public static function remove(_arg1, _arg2:String=null, _arg3:Function=null, _arg4:Boolean=false):Array{
return (global.remove(_arg1, _arg2, _arg3, _arg4));
}
public static function log(_arg1="clusters"):void{
global.log(_arg1);
}
private static function get global():LEC{
if (!g){
g = LEC.getGlobal();
};
return (g);
}
}
}//package _as.fla.events
Section 3
//LEC (_as.fla.events.LEC)
package _as.fla.events {
import flash.events.*;
import flash.utils.*;
public class LEC {
private var _d:Dictionary;
private var _c:Object;
private var _name:String;
public var rem:Function;
public static const UNCLUSTERED:String = "UNCLUSTERED";
private static var oECs:Object;
private static var _p:Object;
public function LEC(){
rem = remove;
super();
}
public function get name():String{
return (_name);
}
public function add(_arg1:IEventDispatcher, _arg2:String, _arg3:Function, _arg4=false, _arg5:int=0, _arg6:Boolean=false, _arg7:String="UNCLUSTERED"):Boolean{
if ((_arg4 is String)){
_arg7 = _arg4;
_arg4 = false;
};
var _local8:Object = getORef(_arg1)[_arg4];
if (!isEventSet(_local8, _arg2, _arg3)){
getORef(_arg1).count++;
_local8[_arg2][_arg3] = {p:_arg5, w:_arg6, c:_arg7};
_arg1.addEventListener(_arg2, _arg3, _arg4, _arg5, _arg6);
if (Boolean(_arg7)){
addToCluster(_arg1, _arg2, _arg3, _arg4, _arg7);
};
return (true);
};
return (false);
}
public function addGroup(_arg1:Array):void{
var _local2:Object;
for each (_local2 in _arg1) {
add(_local2.obj, _local2.type, _local2.listener, _local2.useCapture, _local2.p, _local2.w, _local2.c);
};
}
public function remove(_arg1, _arg2:String=null, _arg3:Function=null, _arg4:Boolean=false):Array{
var _local6:IEventDispatcher;
var _local5:Array = [];
if ((_arg1 is IEventDispatcher)){
_local6 = (_arg1 as IEventDispatcher);
if (_arg2){
_local5.push(removeEvent(_local6, _arg2, _arg3, _arg4));
} else {
_local5 = _local5.concat(removeObjEvents(_local6));
};
} else {
_local5 = _local5.concat(removeClusterEvents(_arg1));
};
return (_local5);
}
public function removeEvent(_arg1:IEventDispatcher, _arg2:String, _arg3:Function, _arg4:Boolean=false):Object{
var _local5:Object;
var _local6:Object = getORef(_arg1)[_arg4];
var _local7:Boolean = isEventSet(_local6, _arg2, _arg3);
if (_local7){
getORef(_arg1).count--;
_local5 = {obj:_arg1, type:_arg2, listener:_arg3, useCapture:_arg4, p:_local6[_arg2][_arg3].p, w:_local6[_arg2][_arg3].w, c:_local6[_arg2][_arg3].c};
delete _local6[_arg2][_arg3];
_arg1.removeEventListener(_arg2, _arg3, _arg4);
if (!getORef(_arg1).count){
removeObjEvents(_arg1);
};
};
return (_local5);
}
public function removeObjEvents(_arg1:IEventDispatcher):Array{
var _local4:String;
var _local5:*;
var _local2:Array = [];
var _local3:Object = getORef(_arg1)[false];
for (_local4 in _local3) {
for (_local5 in _local3[_local4]) {
_local2.push(removeEvent(_arg1, _local4, _local5, false));
};
};
_local3 = getORef(_arg1)[true];
for (_local4 in _local3) {
for (_local5 in _local3[_local4]) {
_local2.push(removeEvent(_arg1, _local4, _local5, true));
};
};
uncluster(_arg1);
delete getDict()[_arg1];
return (_local2);
}
public function removeClusterEvents(_arg1):Array{
var _local4:String;
var _local5:Object;
var _local2:Array = [];
var _local3:Object = getClusters();
if ((_arg1 is RegExp)){
for (_local4 in _local3) {
if (_local4.match(_arg1) != null){
_local2.splice(0, 0, removeClusterEvents(_local4));
};
};
} else {
for each (_local5 in _local3[_arg1]) {
_local2.push(removeEvent(_local5.obj, _local5.type, _local5.listener, _local5.useCapture));
};
delete _local3[_arg1];
};
return (_local2);
}
public function log(_arg1="clusters"):void{
var _local5:String;
var _local2:Object = getPlug("log");
if (!_local2){
return;
};
var _local3:Object = getClusters();
var _local4:Object = {};
if ((_arg1 is RegExp)){
for (_local5 in _local3) {
if (_local5.match(_arg1) != null){
_local4[_local5] = _local3[_local5];
};
};
} else {
if ((_arg1 is IEventDispatcher)){
_local2._oLog(_arg1, getORef(_arg1));
return;
};
if (_local3[_arg1]){
_local4[_arg1] = _local3[_arg1];
};
};
_local2._log(getDict(), _local4, _arg1, getClusters());
}
public function cLog():void{
var _local1:Object = getPlug("log");
if (!_local1){
return;
};
_local1._cLog(getClusters());
}
private function uncluster(_arg1:IEventDispatcher):void{
var _local4:Array;
var _local5:String;
var _local6:int;
var _local2:Object = getClusters();
var _local3:Object = {};
for (_local5 in _local2) {
_local4 = [];
_local6 = 0;
while (_local6 < _local2[_local5].length) {
if (_local2[_local5][_local6].obj != _arg1){
_local4.push(_local2[_local5][_local6]);
};
_local6++;
};
if (_local4.length){
_local3[_local5] = _local4.concat();
};
};
_c = _local3;
}
private function getDict():Dictionary{
if (!Boolean(_d)){
_d = new Dictionary();
};
return (_d);
}
private function getClusters():Object{
if (!Boolean(_c)){
_c = {};
};
return (_c);
}
private function getORef(_arg1:IEventDispatcher):Object{
var _local2:Dictionary = getDict();
if (!_local2[_arg1]){
_local2[_arg1] = {};
_local2[_arg1][true] = {};
_local2[_arg1][false] = {};
_local2[_arg1].count = 0;
};
return (_local2[_arg1]);
}
private function removeIfEmpty(_arg1:IEventDispatcher):void{
var _local3:String;
var _local2:Dictionary = getDict();
if (_local2[_arg1]){
for each (_local3 in _local2[_arg1][false]) {
return;
};
for each (_local3 in _local2[_arg1][true]) {
return;
};
_local2[_arg1] = null;
delete _local2[_arg1];
};
}
private function isEventSet(_arg1:Object, _arg2:String, _arg3:Function):Boolean{
if (_arg1[_arg2]){
return (Boolean(_arg1[_arg2][_arg3]));
};
_arg1[_arg2] = new Dictionary();
return (false);
}
private function addToCluster(_arg1:IEventDispatcher, _arg2:String, _arg3:Function, _arg4:Boolean, _arg5:String):void{
var _local6:Object = getClusters();
if (!Boolean(_local6[_arg5])){
_local6[_arg5] = [];
};
_local6[_arg5].push({obj:_arg1, type:_arg2, listener:_arg3, useCapture:_arg4});
}
private function getPlug(_arg1:String):Object{
var id = _arg1;
try {
return (_p[id]);
} catch(err) {
trace(this, (("a '" + id) + "' was not included. see LEC.plug"));
};
return (null);
}
public static function getGlobal(_arg1:String="global"):LEC{
if (!oECs){
oECs = {};
};
if (!oECs[_arg1]){
oECs[_arg1] = new (LEC);
oECs[_arg1]._name = _arg1;
};
return (oECs[_arg1]);
}
public static function plug(_arg1:Class):void{
if (!_p){
_p = {};
};
var _local2:Object = new (_arg1);
_p[_local2.TYPE] = _local2;
}
}
}//package _as.fla.events
Section 4
//boss_alien_silo3_234 (Bitejacker_ArmorGames_fla.boss_alien_silo3_234)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class boss_alien_silo3_234 extends MovieClip {
public var alien:MovieClip;
public function boss_alien_silo3_234(){
addFrameScript(0, frame1, 230, frame231);
}
function frame1(){
stop();
}
function frame231(){
}
}
}//package Bitejacker_ArmorGames_fla
Section 5
//Dead_continue_142 (Bitejacker_ArmorGames_fla.Dead_continue_142)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Dead_continue_142 extends MovieClip {
public function Dead_continue_142(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 6
//Dead_portrait_138 (Bitejacker_ArmorGames_fla.Dead_portrait_138)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Dead_portrait_138 extends MovieClip {
public function Dead_portrait_138(){
addFrameScript(0, frame1, 9, frame10);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 7
//Freddy_portrait_appear_243 (Bitejacker_ArmorGames_fla.Freddy_portrait_appear_243)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Freddy_portrait_appear_243 extends MovieClip {
public function Freddy_portrait_appear_243(){
addFrameScript(109, frame110);
}
function frame110(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 8
//Freddy_portrait_hit_241 (Bitejacker_ArmorGames_fla.Freddy_portrait_hit_241)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Freddy_portrait_hit_241 extends MovieClip {
public function Freddy_portrait_hit_241(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 9
//GUI_frame_209 (Bitejacker_ArmorGames_fla.GUI_frame_209)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_frame_209 extends MovieClip {
public var frametype:MovieClip;
public function GUI_frame_209(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 10
//GUI_frame_gfx_210 (Bitejacker_ArmorGames_fla.GUI_frame_gfx_210)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_frame_gfx_210 extends MovieClip {
public function GUI_frame_gfx_210(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 11
//GUI_indicator_go_224 (Bitejacker_ArmorGames_fla.GUI_indicator_go_224)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_indicator_go_224 extends MovieClip {
public function GUI_indicator_go_224(){
addFrameScript(119, frame120);
}
function frame120(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 12
//GUI_killcounter_222 (Bitejacker_ArmorGames_fla.GUI_killcounter_222)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_killcounter_222 extends MovieClip {
public var killscounter:MovieClip;
public function GUI_killcounter_222(){
addFrameScript(0, frame1, 9, frame10);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 13
//GUI_mon_incompleteday_169 (Bitejacker_ArmorGames_fla.GUI_mon_incompleteday_169)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_mon_incompleteday_169 extends MovieClip {
public var hover:MovieClip;
public var idle:MovieClip;
public function GUI_mon_incompleteday_169(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
idle.visible = true;
hover.visible = false;
}
function frame5(){
idle.visible = false;
hover.visible = true;
}
}
}//package Bitejacker_ArmorGames_fla
Section 14
//GUI_music_nowplay_227 (Bitejacker_ArmorGames_fla.GUI_music_nowplay_227)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_music_nowplay_227 extends MovieClip {
public function GUI_music_nowplay_227(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 15
//GUI_mute_231 (Bitejacker_ArmorGames_fla.GUI_mute_231)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_mute_231 extends MovieClip {
public function GUI_mute_231(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 16
//GUI_portrait_212 (Bitejacker_ArmorGames_fla.GUI_portrait_212)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_portrait_212 extends MovieClip {
public function GUI_portrait_212(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 17
//GUI_portrait2_218 (Bitejacker_ArmorGames_fla.GUI_portrait2_218)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_portrait2_218 extends MovieClip {
public function GUI_portrait2_218(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 18
//GUI_reminder_229 (Bitejacker_ArmorGames_fla.GUI_reminder_229)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_reminder_229 extends MovieClip {
public var content:MovieClip;
public function GUI_reminder_229(){
addFrameScript(0, frame1, 9, frame10);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 19
//GUI_spent_counter_143 (Bitejacker_ArmorGames_fla.GUI_spent_counter_143)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_spent_counter_143 extends MovieClip {
public var spentcounter:MovieClip;
public function GUI_spent_counter_143(){
addFrameScript(0, frame1, 39, frame40, 43, frame44, 47, frame48, 51, frame52, 55, frame56, 59, frame60, 63, frame64, 67, frame68);
}
function frame1(){
stop();
}
function frame40(){
spentcounter.visible = false;
}
function frame44(){
spentcounter.visible = true;
}
function frame48(){
spentcounter.visible = false;
}
function frame52(){
spentcounter.visible = true;
}
function frame56(){
spentcounter.visible = false;
}
function frame60(){
spentcounter.visible = true;
}
function frame64(){
spentcounter.visible = false;
}
function frame68(){
spentcounter.visible = true;
}
}
}//package Bitejacker_ArmorGames_fla
Section 20
//GUI_whoopsie_225 (Bitejacker_ArmorGames_fla.GUI_whoopsie_225)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_whoopsie_225 extends MovieClip {
public var content:MovieClip;
public function GUI_whoopsie_225(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 21
//GUI_whoopsie_content_226 (Bitejacker_ArmorGames_fla.GUI_whoopsie_content_226)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class GUI_whoopsie_content_226 extends MovieClip {
public function GUI_whoopsie_content_226(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 22
//loading_2 (Bitejacker_ArmorGames_fla.loading_2)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class loading_2 extends MovieClip {
public function loading_2(){
addFrameScript(8, frame9, 18, frame19, 28, frame29, 38, frame39, 48, frame49);
}
function frame9(){
gotoAndPlay(1);
}
function frame19(){
gotoAndPlay(10);
}
function frame29(){
gotoAndPlay(20);
}
function frame39(){
gotoAndPlay(30);
}
function frame49(){
gotoAndPlay(40);
}
}
}//package Bitejacker_ArmorGames_fla
Section 23
//logo_4 (Bitejacker_ArmorGames_fla.logo_4)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class logo_4 extends MovieClip {
public var secretbase:MovieClip;
public function logo_4(){
addFrameScript(0, frame1, 259, frame260);
}
function frame1(){
secretbase.gotoAndPlay(1);
}
function frame260(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 24
//Menu_Sub_69 (Bitejacker_ArmorGames_fla.Menu_Sub_69)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Menu_Sub_69 extends MovieClip {
public var menu:MovieClip;
public function Menu_Sub_69(){
addFrameScript(0, frame1, 9, frame10, 19, frame20);
}
function frame1(){
stop();
visible = false;
}
function frame10(){
stop();
}
function frame20(){
visible = false;
}
}
}//package Bitejacker_ArmorGames_fla
Section 25
//Menu_Sub_erase_82 (Bitejacker_ArmorGames_fla.Menu_Sub_erase_82)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Menu_Sub_erase_82 extends MovieClip {
public function Menu_Sub_erase_82(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 26
//MochiGamesVideo_268 (Bitejacker_ArmorGames_fla.MochiGamesVideo_268)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class MochiGamesVideo_268 extends MovieClip {
public function MochiGamesVideo_268(){
addFrameScript(95, frame96);
}
function frame96(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 27
//Pause_spent_counter_523 (Bitejacker_ArmorGames_fla.Pause_spent_counter_523)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Pause_spent_counter_523 extends MovieClip {
public var spentcounter:MovieClip;
public function Pause_spent_counter_523(){
addFrameScript(0, frame1, 39, frame40, 42, frame43, 45, frame46, 48, frame49, 51, frame52, 54, frame55, 57, frame58, 60, frame61);
}
function frame1(){
stop();
}
function frame40(){
spentcounter.visible = false;
}
function frame43(){
spentcounter.visible = true;
}
function frame46(){
spentcounter.visible = false;
}
function frame49(){
spentcounter.visible = true;
}
function frame52(){
spentcounter.visible = false;
}
function frame55(){
spentcounter.visible = true;
}
function frame58(){
spentcounter.visible = false;
}
function frame61(){
spentcounter.visible = true;
}
}
}//package Bitejacker_ArmorGames_fla
Section 28
//prog_comic_553 (Bitejacker_ArmorGames_fla.prog_comic_553)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class prog_comic_553 extends MovieClip {
public function prog_comic_553(){
addFrameScript(0, frame1, 38, frame39);
}
function frame1(){
stop();
}
function frame39(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 29
//roll_credit_37 (Bitejacker_ArmorGames_fla.roll_credit_37)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class roll_credit_37 extends MovieClip {
public function roll_credit_37(){
addFrameScript(28, frame29);
}
function frame29(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 30
//roll_gamestart_41 (Bitejacker_ArmorGames_fla.roll_gamestart_41)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class roll_gamestart_41 extends MovieClip {
public function roll_gamestart_41(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 31
//shop_ammo1_610 (Bitejacker_ArmorGames_fla.shop_ammo1_610)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_ammo1_610 extends MovieClip {
public var price:TextField;
public function shop_ammo1_610(){
addFrameScript(4, frame5, 9, frame10, 14, frame15);
}
function frame5(){
stop();
}
function frame10(){
stop();
}
function frame15(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 32
//shop_ammo2_606 (Bitejacker_ArmorGames_fla.shop_ammo2_606)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_ammo2_606 extends MovieClip {
public var price:TextField;
public function shop_ammo2_606(){
addFrameScript(4, frame5, 9, frame10, 14, frame15, 19, frame20);
}
function frame5(){
stop();
}
function frame10(){
stop();
}
function frame15(){
stop();
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 33
//shop_ammo3_611 (Bitejacker_ArmorGames_fla.shop_ammo3_611)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_ammo3_611 extends MovieClip {
public var price:TextField;
public function shop_ammo3_611(){
addFrameScript(4, frame5, 9, frame10, 14, frame15, 19, frame20);
}
function frame5(){
stop();
}
function frame10(){
stop();
}
function frame15(){
stop();
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 34
//shop_HP1_609 (Bitejacker_ArmorGames_fla.shop_HP1_609)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_HP1_609 extends MovieClip {
public var price:TextField;
public function shop_HP1_609(){
addFrameScript(4, frame5, 9, frame10, 14, frame15);
}
function frame5(){
stop();
}
function frame10(){
stop();
}
function frame15(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 35
//shop_HP2_605 (Bitejacker_ArmorGames_fla.shop_HP2_605)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_HP2_605 extends MovieClip {
public var price:TextField;
public function shop_HP2_605(){
addFrameScript(4, frame5, 9, frame10, 14, frame15, 19, frame20);
}
function frame5(){
stop();
}
function frame10(){
stop();
}
function frame15(){
stop();
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 36
//shop_HP3_608 (Bitejacker_ArmorGames_fla.shop_HP3_608)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_HP3_608 extends MovieClip {
public var price:TextField;
public function shop_HP3_608(){
addFrameScript(4, frame5, 9, frame10, 14, frame15, 19, frame20);
}
function frame5(){
stop();
}
function frame10(){
stop();
}
function frame15(){
stop();
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 37
//shop_pistol1_604 (Bitejacker_ArmorGames_fla.shop_pistol1_604)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_pistol1_604 extends MovieClip {
public var price:TextField;
public function shop_pistol1_604(){
addFrameScript(4, frame5, 9, frame10, 14, frame15);
}
function frame5(){
stop();
}
function frame10(){
stop();
}
function frame15(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 38
//shop_pistol2_607 (Bitejacker_ArmorGames_fla.shop_pistol2_607)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_pistol2_607 extends MovieClip {
public var price:TextField;
public function shop_pistol2_607(){
addFrameScript(4, frame5, 9, frame10, 14, frame15, 19, frame20);
}
function frame5(){
stop();
}
function frame10(){
stop();
}
function frame15(){
stop();
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 39
//shop_pistol3_614 (Bitejacker_ArmorGames_fla.shop_pistol3_614)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_pistol3_614 extends MovieClip {
public var price:TextField;
public var info:TextField;
public function shop_pistol3_614(){
addFrameScript(4, frame5, 9, frame10, 14, frame15, 19, frame20);
}
function frame5(){
stop();
}
function frame10(){
stop();
info.selectable = false;
}
function frame15(){
stop();
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 40
//shop_shotgun1_616 (Bitejacker_ArmorGames_fla.shop_shotgun1_616)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_shotgun1_616 extends MovieClip {
public var price:TextField;
public var info:TextField;
public function shop_shotgun1_616(){
addFrameScript(4, frame5, 9, frame10, 14, frame15);
}
function frame5(){
stop();
}
function frame10(){
stop();
info.selectable = false;
}
function frame15(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 41
//shop_shotgun2_615 (Bitejacker_ArmorGames_fla.shop_shotgun2_615)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_shotgun2_615 extends MovieClip {
public var price:TextField;
public var info:TextField;
public function shop_shotgun2_615(){
addFrameScript(4, frame5, 9, frame10, 14, frame15, 19, frame20);
}
function frame5(){
stop();
}
function frame10(){
stop();
info.selectable = false;
}
function frame15(){
stop();
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 42
//shop_shotgun3_618 (Bitejacker_ArmorGames_fla.shop_shotgun3_618)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_shotgun3_618 extends MovieClip {
public var price:TextField;
public var info:TextField;
public function shop_shotgun3_618(){
addFrameScript(4, frame5, 9, frame10, 14, frame15, 19, frame20);
}
function frame5(){
stop();
}
function frame10(){
stop();
info.selectable = false;
}
function frame15(){
stop();
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 43
//shop_sniper1_612 (Bitejacker_ArmorGames_fla.shop_sniper1_612)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_sniper1_612 extends MovieClip {
public var price:TextField;
public var info:TextField;
public function shop_sniper1_612(){
addFrameScript(4, frame5, 9, frame10, 14, frame15);
}
function frame5(){
stop();
}
function frame10(){
stop();
info.selectable = false;
}
function frame15(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 44
//shop_sniper2_613 (Bitejacker_ArmorGames_fla.shop_sniper2_613)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_sniper2_613 extends MovieClip {
public var price:TextField;
public var info:TextField;
public function shop_sniper2_613(){
addFrameScript(4, frame5, 9, frame10, 14, frame15, 19, frame20);
}
function frame5(){
stop();
}
function frame10(){
stop();
info.selectable = false;
}
function frame15(){
stop();
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 45
//shop_sniper3_617 (Bitejacker_ArmorGames_fla.shop_sniper3_617)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class shop_sniper3_617 extends MovieClip {
public var price:TextField;
public var info:TextField;
public function shop_sniper3_617(){
addFrameScript(4, frame5, 9, frame10, 14, frame15, 19, frame20);
}
function frame5(){
stop();
}
function frame10(){
stop();
info.selectable = false;
}
function frame15(){
stop();
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 46
//Shop_spent_counter_599 (Bitejacker_ArmorGames_fla.Shop_spent_counter_599)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Shop_spent_counter_599 extends MovieClip {
public var spentcounter:MovieClip;
public function Shop_spent_counter_599(){
addFrameScript(0, frame1, 39, frame40, 42, frame43, 45, frame46, 48, frame49, 51, frame52, 54, frame55, 57, frame58, 60, frame61);
}
function frame1(){
stop();
}
function frame40(){
spentcounter.visible = false;
}
function frame43(){
spentcounter.visible = true;
}
function frame46(){
spentcounter.visible = false;
}
function frame49(){
spentcounter.visible = true;
}
function frame52(){
spentcounter.visible = false;
}
function frame55(){
spentcounter.visible = true;
}
function frame58(){
spentcounter.visible = false;
}
function frame61(){
spentcounter.visible = true;
}
}
}//package Bitejacker_ArmorGames_fla
Section 47
//shop_txtballoon_620 (Bitejacker_ArmorGames_fla.shop_txtballoon_620)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class shop_txtballoon_620 extends MovieClip {
public function shop_txtballoon_620(){
addFrameScript(5, frame6, 14, frame15, 23, frame24, 32, frame33);
}
function frame6(){
stop();
}
function frame15(){
stop();
}
function frame24(){
stop();
}
function frame33(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 48
//title_26 (Bitejacker_ArmorGames_fla.title_26)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class title_26 extends MovieClip {
public var btn_twitter:MovieClip;
public var submenu:MovieClip;
public var btn_highscore:SimpleButton;
public var btn_GGachieve:MovieClip;
public var titlecover:MovieClip;
public var btn_GGshop:MovieClip;
public var btn_start:SimpleButton;
public var chaseclip:MovieClip;
public var btn_survival:MovieClip;
public var btn_pressenter:MovieClip;
public var btn_facebook:MovieClip;
public var btn_mochi:MovieClip;
public var btn_control:SimpleButton;
public var btn_credit:SimpleButton;
public var btn_secretbase:MovieClip;
public var btn_walkthrough:MovieClip;
public var btn_progress:SimpleButton;
public var rollovericon:MovieClip;
public var btn_armorblog:MovieClip;
public var btn_endless:MovieClip;
public function title_26(){
addFrameScript(0, frame1, 24, frame25, 34, frame35);
}
function frame1(){
titlecover.visible = false;
}
function frame25(){
stop();
}
function frame35(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 49
//title_pressenter_91 (Bitejacker_ArmorGames_fla.title_pressenter_91)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class title_pressenter_91 extends MovieClip {
public function title_pressenter_91(){
addFrameScript(19, frame20, 20, frame21);
}
function frame20(){
gotoAndPlay(1);
}
function frame21(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 50
//uni_continue_131 (Bitejacker_ArmorGames_fla.uni_continue_131)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class uni_continue_131 extends MovieClip {
public function uni_continue_131(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 51
//uni_skip_7 (Bitejacker_ArmorGames_fla.uni_skip_7)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class uni_skip_7 extends MovieClip {
public function uni_skip_7(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 52
//Victory_boss_642 (Bitejacker_ArmorGames_fla.Victory_boss_642)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class Victory_boss_642 extends MovieClip {
public var moneytxt:TextField;
public var stat:MovieClip;
public function Victory_boss_642(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 53
//Victory_boss_img_643 (Bitejacker_ArmorGames_fla.Victory_boss_img_643)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Victory_boss_img_643 extends MovieClip {
public var btn_comic:MovieClip;
public function Victory_boss_img_643(){
addFrameScript(4, frame5, 9, frame10, 14, frame15);
}
function frame5(){
stop();
}
function frame10(){
stop();
}
function frame15(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 54
//Victory_hintman_640 (Bitejacker_ArmorGames_fla.Victory_hintman_640)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Victory_hintman_640 extends MovieClip {
public var hinttxt:MovieClip;
public function Victory_hintman_640(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 55
//victory_playername_634 (Bitejacker_ArmorGames_fla.victory_playername_634)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class victory_playername_634 extends MovieClip {
public function victory_playername_634(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 56
//Victory_spent_counter_134 (Bitejacker_ArmorGames_fla.Victory_spent_counter_134)
package Bitejacker_ArmorGames_fla {
import flash.display.*;
public dynamic class Victory_spent_counter_134 extends MovieClip {
public var spentcounter:MovieClip;
public function Victory_spent_counter_134(){
addFrameScript(0, frame1, 39, frame40, 42, frame43, 45, frame46, 48, frame49, 51, frame52, 54, frame55, 57, frame58, 60, frame61);
}
function frame1(){
stop();
}
function frame40(){
spentcounter.visible = false;
}
function frame43(){
spentcounter.visible = true;
}
function frame46(){
spentcounter.visible = false;
}
function frame49(){
spentcounter.visible = true;
}
function frame52(){
spentcounter.visible = false;
}
function frame55(){
spentcounter.visible = true;
}
function frame58(){
spentcounter.visible = false;
}
function frame61(){
spentcounter.visible = true;
}
}
}//package Bitejacker_ArmorGames_fla
Section 57
//Victory_Stats_637 (Bitejacker_ArmorGames_fla.Victory_Stats_637)
package Bitejacker_ArmorGames_fla {
import flash.text.*;
import flash.display.*;
public dynamic class Victory_Stats_637 extends MovieClip {
public var hint:MovieClip;
public var moneytxt:TextField;
public var moneyspenttxt:MovieClip;
public var portrait:MovieClip;
public var kills:TextField;
public var moneymade:TextField;
public var indication:MovieClip;
public function Victory_Stats_637(){
addFrameScript(0, frame1, 14, frame15, 19, frame20);
}
function frame1(){
moneymade.visible = false;
moneytxt.visible = false;
kills.visible = false;
}
function frame15(){
kills.visible = true;
moneymade.visible = true;
moneytxt.visible = true;
}
function frame20(){
stop();
}
}
}//package Bitejacker_ArmorGames_fla
Section 58
//ArmorPiercing2Bullet (bullets.ArmorPiercing2Bullet)
package bullets {
import flash.display.*;
public class ArmorPiercing2Bullet extends ArmorPiercingBullet {
public function ArmorPiercing2Bullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int):void{
piercingMax = 6;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
}
}//package bullets
Section 59
//ArmorPiercingBullet (bullets.ArmorPiercingBullet)
package bullets {
import flash.display.*;
import flash.events.*;
import zombies.*;
public class ArmorPiercingBullet extends Bullet {
private var totalRowCount:int;// = 5
protected var collidedArray:Array;
protected var piercingMax:int;// = 6
protected var piercingCount:int;// = 0
public static const AP_FLY:String = "armorpierceFly";
public function ArmorPiercingBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int):void{
collidedArray = [];
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
var _local7:Number = Utils.getOppositeAngle(_arg4);
var _local8:int = Utils.angleToDirection(_local7);
if ((((((_local8 == C.RIGHT)) || ((_local8 == C.UP_RIGHT)))) || ((_local8 == C.DOWN_RIGHT)))){
scaleX = -1;
};
gotoAndPlay(((AP_FLY + String(_local8)) + "0"));
}
override protected function setupSprite():void{
bmp = BulletBitmap.armorPierceBmp;
}
override protected function setSpriteWidthHeight():void{
spriteWidth = 22;
spriteHeight = 22;
}
override protected function setupFrames():void{
var _local1:int;
var _local2:int;
pushFrameWithDir(C.DOWN, _local1);
pushFrameWithDir(C.DOWN_RIGHT, (_local1 + 1));
pushFrameWithDir(C.DOWN_LEFT, (_local1 + 1));
pushFrameWithDir(C.LEFT, (_local1 + 2));
pushFrameWithDir(C.RIGHT, (_local1 + 2));
pushFrameWithDir(C.UP, (_local1 + 4));
pushFrameWithDir(C.UP_RIGHT, (_local1 + 3));
pushFrameWithDir(C.UP_LEFT, (_local1 + 3));
}
private function pushFrameWithDir(_arg1:int, _arg2:int):void{
var _local3:int;
while (_local3 < totalRowCount) {
frames.push(new FakeMovieClip(_local3, _arg2, ((AP_FLY + String(_arg1)) + String(_local3))));
_local3++;
};
frames.push(new FakeMovieClip((totalRowCount - 1), _arg2, ((AP_FLY + String(_arg1)) + String(totalRowCount))));
}
override protected function loop(_arg1:Event):void{
checkCollisionBeforeMoving();
if (currentLabel.charAt((currentLabel.length - 1)) == String(totalRowCount)){
gotoAndPlay((currentLabel.slice(0, (currentLabel.length - 1)) + "0"));
};
x = (x + -((speed * Math.cos(((angle * Math.PI) / 180)))));
y = (y + -((speed * Math.sin(((angle * Math.PI) / 180)))));
removeOutOfBoundBullet();
checkForZombieCollision();
checkForObjectCollision();
checkForFreddyCollision();
}
override public function checkForZombieCollision():void{
Main.zombieCollisionList.swapTarget(this);
var _local1:Array = Main.zombieCollisionList.checkCollisions();
var _local2:uint;
while (_local2 < _local1.length) {
collisionDetected(_local1[_local2].object1, _local1[_local2].object2);
if (piercingCount >= piercingMax){
removeSelf();
return;
};
_local2++;
};
}
override public function checkForObjectCollision():void{
Main.bulletToObjectCollisionList.swapTarget(this);
var _local1:Array = Main.bulletToObjectCollisionList.checkCollisions();
var _local2:uint;
while (_local2 < _local1.length) {
collisionDetected(_local1[_local2].object1, _local1[_local2].object2);
if (piercingCount >= piercingMax){
removeSelf();
return;
};
_local2++;
};
}
override protected function collisionDetected(_arg1, _arg2):void{
var _local3:*;
if (_arg2 == this){
_local3 = _arg1;
} else {
_local3 = _arg2;
};
if (collidedArray.indexOf(_local3) == -1){
_local3.takeHit(damage);
collidedArray.push(_local3);
piercingCount++;
if ((_local3 is Zombie)){
dealKnockbackFreeze(_local3);
};
};
}
}
}//package bullets
Section 60
//Bullet (bullets.Bullet)
package bullets {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import zombies.*;
public class Bullet extends SpriteSheetMovieClip {
protected var layer:Sprite;
protected var angle:Number;// = 0
public var damage:int;
public var speed:int;
protected var spriteWidth:int;
protected var spriteHeight:int;
private var bulletFSM:int;
protected var bmp:Bitmap;
protected var freezeMultipler:Number;
protected var knockbackMultipler:Number;
protected var moved:Boolean;// = false
public static const BULLET_STATE_MOVING:String = "moving";
public static const BULLET_STATE_DESTROYED:String = "destroyed";
public static const BULLET_STATE_DESTROYED_COMPLETE:String = "destroyedComplete";
public function Bullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int, _arg7:Number=1, _arg8:Number=1):void{
setupSprite();
setSpriteWidthHeight();
super(bmp, spriteWidth, spriteHeight);
setupFrames();
this.layer = _arg1;
this.x = _arg2;
this.y = _arg3;
this.angle = _arg4;
this.damage = _arg5;
this.speed = _arg6;
this.knockbackMultipler = _arg7;
this.freezeMultipler = _arg8;
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Bullet");
}
protected function setupSprite():void{
bmp = BulletBitmap.bulletBmp;
}
protected function setSpriteWidthHeight():void{
spriteWidth = C.SPRITE_SIZE;
spriteHeight = C.SPRITE_SIZE;
}
protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(1, 0, BULLET_STATE_DESTROYED));
frames.push(new FakeMovieClip(2, 0));
frames.push(new FakeMovieClip(2, 0, BULLET_STATE_DESTROYED_COMPLETE));
gotoAndStop(BULLET_STATE_MOVING);
}
protected function loop(_arg1:Event):void{
checkCollisionBeforeMoving();
if ((((currentLabel == C.FRAME_ERROR)) && ((animationComplete == BULLET_STATE_DESTROYED_COMPLETE)))){
removeSelf();
} else {
if (currentLabel == BULLET_STATE_DESTROYED){
} else {
if (currentLabel == BULLET_STATE_MOVING){
x = (x + -((speed * Math.cos(((angle * Math.PI) / 180)))));
y = (y + -((speed * Math.sin(((angle * Math.PI) / 180)))));
removeOutOfBoundBullet();
checkForZombieCollision();
checkForObjectCollision();
checkForFreddyCollision();
};
};
};
}
protected function removeOutOfBoundBullet():void{
var _local1:Number = (y + layer.y);
if ((((((((_local1 < 0)) || ((_local1 > C.GAME_HEIGHT)))) || ((x < 0)))) || ((x > C.GAME_WIDTH)))){
removeSelf();
};
}
protected function checkCollisionBeforeMoving():void{
if (!moved){
checkForZombieCollision();
checkForObjectCollision();
checkForFreddyCollision();
moved = true;
};
}
public function checkForZombieCollision():void{
Main.zombieCollisionList.swapTarget(this);
var _local1:Array = Main.zombieCollisionList.checkCollisions();
if (_local1.length > 0){
collisionDetected(_local1[0].object1, _local1[0].object2);
};
}
public function checkForObjectCollision():void{
Main.bulletToObjectCollisionList.swapTarget(this);
var _local1:Array = Main.bulletToObjectCollisionList.checkCollisions();
if (_local1.length > 0){
collisionDetected(_local1[0].object1, _local1[0].object2);
};
}
public function checkForFreddyCollision():void{
Main.freddyBulletCollisionList.swapTarget(this);
var _local1:Array = Main.freddyBulletCollisionList.checkCollisions();
if (_local1.length > 0){
collisionDetected(_local1[0].object1, _local1[0].object2);
};
}
protected function collisionDetected(_arg1, _arg2):void{
dealDmg(_arg1, _arg2, damage);
gotoAndPlay(BULLET_STATE_DESTROYED);
}
final protected function dealDmg(_arg1, _arg2, _arg3:Number):void{
if ((((_arg1 is blockPlayerBulletPH)) || ((_arg2 is blockPlayerBulletPH)))){
return;
};
if (_arg2 === this){
_arg1.takeHit(_arg3);
if ((_arg1 is Zombie)){
dealKnockbackFreeze(_arg1);
};
} else {
_arg2.takeHit(_arg3);
if ((_arg2 is Zombie)){
dealKnockbackFreeze(_arg2);
};
};
}
final protected function dealKnockbackFreeze(_arg1:Zombie):void{
_arg1.knockbackFreezeBullet(knockbackMultipler, freezeMultipler);
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
}
}
}//package bullets
Section 61
//BulletBitmap (bullets.BulletBitmap)
package bullets {
import flash.display.*;
public class BulletBitmap {
public static var bulletBmp:Bitmap;
public static var bullet2Bmp:Bitmap;
public static var armorPierceBmp:Bitmap;
public static var laserBmp:Bitmap;
public static var laserExtendBmp:Bitmap;
public static var laserBulletTopBmp:Bitmap;
public static var shotGunBulletBmp:Bitmap;
public static var shotGun2BulletBmp:Bitmap;
public static var rocketExplosionBmp:Bitmap;
public static function init():void{
bulletBmp = new Bitmap(new ant_bullet(C.GAME_WIDTH, C.GAME_HEIGHT));
bullet2Bmp = new Bitmap(new ant_bullet2(C.GAME_WIDTH, C.GAME_HEIGHT));
armorPierceBmp = new Bitmap(new ant_pierce(C.GAME_WIDTH, C.GAME_HEIGHT));
laserBmp = new Bitmap(new ant_laser2(C.GAME_WIDTH, C.GAME_HEIGHT));
laserExtendBmp = new Bitmap(new ant_laser_extend(C.GAME_WIDTH, C.GAME_HEIGHT));
laserBulletTopBmp = new Bitmap(new ant_laser(C.GAME_WIDTH, C.GAME_HEIGHT));
shotGunBulletBmp = new Bitmap(new ant_shotgun1(C.GAME_WIDTH, C.GAME_HEIGHT));
shotGun2BulletBmp = new Bitmap(new ant_shotgun2(C.GAME_WIDTH, C.GAME_HEIGHT));
rocketExplosionBmp = new Bitmap(new ant_explode(C.GAME_WIDTH, C.GAME_HEIGHT));
}
}
}//package bullets
Section 62
//LaserBullet (bullets.LaserBullet)
package bullets {
import flash.display.*;
import flash.events.*;
import zombies.*;
public class LaserBullet extends ArmorPiercingBullet {
public function LaserBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int):void{
rotation = (_arg4 - 90);
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
override protected function setupSprite():void{
bmp = BulletBitmap.laserBmp;
}
override protected function setSpriteWidthHeight():void{
spriteWidth = 40;
spriteHeight = 38;
}
override protected function setupFrames():void{
frames.push(new FakeMovieClip(4, 0, "shoot"));
gotoAndStop("shoot");
}
override protected function loop(_arg1:Event):void{
x = (x + -((speed * Math.cos(((angle * Math.PI) / 180)))));
y = (y + -((speed * Math.sin(((angle * Math.PI) / 180)))));
removeOutOfBoundBullet();
checkForZombieCollision();
checkForObjectCollision();
checkForFreddyCollision();
}
override protected function collisionDetected(_arg1, _arg2):void{
var _local3:*;
if (_arg2 == this){
_local3 = _arg1;
} else {
_local3 = _arg2;
};
if (collidedArray.indexOf(_local3) == -1){
_local3.takeHit(damage);
collidedArray.push(_local3);
if ((_local3 is Zombie)){
dealKnockbackFreeze(_local3);
};
};
}
}
}//package bullets
Section 63
//MachineGun2Bullet (bullets.MachineGun2Bullet)
package bullets {
import flash.display.*;
public class MachineGun2Bullet extends MachineGunBullet {
public function MachineGun2Bullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int, _arg7:Number, _arg8:Number):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
override protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 1, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(1, 1, BULLET_STATE_DESTROYED));
frames.push(new FakeMovieClip(2, 1));
frames.push(new FakeMovieClip(3, 1));
frames.push(new FakeMovieClip(3, 1, BULLET_STATE_DESTROYED_COMPLETE));
gotoAndStop(BULLET_STATE_MOVING);
}
}
}//package bullets
Section 64
//MachineGunBullet (bullets.MachineGunBullet)
package bullets {
import flash.display.*;
public class MachineGunBullet extends Bullet {
public function MachineGunBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int, _arg7:Number, _arg8:Number):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
override protected function setupSprite():void{
bmp = BulletBitmap.bullet2Bmp;
}
override protected function setSpriteWidthHeight():void{
spriteWidth = 20;
spriteHeight = 20;
}
override protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(1, 0, BULLET_STATE_DESTROYED));
frames.push(new FakeMovieClip(2, 0));
frames.push(new FakeMovieClip(3, 0));
frames.push(new FakeMovieClip(3, 0, BULLET_STATE_DESTROYED_COMPLETE));
gotoAndStop(BULLET_STATE_MOVING);
}
}
}//package bullets
Section 65
//RocketBullet (bullets.RocketBullet)
package bullets {
import flash.display.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import guns.*;
public class RocketBullet extends Bullet {
private const ROCKET_ACCELERATION:Number = 3;
private var rocket:Rocket;
private var totalRowCount:int;// = 4
protected var collidedArray:Array;
private var extraVel:Number;// = 0
private var startSpritePos:Number;
public static const ROCKET_FLY:String = "rocketFly";
public function RocketBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int, _arg7:Rocket):void{
collidedArray = [];
this.rocket = _arg7;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
startSpritePos = _arg1.y;
var _local8:Number = Utils.getOppositeAngle(_arg4);
var _local9:int = Utils.angleToDirection(_local8);
if ((((((_local9 == C.RIGHT)) || ((_local9 == C.UP_RIGHT)))) || ((_local9 == C.DOWN_RIGHT)))){
scaleX = -1;
};
gotoAndPlay(((ROCKET_FLY + String(_local9)) + "0"));
}
override protected function setupFrames():void{
var _local1 = 3;
var _local2:int;
pushFrameWithDir(C.DOWN, _local1);
pushFrameWithDir(C.DOWN_RIGHT, (_local1 + 1));
pushFrameWithDir(C.DOWN_LEFT, (_local1 + 1));
pushFrameWithDir(C.LEFT, (_local1 + 2));
pushFrameWithDir(C.RIGHT, (_local1 + 2));
pushFrameWithDir(C.UP, (_local1 + 4));
pushFrameWithDir(C.UP_RIGHT, (_local1 + 3));
pushFrameWithDir(C.UP_LEFT, (_local1 + 3));
}
private function pushFrameWithDir(_arg1:int, _arg2:int):void{
var _local3:int;
while (_local3 < totalRowCount) {
frames.push(new FakeMovieClip(_local3, _arg2, ((ROCKET_FLY + String(_arg1)) + String(_local3))));
_local3++;
};
frames.push(new FakeMovieClip((totalRowCount - 1), _arg2, ((ROCKET_FLY + String(_arg1)) + String(totalRowCount))));
}
override protected function loop(_arg1:Event):void{
var _local2:Number;
if (currentLabel.charAt((currentLabel.length - 1)) == String(totalRowCount)){
gotoAndPlay((currentLabel.slice(0, (currentLabel.length - 1)) + "0"));
};
extraVel = (extraVel + ROCKET_ACCELERATION);
_local2 = (speed + extraVel);
x = (x + -((_local2 * Math.cos(((angle * Math.PI) / 180)))));
y = (y + -((_local2 * Math.sin(((angle * Math.PI) / 180)))));
removeOutOfBoundBullet();
checkForFreddyCollision();
checkForZombieCollision();
checkForObjectCollision();
}
override public function checkForZombieCollision():void{
Main.zombieCollisionList.swapTarget(this);
var _local1:Array = Main.zombieCollisionList.checkCollisions();
var _local2:uint;
while (_local2 < _local1.length) {
collisionDetected(_local1[_local2].object1, _local1[_local2].object2);
_local2++;
};
}
override public function checkForObjectCollision():void{
Main.bulletToObjectCollisionList.swapTarget(this);
var _local1:Array = Main.bulletToObjectCollisionList.checkCollisions();
var _local2:uint;
while (_local2 < _local1.length) {
collisionDetected(_local1[_local2].object1, _local1[_local2].object2);
_local2++;
};
}
override protected function collisionDetected(_arg1, _arg2):void{
var _local3:*;
if (_arg2 == this){
_local3 = _arg1;
} else {
_local3 = _arg2;
};
if (collidedArray.indexOf(_local3) == -1){
removeSelf();
pew();
collidedArray.push(_local3);
return;
};
}
public function pew():void{
var _local1:RocketExplosion = new RocketExplosion(layer, x, y, damage);
layer.addChild(_local1);
SoundManager.instance.playSound(Sounds.OBJ_EXPLODE);
}
}
}//package bullets
Section 66
//RocketExplosion (bullets.RocketExplosion)
package bullets {
import flash.display.*;
import flash.events.*;
import zombies.*;
public class RocketExplosion extends Bullet {
protected var collidedArray:Array;
private var fromJonSpecial:Boolean;
public function RocketExplosion(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:int, _arg5:Boolean=false):void{
collidedArray = [];
this.fromJonSpecial = _arg5;
super(_arg1, _arg2, _arg3, 90, _arg4, 0);
}
override protected function setupSprite():void{
bmp = BulletBitmap.rocketExplosionBmp;
}
override protected function setSpriteWidthHeight():void{
spriteWidth = 160;
spriteHeight = 160;
}
override protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(1, 0, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(2, 0));
frames.push(new FakeMovieClip(3, 0));
frames.push(new FakeMovieClip(4, 0));
frames.push(new FakeMovieClip(5, 0));
frames.push(new FakeMovieClip(5, 0, BULLET_STATE_DESTROYED_COMPLETE));
gotoAndPlay(BULLET_STATE_MOVING);
}
override protected function loop(_arg1:Event):void{
if (currentLabel == BULLET_STATE_DESTROYED_COMPLETE){
removeSelf();
} else {
if (currentLabel == BULLET_STATE_MOVING){
if (!fromJonSpecial){
checkForZombieCollision();
checkForObjectCollision();
checkForFreddyCollision();
};
};
};
}
override protected function collisionDetected(_arg1, _arg2):void{
if ((((collidedArray.indexOf(_arg1) == -1)) && ((collidedArray.indexOf(_arg2) == -1)))){
if ((_arg1 is Zombie)){
collidedArray.push(_arg1);
if (fromJonSpecial){
_arg1.lastDamagedBy = C.DMG_TYPE_PLAYER_SPECIAL;
} else {
_arg1.lastDamagedBy = C.DMG_TYPE_PLAYER_BULLET;
};
} else {
if ((_arg2 is Zombie)){
collidedArray.push(_arg2);
if (fromJonSpecial){
_arg2.lastDamagedBy = C.DMG_TYPE_PLAYER_SPECIAL;
} else {
_arg2.lastDamagedBy = C.DMG_TYPE_PLAYER_BULLET;
};
};
};
if ((_arg1 is FreddyPortrait)){
collidedArray.push(_arg1);
} else {
if ((_arg2 is FreddyPortrait)){
collidedArray.push(_arg2);
};
};
dealDmg(_arg1, _arg2, damage);
};
}
}
}//package bullets
Section 67
//ShotGun2Bullet (bullets.ShotGun2Bullet)
package bullets {
import flash.display.*;
import flash.events.*;
public class ShotGun2Bullet extends ShotGunBullet {
public function ShotGun2Bullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int, _arg7:Number, _arg8:Number):void{
rotation = (_arg4 - 90);
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
override protected function setupSprite():void{
bmp = BulletBitmap.shotGun2BulletBmp;
}
override protected function setSpriteWidthHeight():void{
spriteWidth = 192;
spriteHeight = 128;
}
override protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(1, 0, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(2, 0, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(3, 0, BULLET_STATE_DESTROYED));
frames.push(new FakeMovieClip(4, 0, BULLET_STATE_DESTROYED));
frames.push(new FakeMovieClip(5, 0, BULLET_STATE_DESTROYED_COMPLETE));
gotoAndPlay(BULLET_STATE_MOVING);
}
override protected function loop(_arg1:Event):void{
if ((((currentLabel == C.FRAME_ERROR)) && ((animationComplete == BULLET_STATE_DESTROYED_COMPLETE)))){
removeSelf();
} else {
if (currentLabel == BULLET_STATE_DESTROYED){
} else {
if (currentLabel == BULLET_STATE_MOVING){
checkForZombieCollision();
checkForObjectCollision();
checkForFreddyCollision();
};
};
};
}
}
}//package bullets
Section 68
//ShotGunBullet (bullets.ShotGunBullet)
package bullets {
import flash.display.*;
import flash.events.*;
import zombies.*;
public class ShotGunBullet extends Bullet {
protected var collidedArray:Array;
public function ShotGunBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int, _arg7:Number, _arg8:Number):void{
collidedArray = [];
rotation = (_arg4 - 90);
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
override protected function setupSprite():void{
bmp = BulletBitmap.shotGunBulletBmp;
}
override protected function setSpriteWidthHeight():void{
spriteWidth = 192;
spriteHeight = 128;
}
override protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(1, 0, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(2, 0, BULLET_STATE_MOVING));
frames.push(new FakeMovieClip(3, 0, BULLET_STATE_DESTROYED));
frames.push(new FakeMovieClip(4, 0, BULLET_STATE_DESTROYED_COMPLETE));
gotoAndPlay(BULLET_STATE_MOVING);
}
override protected function loop(_arg1:Event):void{
if ((((currentLabel == C.FRAME_ERROR)) && ((animationComplete == BULLET_STATE_DESTROYED_COMPLETE)))){
removeSelf();
} else {
if (currentLabel == BULLET_STATE_DESTROYED){
} else {
if (currentLabel == BULLET_STATE_MOVING){
checkForZombieCollision();
checkForObjectCollision();
checkForFreddyCollision();
};
};
};
}
override public function checkForZombieCollision():void{
Main.zombieCollisionList.swapTarget(this);
var _local1:Array = Main.zombieCollisionList.checkCollisions();
var _local2:uint;
while (_local2 < _local1.length) {
collisionDetected(_local1[_local2].object1, _local1[_local2].object2);
_local2++;
};
}
override public function checkForObjectCollision():void{
Main.bulletToObjectCollisionList.swapTarget(this);
var _local1:Array = Main.bulletToObjectCollisionList.checkCollisions();
var _local2:uint;
while (_local2 < _local1.length) {
collisionDetected(_local1[_local2].object1, _local1[_local2].object2);
_local2++;
};
}
override protected function collisionDetected(_arg1, _arg2):void{
var _local3:*;
if (_arg2 == this){
_local3 = _arg1;
} else {
_local3 = _arg2;
};
if (collidedArray.indexOf(_local3) == -1){
_local3.takeHit(damage);
collidedArray.push(_local3);
if ((_local3 is Zombie)){
dealKnockbackFreeze(_local3);
};
};
}
}
}//package bullets
Section 69
//Coin (coins.Coin)
package coins {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import flash.geom.*;
import players.*;
import org.casalib.util.*;
public class Coin extends MovieClip {
private const BLINK_PERCENT_OF_DURATION:Number = 0.75;
private const BLINK_RATE:int = 4;
public var coin:MovieClip;
public var coinMagnetFSM:Number;
public var coinFSM:Number;
private var layer:Sprite;
private var bulletSpeed:Number;// = 32
private var angle:Number;// = 0
public var amount:int;
private var durationTimer:FakeTimer;
private var goingBlinkTimer:FakeTimer;
private var player:Player;
private var target;
private var coinY:Number;
private var _xvel:Number;
private var _yvel:Number;
private var _xpos:Number;
private var _ypos:Number;
private var _grav:Number;
private var _left:Number;
private var _right:Number;
private var _bottom:Number;
private var _top:Number;
private var atBottom:Boolean;// = false
private var blinkCount:int;// = 0
private var coinMagAOE:Number;// = 50
public static const COIN_BOUNCING:int = 0;
public static const COIN_NOT_BOUNCING:int = 1;
public static const COIN_BLINKING:int = 2;
public static const COIN_FLYING:int = 3;
public static const COIN_VANISHING:int = 4;
public function Coin(_arg1:Sprite, _arg2:Player, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int):void{
durationTimer = new FakeTimer();
goingBlinkTimer = new FakeTimer();
super();
newCoin();
addChild(coin);
this.layer = _arg1;
this.player = _arg2;
coin.x = _arg3;
coin.y = _arg4;
coin.angle = angle;
this.amount = _arg5;
durationTimer.duration = _arg6;
_grav = 1;
setupGravity();
var _local7:Number = (_arg6 * BLINK_PERCENT_OF_DURATION);
goingBlinkTimer.duration = _local7;
durationTimer.resetAndStart();
goingBlinkTimer.resetAndStart();
_left = (coin.width / 2);
_right = (C.GAME_WIDTH - _left);
_top = (coin.y - 200);
_bottom = coin.y;
coinFSM = COIN_BOUNCING;
addEventListeners();
target = _arg2;
}
protected function newCoin():void{
coin = new coin1();
}
public function addEventListeners(){
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Coin");
}
private function setupGravity():void{
_xvel = ((Math.random() * 20) - 10);
_yvel = -((Math.random() * 20));
_xpos = coin.x;
_ypos = coin.y;
}
protected function checkCommonTimers():void{
checkDurationTimer();
checkGoingBlinkTimer();
}
protected function checkDurationTimer():void{
if (durationTimer.getTrigger()){
removeSelf();
};
}
protected function checkGoingBlinkTimer():void{
if (goingBlinkTimer.getTrigger()){
startBlink();
};
}
private function loop(_arg1:Event):void{
coinY = (coin.y + layer.y);
coinMagAOE = S.coinMagAOE;
checkCommonTimers();
if (coin.currentLabel == "destroy"){
removeSelf();
};
if (target == null){
(coinFSM == COIN_NOT_BOUNCING);
return;
};
if ((target is Player)){
if (((coin.hitTestObject(player.pHitBox)) && (!((coinFSM == COIN_VANISHING))))){
collectedCoin();
};
} else {
if (((coin.hitTestObject(target)) && (!((coinFSM == COIN_VANISHING))))){
collectedCoin();
};
};
if (coinFSM == COIN_BOUNCING){
_yvel = (_yvel + _grav);
_xpos = (_xpos + _xvel);
_ypos = (_ypos + _yvel);
if (_ypos > _bottom){
if (atBottom){
(coinFSM == COIN_NOT_BOUNCING);
};
_xvel = (_xvel * 0.5);
_yvel = (_yvel * -0.5);
_ypos = _bottom;
atBottom = true;
} else {
if (_ypos < _top){
_yvel = (_yvel * -1);
_ypos = _top;
atBottom = false;
} else {
atBottom = false;
};
};
if (_xpos < _left){
_xvel = (_xvel * -1);
_xpos = _left;
} else {
if (_xpos > _right){
_xvel = (_xvel * -1);
_xpos = _right;
};
};
checkCoinInMagnetAOE();
} else {
if (coinFSM == COIN_NOT_BOUNCING){
checkCoinInMagnetAOE();
} else {
if (coinFSM == COIN_BLINKING){
blinkCount++;
if (blinkCount >= 3){
coin.visible = !(coin.visible);
blinkCount = 0;
};
} else {
if (coinFSM == COIN_FLYING){
coinMagnetPlayerAndSurvivor();
};
};
};
};
coin.x = _xpos;
coin.y = _ypos;
}
private function checkCoinInMagnetAOE():void{
if (Utils.BoundingCircle(player.x, player.y, coin.x, coinY, coinMagAOE)){
coinFSM = COIN_FLYING;
target = player;
};
var _local1:int = Main.survivorList.length;
var _local2:int;
while (_local2 < _local1) {
if ((((Main.survivorList[_local2].survivorFSM == Survivor.SURVIVOR_STATE_RESCUED)) && (Utils.BoundingCircle(Main.survivorList[_local2].x, Main.survivorList[_local2].y, coin.x, coinY, C.SURVIVOR_COIN_MAGNET_AOE)))){
coinFSM = COIN_FLYING;
target = Main.survivorList[_local2];
};
_local2++;
};
}
private function coinMagnetPlayerAndSurvivor():void{
var _local2:Number;
var _local1:Number = Utils.getShortestDist(target.x, target.y, coin.x, coinY);
if ((target is Player)){
_local2 = (((coinMagAOE - _local1) / 20) + C.COIN_BASE_SPEED);
} else {
_local2 = (((C.SURVIVOR_COIN_MAGNET_AOE - _local1) / 20) + C.COIN_BASE_SPEED);
};
if (_local2 <= 0){
coinFSM = COIN_NOT_BOUNCING;
return;
};
var _local3:Number = GeomUtil.angle(new Point(coin.x, coinY), new Point(target.x, target.y));
_xpos = (_xpos + (_local2 * Math.cos(((_local3 * Math.PI) / 180))));
_ypos = (_ypos + (_local2 * Math.sin(((_local3 * Math.PI) / 180))));
}
private function collectedCoin():void{
dispatchEvent(new Event(C.COIN_EVENT_COLLECTED));
durationTimer.stop();
coin.gotoAndPlay("collect");
coinFSM = COIN_VANISHING;
}
public function startBlink():void{
if ((((coinFSM == COIN_BOUNCING)) || ((coinFSM == COIN_NOT_BOUNCING)))){
coinFSM = COIN_BLINKING;
};
}
public function removeSelf(_arg1:TimerEvent=null):void{
if (layer.contains(this)){
layer.removeChild(this);
};
if (contains(coin)){
removeChild(coin);
};
EC.remove(this);
}
}
}//package coins
Section 70
//CoinThree (coins.CoinThree)
package coins {
import flash.display.*;
import players.*;
public class CoinThree extends Coin {
public function CoinThree(_arg1:Sprite, _arg2:Player, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
override protected function newCoin():void{
coin = new coin3();
}
}
}//package coins
Section 71
//CoinTwo (coins.CoinTwo)
package coins {
import flash.display.*;
import players.*;
public class CoinTwo extends Coin {
public function CoinTwo(_arg1:Sprite, _arg2:Player, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
override protected function newCoin():void{
coin = new coin2();
}
}
}//package coins
Section 72
//KeyCode (com.cheezeworld.utils.KeyCode)
package com.cheezeworld.utils {
public class KeyCode {
public static const A:int = 65;
public static const B:int = 66;
public static const C:int = 67;
public static const D:int = 68;
public static const E:int = 69;
public static const F:int = 70;
public static const G:int = 71;
public static const H:int = 72;
public static const I:int = 73;
public static const J:int = 74;
public static const K:int = 75;
public static const L:int = 76;
public static const M:int = 77;
public static const N:int = 78;
public static const O:int = 79;
public static const P:int = 80;
public static const Q:int = 81;
public static const R:int = 82;
public static const S:int = 83;
public static const T:int = 84;
public static const U:int = 85;
public static const V:int = 86;
public static const W:int = 87;
public static const X:int = 88;
public static const Y:int = 89;
public static const Z:int = 90;
public static const ZERO:int = 48;
public static const ONE:int = 49;
public static const TWO:int = 50;
public static const THREE:int = 51;
public static const FOUR:int = 52;
public static const FIVE:int = 53;
public static const SIX:int = 54;
public static const SEVEN:int = 55;
public static const EIGHT:int = 56;
public static const NINE:int = 57;
public static const NUMPAD_0:int = 96;
public static const NUMPAD_1:int = 97;
public static const NUMPAD_2:int = 98;
public static const NUMPAD_3:int = 99;
public static const NUMPAD_4:int = 100;
public static const NUMPAD_5:int = 101;
public static const NUMPAD_6:int = 102;
public static const NUMPAD_7:int = 103;
public static const NUMPAD_8:int = 104;
public static const NUMPAD_9:int = 105;
public static const NUMPAD_MULTIPLY:int = 106;
public static const NUMPAD_ADD:int = 107;
public static const NUMPAD_ENTER:int = 108;
public static const NUMPAD_SUBTRACT:int = 109;
public static const NUMPAD_DECIMAL:int = 110;
public static const NUMPAD_DIVIDE:int = 111;
public static const F1:int = 112;
public static const F2:int = 113;
public static const F3:int = 114;
public static const F4:int = 115;
public static const F5:int = 116;
public static const F6:int = 117;
public static const F7:int = 118;
public static const F8:int = 119;
public static const F9:int = 120;
public static const F10:int = 121;
public static const F11:int = 122;
public static const F12:int = 123;
public static const F13:int = 124;
public static const F14:int = 125;
public static const F15:int = 126;
public static const COLON:int = 186;
public static const EQUALS:int = 187;
public static const UNDERSCORE:int = 189;
public static const QUESTION_MARK:int = 191;
public static const TILDE:int = 192;
public static const OPEN_BRACKET:int = 219;
public static const BACKWARD_SLASH:int = 220;
public static const CLOSED_BRACKET:int = 221;
public static const QUOTES:int = 222;
public static const BACKSPACE:int = 8;
public static const TAB:int = 9;
public static const CLEAR:int = 12;
public static const ENTER:int = 13;
public static const SHIFT:int = 16;
public static const CONTROL:int = 17;
public static const ALT:int = 18;
public static const CAPS_LOCK:int = 20;
public static const ESC:int = 27;
public static const SPACEBAR:int = 32;
public static const PAGE_UP:int = 33;
public static const PAGE_DOWN:int = 34;
public static const END:int = 35;
public static const HOME:int = 36;
public static const LEFT:int = 37;
public static const UP:int = 38;
public static const RIGHT:int = 39;
public static const DOWN:int = 40;
public static const INSERT:int = 45;
public static const DELETE:int = 46;
public static const HELP:int = 47;
public static const NUM_LOCK:int = 144;
}
}//package com.cheezeworld.utils
Section 73
//SoundManager (com.cheezeworld.utils.SoundManager)
package com.cheezeworld.utils {
import flash.media.*;
import flash.utils.*;
public class SoundManager {
private var m_sounds:Dictionary;
private var m_channels:Dictionary;
private var m_musicChannel:SoundChannel;
private var m_musicTransform:SoundTransform;
private var m_soundTransform:SoundTransform;
private static var m_instance:SoundManager;
public function SoundManager(_arg1:SingletonEnforcer){
m_musicChannel = new SoundChannel();
m_musicTransform = new SoundTransform(1);
m_soundTransform = new SoundTransform(1);
m_sounds = new Dictionary();
m_channels = new Dictionary();
}
public function get soundVolume():Number{
return (m_soundTransform.volume);
}
public function set soundVolume(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
};
m_soundTransform.volume = _arg1;
}
public function get musicVolume():Number{
return (m_musicTransform.volume);
}
public function set musicVolume(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
};
m_musicTransform.volume = _arg1;
m_musicChannel.soundTransform = m_musicTransform;
}
public function registerSound(_arg1:Sound, _arg2:String):void{
m_sounds[_arg2] = _arg1;
}
public function getDuration(_arg1:String):int{
return (m_sounds[_arg1].length);
}
public function playSound(_arg1:String, _arg2:Number=1337, _arg3:int=0, _arg4:int=0):void{
var _local5:Number = soundVolume;
if (S.muteState != C.MUTE_BOTH){
if (_arg2 == 1337){
_arg2 = soundVolume;
} else {
m_soundTransform.volume = _arg2;
};
if (m_sounds[_arg1] == null){
throw (new Error((("<SoundManager> Sound: " + _arg1) + " does not exist!")));
};
m_soundTransform.volume = _arg2;
m_soundTransform = m_soundTransform;
m_channels[_arg1] = m_sounds[_arg1].play(_arg3, _arg4, m_soundTransform);
m_soundTransform.volume = _local5;
};
}
public function stopSound(_arg1:String):void{
if (m_channels[_arg1] != null){
m_channels[_arg1].stop();
delete m_channels[_arg1];
};
}
public function playMusic(_arg1:String, _arg2:int=0, _arg3:int=0):void{
if (m_sounds[_arg1] == null){
throw (new Error((("<SoundManager> Sound: " + _arg1) + " does not exist!")));
};
m_musicChannel = m_sounds[_arg1].play(_arg2, _arg3, m_musicTransform);
}
public function stopMusic():void{
m_musicChannel.stop();
}
public static function get instance():SoundManager{
if (SoundManager.m_instance == null){
SoundManager.m_instance = new SoundManager(new SingletonEnforcer());
};
return (SoundManager.m_instance);
}
}
}//package com.cheezeworld.utils
class SingletonEnforcer {
private function SingletonEnforcer(){
}
}
Section 74
//CDK (com.coreyoneil.collision.CDK)
package com.coreyoneil.collision {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
import flash.text.*;
import flash.errors.*;
public class CDK {
protected var objectArray:Array;
protected var objectCheckArray:Array;
protected var objectCollisionArray:Array;
private var colorExclusionArray:Array;
private var bmd1:BitmapData;
private var bmd2:BitmapData;
private var bmdResample:BitmapData;
private var pixels1:ByteArray;
private var pixels2:ByteArray;
private var rect1:Rectangle;
private var rect2:Rectangle;
private var transMatrix1:Matrix;
private var transMatrix2:Matrix;
private var colorTransform1:ColorTransform;
private var colorTransform2:ColorTransform;
private var item1Registration:Point;
private var item2Registration:Point;
private var _alphaThreshold:Number;
private var _returnAngle:Boolean;
private var _returnAngleType:String;
private var _numChildren:uint;
public function CDK():void{
if (getQualifiedClassName(this) == "com.coreyoneil.collision::CDK"){
throw (new Error("CDK is an abstract class and is not meant for instantiation - use CollisionGroup or CollisionList"));
};
init();
}
private function init():void{
objectCheckArray = [];
objectCollisionArray = [];
objectArray = [];
colorExclusionArray = [];
_alphaThreshold = 0;
_returnAngle = true;
_returnAngleType = "RADIANS";
}
public function addItem(_arg1):void{
if ((_arg1 is DisplayObject)){
objectArray.push(_arg1);
} else {
throw (new Error((("Cannot add item: " + _arg1) + " - item must be a Display Object.")));
};
}
public function removeItem(_arg1):void{
var _local2:int = objectArray.indexOf(_arg1);
if (_local2 > -1){
objectArray.splice(_local2, 1);
} else {
throw (new Error((_arg1 + " could not be removed - object not found in item list.")));
};
}
public function excludeColor(_arg1:uint, _arg2:uint=0xFF, _arg3:uint=20, _arg4:uint=20, _arg5:uint=20):void{
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local6:int = colorExclusionArray.length;
var _local7:uint;
while (_local7 < _local6) {
if (colorExclusionArray[_local7].color == _arg1){
throw (new Error((("Color could not be added - color already in the exclusion list [" + _arg1) + "]")));
};
_local7++;
};
_local8 = (((_arg1 >> 24) & 0xFF) + _arg2);
_local9 = (_local8 - (_arg2 << 1));
_local10 = (((_arg1 >> 16) & 0xFF) + _arg3);
_local11 = (_local10 - (_arg3 << 1));
_local12 = (((_arg1 >> 8) & 0xFF) + _arg4);
_local13 = (_local12 - (_arg4 << 1));
_local14 = ((_arg1 & 0xFF) + _arg5);
_local15 = (_local14 - (_arg5 << 1));
var _local16:Object = {color:_arg1, aPlus:_local8, aMinus:_local9, rPlus:_local10, rMinus:_local11, gPlus:_local12, gMinus:_local13, bPlus:_local14, bMinus:_local15};
colorExclusionArray.push(_local16);
}
public function removeExcludeColor(_arg1:uint):void{
var _local2:Boolean;
var _local3:int = colorExclusionArray.length;
var _local4:uint;
while (_local4 < _local3) {
if (colorExclusionArray[_local4].color == _arg1){
colorExclusionArray.splice(_local4, 1);
_local2 = true;
break;
};
_local4++;
};
if (!_local2){
throw (new Error((("Color could not be removed - color not found in exclusion list [" + _arg1) + "]")));
};
}
protected function clearArrays():void{
objectCheckArray = [];
objectCollisionArray = [];
}
protected function findCollisions(_arg1, _arg2):void{
var item1xDiff:Number;
var item1yDiff:Number;
var locY:Number;
var locX:Number;
var locStage:Point;
var alpha1:uint;
var alpha2:uint;
var colorFlag:Boolean;
var red1:uint;
var red2:uint;
var green1:uint;
var green2:uint;
var blue1:uint;
var blue2:uint;
var colorObj:Object;
var aPlus:uint;
var aMinus:uint;
var rPlus:uint;
var rMinus:uint;
var gPlus:uint;
var gMinus:uint;
var bPlus:uint;
var bMinus:uint;
var item1Flags:uint;
var item2Flags:uint;
var n:uint;
var angle:Number;
var recordedCollision:Object;
var item1 = _arg1;
var item2 = _arg2;
var item1_isText:Boolean;
var item2_isText:Boolean;
if ((item1 is TextField)){
item1_isText = ((item1.antiAliasType)=="advanced") ? true : false;
item1.antiAliasType = ((item1.antiAliasType)=="advanced") ? "normal" : item1.antiAliasType;
};
if ((item2 is TextField)){
item2_isText = ((item2.antiAliasType)=="advanced") ? true : false;
item2.antiAliasType = ((item2.antiAliasType)=="advanced") ? "normal" : item2.antiAliasType;
};
colorTransform1 = item1.transform.colorTransform;
colorTransform2 = item2.transform.colorTransform;
item1Registration = new Point();
item2Registration = new Point();
item1Registration = item1.localToGlobal(item1Registration);
item2Registration = item2.localToGlobal(item2Registration);
var item1Width:* = ((item1.width < 0)) ? -(item1.width) : item1.width;
var item1Height:* = ((item1.height < 0)) ? -(item1.height) : item1.height;
bmd1 = new BitmapData(item1Width, item1Height, true, 0xFFFFFF);
bmd2 = new BitmapData(item1Width, item1Height, true, 0xFFFFFF);
transMatrix1 = item1.transform.matrix;
var currentObj:* = item1;
while (currentObj.parent != null) {
transMatrix1.concat(currentObj.parent.transform.matrix);
currentObj = currentObj.parent;
};
rect1 = item1.getBounds(currentObj);
if (item1 != currentObj){
rect1.x = (rect1.x + currentObj.x);
rect1.y = (rect1.y + currentObj.y);
};
var _local4 = (item1Registration.x - rect1.left);
item1xDiff = _local4;
transMatrix1.tx = _local4;
_local4 = (item1Registration.y - rect1.top);
item1yDiff = _local4;
transMatrix1.ty = _local4;
transMatrix2 = item2.transform.matrix;
currentObj = item2;
while (currentObj.parent != null) {
transMatrix2.concat(currentObj.parent.transform.matrix);
currentObj = currentObj.parent;
};
transMatrix2.tx = (item2Registration.x - rect1.left);
transMatrix2.ty = (item2Registration.y - rect1.top);
bmd1.draw(item1, transMatrix1, colorTransform1, null, null, true);
bmd2.draw(item2, transMatrix2, colorTransform2, null, null, true);
pixels1 = bmd1.getPixels(new Rectangle(0, 0, bmd1.width, bmd1.height));
pixels2 = bmd2.getPixels(new Rectangle(0, 0, bmd1.width, bmd1.height));
var k:uint;
var value1:uint;
var value2:uint;
var collisionPoint:Number = -1;
var overlap:Boolean;
var overlapping:Array = [];
var hasColors:int = colorExclusionArray.length;
pixels1.position = 0;
pixels2.position = 0;
var pixelLength:int = pixels1.length;
while (k < pixelLength) {
k = pixels1.position;
try {
value1 = pixels1.readUnsignedInt();
value2 = pixels2.readUnsignedInt();
} catch(e:EOFError) {
break;
};
alpha1 = ((value1 >> 24) & 0xFF);
alpha2 = ((value2 >> 24) & 0xFF);
if ((((alpha1 > _alphaThreshold)) && ((alpha2 > _alphaThreshold)))){
colorFlag = false;
if (hasColors){
red1 = ((value1 >> 16) & 0xFF);
red2 = ((value2 >> 16) & 0xFF);
green1 = ((value1 >> 8) & 0xFF);
green2 = ((value2 >> 8) & 0xFF);
blue1 = (value1 & 0xFF);
blue2 = (value2 & 0xFF);
n = 0;
while (n < hasColors) {
colorObj = Object(colorExclusionArray[n]);
item1Flags = 0;
item2Flags = 0;
if ((((blue1 >= colorObj.bMinus)) && ((blue1 <= colorObj.bPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((blue2 >= colorObj.bMinus)) && ((blue2 <= colorObj.bPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((green1 >= colorObj.gMinus)) && ((green1 <= colorObj.gPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((green2 >= colorObj.gMinus)) && ((green2 <= colorObj.gPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((red1 >= colorObj.rMinus)) && ((red1 <= colorObj.rPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((red2 >= colorObj.rMinus)) && ((red2 <= colorObj.rPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((alpha1 >= colorObj.aMinus)) && ((alpha1 <= colorObj.aPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((alpha2 >= colorObj.aMinus)) && ((alpha2 <= colorObj.aPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((item1Flags == 4)) || ((item2Flags == 4)))){
colorFlag = true;
};
n = (n + 1);
};
};
if (!colorFlag){
overlap = true;
collisionPoint = (k >> 2);
locY = (collisionPoint / bmd1.width);
locX = (collisionPoint % bmd1.width);
locY = (locY - item1yDiff);
locX = (locX - item1xDiff);
locStage = item1.localToGlobal(new Point(locX, locY));
overlapping.push(locStage);
};
};
};
if (overlap){
angle = (_returnAngle) ? findAngle(item1, item2) : 0;
recordedCollision = {object1:item1, object2:item2, angle:angle, overlapping:overlapping};
objectCollisionArray.push(recordedCollision);
};
if (item1_isText){
item1.antiAliasType = "advanced";
};
if (item2_isText){
item2.antiAliasType = "advanced";
};
_local4 = false;
item2_isText = _local4;
item1_isText = _local4;
}
private function findAngle(_arg1:DisplayObject, _arg2:DisplayObject):Number{
var pixel:uint;
var thisAlpha:uint;
var lastAlpha:int;
var edgePoint:int;
var k:uint;
var upperLimit:int;
var colorFlag:Boolean;
var red1:uint;
var green1:uint;
var blue1:uint;
var colorObj:Object;
var a:uint;
var r:uint;
var g:uint;
var b:uint;
var item1Flags:uint;
var n:uint;
var item1 = _arg1;
var item2 = _arg2;
var center:Point = new Point((item1.width >> 1), (item1.height >> 1));
var pixels:ByteArray = pixels2;
transMatrix2.tx = (transMatrix2.tx + center.x);
transMatrix2.ty = (transMatrix2.ty + center.y);
bmdResample = new BitmapData((item1.width << 1), (item1.height << 1), true, 0xFFFFFF);
bmdResample.draw(item2, transMatrix2, colorTransform2, null, null, true);
pixels = bmdResample.getPixels(new Rectangle(0, 0, bmdResample.width, bmdResample.height));
center.x = (bmdResample.width >> 1);
center.y = (bmdResample.height >> 1);
var columnHeight:uint = Math.round(bmdResample.height);
var rowWidth:uint = Math.round(bmdResample.width);
var edgeArray:Array = [];
var hasColors:int = colorExclusionArray.length;
var j:uint;
while (j < columnHeight) {
k = ((j * rowWidth) << 2);
pixels.position = k;
lastAlpha = -1;
upperLimit = (((j + 1) * rowWidth) << 2);
while (k < upperLimit) {
k = pixels.position;
try {
pixel = pixels.readUnsignedInt();
} catch(e:EOFError) {
break;
};
thisAlpha = ((pixel >> 24) & 0xFF);
if (lastAlpha == -1){
lastAlpha = thisAlpha;
} else {
if (thisAlpha > _alphaThreshold){
colorFlag = false;
if (hasColors){
red1 = ((pixel >> 16) & 0xFF);
green1 = ((pixel >> 8) & 0xFF);
blue1 = (pixel & 0xFF);
n = 0;
while (n < hasColors) {
colorObj = Object(colorExclusionArray[n]);
item1Flags = 0;
if ((((blue1 >= colorObj.bMinus)) && ((blue1 <= colorObj.bPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((green1 >= colorObj.gMinus)) && ((green1 <= colorObj.gPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((red1 >= colorObj.rMinus)) && ((red1 <= colorObj.rPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((thisAlpha >= colorObj.aMinus)) && ((thisAlpha <= colorObj.aPlus)))){
item1Flags = (item1Flags + 1);
};
if (item1Flags == 4){
colorFlag = true;
};
n = (n + 1);
};
};
if (!colorFlag){
edgeArray.push((k >> 2));
};
};
};
};
j = (j + 1);
};
var numEdges:int = edgeArray.length;
var slopeYAvg:Number = 0;
var slopeXAvg:Number = 0;
j = 0;
while (j < numEdges) {
edgePoint = int(edgeArray[j]);
slopeYAvg = (slopeYAvg + (center.y - (edgePoint / rowWidth)));
slopeXAvg = (slopeXAvg + ((edgePoint % rowWidth) - center.x));
j = (j + 1);
};
var average:Number = -(Math.atan2(slopeYAvg, slopeXAvg));
average = ((_returnAngleType == "RADIANS")) ? average : (average * 57.2957795);
return (average);
}
public function dispose():void{
objectArray = [];
}
public function set alphaThreshold(_arg1:Number):void{
if ((((_arg1 <= 1)) && ((_arg1 >= 0)))){
_alphaThreshold = (_arg1 * 0xFF);
} else {
throw (new Error("alphaThreshold expects a value from 0 to 1"));
};
}
public function get alphaThreshold():Number{
return (_alphaThreshold);
}
public function get returnAngle():Boolean{
return (_returnAngle);
}
public function set returnAngle(_arg1:Boolean):void{
_returnAngle = _arg1;
}
public function set returnAngleType(_arg1:String):void{
_arg1 = _arg1.toUpperCase();
switch (_arg1){
case "DEGREES":
case "DEGREE":
case "DEG":
case "DEGS":
_returnAngleType = "DEGREES";
break;
case "RADIANS":
case "RADIAN":
case "RAD":
case "RADS":
_returnAngleType = "RADIANS";
break;
default:
throw (new Error("returnAngleType expects 'DEGREES' or 'RADIANS'"));
};
}
public function get returnAngleType():String{
return (_returnAngleType);
}
public function get numChildren():uint{
return (objectArray.length);
}
public function get getObjArray():Array{
return (objectArray);
}
}
}//package com.coreyoneil.collision
Section 75
//CollisionList (com.coreyoneil.collision.CollisionList)
package com.coreyoneil.collision {
import flash.display.*;
public class CollisionList extends CDK {
public function CollisionList(_arg1, ... _args):void{
addItem(_arg1);
var _local3:uint;
while (_local3 < _args.length) {
addItem(_args[_local3]);
_local3++;
};
}
public function checkCollisions():Array{
var _local3:DisplayObject;
clearArrays();
var _local1:uint = objectArray.length;
var _local2:* = DisplayObject(objectArray[0]);
var _local4:uint = 1;
while (_local4 < _local1) {
_local3 = DisplayObject(objectArray[_local4]);
if (_local2.hitTestObject(_local3)){
if ((_local3.width * _local3.height) > (_local2.width * _local2.height)){
objectCheckArray.push([_local2, _local3]);
} else {
objectCheckArray.push([_local3, _local2]);
};
};
_local4++;
};
_local1 = objectCheckArray.length;
_local4 = 0;
while (_local4 < _local1) {
findCollisions(DisplayObject(objectCheckArray[_local4][0]), DisplayObject(objectCheckArray[_local4][1]));
_local4++;
};
return (objectCollisionArray);
}
public function swapTarget(_arg1):void{
if ((_arg1 is DisplayObject)){
objectArray[0] = _arg1;
} else {
throw (new Error((("Cannot swap target: " + _arg1) + " - item must be a Display Object.")));
};
}
override public function removeItem(_arg1):void{
var _local2:int = objectArray.indexOf(_arg1);
if (_local2 > 0){
objectArray.splice(_local2, 1);
} else {
if (_local2 == 0){
throw (new Error("You cannot remove the target from CollisionList. Use swapTarget to change the target."));
};
throw (new Error((_arg1 + " could not be removed - object not found in item list.")));
};
}
public function safeRemoveItem(_arg1):void{
var _local2:int = objectArray.indexOf(_arg1);
if (_local2 > 0){
objectArray.splice(_local2, 1);
};
}
public function removeAllItems():void{
objectArray.splice(1);
}
}
}//package com.coreyoneil.collision
Section 76
//PropTween (com.greensock.core.PropTween)
package com.greensock.core {
public class PropTween {
public var target:Object;
public var property:String;
public var start:Number;
public var change:Number;
public var name:String;
public var priority:int;
public var isPlugin:Boolean;
public var nextNode:PropTween;
public var prevNode:PropTween;
public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){
this.target = _arg1;
this.property = _arg2;
this.start = _arg3;
this.change = _arg4;
this.name = _arg5;
this.isPlugin = _arg6;
if (_arg7){
_arg7.prevNode = this;
this.nextNode = _arg7;
};
this.priority = _arg8;
}
}
}//package com.greensock.core
Section 77
//SimpleTimeline (com.greensock.core.SimpleTimeline)
package com.greensock.core {
public class SimpleTimeline extends TweenCore {
protected var _firstChild:TweenCore;
protected var _lastChild:TweenCore;
public var autoRemoveChildren:Boolean;
public function SimpleTimeline(_arg1:Object=null){
super(0, _arg1);
}
public function addChild(_arg1:TweenCore):void{
if (((!(_arg1.gc)) && (_arg1.timeline))){
_arg1.timeline.remove(_arg1, true);
};
_arg1.timeline = this;
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
if (_firstChild){
_firstChild.prevNode = _arg1;
};
_arg1.nextNode = _firstChild;
_firstChild = _arg1;
_arg1.prevNode = null;
}
public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (_arg1.gc){
return;
};
if (!_arg2){
_arg1.setEnabled(false, true);
};
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
} else {
if (_lastChild == _arg1){
_lastChild = _arg1.prevNode;
};
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_firstChild == _arg1){
_firstChild = _arg1.nextNode;
};
};
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local5:Number;
var _local6:TweenCore;
var _local4:TweenCore = _firstChild;
this.cachedTotalTime = _arg1;
this.cachedTime = _arg1;
while (_local4) {
_local6 = _local4.nextNode;
if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){
if (!_local4.cachedReversed){
_local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration;
_local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false);
};
};
_local4 = _local6;
};
}
public function get rawTime():Number{
return (this.cachedTotalTime);
}
}
}//package com.greensock.core
Section 78
//TweenCore (com.greensock.core.TweenCore)
package com.greensock.core {
import com.greensock.*;
public class TweenCore {
protected var _delay:Number;
protected var _hasUpdate:Boolean;
protected var _rawPrevTime:Number;// = -1
protected var _pauseTime:Number;
public var vars:Object;
public var active:Boolean;
public var gc:Boolean;
public var initted:Boolean;
public var timeline:SimpleTimeline;
public var cachedStartTime:Number;
public var cachedTime:Number;
public var cachedTotalTime:Number;
public var cachedDuration:Number;
public var cachedTotalDuration:Number;
public var cachedTimeScale:Number;
public var cachedReversed:Boolean;
public var nextNode:TweenCore;
public var prevNode:TweenCore;
public var cacheIsDirty:Boolean;
public var cachedPaused:Boolean;
public var data;
public static const version:Number = 1.361;
protected static var _classInitted:Boolean;
public function TweenCore(_arg1:Number=0, _arg2:Object=null){
this.vars = ((_arg2)!=null) ? _arg2 : {};
this.cachedDuration = (this.cachedTotalDuration = _arg1);
_delay = (this.vars.delay) ? Number(this.vars.delay) : 0;
this.cachedTimeScale = (this.vars.timeScale) ? Number(this.vars.timeScale) : 1;
this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false)))));
this.cachedTotalTime = (this.cachedTime = 0);
this.data = this.vars.data;
if (!_classInitted){
if (isNaN(TweenLite.rootFrame)){
TweenLite.initClass();
_classInitted = true;
} else {
return;
};
};
var _local3:SimpleTimeline = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline;
this.cachedStartTime = (_local3.cachedTotalTime + _delay);
_local3.addChild(this);
if (this.vars.reversed){
this.cachedReversed = true;
};
if (this.vars.paused){
this.paused = true;
};
}
public function play():void{
this.reversed = false;
this.paused = false;
}
public function pause():void{
this.paused = true;
}
public function resume():void{
this.paused = false;
}
public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.reversed = false;
this.paused = false;
this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2);
}
public function reverse(_arg1:Boolean=true):void{
this.reversed = true;
if (_arg1){
this.paused = false;
} else {
if (this.gc){
this.setEnabled(true, false);
};
};
}
public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
}
public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
if (!_arg1){
renderTime(this.totalDuration, _arg2, false);
return;
};
if (this.timeline.autoRemoveChildren){
this.setEnabled(false, false);
} else {
this.active = false;
};
if (!_arg2){
if (((((this.vars.onComplete) && ((this.cachedTotalTime == this.cachedTotalDuration)))) && (!(this.cachedReversed)))){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
} else {
if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (this.vars.onReverseComplete))){
this.vars.onReverseComplete.apply(null, this.vars.onReverseCompleteParams);
};
};
};
}
public function invalidate():void{
}
public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
if (_arg1){
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
if (((!(_arg2)) && (this.gc))){
this.timeline.addChild(this);
};
} else {
this.active = false;
if (!_arg2){
this.timeline.remove(this, true);
};
};
this.gc = !(_arg1);
return (false);
}
public function kill():void{
setEnabled(false, false);
}
protected function setDirtyCache(_arg1:Boolean=true):void{
var _local2:TweenCore = (_arg1) ? this : this.timeline;
while (_local2) {
_local2.cacheIsDirty = true;
_local2 = _local2.timeline;
};
}
protected function setTotalTime(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
var _local4:Number;
if (this.timeline){
_local3 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
if (this.cachedReversed){
_local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
this.cachedStartTime = (_local3 - ((_local4 - _arg1) / this.cachedTimeScale));
} else {
this.cachedStartTime = (_local3 - (_arg1 / this.cachedTimeScale));
};
if (!this.timeline.cacheIsDirty){
setDirtyCache(false);
};
if (this.cachedTotalTime != _arg1){
renderTime(_arg1, _arg2, false);
};
};
}
public function get delay():Number{
return (_delay);
}
public function set delay(_arg1:Number):void{
this.startTime = (this.startTime + (_arg1 - _delay));
_delay = _arg1;
}
public function get duration():Number{
return (this.cachedDuration);
}
public function set duration(_arg1:Number):void{
this.cachedDuration = (this.cachedTotalDuration = _arg1);
setDirtyCache(false);
}
public function get totalDuration():Number{
return (this.cachedTotalDuration);
}
public function set totalDuration(_arg1:Number):void{
this.duration = _arg1;
}
public function get currentTime():Number{
return (this.cachedTime);
}
public function set currentTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
public function get totalTime():Number{
return (this.cachedTotalTime);
}
public function set totalTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
public function get startTime():Number{
return (this.cachedStartTime);
}
public function set startTime(_arg1:Number):void{
var _local2:Boolean = Boolean(((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc)))));
this.cachedStartTime = _arg1;
if (_local2){
this.timeline.addChild(this);
};
}
public function get reversed():Boolean{
return (this.cachedReversed);
}
public function set reversed(_arg1:Boolean):void{
if (_arg1 != this.cachedReversed){
this.cachedReversed = _arg1;
setTotalTime(this.cachedTotalTime, true);
};
}
public function get paused():Boolean{
return (this.cachedPaused);
}
public function set paused(_arg1:Boolean):void{
if (((!((_arg1 == this.cachedPaused))) && (this.timeline))){
if (_arg1){
_pauseTime = this.timeline.rawTime;
} else {
this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - _pauseTime));
_pauseTime = NaN;
setDirtyCache(false);
};
this.cachedPaused = _arg1;
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
};
if (((!(_arg1)) && (this.gc))){
this.setTotalTime(this.cachedTotalTime, false);
this.setEnabled(true, false);
};
}
}
}//package com.greensock.core
Section 79
//TweenEvent (com.greensock.events.TweenEvent)
package com.greensock.events {
import flash.events.*;
public class TweenEvent extends Event {
public static const VERSION:Number = 1.1;
public static const START:String = "start";
public static const UPDATE:String = "change";
public static const COMPLETE:String = "complete";
public static const REVERSE_COMPLETE:String = "reverseComplete";
public static const REPEAT:String = "repeat";
public static const INIT:String = "init";
public function TweenEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new TweenEvent(this.type, this.bubbles, this.cancelable));
}
}
}//package com.greensock.events
Section 80
//AutoAlphaPlugin (com.greensock.plugins.AutoAlphaPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class AutoAlphaPlugin extends TweenPlugin {
protected var _target:Object;
protected var _ignoreVisible:Boolean;
public static const API:Number = 1;
public function AutoAlphaPlugin(){
this.propName = "autoAlpha";
this.overwriteProps = ["alpha", "visible"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha");
return (true);
}
override public function killProps(_arg1:Object):void{
super.killProps(_arg1);
_ignoreVisible = Boolean(("visible" in _arg1));
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
if (!_ignoreVisible){
_target.visible = Boolean(!((_target.alpha == 0)));
};
}
}
}//package com.greensock.plugins
Section 81
//BevelFilterPlugin (com.greensock.plugins.BevelFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class BevelFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["distance", "angle", "highlightColor", "highlightAlpha", "shadowColor", "shadowAlpha", "blurX", "blurY", "strength", "quality"];
public function BevelFilterPlugin(){
this.propName = "bevelFilter";
this.overwriteProps = ["bevelFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = BevelFilter;
initFilter(_arg2, new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_arg2.quality) || (2))), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 82
//BezierPlugin (com.greensock.plugins.BezierPlugin)
package com.greensock.plugins {
import com.greensock.core.*;
import com.greensock.*;
public class BezierPlugin extends TweenPlugin {
protected var _target:Object;
protected var _orientData:Array;
protected var _orient:Boolean;
protected var _future:Object;
protected var _beziers:Object;
public static const API:Number = 1;
protected static const _RAD2DEG:Number = 57.2957795130823;
public function BezierPlugin(){
_future = {};
super();
this.propName = "bezier";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), false);
return (true);
}
protected function init(_arg1:TweenLite, _arg2:Array, _arg3:Boolean):void{
var _local6:int;
var _local7:String;
var _local8:Object;
_target = _arg1.target;
var _local4:Object = ((_arg1.vars.isTV)==true) ? _arg1.vars.exposedVars : _arg1.vars;
if (_local4.orientToBezier == true){
_orientData = [["x", "y", "rotation", 0, 0.01]];
_orient = true;
} else {
if ((_local4.orientToBezier is Array)){
_orientData = _local4.orientToBezier;
_orient = true;
};
};
var _local5:Object = {};
_local6 = 0;
while (_local6 < _arg2.length) {
for (_local7 in _arg2[_local6]) {
if (_local5[_local7] == undefined){
_local5[_local7] = [_arg1.target[_local7]];
};
if (typeof(_arg2[_local6][_local7]) == "number"){
_local5[_local7].push(_arg2[_local6][_local7]);
} else {
_local5[_local7].push((_arg1.target[_local7] + Number(_arg2[_local6][_local7])));
};
};
_local6++;
};
for (_local7 in _local5) {
this.overwriteProps[this.overwriteProps.length] = _local7;
if (_local4[_local7] != undefined){
if (typeof(_local4[_local7]) == "number"){
_local5[_local7].push(_local4[_local7]);
} else {
_local5[_local7].push((_arg1.target[_local7] + Number(_local4[_local7])));
};
_local8 = {};
_local8[_local7] = true;
_arg1.killVars(_local8, false);
delete _local4[_local7];
};
};
_beziers = parseBeziers(_local5, _arg3);
}
override public function killProps(_arg1:Object):void{
var _local2:String;
for (_local2 in _beziers) {
if ((_local2 in _arg1)){
delete _beziers[_local2];
};
};
super.killProps(_arg1);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:String;
var _local4:Object;
var _local5:Number;
var _local6:uint;
var _local7:Number;
var _local8:Object;
var _local9:Number;
var _local10:Number;
var _local11:Array;
var _local12:Number;
var _local13:Object;
var _local14:Boolean;
if (_arg1 == 1){
for (_local3 in _beziers) {
_local2 = (_beziers[_local3].length - 1);
_target[_local3] = _beziers[_local3][_local2][2];
};
} else {
for (_local3 in _beziers) {
_local6 = _beziers[_local3].length;
if (_arg1 < 0){
_local2 = 0;
} else {
if (_arg1 >= 1){
_local2 = (_local6 - 1);
} else {
_local2 = int((_local6 * _arg1));
};
};
_local5 = ((_arg1 - (_local2 * (1 / _local6))) * _local6);
_local4 = _beziers[_local3][_local2];
if (this.round){
_local7 = (_local4[0] + (_local5 * (((2 * (1 - _local5)) * (_local4[1] - _local4[0])) + (_local5 * (_local4[2] - _local4[0])))));
_target[_local3] = ((_local7)>0) ? int((_local7 + 0.5)) : int((_local7 - 0.5));
} else {
_target[_local3] = (_local4[0] + (_local5 * (((2 * (1 - _local5)) * (_local4[1] - _local4[0])) + (_local5 * (_local4[2] - _local4[0])))));
};
};
};
if (_orient){
_local2 = _orientData.length;
_local8 = {};
while (_local2--) {
_local11 = _orientData[_local2];
_local8[_local11[0]] = _target[_local11[0]];
_local8[_local11[1]] = _target[_local11[1]];
};
_local13 = _target;
_local14 = this.round;
_target = _future;
this.round = false;
_orient = false;
_local2 = _orientData.length;
while (_local2--) {
_local11 = _orientData[_local2];
this.changeFactor = (_arg1 + ((_local11[4]) || (0.01)));
_local12 = ((_local11[3]) || (0));
_local9 = (_future[_local11[0]] - _local8[_local11[0]]);
_local10 = (_future[_local11[1]] - _local8[_local11[1]]);
_local13[_local11[2]] = ((Math.atan2(_local10, _local9) * _RAD2DEG) + _local12);
};
_target = _local13;
this.round = _local14;
_orient = true;
};
}
public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{
var _local3:int;
var _local4:Array;
var _local5:Object;
var _local6:String;
var _local7:Object = {};
if (_arg2){
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 2){
_local5[_local5.length] = [_local4[0], (_local4[1] - ((_local4[2] - _local4[0]) / 4)), _local4[1]];
_local3 = 1;
while (_local3 < (_local4.length - 1)) {
_local5[_local5.length] = [_local4[_local3], (_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)][1])), _local4[(_local3 + 1)]];
_local3++;
};
} else {
_local5[_local5.length] = [_local4[0], ((_local4[0] + _local4[1]) / 2), _local4[1]];
};
};
} else {
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 3){
_local5[_local5.length] = [_local4[0], _local4[1], ((_local4[1] + _local4[2]) / 2)];
_local3 = 2;
while (_local3 < (_local4.length - 2)) {
_local5[_local5.length] = [_local5[(_local3 - 2)][2], _local4[_local3], ((_local4[_local3] + _local4[(_local3 + 1)]) / 2)];
_local3++;
};
_local5[_local5.length] = [_local5[(_local5.length - 1)][2], _local4[(_local4.length - 2)], _local4[(_local4.length - 1)]];
} else {
if (_local4.length == 3){
_local5[_local5.length] = [_local4[0], _local4[1], _local4[2]];
} else {
if (_local4.length == 2){
_local5[_local5.length] = [_local4[0], ((_local4[0] + _local4[1]) / 2), _local4[1]];
};
};
};
};
};
return (_local7);
}
}
}//package com.greensock.plugins
Section 83
//BezierThroughPlugin (com.greensock.plugins.BezierThroughPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class BezierThroughPlugin extends BezierPlugin {
public static const API:Number = 1;
public function BezierThroughPlugin(){
this.propName = "bezierThrough";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), true);
return (true);
}
}
}//package com.greensock.plugins
Section 84
//BlurFilterPlugin (com.greensock.plugins.BlurFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class BlurFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["blurX", "blurY", "quality"];
public function BlurFilterPlugin(){
this.propName = "blurFilter";
this.overwriteProps = ["blurFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = BlurFilter;
initFilter(_arg2, new BlurFilter(0, 0, ((_arg2.quality) || (2))), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 85
//ColorMatrixFilterPlugin (com.greensock.plugins.ColorMatrixFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class ColorMatrixFilterPlugin extends FilterPlugin {
protected var _matrix:Array;
protected var _matrixTween:EndArrayPlugin;
public static const API:Number = 1;
private static var _propNames:Array = [];
protected static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
protected static var _lumR:Number = 0.212671;
protected static var _lumG:Number = 0.71516;
protected static var _lumB:Number = 0.072169;
public function ColorMatrixFilterPlugin(){
this.propName = "colorMatrixFilter";
this.overwriteProps = ["colorMatrixFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = ColorMatrixFilter;
var _local4:Object = _arg2;
initFilter({remove:_arg2.remove, index:_arg2.index, addFilter:_arg2.addFilter}, new ColorMatrixFilter(_idMatrix.slice()), _propNames);
_matrix = ColorMatrixFilter(_filter).matrix;
var _local5:Array = [];
if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){
_local5 = _local4.matrix;
} else {
if (_local4.relative == true){
_local5 = _matrix.slice();
} else {
_local5 = _idMatrix.slice();
};
_local5 = setBrightness(_local5, _local4.brightness);
_local5 = setContrast(_local5, _local4.contrast);
_local5 = setHue(_local5, _local4.hue);
_local5 = setSaturation(_local5, _local4.saturation);
_local5 = setThreshold(_local5, _local4.threshold);
if (!isNaN(_local4.colorize)){
_local5 = colorize(_local5, _local4.colorize, _local4.amount);
};
};
_matrixTween = new EndArrayPlugin();
_matrixTween.init(_matrix, _local5);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
_matrixTween.changeFactor = _arg1;
ColorMatrixFilter(_filter).matrix = _matrix;
super.changeFactor = _arg1;
}
public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{
if (isNaN(_arg2)){
return (_arg1);
};
if (isNaN(_arg3)){
_arg3 = 1;
};
var _local4:Number = (((_arg2 >> 16) & 0xFF) / 0xFF);
var _local5:Number = (((_arg2 >> 8) & 0xFF) / 0xFF);
var _local6:Number = ((_arg2 & 0xFF) / 0xFF);
var _local7:Number = (1 - _arg3);
var _local8:Array = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local8, _arg1));
}
public static function setThreshold(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Array = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function setHue(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 * (Math.PI / 180));
var _local3:Number = Math.cos(_arg2);
var _local4:Number = Math.sin(_arg2);
var _local5:Array = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
return (applyMatrix(_local5, _arg1));
}
public static function setBrightness(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = ((_arg2 * 100) - 100);
return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1));
}
public static function setSaturation(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Number = (1 - _arg2);
var _local4:Number = (_local3 * _lumR);
var _local5:Number = (_local3 * _lumG);
var _local6:Number = (_local3 * _lumB);
var _local7:Array = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local7, _arg1));
}
public static function setContrast(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 + 0.01);
var _local3:Array = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function applyMatrix(_arg1:Array, _arg2:Array):Array{
var _local6:int;
var _local7:int;
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (_arg2);
};
var _local3:Array = [];
var _local4:int;
var _local5:int;
_local6 = 0;
while (_local6 < 4) {
_local7 = 0;
while (_local7 < 5) {
if (_local7 == 4){
_local5 = _arg1[(_local4 + 4)];
} else {
_local5 = 0;
};
_local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5);
_local7++;
};
_local4 = (_local4 + 5);
_local6++;
};
return (_local3);
}
}
}//package com.greensock.plugins
Section 86
//ColorTransformPlugin (com.greensock.plugins.ColorTransformPlugin)
package com.greensock.plugins {
import flash.display.*;
import flash.geom.*;
import com.greensock.*;
public class ColorTransformPlugin extends TintPlugin {
public static const API:Number = 1;
public function ColorTransformPlugin(){
this.propName = "colorTransform";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local5:String;
var _local6:Number;
if (!(_arg1 is DisplayObject)){
return (false);
};
var _local4:ColorTransform = _arg1.transform.colorTransform;
for (_local5 in _arg2) {
if ((((_local5 == "tint")) || ((_local5 == "color")))){
if (_arg2[_local5] != null){
_local4.color = int(_arg2[_local5]);
};
} else {
if ((((((_local5 == "tintAmount")) || ((_local5 == "exposure")))) || ((_local5 == "brightness")))){
} else {
_local4[_local5] = _arg2[_local5];
};
};
};
if (!isNaN(_arg2.tintAmount)){
_local6 = (_arg2.tintAmount / (1 - (((_local4.redMultiplier + _local4.greenMultiplier) + _local4.blueMultiplier) / 3)));
_local4.redOffset = (_local4.redOffset * _local6);
_local4.greenOffset = (_local4.greenOffset * _local6);
_local4.blueOffset = (_local4.blueOffset * _local6);
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = (1 - _arg2.tintAmount)));
} else {
if (!isNaN(_arg2.exposure)){
_local4.redOffset = (_local4.greenOffset = (_local4.blueOffset = (0xFF * (_arg2.exposure - 1))));
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = 1));
} else {
if (!isNaN(_arg2.brightness)){
_local4.redOffset = (_local4.greenOffset = (_local4.blueOffset = Math.max(0, ((_arg2.brightness - 1) * 0xFF))));
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = (1 - Math.abs((_arg2.brightness - 1)))));
};
};
};
_ignoreAlpha = Boolean(((!((_arg3.vars.alpha == undefined))) && ((_arg2.alphaMultiplier == undefined))));
init((_arg1 as DisplayObject), _local4);
return (true);
}
}
}//package com.greensock.plugins
Section 87
//DropShadowFilterPlugin (com.greensock.plugins.DropShadowFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class DropShadowFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["distance", "angle", "color", "alpha", "blurX", "blurY", "strength", "quality", "inner", "knockout", "hideObject"];
public function DropShadowFilterPlugin(){
this.propName = "dropShadowFilter";
this.overwriteProps = ["dropShadowFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = DropShadowFilter;
initFilter(_arg2, new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_arg2.quality) || (2)), _arg2.inner, _arg2.knockout, _arg2.hideObject), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 88
//EndArrayPlugin (com.greensock.plugins.EndArrayPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class EndArrayPlugin extends TweenPlugin {
protected var _a:Array;
protected var _info:Array;
public static const API:Number = 1;
public function EndArrayPlugin(){
_info = [];
super();
this.propName = "endArray";
this.overwriteProps = ["endArray"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (false);
};
init((_arg1 as Array), _arg2);
return (true);
}
public function init(_arg1:Array, _arg2:Array):void{
_a = _arg1;
var _local3:int = _arg2.length;
while (_local3--) {
if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){
_info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3]));
};
};
}
override public function set changeFactor(_arg1:Number):void{
var _local3:ArrayTweenInfo;
var _local4:Number;
var _local2:int = _info.length;
if (this.round){
while (_local2--) {
_local3 = _info[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_a[_local3.index] = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5));
};
} else {
while (_local2--) {
_local3 = _info[_local2];
_a[_local3.index] = (_local3.start + (_local3.change * _arg1));
};
};
}
}
}//package com.greensock.plugins
class ArrayTweenInfo {
public var index:uint;
public var start:Number;
public var change:Number;
private function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){
this.index = _arg1;
this.start = _arg2;
this.change = _arg3;
}
}
Section 89
//FilterPlugin (com.greensock.plugins.FilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.core.*;
import com.greensock.*;
import flash.filters.*;
public class FilterPlugin extends TweenPlugin {
protected var _target:Object;
protected var _type:Class;
protected var _filter:BitmapFilter;
protected var _index:int;
protected var _remove:Boolean;
public static const VERSION:Number = 2.03;
public static const API:Number = 1;
protected function initFilter(_arg1:Object, _arg2:BitmapFilter, _arg3:Array):void{
var _local5:String;
var _local6:int;
var _local7:HexColorsPlugin;
var _local4:Array = _target.filters;
var _local8:Object = ((_arg1 is BitmapFilter)) ? {} : _arg1;
_index = -1;
if (_local8.index != null){
_index = _local8.index;
} else {
_local6 = _local4.length;
while (_local6--) {
if ((_local4[_local6] is _type)){
_index = _local6;
break;
};
};
};
if ((((((_index == -1)) || ((_local4[_index] == null)))) || ((_local8.addFilter == true)))){
_index = ((_local8.index)!=null) ? _local8.index : _local4.length;
_local4[_index] = _arg2;
_target.filters = _local4;
};
_filter = _local4[_index];
if (_local8.remove == true){
_remove = true;
this.onComplete = onCompleteTween;
};
_local6 = _arg3.length;
while (_local6--) {
_local5 = _arg3[_local6];
if ((((_local5 in _arg1)) && (!((_filter[_local5] == _arg1[_local5]))))){
if ((((((_local5 == "color")) || ((_local5 == "highlightColor")))) || ((_local5 == "shadowColor")))){
_local7 = new HexColorsPlugin();
_local7.initColor(_filter, _local5, _filter[_local5], _arg1[_local5]);
_tweens[_tweens.length] = new PropTween(_local7, "changeFactor", 0, 1, _local5, false);
} else {
if ((((((((_local5 == "quality")) || ((_local5 == "inner")))) || ((_local5 == "knockout")))) || ((_local5 == "hideObject")))){
_filter[_local5] = _arg1[_local5];
} else {
addTween(_filter, _local5, _filter[_local5], _arg1[_local5], _local5);
};
};
};
};
}
public function onCompleteTween():void{
var _local1:Array;
var _local2:int;
if (_remove){
_local1 = _target.filters;
if (!(_local1[_index] is _type)){
_local2 = _local1.length;
while (_local2--) {
if ((_local1[_local2] is _type)){
_local1.splice(_local2, 1);
break;
};
};
} else {
_local1.splice(_index, 1);
};
_target.filters = _local1;
};
}
override public function set changeFactor(_arg1:Number):void{
var _local3:PropTween;
var _local2:int = _tweens.length;
var _local4:Array = _target.filters;
while (_local2--) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
if (!(_local4[_index] is _type)){
_local2 = (_index = _local4.length);
while (_local2--) {
if ((_local4[_local2] is _type)){
_index = _local2;
break;
};
};
};
_local4[_index] = _filter;
_target.filters = _local4;
}
}
}//package com.greensock.plugins
Section 90
//FrameLabelPlugin (com.greensock.plugins.FrameLabelPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class FrameLabelPlugin extends FramePlugin {
public static const API:Number = 1;
public function FrameLabelPlugin(){
this.propName = "frameLabel";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if ((!(_arg3.target) is MovieClip)){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
var _local4:Array = _target.currentLabels;
var _local5:String = _arg2;
var _local6:int = _target.currentFrame;
var _local7:int = _local4.length;
while (_local7--) {
if (_local4[_local7].name == _local5){
_local6 = _local4[_local7].frame;
break;
};
};
if (this.frame != _local6){
addTween(this, "frame", this.frame, _local6, "frame");
};
return (true);
}
}
}//package com.greensock.plugins
Section 91
//FramePlugin (com.greensock.plugins.FramePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class FramePlugin extends TweenPlugin {
public var frame:int;
protected var _target:MovieClip;
public static const API:Number = 1;
public function FramePlugin(){
this.propName = "frame";
this.overwriteProps = ["frame", "frameLabel"];
this.round = true;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
addTween(this, "frame", this.frame, _arg2, "frame");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.gotoAndStop(this.frame);
}
}
}//package com.greensock.plugins
Section 92
//GlowFilterPlugin (com.greensock.plugins.GlowFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class GlowFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["color", "alpha", "blurX", "blurY", "strength", "quality", "inner", "knockout"];
public function GlowFilterPlugin(){
this.propName = "glowFilter";
this.overwriteProps = ["glowFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = GlowFilter;
initFilter(_arg2, new GlowFilter(0xFFFFFF, 0, 0, 0, ((_arg2.strength) || (1)), ((_arg2.quality) || (2)), _arg2.inner, _arg2.knockout), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 93
//HexColorsPlugin (com.greensock.plugins.HexColorsPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class HexColorsPlugin extends TweenPlugin {
protected var _colors:Array;
public static const API:Number = 1;
public function HexColorsPlugin(){
this.propName = "hexColors";
this.overwriteProps = [];
_colors = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:String;
for (_local4 in _arg2) {
initColor(_arg1, _local4, uint(_arg1[_local4]), uint(_arg2[_local4]));
};
return (true);
}
public function initColor(_arg1:Object, _arg2:String, _arg3:uint, _arg4:uint):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
if (_arg3 != _arg4){
_local5 = (_arg3 >> 16);
_local6 = ((_arg3 >> 8) & 0xFF);
_local7 = (_arg3 & 0xFF);
_colors[_colors.length] = [_arg1, _arg2, _local5, ((_arg4 >> 16) - _local5), _local6, (((_arg4 >> 8) & 0xFF) - _local6), _local7, ((_arg4 & 0xFF) - _local7)];
this.overwriteProps[this.overwriteProps.length] = _arg2;
};
}
override public function killProps(_arg1:Object):void{
var _local2:int = (_colors.length - 1);
while (_local2 > -1) {
if (_arg1[_colors[_local2][1]] != undefined){
_colors.splice(_local2, 1);
};
_local2--;
};
super.killProps(_arg1);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:Array;
_local2 = (_colors.length - 1);
while (_local2 > -1) {
_local3 = _colors[_local2];
_local3[0][_local3[1]] = ((((_local3[2] + (_arg1 * _local3[3])) << 16) | ((_local3[4] + (_arg1 * _local3[5])) << 8)) | (_local3[6] + (_arg1 * _local3[7])));
_local2--;
};
}
}
}//package com.greensock.plugins
Section 94
//RemoveTintPlugin (com.greensock.plugins.RemoveTintPlugin)
package com.greensock.plugins {
public class RemoveTintPlugin extends TintPlugin {
public static const API:Number = 1;
public function RemoveTintPlugin(){
this.propName = "removeTint";
}
}
}//package com.greensock.plugins
Section 95
//RoundPropsPlugin (com.greensock.plugins.RoundPropsPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class RoundPropsPlugin extends TweenPlugin {
public static const API:Number = 1;
public function RoundPropsPlugin(){
this.propName = "roundProps";
this.overwriteProps = [];
this.round = true;
}
public function add(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number):void{
addTween(_arg1, _arg2, _arg3, (_arg3 + _arg4), _arg2);
this.overwriteProps[this.overwriteProps.length] = _arg2;
}
}
}//package com.greensock.plugins
Section 96
//ShortRotationPlugin (com.greensock.plugins.ShortRotationPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class ShortRotationPlugin extends TweenPlugin {
public static const API:Number = 1;
public function ShortRotationPlugin(){
this.propName = "shortRotation";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:String;
if (typeof(_arg2) == "number"){
return (false);
};
for (_local4 in _arg2) {
initRotation(_arg1, _local4, _arg1[_local4], ((typeof(_arg2[_local4]))=="number") ? Number(_arg2[_local4]) : (_arg1[_local4] + Number(_arg2[_local4])));
};
return (true);
}
public function initRotation(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number):void{
var _local5:Number = ((_arg4 - _arg3) % 360);
if (((_arg4 - _arg3) % 360) != (_local5 % 180)){
_local5 = ((_local5)<0) ? (_local5 + 360) : (_local5 - 360);
};
addTween(_arg1, _arg2, _arg3, (_arg3 + _local5), _arg2);
this.overwriteProps[this.overwriteProps.length] = _arg2;
}
}
}//package com.greensock.plugins
Section 97
//TintPlugin (com.greensock.plugins.TintPlugin)
package com.greensock.plugins {
import flash.display.*;
import flash.geom.*;
import com.greensock.core.*;
import com.greensock.*;
public class TintPlugin extends TweenPlugin {
protected var _transform:Transform;
protected var _ct:ColorTransform;
protected var _ignoreAlpha:Boolean;
public static const API:Number = 1;
protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"];
public function TintPlugin(){
this.propName = "tint";
this.overwriteProps = ["tint"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg1 is DisplayObject)){
return (false);
};
var _local4:ColorTransform = new ColorTransform();
if (((!((_arg2 == null))) && (!((_arg3.vars.removeTint == true))))){
_local4.color = uint(_arg2);
};
_ignoreAlpha = true;
init((_arg1 as DisplayObject), _local4);
return (true);
}
public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{
var _local4:String;
_transform = _arg1.transform;
_ct = _transform.colorTransform;
var _local3:int = _props.length;
while (_local3--) {
_local4 = _props[_local3];
if (_ct[_local4] != _arg2[_local4]){
_tweens[_tweens.length] = new PropTween(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false);
};
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:ColorTransform;
updateTweens(_arg1);
if (_ignoreAlpha){
_local2 = _transform.colorTransform;
_ct.alphaMultiplier = _local2.alphaMultiplier;
_ct.alphaOffset = _local2.alphaOffset;
};
_transform.colorTransform = _ct;
}
}
}//package com.greensock.plugins
Section 98
//TweenPlugin (com.greensock.plugins.TweenPlugin)
package com.greensock.plugins {
import com.greensock.core.*;
import com.greensock.*;
public class TweenPlugin {
public var propName:String;
public var overwriteProps:Array;
public var round:Boolean;
public var priority:int;// = 0
public var activeDisable:Boolean;
public var onComplete:Function;
public var onEnable:Function;
public var onDisable:Function;
protected var _tweens:Array;
protected var _changeFactor:Number;// = 0
public static const VERSION:Number = 1.31;
public static const API:Number = 1;
public function TweenPlugin(){
_tweens = [];
super();
}
public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName);
return (true);
}
protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{
var _local6:Number;
if (_arg4 != null){
_local6 = ((typeof(_arg4))=="number") ? (Number(_arg4) - _arg3) : Number(_arg4);
if (_local6 != 0){
_tweens[_tweens.length] = new PropTween(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false);
};
};
}
protected function updateTweens(_arg1:Number):void{
var _local3:PropTween;
var _local4:Number;
var _local2:int = _tweens.length;
if (this.round){
while (_local2--) {
_local3 = _tweens[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_local3.target[_local3.property] = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5));
};
} else {
while (_local2--) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
};
}
public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_changeFactor = _arg1;
}
public function get changeFactor():Number{
return (_changeFactor);
}
public function killProps(_arg1:Object):void{
var _local2:int = this.overwriteProps.length;
while (_local2--) {
if ((this.overwriteProps[_local2] in _arg1)){
this.overwriteProps.splice(_local2, 1);
};
};
_local2 = _tweens.length;
while (_local2--) {
if ((PropTween(_tweens[_local2]).name in _arg1)){
_tweens.splice(_local2, 1);
};
};
}
private static function onTweenEvent(_arg1:String, _arg2:TweenLite):Boolean{
var _local4:Boolean;
var _local5:Array;
var _local6:int;
var _local3:PropTween = _arg2.cachedPT1;
if (_arg1 == "onInit"){
_local5 = [];
while (_local3) {
_local5[_local5.length] = _local3;
_local3 = _local3.nextNode;
};
_local5.sortOn("priority", (Array.NUMERIC | Array.DESCENDING));
_local6 = _local5.length;
while (_local6--) {
PropTween(_local5[_local6]).nextNode = _local5[(_local6 + 1)];
PropTween(_local5[_local6]).prevNode = _local5[(_local6 - 1)];
};
_arg2.cachedPT1 = _local5[0];
} else {
while (_local3) {
if (((_local3.isPlugin) && (_local3.target[_arg1]))){
if (_local3.target.activeDisable){
_local4 = true;
};
var _local7 = _local3.target;
_local7[_arg1]();
};
_local3 = _local3.nextNode;
};
};
return (_local4);
}
public static function activate(_arg1:Array):Boolean{
var _local3:Object;
TweenLite.onPluginEvent = TweenPlugin.onTweenEvent;
var _local2:int = _arg1.length;
while (_local2--) {
if (_arg1[_local2].hasOwnProperty("API")){
_local3 = new ((_arg1[_local2] as Class));
TweenLite.plugins[_local3.propName] = _arg1[_local2];
};
};
return (true);
}
}
}//package com.greensock.plugins
Section 99
//VisiblePlugin (com.greensock.plugins.VisiblePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class VisiblePlugin extends TweenPlugin {
protected var _target:Object;
protected var _tween:TweenLite;
protected var _visible:Boolean;
protected var _initVal:Boolean;
public static const API:Number = 1;
public function VisiblePlugin(){
this.propName = "visible";
this.overwriteProps = ["visible"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_tween = _arg3;
_initVal = _target.visible;
_visible = Boolean(_arg2);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
if ((((_arg1 == 1)) && ((((_tween.cachedDuration == _tween.cachedTime)) || ((_tween.cachedTime == 0)))))){
_target.visible = _visible;
} else {
_target.visible = _initVal;
};
}
}
}//package com.greensock.plugins
Section 100
//VolumePlugin (com.greensock.plugins.VolumePlugin)
package com.greensock.plugins {
import flash.display.*;
import flash.media.*;
import com.greensock.*;
public class VolumePlugin extends TweenPlugin {
protected var _target:Object;
protected var _st:SoundTransform;
public static const API:Number = 1;
public function VolumePlugin(){
this.propName = "volume";
this.overwriteProps = ["volume"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){
return (false);
};
_target = _arg1;
_st = _target.soundTransform;
addTween(_st, "volume", _st.volume, _arg2, "volume");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.soundTransform = _st;
}
}
}//package com.greensock.plugins
Section 101
//OverwriteManager (com.greensock.OverwriteManager)
package com.greensock {
import flash.utils.*;
import com.greensock.core.*;
import flash.errors.*;
public class OverwriteManager {
public static const version:Number = 6.02;
public static const NONE:int = 0;
public static const ALL_IMMEDIATE:int = 1;
public static const AUTO:int = 2;
public static const CONCURRENT:int = 3;
public static const ALL_ONSTART:int = 4;
public static const PREEXISTING:int = 5;
public static var mode:int;
public static var enabled:Boolean;
public static function init(_arg1:int=2):int{
if (TweenLite.version < 11.1){
throw (new Error("Warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com."));
};
TweenLite.overwriteManager = OverwriteManager;
mode = _arg1;
enabled = true;
return (mode);
}
public static function manageOverwrites(_arg1:TweenLite, _arg2:Object, _arg3:Array, _arg4:uint):Boolean{
var _local5:int;
var _local6:Boolean;
var _local7:TweenLite;
var _local13:uint;
var _local14:Number;
var _local15:Number;
var _local16:TweenCore;
var _local17:Number;
var _local18:SimpleTimeline;
if (_arg4 >= 4){
_local13 = _arg3.length;
_local5 = 0;
while (_local5 < _local13) {
_local7 = _arg3[_local5];
if (_local7 != _arg1){
if (_local7.setEnabled(false, false)){
_local6 = true;
};
} else {
if (_arg4 == 5){
break;
};
};
_local5++;
};
return (_local6);
};
var _local8:Number = (_arg1.cachedStartTime + 1E-10);
var _local9:Array = [];
var _local10:Array = [];
var _local11:uint;
var _local12:uint;
_local5 = _arg3.length;
while (--_local5 > -1) {
_local7 = _arg3[_local5];
if ((((_local7 == _arg1)) || (_local7.gc))){
} else {
if (_local7.timeline != _arg1.timeline){
if (!getGlobalPaused(_local7)){
var _temp1 = _local11;
_local11 = (_local11 + 1);
var _local19 = _temp1;
_local10[_local19] = _local7;
};
} else {
if ((((((_local7.cachedStartTime <= _local8)) && ((((_local7.cachedStartTime + _local7.totalDuration) + 1E-10) > _local8)))) && (!(getGlobalPaused(_local7))))){
var _temp2 = _local12;
_local12 = (_local12 + 1);
_local19 = _temp2;
_local9[_local19] = _local7;
};
};
};
};
if (_local11 != 0){
_local14 = _arg1.cachedTimeScale;
_local15 = _local8;
_local18 = _arg1.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.cachedStartTime);
_local18 = _local18.timeline;
};
_local8 = (_local14 * _local15);
_local5 = _local11;
while (--_local5 > -1) {
_local16 = _local10[_local5];
_local14 = _local16.cachedTimeScale;
_local15 = _local16.cachedStartTime;
_local18 = _local16.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.cachedStartTime);
_local18 = _local18.timeline;
};
_local17 = (_local14 * _local15);
if ((((_local17 <= _local8)) && ((((((_local17 + (_local16.totalDuration * _local14)) + 1E-10) > _local8)) || ((_local16.cachedDuration == 0)))))){
var _temp3 = _local12;
_local12 = (_local12 + 1);
_local19 = _temp3;
_local9[_local19] = _local16;
};
};
};
if (_local12 == 0){
return (_local6);
};
_local5 = _local12;
if (_arg4 == 2){
while (--_local5 > -1) {
_local7 = _local9[_local5];
if (_local7.killVars(_arg2)){
_local6 = true;
};
if ((((_local7.cachedPT1 == null)) && (_local7.initted))){
_local7.setEnabled(false, false);
};
};
} else {
while (--_local5 > -1) {
if (TweenLite(_local9[_local5]).setEnabled(false, false)){
_local6 = true;
};
};
};
return (_local6);
}
public static function getGlobalPaused(_arg1:TweenCore):Boolean{
while (_arg1) {
if (_arg1.cachedPaused){
return (true);
};
_arg1 = _arg1.timeline;
};
return (false);
}
}
}//package com.greensock
Section 102
//TweenLite (com.greensock.TweenLite)
package com.greensock {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import com.greensock.core.*;
import com.greensock.plugins.*;
public class TweenLite extends TweenCore {
public var target:Object;
public var propTweenLookup:Object;
public var ratio:Number;// = 0
public var cachedPT1:PropTween;
protected var _ease:Function;
protected var _overwrite:uint;
protected var _overwrittenProps:Object;
protected var _hasPlugins:Boolean;
protected var _notifyPluginsOfEnabled:Boolean;
public static const version:Number = 11.36;
public static var plugins:Object = {};
public static var fastEaseLookup:Dictionary = new Dictionary(false);
public static var onPluginEvent:Function;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public static var defaultEase:Function = TweenLite.easeOut;
public static var overwriteManager:Object;
public static var rootFrame:Number;
public static var rootTimeline:SimpleTimeline;
public static var rootFramesTimeline:SimpleTimeline;
public static var masterList:Dictionary = new Dictionary(false);
private static var _shape:Shape = new Shape();
protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, onInit:1, onInitParams:1, onReverseComplete:1, onReverseCompleteParams:1, onRepeat:1, onRepeatParams:1, proxiedEase:1, easeParams:1, yoyo:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, onReverseCompleteListener:1, onRepeatListener:1, orientToBezier:1, timeScale:1, immediateRender:1, repeat:1, repeatDelay:1, timeline:1, data:1, paused:1};
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local5:TweenLite;
super(_arg2, _arg3);
this.target = _arg1;
if ((((this.target is TweenCore)) && (this.vars.timeScale))){
this.cachedTimeScale = 1;
};
propTweenLookup = {};
_ease = defaultEase;
_overwrite = (((!((Number(_arg3.overwrite) > -1))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
var _local4:Array = masterList[_arg1];
if (!_local4){
masterList[_arg1] = [this];
} else {
if (_overwrite == 1){
for each (_local5 in _local4) {
if (!_local5.gc){
_local5.setEnabled(false, false);
};
};
masterList[_arg1] = [this];
} else {
_local4[_local4.length] = this;
};
};
if (((this.active) || (this.vars.immediateRender))){
renderTime(0, false, true);
};
}
protected function init():void{
var _local1:String;
var _local2:int;
var _local3:*;
var _local4:Boolean;
var _local5:Array;
var _local6:PropTween;
if (this.vars.onInit){
this.vars.onInit.apply(null, this.vars.onInitParams);
};
if (typeof(this.vars.ease) == "function"){
_ease = this.vars.ease;
};
if (this.vars.easeParams){
this.vars.proxiedEase = _ease;
_ease = easeProxy;
};
this.cachedPT1 = null;
this.propTweenLookup = {};
for (_local1 in this.vars) {
if ((((_local1 in _reservedProps)) && (!((((_local1 == "timeScale")) && ((this.target is TweenCore))))))){
} else {
if ((((_local1 in plugins)) && (new ((plugins[_local1] as Class)).onInitTween(this.target, this.vars[_local1], this)))){
this.cachedPT1 = new PropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1);
if (this.cachedPT1.name == "_MULTIPLE_"){
_local2 = _local3.overwriteProps.length;
while (--_local2 > -1) {
this.propTweenLookup[_local3.overwriteProps[_local2]] = this.cachedPT1;
};
} else {
this.propTweenLookup[this.cachedPT1.name] = this.cachedPT1;
};
if (_local3.priority){
this.cachedPT1.priority = _local3.priority;
_local4 = true;
};
if (((_local3.onDisable) || (_local3.onEnable))){
_notifyPluginsOfEnabled = true;
};
_hasPlugins = true;
} else {
this.cachedPT1 = new PropTween(this.target, _local1, Number(this.target[_local1]), ((typeof(this.vars[_local1]))=="number") ? (Number(this.vars[_local1]) - this.target[_local1]) : Number(this.vars[_local1]), _local1, false, this.cachedPT1);
this.propTweenLookup[_local1] = this.cachedPT1;
};
};
};
if (_local4){
onPluginEvent("onInit", this);
};
if (this.vars.runBackwards){
_local6 = this.cachedPT1;
while (_local6) {
_local6.start = (_local6.start + _local6.change);
_local6.change = -(_local6.change);
_local6 = _local6.nextNode;
};
};
_hasUpdate = Boolean(!((this.vars.onUpdate == null)));
if (_overwrittenProps){
killVars(_overwrittenProps);
if (this.cachedPT1 == null){
this.setEnabled(false, false);
};
};
if ((((((((_overwrite > 1)) && (this.cachedPT1))) && (masterList[this.target]))) && ((_local5.length > 1)))){
if (overwriteManager.manageOverwrites(this, this.propTweenLookup, _local5, _overwrite)){
init();
};
};
this.initted = true;
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Boolean;
var _local5:Number = this.cachedTime;
if (_arg1 >= this.cachedDuration){
this.cachedTotalTime = (this.cachedTime = this.cachedDuration);
this.ratio = 1;
_local4 = true;
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime > 0){
_arg3 = true;
_local4 = true;
};
_rawPrevTime = _arg1;
};
};
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local4 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
this.ratio = _ease(_arg1, 0, 1, this.cachedDuration);
};
};
if ((((this.cachedTime == _local5)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
if (((!(_local4)) && (this.cachedTime))){
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
var _local6:PropTween = this.cachedPT1;
while (_local6) {
_local6.target[_local6.property] = (_local6.start + (this.ratio * _local6.change));
_local6 = _local6.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local4){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
};
}
public function killVars(_arg1:Object, _arg2:Boolean=true):Boolean{
var _local3:String;
var _local4:PropTween;
var _local5:Boolean;
if (_overwrittenProps == null){
_overwrittenProps = {};
};
for (_local3 in _arg1) {
if ((_local3 in propTweenLookup)){
_local4 = propTweenLookup[_local3];
if (((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))){
_local4.target.killProps(_arg1);
if (_local4.target.overwriteProps.length == 0){
_local4.name = "";
};
};
if (_local4.name != "_MULTIPLE_"){
if (_local4.nextNode){
_local4.nextNode.prevNode = _local4.prevNode;
};
if (_local4.prevNode){
_local4.prevNode.nextNode = _local4.nextNode;
} else {
if (this.cachedPT1 == _local4){
this.cachedPT1 = _local4.nextNode;
};
};
if (((_local4.isPlugin) && (_local4.target.onDisable))){
_local4.target.onDisable();
if (_local4.target.activeDisable){
_local5 = true;
};
};
delete propTweenLookup[_local3];
};
};
if (((_arg2) && (!((_arg1 == _overwrittenProps))))){
_overwrittenProps[_local3] = 1;
};
};
return (_local5);
}
override public function invalidate():void{
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
onPluginEvent("onDisable", this);
};
this.cachedPT1 = null;
_overwrittenProps = null;
_hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false)));
this.propTweenLookup = {};
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:Array;
if (_arg1){
_local3 = TweenLite.masterList[this.target];
if (!_local3){
TweenLite.masterList[this.target] = [this];
} else {
_local3[_local3.length] = this;
};
};
super.setEnabled(_arg1, _arg2);
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this));
};
return (false);
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public static function initClass():void{
rootFrame = 0;
rootTimeline = new SimpleTimeline(null);
rootFramesTimeline = new SimpleTimeline(null);
rootTimeline.cachedStartTime = (getTimer() * 0.001);
rootFramesTimeline.cachedStartTime = rootFrame;
rootTimeline.autoRemoveChildren = true;
rootFramesTimeline.autoRemoveChildren = true;
_shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
protected static function updateAll(_arg1:Event=null):void{
var _local2:Dictionary;
var _local3:Object;
var _local4:Array;
var _local5:int;
rootTimeline.renderTime((((getTimer() * 0.001) - rootTimeline.cachedStartTime) * rootTimeline.cachedTimeScale), false, false);
rootFrame++;
rootFramesTimeline.renderTime(((rootFrame - rootFramesTimeline.cachedStartTime) * rootFramesTimeline.cachedTimeScale), false, false);
if (!(rootFrame % 60)){
_local2 = masterList;
for (_local3 in _local2) {
_local4 = _local2[_local3];
_local5 = _local4.length;
while (--_local5 > -1) {
if (TweenLite(_local4[_local5]).gc){
_local4.splice(_local5, 1);
};
};
if (_local4.length == 0){
delete _local2[_local3];
};
};
};
}
public static function killTweensOf(_arg1:Object, _arg2:Boolean=false, _arg3:Object=null):void{
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
if ((_arg1 in masterList)){
_local4 = masterList[_arg1];
_local5 = _local4.length;
while (--_local5 > -1) {
_local6 = _local4[_local5];
if (!_local6.gc){
if (_arg2){
_local6.complete(false, false);
};
if (_arg3 != null){
_local6.killVars(_arg3);
};
if ((((_arg3 == null)) || ((((_local6.cachedPT1 == null)) && (_local6.initted))))){
_local6.setEnabled(false, false);
};
};
};
if (_arg3 == null){
delete masterList[_arg1];
};
};
}
protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (1 - (_arg1 / _arg4));
return ((1 - (_arg1 * _arg1)));
}
}
}//package com.greensock
Section 103
//TweenMax (com.greensock.TweenMax)
package com.greensock {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import com.greensock.core.*;
import com.greensock.plugins.*;
import com.greensock.events.*;
public class TweenMax extends TweenLite implements IEventDispatcher {
protected var _dispatcher:EventDispatcher;
protected var _hasUpdateListener:Boolean;
protected var _repeat:int;// = 0
protected var _repeatDelay:Number;// = 0
protected var _cyclesComplete:uint;// = 0
protected var _easePower:uint;
protected var _easeType:uint;
public var yoyo:Boolean;
public static const version:Number = 11.36;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(2);
;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
super(_arg1, _arg2, _arg3);
if (TweenLite.version < 11.2){
throw (new Error("TweenMax error! Please update your TweenLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com."));
};
this.yoyo = Boolean(this.vars.yoyo);
_repeat = (this.vars.repeat) ? int(this.vars.repeat) : 0;
_repeatDelay = (this.vars.repeatDelay) ? Number(this.vars.repeatDelay) : 0;
this.cacheIsDirty = true;
if (((((((((((this.vars.onCompleteListener) || (this.vars.onInitListener))) || (this.vars.onUpdateListener))) || (this.vars.onStartListener))) || (this.vars.onRepeatListener))) || (this.vars.onReverseCompleteListener))){
initDispatcher();
if ((((_arg2 == 0)) && ((_delay == 0)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
};
};
if (((this.vars.timeScale) && (!((this.target is TweenCore))))){
this.cachedTimeScale = this.vars.timeScale;
};
}
override protected function init():void{
var _local1:TweenMax;
var _local2:int;
var _local3:String;
var _local4:String;
var _local5:Array;
var _local6:Object;
var _local7:PropTween;
var _local8:PropTween;
var _local9:int;
if (this.vars.startAt){
this.vars.startAt.overwrite = 0;
this.vars.startAt.immediateRender = true;
_local1 = new TweenMax(this.target, 0, this.vars.startAt);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.INIT));
};
super.init();
if ((_ease in fastEaseLookup)){
_easeType = fastEaseLookup[_ease][0];
_easePower = fastEaseLookup[_ease][1];
};
if (((!((this.vars.roundProps == null))) && (("roundProps" in TweenLite.plugins)))){
_local5 = this.vars.roundProps;
_local9 = _local5.length;
while (--_local9 > -1) {
_local3 = _local5[_local9];
_local8 = this.cachedPT1;
while (_local8) {
if (_local8.name == _local3){
if (_local8.isPlugin){
_local8.target.round = true;
} else {
if (_local6 == null){
_local6 = new TweenLite.plugins.roundProps();
_local6.add(_local8.target, _local3, _local8.start, _local8.change);
_hasPlugins = true;
_local7 = insertPropTween(_local6, "changeFactor", 0, 1, "_MULTIPLE_", true, this.cachedPT1);
this.cachedPT1 = _local7;
} else {
_local6.add(_local8.target, _local3, _local8.start, _local8.change);
};
this.removePropTween(_local8);
this.propTweenLookup[_local3] = _local7;
};
} else {
if (((((_local8.isPlugin) && ((_local8.name == "_MULTIPLE_")))) && (!(_local8.target.round)))){
_local4 = ((" " + _local8.target.overwriteProps.join(" ")) + " ");
if (_local4.indexOf(((" " + _local3) + " ")) != -1){
_local8.target.round = true;
};
};
};
_local8 = _local8.nextNode;
};
};
};
}
protected function insertPropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String, _arg6:Boolean, _arg7:PropTween):PropTween{
var _local9:Array;
var _local10:int;
var _local8:PropTween = new PropTween(_arg1, _arg2, _arg3, ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4), _arg5, _arg6, _arg7);
if (((_arg6) && ((_arg5 == "_MULTIPLE_")))){
_local9 = _arg1.overwriteProps;
_local10 = _local9.length;
while (--_local10 > -1) {
this.propTweenLookup[_local9[_local10]] = _local8;
};
} else {
this.propTweenLookup[_arg5] = _local8;
};
return (_local8);
}
protected function removePropTween(_arg1:PropTween):Boolean{
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (this.cachedPT1 == _arg1){
this.cachedPT1 = _arg1.nextNode;
};
};
if (((_arg1.isPlugin) && (_arg1.target.onDisable))){
_arg1.target.onDisable();
if (_arg1.target.activeDisable){
return (true);
};
};
return (false);
}
override public function invalidate():void{
this.yoyo = Boolean((this.vars.yoyo == true));
_repeat = (this.vars.repeat) ? Number(this.vars.repeat) : 0;
_repeatDelay = (this.vars.repeatDelay) ? Number(this.vars.repeatDelay) : 0;
_hasUpdateListener = false;
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
initDispatcher();
};
setDirtyCache(true);
super.invalidate();
}
public function updateTo(_arg1:Object, _arg2:Boolean=false):void{
var _local4:String;
var _local5:Number;
var _local6:PropTween;
var _local7:Number;
var _local3:Number = this.ratio;
if (((((_arg2) && (!((this.timeline == null))))) && ((this.cachedStartTime < this.timeline.cachedTime)))){
this.cachedStartTime = this.timeline.cachedTime;
this.setDirtyCache(false);
if (this.gc){
this.setEnabled(true, false);
} else {
this.timeline.addChild(this);
};
};
for (_local4 in _arg1) {
this.vars[_local4] = _arg1[_local4];
};
if (this.initted){
this.initted = false;
if (!_arg2){
init();
if (((((!(_arg2)) && ((this.cachedTime > 0)))) && ((this.cachedTime < this.cachedDuration)))){
_local5 = (1 / (1 - _local3));
_local6 = this.cachedPT1;
while (_local6) {
_local7 = (_local6.start + _local6.change);
_local6.change = (_local6.change * _local5);
_local6.start = (_local7 - _local6.change);
_local6 = _local6.nextNode;
};
};
};
};
}
public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{
var _local4:Object = {};
_local4[_arg1] = _arg2;
updateTo(_local4, !(_arg3));
}
public function killProperties(_arg1:Array):void{
var _local2:Object = {};
var _local3:int = _arg1.length;
while (--_local3 > -1) {
_local2[_arg1[_local3]] = true;
};
killVars(_local2);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local6:Boolean;
var _local7:Boolean;
var _local8:Boolean;
var _local10:Number;
var _local11:int;
var _local12:Number;
var _local4:Number = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
var _local5:Number = this.cachedTime;
if (_arg1 >= _local4){
this.cachedTotalTime = _local4;
this.cachedTime = this.cachedDuration;
this.ratio = 1;
_local6 = true;
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime > 0){
_arg3 = true;
_local6 = true;
};
_rawPrevTime = _arg1;
};
};
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local6 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
_local8 = true;
};
};
if (_repeat != 0){
_local10 = (this.cachedDuration + _repeatDelay);
if (_local6){
if (((this.yoyo) && ((_repeat % 2)))){
this.cachedTime = (this.ratio = 0);
};
} else {
if (_arg1 > 0){
if (_cyclesComplete != (_cyclesComplete = int((this.cachedTotalTime / _local10)))){
_local7 = true;
};
this.cachedTime = (((this.cachedTotalTime / _local10) - _cyclesComplete) * _local10);
if (((this.yoyo) && ((_cyclesComplete % 2)))){
this.cachedTime = (this.cachedDuration - this.cachedTime);
} else {
if (this.cachedTime >= this.cachedDuration){
this.cachedTime = this.cachedDuration;
this.ratio = 1;
_local8 = false;
};
};
if (this.cachedTime <= 0){
this.cachedTime = (this.ratio = 0);
_local8 = false;
};
};
};
};
if ((((_local5 == this.cachedTime)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if (_local8){
if (_easeType){
_local11 = _easePower;
_local12 = (this.cachedTime / this.cachedDuration);
if (_easeType == 2){
_local12 = (1 - _local12);
this.ratio = _local12;
while (--_local11 > -1) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (1 - this.ratio);
} else {
if (_easeType == 1){
this.ratio = _local12;
while (--_local11 > -1) {
this.ratio = (_local12 * this.ratio);
};
} else {
if (_local12 < 0.5){
_local12 = (_local12 * 2);
this.ratio = _local12;
while (--_local11 > -1) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (this.ratio * 0.5);
} else {
_local12 = ((1 - _local12) * 2);
this.ratio = _local12;
while (--_local11 > -1) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (1 - (0.5 * this.ratio));
};
};
};
} else {
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if ((((((_local5 == 0)) && (!((this.cachedTotalTime == 0))))) && (!(_arg2)))){
if (this.vars.onStart){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
};
};
var _local9:PropTween = this.cachedPT1;
while (_local9) {
_local9.target[_local9.property] = (_local9.start + (this.ratio * _local9.change));
_local9 = _local9.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((_hasUpdateListener) && (!(_arg2)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
};
if (_local6){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
} else {
if (((_local7) && (!(_arg2)))){
if (this.vars.onRepeat){
this.vars.onRepeat.apply(null, this.vars.onRepeatParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REPEAT));
};
};
};
}
override public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
super.complete(_arg1, _arg2);
if (((!(_arg2)) && (_dispatcher))){
if ((((this.cachedTotalTime == this.cachedTotalDuration)) && (!(this.cachedReversed)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
} else {
if (((this.cachedReversed) && ((this.cachedTotalTime == 0)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REVERSE_COMPLETE));
};
};
};
}
protected function initDispatcher():void{
if (_dispatcher == null){
_dispatcher = new EventDispatcher(this);
};
if ((this.vars.onInitListener is Function)){
_dispatcher.addEventListener(TweenEvent.INIT, this.vars.onInitListener, false, 0, true);
};
if ((this.vars.onStartListener is Function)){
_dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true);
};
if ((this.vars.onUpdateListener is Function)){
_dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true);
_hasUpdateListener = true;
};
if ((this.vars.onCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
};
if ((this.vars.onRepeatListener is Function)){
_dispatcher.addEventListener(TweenEvent.REPEAT, this.vars.onRepeatListener, false, 0, true);
};
if ((this.vars.onReverseCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.REVERSE_COMPLETE, this.vars.onReverseCompleteListener, false, 0, true);
};
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (_dispatcher == null){
initDispatcher();
};
if (_arg1 == TweenEvent.UPDATE){
_hasUpdateListener = true;
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher){
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
};
}
public function hasEventListener(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.hasEventListener(_arg1));
}
public function willTrigger(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.willTrigger(_arg1));
}
public function dispatchEvent(_arg1:Event):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.dispatchEvent(_arg1));
}
public function get currentProgress():Number{
return ((this.cachedTime / this.duration));
}
public function set currentProgress(_arg1:Number):void{
if (_cyclesComplete == 0){
setTotalTime((this.duration * _arg1), false);
} else {
setTotalTime(((this.duration * _arg1) + (_cyclesComplete * this.cachedDuration)), false);
};
}
public function get totalProgress():Number{
return ((this.cachedTotalTime / this.totalDuration));
}
public function set totalProgress(_arg1:Number):void{
setTotalTime((this.totalDuration * _arg1), false);
}
override public function set currentTime(_arg1:Number):void{
if (_cyclesComplete == 0){
} else {
if (((this.yoyo) && (((_cyclesComplete % 2) == 1)))){
_arg1 = ((this.duration - _arg1) + (_cyclesComplete * (this.cachedDuration + _repeatDelay)));
} else {
_arg1 = (_arg1 + (_cyclesComplete * (this.duration + _repeatDelay)));
};
};
setTotalTime(_arg1, false);
}
override public function get totalDuration():Number{
if (this.cacheIsDirty){
this.cachedTotalDuration = ((_repeat)==-1) ? 999999999999 : ((this.cachedDuration * (_repeat + 1)) + (_repeatDelay * _repeat));
this.cacheIsDirty = false;
};
return (this.cachedTotalDuration);
}
override public function set totalDuration(_arg1:Number):void{
if (_repeat == -1){
return;
};
this.duration = ((_arg1 - (_repeat * _repeatDelay)) / (_repeat + 1));
}
public function get timeScale():Number{
return (this.cachedTimeScale);
}
public function set timeScale(_arg1:Number):void{
if (_arg1 == 0){
_arg1 = 0.0001;
};
var _local2:Number = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1));
this.cachedTimeScale = _arg1;
setDirtyCache(false);
}
public function get repeat():int{
return (_repeat);
}
public function set repeat(_arg1:int):void{
_repeat = _arg1;
setDirtyCache(true);
}
public function get repeatDelay():Number{
return (_repeatDelay);
}
public function set repeatDelay(_arg1:Number):void{
_repeatDelay = _arg1;
setDirtyCache(true);
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function fromTo(_arg1:Object, _arg2:Number, _arg3:Object, _arg4:Object):TweenMax{
_arg4.startAt = _arg3;
if (_arg3.immediateRender){
_arg4.immediateRender = true;
};
return (new TweenMax(_arg1, _arg2, _arg4));
}
public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{
var i:int;
var varsDup:Object;
var p:String;
var onCompleteProxy:Function;
var onCompleteParamsProxy:Array;
var targets = _arg1;
var duration = _arg2;
var vars = _arg3;
var stagger = _arg4;
var onCompleteAll = _arg5;
var onCompleteAllParams = _arg6;
var l:uint = targets.length;
var a:Array = [];
var curDelay:Number = (("delay" in vars)) ? Number(vars.delay) : 0;
onCompleteProxy = vars.onComplete;
onCompleteParamsProxy = vars.onCompleteParams;
var lastIndex:int = ((stagger)<=0) ? 0 : (l - 1);
i = 0;
while (i < l) {
varsDup = {};
for (p in vars) {
varsDup[p] = vars[p];
};
varsDup.delay = curDelay;
if ((((i == lastIndex)) && (!((onCompleteAll == null))))){
varsDup.onComplete = function ():void{
if (onCompleteProxy != null){
onCompleteProxy.apply(null, onCompleteParamsProxy);
};
onCompleteAll.apply(null, onCompleteAllParams);
};
};
a[a.length] = new TweenMax(targets[i], duration, varsDup);
curDelay = (curDelay + stagger);
i = (i + 1);
};
return (a);
}
public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (allTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6));
}
public static function allFromTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Object, _arg5:Number=0, _arg6:Function=null, _arg7:Array=null):Array{
_arg4.startAt = _arg3;
if (_arg3.immediateRender){
_arg4.immediateRender = true;
};
return (allTo(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7));
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenMax{
return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
public static function getTweensOf(_arg1:Object):Array{
var _local4:int;
var _local5:uint;
var _local2:Array = masterList[_arg1];
var _local3:Array = [];
if (_local2){
_local4 = _local2.length;
_local5 = 0;
while (--_local4 > -1) {
if (!_local2[_local4].gc){
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local6 = _temp1;
_local3[_local6] = _local2[_local4];
};
};
};
return (_local3);
}
public static function isTweening(_arg1:Object):Boolean{
var _local4:TweenLite;
var _local2:Array = getTweensOf(_arg1);
var _local3:int = _local2.length;
while (--_local3 > -1) {
_local4 = _local2[_local3];
if (((_local4.active) || ((((_local4.cachedStartTime == _local4.timeline.cachedTime)) && (_local4.timeline.active))))){
return (true);
};
};
return (false);
}
public static function getAllTweens():Array{
var _local4:Array;
var _local5:int;
var _local1:Dictionary = masterList;
var _local2:uint;
var _local3:Array = [];
for each (_local4 in _local1) {
_local5 = _local4.length;
while (--_local5 > -1) {
if (!TweenLite(_local4[_local5]).gc){
var _temp1 = _local2;
_local2 = (_local2 + 1);
var _local8 = _temp1;
_local3[_local8] = _local4[_local5];
};
};
};
return (_local3);
}
public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{
var _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = _local4.length;
while (--_local6 > -1) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
if (_arg1){
_local4[_local6].complete(false);
} else {
_local4[_local6].setEnabled(false, false);
};
};
};
}
public static function killChildTweensOf(_arg1:DisplayObjectContainer, _arg2:Boolean=false):void{
var _local4:Object;
var _local5:DisplayObjectContainer;
var _local3:Array = getAllTweens();
var _local6:int = _local3.length;
while (--_local6 > -1) {
_local4 = _local3[_local6].target;
if ((_local4 is DisplayObject)){
_local5 = _local4.parent;
while (_local5) {
if (_local5 == _arg1){
if (_arg2){
_local3[_local6].complete(false);
} else {
_local3[_local6].setEnabled(false, false);
};
};
_local5 = _local5.parent;
};
};
};
}
public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=true):void{
changePause(true, _arg1, _arg2);
}
public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=true):void{
changePause(false, _arg1, _arg2);
}
private static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{
var _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = _local4.length;
while (--_local6 > -1) {
_local5 = (TweenLite(_local4[_local6]).target == TweenLite(_local4[_local6]).vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
TweenCore(_local4[_local6]).paused = _arg1;
};
};
}
public static function get globalTimeScale():Number{
return (((TweenLite.rootTimeline)==null) ? 1 : TweenLite.rootTimeline.cachedTimeScale);
}
public static function set globalTimeScale(_arg1:Number):void{
if (_arg1 == 0){
_arg1 = 0.0001;
};
if (TweenLite.rootTimeline == null){
TweenLite.to({}, 0, {});
};
var _local2:SimpleTimeline = TweenLite.rootTimeline;
var _local3:Number = (getTimer() * 0.001);
_local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1));
_local2 = TweenLite.rootFramesTimeline;
_local3 = TweenLite.rootFrame;
_local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1));
TweenLite.rootFramesTimeline.cachedTimeScale = (TweenLite.rootTimeline.cachedTimeScale = _arg1);
}
TweenPlugin.activate([AutoAlphaPlugin, EndArrayPlugin, FramePlugin, RemoveTintPlugin, TintPlugin, VisiblePlugin, VolumePlugin, BevelFilterPlugin, BezierPlugin, BezierThroughPlugin, BlurFilterPlugin, ColorMatrixFilterPlugin, ColorTransformPlugin, DropShadowFilterPlugin, FrameLabelPlugin, GlowFilterPlugin, HexColorsPlugin, RoundPropsPlugin, ShortRotationPlugin, {}]);
}
}//package com.greensock
Section 104
//Key (com.senocular.utils.Key)
package com.senocular.utils {
import flash.display.*;
import flash.events.*;
public class Key {
private static var initialized:Boolean = false;
private static var keysDown:Object = new Object();
public static function initialize(_arg1:Stage){
if (!initialized){
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
_arg1.addEventListener(Event.DEACTIVATE, clearKeys);
initialized = true;
};
}
public static function isDown(_arg1:uint):Boolean{
if (!initialized){
throw (new Error("Key class has yet been initialized."));
};
return (Boolean((_arg1 in keysDown)));
}
private static function keyPressed(_arg1:KeyboardEvent):void{
keysDown[_arg1.keyCode] = true;
}
private static function keyReleased(_arg1:KeyboardEvent):void{
if ((_arg1.keyCode in keysDown)){
delete keysDown[_arg1.keyCode];
};
}
private static function clearKeys(_arg1:Event):void{
keysDown = new Object();
}
}
}//package com.senocular.utils
Section 105
//Color (fl.motion.Color)
package fl.motion {
import flash.display.*;
import flash.geom.*;
public class Color extends ColorTransform {
private var _tintColor:Number;// = 0
private var _tintMultiplier:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
public function set brightness(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
var _local2:Number = (1 - Math.abs(_arg1));
var _local3:Number = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
public function setTint(_arg1:uint, _arg2:Number):void{
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
var _local3:uint = ((_arg1 >> 16) & 0xFF);
var _local4:uint = ((_arg1 >> 8) & 0xFF);
var _local5:uint = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
private function deriveTintColor():uint{
var _local1:Number = (1 / this.tintMultiplier);
var _local2:uint = Math.round((this.redOffset * _local1));
var _local3:uint = Math.round((this.greenOffset * _local1));
var _local4:uint = Math.round((this.blueOffset * _local1));
var _local5:uint = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
private function parseXML(_arg1:XML=null):Color{
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
var _local2:XML = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number = (1 - _arg3);
var _local5:ColorTransform = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number = (1 - _arg3);
var _local5:uint = ((_arg1 >> 24) & 0xFF);
var _local6:uint = ((_arg1 >> 16) & 0xFF);
var _local7:uint = ((_arg1 >> 8) & 0xFF);
var _local8:uint = (_arg1 & 0xFF);
var _local9:uint = ((_arg2 >> 24) & 0xFF);
var _local10:uint = ((_arg2 >> 16) & 0xFF);
var _local11:uint = ((_arg2 >> 8) & 0xFF);
var _local12:uint = (_arg2 & 0xFF);
var _local13:uint = ((_local5 * _local4) + (_local9 * _arg3));
var _local14:uint = ((_local6 * _local4) + (_local10 * _arg3));
var _local15:uint = ((_local7 * _local4) + (_local11 * _arg3));
var _local16:uint = ((_local8 * _local4) + (_local12 * _arg3));
var _local17:uint = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
}
}//package fl.motion
Section 106
//ArmorPiercing (guns.ArmorPiercing)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class ArmorPiercing extends Gun {
public static const WEAPON_LEVEL = 0;
public function ArmorPiercing(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "A.PIERCING";
bulletDamage = 15;
bulletSpeed = 30;
ammoMax = 10;
sprayCount = 1;
reloadingTime = 1500;
magazine = 2;
bulletInterval = 400;
spriteType = C.PLAYER_TOP_SPECIAL;
bulletOffsetX = -25;
bulletOffsetY = -25;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new ArmorPiercingBullet(_arg1, _arg2, _arg3, _arg4, bulletDamage, bulletSpeed));
SoundManager.instance.playSound(Sounds.GUN_AGUN);
}
}
}//package guns
Section 107
//ArmorPiercing2 (guns.ArmorPiercing2)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class ArmorPiercing2 extends Gun {
public static const WEAPON_LEVEL = 1;
public function ArmorPiercing2(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "A.PIERCING 2";
bulletDamage = 20;
bulletSpeed = 30;
ammoMax = 15;
sprayCount = 1;
reloadingTime = 1500;
magazine = 2;
bulletInterval = 500;
spriteType = C.PLAYER_TOP_SPECIAL;
bulletOffsetX = -25;
bulletOffsetY = -25;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new ArmorPiercing2Bullet(_arg1, _arg2, _arg3, _arg4, bulletDamage, bulletSpeed));
SoundManager.instance.playSound(Sounds.GUN_AGUN);
}
}
}//package guns
Section 108
//Gun (guns.Gun)
package guns {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import org.casalib.util.*;
import bullets.*;
public class Gun extends MovieClip {
private var rootRef;
private var layer:Sprite;
private var cursor:Cursor;
private var _ammoMax:int;// = 6
private var _ammoLeft:int;
private var _sprayCount:int;
private var _reloadingTime:int;
private var _magazine:int;
private var _weaponName:String;
private var _bulletInterval:int;
private var _survivorTime:int;// = 1500
protected var survivorGun:Boolean;// = false
public var weaponType:String;
private var angle:Number;// = 0
public var bulletDamage:int;// = 16
protected var bulletSpeed:int;// = 32
protected var bulletKnockbackMultipler:Number;// = 1
protected var bulletFreezeMultipler:Number;// = 1
protected var bulletOffsetX:Number;// = 0
protected var bulletOffsetY:Number;// = 0
public var spriteType:int;// = 0
protected var fireTimer:FakeTimer;
public var reloadingTimer:FakeTimer;
public var reloadedTimer:FakeTimer;
protected var canFire:Boolean;// = true
public var survivorTimer:FakeTimer;
public var baseReloadTime:int;
public function Gun(_arg1:Sprite, _arg2):void{
cursor = SingletonUtil.singleton(Cursor);
initValue();
baseReloadTime = reloadingTime;
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Gun");
fireTimer = new FakeTimer(_bulletInterval, 1);
reloadingTimer = new FakeTimer((_reloadingTime / C.CURSOR_RELOADING_FRAME_COUNT), 0);
reloadedTimer = new FakeTimer((1000 / C.SPRITE_FPS), 0);
survivorTimer = new FakeTimer(_survivorTime, 1);
_ammoLeft = _ammoMax;
this.layer = _arg1;
this.rootRef = _arg2;
}
protected function initValue():void{
bulletSpeed = 16;
bulletDamage = 10;
_ammoMax = 6;
_sprayCount = 1;
_reloadingTime = 2000;
_magazine = C.MAGAZINE_INFINITE;
}
private function checkAllTimers():void{
checkFireTimer();
checkReloadingTimer();
checkReloadedTimer();
checkSurvivorTimer();
}
protected function loop(_arg1:Event):void{
checkAllTimers();
autoReload();
}
final public function fire(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Number;
if (((((canFire) && ((_ammoLeft > 0)))) && (!(reloadingTimer.running)))){
canFire = false;
fireTimer.start();
_arg3 = (_arg3 - _arg1.y);
_local5 = ((_arg4 * Math.PI) / 180);
fireBullet(_arg1, (_arg2 + (bulletOffsetX * Math.cos(_local5))), (_arg3 + (bulletOffsetY * Math.sin(_local5))), _arg4);
if (!((((SurAGun) && (SurMGun))) && (SurShotGun))){
rootRef.replenishBulletSprite();
};
_ammoLeft = (_ammoLeft - _sprayCount);
};
}
protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new Bullet(_arg1, _arg2, _arg3, _arg4, bulletDamage, bulletSpeed, bulletKnockbackMultipler, bulletFreezeMultipler));
}
protected function autoReload():void{
if (_ammoLeft <= 0){
reload();
};
}
final public function reload():Boolean{
if ((((_magazine <= 0)) && ((_ammoLeft <= 0)))){
rootRef.clearBulletSprite();
rootRef.ourPlayer.switchToDefaultWeapon();
rootRef.ourPlayer.setNewBulletSprite();
return (false);
};
if (((((((!(reloadingTimer.running)) && (!(reloadedTimer.running)))) && ((_magazine > 0)))) && ((_ammoLeft < _ammoMax)))){
reloadingTime = (baseReloadTime * S.reloadSpeedReduction);
reloadingTimer.delay = (reloadingTime / C.CURSOR_RELOADING_FRAME_COUNT);
trace(((("_reloadingTime : " + _reloadingTime) + " reloadSpeedReduction : ") + S.reloadSpeedReduction));
reloadingTimer.start();
if (!survivorGun){
cursor.changeMouseCursorReloading(0);
S.reloadTimes++;
SoundManager.instance.playSound(Sounds.GUN_RELOAD);
};
return (true);
};
return (false);
}
private function completeReload():void{
_ammoLeft = _ammoMax;
if (_magazine != C.MAGAZINE_INFINITE){
_magazine--;
};
dispatchEvent(new Event("reloaded"));
}
protected function checkFireTimer():void{
if (!fireTimer.getTrigger()){
return;
};
canFire = true;
}
private function checkReloadingTimer():void{
if (!reloadingTimer.getTrigger()){
return;
};
var _local1:int = reloadingTimer.currentCount;
if (_local1 >= C.CURSOR_RELOADING_FRAME_COUNT){
reloadingTimer.reset();
reloadedTimer.start();
cursor.changeMouseCursorReloaded(0);
} else {
cursor.changeMouseCursorReloading(_local1);
};
}
private function checkReloadedTimer():void{
if (!reloadedTimer.getTrigger()){
return;
};
var _local1:int = reloadedTimer.currentCount;
if (_local1 >= C.CURSOR_RELOADED_FRAME_COUNT){
reloadedTimer.reset();
completeReload();
} else {
cursor.changeMouseCursorReloaded(_local1);
};
}
private function checkSurvivorTimer():void{
if (!survivorTimer.getTrigger()){
return;
};
canFire = true;
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
if (!S.stageCleared){
S.playerFreeze = false;
};
EC.remove(this);
}
public function get ammoMax():Number{
return (_ammoMax);
}
public function set ammoMax(_arg1:Number):void{
_ammoMax = _arg1;
}
public function get ammoLeft():Number{
return (_ammoLeft);
}
public function set ammoLeft(_arg1:Number):void{
_ammoLeft = _arg1;
}
public function get sprayCount():Number{
return (_sprayCount);
}
public function set sprayCount(_arg1:Number):void{
_sprayCount = _arg1;
}
public function get reloadingTime():Number{
return (_reloadingTime);
}
public function set reloadingTime(_arg1:Number):void{
_reloadingTime = _arg1;
}
public function get magazine():Number{
return (_magazine);
}
public function set magazine(_arg1:Number):void{
_magazine = _arg1;
}
public function get weaponName():String{
return (_weaponName);
}
public function set weaponName(_arg1:String){
_weaponName = _arg1;
}
public function set bulletInterval(_arg1:Number):void{
_bulletInterval = _arg1;
}
}
}//package guns
Section 109
//HeavyMachineGun (guns.HeavyMachineGun)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class HeavyMachineGun extends Gun {
private var n:int;// = 0
public static const WEAPON_LEVEL = 2;
public function HeavyMachineGun(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "HEAVY M.GUN";
bulletDamage = 10;
ammoMax = 30;
sprayCount = 1;
reloadingTime = 1900;
magazine = 2;
bulletInterval = 110;
spriteType = C.PLAYER_TOP_MGUN;
bulletOffsetX = -20;
bulletOffsetY = -20;
bulletKnockbackMultipler = 0.5;
bulletFreezeMultipler = 2.3;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new MachineGunBullet(_arg1, (_arg2 + 5), (_arg3 - 10), (_arg4 + (n * 2)), bulletDamage, bulletSpeed, bulletKnockbackMultipler, bulletFreezeMultipler));
_arg1.addChild(new MachineGunBullet(_arg1, (_arg2 - 5), (_arg3 - 10), (_arg4 - (n * 2)), bulletDamage, bulletSpeed, bulletKnockbackMultipler, bulletFreezeMultipler));
SoundManager.instance.playSound(Sounds.GUN_MGUN);
n++;
if (n > 2){
n = -3;
};
}
}
}//package guns
Section 110
//Laser (guns.Laser)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class Laser extends Gun {
public static const WEAPON_LEVEL = 2;
public function Laser(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "LASER";
bulletDamage = 20;
bulletSpeed = 35;
ammoMax = 12;
sprayCount = 1;
reloadingTime = 2000;
magazine = 2;
bulletInterval = 500;
spriteType = C.PLAYER_TOP_SPECIAL;
bulletOffsetX = -30;
bulletOffsetY = -30;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new LaserBullet(_arg1, _arg2, _arg3, _arg4, bulletDamage, bulletSpeed));
SoundManager.instance.playSound(Sounds.GUN_LASER);
}
}
}//package guns
Section 111
//MachineGun (guns.MachineGun)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class MachineGun extends Gun {
private var n:int;// = 0
public static const WEAPON_LEVEL = 0;
public function MachineGun(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "MACHINE GUN";
bulletDamage = 12;
ammoMax = 15;
sprayCount = 1;
reloadingTime = 1600;
if (S.charSelected == C.ANT){
magazine = C.MAGAZINE_INFINITE;
} else {
magazine = 2;
};
bulletInterval = 155;
spriteType = C.PLAYER_TOP_MGUN;
bulletOffsetX = -20;
bulletOffsetY = -20;
bulletKnockbackMultipler = 0.3;
bulletFreezeMultipler = 2.3;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new MachineGunBullet(_arg1, (_arg2 + n), _arg3, _arg4, bulletDamage, bulletSpeed, bulletKnockbackMultipler, bulletFreezeMultipler));
SoundManager.instance.playSound(Sounds.GUN_MGUN);
n = (n + 10);
if (n > 10){
n = -10;
};
}
}
}//package guns
Section 112
//MachineGun2 (guns.MachineGun2)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class MachineGun2 extends Gun {
private var n:int;// = 0
public static const WEAPON_LEVEL = 1;
public function MachineGun2(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "MACHINE GUN 2";
bulletDamage = 15;
ammoMax = 20;
sprayCount = 1;
reloadingTime = 1800;
magazine = 2;
bulletInterval = 120;
spriteType = C.PLAYER_TOP_MGUN;
bulletOffsetX = -20;
bulletOffsetY = -20;
bulletKnockbackMultipler = 0.5;
bulletFreezeMultipler = 2.3;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new MachineGun2Bullet(_arg1, (_arg2 + n), _arg3, _arg4, bulletDamage, bulletSpeed, bulletKnockbackMultipler, bulletFreezeMultipler));
SoundManager.instance.playSound(Sounds.GUN_MGUN);
n = (n + 10);
if (n > 10){
n = -10;
};
}
}
}//package guns
Section 113
//Rocket (guns.Rocket)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class Rocket extends Gun {
private var layer:Sprite;
public static const WEAPON_LEVEL = 2;
public function Rocket(_arg1:Sprite, _arg2){
this.layer = _arg1;
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "ROCKET LAUNCHER";
bulletDamage = 35;
bulletSpeed = 3;
ammoMax = 8;
sprayCount = 1;
reloadingTime = 2200;
magazine = 2;
bulletInterval = 800;
spriteType = C.PLAYER_TOP_SPECIAL;
bulletOffsetX = -20;
bulletOffsetY = -20;
bulletKnockbackMultipler = 2;
bulletFreezeMultipler = 0.5;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:RocketBullet = new RocketBullet(_arg1, _arg2, _arg3, _arg4, bulletDamage, bulletSpeed, this);
SoundManager.instance.playSound(Sounds.GUN_ROCKET);
_arg1.addChild(_local5);
}
}
}//package guns
Section 114
//ShotGun (guns.ShotGun)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class ShotGun extends Gun {
public static const WEAPON_LEVEL = 0;
public function ShotGun(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "SHOTGUN";
bulletDamage = 20;
ammoMax = 8;
sprayCount = 1;
reloadingTime = 2100;
if (S.charSelected == C.ANT){
magazine = 2;
} else {
magazine = C.MAGAZINE_INFINITE;
};
bulletInterval = 650;
spriteType = C.PLAYER_TOP_SGUN;
bulletOffsetX = -100;
bulletOffsetY = -100;
bulletKnockbackMultipler = 3.5;
bulletFreezeMultipler = 0.5;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new ShotGunBullet(_arg1, _arg2, _arg3, _arg4, bulletDamage, bulletSpeed, bulletKnockbackMultipler, bulletFreezeMultipler));
SoundManager.instance.playSound(Sounds.GUN_SGUN);
S.playerFreeze = true;
}
override protected function checkFireTimer():void{
if (!fireTimer.getTrigger()){
return;
};
canFire = true;
S.playerFreeze = false;
}
}
}//package guns
Section 115
//ShotGun2 (guns.ShotGun2)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class ShotGun2 extends Gun {
public static const WEAPON_LEVEL = 1;
public function ShotGun2(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "SHOTGUN 2";
bulletDamage = 30;
ammoMax = 8;
sprayCount = 1;
reloadingTime = 2200;
magazine = 2;
bulletInterval = 700;
spriteType = C.PLAYER_TOP_SGUN;
bulletOffsetX = -100;
bulletOffsetY = -100;
bulletKnockbackMultipler = 4;
bulletFreezeMultipler = 1;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new ShotGun2Bullet(_arg1, _arg2, _arg3, _arg4, bulletDamage, bulletSpeed, bulletKnockbackMultipler, bulletFreezeMultipler));
SoundManager.instance.playSound(Sounds.GUN_SGUN);
S.playerFreeze = true;
}
override protected function checkFireTimer():void{
if (!fireTimer.getTrigger()){
return;
};
canFire = true;
S.playerFreeze = false;
}
}
}//package guns
Section 116
//SurAGun (guns.SurAGun)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class SurAGun extends Gun {
public function SurAGun(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "SurAGun";
bulletDamage = 7;
ammoMax = 10;
sprayCount = 1;
reloadingTime = 1500;
magazine = C.MAGAZINE_INFINITE;
bulletInterval = 800;
bulletOffsetX = -25;
bulletOffsetY = -25;
survivorGun = true;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new ArmorPiercing2Bullet(_arg1, _arg2, (_arg3 - 10), _arg4, bulletDamage, bulletSpeed));
if (S.muteState != C.MUTE_BOTH){
SoundManager.instance.playSound(Sounds.GUN_AGUN, 0.5);
};
}
}
}//package guns
Section 117
//SurMGun (guns.SurMGun)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class SurMGun extends Gun {
private var n:int;// = 0
public function SurMGun(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = ".";
bulletDamage = 5;
ammoMax = 30;
sprayCount = 1;
reloadingTime = 1500;
magazine = C.MAGAZINE_INFINITE;
bulletInterval = 150;
bulletOffsetX = -20;
bulletOffsetY = -20;
bulletKnockbackMultipler = 0.5;
bulletFreezeMultipler = 2;
survivorGun = true;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new MachineGunBullet(_arg1, (_arg2 + n), (_arg3 - 10), _arg4, bulletDamage, bulletSpeed, bulletKnockbackMultipler, bulletFreezeMultipler));
if (S.muteState != C.MUTE_BOTH){
SoundManager.instance.playSound(Sounds.GUN_MGUN, 0.5);
};
n = (n + 10);
if (n > 10){
n = -10;
};
}
}
}//package guns
Section 118
//SurShotGun (guns.SurShotGun)
package guns {
import flash.display.*;
import com.cheezeworld.utils.*;
import bullets.*;
public class SurShotGun extends Gun {
public function SurShotGun(_arg1:Sprite, _arg2){
super(_arg1, _arg2);
}
override protected function initValue():void{
weaponName = "SurShotGun";
bulletDamage = 10;
ammoMax = 10;
sprayCount = 1;
reloadingTime = 1500;
magazine = C.MAGAZINE_INFINITE;
bulletInterval = 800;
bulletOffsetX = -100;
bulletOffsetY = -100;
bulletKnockbackMultipler = 2;
bulletFreezeMultipler = 0.5;
survivorGun = true;
}
override protected function fireBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.addChild(new ShotGunBullet(_arg1, _arg2, (_arg3 - 10), _arg4, bulletDamage, bulletSpeed, bulletKnockbackMultipler, bulletFreezeMultipler));
if (S.muteState != C.MUTE_BOTH){
SoundManager.instance.playSound(Sounds.GUN_SGUN, 0.5);
};
}
}
}//package guns
Section 119
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_SHOW:String = "StoreShow";
public static const STORE_HIDE:String = "StoreHide";
public static const ITEM_OWNED:String = "ItemOwned";
public static const ITEM_NEW:String = "ItemNew";
public static const STORE_ITEMS:String = "StoreItems";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IOError";
public static const NO_USER:String = "NoUser";
public static var _inventory:MochiInventory;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function get inventory():MochiInventory{
return (_inventory);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showStore(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:_arg1}, null, null);
}
public static function showItem(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:_arg1}, null, null);
}
public static function showVideo(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:_arg1}, null, null);
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function requestFunding(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestFunding", _arg1);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_inventory = new MochiInventory();
});
addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_inventory = null;
});
}
}//package mochi.as3
Section 120
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Fragment:Number;
private var Sibling:MochiDigits;
private var Encoder:Number;
public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{
Encoder = 0;
setValue(_arg1, _arg2);
}
public function get value():Number{
return (Number(this.toString()));
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String = _arg1.toString();
var _temp1 = _arg2;
_arg2 = (_arg2 + 1);
Fragment = (_local3.charCodeAt(_temp1) ^ Encoder);
if (_arg2 < _local3.length){
Sibling = new MochiDigits(_arg1, _arg2);
} else {
Sibling = null;
};
reencode();
}
public function reencode():void{
var _local1:uint = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (_local1 ^ Encoder));
Encoder = _local1;
}
public function toString():String{
var _local1:String = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
_local1 = (_local1 + Sibling.toString());
};
return (_local1);
}
}
}//package mochi.as3
Section 121
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var eventTable:Object;
public function MochiEventDispatcher():void{
eventTable = {};
}
public function addEventListener(_arg1:String, _arg2:Function):void{
removeEventListener(_arg1, _arg2);
eventTable[_arg1].push(_arg2);
}
public function removeEventListener(_arg1:String, _arg2:Function):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
eventTable[_arg1] = [];
return;
};
for (_local3 in eventTable[_arg1]) {
if (eventTable[_arg1][_local3] != _arg2){
} else {
eventTable[_arg1].splice(Number(_local3), 1);
};
};
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
return;
};
for (_local3 in eventTable[_arg1]) {
var _local6 = eventTable[_arg1];
_local6[_local3](_arg2);
};
}
}
}//package mochi.as3
Section 122
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
import flash.display.*;
public class MochiEvents {
public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_CENTER:String = "ALIGN_C";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const FORMAT_SHORT:String = "ShortForm";
public static const FORMAT_LONG:String = "LongForm";
private static var gameStart:Number;
private static var levelStart:Number;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function startSession(_arg1:String):void{
MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null);
}
public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{
var _local4:Object;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
_local3.clip = _arg1;
MochiServices.send("events_setNotifications", _local3, null, null);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function startPlay(_arg1:String="gameplay"):void{
MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null);
}
public static function endPlay():void{
MochiServices.send("events_clearRoundID", null, null, null);
}
public static function trackEvent(_arg1:String, _arg2=null):void{
MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null);
}
}
}//package mochi.as3
Section 123
//MochiInventory (mochi.as3.MochiInventory)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
public dynamic class MochiInventory extends Proxy {
private var _timer:Timer;
private var _consumableProperties:Object;
private var _syncPending:Boolean;
private var _outstandingID:Number;
private var _syncID:Number;
private var _names:Array;
private var _storeSync:Object;
private static const CONSUMER_KEY:String = "MochiConsumables";
private static const KEY_SALT:String = " syncMaint";
public static const READY:String = "InvReady";
public static const WRITTEN:String = "InvWritten";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IoError";
public static const VALUE_ERROR:String = "InvValueError";
public static const NOT_READY:String = "InvNotReady";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public function MochiInventory():void{
MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned);
MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut);
_storeSync = new Object();
_syncPending = false;
_outstandingID = 0;
_syncID = 0;
_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, sync);
_timer.start();
if (MochiSocial.loggedIn){
loggedIn();
} else {
loggedOut();
};
}
public function release():void{
MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut);
}
private function loggedOut(_arg1:Object=null):void{
_consumableProperties = null;
}
private function loggedIn(_arg1:Object=null):void{
MochiUserData.get(CONSUMER_KEY, getConsumableBag);
}
private function newItems(_arg1:Object):void{
if (!this[(_arg1.id + KEY_SALT)]){
this[(_arg1.id + KEY_SALT)] = 0;
};
if (!this[_arg1.id]){
this[_arg1.id] = 0;
};
this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count);
this[_arg1.id] = (this[_arg1.id] + _arg1.count);
if (((_arg1.privateProperties) && (_arg1.privateProperties.consumable))){
if (!this[_arg1.privateProperties.tag]){
this[_arg1.privateProperties.tag] = 0;
};
this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count));
};
}
private function itemOwned(_arg1:Object):void{
_storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count};
}
private function getConsumableBag(_arg1:MochiUserData):void{
var _local2:String;
var _local3:Number;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
return;
};
_consumableProperties = {};
_names = new Array();
if (_arg1.data){
for (_local2 in _arg1.data) {
_names.push(_local2);
_consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]);
};
};
for (_local2 in _storeSync) {
_local3 = _storeSync[_local2].count;
if (_consumableProperties[(_local2 + KEY_SALT)]){
_local3 = (_local3 - _consumableProperties[(_local2 + KEY_SALT)].value);
};
if (_local3 == 0){
} else {
newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties});
};
};
triggerEvent(READY, {});
}
private function putConsumableBag(_arg1:MochiUserData):void{
_syncPending = false;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
_outstandingID = -1;
};
triggerEvent(WRITTEN, {});
}
private function sync(_arg1:Event=null):void{
var _local3:String;
if (((_syncPending) || ((_syncID == _outstandingID)))){
return;
};
_outstandingID = _syncID;
var _local2:Object = {};
for (_local3 in _consumableProperties) {
_local2[_local3] = MochiDigits(_consumableProperties[_local3]).value;
};
MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag);
_syncPending = true;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (-1);
};
if (_consumableProperties[_arg1]){
return (MochiDigits(_consumableProperties[_arg1]).value);
};
return (undefined);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{
if (!_consumableProperties[_arg1]){
return (false);
};
_names.splice(_names.indexOf(_arg1), 1);
delete _consumableProperties[_arg1];
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (false);
};
if (_consumableProperties[_arg1] == undefined){
return (false);
};
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:MochiDigits;
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return;
};
if (!(_arg2 is Number)){
triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2});
return;
};
if (_consumableProperties[_arg1]){
_local3 = MochiDigits(_consumableProperties[_arg1]);
if (_local3.value == _arg2){
return;
};
_local3.value = _arg2;
} else {
_names.push(_arg1);
_consumableProperties[_arg1] = new MochiDigits(_arg2);
};
_syncID++;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{
return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1));
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{
return (_names[(_arg1 - 1)]);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
}
}//package mochi.as3
Section 124
//MochiScores (mochi.as3.MochiScores)
package mochi.as3 {
import flash.display.*;
import flash.text.*;
public class MochiScores {
public static var onCloseHandler:Object;
public static var onErrorHandler:Object;
private static var boardID:String;
public static function onClose(_arg1:Object=null):void{
if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiServices.warnID(_arg1, true);
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
public static function showLeaderboard(_arg1:Object=null):void{
var n:Number;
var options = _arg1;
if (options != null){
delete options.clip;
MochiServices.setContainer();
MochiServices.bringToTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
} else {
if ((options.score is MochiDigits)){
options.score = options.score.value;
};
};
n = Number(options.score);
if (isNaN(n)){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(n) != n){
trace((("WARNING: Submitted score '" + options.score) + "' will be truncated"));
};
options.score = n;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
_arg1 = Number(_arg1);
if (isNaN(_arg1)){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(_arg1) != _arg1){
trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated"));
};
_arg1 = Number(_arg1);
};
};
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
var _local2:Object = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
}
}//package mochi.as3
Section 125
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
public static const CONNECTED:String = "onConnected";
private static var _id:String;
private static var _container:Object;
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _timer:Timer;
private static var _preserved:Object;
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
private static var _services:String = "services.swf";
private static var _mochiLC:String = "MochiLC.swf";
private static var _swfVersion:String;
private static var _listenChannelName:String = "__ms_";
private static var _sendChannel:LocalConnection;
private static var _sendChannelName:String;
private static var _connecting:Boolean = false;
private static var _connected:Boolean = false;
public static var netup:Boolean = true;
public static var netupAttempted:Boolean = false;
public static var onError:Object;
public static var widget:Boolean = false;
private static var _mochiLocalConnection:MovieClip;
private static var _queue:Array;
private static var _nextCallbackID:Number;
private static var _callbacks:Object;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function get id():String{
return (_id);
}
public static function get clip():Object{
return (_container);
}
public static function get childClip():Object{
return (_clip);
}
public static function getVersion():String{
return ("3.9.1 as3");
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
};
return (_local2);
}
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
public static function get connected():Boolean{
return (_connected);
}
public static function warnID(_arg1:String, _arg2:Boolean):void{
_arg1 = _arg1.toLowerCase();
if (_arg1.length != 16){
trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (_arg1 == "1e113c7239048b3f"){
if (_arg2){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (_arg1 == "84993a1de4031cd8"){
if (_arg2){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
var _local3:Number = 0;
while (_local3 < _arg1.length) {
switch (_arg1.charAt(_local3)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + _arg1));
return;
};
_local3++;
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
warnID(id, false);
if ((clip is DisplayObject)){
if (clip.stage == null){
trace("MochiServices connect requires the containing clip be attached to the stage");
};
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_mochiLocalConnection.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, connectWait);
_timer = null;
} catch(error:Error) {
};
};
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
public static function bringToTop(_arg1:Event=null):void{
var e = _arg1;
if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_clip.parent){
_clip.parent.removeChild(_clip);
};
if (_arg1 != null){
if ((_arg1 is DisplayObjectContainer)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is DisplayObjectContainer)){
DisplayObjectContainer(_container).addChild(_clip);
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(_arg2).servURL){
_servURL = urlOptions(_arg2).servURL;
};
var _local3:String = (_servURL + _services);
if (urlOptions(_arg2).servicesURL){
_local3 = urlOptions(_arg2).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(_local3);
_clip = new MovieClip();
loadLCBridge(_clip);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, detach);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
var _local4:URLRequest = new URLRequest(_local3);
var _local5:URLVariables = new URLVariables();
_local5.listenLC = _listenChannelName;
_local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options;
_local5.api_version = getVersion();
if (widget){
_local5.widget = true;
};
_local4.data = _local5;
_loader.load(_local4);
_clip.addChild(_loader);
_sendChannel = new LocalConnection();
_queue = [];
_nextCallbackID = 0;
_callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
private static function detach(_arg1:Event):void{
var _local2:LoaderInfo = LoaderInfo(_arg1.target);
_local2.removeEventListener(Event.COMPLETE, detach);
_local2.removeEventListener(IOErrorEvent.IO_ERROR, detach);
_local2.removeEventListener(Event.COMPLETE, loadLCBridgeComplete);
_local2.removeEventListener(IOErrorEvent.IO_ERROR, loadError);
}
private static function loadLCBridge(_arg1:Object):void{
var _local2:Loader = new Loader();
var _local3:String = (_servURL + _mochiLC);
var _local4:URLRequest = new URLRequest(_local3);
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, detach);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach);
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, loadLCBridgeComplete);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
_local2.load(_local4);
_arg1.addChild(_local2);
}
private static function loadLCBridgeComplete(_arg1:Event):void{
var _local2:Loader = LoaderInfo(_arg1.target).loader;
_mochiLocalConnection = MovieClip(_local2.content);
listen();
}
private static function loadError(_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
public static function connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
} else {
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, connectWait);
_timer = null;
};
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
private static function initComChannels():void{
if (!_connected){
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_clip.onReceive = onReceive;
_clip.onEvent = onEvent;
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
while (_queue.length > 0) {
_mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift());
};
};
}
private static function onReceive(_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
var cb:String = pkg.callbackID;
var cblst:Object = _callbacks[cb];
if (!cblst){
return;
};
var method:* = cblst.callbackMethod;
methodName = "";
var obj:Object = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete _callbacks[cb];
}
private static function onEvent(_arg1:Object):void{
var _local2:String = _arg1.target;
var _local3:String = _arg1.event;
switch (_local2){
case "services":
MochiServices.triggerEvent(_arg1.event, _arg1.args);
break;
case "events":
MochiEvents.triggerEvent(_arg1.event, _arg1.args);
break;
case "coins":
MochiCoins.triggerEvent(_arg1.event, _arg1.args);
break;
case "social":
MochiSocial.triggerEvent(_arg1.event, _arg1.args);
break;
};
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (((_clip) && (_queue))){
while (_queue.length > 0) {
_local2 = _queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _callbacks[_local2.callbackID];
};
delete _callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1));
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
};
if (_clip != null){
if (_callbacks != null){
_callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_nextCallbackID++;
};
};
}
private static function urlOptions(_arg1:Object):Object{
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
var _local2:Object = {};
if (_arg1.stage){
_local3 = _arg1.stage.loaderInfo.parameters.mochiad_options;
} else {
_local3 = _arg1.loaderInfo.parameters.mochiad_options;
};
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var avm1Click:DisplayObject;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
var vars:Object = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
var s = "?";
var i:Number = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://link.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (_arg1:String):void{
var _local2:Rectangle;
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(_arg1, onClick);
_local2 = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = _local2.x;
avm1Click.y = _local2.y;
avm1Click.scaleX = (0.01 * _local2.width);
avm1Click.scaleY = (0.01 * _local2.height);
};
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
setURL(burl);
};
complete = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local4:int;
var _local14:Loader;
var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var _local6:Array = [0, 64, 0, 0, 0];
var _local7:MovieClip = new MovieClip();
var _local8:LocalConnection = new LocalConnection();
var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
var _local10:ByteArray = new ByteArray();
var _local11:ByteArray = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
var _local12:uint = ((_local3.length + _local11.length) + 4);
var _local13:uint = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
}
}//package mochi.as3
Section 126
//MochiSocial (mochi.as3.MochiSocial)
package mochi.as3 {
public class MochiSocial {
public static const LOGGED_IN:String = "LoggedIn";
public static const LOGGED_OUT:String = "LoggedOut";
public static const LOGIN_SHOW:String = "LoginShow";
public static const LOGIN_HIDE:String = "LoginHide";
public static const LOGIN_SHOWN:String = "LoginShown";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const PROFILE_HIDE:String = "ProfileHide";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const FRIEND_LIST:String = "FriendsList";
public static const PROFILE_DATA:String = "ProfileData";
public static const GAMEPLAY_DATA:String = "GameplayData";
public static const ACTION_CANCELED:String = "onCancel";
public static const ACTION_COMPLETE:String = "onComplete";
public static const USER_INFO:String = "UserInfo";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IOError";
public static const NO_USER:String = "NoUser";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static var _user_info:Object = null;
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function getAPIURL():String{
if (!_user_info){
return (null);
};
return (_user_info.api_url);
}
public static function getAPIToken():String{
if (!_user_info){
return (null);
};
return (_user_info.api_token);
}
public static function showLoginWidget(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_showLoginWidget", {options:_arg1});
}
public static function hideLoginWidget():void{
MochiServices.send("social_hideLoginWidget");
}
public static function requestLogin(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestLogin", _arg1);
}
public static function saveUserProperties(_arg1:Object):void{
MochiServices.send("social_saveUserProperties", _arg1);
}
public static function getFriendsList(_arg1:Object=null):void{
MochiServices.send("social_getFriendsList", _arg1);
}
public static function postToStream(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_postToStream", _arg1);
}
public static function inviteFriends(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_inviteFriends", _arg1);
}
public static function requestFan(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestFan", _arg1);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function get loggedIn():Boolean{
return (!((_user_info == null)));
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_user_info = _arg1;
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_user_info = null;
});
}
}//package mochi.as3
Section 127
//MochiUserData (mochi.as3.MochiUserData)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class MochiUserData extends EventDispatcher {
public var _loader:URLLoader;
public var key:String;// = null
public var data;// = null
public var error:Event;// = null
public var operation:String;// = null
public var callback:Function;// = null
public function MochiUserData(_arg1:String="", _arg2:Function=null){
this.key = _arg1;
this.callback = _arg2;
}
public function serialize(_arg1):ByteArray{
var _local2:ByteArray = new ByteArray();
_local2.objectEncoding = ObjectEncoding.AMF3;
_local2.writeObject(_arg1);
_local2.compress();
return (_local2);
}
public function deserialize(_arg1:ByteArray){
_arg1.objectEncoding = ObjectEncoding.AMF3;
_arg1.uncompress();
return (_arg1.readObject());
}
public function request(_arg1:String, _arg2:ByteArray):void{
var _operation = _arg1;
var _data = _arg2;
operation = _operation;
var api_url:String = MochiSocial.getAPIURL();
var api_token:String = MochiSocial.getAPIToken();
if ((((api_url == null)) || ((api_token == null)))){
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in"));
return;
};
_loader = new URLLoader();
var args:URLVariables = new URLVariables();
args.op = _operation;
args.key = key;
var req:URLRequest = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString()));
req.method = URLRequestMethod.POST;
req.contentType = "application/x-mochi-userdata";
req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)];
req.data = _data;
_loader.dataFormat = URLLoaderDataFormat.BINARY;
_loader.addEventListener(Event.COMPLETE, completeHandler);
_loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
try {
_loader.load(req);
} catch(e:SecurityError) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString())));
};
}
public function completeHandler(_arg1:Event):void{
var event = _arg1;
try {
if (_loader.data.length){
data = deserialize(_loader.data);
} else {
data = null;
};
} catch(e:Error) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString())));
return;
};
if (callback != null){
performCallback();
} else {
dispatchEvent(event);
};
close();
}
public function errorHandler(_arg1:IOErrorEvent):void{
data = null;
error = _arg1;
if (callback != null){
performCallback();
} else {
dispatchEvent(_arg1);
};
close();
}
public function securityErrorHandler(_arg1:SecurityErrorEvent):void{
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString())));
}
public function performCallback():void{
try {
callback(this);
} catch(e:Error) {
trace(("[MochiUserData] exception during callback: " + e));
};
}
public function close():void{
if (_loader){
_loader.removeEventListener(Event.COMPLETE, completeHandler);
_loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
_loader.close();
_loader = null;
};
error = null;
callback = null;
}
public function getEvent():void{
request("get", serialize(null));
}
public function putEvent(_arg1):void{
request("put", serialize(_arg1));
}
override public function toString():String{
return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]"));
}
public static function get(_arg1:String, _arg2:Function):void{
var _local3:MochiUserData = new MochiUserData(_arg1, _arg2);
_local3.getEvent();
}
public static function put(_arg1:String, _arg2, _arg3:Function):void{
var _local4:MochiUserData = new MochiUserData(_arg1, _arg3);
_local4.putEvent(_arg2);
}
}
}//package mochi.as3
Section 128
//Data (net.flashpunk.utils.Data)
package net.flashpunk.utils {
import flash.net.*;
public class Data {
private static const PREFIX:String = "";
private static const DEFAULT_FILE:String = "_file";
private static const SIZE:uint = 10000;
public static var id:String = "";
private static var _shared:SharedObject;
private static var _dir:String;
private static var _data:Object = {};
public static function load(_arg1:String=""):void{
var _local3:String;
var _local2:Object = loadData(_arg1);
_data = {};
for (_local3 in _local2) {
_data[_local3] = _local2[_local3];
};
}
public static function save(_arg1:String=""):void{
var _local3:String;
if (_shared){
_shared.clear();
};
var _local2:Object = loadData(_arg1);
for (_local3 in _data) {
_local2[_local3] = _data[_local3];
};
_shared.flush(SIZE);
}
public static function readInt(_arg1:String, _arg2:int=0):int{
return (int(read(_arg1, _arg2)));
}
public static function readUint(_arg1:String, _arg2:uint=0):uint{
return (uint(read(_arg1, _arg2)));
}
public static function readBool(_arg1:String, _arg2:Boolean=true):Boolean{
return (Boolean(read(_arg1, _arg2)));
}
public static function readString(_arg1:String, _arg2:String=""):String{
return (String(read(_arg1, _arg2)));
}
public static function readNumber(_arg1:String, _arg2:Number=0):Number{
return (Number(read(_arg1, _arg2)));
}
public static function readArray(_arg1:String, _arg2:Array=null):Array{
var _local3:Array = (read(_arg1, _arg2) as Array);
if (_local3 == null){
return ([]);
};
return (_local3);
}
public static function writeInt(_arg1:String, _arg2:int=0):void{
_data[_arg1] = _arg2;
}
public static function writeUint(_arg1:String, _arg2:uint=0):void{
_data[_arg1] = _arg2;
}
public static function writeBool(_arg1:String, _arg2:Boolean=true):void{
_data[_arg1] = _arg2;
}
public static function writeString(_arg1:String, _arg2:String=""):void{
_data[_arg1] = _arg2;
}
public static function writeNumber(_arg1:String, _arg2:Number=0):void{
_data[_arg1] = _arg2;
}
public static function writeArray(_arg1:String, _arg2:Array=null):void{
if (_arg2 == null){
_arg2 = [];
};
_data[_arg1] = _arg2;
}
private static function read(_arg1:String, _arg2){
if (_data.hasOwnProperty(_arg1)){
return (_data[_arg1]);
};
return (_arg2);
}
private static function loadData(_arg1:String):Object{
if (!_arg1){
_arg1 = DEFAULT_FILE;
};
if (id){
_shared = SharedObject.getLocal(((((PREFIX + "/") + id) + "/") + _arg1), "/");
} else {
_shared = SharedObject.getLocal(((PREFIX + "/") + _arg1));
};
return (_shared.data);
}
public static function clearCookie():void{
_shared.clear();
}
public static function traceAll():void{
var _local1:String;
trace(">>>>>> START OF SAVED DATA");
for (_local1 in _data) {
trace((((">> " + _local1) + ": ") + _data[_local1]));
};
trace(">>>>>> END OF SAVED DATA");
}
public static function get data():Object{
return (_data);
}
public static function set data(_arg1:Object):void{
_data = _arg1;
}
}
}//package net.flashpunk.utils
Section 129
//Stats (net.hires.debug.Stats)
package net.hires.debug {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
public class Stats extends Sprite {
protected const WIDTH:uint = 70;
protected const HEIGHT:uint = 100;
protected var xml:XML;
protected var text:TextField;
protected var style:StyleSheet;
protected var timer:uint;
protected var fps:uint;
protected var ms:uint;
protected var ms_prev:uint;
protected var mem:Number;
protected var mem_max:Number;
protected var graph:Bitmap;
protected var rectangle:Rectangle;
protected var fps_graph:uint;
protected var mem_graph:uint;
protected var mem_max_graph:uint;
protected var theme:Object;
public function Stats(_arg1:Object=null):void{
theme = {bg:51, fps:0xFFFF00, ms:0xFF00, mem:0xFFFF, memmax:0xFF0070};
super();
if (_arg1){
if (_arg1.bg != null){
theme.bg = _arg1.bg;
};
if (_arg1.fps != null){
theme.fps = _arg1.fps;
};
if (_arg1.ms != null){
theme.ms = _arg1.ms;
};
if (_arg1.mem != null){
theme.mem = _arg1.mem;
};
if (_arg1.memmax != null){
theme.memmax = _arg1.memmax;
};
};
mem_max = 0;
xml = <xml><fps>FPS:</fps><ms>MS:</ms><mem>MEM:</mem><memMax>MAX:</memMax></xml>
;
style = new StyleSheet();
style.setStyle("xml", {fontSize:"9px", fontFamily:"_sans", leading:"-2px"});
style.setStyle("fps", {color:hex2css(theme.fps)});
style.setStyle("ms", {color:hex2css(theme.ms)});
style.setStyle("mem", {color:hex2css(theme.mem)});
style.setStyle("memMax", {color:hex2css(theme.memmax)});
text = new TextField();
text.width = WIDTH;
text.height = 50;
text.styleSheet = style;
text.condenseWhite = true;
text.selectable = false;
text.mouseEnabled = false;
graph = new Bitmap();
graph.y = 50;
rectangle = new Rectangle((WIDTH - 1), 0, 1, (HEIGHT - 50));
addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
}
private function init(_arg1:Event):void{
graphics.beginFill(theme.bg);
graphics.drawRect(0, 0, WIDTH, HEIGHT);
graphics.endFill();
addChild(text);
graph.bitmapData = new BitmapData(WIDTH, (HEIGHT - 50), false, theme.bg);
addChild(graph);
addEventListener(MouseEvent.CLICK, onClick);
addEventListener(Event.ENTER_FRAME, update);
}
private function destroy(_arg1:Event):void{
graphics.clear();
while (numChildren > 0) {
removeChildAt(0);
};
graph.bitmapData.dispose();
removeEventListener(MouseEvent.CLICK, onClick);
removeEventListener(Event.ENTER_FRAME, update);
}
private function update(_arg1:Event):void{
timer = getTimer();
if ((timer - 1000) > ms_prev){
ms_prev = timer;
mem = Number((System.totalMemory * 9.54E-7).toFixed(3));
mem_max = ((mem_max > mem)) ? mem_max : mem;
fps_graph = Math.min(graph.height, ((fps / stage.frameRate) * graph.height));
mem_graph = (Math.min(graph.height, Math.sqrt(Math.sqrt((mem * 5000)))) - 2);
mem_max_graph = (Math.min(graph.height, Math.sqrt(Math.sqrt((mem_max * 5000)))) - 2);
graph.bitmapData.scroll(-1, 0);
graph.bitmapData.fillRect(rectangle, theme.bg);
graph.bitmapData.setPixel((graph.width - 1), (graph.height - fps_graph), theme.fps);
graph.bitmapData.setPixel((graph.width - 1), (graph.height - ((timer - ms) >> 1)), theme.ms);
graph.bitmapData.setPixel((graph.width - 1), (graph.height - mem_graph), theme.mem);
graph.bitmapData.setPixel((graph.width - 1), (graph.height - mem_max_graph), theme.memmax);
xml.fps = ((("FPS: " + fps) + " / ") + stage.frameRate);
xml.mem = ("MEM: " + mem);
xml.memMax = ("MAX: " + mem_max);
fps = 0;
};
fps++;
xml.ms = ("MS: " + (timer - ms));
ms = timer;
text.htmlText = xml;
}
private function onClick(_arg1:MouseEvent):void{
if (((mouseY / height) > 0.5)){
stage.frameRate--;
} else {
stage.frameRate++;
};
xml.fps = ((("FPS: " + fps) + " / ") + stage.frameRate);
text.htmlText = xml;
}
private function hex2css(_arg1:int):String{
return (("#" + _arg1.toString(16)));
}
}
}//package net.hires.debug
Section 130
//BigObstacleObject (objects.BigObstacleObject)
package objects {
import flash.display.*;
import players.*;
public class BigObstacleObject extends Objects {
public var xGrid:int;
public var yGrid:int;
public function BigObstacleObject(_arg1:Sprite, _arg2:Player, _arg3:int, _arg4:int):void{
indestructible = true;
this.xGrid = _arg3;
this.yGrid = _arg4;
super(_arg1, _arg2, C.BIG_SPRITE_SIZE, C.BIG_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.bigObjBmp;
}
override protected function setupFrames():void{
objSprite.setIdleColRow(xGrid, yGrid);
}
}
}//package objects
Section 131
//BreakBrick1Object (objects.BreakBrick1Object)
package objects {
import flash.display.*;
import players.*;
public class BreakBrick1Object extends Objects {
public function BreakBrick1Object(_arg1:Sprite, _arg2:Player){
obstacle = true;
stayWhenDead = true;
super(_arg1, _arg2, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.brickBmp;
}
override protected function setupFrames():void{
objSprite.rows.push(new RowClass(3, 1, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(4, 2, OBJECT_STATE_BREAK));
objSprite.setDeadColRow(3, 2);
objSprite.playRow(0);
}
}
}//package objects
Section 132
//BreakBrick2Object (objects.BreakBrick2Object)
package objects {
import flash.display.*;
import players.*;
public class BreakBrick2Object extends Objects {
public function BreakBrick2Object(_arg1:Sprite, _arg2:Player){
obstacle = true;
super(_arg1, _arg2, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.brickBmp;
}
override protected function setupFrames():void{
objSprite.setIdleColRow(0, 3);
objSprite.rows.push(new RowClass(3, 4, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(5, 5, OBJECT_STATE_BREAK));
}
}
}//package objects
Section 133
//BreakRoadblock1Object (objects.BreakRoadblock1Object)
package objects {
import flash.display.*;
import players.*;
public class BreakRoadblock1Object extends Objects {
public function BreakRoadblock1Object(_arg1:Sprite, _arg2:Player){
obstacle = true;
super(_arg1, _arg2, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.roadBlockBmp;
}
override protected function setupFrames():void{
objSprite.rows.push(new RowClass(3, 1, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(6, 2, OBJECT_STATE_BREAK));
}
}
}//package objects
Section 134
//BreakRoadblock2Object (objects.BreakRoadblock2Object)
package objects {
import flash.display.*;
import players.*;
public class BreakRoadblock2Object extends Objects {
public function BreakRoadblock2Object(_arg1:Sprite, _arg2:Player){
obstacle = true;
super(_arg1, _arg2, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.roadBlockBmp;
}
override protected function setupFrames():void{
objSprite.setIdleColRow(0, 3);
objSprite.rows.push(new RowClass(3, 4, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(6, 5, OBJECT_STATE_BREAK));
}
}
}//package objects
Section 135
//BreakRoadblock3Object (objects.BreakRoadblock3Object)
package objects {
import flash.display.*;
import players.*;
public class BreakRoadblock3Object extends Objects {
public function BreakRoadblock3Object(_arg1:Sprite, _arg2:Player){
obstacle = true;
super(_arg1, _arg2, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.roadBlockBmp;
}
override protected function setupFrames():void{
objSprite.setIdleColRow(0, 6);
objSprite.rows.push(new RowClass(3, 7, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(6, 8, OBJECT_STATE_BREAK));
}
}
}//package objects
Section 136
//BreakWoodstripe1Object (objects.BreakWoodstripe1Object)
package objects {
import flash.display.*;
import players.*;
public class BreakWoodstripe1Object extends Objects {
public function BreakWoodstripe1Object(_arg1:Sprite, _arg2:Player){
obstacle = true;
super(_arg1, _arg2, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.woodStripeBmp;
}
override protected function setupFrames():void{
objSprite.rows.push(new RowClass(3, 1, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(3, 2, OBJECT_STATE_BREAK));
}
}
}//package objects
Section 137
//BreakWoodstripe2Object (objects.BreakWoodstripe2Object)
package objects {
import flash.display.*;
import players.*;
public class BreakWoodstripe2Object extends Objects {
public function BreakWoodstripe2Object(_arg1:Sprite, _arg2:Player){
obstacle = true;
super(_arg1, _arg2, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.woodStripeBmp;
}
override protected function setupFrames():void{
objSprite.setIdleColRow(0, 3);
objSprite.rows.push(new RowClass(3, 4, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(3, 5, OBJECT_STATE_BREAK));
}
}
}//package objects
Section 138
//CarSearchObject (objects.CarSearchObject)
package objects {
import flash.display.*;
import players.*;
public class CarSearchObject extends Objects {
public var number:int;
public function CarSearchObject(_arg1:Sprite, _arg2:Player, _arg3:int):void{
searchable = false;
obstacle = false;
indestructible = true;
this.number = _arg3;
super(_arg1, _arg2, 160, 160);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.searchObjCar;
}
override protected function setupFrames():void{
objSprite.frames.push(new FakeMovieClip(0, number, "idle"));
objSprite.frames.push(new FakeMovieClip(1, number, "search"));
objSprite.frames.push(new FakeMovieClip(1, number, "searchhalf"));
}
}
}//package objects
Section 139
//Door (objects.Door)
package objects {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class Door extends SpriteSheetMovieClip {
private var layer:Sprite;
public static const DOOR_APPEAR_ANIMATION_START:String = "doorAppearAnimationStart";
public static const DOOR_APPEAR_ANIMATION_END:String = "doorAppearAnimationEnd";
public function Door(_arg1:Sprite){
this.layer = _arg1;
x = (C.GAME_WIDTH / 2);
y = (((C.GAME_HEIGHT / 5) * 3) - _arg1.y);
_arg1.addChild(this);
super(ObjectBitmap.doorBmp, 102, 120);
setupFrames();
gotoAndPlay(DOOR_APPEAR_ANIMATION_START);
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Door_loop");
}
protected function setupFrames():void{
var _local1 = 6;
var _local2:int;
while (_local2 < _local1) {
if (_local2 == 0){
frames.push(new FakeMovieClip(_local2, 0, DOOR_APPEAR_ANIMATION_START));
} else {
if (_local2 == (_local1 - 1)){
frames.push(new FakeMovieClip(_local2, 0, DOOR_APPEAR_ANIMATION_END));
} else {
frames.push(new FakeMovieClip(_local2, 0));
};
};
_local2++;
};
}
private function loop(_arg1:Event):void{
if (currentLabel == DOOR_APPEAR_ANIMATION_END){
stop();
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
EC.remove(this);
super.destroy();
}
}
}//package objects
Section 140
//ExplodeCarObject (objects.ExplodeCarObject)
package objects {
import flash.display.*;
import players.*;
public class ExplodeCarObject extends Objects {
public function ExplodeCarObject(_arg1:Sprite, _arg2:Player):void{
explosion = true;
metal = true;
obstacle = false;
stayWhenDead = true;
super(_arg1, _arg2, C.EXPLODE_OBJECT_SPRITE_SIZE, C.EXPLODE_OBJECT_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.carBmp;
}
override protected function setupFrames():void{
objSprite.rows.push(new RowClass(3, 1, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(4, 2, OBJECT_STATE_EXPLODE_A));
objSprite.rows.push(new RowClass(4, 3, OBJECT_STATE_EXPLODE_B));
objSprite.setDeadColRow(0, 4);
}
}
}//package objects
Section 141
//ExplodePropane1Object (objects.ExplodePropane1Object)
package objects {
import flash.display.*;
import players.*;
public class ExplodePropane1Object extends Objects {
public function ExplodePropane1Object(_arg1:Sprite, _arg2:Player){
explosion = true;
obstacle = true;
metal = true;
super(_arg1, _arg2, C.EXPLODE_OBJECT_SPRITE_SIZE, C.EXPLODE_OBJECT_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.propane1Bmp;
}
override protected function setupFrames():void{
objSprite.rows.push(new RowClass(3, 1, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(4, 2, OBJECT_STATE_EXPLODE_A));
objSprite.rows.push(new RowClass(4, 3, OBJECT_STATE_EXPLODE_B));
}
}
}//package objects
Section 142
//ExplodePropane2Object (objects.ExplodePropane2Object)
package objects {
import flash.display.*;
import players.*;
public class ExplodePropane2Object extends Objects {
public function ExplodePropane2Object(_arg1:Sprite, _arg2:Player){
explosion = true;
obstacle = true;
metal = true;
super(_arg1, _arg2, C.EXPLODE_OBJECT_SPRITE_SIZE, C.EXPLODE_OBJECT_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.propane2Bmp;
}
override protected function setupFrames():void{
objSprite.rows.push(new RowClass(3, 1, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(4, 2, OBJECT_STATE_EXPLODE_A));
objSprite.rows.push(new RowClass(4, 3, OBJECT_STATE_EXPLODE_B));
}
}
}//package objects
Section 143
//ExplodeVanObject (objects.ExplodeVanObject)
package objects {
import flash.display.*;
import players.*;
public class ExplodeVanObject extends Objects {
public function ExplodeVanObject(_arg1:Sprite, _arg2:Player):void{
explosion = true;
metal = true;
searchable = false;
obstacle = false;
stayWhenDead = true;
super(_arg1, _arg2, 220, 220);
searchAOE = 150;
}
override protected function setupSprite():void{
bmp = ObjectBitmap.vanBmp;
}
override protected function setupFrames():void{
objSprite.rows.push(new RowClass(2, 1, OBJECT_STATE_HIT));
objSprite.rows.push(new RowClass(4, 2, OBJECT_STATE_EXPLODE_A));
objSprite.rows.push(new RowClass(4, 3, OBJECT_STATE_EXPLODE_B));
objSprite.setDeadColRow(0, 4);
}
}
}//package objects
Section 144
//IndestructibleObstacleObject (objects.IndestructibleObstacleObject)
package objects {
import flash.display.*;
import players.*;
public class IndestructibleObstacleObject extends Objects {
public var xGrid:int;
public var yGrid:int;
public function IndestructibleObstacleObject(_arg1:Sprite, _arg2:Player, _arg3:int, _arg4:int):void{
indestructible = true;
this.xGrid = _arg3;
this.yGrid = _arg4;
super(_arg1, _arg2, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.obstacleObjBmp;
}
override protected function setupFrames():void{
objSprite.setIdleColRow(xGrid, yGrid);
}
}
}//package objects
Section 145
//LampLightObject (objects.LampLightObject)
package objects {
import flash.display.*;
import players.*;
public class LampLightObject extends Objects {
public var number:int;
public function LampLightObject(_arg1:Sprite, _arg2:Player, _arg3:int):void{
indestructible = true;
this.number = _arg3;
super(_arg1, _arg2, 152, 152);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.lampLightBmp;
}
override protected function setupFrames():void{
objSprite.setIdleColRow(number, 0);
}
}
}//package objects
Section 146
//LampObject (objects.LampObject)
package objects {
import flash.display.*;
import players.*;
public class LampObject extends Objects {
public var num:int;
public function LampObject(_arg1:Sprite, _arg2:Player, _arg3:int):void{
indestructible = true;
this.num = _arg3;
super(_arg1, _arg2, 18, 150);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.lampBmp;
}
override protected function setupFrames():void{
objSprite.setIdleColRow(num, 0);
}
}
}//package objects
Section 147
//ObjectBitmap (objects.ObjectBitmap)
package objects {
import flash.display.*;
public class ObjectBitmap {
public static var carBmp:Bitmap;
public static var vanBmp:Bitmap;
public static var bigObjBmp:Bitmap;
public static var propane1Bmp:Bitmap;
public static var propane2Bmp:Bitmap;
public static var woodStripeBmp:Bitmap;
public static var roadBlockBmp:Bitmap;
public static var brickBmp:Bitmap;
public static var obstacleObjBmp:Bitmap;
public static var searchObjCar:Bitmap;
public static var searchObjVan:Bitmap;
public static var searchObjBmp:Bitmap;
public static var miscIndicateBmp:Bitmap;
public static var miscSearchShrineBmp:Bitmap;
public static var lampBmp:Bitmap;
public static var lampLightBmp:Bitmap;
public static var doorBmp:Bitmap;
public static function init():void{
carBmp = new Bitmap(new obj_explode_car1(C.GAME_WIDTH, C.GAME_HEIGHT));
vanBmp = new Bitmap(new obj_explode_van(C.GAME_WIDTH, C.GAME_HEIGHT));
bigObjBmp = new Bitmap(new obj_obstacle_big(C.GAME_WIDTH, C.GAME_HEIGHT));
propane1Bmp = new Bitmap(new obj_explode_propane1(C.GAME_WIDTH, C.GAME_HEIGHT));
propane2Bmp = new Bitmap(new obj_explode_propane2(C.GAME_WIDTH, C.GAME_HEIGHT));
searchObjBmp = new Bitmap(new obj_search(C.GAME_WIDTH, C.GAME_HEIGHT));
searchObjCar = new Bitmap(new obj_search_car(C.GAME_WIDTH, C.GAME_HEIGHT));
searchObjVan = new Bitmap(new obj_search_van(C.GAME_WIDTH, C.GAME_HEIGHT));
woodStripeBmp = new Bitmap(new obj_break_woodstripe(C.GAME_WIDTH, C.GAME_HEIGHT));
roadBlockBmp = new Bitmap(new obj_break_roadblock(C.GAME_WIDTH, C.GAME_HEIGHT));
brickBmp = new Bitmap(new obj_break_brick(C.GAME_WIDTH, C.GAME_HEIGHT));
obstacleObjBmp = new Bitmap(new Objects_obstacle(C.GAME_WIDTH, C.GAME_HEIGHT));
searchObjBmp = new Bitmap(new obj_search(C.GAME_WIDTH, C.GAME_HEIGHT));
miscIndicateBmp = new Bitmap(new miscIndicate(C.GAME_WIDTH, C.GAME_HEIGHT));
miscSearchShrineBmp = new Bitmap(new misc_searchshine(C.GAME_WIDTH, C.GAME_HEIGHT));
lampBmp = new Bitmap(new obj_lamp(C.GAME_WIDTH, C.GAME_HEIGHT));
lampLightBmp = new Bitmap(new obj_lamplight(C.GAME_WIDTH, C.GAME_HEIGHT));
doorBmp = new Bitmap(new door(C.GAME_WIDTH, C.GAME_HEIGHT));
trace("Objects Sprites Init");
}
}
}//package objects
Section 148
//Objects (objects.Objects)
package objects {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import flash.utils.*;
import fl.motion.*;
import players.*;
import guns.*;
public class Objects extends MovieClip {
protected var searchAOE:int;// = 60
public var hitpoint:int;// = 50
public var indestructible:Boolean;// = false
public var explosion:Boolean;// = false
public var stayWhenDead:Boolean;// = false
public var obstacle:Boolean;// = false
public var searchable:Boolean;// = false
public var metal:Boolean;// = false
public var layer:Sprite;
private var searchBarLayer:Sprite;
private var target;
private var dead:Boolean;// = false
public var searchText:MovieClip;
private var searchIndicator:MovieClip;
private var _searchFSM:int;
private var searchSoundTime:int;
private var searchSoundTimer:Timer;
private var searchPerc:Number;
private var searchIsPlaying:Boolean;// = false
private var searchSpeed:Number;
private var searchShine:SearchShine;
protected var bmp:Bitmap;
protected var objSprite:SpriteSheetObject;
protected var searchResult:String;
public static const SEARCH_STATE_NONE:int = 0;
public static const SEARCH_STATE_SEARCH:int = 1;
public static const SEARCH_STATE_HALF:int = 2;
public static const SEARCH_STATE_DONE:int = 3;
public static const OBJECT_STATE_IDLE:String = "idle";
public static const OBJECT_STATE_HIT:String = "hit";
public static const OBJECT_STATE_BREAK:String = "break";
public static const OBJECT_STATE_EXPLODE_A:String = "explodeA";
public static const OBJECT_STATE_EXPLODE_B:String = "explodeB";
public static const SEARCH_OBJECT_INDICATOR:String = "searchObjIndicator";
public function Objects(_arg1:Sprite, _arg2:Player, _arg3:int, _arg4:int, _arg5:Sprite=null):void{
searchSpeed = S.searchSpeed;
super();
setupSprite();
objSprite = new SpriteSheetObject(bmp, _arg3, _arg4, stayWhenDead);
setupFrames();
addChild(objSprite);
setChildIndex(objSprite, 0);
this.layer = _arg1;
this.searchBarLayer = _arg5;
this.target = _arg2;
checkObjectTypeAndSet();
addEventListeners();
searchSoundTime = (SoundManager.instance.getDuration(Sounds.OBJ_SEARCH) * 0.9);
searchSoundTimer = new Timer(searchSoundTime, 1);
EC.add(searchSoundTimer, TimerEvent.TIMER, searchSoundTimerHandler, false, 0, true, "searchSoundtimer");
}
public function addEventListeners():void{
EC.add(objSprite, C.ANIMATION_COMPLETE, removeSelf, false, 0, true, "Objects_Animation_Complete");
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Objects");
}
public function checkObjectTypeAndSet():void{
var _local1:Color;
if (searchable){
if (searchBarLayer){
};
searchIndicator = new GUI_indicator();
searchIndicator.indicator.txt.text = "EMPTY";
searchText = new objTxt();
searchText.stop();
if (searchBarLayer){
searchBarLayer.addChild(searchText);
} else {
searchIndicator.y = (y - 80);
addChild(searchText);
};
searchPerc = 0;
searchText.searchBar.width = searchPerc;
setSearchFSM(SEARCH_STATE_NONE);
};
if (obstacle){
Main.obstacleObjectCollisionList.addItem(this);
};
if (!indestructible){
Main.bulletToObjectCollisionList.addItem(this);
_local1 = new Color();
_local1.setTint(0xB40000, 0.15);
};
}
protected function setupSprite():void{
bmp = ObjectBitmap.searchObjBmp;
}
protected function setupFrames():void{
objSprite.frames.push(new FakeMovieClip(0, 0, "idle"));
objSprite.frames.push(new FakeMovieClip(1, 0, "search"));
objSprite.frames.push(new FakeMovieClip(1, 0, "searchhalf"));
}
private function getSearchResult():void{
var _local1:int = searchResult.indexOf("_");
if (_local1 != -1){
searchResult = searchResult.slice(0, _local1);
};
switch (searchResult){
case C.SEARCH_MONEY_500:
S.moneyEarn(300);
searchIndicator.indicator.txt.text = "CASH $300";
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_CASH, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_CASH_ANT, 1);
};
break;
case C.SEARCH_MONEY_1000:
S.moneyEarn(500);
searchIndicator.indicator.txt.text = "CASH $500";
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_MORECASH, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_MORECASH_ANT, 1);
};
break;
case C.SEARCH_HEALTH_20:
S.healPlayer(15);
searchIndicator.indicator.txt.text = "HP +15%";
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_HEALTH, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_HEALTH_ANT, 1);
};
break;
case C.SEARCH_HEALTH_50:
S.healPlayer(40);
searchIndicator.indicator.txt.text = "HP +40%";
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_MOREHEALTH, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_MOREHEALTH_ANT, 1);
};
break;
case C.SEARCH_MAG_1:
target.increaseMag(1);
S.ammoSearched = (S.ammoSearched + 1);
searchIndicator.indicator.txt.text = "AMMO +1";
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_AMMO, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_AMMO_ANT, 1);
};
break;
case C.SEARCH_MAG_3:
target.increaseMag(3);
S.ammoSearched = (S.ammoSearched + 1);
searchIndicator.indicator.txt.text = "AMMO +3";
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_MOREAMMO, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_MOREAMMO_ANT, 1);
};
break;
case C.SEARCH_MGUN:
target.newWeaponCombo(MachineGun);
if ((target.gunArray[0] is MachineGun)){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_MGUN1, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_MGUN1_ANT, 1);
};
} else {
if ((target.gunArray[0] is MachineGun2)){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_MGUN2, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_MGUN2_ANT, 1);
};
} else {
if ((target.gunArray[0] is HeavyMachineGun)){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_HMGUN, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_HMGUN_ANT, 1);
};
};
};
};
searchIndicator.indicator.txt.text = target.weaponString();
break;
case C.SEARCH_SHOTGUN:
target.newWeaponCombo(ShotGun);
if ((target.gunArray[0] is ShotGun)){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_SGUN1, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_SGUN1_ANT, 1);
};
} else {
if ((target.gunArray[0] is ShotGun2)){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_SGUN2, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_SGUN2_ANT, 1);
};
} else {
if ((target.gunArray[0] is Rocket)){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_ROCKET, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_ROCKET_ANT, 1);
};
};
};
};
searchIndicator.indicator.txt.text = target.weaponString();
break;
case C.SEARCH_ARMORPIERCING:
target.newWeaponCombo(ArmorPiercing);
if ((target.gunArray[0] is ArmorPiercing)){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_AGUN1, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_AGUN1_ANT, 1);
};
} else {
if ((target.gunArray[0] is ArmorPiercing2)){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_AGUN2, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_AGUN2_ANT, 1);
};
} else {
if ((target.gunArray[0] is Laser)){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_LASER, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_LASER_ANT, 1);
};
};
};
};
searchIndicator.indicator.txt.text = target.weaponString();
break;
default:
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_EMPTY, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_EMPTY_ANT, 1);
};
break;
};
}
protected function loop(_arg1:Event):void{
if (((searchable) && (!(target.dead)))){
searchLoop();
};
if (explosion){
explosionLoop();
};
searchSpeed = S.searchSpeed;
}
protected function setSearchFSM(_arg1:int):void{
_searchFSM = _arg1;
switch (_arg1){
case SEARCH_STATE_NONE:
searchText.gotoAndStop("idle");
objSprite.gotoAndStop("idle");
searchText.searchBar.visible = false;
searchText.itemText.visible = false;
break;
case SEARCH_STATE_SEARCH:
searchText.gotoAndStop("search");
objSprite.gotoAndStop("search");
searchText.searchBar.visible = true;
if (searchBarLayer){
searchIndicator.x = x;
searchIndicator.y = ((y - (height / 2)) - 50);
searchText.x = x;
searchText.y = ((y - (height / 2)) + 30);
};
break;
case SEARCH_STATE_HALF:
searchText.gotoAndStop("searchhalf");
objSprite.gotoAndStop("searchhalf");
searchText.itemText.visible = true;
break;
case SEARCH_STATE_DONE:
searchComplete();
break;
};
}
public function setSearchShineToSearchObject(_arg1:SearchShine):void{
searchShine = _arg1;
}
public function get searchFSM():int{
return (_searchFSM);
}
private function searchComplete():void{
objSprite.gotoAndStop("idle");
SoundManager.instance.stopSound(Sounds.OBJ_SEARCH);
searchIsPlaying = false;
searchSoundTimer.stop();
searchShine.removeSelf();
getSearchResult();
searchText.gotoAndPlay("found");
if (searchBarLayer){
searchBarLayer.addChild(searchIndicator);
} else {
addChild(searchIndicator);
};
searchIndicator.play();
}
private function searchLoop():void{
switch (_searchFSM){
case SEARCH_STATE_NONE:
detectBeingSearched();
break;
case SEARCH_STATE_SEARCH:
detectNotBeingSearched();
beingSearched();
break;
case SEARCH_STATE_HALF:
detectNotBeingSearched();
beingSearchHalf();
break;
case SEARCH_STATE_DONE:
break;
};
}
private function explosionLoop():void{
if (objSprite.dealDmg){
trace("DEAL EXPLOSION DMG");
dispatchEvent(new Event("explosion"));
objSprite.dealDmg = false;
};
}
private function detectBeingSearched():void{
var _local1:int = Main.rescuedList.length;
var _local2:int;
while (_local2 < _local1) {
if (Utils.BoundingCircle(x, (layer.y + y), Main.rescuedList[_local2].x, Main.rescuedList[_local2].y, searchAOE)){
setSearchFSM(SEARCH_STATE_SEARCH);
return;
};
_local2++;
};
}
private function detectNotBeingSearched():void{
var _local1:Boolean;
var _local2:int = Main.rescuedList.length;
var _local3:int;
while (_local3 < _local2) {
if (Utils.BoundingCircle(x, (layer.y + y), Main.rescuedList[_local3].x, Main.rescuedList[_local3].y, searchAOE)){
_local1 = true;
};
_local3++;
};
if (!_local1){
setSearchFSM(SEARCH_STATE_NONE);
SoundManager.instance.stopSound(Sounds.OBJ_SEARCH);
searchIsPlaying = false;
searchSoundTimer.stop();
if (searchPerc > 0){
searchPerc = (searchPerc - 10);
};
};
}
private function beingSearched():void{
searchPerc = (searchPerc + searchSpeed);
if (!searchIsPlaying){
SoundManager.instance.playSound(Sounds.OBJ_SEARCH);
searchIsPlaying = true;
searchSoundTimer.start();
};
searchText.searchBar.width = ((64 * searchPerc) * 0.01);
if (searchPerc > 50){
setSearchFSM(SEARCH_STATE_HALF);
};
}
private function beingSearchHalf():void{
searchPerc = (searchPerc + searchSpeed);
searchText.searchBar.width = ((64 * searchPerc) * 0.01);
if (searchPerc >= 100){
setSearchFSM(SEARCH_STATE_DONE);
S.totalobjectsearched++;
};
if (!searchIsPlaying){
SoundManager.instance.playSound(Sounds.OBJ_SEARCH);
searchIsPlaying = true;
searchSoundTimer.start();
};
}
private function searchSoundTimerHandler(_arg1:TimerEvent):void{
searchIsPlaying = false;
}
private function startExplosionAnimation():void{
if (explosion){
objSprite.playRow(OBJECT_STATE_EXPLODE_A);
SoundManager.instance.playSound(Sounds.OBJ_EXPLODE);
};
}
private function objectDead():void{
if (dead){
return;
};
if (!indestructible){
Main.bulletToObjectCollisionList.removeItem(this);
};
if (((obstacle) && (!(stayWhenDead)))){
Main.obstacleObjectCollisionList.removeItem(this);
};
if (explosion){
startExplosionAnimation();
} else {
objSprite.playRow(OBJECT_STATE_BREAK);
SoundManager.instance.playSound(Sounds.OBJ_BREAK);
};
dead = true;
}
public function takeHit(_arg1:int):void{
if (hitpoint < 0){
return;
};
hitpoint = (hitpoint - _arg1);
if (hitpoint <= 0){
objectDead();
} else {
objSprite.playRow(OBJECT_STATE_HIT);
if (metal){
SoundManager.instance.playSound(Sounds.OBJ_METAL);
} else {
SoundManager.instance.playSound(Sounds.OBJ_WOOD);
};
};
}
public function removeSelf(_arg1:Event=null):void{
var _local2:int;
if (searchBarLayer){
_local2 = 0;
while (_local2 < searchBarLayer.numChildren) {
if ((searchBarLayer.getChildAt(_local2) is SearchShine)){
} else {
searchBarLayer.removeChildAt(_local2);
};
_local2++;
};
};
if (layer.contains(this)){
layer.removeChild(this);
} else {
trace("Layer does not contain this in Object.as, this error should not appear");
};
objSprite.destroy();
EC.remove(searchSoundTimer);
EC.remove(this);
}
}
}//package objects
Section 149
//objTxt (objects.objTxt)
package objects {
import flash.display.*;
import flash.text.*;
public dynamic class objTxt extends MovieClip {
public var searchBar:MovieClip;
public var itemText:TextField;
public function objTxt(){
addFrameScript(49, frame50, 51, frame52, 54, frame55, 71, frame72);
}
function frame50(){
itemText.visible = false;
searchBar.visible = false;
}
function frame52(){
itemText.visible = true;
searchBar.visible = true;
}
function frame55(){
itemText.visible = false;
searchBar.visible = false;
}
function frame72(){
stop();
visible = false;
}
}
}//package objects
Section 150
//SearchObject (objects.SearchObject)
package objects {
import flash.display.*;
import players.*;
public class SearchObject extends Objects {
public var number:int;
public function SearchObject(_arg1:Sprite, _arg2:Player, _arg3:int, _arg4:String, _arg5:Sprite):void{
searchable = true;
indestructible = true;
this.number = _arg3;
super(_arg1, _arg2, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE, _arg5);
searchResult = _arg4;
var _local6:int = searchResult.indexOf("_");
if (_local6 != -1){
searchResult = searchResult.slice(0, _local6);
};
switch (searchResult){
case C.SEARCH_MONEY_500:
_arg4 = "CASH $300";
break;
case C.SEARCH_MONEY_1000:
_arg4 = "CASH $500";
break;
case C.SEARCH_HEALTH_20:
_arg4 = "HP +15%";
break;
case C.SEARCH_HEALTH_50:
_arg4 = "HP +40%";
break;
case C.SEARCH_MAG_1:
_arg4 = "AMMO +1";
break;
case C.SEARCH_MAG_3:
_arg4 = "AMMO +3";
break;
case C.SEARCH_MGUN:
_arg4 = "M.GUN";
break;
case C.SEARCH_SHOTGUN:
_arg4 = "SHOTGUN";
break;
case C.SEARCH_ARMORPIERCING:
_arg4 = "A.PIERCE";
break;
default:
_arg4 = "EMPTY";
break;
};
if (_arg4.indexOf("instance") == -1){
searchText.itemText.text = _arg4;
} else {
searchText.itemText.text = "EMPTY";
};
}
override protected function setupSprite():void{
bmp = ObjectBitmap.searchObjBmp;
}
override protected function setupFrames():void{
objSprite.frames.push(new FakeMovieClip(0, number, "idle"));
objSprite.frames.push(new FakeMovieClip(1, number, "search"));
objSprite.frames.push(new FakeMovieClip(1, number, "searchhalf"));
}
}
}//package objects
Section 151
//SearchShine (objects.SearchShine)
package objects {
import flash.display.*;
import _as.fla.events.*;
public class SearchShine extends SpriteSheetMovieClip {
public const SEARCH_SHRINE_START:String = "searchShineStartAnimation";
public var layer:Sprite;
public function SearchShine(_arg1:Sprite){
this.layer = _arg1;
_arg1.addChild(this);
super(ObjectBitmap.miscSearchShrineBmp, C.SPRITE_SIZE, C.SPRITE_SIZE);
infiniteLoop = true;
setupFrames();
gotoAndPlay(SEARCH_SHRINE_START);
}
protected function setupFrames():void{
var _local1 = 12;
var _local2:int;
while (_local2 < _local1) {
if (_local2 == 0){
frames.push(new FakeMovieClip(0, 0, SEARCH_SHRINE_START));
} else {
frames.push(new FakeMovieClip(_local2, 0, "labelDoesntMatter"));
};
_local2++;
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
}
}
}//package objects
Section 152
//VanSearchObject (objects.VanSearchObject)
package objects {
import flash.display.*;
import players.*;
public class VanSearchObject extends Objects {
public var number:int;
public function VanSearchObject(_arg1:Sprite, _arg2:Player, _arg3:int):void{
obstacle = true;
searchable = false;
indestructible = true;
this.number = _arg3;
super(_arg1, _arg2, 220, 220);
}
override protected function setupSprite():void{
bmp = ObjectBitmap.searchObjVan;
}
override protected function setupFrames():void{
objSprite.frames.push(new FakeMovieClip(0, number, "idle"));
objSprite.frames.push(new FakeMovieClip(1, number, "search"));
objSprite.frames.push(new FakeMovieClip(1, number, "searchhalf"));
}
}
}//package objects
Section 153
//Percent (org.casalib.math.Percent)
package org.casalib.math {
public class Percent {
protected var _percent:Number;
public function Percent(_arg1:Number=0, _arg2:Boolean=true){
if (_arg2){
this.decimalPercentage = _arg1;
} else {
this.percentage = _arg1;
};
}
public function get percentage():Number{
return ((100 * this._percent));
}
public function set percentage(_arg1:Number):void{
this._percent = (_arg1 * 0.01);
}
public function get decimalPercentage():Number{
return (this._percent);
}
public function set decimalPercentage(_arg1:Number):void{
this._percent = _arg1;
}
public function equals(_arg1:Percent):Boolean{
return ((this.decimalPercentage == _arg1.decimalPercentage));
}
public function clone():Percent{
return (new Percent(this.decimalPercentage));
}
public function valueOf():Number{
return (this.decimalPercentage);
}
public function toString():String{
return (this.decimalPercentage.toString());
}
}
}//package org.casalib.math
Section 154
//ArrayUtil (org.casalib.util.ArrayUtil)
package org.casalib.util {
public class ArrayUtil {
public static function getItemByKeys(_arg1:Array, _arg2:Object){
var _local4:*;
var _local5:Boolean;
var _local6:String;
var _local3 = -1;
while (++_local3 < _arg1.length) {
_local4 = _arg1[_local3];
_local5 = true;
for (_local6 in _arg2) {
if (((!(_local4.hasOwnProperty(_local6))) || (!((_local4[_local6] == _arg2[_local6]))))){
_local5 = false;
};
};
if (_local5){
return (_local4);
};
};
return (null);
}
public static function getItemsByKeys(_arg1:Array, _arg2:Object):Array{
var _local5:*;
var _local6:Boolean;
var _local7:String;
var _local3:Array = new Array();
var _local4 = -1;
while (++_local4 < _arg1.length) {
_local5 = _arg1[_local4];
_local6 = true;
for (_local7 in _arg2) {
if (((!(_local5.hasOwnProperty(_local7))) || (!((_local5[_local7] == _arg2[_local7]))))){
_local6 = false;
};
};
if (_local6){
_local3.push(_local5);
};
};
return (_local3);
}
public static function getItemByAnyKey(_arg1:Array, _arg2:Object){
var _local4:*;
var _local5:String;
var _local3 = -1;
while (++_local3 < _arg1.length) {
_local4 = _arg1[_local3];
for (_local5 in _arg2) {
if (((_local4.hasOwnProperty(_local5)) && ((_local4[_local5] == _arg2[_local5])))){
return (_local4);
};
};
};
return (null);
}
public static function getItemsByAnyKey(_arg1:Array, _arg2:Object):Array{
var _local5:*;
var _local6:Boolean;
var _local7:String;
var _local3:Array = new Array();
var _local4 = -1;
while (++_local4 < _arg1.length) {
_local5 = _arg1[_local4];
_local6 = true;
for (_local7 in _arg2) {
if (((_local5.hasOwnProperty(_local7)) && ((_local5[_local7] == _arg2[_local7])))){
_local3.push(_local5);
break;
};
};
};
return (_local3);
}
public static function getItemByKey(_arg1:Array, _arg2:String, _arg3){
var _local4:*;
for each (_local4 in _arg1) {
if (_local4.hasOwnProperty(_arg2)){
if (_local4[_arg2] == _arg3){
return (_local4);
};
};
};
return (null);
}
public static function getItemsByKey(_arg1:Array, _arg2:String, _arg3):Array{
var _local5:*;
var _local4:Array = new Array();
for each (_local5 in _arg1) {
if (_local5.hasOwnProperty(_arg2)){
if (_local5[_arg2] == _arg3){
_local4.push(_local5);
};
};
};
return (_local4);
}
public static function getItemByType(_arg1:Array, _arg2:Class){
var _local3:*;
for each (_local3 in _arg1) {
if ((_local3 is _arg2)){
return (_local3);
};
};
return (null);
}
public static function getItemsByType(_arg1:Array, _arg2:Class):Array{
var _local4:*;
var _local3:Array = new Array();
for each (_local4 in _arg1) {
if ((_local4 is _arg2)){
_local3.push(_local4);
};
};
return (_local3);
}
public static function getValuesByKey(_arg1:Array, _arg2:String):Array{
var _local4:*;
var _local3:Array = new Array();
for each (_local4 in _arg1) {
if (_local4.hasOwnProperty(_arg2)){
_local3.push(_local4[_arg2]);
};
};
return (_local3);
}
public static function equals(_arg1:Array, _arg2:Array):Boolean{
var _local3:uint = _arg1.length;
if (_local3 != _arg2.length){
return (false);
};
while (_local3--) {
if (_arg1[_local3] != _arg2[_local3]){
return (false);
};
};
return (true);
}
public static function addItemsAt(_arg1:Array, _arg2:Array, _arg3:int=2147483647):Boolean{
if (_arg2.length == 0){
return (false);
};
var _local4:Array = _arg2.concat();
_local4.splice(0, 0, _arg3, 0);
_arg1.splice.apply(null, _local4);
return (true);
}
public static function removeDuplicates(_arg1:Array):Array{
return (_arg1.filter(ArrayUtil._removeDuplicatesFilter));
}
protected static function _removeDuplicatesFilter(_arg1, _arg2:int, _arg3:Array):Boolean{
return (((_arg2)==0) ? true : (_arg3.lastIndexOf(_arg1, (_arg2 - 1)) == -1));
}
public static function removeItem(_arg1:Array, _arg2):uint{
var _local3:int = _arg1.indexOf(_arg2);
var _local4:uint;
while (_local3 != -1) {
_arg1.splice(_local3, 1);
_local3 = _arg1.indexOf(_arg2, _local3);
_local4++;
};
return (_local4);
}
public static function removeItems(_arg1:Array, _arg2:Array):Boolean{
var _local3:Boolean;
var _local4:uint = _arg1.length;
while (_local4--) {
if (_arg2.indexOf(_arg1[_local4]) > -1){
_arg1.splice(_local4, 1);
_local3 = true;
};
};
return (_local3);
}
public static function retainItems(_arg1:Array, _arg2:Array):Boolean{
var _local3:Boolean;
var _local4:uint = _arg1.length;
while (_local4--) {
if (_arg2.indexOf(_arg1[_local4]) == -1){
_arg1.splice(_local4, 1);
_local3 = true;
};
};
return (_local3);
}
public static function contains(_arg1:Array, _arg2):uint{
var _local3:int = _arg1.indexOf(_arg2, 0);
var _local4:uint;
while (_local3 != -1) {
_local3 = _arg1.indexOf(_arg2, (_local3 + 1));
_local4++;
};
return (_local4);
}
public static function containsAll(_arg1:Array, _arg2:Array):Boolean{
var _local3:uint = _arg2.length;
while (_local3--) {
if (_arg1.indexOf(_arg2[_local3]) == -1){
return (false);
};
};
return (true);
}
public static function containsAny(_arg1:Array, _arg2:Array):Boolean{
var _local3:uint = _arg2.length;
while (_local3--) {
if (_arg1.indexOf(_arg2[_local3]) > -1){
return (true);
};
};
return (false);
}
public static function getIndexOfDifference(_arg1:Array, _arg2:Array, _arg3:uint=0):int{
var _local4:int = (_arg3 - 1);
while (++_local4 < _arg1.length) {
if (_arg1[_local4] != _arg2[_local4]){
return (_local4);
};
};
return (-1);
}
public static function random(_arg1:Array){
return (ArrayUtil.randomize(_arg1)[0]);
}
public static function randomize(_arg1:Array):Array{
var _local2:Array = new Array();
var _local3:Array = _arg1.sort(ArrayUtil._sortRandom, Array.RETURNINDEXEDARRAY);
var _local4 = -1;
while (++_local4 < _arg1.length) {
_local2.push(_arg1[_local3[_local4]]);
};
return (_local2);
}
protected static function _sortRandom(_arg1, _arg2):int{
return ((NumberUtil.randomIntegerWithinRange(0, 1)) ? 1 : -1);
}
public static function sum(_arg1:Array):Number{
var _local2:Number = 0;
var _local3:uint = _arg1.length;
while (_local3--) {
_local2 = (_local2 + _arg1[_local3]);
};
return (_local2);
}
public static function average(_arg1:Array):Number{
if (_arg1.length == 0){
return (0);
};
return ((ArrayUtil.sum(_arg1) / _arg1.length));
}
public static function getLowestValue(_arg1:Array):Number{
return (_arg1[_arg1.sort((16 | 8))[0]]);
}
public static function getHighestValue(_arg1:Array):Number{
return (_arg1[_arg1.sort((16 | 8))[(_arg1.length - 1)]]);
}
}
}//package org.casalib.util
Section 155
//ConversionUtil (org.casalib.util.ConversionUtil)
package org.casalib.util {
public class ConversionUtil {
public static function bitsToBytes(_arg1:Number):Number{
return ((_arg1 / 8));
}
public static function bitsToKilobits(_arg1:Number):Number{
return ((_arg1 / 0x0400));
}
public static function bitsToKilobytes(_arg1:Number):Number{
return ((_arg1 / 0x2000));
}
public static function bytesToBits(_arg1:Number):Number{
return ((_arg1 * 8));
}
public static function bytesToKilobits(_arg1:Number):Number{
return ((_arg1 / 128));
}
public static function bytesToKilobytes(_arg1:Number):Number{
return ((_arg1 / 0x0400));
}
public static function kilobitsToBits(_arg1:Number):Number{
return ((_arg1 * 0x0400));
}
public static function kilobitsToBytes(_arg1:Number):Number{
return ((_arg1 * 128));
}
public static function kilobitsToKilobytes(_arg1:Number):Number{
return ((_arg1 / 8));
}
public static function kilobytesToBits(_arg1:Number):Number{
return ((_arg1 * 0x2000));
}
public static function kilobytesToBytes(_arg1:Number):Number{
return ((_arg1 * 0x0400));
}
public static function kilobytesToKilobits(_arg1:Number):Number{
return ((_arg1 * 8));
}
public static function millisecondsToSeconds(_arg1:Number):Number{
return ((_arg1 / 1000));
}
public static function millisecondsToMinutes(_arg1:Number):Number{
return (ConversionUtil.secondsToMinutes(ConversionUtil.millisecondsToSeconds(_arg1)));
}
public static function millisecondsToHours(_arg1:Number):Number{
return (ConversionUtil.minutesToHours(ConversionUtil.millisecondsToMinutes(_arg1)));
}
public static function millisecondsToDays(_arg1:Number):Number{
return (ConversionUtil.hoursToDays(ConversionUtil.millisecondsToHours(_arg1)));
}
public static function secondsToMilliseconds(_arg1:Number):Number{
return ((_arg1 * 1000));
}
public static function secondsToMinutes(_arg1:Number):Number{
return ((_arg1 / 60));
}
public static function secondsToHours(_arg1:Number):Number{
return (ConversionUtil.minutesToHours(ConversionUtil.secondsToMinutes(_arg1)));
}
public static function secondsToDays(_arg1:Number):Number{
return (ConversionUtil.hoursToDays(ConversionUtil.secondsToHours(_arg1)));
}
public static function minutesToMilliseconds(_arg1:Number):Number{
return (ConversionUtil.secondsToMilliseconds(ConversionUtil.minutesToSeconds(_arg1)));
}
public static function minutesToSeconds(_arg1:Number):Number{
return ((_arg1 * 60));
}
public static function minutesToHours(_arg1:Number):Number{
return ((_arg1 / 60));
}
public static function minutesToDays(_arg1:Number):Number{
return (ConversionUtil.hoursToDays(ConversionUtil.minutesToHours(_arg1)));
}
public static function hoursToMilliseconds(_arg1:Number):Number{
return (ConversionUtil.secondsToMilliseconds(ConversionUtil.hoursToSeconds(_arg1)));
}
public static function hoursToSeconds(_arg1:Number):Number{
return (ConversionUtil.minutesToSeconds(ConversionUtil.hoursToMinutes(_arg1)));
}
public static function hoursToMinutes(_arg1:Number):Number{
return ((_arg1 * 60));
}
public static function hoursToDays(_arg1:Number):Number{
return ((_arg1 / 24));
}
public static function daysToMilliseconds(_arg1:Number):Number{
return (ConversionUtil.secondsToMilliseconds(ConversionUtil.daysToSeconds(_arg1)));
}
public static function daysToSeconds(_arg1:Number):Number{
return (ConversionUtil.minutesToSeconds(ConversionUtil.daysToMinutes(_arg1)));
}
public static function daysToMinutes(_arg1:Number):Number{
return (ConversionUtil.hoursToMinutes(ConversionUtil.daysToHours(_arg1)));
}
public static function daysToHours(_arg1:Number):Number{
return ((_arg1 * 24));
}
public static function degreesToRadians(_arg1:Number):Number{
return ((_arg1 * (Math.PI / 180)));
}
public static function radiansToDegrees(_arg1:Number):Number{
return ((_arg1 * (180 / Math.PI)));
}
}
}//package org.casalib.util
Section 156
//GeomUtil (org.casalib.util.GeomUtil)
package org.casalib.util {
import flash.geom.*;
public class GeomUtil {
public static function rotatePoint(_arg1:Point, _arg2:Point, _arg3:Number):void{
var _local4:Number = ConversionUtil.degreesToRadians(_arg3);
var _local5:Number = (_arg1.x - _arg2.x);
var _local6:Number = (_arg1.y - _arg2.y);
_arg1.x = (((Math.cos(_local4) * _local5) - (Math.sin(_local4) * _local6)) + _arg2.x);
_arg1.y = (((Math.sin(_local4) * _local5) + (Math.cos(_local4) * _local6)) + _arg2.y);
}
public static function angle(_arg1:Point, _arg2:Point):Number{
return ((Math.atan2((_arg2.y - _arg1.y), (_arg2.x - _arg1.x)) / (Math.PI / 180)));
}
public static function getRectanglePerimeter(_arg1:Rectangle):Number{
return (((_arg1.width * 2) + (_arg1.height * 2)));
}
}
}//package org.casalib.util
Section 157
//NumberUtil (org.casalib.util.NumberUtil)
package org.casalib.util {
import org.casalib.math.*;
public class NumberUtil {
public static function isEqual(_arg1:Number, _arg2:Number, _arg3:Number=0):Boolean{
return ((Math.abs((_arg1 - _arg2)) <= Math.abs(_arg3)));
}
public static function min(_arg1, _arg2):Number{
if (((((isNaN(_arg1)) && (isNaN(_arg2)))) || ((((_arg1 == null)) && ((_arg2 == null)))))){
return (NaN);
};
if ((((_arg1 == null)) || ((_arg2 == null)))){
return (((_arg2)==null) ? _arg1 : _arg2);
};
if (((isNaN(_arg1)) || (isNaN(_arg2)))){
return ((isNaN(_arg2)) ? _arg1 : _arg2);
};
return (Math.min(_arg1, _arg2));
}
public static function max(_arg1, _arg2):Number{
if (((((isNaN(_arg1)) && (isNaN(_arg2)))) || ((((_arg1 == null)) && ((_arg2 == null)))))){
return (NaN);
};
if ((((_arg1 == null)) || ((_arg2 == null)))){
return (((_arg2)==null) ? _arg1 : _arg2);
};
if (((isNaN(_arg1)) || (isNaN(_arg2)))){
return ((isNaN(_arg2)) ? _arg1 : _arg2);
};
return (Math.max(_arg1, _arg2));
}
public static function randomWithinRange(_arg1:Number, _arg2:Number):Number{
return ((_arg1 + (Math.random() * (_arg2 - _arg1))));
}
public static function randomIntegerWithinRange(_arg1:int, _arg2:int):int{
return (Math.round(NumberUtil.randomWithinRange(_arg1, _arg2)));
}
public static function isEven(_arg1:Number):Boolean{
return (((_arg1 & 1) == 0));
}
public static function isOdd(_arg1:Number):Boolean{
return (!(NumberUtil.isEven(_arg1)));
}
public static function isInteger(_arg1:Number):Boolean{
return (((_arg1 % 1) == 0));
}
public static function isPrime(_arg1:Number):Boolean{
if ((((_arg1 == 1)) || ((_arg1 == 2)))){
return (true);
};
if (NumberUtil.isEven(_arg1)){
return (false);
};
var _local2:Number = Math.sqrt(_arg1);
var _local3:Number = 3;
while (_local3 <= _local2) {
if ((_arg1 % _local3) == 0){
return (false);
};
_local3++;
};
return (true);
}
public static function roundDecimalToPlace(_arg1:Number, _arg2:uint):Number{
var _local3:Number = Math.pow(10, _arg2);
return ((Math.round((_arg1 * _local3)) / _local3));
}
public static function loopIndex(_arg1:int, _arg2:uint):uint{
if (_arg1 < 0){
_arg1 = (_arg2 + (_arg1 % _arg2));
};
if (_arg1 >= _arg2){
return ((_arg1 % _arg2));
};
return (_arg1);
}
public static function isBetween(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
return (!((((_arg1 < Math.min(_arg2, _arg3))) || ((_arg1 > Math.max(_arg2, _arg3))))));
}
public static function constrain(_arg1:Number, _arg2:Number, _arg3:Number):Number{
return (Math.min(Math.max(_arg1, Math.min(_arg2, _arg3)), Math.max(_arg2, _arg3)));
}
public static function createStepsBetween(_arg1:Number, _arg2:Number, _arg3:Number):Array{
_arg3++;
var _local4:uint;
var _local5:Array = new Array();
var _local6:Number = ((_arg2 - _arg1) / _arg3);
while (++_local4 < _arg3) {
_local5.push(((_local4 * _local6) + _arg1));
};
return (_local5);
}
public static function interpolate(_arg1:Percent, _arg2:Number, _arg3:Number):Number{
return ((_arg2 + ((_arg3 - _arg2) * _arg1.decimalPercentage)));
}
public static function normalize(_arg1:Number, _arg2:Number, _arg3:Number):Percent{
return (new Percent(((_arg1 - _arg2) / (_arg3 - _arg2))));
}
public static function map(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{
return ((_arg4 + ((_arg5 - _arg4) * ((_arg1 - _arg2) / (_arg3 - _arg2)))));
}
public static function getWeightedAverage(_arg1:Number, _arg2:Number, _arg3:Number):Number{
return ((_arg1 + ((_arg2 - _arg1) / _arg3)));
}
public static function format(_arg1:Number, _arg2:uint, _arg3:String=null, _arg4:String=null):String{
var _local7:Array;
var _local8:uint;
var _local9:uint;
var _local10:String;
var _local5:String = _arg1.toString();
var _local6:uint = _local5.length;
if (_arg3 != null){
_local7 = _local5.split("");
_local8 = 3;
_local9 = _local7.length;
while (--_local9 > 0) {
--_local8;
if (_local8 == 0){
_local8 = 3;
_local7.splice(_local9, 0, _arg3);
};
};
_local5 = _local7.join("");
};
if (_arg2 != 0){
if (_local6 < _arg2){
_arg2 = (_arg2 - _local6);
_local10 = ((_arg4)==null) ? "0" : _arg4;
while (_arg2--) {
_local5 = (_local10 + _local5);
};
};
};
return (_local5);
}
public static function getOrdinalSuffix(_arg1:int):String{
if ((((_arg1 >= 10)) && ((_arg1 <= 20)))){
return ("th");
};
if (_arg1 == 0){
return ("");
};
switch ((_arg1 % 10)){
case 3:
return ("rd");
case 2:
return ("nd");
case 1:
return ("st");
default:
return ("th");
};
}
public static function addLeadingZero(_arg1:Number):String{
return (((_arg1)<10) ? ("0" + _arg1) : _arg1.toString());
}
}
}//package org.casalib.util
Section 158
//ObjectUtil (org.casalib.util.ObjectUtil)
package org.casalib.util {
import flash.utils.*;
public class ObjectUtil {
public static function contains(_arg1:Object, _arg2:Object):Boolean{
var _local3:String;
for (_local3 in _arg1) {
if (_arg1[_local3] == _arg2){
return (true);
};
};
return (false);
}
public static function clone(_arg1:Object):Object{
var _local2:ByteArray = new ByteArray();
_local2.writeObject(_arg1);
_local2.position = 0;
return (_local2.readObject());
}
public static function getKeys(_arg1:Object):Array{
var _local3:String;
var _local2:Array = new Array();
for (_local3 in _arg1) {
_local2.push(_local3);
};
return (_local2);
}
public static function isUndefined(_arg1:Object):Boolean{
return ((_arg1 is undefined));
}
public static function isNull(_arg1:Object):Boolean{
return ((_arg1 === null));
}
public static function isEmpty(_arg1):Boolean{
var _local2:String;
if (_arg1 == undefined){
return (true);
};
if ((_arg1 is Number)){
return (isNaN(_arg1));
};
if ((((_arg1 is Array)) || ((_arg1 is String)))){
return ((_arg1.length == 0));
};
if ((_arg1 is Object)){
for (_local2 in _arg1) {
return (false);
};
return (true);
};
return (false);
}
}
}//package org.casalib.util
Section 159
//SingletonUtil (org.casalib.util.SingletonUtil)
package org.casalib.util {
import flash.utils.*;
public class SingletonUtil {
protected static var _singletonMap:Dictionary;
public static function singleton(_arg1:Class){
if (SingletonUtil._singletonMap == null){
SingletonUtil._singletonMap = new Dictionary();
};
return (((_arg1 in SingletonUtil._singletonMap)) ? SingletonUtil._singletonMap[_arg1] : SingletonUtil._singletonMap[_arg1] = new (_arg1));
}
}
}//package org.casalib.util
Section 160
//StageReference (org.casalib.util.StageReference)
package org.casalib.util {
import flash.display.*;
import flash.utils.*;
public class StageReference {
public static const STAGE_DEFAULT:String = "stageDefault";
protected static var _stageMap:Dictionary;
public static function getStage(_arg1:String="stageDefault"):Stage{
if (!(_arg1 in StageReference._getMap())){
throw (new Error((("Cannot get Stage (\"" + _arg1) + "\") before it has been set.")));
};
return (StageReference._getMap()[_arg1]);
}
public static function setStage(_arg1:Stage, _arg2:String="stageDefault"):void{
StageReference._getMap()[_arg2] = _arg1;
}
public static function removeStage(_arg1:String="stageDefault"):Boolean{
if (!(_arg1 in StageReference._getMap())){
return (false);
};
StageReference.setStage(null, _arg1);
return (true);
}
public static function getIds():Array{
return (ObjectUtil.getKeys(StageReference._getMap()));
}
public static function getStageId(_arg1:Stage):String{
var _local3:String;
var _local2:Dictionary = StageReference._getMap();
for (_local3 in _local2) {
if (_local2[_local3] == _arg1){
return (_local3);
};
};
return (null);
}
protected static function _getMap():Dictionary{
if (StageReference._stageMap == null){
StageReference._stageMap = new Dictionary();
};
return (StageReference._stageMap);
}
}
}//package org.casalib.util
Section 161
//AnthonySpecial (players.AnthonySpecial)
package players {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import zombies.*;
import org.casalib.util.*;
public class AnthonySpecial extends SpriteSheetDirectionAnimation {
private const BLINK_RATE:int = 3;
private const BLINK_DURATION:int = 2000;
public var player:Player;
public var layer:Sprite;
public var trailLayer:Sprite;
private var playerInvulTimer:FakeTimer;
private var startBlinkTimer:FakeTimer;
public var touchArray:Array;
private var blinking:Boolean;// = false
private var blinkCounter:int;// = 0
public var mcArray:Array;
private var loadNewTrail:Boolean;// = false
public static const TRAIL_HEIGHT = 48;
public static const TRAIL_WIDTH = 48;
public static const TRAIL_SIZE:int = 48;
public static const TRAIL_OFFSET_X:Number = 10;
public static const TRAIL_OFFSET_Y:Number = 10;
public static const TRAIL_CONNECT_OFFSET:Number = -10;
public function AnthonySpecial(_arg1:Sprite, _arg2:Player, _arg3:Sprite){
playerInvulTimer = new FakeTimer();
startBlinkTimer = new FakeTimer();
touchArray = [];
mcArray = [];
this.layer = _arg1;
this.player = _arg2;
this.trailLayer = _arg3;
super(PlayerBitmap.antInvincibleBmp, 92, 92, false);
initSpriteAnimation();
}
private function initSpriteAnimation():void{
walkNumFrames = 6;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
lookIdleFrame = 6;
animationFSM = C.WALK;
}
public function addEventListeners():void{
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "AnthonySpecial");
var _local1:int;
while (_local1 < mcArray.length) {
mcArray[_local1].animationTimer.start();
_local1++;
};
}
public function removeEventListeners():void{
EC.remove(this, Event.ENTER_FRAME, loop);
var _local1:int;
while (_local1 < mcArray.length) {
mcArray[_local1].animationTimer.stop();
_local1++;
};
}
public function activateInvul(_arg1:Number, _arg2:Number, _arg3:int):void{
this.x = _arg1;
this.y = _arg2;
playerInvulTimer.delay = _arg3;
playerInvulTimer.start();
startBlinkTimer.delay = (_arg3 - BLINK_DURATION);
startBlinkTimer.start();
blinking = false;
visible = true;
frameNumber = 0;
layer.addChild(this);
addEventListeners();
loadNewTrail = true;
}
protected function loop(_arg1:Event):void{
var _local4:AnthonySpecialTrail;
var _local5:Zombie;
var _local6:Boolean;
if (checkInvulEndTimer()){
return;
};
if (!blinking){
checkStartBlinkTimer();
} else {
blinkCounter++;
if (blinkCounter > BLINK_RATE){
visible = !(visible);
blinkCounter = 0;
};
};
if (((!((x == player.x))) || (!((y == player.y))))){
x = player.x;
y = player.y;
_local4 = createNewTrail2();
if (_local4 != null){
addTrail(_local4);
};
};
if (NumberUtil.isOdd(player.btmDirection)){
direction = player.btmDirection;
};
var _local2:int = Main.enemyList.length;
var _local3:int;
while (_local3 < _local2) {
_local5 = Main.enemyList[_local3];
if (((!(_local5)) || (Utils.isBoss(_local5)))){
} else {
_local6 = Utils.objectsInRadius(this, _local5, C.ANT_SPECIAL_AOE);
if (_local6){
_local5.lastDamagedBy = C.DMG_TYPE_PLAYER_SPECIAL;
_local5.takeHit(C.ANT_SPECIAL_DMG[(S.rank - 1)]);
};
};
_local3++;
};
}
private function createNewTrail2():AnthonySpecialTrail{
var _local2:AnthonySpecialTrail;
var _local4:Number;
var _local5:Number;
var _local1:Number = player.y;
if (mcArray.length == 0){
_local2 = new AnthonySpecialTrail(trailLayer);
_local2.x = player.x;
_local2.y = _local1;
return (_local2);
};
var _local3:AnthonySpecialTrail = mcArray[(mcArray.length - 1)];
if ((((Math.abs((player.x - _local3.x)) < TRAIL_SIZE)) && ((Math.abs((_local1 - _local3.y)) < TRAIL_SIZE)))){
return (null);
};
_local2 = new AnthonySpecialTrail(trailLayer);
if (player.x != _local4){
_local4 = _local3.x;
if (player.x > _local4){
_local2.x = (_local4 + TRAIL_SIZE);
} else {
_local2.x = (_local4 - TRAIL_SIZE);
};
_local2.y = _local1;
} else {
if (player.x != _local5){
_local5 = _local3.y;
if (_local1 > _local5){
_local2.y = (_local5 + TRAIL_SIZE);
} else {
_local2.y = (_local5 - TRAIL_SIZE);
};
_local2.x = player.x;
};
};
return (_local2);
}
private function addTrail(_arg1:AnthonySpecialTrail):void{
if (_arg1 == null){
return;
};
trailLayer.addChild(_arg1);
mcArray.push(_arg1);
}
private function checkInvulEndTimer():Boolean{
if (!playerInvulTimer.getTrigger()){
return (false);
};
removeSelf();
return (true);
}
private function checkStartBlinkTimer():void{
if (!startBlinkTimer.getTrigger()){
return;
};
blinking = true;
}
public function removeSelf():void{
var _local1:int;
while (_local1 < mcArray.length) {
mcArray[_local1].removeSelf();
_local1++;
};
mcArray = [];
if (layer.contains(this)){
layer.removeChild(this);
};
EC.remove("AnthonySpecial");
}
}
}//package players
Section 162
//AnthonySpecialTrail (players.AnthonySpecialTrail)
package players {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class AnthonySpecialTrail extends SpriteSheetMovieClip {
public var layer:Sprite;
private static const PLAYER_TRAIL_ANIMATION_START:String = "playerTrailAnimationStart";
private static const PLAYER_TRAIL_ANIMATION_END:String = "playerTrailAnimationEnd";
private static const FRAME_PER_ROW:int = 5;
private static const TOTAL_FRAME:int = 20;
public function AnthonySpecialTrail(_arg1:Sprite){
this.layer = _arg1;
super(PlayerBitmap.antSpecialTrailBmp, 48, 48);
setupFrames();
gotoAndPlay(PLAYER_TRAIL_ANIMATION_START);
}
public function addEventListeners():void{
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "AnthonySpecialTrail_loop");
}
protected function setupFrames():void{
var _local4:int;
var _local1:int;
var _local2:int = ((TOTAL_FRAME / FRAME_PER_ROW) + 1);
var _local3:int;
while (_local3 < _local2) {
_local4 = 0;
while (_local4 < FRAME_PER_ROW) {
if (_local1 == 0){
frames.push(new FakeMovieClip(_local4, _local3, PLAYER_TRAIL_ANIMATION_START));
} else {
if (_local1 == (TOTAL_FRAME - 1)){
frames.push(new FakeMovieClip(_local4, _local3, PLAYER_TRAIL_ANIMATION_END));
} else {
frames.push(new FakeMovieClip(_local4, _local3));
};
};
_local1++;
_local4++;
};
_local3++;
};
}
private function loop(_arg1:Event):void{
if (currentLabel == PLAYER_TRAIL_ANIMATION_END){
stop();
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
}
}
}//package players
Section 163
//JonDeath (players.JonDeath)
package players {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class JonDeath extends MovieClip {
private var stageRef:Stage;
private var rootRef;
public function JonDeath(_arg1:Stage, _arg2, _arg3:Number, _arg4:Number){
this.stageRef = _arg1;
this.rootRef = _arg2;
this.x = _arg3;
this.y = _arg4;
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "loop");
}
function loop(_arg1:Event):void{
if (currentFrame == totalFrames){
removeSelf();
};
}
private function removeSelf():void{
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
EC.remove(this);
rootRef.gameOver();
}
}
}//package players
Section 164
//JonSpecial (players.JonSpecial)
package players {
import flash.display.*;
import com.cheezeworld.utils.*;
import zombies.*;
import flash.geom.*;
import objects.*;
import bullets.*;
public class JonSpecial {
public var layer:Sprite;
private var collidedArray:Array;
public function JonSpecial(_arg1:Sprite){
collidedArray = [];
super();
this.layer = _arg1;
}
public function startExplosion():void{
var _local6:Zombie;
var _local7:Objects;
SoundManager.instance.playSound(Sounds.OBJ_EXPLODE, 1);
var _local1:Number = 325;
var _local2:Number = (320 - layer.y);
if (S.getAvailableSpecialLevel() == 0){
layer.addChild(new RocketExplosion(layer, _local1, (_local2 - 90), C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
layer.addChild(new RocketExplosion(layer, (_local1 - 90), (_local2 + 50), C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
layer.addChild(new RocketExplosion(layer, (_local1 + 90), (_local2 + 50), C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
} else {
if (S.getAvailableSpecialLevel() == 1){
layer.addChild(new RocketExplosion(layer, (_local1 - 90), (_local2 - 100), C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
layer.addChild(new RocketExplosion(layer, (_local1 + 90), (_local2 - 100), C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
layer.addChild(new RocketExplosion(layer, (_local1 - 90), (_local2 + 100), C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
layer.addChild(new RocketExplosion(layer, (_local1 + 90), (_local2 + 100), C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
} else {
if (S.getAvailableSpecialLevel() == 2){
layer.addChild(new RocketExplosion(layer, _local1, _local2, C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
layer.addChild(new RocketExplosion(layer, (_local1 - 170), _local2, C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
layer.addChild(new RocketExplosion(layer, (_local1 + 170), _local2, C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
layer.addChild(new RocketExplosion(layer, _local1, (_local2 - 170), C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
layer.addChild(new RocketExplosion(layer, _local1, (_local2 + 170), C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()], true));
};
};
};
collidedArray = [];
var _local3:Point = new Point((C.GAME_WIDTH / 2), (C.GAME_HEIGHT / 2));
var _local4:int = Main.enemyList.length;
var _local5:int;
_local5 = (Main.enemyList.length - 1);
while (_local5 >= 0) {
_local6 = Main.enemyList[_local5];
if (S.getAvailableSpecialLevel() != 2){
if (((Utils.objectsInRadius(_local3, _local6, C.JON_SPECIAL_AOE[S.getAvailableSpecialLevel()])) && ((collidedArray.indexOf(_local6) == -1)))){
_local6.lastDamagedBy = C.DMG_TYPE_PLAYER_SPECIAL;
_local6.takeHit(C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()]);
collidedArray.push(_local6);
};
} else {
if (Utils.isInScreen(_local6)){
_local6.lastDamagedBy = C.DMG_TYPE_PLAYER_SPECIAL;
_local6.takeHit(C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()]);
collidedArray.push(_local6);
};
};
_local5--;
};
_local4 = Main.objectList.length;
_local5 = (Main.objectList.length - 1);
while (_local5 >= 0) {
_local7 = Main.objectList[_local5];
if (S.getAvailableSpecialLevel() != 2){
if (((Utils.objectsInRadius(_local3, _local7, C.JON_SPECIAL_AOE[S.getAvailableSpecialLevel()])) && ((collidedArray.indexOf(_local7) == -1)))){
_local7.takeHit(C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()]);
collidedArray.push(_local7);
};
} else {
if (Utils.isInScreen(_local7)){
_local7.takeHit(C.JON_SPECIAL_DMG[S.getAvailableSpecialLevel()]);
collidedArray.push(_local7);
};
};
_local5--;
};
}
}
}//package players
Section 165
//Player (players.Player)
package players {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import flash.geom.*;
import com.greensock.*;
import fl.motion.*;
import guns.*;
import org.casalib.util.*;
import com.senocular.utils.*;
import com.greensock.easing.*;
import flash.ui.*;
public class Player extends Sprite {
private var stageRef:Stage;
private var rootRef;
public var bulletLayer:Sprite;
public var depthLayer:Sprite;
private var _fireFSM:int;
private var speed:Number;
private var backSpeedMultiplier:Number;
private var struggleSpeedMultiplier:Number;
private var coinMagAOE:Number;// = 50
private var angle:Number;// = 0
public var gunNo:Number;// = 0
public var machineGun:MachineGun;
public var machineGun2:MachineGun2;
public var heavyMachineGun:HeavyMachineGun;
public var armorPiercing:ArmorPiercing;
public var armorPiercing2:ArmorPiercing2;
public var shotGun:ShotGun;
public var shotGun2:ShotGun2;
public var laser:Laser;
public var rocket:Rocket;
public var gunArray:Array;
public var posX:Array;
public var posY:Array;
public var posXMove:Array;
public var posYMove:Array;
public var survivorMoved:Boolean;// = false
public var isStruggle:Boolean;// = false
private var redNow:Boolean;// = false
private var blinkRedTime:int;// = 3000
private var blinkRedTimer:FakeTimer;
private var blinking:Boolean;// = false
private var blinkCounter:int;
private var blinkDelay:int;// = 5
private var indicatorBlinkRedTimer:FakeTimer;
public var playerInvul:Boolean;
private var playerInvulTimer:FakeTimer;
private var marioFlashDelay:int;// = 200
private var marioFlashTimer:FakeTimer;
private var blinkRedDelay:int;// = 100
public var velX:Number;
public var velY:Number;
private var currentTopSprite:int;// = 0
private var btm:SpriteSheetDirectionAnimation;
private var topArray:Array;
private var _topDirection:int;
private var playerIndicator:MovieClip;
public var pCollisionBox:MovieClip;
public var pHitBox:MovieClip;
private var kickShapeArray:Array;
private var _kickNo:int;// = 0
private var dashDir:int;// = 0
private var distanceDashed:int;// = 0
public var pKick:PlayerKick;
public var anthonySpecial:AnthonySpecial;
public var pDash:PlayerDash;
public var jonSpecial:JonSpecial;
public var antFlash:MovieClip;
public var jonFlash:MovieClip;
public var pCastingAnimation:PlayerCastingAnimation;
public var antSpecialAnimation:MovieClip;
public var jonSpecialAnimation:MovieClip;
public var playingSpecialAnimation:Boolean;// = false
public var dead:Boolean;// = false
public static const PLAYER_STATE_NONE:int = 0;
public static const PLAYER_STATE_WALKING:int = 1;
public static var playerFSM:int;
public function Player(_arg1:Stage, _arg2, _arg3:Sprite, _arg4:Sprite):void{
backSpeedMultiplier = S.backSpeedReduction;
struggleSpeedMultiplier = (C.ZOMBIE_SLOW_FACTOR_DECIMAL - S.struggleSpeedReduction);
gunArray = [];
posX = [];
posY = [];
posXMove = [];
posYMove = [];
blinkRedTimer = new FakeTimer();
indicatorBlinkRedTimer = new FakeTimer(300, 0);
topArray = new Array(4);
kickShapeArray = [];
antFlash = new GUI_flash_ant();
jonFlash = new GUI_flash_jon();
antSpecialAnimation = new Special_ant();
jonSpecialAnimation = new Special_jon();
super();
this.stageRef = _arg1;
this.rootRef = _arg2;
this.bulletLayer = _arg4;
this.depthLayer = _arg3;
init();
}
private function init():void{
var _local1:Sprite;
var _local2:int;
btm = new SpriteSheetDirectionAnimation(PlayerBitmap.antBottomBmp, 64, 64, true);
initSpriteAnimation();
addChild(btm);
addChild(topArray[0]);
pHitBox = new hitBox();
pHitBox.visible = false;
addChild(pHitBox);
pCollisionBox = new playerCollisionBox();
pCollisionBox.alpha = 0.5;
pCollisionBox.x = -12;
pCollisionBox.y = 10;
pCollisionBox.visible = false;
addChild(pCollisionBox);
playerIndicator = new pIndicator();
playerIndicator.x = -30;
playerIndicator.y = 20;
addChild(playerIndicator);
setupKick();
setupDash();
anthonySpecial = new AnthonySpecial(depthLayer, this, (rootRef as Main).trailLayer);
jonSpecial = new JonSpecial(bulletLayer);
pCastingAnimation = new PlayerCastingAnimation(depthLayer);
addEventListeners();
initAllGuns();
Key.initialize(stageRef);
MouseClass.initialize(stageRef);
initDefaultValues();
newTimers();
setTimersDuration();
if (S.charSelected == C.JON){
_local1 = new Sprite();
_local2 = 104;
_local1.graphics.beginFill(0xFFCC00, 0);
_local1.graphics.drawRect(0, -((_local2 / 2)), 1, _local2);
_local1.graphics.endFill();
addChild(_local1);
};
indicatorBlinkRedTimer.start();
}
private function initDefaultValues():void{
playerFSM = PLAYER_STATE_NONE;
S.playerHP = S.playerMaxHP;
if (S.charSelected == C.JON){
speed = (C.JON_BASE_MS + S.speedMultiplier);
} else {
speed = (C.ANT_BASE_MS + S.speedMultiplier);
};
}
protected function setTimersDuration():void{
blinkRedTimer.duration = blinkRedTime;
}
private function newTimers():void{
marioFlashTimer = new FakeTimer(marioFlashDelay, 0);
playerInvulTimer = new FakeTimer(5000, 1);
}
public function addEventListeners():void{
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Player");
EC.add(stageRef, KeyboardEvent.KEY_DOWN, handleGameKeyPress, false, 0, true, "Player_KeyPress");
EC.add(pKick, C.ANIMATION_ATTACK_POINT, playerKickAttackPoint, false, 0, true, "Player_Kick_AttackPoint");
EC.add(pKick, C.ANIMATION_COMPLETE, playerKickAnimationComplete, false, 0, true, "Player_Kick_Complete");
EC.add(anthonySpecial, Event.REMOVED_FROM_STAGE, anthonySpecialComplete, false, 0, true, "Anothony_Special_Complete");
EC.add(pDash, C.ANIMATION_COMPLETE, playerDashAnimationComplete, false, 0, true, "Player_Dash_Complete");
EC.add(pCastingAnimation, C.ANIMATION_COMPLETE, playerCastingAnimationComplete, false, 0, true, "Player_Casting_Complete");
}
public function updateSpeed():void{
if (S.charSelected == C.JON){
speed = (C.JON_BASE_MS + S.speedMultiplier);
} else {
speed = (C.ANT_BASE_MS + S.speedMultiplier);
};
}
public function updateBackSpeed():void{
backSpeedMultiplier = (0.5 - S.backSpeedReduction);
}
public function updateStruggleSpeed():void{
struggleSpeedMultiplier = (C.ZOMBIE_SLOW_FACTOR_DECIMAL - S.struggleSpeedReduction);
}
public function updateCoinMagnet():void{
coinMagAOE = S.coinMagAOE;
}
protected function initSpriteAnimation(){
initAllTopSprite();
btm.walkNumFrames = 6;
btm.walkRow[C.DOWN] = 0;
btm.walkRow[C.DOWN_LEFT] = 1;
btm.walkRow[C.DOWN_RIGHT] = 1;
btm.walkRow[C.LEFT] = 2;
btm.walkRow[C.RIGHT] = 2;
btm.walkRow[C.UP_LEFT] = 3;
btm.walkRow[C.UP_RIGHT] = 3;
btm.walkRow[C.UP] = 4;
btm.lookIdleFrame = 6;
btm.animationFSM = C.IDLE;
}
private function initAllTopSprite():void{
if (S.charSelected == C.ANT){
topArray[C.PLAYER_TOP_PISTOL] = new SpriteSheetDirectionAnimation(PlayerBitmap.antPistolBmp, 76, 76, true);
topArray[C.PLAYER_TOP_PISTOL].attackDmgFrame = 3;
topArray[C.PLAYER_TOP_PISTOL].attackEndFrame = 3;
topArray[C.PLAYER_TOP_PISTOL].y = 0;
topArray[C.PLAYER_TOP_MGUN] = new SpriteSheetDirectionAnimation(PlayerBitmap.antMGunBmp, 104, 104, true);
topArray[C.PLAYER_TOP_MGUN].attackDmgFrame = 7;
topArray[C.PLAYER_TOP_MGUN].attackEndFrame = 7;
topArray[C.PLAYER_TOP_MGUN].y = -2;
topArray[C.PLAYER_TOP_SGUN] = new SpriteSheetDirectionAnimation(PlayerBitmap.antSGunBmp, 104, 104, true);
topArray[C.PLAYER_TOP_SGUN].attackDmgFrame = 4;
topArray[C.PLAYER_TOP_SGUN].attackEndFrame = 4;
topArray[C.PLAYER_TOP_SGUN].y = -4;
topArray[C.PLAYER_TOP_SPECIAL] = new SpriteSheetDirectionAnimation(PlayerBitmap.antSpecialBmp, 104, 104, true);
topArray[C.PLAYER_TOP_SPECIAL].attackDmgFrame = 4;
topArray[C.PLAYER_TOP_SPECIAL].attackEndFrame = 4;
topArray[C.PLAYER_TOP_SPECIAL].y = -4;
} else {
topArray[C.PLAYER_TOP_PISTOL] = new SpriteSheetDirectionAnimation(PlayerBitmap.jonMGunBmp, 76, 76, true);
topArray[C.PLAYER_TOP_PISTOL].attackDmgFrame = 5;
topArray[C.PLAYER_TOP_PISTOL].attackEndFrame = 5;
topArray[C.PLAYER_TOP_PISTOL].y = 0;
topArray[C.PLAYER_TOP_MGUN] = new SpriteSheetDirectionAnimation(PlayerBitmap.jonMGunBmp, 76, 76, true);
topArray[C.PLAYER_TOP_MGUN].attackDmgFrame = 5;
topArray[C.PLAYER_TOP_MGUN].attackEndFrame = 5;
topArray[C.PLAYER_TOP_MGUN].y = 0;
topArray[C.PLAYER_TOP_SGUN] = new SpriteSheetDirectionAnimation(PlayerBitmap.jonSGunBmp, 76, 76, true);
topArray[C.PLAYER_TOP_SGUN].attackDmgFrame = 3;
topArray[C.PLAYER_TOP_SGUN].attackEndFrame = 3;
topArray[C.PLAYER_TOP_SGUN].y = 0;
topArray[C.PLAYER_TOP_SPECIAL] = new SpriteSheetDirectionAnimation(PlayerBitmap.jonAGunBmp, 76, 76, true);
topArray[C.PLAYER_TOP_SPECIAL].attackDmgFrame = 3;
topArray[C.PLAYER_TOP_SPECIAL].attackEndFrame = 3;
topArray[C.PLAYER_TOP_SPECIAL].y = 0;
};
var _local1:int = topArray.length;
var _local2:int;
while (_local2 < _local1) {
topArray[_local2].attackRow[C.DOWN] = 0;
topArray[_local2].attackRow[C.DOWN_LEFT] = 1;
topArray[_local2].attackRow[C.DOWN_RIGHT] = 1;
topArray[_local2].attackRow[C.LEFT] = 2;
topArray[_local2].attackRow[C.RIGHT] = 2;
topArray[_local2].attackRow[C.UP_LEFT] = 3;
topArray[_local2].attackRow[C.UP_RIGHT] = 3;
topArray[_local2].attackRow[C.UP] = 4;
topArray[_local2].attackStartFrame = 1;
topArray[_local2].lookIdleFrame = 0;
topArray[_local2].animationFSM = C.ATTACK;
_local2++;
};
}
private function changePlayerTopSprite(_arg1:int):void{
if (_arg1 == currentTopSprite){
return;
};
if (contains(topArray[currentTopSprite])){
removeChild(topArray[currentTopSprite]);
};
addChild(topArray[_arg1]);
currentTopSprite = _arg1;
}
private function setupKick():void{
var _local1:Graphics;
var _local2:Shape = new Shape();
_local1 = _local2.graphics;
_local1.beginFill(0xFFCC00, 0.3);
var _local3 = 32;
_local1.drawRect(0, (-(_local3) / 2), C.PLAYER_KICK_LENGTH, _local3);
_local1.endFill();
kickShapeArray.push(_local2);
_local2 = new Shape();
_local1 = _local2.graphics;
_local1.lineStyle(1, 0, 0);
_local1.beginFill(16751001, 0.3);
var _local4:Number = ConversionUtil.degreesToRadians(C.PLAYER_KICK_LEVEL2_ANGLE);
drawArc(_local1, 0, 0, (-(_local4) / 2), ((-(_local4) / 2) + _local4), C.PLAYER_KICK_LENGTH, 1);
_local1.lineTo(0, 0);
_local1.endFill();
kickShapeArray.push(_local2);
_local2 = new Shape();
_local1 = _local2.graphics;
_local1.beginFill(0xCCFF00, 0.3);
_local1.drawCircle(0, 0, C.PLAYER_KICK_LENGTH);
_local1.endFill();
kickShapeArray.push(_local2);
setKickNo(_kickNo);
var _local5:int;
while (_local5 < kickShapeArray.length) {
kickShapeArray[_local5].visible = false;
_local5++;
};
pKick = new PlayerKick(depthLayer);
depthLayer.addChild(pKick);
}
private function setupDash():void{
pDash = new PlayerDash(depthLayer);
depthLayer.addChild(pDash);
}
private function setupDashDir():void{
switch (topDirection){
case C.UP:
dashDir = C.UP;
break;
case C.UP_LEFT:
dashDir = C.UP;
break;
case C.UP_RIGHT:
dashDir = C.UP;
break;
case C.DOWN:
dashDir = C.DOWN;
break;
case C.DOWN_LEFT:
dashDir = C.DOWN;
break;
case C.DOWN_RIGHT:
dashDir = C.DOWN;
break;
case C.LEFT:
dashDir = C.LEFT;
break;
case C.RIGHT:
dashDir = C.RIGHT;
break;
};
}
private function drawArc(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number){
var _local12:Point;
var _local13:Point;
var _local8:Number = Math.abs((_arg5 - _arg4));
var _local9:Number = (Math.floor((_local8 / (Math.PI / 4))) + 1);
var _local10:Number = ((_arg7 * _local8) / (2 * _local9));
var _local11:Number = (_arg6 / Math.cos(_local10));
_arg1.moveTo((_arg2 + (Math.cos(_arg4) * _arg6)), (_arg3 + (Math.sin(_arg4) * _arg6)));
var _local14:Number = 0;
while (_local14 < _local9) {
_arg5 = (_arg4 + _local10);
_arg4 = (_arg5 + _local10);
_local12 = new Point((_arg2 + (Math.cos(_arg5) * _local11)), (_arg3 + (Math.sin(_arg5) * _local11)));
_local13 = new Point((_arg2 + (Math.cos(_arg4) * _arg6)), (_arg3 + (Math.sin(_arg4) * _arg6)));
_arg1.curveTo(_local12.x, _local12.y, _local13.x, _local13.y);
_local14++;
};
}
private function handleGameKeyPress(_arg1:KeyboardEvent):void{
var _local2:ScoreHUD = SingletonUtil.singleton(ScoreHUD);
if (((!(S.playerActionFreeze)) && (!(S.gameMovementFreeze)))){
if (_arg1.keyCode == KeyCode.R){
gunArray[gunNo].reload();
};
if ((((_arg1.keyCode == Keyboard.SPACE)) && (_local2.sufficientStreak(getSpecialCost())))){
if ((((S.charSelected == C.ANT)) && (!(inAntSpecialMode())))){
playerCastSpecial();
} else {
if (S.charSelected == C.JON){
playerCastSpecial();
};
};
};
if ((((_arg1.keyCode == KeyCode.E)) && (_local2.sufficientStreak(C.PLAYER_ACTION_COST[S.actionLevel])))){
if ((((S.charSelected == C.ANT)) && (!(inAntSpecialMode())))){
setKickNo(S.actionLevel);
kickZombie();
S.actionUsed = (S.actionUsed + 1);
SoundManager.instance.playSound(Sounds.VO_KICK_ANT, 1);
_local2.updateStreak(-(C.PLAYER_ACTION_COST[S.actionLevel]));
} else {
if (S.charSelected == C.JON){
dashPlayer();
S.actionUsed = (S.actionUsed + 1);
SoundManager.instance.playSound(Sounds.VO_KICK, 1);
_local2.updateStreak(-(C.PLAYER_ACTION_COST[S.actionLevel]));
};
};
};
};
if (_arg1.ctrlKey){
};
}
private function initAllGuns():void{
switchToDefaultWeapon();
if (!S.gunLock){
machineGun2 = new MachineGun2(bulletLayer, rootRef);
gunArray.push(machineGun2);
heavyMachineGun = new HeavyMachineGun(bulletLayer, rootRef);
gunArray.push(heavyMachineGun);
armorPiercing = new ArmorPiercing(bulletLayer, rootRef);
gunArray.push(armorPiercing);
armorPiercing2 = new ArmorPiercing2(bulletLayer, rootRef);
gunArray.push(armorPiercing2);
laser = new Laser(bulletLayer, rootRef);
gunArray.push(laser);
shotGun = new ShotGun(bulletLayer, rootRef);
gunArray.push(shotGun);
shotGun2 = new ShotGun2(bulletLayer, rootRef);
gunArray.push(shotGun2);
rocket = new Rocket(bulletLayer, rootRef);
gunArray.push(rocket);
};
changePlayerTopSprite(gunArray[0].spriteType);
}
public function switchToDefaultWeapon():void{
var _local1:int = gunArray.length;
var _local2:int = (_local1 - 1);
while (_local2 >= 0) {
gunArray[_local2].removeSelf();
_local2--;
};
gunArray = [];
S.playerFreeze = false;
gunNo = 0;
if (S.charSelected == C.ANT){
machineGun = new MachineGun(bulletLayer, rootRef);
gunArray.push(machineGun);
} else {
shotGun = new ShotGun(bulletLayer, rootRef);
gunArray.push(shotGun);
};
changePlayerTopSprite(gunArray[0].spriteType);
}
public function newWeaponCombo(_arg1:Class, _arg2:Boolean=false):void{
rootRef.clearBulletSprite();
createNewWeapon(_arg1, _arg2);
setNewBulletSprite();
changePlayerTopSprite(gunArray[0].spriteType);
}
private function createNewWeapon(_arg1:Class, _arg2:Boolean):void{
var _local3:Class = returnResultWeapon(_arg1, _arg2);
if (_local3 == null){
return;
};
var _local4:* = new _local3(bulletLayer, rootRef);
var _local5:int = gunArray.length;
var _local6:int;
while (_local6 < _local5) {
gunArray[_local6].removeSelf();
_local6++;
};
gunArray = [];
gunArray.push(_local4);
gunArray[0].magazine = (gunArray[0].magazine + S.bulletMultiplier);
}
private function returnResultWeapon(_arg1:Class, _arg2:Boolean):Class{
var _local6:Array;
var _local7:Array;
var _local8:Array;
var _local3:Class = Utils.getClass(gunArray[gunNo]);
var _local4:int = _local3.WEAPON_LEVEL;
var _local5:int = _arg1.WEAPON_LEVEL;
if (_local3 == _arg1){
_local6 = getWeaponType(_arg1);
return (_local6[(_local5 + 1)]);
};
if (_local4 > _local5){
_local7 = getWeaponType(_arg1);
_local8 = getWeaponType(_local3);
if (ArrayUtil.equals(_local8, _local7)){
return (_local7[(_local4 + 1)]);
};
if (_arg2){
return (_arg1);
};
return (_local7[_local4]);
//unresolved jump
};
return (_arg1);
}
private function getWeaponType(_arg1:Class):Array{
var _local2:Array = [MachineGun, MachineGun2, HeavyMachineGun];
var _local3:Array = [ShotGun, ShotGun2, Rocket];
var _local4:Array = [ArmorPiercing, ArmorPiercing2, Laser];
if (_local2.indexOf(_arg1) >= 0){
return (_local2);
};
if (_local3.indexOf(_arg1) >= 0){
return (_local3);
};
if (_local4.indexOf(_arg1) >= 0){
return (_local4);
};
return (null);
}
public function weaponString():String{
var _local1:String = gunArray[gunNo].weaponName;
return (_local1);
}
public function increaseMag(_arg1:int):void{
gunArray[gunNo].magazine = (gunArray[gunNo].magazine + _arg1);
if (((!((((S.charSelected == C.ANT)) && ((gunArray[gunNo] is MachineGun))))) || ((((S.charSelected == C.JON)) && ((gunArray[gunNo] is ShotGun)))))){
if (gunArray[gunNo].magazine > 9){
gunArray[gunNo].magazine = 9;
};
};
}
private function checkSpecialAnimationComplete():void{
var _local1:* = SingletonUtil.singleton(ScoreHUD);
if (((stageRef.contains(antSpecialAnimation)) && ((antSpecialAnimation.currentFrame == antSpecialAnimation.totalFrames)))){
pCastingAnimation.removeSelf();
antSpecialAnimation.stop();
(rootRef as Main).chatLayer.removeChild(antSpecialAnimation);
abandonSurvivor();
SoundManager.instance.playSound(Sounds.VO_KICK_ANT, 1);
_local1.updateStreak(-(getSpecialCost()));
S.specialUsed++;
S.gameMovementFreeze = false;
playingSpecialAnimation = true;
} else {
if (((stageRef.contains(jonSpecialAnimation)) && ((jonSpecialAnimation.currentFrame == jonSpecialAnimation.totalFrames)))){
pCastingAnimation.removeSelf();
jonSpecialAnimation.stop();
(rootRef as Main).chatLayer.removeChild(jonSpecialAnimation);
setPlayerVisible(true);
activateJonSpecial();
jonSpecial.startExplosion();
SoundManager.instance.playSound(Sounds.VO_KICK, 1);
_local1.updateStreak(-(getSpecialCost()));
S.specialUsed++;
S.gameMovementFreeze = false;
playingSpecialAnimation = true;
};
};
}
protected function checkCommonTimers():void{
checkBlinkRedTimer();
checkMarioFlashTimer();
checkRemovePlayerInvul();
checkIndicatorBlinkRedTimer();
}
protected function checkBlinkRedTimer():void{
if (blinkRedTimer.getTrigger()){
redNow = false;
changeTint();
blinking = false;
};
}
private function checkMarioFlashTimer():void{
if (!marioFlashTimer.getTrigger()){
return;
};
var _local1:int = (marioFlashTimer.currentCount % 4);
var _local2:Color = new Color();
switch (_local1){
case 0:
_local2.setTint(0, 0);
break;
case 1:
_local2.setTint(0xB40000, 0.15);
break;
case 2:
_local2.setTint(16758393, 0.15);
break;
case 3:
_local2.setTint(5263480, 0.15);
break;
};
transform.colorTransform = _local2;
}
private function checkRemovePlayerInvul():void{
if (!playerInvulTimer.getTrigger()){
return;
};
var _local1:Color = new Color();
_local1.setTint(0, 0);
transform.colorTransform = _local1;
playerInvul = false;
marioFlashTimer.stop();
redNow = false;
}
public function loop(_arg1:Event):void{
checkSpecialAnimationComplete();
blinkRedCheck();
checkCommonTimers();
backSpeedMultiplier = S.backSpeedReduction;
struggleSpeedMultiplier = S.struggleSpeedReduction;
updateSpeed();
updateCoinMagnet();
if (!inAntSpecialMode()){
velX = 0;
velY = 0;
};
var _local2:int = x;
topArray[currentTopSprite].attackComplete = false;
if (S.gameMovementFreeze){
setFireFSM(C.FIRE_STATE_NONE);
} else {
if (S.playerDash){
movePlayerForDash(dashDir);
} else {
if (!S.getPlayerFreeze()){
handleKeysDown();
if (((isStruggle) && (!((btm.animationFSM == C.WALK_REVERSE))))){
velX = (velX * struggleSpeedMultiplier);
velY = (velY * struggleSpeedMultiplier);
};
};
};
};
setInsideBound();
upperLowerBodyRotation2();
if (!checkCollisionObject()){
if (((!((velX == 0))) || (!((velY == 0))))){
setWaypoint2();
movePlayer();
} else {
btm.animationFSM = C.IDLE;
};
};
if (S.playerDash){
pDash.updatePosition(x, y);
};
checkUFOBulletToPlayerCollision();
checkFreddyBulletToPlayerCollision();
if ((((x <= 0)) && ((y <= 0)))){
playerFSM = PLAYER_STATE_NONE;
} else {
playerFSM = PLAYER_STATE_WALKING;
};
setAngleUsingMousePos();
if (!S.playerActionFreeze){
kickShapeArray[_kickNo].rotation = Utils.directionToAngle(topDirection);
};
if (S.playerHP <= 0){
dead = true;
};
}
private function handleKeysDown():void{
var _local1:Number = (inAntSpecialMode()) ? C.ANT_SPECIAL_SPEED[S.getAvailableSpecialLevel()] : speed;
if (((Key.isDown(Keyboard.LEFT)) || (Key.isDown(65)))){
velX = -(_local1);
} else {
if (((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(68)))){
velX = _local1;
};
};
if (((inAntSpecialMode()) && (!((velX == 0))))){
velY = 0;
};
if (((Key.isDown(Keyboard.UP)) || (Key.isDown(87)))){
velY = -(_local1);
} else {
if (((Key.isDown(Keyboard.DOWN)) || (Key.isDown(83)))){
velY = _local1;
};
};
if (((inAntSpecialMode()) && (!((velY == 0))))){
velX = 0;
};
if (!gunArray[gunNo].reloadingTimer.running){
if (gunArray[gunNo].reloadedTimer.running){
setFireFSM(C.FIRE_STATE_RELOADED);
rootRef.replenishBulletSprite();
} else {
if (((((MouseClass.mouseHold) && ((gunArray[gunNo].ammoLeft > 0)))) && (!(inAntSpecialMode())))){
if (!S.getPlayerFreeze()){
fireBullet();
setFireFSM(C.FIRE_STATE_FIRING);
};
} else {
setFireFSM(C.FIRE_STATE_NONE);
};
};
} else {
setFireFSM(C.FIRE_STATE_RELOADING);
};
}
public function changeWeapon(_arg1:int):void{
rootRef.clearBulletSprite();
gunNo = _arg1;
setNewBulletSprite();
changePlayerTopSprite(gunArray[gunNo].spriteType);
}
public function setNewBulletSprite():void{
rootRef.initBulletSprite();
rootRef.drawBulletSprite();
}
public function setKickNo(_arg1:int):void{
if ((((_arg1 > (kickShapeArray.length - 1))) || ((_arg1 < 0)))){
return;
};
if (contains(kickShapeArray[_kickNo])){
removeChild(kickShapeArray[_kickNo]);
};
_kickNo = _arg1;
addChild(kickShapeArray[_arg1]);
}
public function get kickNo():int{
return (_kickNo);
}
private function checkKickCollision():void{
var _local1:Array;
var _local2:uint;
Main.zombieCollisionList.swapTarget(kickShapeArray[_kickNo]);
_local1 = Main.zombieCollisionList.checkCollisions();
_local2 = 0;
while (_local2 < _local1.length) {
if (_local1[_local2].object1 == kickShapeArray[_kickNo]){
_local1[_local2].object2.lastDamagedBy = C.DMG_TYPE_PLAYER_ACTION;
_local1[_local2].object2.takeKick(C.PLAYER_KICK_DMG, kickNo);
} else {
_local1[_local2].object1.lastDamagedBy = C.DMG_TYPE_PLAYER_ACTION;
_local1[_local2].object1.takeKick(C.PLAYER_KICK_DMG, kickNo);
};
_local2++;
};
Main.bulletToObjectCollisionList.swapTarget(kickShapeArray[_kickNo]);
_local1 = Main.bulletToObjectCollisionList.checkCollisions();
_local2 = 0;
while (_local2 < _local1.length) {
if (_local1[_local2].object1 == kickShapeArray[_kickNo]){
_local1[_local2].object2.takeHit(C.PLAYER_KICK_DMG);
} else {
_local1[_local2].object1.takeHit(C.PLAYER_KICK_DMG);
};
_local2++;
};
}
private function kickZombie():void{
pKick.kick(x, y, topDirection, kickNo);
setPlayerVisible(false);
playerInvul = true;
}
private function playerKickAttackPoint(_arg1:Event){
checkKickCollision();
}
private function playerKickAnimationComplete(_arg1:Event){
setPlayerVisible(true);
playerInvul = false;
}
private function anthonySpecialComplete(_arg1:Event){
(rootRef as Main).chatLayer.addChild(antFlash);
antFlash.gotoAndPlay(0);
antFlash.y = -((rootRef as Main).chatLayer.y);
setPlayerVisible(true);
playerInvul = false;
}
private function getSpecialCost():int{
if (S.charSelected == C.ANT){
return (C.PLAYER_SPECIAL_COST);
};
return (C.JON_SPECIAL_COST[S.getAvailableSpecialLevel()]);
}
private function dashPlayer():void{
setupDashDir();
pDash.dash(x, y, dashDir, S.actionLevel);
setPlayerVisible(false);
playerInvul = true;
}
private function movePlayerForDash(_arg1:int):void{
var _local2:Number = C.JON_DASH_SPEED[S.actionLevel];
switch (_arg1){
case C.UP:
velY = -(_local2);
break;
case C.UP_LEFT:
velY = -(_local2);
velX = -(_local2);
break;
case C.UP_RIGHT:
velY = -(_local2);
velX = _local2;
break;
case C.DOWN:
velY = _local2;
break;
case C.DOWN_LEFT:
velY = _local2;
velX = -(_local2);
break;
case C.DOWN_RIGHT:
velY = _local2;
velX = _local2;
break;
case C.LEFT:
velX = -(_local2);
break;
case C.RIGHT:
velX = _local2;
break;
};
}
private function playerDashAnimationComplete(_arg1:Event){
setPlayerVisible(true);
playerInvul = false;
}
private function playerCastingAnimationComplete(_arg1:Event){
playingSpecialAnimation = true;
if (S.charSelected == C.ANT){
(rootRef as Main).chatLayer.addChild(antSpecialAnimation);
antSpecialAnimation.gotoAndPlay(1);
antSpecialAnimation.y = -((rootRef as Main).chatLayer.y);
} else {
if (S.charSelected == C.JON){
(rootRef as Main).chatLayer.addChild(jonSpecialAnimation);
jonSpecialAnimation.gotoAndPlay(1);
jonSpecialAnimation.y = -((rootRef as Main).chatLayer.y);
jonSpecialAnimation.special_drop.axe.visible = false;
jonSpecialAnimation.special_drop.light.visible = false;
jonSpecialAnimation.special_drop.monster.visible = false;
if (S.getAvailableSpecialLevel() == 0){
jonSpecialAnimation.special_drop.axe.visible = true;
} else {
if (S.getAvailableSpecialLevel() == 1){
jonSpecialAnimation.special_drop.light.visible = true;
} else {
if (S.getAvailableSpecialLevel() == 2){
jonSpecialAnimation.special_drop.monster.visible = true;
};
};
};
};
};
}
private function playerCastSpecial():void{
setPlayerVisible(false);
pCastingAnimation.start(x, y);
}
public function setPlayerVisible(_arg1:Boolean):void{
var _local2:int;
while (_local2 < topArray.length) {
topArray[_local2].visible = _arg1;
_local2++;
};
btm.visible = _arg1;
}
private function setFireFSM(_arg1:int):void{
switch (_arg1){
case C.FIRE_STATE_NONE:
topArray[currentTopSprite].animationFSM = C.ATTACK_IDLE;
break;
case C.FIRE_STATE_FIRING:
topArray[currentTopSprite].animationFSM = C.ATTACK;
break;
case C.FIRE_STATE_RELOADING:
topArray[currentTopSprite].animationFSM = C.ATTACK_IDLE;
break;
case C.FIRE_STATE_RELOADED:
topArray[currentTopSprite].animationFSM = C.ATTACK_IDLE;
break;
};
_fireFSM = _arg1;
}
private function setInsideBound():void{
var _local1:Number = (x + velX);
var _local2:Number = (y + velY);
if (_local1 > (C.GAME_WIDTH - 10)){
velX = ((C.GAME_WIDTH - 10) - x);
} else {
if (_local1 < (0 + 10)){
velX = ((0 + 10) - x);
};
};
if (_local2 > (C.GAME_HEIGHT - C.GAME_BORDER_HEIGHT)){
velY = ((C.GAME_HEIGHT - C.GAME_BORDER_HEIGHT) - y);
} else {
if (_local2 < 0){
velY = (0 - y);
};
};
}
private function movePlayer():void{
if (velY != 0){
dispatchEvent(new Event("move"));
};
x = (x + velX);
if (S.playerDash){
return;
};
var _local1:Number = (Math.abs(velX) / 100);
var _local2:Number = (Math.abs(velY) / 100);
if (btm.animationFSM == C.WALK_REVERSE){
S.distanceMoonWalked = (S.distanceMoonWalked + (_local1 + _local2));
if (isStruggle){
S.distanceStruggled = (S.distanceStruggled + (_local1 + _local2));
};
} else {
S.distanceTraveled = (S.distanceTraveled + (_local1 + _local2));
if (isStruggle){
S.distanceStruggled = (S.distanceStruggled + (_local1 + _local2));
};
};
}
private function checkCollisionObject():Boolean{
Main.obstacleObjectCollisionList.swapTarget(pCollisionBox);
var _local1:Number = x;
x = (x + velX);
y = (y + velY);
var _local2:Array = Main.obstacleObjectCollisionList.checkCollisions();
if (_local2.length){
x = _local1;
y = (y - velY);
return (true);
};
x = _local1;
y = (y - velY);
return (false);
}
private function checkUFOBulletToPlayerCollision():void{
if (playerInvul){
return;
};
Main.ufoBulletCollisionList.swapTarget(pCollisionBox);
var _local1:Array = Main.ufoBulletCollisionList.checkCollisions();
if (_local1.length){
takeHit(C.UFO_BULLET_DAMAGE);
return;
};
}
private function checkFreddyBulletToPlayerCollision():void{
if (playerInvul){
return;
};
Main.freddyBulletCollisionList.swapTarget(pCollisionBox);
var _local1:Array = Main.freddyBulletCollisionList.checkCollisions();
if (_local1.length){
takeHit(20);
return;
};
}
public function setWaypoint():void{
var _local2:int;
var _local1:int = posX.length;
if (_local1 > 1){
_local2 = (Math.abs((x - posX[(_local1 - 1)])) + Math.abs((y - posY[(_local1 - 1)])));
if (_local2 > 1){
posX.push(x);
posY.push(y);
};
} else {
posX.push(x);
posY.push(y);
};
}
public function setWaypoint2():void{
var _local1:int = posXMove.length;
posXMove.push(velX);
posYMove.push(velY);
}
private function setAngleUsingMousePos():void{
var _local3:Number;
var _local1:Number = (y - stageRef.mouseY);
var _local2:Number = (x - stageRef.mouseX);
if ((((Math.abs(_local2) > 2)) && ((Math.abs(_local1) > 2)))){
angle = GeomUtil.angle(new Point(stageRef.mouseX, stageRef.mouseY), new Point(x, y));
_local3 = Utils.getOppositeAngle(angle);
topDirection = Utils.angleToDirection(_local3);
};
}
private function upperLowerBodyRotation2():void{
var _local1:Number;
var _local2:*;
var _local3:int;
var _local4:int;
if (((!((velX == 0))) || (!((velY == 0))))){
_local1 = (Math.atan2(velY, velX) / (Math.PI / 180));
_local2 = Utils.angleToDirection(_local1);
_local3 = Math.abs((topDirection - _local2));
if ((((((_local3 >= 3)) && ((_local3 <= 5)))) && (!(inAntSpecialMode())))){
btm.direction = topDirection;
if (velX != 0){
velX = (velX * backSpeedMultiplier);
};
if (velY != 0){
velY = (velY * backSpeedMultiplier);
};
btm.animationFSM = C.WALK_REVERSE;
} else {
btm.direction = _local2;
btm.animationFSM = C.WALK;
};
} else {
_local4 = Math.abs((topDirection - btm.direction));
if (_local4 >= 1){
btm.direction = topDirection;
};
btm.animationFSM = C.IDLE;
};
}
private function abandonSurvivor():void{
clearSurvivorParty();
activateAntSpecial((1000 * C.ANT_SPECIAL_INVUL_TIME[S.getAvailableSpecialLevel()]));
}
public function clearSurvivorParty():void{
var _local1 = 1;
while (_local1 < Main.rescuedList.length) {
Main.rescuedList[_local1].setSurvivorFSM(Survivor.SURVIVOR_STATE_NONE);
Main.rescuedList[_local1].abandon();
_local1++;
};
Main.rescuedList = [];
Main.rescuedList.push(this);
rootRef.clearSurvivorSprite();
}
private function activatePlayerInvul(_arg1:int):void{
playerInvul = true;
playerInvulTimer.duration = _arg1;
playerInvulTimer.start();
}
private function activateAntSpecial(_arg1:int):void{
playerInvul = true;
setPlayerVisible(false);
anthonySpecial.activateInvul(x, y, _arg1);
var _local2:int = Main.enemyList.length;
var _local3:Array = Main.enemyList.concat();
var _local4:int;
while (_local4 < _local2) {
if (Utils.isInScreen(_local3[_local4])){
_local3[_local4].knockbackFreezeBullet(0, C.ANT_SPECIAL_FULLSCREEN_FREEZE);
};
_local4++;
};
}
private function activateJonSpecial():void{
}
private function fireBullet():void{
gunArray[gunNo].fire(bulletLayer, x, y, angle);
rootRef.reduceBulletSprite();
}
public function get fireFSM():int{
return (_fireFSM);
}
private function get topDirection():int{
return (_topDirection);
}
private function set topDirection(_arg1:int):void{
_topDirection = _arg1;
var _local2:int = topArray.length;
var _local3:int;
while (_local3 < _local2) {
topArray[_local3].direction = _arg1;
_local3++;
};
}
public function removeSelf():void{
if (depthLayer.contains(this)){
depthLayer.removeChild(this);
};
var _local1:int;
while (_local1 < gunArray.length) {
gunArray[_local1].removeSelf();
_local1++;
};
pKick.removeSelf();
pDash.removeSelf();
pCastingAnimation.removeSelf();
var _local2:Main = (rootRef as Main);
var _local3:Sprite = (rootRef as Main).chatLayer;
if (_local3.contains(antSpecialAnimation)){
_local3.removeChild(antSpecialAnimation);
};
if (_local3.contains(jonSpecialAnimation)){
_local3.removeChild(jonSpecialAnimation);
};
if (_local3.contains(antFlash)){
_local3.removeChild(antFlash);
};
EC.remove(/Player/);
EC.remove(this);
}
public function takeHit(_arg1:int):void{
if (((playerInvul) || (S.gameMovementFreeze))){
return;
};
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_GRUNT, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_GRUNT_ANT, 1);
};
S.playerHP = (S.playerHP - (_arg1 + S.dmgMultiplier));
if (S.playerHP < 0){
S.playerHP = 0;
};
S.dmgTaken = (S.dmgTaken + _arg1);
S.dmgTakenInPlay = (S.dmgTakenInPlay + _arg1);
activateBlinky();
activatePlayerInvul(3000);
dispatchEvent(new Event("damaged"));
}
public function healPercent(_arg1:Number):void{
S.playerHP = (S.playerHP + ((C.PLAYER_MAX_HP * _arg1) / 100));
if (S.playerHP > C.PLAYER_MAX_HP){
S.playerHP = C.PLAYER_MAX_HP;
};
}
private function coinMagnet():void{
var _local1:int = Main.coinList.length;
var _local2:int;
while (_local2 < _local1) {
if (Utils.BoundingCircle(Main.coinList[_local2].x, Main.coinList[_local2].y, x, y, coinMagAOE)){
};
_local2++;
};
}
private function changeTint():void{
var _local1:Color = new Color();
if (redNow){
_local1.setTint(0xB40000, 0.5);
} else {
_local1.setTint(0xB40000, 0);
};
transform.colorTransform = _local1;
}
private function indicatorRedTint(_arg1:Boolean):void{
var _local2:Color = new Color();
if (_arg1){
_local2.setTint(0xB40000, 0.5);
} else {
_local2.setTint(0xB40000, 0);
};
playerIndicator.transform.colorTransform = _local2;
}
private function blinkRedTimerHandler(_arg1:TimerEvent):void{
redNow = !(redNow);
changeTint();
}
protected function blinkRedCheck():void{
if (!blinking){
return;
};
blinkCounter++;
if ((blinkCounter % blinkDelay) == 0){
redNow = !(redNow);
changeTint();
};
}
protected function checkIndicatorBlinkRedTimer():void{
if (!indicatorBlinkRedTimer.getTrigger()){
return;
};
if (playerInvulTimer.running){
return;
};
if (S.playerHP > 30){
indicatorRedTint(false);
return;
};
indicatorRedTint(((indicatorBlinkRedTimer.currentCount % 2)) ? true : false);
}
private function activateBlinky():void{
blinking = true;
blinkRedTimer.resetAndStart();
}
public function inAntSpecialMode():Boolean{
return (depthLayer.contains(anthonySpecial));
}
public function get btmDirection():int{
return (btm.direction);
}
}
}//package players
Section 166
//PlayerBitmap (players.PlayerBitmap)
package players {
import flash.display.*;
public class PlayerBitmap {
public static var antSGunBmp:Bitmap;
public static var antMGunBmp:Bitmap;
public static var antPistolBmp:Bitmap;
public static var antSpecialBmp:Bitmap;
public static var jonMGunBmp:Bitmap;
public static var jonSGunBmp:Bitmap;
public static var jonAGunBmp:Bitmap;
public static var antBottomBmp:Bitmap;
public static var antDeathBmp:Bitmap;
public static var antKickBmp1:Bitmap;
public static var antKickBmp2:Bitmap;
public static var antKickBmp3:Bitmap;
public static var antInvincibleBmp:Bitmap;
public static var jonDashBmp1:Bitmap;
public static var jonDashBmp2:Bitmap;
public static var jonDashBmp3:Bitmap;
public static var jonDeathBmp:Bitmap;
public static var antSpecialTrailBmp:Bitmap;
public static var playerRaiseHandBmp:Bitmap;
public static function init():void{
antSGunBmp = new Bitmap(new ant_sgun(C.GAME_WIDTH, C.GAME_HEIGHT));
antMGunBmp = new Bitmap(new ant_mgun(C.GAME_WIDTH, C.GAME_HEIGHT));
antPistolBmp = new Bitmap(new ant_pistol(C.GAME_WIDTH, C.GAME_HEIGHT));
antSpecialBmp = new Bitmap(new ant_special(C.GAME_WIDTH, C.GAME_HEIGHT));
jonMGunBmp = new Bitmap(new jon_mgun(C.GAME_WIDTH, C.GAME_HEIGHT));
jonSGunBmp = new Bitmap(new jon_sgun(C.GAME_WIDTH, C.GAME_HEIGHT));
jonAGunBmp = new Bitmap(new jon_agun(C.GAME_WIDTH, C.GAME_HEIGHT));
antBottomBmp = new Bitmap(new ant_bottom(C.GAME_WIDTH, C.GAME_HEIGHT));
antDeathBmp = new Bitmap(new ant_death(C.GAME_WIDTH, C.GAME_HEIGHT));
antKickBmp1 = new Bitmap(new anthony_melee(C.GAME_WIDTH, C.GAME_HEIGHT));
antKickBmp2 = new Bitmap(new anthony_melee2(C.GAME_WIDTH, C.GAME_HEIGHT));
antKickBmp3 = new Bitmap(new anthony_melee3(C.GAME_WIDTH, C.GAME_HEIGHT));
antInvincibleBmp = new Bitmap(new ant_invincible(C.GAME_WIDTH, C.GAME_HEIGHT));
jonDashBmp1 = new Bitmap(new jon_dash1(C.GAME_WIDTH, C.GAME_HEIGHT));
jonDashBmp2 = new Bitmap(new jon_dash2(C.GAME_WIDTH, C.GAME_HEIGHT));
jonDashBmp3 = new Bitmap(new jon_dash3(C.GAME_WIDTH, C.GAME_HEIGHT));
jonDeathBmp = new Bitmap(new jon_death(C.GAME_WIDTH, C.GAME_HEIGHT));
antSpecialTrailBmp = new Bitmap(new Player_trail(C.GAME_WIDTH, C.GAME_HEIGHT));
playerRaiseHandBmp = new Bitmap(new Player_special(C.GAME_WIDTH, C.GAME_HEIGHT));
}
}
}//package players
Section 167
//PlayerCastingAnimation (players.PlayerCastingAnimation)
package players {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class PlayerCastingAnimation extends SpriteSheetMovieClip {
private var disappearTimer:FakeTimer;
private var showHand:Boolean;
private var layer:Sprite;
public static const PLAYER_CASTING_ANIMATION_START:String = "PlayerCastingAnimationAnimationStart";
public static const PLAYER_CASTING_ANIMATION_END:String = "PlayerCastingAnimationAnimationEnd";
public function PlayerCastingAnimation(_arg1:Sprite){
disappearTimer = new FakeTimer(1000);
this.layer = _arg1;
super(PlayerBitmap.playerRaiseHandBmp, 48, 76);
}
protected function setupFrames():void{
var _local1:int;
var _local2:int;
if (S.charSelected == C.ANT){
_local2 = 0;
frames.push(new FakeMovieClip(0, _local2, PLAYER_CASTING_ANIMATION_START));
frames.push(new FakeMovieClip(1, _local2));
frames.push(new FakeMovieClip(2, _local2));
frames.push(new FakeMovieClip(2, _local2, PLAYER_CASTING_ANIMATION_END));
} else {
_local2 = 1;
frames.push(new FakeMovieClip(0, _local2, PLAYER_CASTING_ANIMATION_START));
frames.push(new FakeMovieClip(1, _local2));
frames.push(new FakeMovieClip(2, _local2));
frames.push(new FakeMovieClip(2, _local2, PLAYER_CASTING_ANIMATION_END));
};
}
public function removeEventListeners():void{
EC.remove(this, Event.ENTER_FRAME, loop);
stop();
}
public function addEventListeners():void{
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "PlayerCastingAnimation_loop");
play();
}
public function start(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = (_arg2 - layer.y);
layer.addChild(this);
frames = [];
setupFrames();
currentLabel = "";
showHand = false;
addEventListeners();
gotoAndPlay(PLAYER_CASTING_ANIMATION_START);
S.gameMovementFreeze = true;
}
private function loop(_arg1:Event):void{
if (currentLabel == PLAYER_CASTING_ANIMATION_END){
stop();
if (!showHand){
animationCompleted();
};
};
}
private function animationCompleted():void{
var _local1:int;
var _local2:MovieClip;
showHand = true;
dispatchEvent(new Event(C.ANIMATION_COMPLETE));
_local1 = 0;
while (_local1 < numChildren) {
_local1++;
};
if (S.getAvailableSpecialLevel() == 0){
_local2 = new Player_hand();
_local2.y = (_local2.y - 70);
addChild(_local2);
} else {
if (S.getAvailableSpecialLevel() == 1){
_local2 = new Player_hand();
_local2.y = (_local2.y - 70);
_local2.x = (_local2.x - 30);
addChild(_local2);
_local2 = new Player_hand();
_local2.y = (_local2.y - 70);
_local2.x = (_local2.x + 30);
addChild(_local2);
} else {
if (S.getAvailableSpecialLevel() == 2){
_local2 = new Player_hand();
_local2.y = (_local2.y - 70);
addChild(_local2);
_local2 = new Player_hand();
_local2.y = (_local2.y - 70);
_local2.x = (_local2.x - 50);
addChild(_local2);
_local2 = new Player_hand();
_local2.y = (_local2.y - 70);
_local2.x = (_local2.x + 50);
addChild(_local2);
};
};
};
_local1 = 0;
while (_local1 < numChildren) {
_local1++;
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
var _local1:int;
while (_local1 < numChildren) {
if ((getChildAt(_local1) is Player_hand)){
removeChild(getChildAt(_local1));
_local1--;
};
_local1++;
};
EC.remove("PlayerCastingAnimation_loop");
}
}
}//package players
Section 168
//PlayerDash (players.PlayerDash)
package players {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import zombies.*;
import objects.*;
public class PlayerDash extends Sprite {
private var layer:Sprite;
private var playerDash1:SpriteSheetDirectionAnimation;
private var playerDash2:SpriteSheetDirectionAnimation;
private var playerDash3:SpriteSheetDirectionAnimation;
private var playerDash:Array;
private var _direction:int;
private var _animationFSM:int;
private var currentLevel:int;// = 0
private var playerX:int;// = 0
private var playerY:int;// = 0
public var collidedArray:Array;
public function PlayerDash(_arg1:Sprite){
var _local3:SpriteSheetDirectionAnimation;
playerDash = [];
collidedArray = [];
super();
this.layer = _arg1;
setupSprite();
initSpriteAnimation();
var _local2:int;
while (_local2 < playerDash.length) {
_local3 = playerDash[_local2];
_local3.animationFSM = C.ATTACK;
_local3.animationTimer.stop();
_local3.visible = false;
_arg1.addChild(_local3);
_local2++;
};
}
public function addEventListeners():void{
if (playerDash[currentLevel].visible){
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "DASH_PLAYER");
playerDash[currentLevel].animationTimer.start();
};
}
public function removeEventListeners():void{
EC.remove(this, Event.ENTER_FRAME, loop);
var _local1:int;
while (_local1 < playerDash.length) {
playerDash[_local1].animationTimer.stop();
_local1++;
};
}
protected function setupSprite(){
playerDash1 = new SpriteSheetDirectionAnimation(PlayerBitmap.jonDashBmp1, 68, 68, true);
playerDash2 = new SpriteSheetDirectionAnimation(PlayerBitmap.jonDashBmp2, 68, 68, true);
playerDash3 = new SpriteSheetDirectionAnimation(PlayerBitmap.jonDashBmp3, 68, 68, false);
}
protected function initSpriteAnimation(){
playerDash1.attackStartFrame = 0;
playerDash1.attackDmgFrame = 2;
playerDash1.attackEndFrame = 6;
playerDash1.attackRow[C.DOWN] = 0;
playerDash1.attackRow[C.DOWN_LEFT] = 0;
playerDash1.attackRow[C.DOWN_RIGHT] = 0;
playerDash1.attackRow[C.LEFT] = 1;
playerDash1.attackRow[C.RIGHT] = 1;
playerDash1.attackRow[C.UP] = 2;
playerDash1.attackRow[C.UP_LEFT] = 2;
playerDash1.attackRow[C.UP_RIGHT] = 2;
playerDash2.attackStartFrame = 0;
playerDash2.attackDmgFrame = 2;
playerDash2.attackEndFrame = 11;
playerDash2.attackRow[C.DOWN] = 1;
playerDash2.attackRow[C.DOWN_LEFT] = 1;
playerDash2.attackRow[C.DOWN_RIGHT] = 1;
playerDash2.attackRow[C.LEFT] = 2;
playerDash2.attackRow[C.RIGHT] = 2;
playerDash2.attackRow[C.UP] = 0;
playerDash2.attackRow[C.UP_LEFT] = 0;
playerDash2.attackRow[C.UP_RIGHT] = 0;
playerDash3.attackStartFrame = 0;
playerDash3.attackDmgFrame = 2;
playerDash3.attackEndFrame = 10;
playerDash3.attackRow[C.DOWN] = 0;
playerDash3.attackRow[C.DOWN_LEFT] = 0;
playerDash3.attackRow[C.DOWN_RIGHT] = 0;
playerDash3.attackRow[C.LEFT] = 1;
playerDash3.attackRow[C.RIGHT] = 1;
playerDash3.attackRow[C.UP] = 2;
playerDash3.attackRow[C.UP_LEFT] = 2;
playerDash3.attackRow[C.UP_RIGHT] = 2;
playerDash.push(playerDash1);
playerDash.push(playerDash2);
playerDash.push(playerDash3);
}
private function loop(_arg1:Event):void{
var _local3:int;
var _local4:int;
var _local5:Zombie;
var _local6:Boolean;
var _local7:Objects;
var _local2:SpriteSheetDirectionAnimation = playerDash[currentLevel];
if (currentLevel == 2){
_local3 = Main.enemyList.length;
_local4 = 0;
_local4 = 0;
while (_local4 < _local3) {
_local5 = Main.enemyList[_local4];
if (((!(_local5)) || (Utils.isBoss(_local5)))){
} else {
_local6 = Utils.objectsInRadius(_local2, _local5, C.JON_DASH_AOE);
if (((_local6) && ((collidedArray.indexOf(_local5) == -1)))){
_local5.lastDamagedBy = C.DMG_TYPE_PLAYER_SPECIAL;
_local5.takeHit(C.JON_DASH_DMG);
collidedArray.push(_local5);
};
};
_local4++;
};
_local3 = Main.objectList.length;
_local4 = 0;
_local4 = 0;
while (_local4 < _local3) {
_local7 = Main.objectList[_local4];
if (((Utils.BoundingCircle(_local2.x, _local2.y, _local7.x, _local7.y, C.JON_DASH_AOE)) && ((collidedArray.indexOf(_local7) == -1)))){
_local7.takeHit(C.JON_DASH_DMG);
collidedArray.push(_local7);
};
_local4++;
};
};
if (_local2.attackComplete){
_local2.attackComplete = false;
playerDashAnimationComplete();
};
}
public function dash(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int):void{
var _local5:SpriteSheetDirectionAnimation;
currentLevel = _arg4;
_local5 = playerDash[currentLevel];
_local5.x = _arg1;
_local5.y = _arg2;
_local5.direction = _arg3;
_local5.frameNumber = 0;
_local5.animationTimer.start();
_local5.visible = true;
S.playerActionFreeze = true;
S.playerDash = true;
collidedArray = [];
addEventListeners();
}
public function updatePosition(_arg1:Number, _arg2:Number):void{
playerDash[currentLevel].x = _arg1;
playerDash[currentLevel].y = _arg2;
}
private function playerAttackPoint():void{
dispatchEvent(new Event(C.ANIMATION_ATTACK_POINT));
}
private function playerDashAnimationComplete():void{
hidePlayerDash();
dispatchEvent(new Event(C.ANIMATION_COMPLETE));
}
public function hidePlayerDash():void{
var _local1:SpriteSheetDirectionAnimation = playerDash[currentLevel];
_local1.visible = false;
_local1.frameNumber = 0;
S.playerActionFreeze = false;
S.playerDash = false;
removeEventListeners();
}
public function removeSelf():void{
var _local1:int;
while (_local1 < playerDash.length) {
if (layer.contains(playerDash[_local1])){
layer.removeChild(playerDash[_local1]);
};
playerDash[_local1].destroy();
_local1++;
};
EC.remove(this);
}
}
}//package players
Section 169
//PlayerDeath (players.PlayerDeath)
package players {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class PlayerDeath extends SpriteSheetMovieClip {
private var deathBmp;
private var spriteSize:int;
public var fading:Boolean;
private var stageRef:Stage;
public static const PLAYER_DEATH_ANIMATION_START:String = "playerDeathAnimationStart";
public static const PLAYER_DEATH_ANIMATION_END:String = "playerDeathAnimationEnd";
public function PlayerDeath(_arg1:Stage, _arg2:Number, _arg3:Number){
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
if (S.charSelected == C.ANT){
deathBmp = PlayerBitmap.antDeathBmp;
spriteSize = C.PLAYER_DIE_SPRITE_SIZE;
} else {
deathBmp = PlayerBitmap.jonDeathBmp;
spriteSize = C.JON_DIE_SPRITE_SIZE;
};
super(deathBmp, spriteSize, spriteSize);
setupFrames();
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "PlayerDeath_loop");
gotoAndPlay(PLAYER_DEATH_ANIMATION_START);
}
protected function setupFrames():void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local1:int;
if ((S.charSelected = C.ANT)){
_local2 = ((C.PLAYER_DIE_TOTAL_FRAMES / C.PLAYER_DIE_FRAMES_PER_ROW) + 1);
_local3 = 0;
while (_local3 < _local2) {
_local4 = 0;
while (_local4 < C.PLAYER_DIE_FRAMES_PER_ROW) {
if (_local1 == 0){
frames.push(new FakeMovieClip(_local4, _local3, PLAYER_DEATH_ANIMATION_START));
} else {
if (_local1 == (C.PLAYER_DIE_TOTAL_FRAMES - 1)){
frames.push(new FakeMovieClip(_local4, _local3, PLAYER_DEATH_ANIMATION_END));
} else {
frames.push(new FakeMovieClip(_local4, _local3));
};
};
_local1++;
_local4++;
};
_local3++;
};
} else {
_local5 = 0;
while (_local5 < 3) {
if (_local1 == 0){
frames.push(new FakeMovieClip(_local5, 0, PLAYER_DEATH_ANIMATION_START));
} else {
if (_local1 == (C.JON_DIE_TOTAL_FRAMES - 1)){
frames.push(new FakeMovieClip(_local5, 0, PLAYER_DEATH_ANIMATION_END));
};
};
_local1++;
_local4++;
};
};
}
private function loop(_arg1:Event):void{
if (currentLabel == PLAYER_DEATH_ANIMATION_END){
stop();
removeSelf();
};
}
public function removeSelf():void{
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
super.destroy();
dispatchEvent(new Event(C.ANIMATION_COMPLETE));
EC.remove(this);
}
}
}//package players
Section 170
//PlayerKick (players.PlayerKick)
package players {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class PlayerKick extends Sprite {
private var layer:Sprite;
private var playerKick1:SpriteSheetDirectionAnimation;
private var playerKick2:SpriteSheetDirectionAnimation;
private var playerKick3:SpriteSheetDirectionAnimation;
private var playerKick:Array;
private var _direction:int;
private var _animationFSM:int;
private var currentLevel:int;// = 0
public var kicking:Boolean;// = false
public function PlayerKick(_arg1:Sprite){
var _local3:SpriteSheetDirectionAnimation;
playerKick = [];
super();
this.layer = _arg1;
setupSprite();
initSpriteAnimation();
var _local2:int;
while (_local2 < playerKick.length) {
_local3 = playerKick[_local2];
_local3.animationFSM = C.ATTACK;
_local3.animationTimer.stop();
_local3.visible = false;
_arg1.addChild(_local3);
_local2++;
};
}
public function addEventListeners():void{
if (playerKick[currentLevel].visible){
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "KICK_PLAYER");
playerKick[currentLevel].animationTimer.start();
};
}
public function removeEventListeners():void{
EC.remove(this, Event.ENTER_FRAME, loop);
var _local1:int;
while (_local1 < playerKick.length) {
playerKick[_local1].animationTimer.stop();
_local1++;
};
}
protected function setupSprite(){
playerKick1 = new SpriteSheetDirectionAnimation(PlayerBitmap.antKickBmp1, 68, 68, true);
playerKick2 = new SpriteSheetDirectionAnimation(PlayerBitmap.antKickBmp2, 128, 128, true);
playerKick3 = new SpriteSheetDirectionAnimation(PlayerBitmap.antKickBmp3, 108, 108, false);
}
protected function initSpriteAnimation(){
playerKick1.attackStartFrame = 0;
playerKick1.attackDmgFrame = 2;
playerKick1.attackEndFrame = 6;
playerKick1.attackRow[C.DOWN] = 0;
playerKick1.attackRow[C.DOWN_LEFT] = 1;
playerKick1.attackRow[C.DOWN_RIGHT] = 1;
playerKick1.attackRow[C.LEFT] = 2;
playerKick1.attackRow[C.RIGHT] = 2;
playerKick1.attackRow[C.UP_LEFT] = 3;
playerKick1.attackRow[C.UP_RIGHT] = 3;
playerKick1.attackRow[C.UP] = 4;
playerKick2.attackStartFrame = 0;
playerKick2.attackDmgFrame = 2;
playerKick2.attackEndFrame = 6;
playerKick2.attackRow[C.DOWN] = 0;
playerKick2.attackRow[C.DOWN_LEFT] = 1;
playerKick2.attackRow[C.DOWN_RIGHT] = 1;
playerKick2.attackRow[C.LEFT] = 2;
playerKick2.attackRow[C.RIGHT] = 2;
playerKick2.attackRow[C.UP_LEFT] = 3;
playerKick2.attackRow[C.UP_RIGHT] = 3;
playerKick2.attackRow[C.UP] = 4;
playerKick3.attackStartFrame = 0;
playerKick3.attackDmgFrame = 4;
playerKick3.attackEndFrame = 13;
playerKick3.attackRow[C.DOWN] = 0;
playerKick.push(playerKick1);
playerKick.push(playerKick2);
playerKick.push(playerKick3);
}
private function loop(_arg1:Event):void{
var _local2:SpriteSheetDirectionAnimation = playerKick[currentLevel];
if (_local2.attackPoint){
_local2.attackPoint = false;
playerAttackPoint();
};
if (_local2.attackComplete){
_local2.attackComplete = false;
playerKickAnimationComplete();
};
}
public function kick(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int):void{
currentLevel = _arg4;
var _local5:SpriteSheetDirectionAnimation = playerKick[currentLevel];
_local5.x = _arg1;
_local5.y = _arg2;
_local5.direction = ((_arg4)==2) ? C.DOWN : _arg3;
_local5.frameNumber = 0;
_local5.animationTimer.start();
_local5.visible = true;
S.playerActionFreeze = true;
addEventListeners();
}
private function playerAttackPoint():void{
dispatchEvent(new Event(C.ANIMATION_ATTACK_POINT));
}
private function playerKickAnimationComplete():void{
hidePlayerKick();
dispatchEvent(new Event(C.ANIMATION_COMPLETE));
}
public function hidePlayerKick():void{
var _local1:SpriteSheetDirectionAnimation;
_local1 = playerKick[currentLevel];
_local1.visible = false;
_local1.frameNumber = 0;
S.playerActionFreeze = false;
removeEventListeners();
}
public function removeSelf():void{
var _local1:int;
while (_local1 < playerKick.length) {
if (layer.contains(playerKick[_local1])){
layer.removeChild(playerKick[_local1]);
};
playerKick[_local1].destroy();
_local1++;
};
EC.remove(this);
}
}
}//package players
Section 171
//SiteLock (skyboy.security.SiteLock)
package skyboy.security {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class SiteLock extends Sprite {
private var sites:Array;
private var siteToNav:URLRequest;
private var local:Boolean;// = false
public var callbackFunction:Function;// = null
public function SiteLock(_arg1:Function=null){
callbackFunction = _arg1;
sites = new Array();
if (stage){
init();
} else {
addEventListener(Event.ADDED_TO_STAGE, init);
};
}
private function init(_arg1:Event=null):void{
var _local6:RegExp;
var _local2:LoaderInfo = stage.loaderInfo;
var _local3:String = _local2.loaderURL;
if (/^file:\/\//.test(_local3)){
if (local){
return;
};
if (callbackFunction != null){
callbackFunction();
};
};
var _local4:RegExp = /^(?:https?:\/\/)?([^\/]+)/i;
var _local5:String = _local3.match(_local4)[1];
var _local7:Boolean;
for each (_local6 in sites) {
if (((_local6.test(_local5)) || (_local6.test(_local3)))){
_local7 = true;
break;
};
};
_local3 = _local2.url;
_local5 = _local3.match(_local4)[1];
for each (_local6 in sites) {
if (((_local6.test(_local5)) || (_local6.test(_local3)))){
_local7 = ((_local7) && (true));
break;
};
};
if (!_local7){
if (callbackFunction != null){
callbackFunction();
};
};
}
public function addSite(_arg1:String, _arg2:Boolean=true):void{
var _local3:String = _arg1;
if (!siteToNav){
if (!/^((ht|f)tps?):\/\//.test(_local3)){
_local3 = ("http://" + _local3);
};
siteToNav = new URLRequest(_local3);
};
_arg1 = _arg1.replace(/^(?:(?:ht|f)tps?:\/\/)??([^\/]+)/i, "$1").toLowerCase();
_arg1 = _arg1.replace(/([.?\}\{\[\]\(\)\\\-*+$^|])/g, "\\$1");
sites.push(new RegExp((((_arg2) ? "^" : "^(.+\\.)*" + _arg1) + "$"), "i"));
}
public function allowRegExp(_arg1:RegExp):void{
sites.push(_arg1);
}
public function setNavigateURL(_arg1:String):void{
if (_arg1){
siteToNav = new URLRequest(_arg1);
};
}
public function allowLocalPlay(_arg1:Boolean=false):void{
local = _arg1;
}
public function testIsAllowed(_arg1:String):Boolean{
var _local4:RegExp;
var _local2:RegExp = /^(?:https?:\/\/)?([^\/]+)/i;
var _local3:String = _arg1.match(_local2)[1];
var _local5:Boolean;
for each (_local4 in sites) {
if (_local4.test(_local3)){
return (true);
};
};
return (false);
}
}
}//package skyboy.security
Section 172
//Alien (zombies.Alien)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import flash.geom.*;
import fl.motion.*;
import players.*;
import org.casalib.util.*;
public class Alien extends Zombie {
private var knockBackHPPercent:int;// = 50
private var dmgTakenSinceKnockBack:int;// = 0
private var knockBackHP:int;// = 50
public var maxHitpoint:int;
private var jump:Boolean;// = false
private var jumpCDTime:int;// = 3000
private var jumpEnable:Boolean;// = true
private var leap:Boolean;// = false
private var leapTimes:int;// = 0
private var leapDistance:int;// = 150
private var distanceLeapt:int;// = 0
private var leapDelayCounter:int;// = 0
private var leapDelay:int;// = 5
private var attacked:Boolean;// = false
public var freezeRow:int;
public var freezeNumFrames:int;
public var jumpRow:int;
public var jumpNumFrames:int;
public var landRow:int;
public var landNumFrames:int;
public var chargeRed:Boolean;// = false
private var armorOn:Boolean;// = true
private var attackTimes:int;// = 0
private var blinkCounter:int;// = 0
private var blinkRedNow:Boolean;// = false
private var object;
private var rootRef;
private var stageRef:Stage;
private var slashShape:Shape;
private var leapAngle:int;// = 0
private var fromExplosion:Boolean;// = false
protected var airbourneTimer:FakeTimer;
protected var jumpCDTimer:FakeTimer;
private var yMoved:int;// = 0
private var landX:int;// = 0
public var landY:int;// = 0
private var jumpSpeed:int;// = 30
public var jumping:Boolean;// = false
public var leapPrepRow:Array;
public var landPrepRow:Array;
private var leapPrepNumFrames:int;
private var landPrepNumFrames:int;
private var airbournedAnimation:MovieClip;
private var shadow:MovieClip;
private var alienIdleAnimation:AlienIdle;
public function Alien(_arg1:Sprite, _arg2:Player, _arg3, _arg4:Stage, _arg5:Number, _arg6:Number):void{
slashShape = new Shape();
airbourneTimer = new FakeTimer();
jumpCDTimer = new FakeTimer();
leapPrepRow = new Array(8);
landPrepRow = new Array(8);
super(_arg1, _arg2, ZombieBitmap.BOSS_ALIEN_SS, _arg5, _arg6);
alienIdleAnimation = new AlienIdle(_arg1, this, _arg5, _arg6);
addChild(alienIdleAnimation);
alienIdleAnimation.visible = false;
this.layer = _arg1;
this.target = _arg2;
this.rootRef = _arg3;
this.stageRef = _arg4;
unfreezeTimeFromBullet = 3000;
blinkRedTime = 3000;
blinkRedTimer.duration = blinkRedTime;
airbournedAnimation = new alienAnimation();
shadow = new alienShadow();
}
override protected function initValue():void{
_speed = 1;
_hitpoint = 900;
_dmg = 20;
_bounce = 10;
_worth = 25;
_points = 20000;
_attackRange = 30;
maxHitpoint = _hitpoint;
}
override protected function setupSprite(){
bmp = ZombieBitmap.bossAlienBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 1;
walkRow[C.LEFT] = 2;
walkRow[C.RIGHT] = 2;
walkRow[C.UP] = 3;
direction = C.DOWN;
attackStartFrame = 0;
attackDmgFrame = 2;
attackEndFrame = 6;
attackRow[C.DOWN] = 5;
attackRow[C.LEFT] = 8;
attackRow[C.RIGHT] = 8;
attackRow[C.UP] = 11;
leapPrepNumFrames = 4;
landPrepNumFrames = 3;
leapPrepRow[C.DOWN] = 4;
leapPrepRow[C.LEFT] = 7;
leapPrepRow[C.RIGHT] = 7;
leapPrepRow[C.UP] = 10;
landPrepRow[C.DOWN] = 6;
landPrepRow[C.LEFT] = 9;
landPrepRow[C.RIGHT] = 9;
landPrepRow[C.UP] = 12;
jumpNumFrames = 5;
jumpRow = 2;
freezeNumFrames = 4;
freezeRow = 13;
landNumFrames = 4;
landRow = 1;
lookIdleFrame = 0;
}
override public function takeHit(_arg1:int):void{
super.takeHit(_arg1);
activateBlinky();
}
override public function takeKick(_arg1:int, _arg2:int):void{
if (!unfreezeTimer.running){
dmgTakenSinceKnockBack = (dmgTakenSinceKnockBack + _arg1);
};
trace("KNOCKBACK FROM KICK");
super.takeKick(_arg1, _arg2);
}
override protected function knockBackFreeze(_arg1:Number, _arg2:Number, _arg3:Boolean=false):void{
}
private function checkDistance():void{
if (((((Utils.BoundingCircle(x, (layer.y + y), target.x, target.y, 250)) && (jumpEnable))) && ((zombieFSM == ZOMBIE_STATE_CHASE)))){
jumpEnable = false;
jumping = true;
setZombieFSM(ZOMBIE_STATE_JUMP_PREP);
};
}
private function checkCollide():void{
var _local2:int;
setupAttack();
if (rootRef.ourPlayer){
if (((!(rootRef.ourPlayer.playerInvul)) && (slashShape.hitTestObject(rootRef.ourPlayer)))){
rootRef.ourPlayer.takeHit(_dmg);
};
};
var _local1:int;
while (_local1 < Main.survivorList.length) {
if (((!(Main.survivorList[_local1].invulernable)) && (slashShape.hitTestObject(Main.survivorList[_local1])))){
Main.survivorList[_local1].takeHit(_dmg);
};
_local1++;
};
while (_local2 < Main.objectList.length) {
if (Main.objectList[_local2]){
if ((((Main.objectList[_local2].indestructible == false)) && (slashShape.hitTestObject(Main.objectList[_local2])))){
Main.objectList[_local2].takeHit((_dmg * 1.5));
};
};
_local2++;
};
}
private function checkLeapCollide():void{
if (Utils.BoundingCircle(x, (layer.y + y), target.x, target.y, 30)){
if ((((((target is Player)) && (!(target.playerInvul)))) || ((((target is Survivor)) && (!(target.invulernable)))))){
if (!attacked){
target.takeHit(dmg);
trace("Trap zombie attack");
attacked = true;
};
};
};
}
private function checkLeap():void{
distanceLeapt = (distanceLeapt + speed);
if ((((distanceLeapt >= leapDistance)) || ((hitpoint <= 0)))){
distanceLeapt = 0;
speed = 0.8;
setZombieFSM(ZOMBIE_STATE_CLOSE);
};
}
override protected function zombieCollideObject(_arg1:MovieClip, _arg2):void{
angle = (-(angle) + (NumberUtil.randomIntegerWithinRange(-4, 4) * 5));
object = _arg2;
}
override protected function walkAnimation():void{
drawTileColRow(5, 0);
alienIdleAnimation.visible = true;
}
protected function freezeAnimation():void{
drawTileColRow(frameNumber++, freezeRow);
if (frameNumber >= freezeNumFrames){
frameNumber = (freezeNumFrames - 1);
};
}
protected function unfreezeAnimation():void{
drawTileColRow((2 + frameNumber++), freezeRow);
if (frameNumber >= freezeNumFrames){
chargeRed = false;
setZombieFSM(ZOMBIE_STATE_CHASE);
armorOn = true;
};
}
protected function jumpPrepAnimation():void{
visible = true;
alienIdleAnimation.visible = false;
drawTileColRow(frameNumber++, jumpRow);
if (frameNumber >= jumpNumFrames){
setZombieFSM(ZOMBIE_STATE_JUMP);
};
}
protected function jumpAnimation():void{
drawTileColRow(0, 3);
}
protected function landPrepAnimation():void{
drawTileColRow(frameNumber++, landRow);
if (frameNumber >= landNumFrames){
setZombieFSM(ZOMBIE_STATE_LAND);
};
}
protected function landAnimation():void{
drawTileColRow(0, 0);
}
protected function openAnimation():void{
drawTileColRow(frameNumber++, leapPrepRow[_direction]);
if (frameNumber >= leapPrepNumFrames){
setZombieFSM(ZOMBIE_STATE_LEAP);
};
}
protected function leapAnimation():void{
drawTileColRow(0, attackRow[_direction]);
}
protected function closeAnimation():void{
var _local1:int;
drawTileColRow(frameNumber++, landPrepRow[_direction]);
if (frameNumber >= landPrepNumFrames){
_local1 = 2;
if (hitpoint <= (maxHitpoint * 0.3)){
_local1 = 3;
};
if (++leapTimes < _local1){
setZombieFSM(ZOMBIE_STATE_SETANGLE);
} else {
setZombieFSM(ZOMBIE_STATE_CHASE);
SoundManager.instance.playSound(Sounds.ENEMY_SCREAM);
leapTimes = 0;
jumpCDTimer.resetAndStart();
};
};
}
override protected function animationTimerHandler(_arg1:TimerEvent){
switch (animationFSM){
case C.WALK:
walkAnimation();
break;
case C.WALK_REVERSE:
walkReverseAnimation();
break;
case C.ATTACK_IDLE:
attackIdle();
case C.FREEZE:
freezeAnimation();
break;
case C.UNFREEZE:
unfreezeAnimation();
break;
case C.JUMP_PREP:
jumpPrepAnimation();
break;
case C.JUMP:
jumpAnimation();
break;
case C.AIR:
break;
case C.LAND_PREP:
landPrepAnimation();
break;
case C.LAND:
landAnimation();
break;
case C.OPEN:
openAnimation();
break;
case C.LEAP:
leapAnimation();
break;
case C.CLOSE:
closeAnimation();
break;
};
}
override protected function loop(_arg1:Event):void{
checkCommonTimers();
if (target == null){
return;
};
if (shadow.currentFrame == shadow.totalFrames){
layer.removeChild(shadow);
};
switch (zombieFSM){
case ZOMBIE_STATE_CHASE:
animationFSM = C.WALK;
checkDistance();
break;
case ZOMBIE_STATE_WALK_RANDOM_DIRECTION:
handleZombieWalkRandomState();
break;
case ZOMBIE_STATE_FROZEN:
animationFSM = C.FREEZE;
break;
case ZOMBIE_STATE_UNFREEZE:
animationFSM = C.UNFREEZE;
dmgTakenSinceKnockBack = 0;
break;
case ZOMBIE_STATE_JUMP_PREP:
animationFSM = C.JUMP_PREP;
break;
case ZOMBIE_STATE_JUMP:
animationFSM = C.JUMP;
handleZombieJumpState();
break;
case ZOMBIE_STATE_AIR:
animationFSM = C.AIR;
handleZombieAirState();
break;
case ZOMBIE_STATE_LAND_PREP:
animationFSM = C.LAND_PREP;
break;
case ZOMBIE_STATE_LAND:
animationFSM = C.LAND;
handleZombieLandState();
break;
case ZOMBIE_STATE_OPEN:
animationFSM = C.OPEN;
break;
case ZOMBIE_STATE_LEAP:
animationFSM = C.LEAP;
handleZombieLeapState();
break;
case ZOMBIE_STATE_CLOSE:
animationFSM = C.CLOSE;
break;
case ZOMBIE_STATE_SETANGLE:
setAngle();
break;
case ZOMBIE_STATE_ATTACK_ANIMATION:
handleZombieAttackAnimationState();
break;
case ZOMBIE_STATE_DESTROYING:
removeSelf();
break;
};
blinkRedCheck();
}
private function handleZombieJumpState():void{
if (yMoved < C.GAME_HEIGHT){
y = (y - jumpSpeed);
yMoved = (yMoved + jumpSpeed);
} else {
setZombieFSM(ZOMBIE_STATE_AIR);
visible = false;
stageRef.addChild(airbournedAnimation);
airbournedAnimation.x = -167.85;
airbournedAnimation.y = -196.9;
airbournedAnimation.clip1.play();
airbournedAnimation.clip1.alien.gotoAndPlay(1);
airbournedAnimation.clip1.visible = true;
airbournedAnimation.clip2.visible = false;
yMoved = 0;
};
}
private function handleZombieAirState():void{
landX = target.x;
landY = target.y;
if (airbournedAnimation.clip1.currentFrame == 1){
stageRef.removeChild(airbournedAnimation);
x = landX;
y = (landY - C.GAME_HEIGHT);
visible = true;
setZombieFSM(ZOMBIE_STATE_LAND_PREP);
layer.addChild(shadow);
shadow.x = landX;
shadow.y = landY;
shadow.gotoAndPlay("jump_in");
};
}
private function handleZombieLandState():void{
if (y != landY){
y = (y + jumpSpeed);
yMoved = (yMoved + jumpSpeed);
if (y > landY){
y = landY;
shadow.gotoAndPlay("landed");
checkCollide();
speed = 0;
setZombieFSM(ZOMBIE_STATE_SETANGLE);
jumping = false;
yMoved = 0;
};
};
}
private function handleZombieLeapState():void{
speed = 10;
x = (x + -((speed * Math.cos(((leapAngle * Math.PI) / 180)))));
y = (y + -((speed * Math.sin(((leapAngle * Math.PI) / 180)))));
oldX = x;
oldY = y;
checkLeapCollide();
checkLeap();
}
override protected function handleZombieChaseState():void{
if (S.gameMovementFreeze){
return;
};
getAngleOfTarget();
autoChangeTarget();
setAngleToDirection2();
setVelocity();
checkObjectCollisionAndMove();
checkDistance();
}
override protected function handleZombieWalkRandomState():void{
if (S.gameMovementFreeze){
return;
};
attackIfClose();
autoChangeTarget();
setAngleToDirection2();
setVelocity();
checkObjectCollisionAndMove();
checkRandomMoveTimer();
checkDistance();
}
override protected function attackAnimation():void{
if (attackComplete){
return;
};
if (((NumberUtil.isOdd(_direction)) || (eightDirection))){
drawTileColRow(frameNumber++, attackRow[_direction]);
if (frameNumber == attackDmgFrame){
attackPoint = true;
};
if (frameNumber > attackEndFrame){
frameNumber = attackStartFrame;
attackComplete = true;
};
};
}
override protected function setTimersDuration():void{
walkRandomDirectionTimer.duration = WALK_RANDOM_DIRECTION_DURATION;
attackCDTimer.duration = attackCDTime;
unfreezeTimer.duration = unfreezeTimeFromBullet;
blinkRedTimer.duration = blinkRedTime;
airbourneTimer.duration = 3000;
jumpCDTimer.duration = jumpCDTime;
}
override protected function checkCommonTimers():void{
checkBlinkRedTimer();
checkAttackCDTimer();
checkUnfreezeTimer();
checkAirbourneTimer();
checkJumpCDTimer();
}
protected function checkJumpCDTimer():void{
if (jumpCDTimer.getTrigger()){
jumpEnable = true;
};
}
override protected function checkUnfreezeTimer():void{
if (unfreezeTimer.getTrigger()){
setZombieFSM(ZOMBIE_STATE_CHASE);
SoundManager.instance.playSound(Sounds.ENEMY_SCREAM);
trace("UNFREEZE");
};
}
protected function checkAirbourneTimer():void{
if (airbourneTimer.getTrigger()){
x = landX;
y = (landY - C.GAME_HEIGHT);
setZombieFSM(ZOMBIE_STATE_LAND_PREP);
visible = true;
};
}
override protected function changeTint():void{
var _local1:Color = new Color();
if (redNow){
_local1.setTint(5263480, 0.5);
} else {
_local1.setTint(5263480, 0);
};
transform.colorTransform = _local1;
alienIdleAnimation.transform.colorTransform = _local1;
}
override public function set direction(_arg1:int):void{
if (_direction != _arg1){
_direction = _arg1;
frameNumber = 0;
if ((((((_direction == C.RIGHT)) || ((_direction == C.UP_RIGHT)))) || ((_direction == C.DOWN_RIGHT)))){
scaleX = -1;
slashShape.scaleX = -1;
} else {
scaleX = 1;
slashShape.scaleX = 1;
};
};
}
private function drawArc(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number){
var _local12:Point;
var _local13:Point;
var _local8:Number = Math.abs((_arg5 - _arg4));
var _local9:Number = (Math.floor((_local8 / (Math.PI / 4))) + 1);
var _local10:Number = ((_arg7 * _local8) / (2 * _local9));
var _local11:Number = (_arg6 / Math.cos(_local10));
_arg1.moveTo((_arg2 + (Math.cos(_arg4) * _arg6)), (_arg3 + (Math.sin(_arg4) * _arg6)));
var _local14:Number = 0;
while (_local14 < _local9) {
_arg5 = (_arg4 + _local10);
_arg4 = (_arg5 + _local10);
_local12 = new Point((_arg2 + (Math.cos(_arg5) * _local11)), (_arg3 + (Math.sin(_arg5) * _local11)));
_local13 = new Point((_arg2 + (Math.cos(_arg4) * _arg6)), (_arg3 + (Math.sin(_arg4) * _arg6)));
_arg1.curveTo(_local12.x, _local12.y, _local13.x, _local13.y);
_local14++;
};
}
private function setAngle():void{
leapAngle = GeomUtil.angle(new Point(target.x, target.y), new Point(x, y));
trace(leapAngle);
if ((((((leapAngle >= 0)) && ((leapAngle < 55)))) || ((((leapAngle < 0)) && ((leapAngle > -55)))))){
direction = C.LEFT;
} else {
if ((((leapAngle >= 45)) && ((leapAngle < 145)))){
direction = C.UP;
} else {
if ((((((leapAngle >= 145)) && ((leapAngle < 180)))) || ((((leapAngle <= 180)) && ((leapAngle > -145)))))){
direction = C.RIGHT;
} else {
direction = C.DOWN;
};
};
};
if (++leapDelayCounter > leapDelay){
leapDelayCounter = 0;
attacked = false;
setZombieFSM(ZOMBIE_STATE_OPEN);
};
}
private function setupAttack():void{
var _local1:Graphics;
var _local2:int = _direction;
_local1 = slashShape.graphics;
_local1.beginFill(0xFFCC00, 0.3);
var _local3:Number = ConversionUtil.degreesToRadians(360);
drawArc(_local1, 0, 0, (-(_local3) / 2), ((-(_local3) / 2) + _local3), 32, 1);
_local1.lineTo(0, 0);
_local1.endFill();
slashShape.rotation = Utils.directionToAngle(_local2);
addChild(slashShape);
slashShape.visible = false;
}
override public function removeSelf():void{
if (stageRef.contains(airbournedAnimation)){
stageRef.removeChild(airbournedAnimation);
};
if (layer.contains(this)){
layer.removeChild(this);
};
if (this.contains(alienIdleAnimation)){
removeChild(alienIdleAnimation);
};
super.destroy();
SoundManager.instance.playSound(Sounds.OBJ_EXPLODE);
EC.remove(this);
EC.remove(airbourneTimer);
EC.remove(jumpCDTimer);
}
}
}//package zombies
Section 173
//AlienAnimation (zombies.AlienAnimation)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class AlienAnimation extends MovieClip {
private var stageRef:Stage;
public function AlienAnimation(_arg1:Stage, _arg2:Number, _arg3:Number){
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "AlienAnimation_loop");
}
private function loop(_arg1:Event):void{
if (currentFrame >= totalFrames){
stop();
removeSelf();
};
}
public function removeSelf():void{
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
dispatchEvent(new Event(C.ANIMATION_COMPLETE));
EC.remove(this);
}
}
}//package zombies
Section 174
//AlienIdle (zombies.AlienIdle)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class AlienIdle extends SpriteSheetMovieClip {
private var layer:Sprite;
private var target;
public static const ANIMATION_START:String = "ufoExplodeAnimationStart";
public static const ANIMATION_END:String = "ufoExplodeAnimationEnd";
public function AlienIdle(_arg1:Sprite, _arg2:Alien, _arg3:Number, _arg4:Number){
this.layer = _arg1;
this.target = _arg2;
super(ZombieBitmap.bossAlienIdleBmp, 120, 120);
setupFrames();
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "loop");
gotoAndPlay(ANIMATION_START);
}
protected function setupFrames():void{
var _local4:int;
var _local1:int;
var _local2:int = (19 / 10);
var _local3:int;
while (_local3 < (_local2 + 1)) {
_local4 = 0;
while (_local4 < 10) {
if (_local1 == 0){
frames.push(new FakeMovieClip(_local4, _local3, ANIMATION_START));
} else {
if (_local1 == (19 - 1)){
frames.push(new FakeMovieClip(_local4, _local3, ANIMATION_END));
} else {
frames.push(new FakeMovieClip(_local4, _local3));
};
};
_local1++;
_local4++;
};
_local3++;
};
}
private function loop(_arg1:Event):void{
if (currentLabel == ANIMATION_END){
gotoAndPlay(ANIMATION_START);
};
}
}
}//package zombies
Section 175
//ArmlessZombie (zombies.ArmlessZombie)
package zombies {
import flash.display.*;
import players.*;
public class ArmlessZombie extends Zombie {
public function ArmlessZombie(_arg1:Sprite, _arg2:Player):void{
super(_arg1, _arg2);
}
override protected function initValue():void{
_speed = 3.5;
_hitpoint = 30;
_dmg = 10;
_bounce = 23;
_worth = 3;
_points = 300;
_attackRange = 30;
}
override protected function setupSprite(){
bmp = ZombieBitmap.armlessZombieBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
attackStartFrame = 0;
attackDmgFrame = 2;
attackEndFrame = 5;
attackRow[C.DOWN] = 3;
attackRow[C.LEFT] = 4;
attackRow[C.RIGHT] = 4;
attackRow[C.UP] = 5;
lookIdleFrame = 5;
}
}
}//package zombies
Section 176
//BossDeath (zombies.BossDeath)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import com.greensock.*;
public class BossDeath extends SpriteSheetMovieClip {
public var fading:Boolean;
private var layer:Sprite;
private var rootRef;
public static var BLOOD_START:String = "bloodStart";
public static var BLOOD_SPLATTER_STAIN:String = "bloodSplatterStain";
public function BossDeath(_arg1:Sprite, _arg2, _arg3:Number, _arg4:Number){
this.layer = _arg1;
this.rootRef = _arg2;
this.x = _arg3;
this.y = _arg4;
super(ZombieBitmap.bloodBmp, 92, 92);
setupFrames();
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "ZombieDeath_loop");
gotoAndPlay(BLOOD_START);
}
protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, BLOOD_START));
frames.push(new FakeMovieClip(1, 0));
frames.push(new FakeMovieClip(2, 0));
frames.push(new FakeMovieClip(3, 0));
frames.push(new FakeMovieClip(4, 0));
frames.push(new FakeMovieClip(5, 0));
frames.push(new FakeMovieClip(6, 0));
frames.push(new FakeMovieClip(7, 0, BLOOD_SPLATTER_STAIN));
}
private function loop(_arg1:Event):void{
if (currentLabel == BLOOD_SPLATTER_STAIN){
stop();
rootRef.stageClear();
EC.remove(this, Event.ENTER_FRAME, loop, false);
};
}
public function bloodFade():void{
fading = true;
TweenMax.to(this, C.BLOOD_FADE_DURATION, {alpha:0, onComplete:removeSelf});
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
}
}
}//package zombies
Section 177
//ChineseVamp (zombies.ChineseVamp)
package zombies {
import flash.display.*;
import flash.events.*;
import players.*;
public class ChineseVamp extends Zombie {
private var playerMoved:Boolean;// = false
public function ChineseVamp(_arg1:Sprite, _arg2:Player):void{
this.layer = _arg1;
this.target = _arg2;
super(_arg1, _arg2, ZombieBitmap.CHINESE_ZOMBIE_SS);
setZombieFSM(ZOMBIE_STATE_CHASE);
}
override protected function initValue():void{
_speed = 2;
_hitpoint = 50;
_dmg = 20;
_bounce = 5;
_worth = 3;
_points = 500;
_attackRange = 30;
}
override protected function loop(_arg1:Event):void{
checkCommonTimers();
if (target == null){
return;
};
if (((!((target.velX == 0))) || (!((target.velY == 0))))){
playerMoved = true;
} else {
playerMoved = false;
};
switch (zombieFSM){
case ZOMBIE_STATE_CHASE:
handleZombieChaseState();
break;
case ZOMBIE_STATE_WALK_RANDOM_DIRECTION:
handleZombieWalkRandomState();
break;
case ZOMBIE_STATE_FROZEN:
break;
case ZOMBIE_STATE_ATTACK_ANIMATION:
handleZombieAttackAnimationState();
break;
case ZOMBIE_STATE_DESTROYING:
removeSelf();
break;
};
blinkRedCheck();
}
override protected function handleZombieChaseState():void{
if (playerMoved){
_speed = 2;
} else {
_speed = 0;
};
super.handleZombieChaseState();
}
override protected function knockBackFreeze(_arg1:Number, _arg2:Number, _arg3:Boolean=false):void{
if (_arg3){
super.knockBackFreeze(_arg1, _arg2, _arg3);
};
}
override protected function setupSprite(){
bmp = ZombieBitmap.chineseZombieBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 8;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
attackStartFrame = 0;
attackDmgFrame = 2;
attackEndFrame = 7;
attackRow[C.DOWN] = 3;
attackRow[C.LEFT] = 5;
attackRow[C.RIGHT] = 5;
attackRow[C.UP] = 4;
lookIdleFrame = 4;
}
}
}//package zombies
Section 178
//DeadMeatZombie (zombies.DeadMeatZombie)
package zombies {
import flash.display.*;
import players.*;
public class DeadMeatZombie extends Zombie {
public function DeadMeatZombie(_arg1:Sprite, _arg2:Player):void{
super(_arg1, _arg2, ZombieBitmap.MEAT_ZOMBIE_SS);
}
override protected function initValue():void{
_speed = 1.3;
_hitpoint = 60;
_dmg = 20;
_bounce = 10;
_worth = 3;
_points = 500;
_attackRange = 30;
}
override protected function setupSprite(){
bmp = ZombieBitmap.meatZombieBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
attackStartFrame = 0;
attackDmgFrame = 1;
attackEndFrame = 4;
attackRow[C.DOWN] = 3;
attackRow[C.LEFT] = 4;
attackRow[C.RIGHT] = 4;
attackRow[C.UP] = 5;
lookIdleFrame = 5;
}
}
}//package zombies
Section 179
//DeadMeatZombieBlood (zombies.DeadMeatZombieBlood)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import com.greensock.*;
public class DeadMeatZombieBlood extends SpriteSheetMovieClip {
private var bloodRemoveTimer:FakeTimer;
public var fading:Boolean;
private var layer:Sprite;
public static var BLOOD_START:String = "bloodStart";
public static var BLOOD_SPLATTER_STAIN:String = "bloodSplatterStain";
public static var BLOOD_REMOVE_TIME:int = 7500;
public function DeadMeatZombieBlood(_arg1:Sprite, _arg2:Number, _arg3:Number){
bloodRemoveTimer = new FakeTimer(BLOOD_REMOVE_TIME);
this.layer = _arg1;
this.x = _arg2;
this.y = _arg3;
super(ZombieBitmap.meatZombieBloodBmp, 180, 180);
setupFrames();
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "DeathMeatZombieBlood_loop");
gotoAndPlay(BLOOD_START);
}
protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, BLOOD_START));
frames.push(new FakeMovieClip(1, 0));
frames.push(new FakeMovieClip(2, 0));
frames.push(new FakeMovieClip(3, 0, BLOOD_SPLATTER_STAIN));
}
private function loop(_arg1:Event):void{
if (currentLabel == BLOOD_SPLATTER_STAIN){
stop();
if (!bloodRemoveTimer.running){
bloodRemoveTimer.start();
};
};
if (bloodRemoveTimer.getTrigger()){
bloodFade();
EC.remove(this, Event.ENTER_FRAME, loop, false);
};
}
public function bloodFade():void{
fading = true;
TweenMax.to(this, C.BLOOD_FADE_DURATION, {alpha:0, onComplete:removeSelf});
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
}
}
}//package zombies
Section 180
//FemaleZombie (zombies.FemaleZombie)
package zombies {
import flash.display.*;
import players.*;
public class FemaleZombie extends Zombie {
public function FemaleZombie(_arg1:Sprite, _arg2:Player):void{
super(_arg1, _arg2);
}
override protected function initValue():void{
_speed = 1;
if (S.trueLevel >= 11){
_speed = (_speed + C.ZOMBIE_MS_INCREMENT);
};
if (S.trueLevel >= 21){
_speed = (_speed + C.ZOMBIE_MS_INCREMENT);
};
_hitpoint = 30;
_dmg = 20;
_bounce = 10;
_worth = 2;
_points = 100;
_attackRange = 30;
}
override protected function setupSprite(){
bmp = ZombieBitmap.femaleZombieBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
attackStartFrame = 0;
attackDmgFrame = 2;
attackEndFrame = 5;
attackRow[C.DOWN] = 3;
attackRow[C.LEFT] = 4;
attackRow[C.RIGHT] = 4;
attackRow[C.UP] = 5;
lookIdleFrame = 5;
}
}
}//package zombies
Section 181
//Freddy (zombies.Freddy)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import flash.geom.*;
import players.*;
import guns.*;
import org.casalib.util.*;
public class Freddy extends Zombie {
private var knockBackHPPercent:int;// = 50
private var dmgTakenSinceKnockBack:int;// = 0
private var knockBackHP:int;// = 50
public var maxHitpoint:int;
public var freezeRow:int;
public var freezeNumFrames:int;
private var moveRow:int;
private var armorOn:Boolean;// = true
private var blinkCounter:int;// = 0
private var blinkRedNow:Boolean;// = false
private var WALKLEFT:Boolean;// = true
private var WALKRIGHT:Boolean;// = false
private var walkDirection:Boolean;
private var rootRef;
private var stageRef:Stage;
private var deathLayer:Sprite;
private var slashShape:Shape;
private var bulletRechargeTimer:FakeTimer;
private var blinkTimer:FakeTimer;
private var stunnedTimer:FakeTimer;
private var freddyportrait:FreddyPortrait;
private var freddycollision:MovieClip;
private var prevX:Number;
public var prevY:Number;
private var blinkActivated:Boolean;// = false
private var extraY:Number;// = 0
private var bulletCount:int;// = 0
private var dashDistance:int;// = 0
private var dashAngle:int;// = 0
private var dashPause:Boolean;// = false
private var dashForward:Boolean;// = true
private var dashPauseTimer:FakeTimer;
private var freddyAppearTimer:FakeTimer;
private var shotgunCounter:int;// = 0
public function Freddy(_arg1:Sprite, _arg2:Sprite, _arg3:Player, _arg4, _arg5:Stage, _arg6:Number, _arg7:Number):void{
walkDirection = WALKLEFT;
slashShape = new Shape();
bulletRechargeTimer = new FakeTimer();
blinkTimer = new FakeTimer();
stunnedTimer = new FakeTimer();
dashPauseTimer = new FakeTimer();
freddyAppearTimer = new FakeTimer();
super(_arg1, _arg3, ZombieBitmap.BOSS_FREDDY_SS, _arg6, _arg7);
this.layer = _arg1;
this.target = _arg3;
this.deathLayer = _arg2;
this.rootRef = _arg4;
this.stageRef = _arg5;
unfreezeTimeFromBullet = 3000;
blinkRedTime = 3000;
blinkRedTimer.duration = blinkRedTime;
attackCDTimer.start();
freddyportrait = new FreddyPortrait(_arg5, (_arg4.scoreHUD.playerportrait.x - 5), (_arg4.scoreHUD.playerportrait.y - 5));
freddycollision = new freddy_collision_mc();
freddycollision.x = freddyportrait.x;
freddycollision.y = freddyportrait.y;
_arg5.addChild(freddycollision);
freddycollision.visible = false;
if (S.charSelected == C.JON){
freddyportrait.portrait.visible = false;
} else {
freddyportrait.jonportrait.visible = false;
};
freddyportrait.freddy.hit.gotoAndStop(20);
freddyportrait.freddy.appear.gotoAndStop(110);
EC.add(freddyportrait, "takehit", dealDmgToFreddy, false, 0, true, "DEAL_DMG");
Main.freddyBulletCollisionList.addItem(freddyportrait);
_arg5.addChild(freddyportrait);
setZombieFSM(ZOMBIE_STATE_SUMMON);
freddyAppearTimer.start();
prevY = _arg7;
}
override protected function initValue():void{
_speed = 1.8;
_hitpoint = 1000;
_dmg = 20;
_bounce = 10;
_worth = 30;
_points = 30000;
_attackRange = 30;
attackCDTime = 8000;
maxHitpoint = _hitpoint;
}
override protected function setupSprite(){
bmp = ZombieBitmap.bossFreddyBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 1;
walkRow[C.LEFT] = 2;
walkRow[C.RIGHT] = 2;
walkRow[C.UP] = 3;
direction = C.DOWN;
attackStartFrame = 0;
attackEndFrame = 3;
attackEndFrame = 3;
freezeRow = 8;
lookIdleFrame = 0;
}
private function dealDmgToFreddy(_arg1:Event):void{
_hitpoint = (_hitpoint - rootRef.ourPlayer.gunArray[0].bulletDamage);
freddyportrait.freddy.hit.gotoAndPlay(1);
freddyportrait.freddy.appear.gotoAndStop(110);
freddyAppearTimer.resetAndStart();
activateBlinky();
if (_hitpoint <= 0){
dispatchEvent(new Event("killed"));
removeSelf();
};
}
override public function takeHit(_arg1:int):void{
if (!stunnedTimer.running){
dmgTakenSinceKnockBack = (dmgTakenSinceKnockBack + _arg1);
if ((((((rootRef.ourPlayer.gunArray[0] is ShotGun)) || ((rootRef.ourPlayer.gunArray[0] is ShotGun2)))) || ((rootRef.ourPlayer.gunArray[0] is Rocket)))){
shotgunCounter = (shotgunCounter + 1);
if (shotgunCounter >= 3){
dmgTakenSinceKnockBack = 100;
shotgunCounter = 0;
};
};
};
if (dmgTakenSinceKnockBack >= 100){
setZombieFSM(ZOMBIE_STATE_FLY_BACKWARD);
attackCDTimer.reset();
dmgTakenSinceKnockBack = 0;
prevX = x;
};
}
override public function takeKick(_arg1:int, _arg2:int):void{
if (!stunnedTimer.running){
dmgTakenSinceKnockBack = 100;
};
if (dmgTakenSinceKnockBack >= 100){
setZombieFSM(ZOMBIE_STATE_FLY_BACKWARD);
attackCDTimer.reset();
dmgTakenSinceKnockBack = 0;
prevX = x;
};
trace("KNOCKBACK FROM KICK");
}
override protected function knockBackFreeze(_arg1:Number, _arg2:Number, _arg3:Boolean=false):void{
}
protected function freezeAnimation():void{
drawTileColRow(0, freezeRow);
}
private function summonAnimation():void{
drawTileColRow(frameNumber++, 1);
if (frameNumber > 13){
frameNumber = 13;
};
}
private function afterSummonAnimation():void{
drawTileColRow(frameNumber++, 2);
if (frameNumber > 5){
setAngle();
animationFSM = C.WALK;
if (visible == true){
setZombieFSM(ZOMBIE_STATE_DASH);
};
};
}
private function moveAnimation():void{
drawTileColRow(0, moveRow);
}
private function initMoveRow():void{
if (zombieFSM == ZOMBIE_STATE_CHASE){
if (walkDirection){
moveRow = 4;
} else {
moveRow = 5;
};
} else {
if (zombieFSM == ZOMBIE_STATE_DASH){
if (dashForward){
moveRow = 6;
} else {
moveRow = 7;
};
};
};
}
override protected function animationTimerHandler(_arg1:TimerEvent){
initMoveRow();
switch (animationFSM){
case C.WALK:
moveAnimation();
break;
case C.WALK_REVERSE:
walkReverseAnimation();
break;
case C.ATTACK:
attackAnimation();
break;
case C.ATTACK_IDLE:
attackIdle();
case C.FREEZE:
freezeAnimation();
break;
case C.SUMMON:
summonAnimation();
break;
case C.AFTERSUMMON:
afterSummonAnimation();
break;
};
}
override protected function loop(_arg1:Event):void{
checkCommonTimers();
changeTint();
if (target == null){
return;
};
checkNoOfBullets();
switch (zombieFSM){
case ZOMBIE_STATE_CHASE:
animationFSM = C.WALK;
handleChaseState();
break;
case ZOMBIE_STATE_WALK_RANDOM_DIRECTION:
handleZombieWalkRandomState();
break;
case ZOMBIE_STATE_FROZEN:
animationFSM = C.FREEZE;
activateBlinky();
blinkRedCheck();
break;
case ZOMBIE_STATE_ATTACK_ANIMATION:
animationFSM = C.ATTACK;
handleZombieAttackAnimationState();
break;
case ZOMBIE_STATE_FLY_BACKWARD:
animationFSM = C.FREEZE;
handleFlyBackwards();
break;
case ZOMBIE_STATE_FLY_FORWARD:
handleFlyForward();
break;
case ZOMBIE_STATE_STUNNED:
animationFSM = C.FREEZE;
break;
case ZOMBIE_STATE_SUMMON:
animationFSM = C.SUMMON;
break;
case ZOMBIE_STATE_AFTERSUMMON:
animationFSM = C.AFTERSUMMON;
break;
case ZOMBIE_STATE_DASH:
animationFSM = C.WALK;
handleDashState();
break;
case ZOMBIE_STATE_DESTROYING:
removeSelf();
break;
};
}
private function handleDashState():void{
if (!dashPause){
if (dashForward){
if (dashDistance < 300){
x = (x + -((10 * Math.cos(((dashAngle * Math.PI) / 180)))));
y = (y + -((10 * Math.sin(((dashAngle * Math.PI) / 180)))));
dashDistance = (dashDistance + 10);
} else {
dashPause = true;
dashForward = !(dashForward);
dashPauseTimer.start();
};
} else {
if (dashDistance > 0){
x = (x - -((10 * Math.cos(((dashAngle * Math.PI) / 180)))));
y = (y - -((10 * Math.sin(((dashAngle * Math.PI) / 180)))));
dashDistance = (dashDistance - 10);
} else {
attackCDTimer.resetAndStart();
setZombieFSM(ZOMBIE_STATE_CHASE);
dashForward = !(dashForward);
};
};
};
}
private function handleFlyBackwards():void{
var _local1:MovieClip;
var _local2:int;
var _local3:ZombieDeath;
y = (y - 20);
trace(((("X : " + x) + " Y : ") + y));
if (this.hitTestObject(freddycollision)){
if (extraY < 20){
y = (y - 20);
extraY = (extraY + 20);
} else {
extraY = 0;
_local1 = new freddyCollisionBox();
addChild(_local1);
_local1.visible = false;
if (_local1.hitTestObject(freddyportrait)){
freddyportrait.portrait.play();
freddyportrait.jonportrait.play();
_hitpoint = (_hitpoint - 100);
if (_hitpoint <= 0){
dispatchEvent(new Event("killed"));
removeSelf();
};
};
removeChild(_local1);
trace("FREDDY HIT SCORE HUD");
setZombieFSM(ZOMBIE_STATE_STUNNED);
_local2 = 0;
while (_local2 < Main.freddyBulletList.length) {
Main.freddyBulletList[_local2].ANIMATION_STATE = Main.freddyBulletList[_local2].ANIMATION_STATE_DESTROY;
_local2++;
};
visible = false;
_local3 = new ZombieDeath(deathLayer, x, y);
dashDistance = 0;
layer.addChild(_local3);
stunnedTimer.start();
};
};
}
private function handleFlyForward():void{
visible = true;
x = prevX;
y = prevY;
setZombieFSM(ZOMBIE_STATE_SUMMON);
attackCDTimer.resetAndStart();
}
private function handleChaseState():void{
if (walkDirection == WALKLEFT){
x = (x - speed);
if (x < (C.GAME_WIDTH / 3)){
walkDirection = WALKRIGHT;
};
} else {
x = (x + speed);
if (x > ((C.GAME_WIDTH / 3) * 2)){
walkDirection = WALKLEFT;
};
};
}
override protected function handleZombieAttackAnimationState():void{
var _local1:int;
if (attackComplete){
setZombieFSM(ZOMBIE_STATE_SUMMON);
return;
};
if (attackPoint){
if (Utils.BoundingCircle(x, y, target.x, target.y, _attackRange)){
target.takeHit(_dmg);
};
trace("I pew pew you");
_local1 = 0;
while (_local1 < Main.freddyBulletList.length) {
Main.freddyBulletList[_local1].BULLET_STATE = Main.freddyBulletList[_local1].BULLET_STATE_ATTACK;
_local1++;
};
attackPoint = false;
attackComplete = true;
};
}
override protected function attackAnimation():void{
if (attackComplete){
return;
};
drawTileColRow(frameNumber++, 3);
if (frameNumber == attackEndFrame){
attackPoint = true;
};
if (frameNumber > attackEndFrame){
frameNumber = attackEndFrame;
};
}
override protected function setTimersDuration():void{
walkRandomDirectionTimer.duration = WALK_RANDOM_DIRECTION_DURATION;
attackCDTimer.duration = attackCDTime;
unfreezeTimer.duration = unfreezeTimeFromBullet;
blinkRedTimer.duration = blinkRedTime;
bulletRechargeTimer.duration = 4000;
stunnedTimer.duration = 3000;
blinkTimer.duration = 1500;
dashPauseTimer.duration = 1000;
freddyAppearTimer.duration = 5000;
}
override protected function checkCommonTimers():void{
checkBlinkRedTimer();
checkAttackCDTimer();
checkUnfreezeTimer();
checkStunnedTimer();
checkBlinkTimer();
checkDashPauseTimer();
checkFreddyAppearTimer();
}
private function checkFreddyAppearTimer():void{
if (freddyAppearTimer.getTrigger()){
freddyportrait.freddy.appear.gotoAndPlay(1);
freddyAppearTimer.resetAndStart();
};
}
private function checkDashPauseTimer():void{
if (dashPauseTimer.getTrigger()){
dashPause = false;
};
}
private function checkBlinkTimer():void{
if (blinkTimer.getTrigger()){
blinkActivated = false;
alpha = 1;
};
}
private function checkStunnedTimer():void{
if (stunnedTimer.getTrigger()){
blinkActivated = true;
blinkTimer.start();
SoundManager.instance.playSound(Sounds.ENEMY_LAUGH);
setZombieFSM(ZOMBIE_STATE_FLY_FORWARD);
};
}
override protected function checkAttackCDTimer():void{
if (attackCDTimer.getTrigger()){
attackComplete = false;
setZombieFSM(ZOMBIE_STATE_ATTACK_ANIMATION);
};
}
override protected function checkUnfreezeTimer():void{
if (unfreezeTimer.getTrigger()){
setZombieFSM(ZOMBIE_STATE_UNFREEZE);
trace("UNFREEZE");
};
}
override protected function changeTint():void{
if ((++blinkCounter % 2) == 0){
blinkRedNow = !(blinkRedNow);
};
if (blinkActivated){
if (blinkRedNow){
alpha = 0;
} else {
alpha = 1;
};
};
}
override public function set direction(_arg1:int):void{
if (_direction != _arg1){
_direction = _arg1;
frameNumber = 0;
if ((((((_direction == C.RIGHT)) || ((_direction == C.UP_RIGHT)))) || ((_direction == C.DOWN_RIGHT)))){
scaleX = -1;
slashShape.scaleX = -1;
} else {
scaleX = 1;
slashShape.scaleX = 1;
};
};
}
private function checkNoOfBullets():void{
if ((((((((((Main.freddyBulletList.length == 0)) && (!((zombieFSM == ZOMBIE_STATE_FLY_FORWARD))))) && (!(stunnedTimer.running)))) && (!((zombieFSM == ZOMBIE_STATE_DASH))))) && (!((zombieFSM == ZOMBIE_STATE_ATTACK_ANIMATION))))){
setZombieFSM(ZOMBIE_STATE_SUMMON);
rechargeBullets();
};
}
private function rechargeBullets():void{
bulletCount = 0;
var _local1:FreddyBullet = new FreddyBullet(layer, this, x, y, 0);
EC.add(_local1, "summoned", increaseObjectCount, false, 0, true, "bullet1summoned");
var _local2:FreddyBullet2 = new FreddyBullet2(layer, this, x, y, 120);
EC.add(_local2, "summoned", increaseObjectCount, false, 0, true, "bullet2summoned");
var _local3:FreddyBullet3 = new FreddyBullet3(layer, this, x, y, 240);
EC.add(_local3, "summoned", increaseObjectCount, false, 0, true, "bullet3summoned");
}
private function increaseObjectCount(_arg1:Event):void{
bulletCount = (bulletCount + 1);
if (bulletCount == 3){
setZombieFSM(ZOMBIE_STATE_AFTERSUMMON);
};
}
private function drawArc(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number){
var _local12:Point;
var _local13:Point;
var _local8:Number = Math.abs((_arg5 - _arg4));
var _local9:Number = (Math.floor((_local8 / (Math.PI / 4))) + 1);
var _local10:Number = ((_arg7 * _local8) / (2 * _local9));
var _local11:Number = (_arg6 / Math.cos(_local10));
_arg1.moveTo((_arg2 + (Math.cos(_arg4) * _arg6)), (_arg3 + (Math.sin(_arg4) * _arg6)));
var _local14:Number = 0;
while (_local14 < _local9) {
_arg5 = (_arg4 + _local10);
_arg4 = (_arg5 + _local10);
_local12 = new Point((_arg2 + (Math.cos(_arg5) * _local11)), (_arg3 + (Math.sin(_arg5) * _local11)));
_local13 = new Point((_arg2 + (Math.cos(_arg4) * _arg6)), (_arg3 + (Math.sin(_arg4) * _arg6)));
_arg1.curveTo(_local12.x, _local12.y, _local13.x, _local13.y);
_local14++;
};
}
private function setupAttack():void{
var _local1:Graphics;
var _local2:int = _direction;
_local1 = slashShape.graphics;
_local1.beginFill(0xFFCC00, 0.3);
var _local3:Number = ConversionUtil.degreesToRadians(360);
drawArc(_local1, 0, 0, (-(_local3) / 2), ((-(_local3) / 2) + _local3), 32, 1);
_local1.lineTo(0, 0);
_local1.endFill();
slashShape.rotation = Utils.directionToAngle(_local2);
addChild(slashShape);
slashShape.visible = false;
}
private function setAngle():void{
dashAngle = GeomUtil.angle(new Point(target.x, target.y), new Point(x, y));
}
override public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
EC.remove(bulletRechargeTimer);
EC.remove(blinkTimer);
EC.remove(stunnedTimer);
EC.remove(dashPauseTimer);
EC.remove(freddyAppearTimer);
stageRef.removeChild(freddyportrait);
var _local1:int;
while (_local1 < Main.freddyBulletList.length) {
Main.freddyBulletList[0].removeSelf();
_local1++;
};
EC.remove("DEAL_DMG");
}
}
}//package zombies
Section 182
//FreddyAnimation (zombies.FreddyAnimation)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class FreddyAnimation extends MovieClip {
private var stageRef:Stage;
public function FreddyAnimation(_arg1:Stage, _arg2:Number, _arg3:Number){
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "FreddyAnimation_loop");
}
private function loop(_arg1:Event):void{
if (currentFrame >= totalFrames){
stop();
removeSelf();
};
}
public function removeSelf():void{
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
dispatchEvent(new Event(C.ANIMATION_COMPLETE));
EC.remove(this);
}
}
}//package zombies
Section 183
//FreddyBullet (zombies.FreddyBullet)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class FreddyBullet extends SpriteSheet {
protected var layer:Sprite;
protected var target;
protected var frameNumber:int;// = 0
private var angle:Number;// = 90
private var speed:Number;// = 6
private var radius:Number;// = 100
private var hitpoint:int;// = 100
public var BULLET_STATE_IDLE:int;// = 1
public var BULLET_STATE_ATTACK:int;// = 2
public var BULLET_STATE_SUMMONED:int;// = 3
public var BULLET_STATE:int;
public var ANIMATION_STATE_IDLE:int;// = 1
public var ANIMATION_STATE_HIT:int;// = 2
public var ANIMATION_STATE_DESTROY:int;// = 3
public var ANIMATION_STATE:int;
private var frameNumberReduced:int;// = 0
public var destinatedY:Number;// = 0
public function FreddyBullet(_arg1:Sprite, _arg2:Freddy, _arg3:Number, _arg4:Number, _arg5:Number){
BULLET_STATE = BULLET_STATE_SUMMONED;
ANIMATION_STATE = ANIMATION_STATE_IDLE;
this.angle = _arg5;
this.layer = _arg1;
this.target = _arg2;
this.x = (_arg2.x + (this.radius * Math.cos((this.angle * (Math.PI / 180)))));
this.y = (_arg2.y + (this.radius * Math.sin((this.angle * (Math.PI / 180)))));
destinatedY = this.y;
this.y = (this.y + 1000);
super(ZombieBitmap.freddyBulletBmp, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE, true);
init();
}
private function init():void{
layer.addChild(this);
addEventListeners();
Main.freddyBulletList.push(this);
Main.freddyBulletCollisionList.addItem(this);
}
public function addEventListeners():void{
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Loop");
EC.add(this, Event.ENTER_FRAME, animationLoop, false, 0, true, "animation_Loop");
}
private function loop(_arg1:Event){
switch (BULLET_STATE){
case BULLET_STATE_IDLE:
orbitBullet();
break;
case BULLET_STATE_ATTACK:
y = (y + C.UFO_BULLET_SPEED);
removeOutOfBoundBullet();
break;
case BULLET_STATE_SUMMONED:
summonedState();
break;
};
}
protected function animationLoop(_arg1:Event){
switch (ANIMATION_STATE){
case ANIMATION_STATE_IDLE:
idleAnimation();
break;
case ANIMATION_STATE_HIT:
takeHitAnimation();
break;
case ANIMATION_STATE_DESTROY:
destroyAnimation();
break;
};
}
private function summonedState():void{
if (y > destinatedY){
y = (y - 10);
} else {
BULLET_STATE = BULLET_STATE_IDLE;
dispatchEvent(new Event("summoned"));
};
}
public function takeHit(_arg1:int):void{
if (ANIMATION_STATE == ANIMATION_STATE_DESTROY){
return;
};
trace("freddybullet took hit");
ANIMATION_STATE = ANIMATION_STATE_HIT;
hitpoint = (hitpoint - _arg1);
if (hitpoint < 0){
ANIMATION_STATE = ANIMATION_STATE_DESTROY;
};
}
private function orbitBullet():void{
var _local1:Number = (this.angle * (Math.PI / 180));
this.x = (target.x + (this.radius * Math.cos(_local1)));
this.y = (target.y + (this.radius * Math.sin(_local1)));
this.angle = (this.angle + this.speed);
this.angle = (this.angle % 360);
}
private function removeOutOfBoundBullet():void{
var _local1:Number = (y + layer.y);
if ((((((((_local1 < 0)) || ((_local1 > C.GAME_HEIGHT)))) || ((x < 0)))) || ((x > C.GAME_WIDTH)))){
removeSelf();
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
EC.remove(this);
var _local1:int = Main.freddyBulletList.indexOf(this);
Main.freddyBulletList.splice(_local1, 1);
Main.freddyBulletCollisionList.removeItem(this);
}
protected function idleAnimation():void{
drawTileColRow(0, 3);
}
protected function takeHitAnimation():void{
frameNumberReduced = (frameNumber++ / 2);
drawTileColRow(frameNumberReduced, 4);
if (frameNumberReduced > 1){
ANIMATION_STATE = ANIMATION_STATE_IDLE;
frameNumber = 0;
};
}
protected function destroyAnimation():void{
frameNumberReduced = (frameNumber++ / 2);
drawTileColRow(frameNumberReduced, 5);
if (frameNumberReduced > 3){
removeSelf();
frameNumber = 0;
};
}
}
}//package zombies
Section 184
//FreddyBullet2 (zombies.FreddyBullet2)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class FreddyBullet2 extends SpriteSheet {
private var layer:Sprite;
protected var target;
protected var frameNumber:int;// = 0
private var angle:Number;// = 90
private var speed:Number;// = 6
private var radius:Number;// = 100
private var hitpoint:int;// = 100
public var BULLET_STATE_IDLE:int;// = 1
public var BULLET_STATE_ATTACK:int;// = 2
public var BULLET_STATE_SUMMONED:int;// = 3
public var BULLET_STATE:int;
public var ANIMATION_STATE_IDLE:int;// = 1
public var ANIMATION_STATE_HIT:int;// = 2
public var ANIMATION_STATE_DESTROY:int;// = 3
public var ANIMATION_STATE:int;
private var frameNumberReduced:int;// = 0
public var destinatedY:Number;// = 0
public function FreddyBullet2(_arg1:Sprite, _arg2:Freddy, _arg3:Number, _arg4:Number, _arg5:Number){
BULLET_STATE = BULLET_STATE_SUMMONED;
ANIMATION_STATE = ANIMATION_STATE_IDLE;
this.angle = _arg5;
this.layer = _arg1;
this.target = _arg2;
this.x = (_arg2.x + (this.radius * Math.cos((this.angle * (Math.PI / 180)))));
this.y = (_arg2.y + (this.radius * Math.sin((this.angle * (Math.PI / 180)))));
destinatedY = this.y;
this.y = (this.y + 1000);
super(ZombieBitmap.freddyBullet2Bmp, C.SEARCH_SPRITE_SIZE, C.SEARCH_SPRITE_SIZE, true);
init();
}
private function init():void{
layer.addChild(this);
addEventListeners();
Main.freddyBulletList.push(this);
Main.freddyBulletCollisionList.addItem(this);
}
public function addEventListeners():void{
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Loop");
EC.add(this, Event.ENTER_FRAME, animationLoop, false, 0, true, "animation_Loop");
}
private function loop(_arg1:Event){
switch (BULLET_STATE){
case BULLET_STATE_IDLE:
orbitBullet();
break;
case BULLET_STATE_ATTACK:
y = (y + C.UFO_BULLET_SPEED);
removeOutOfBoundBullet();
break;
case BULLET_STATE_SUMMONED:
summonedState();
break;
};
}
private function animationLoop(_arg1:Event){
switch (ANIMATION_STATE){
case ANIMATION_STATE_IDLE:
idleAnimation();
break;
case ANIMATION_STATE_HIT:
takeHitAnimation();
break;
case ANIMATION_STATE_DESTROY:
destroyAnimation();
break;
};
}
private function summonedState():void{
if (y > destinatedY){
y = (y - 10);
} else {
BULLET_STATE = BULLET_STATE_IDLE;
dispatchEvent(new Event("summoned"));
};
}
public function takeHit(_arg1:int):void{
if (ANIMATION_STATE == ANIMATION_STATE_DESTROY){
return;
};
ANIMATION_STATE = ANIMATION_STATE_HIT;
hitpoint = (hitpoint - _arg1);
if (hitpoint < 0){
ANIMATION_STATE = ANIMATION_STATE_DESTROY;
};
}
private function orbitBullet():void{
var _local1:Number = (this.angle * (Math.PI / 180));
this.x = (target.x + (this.radius * Math.cos(_local1)));
this.y = (target.y + (this.radius * Math.sin(_local1)));
this.angle = (this.angle + this.speed);
this.angle = (this.angle % 360);
}
private function removeOutOfBoundBullet():void{
var _local1:Number = (y + layer.y);
if ((((((((_local1 < 0)) || ((_local1 > C.GAME_HEIGHT)))) || ((x < 0)))) || ((x > C.GAME_WIDTH)))){
removeSelf();
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
EC.remove(this);
var _local1:int = Main.freddyBulletList.indexOf(this);
Main.freddyBulletList.splice(_local1, 1);
Main.freddyBulletCollisionList.removeItem(this);
}
protected function idleAnimation():void{
drawTileColRow(0, 6);
}
protected function takeHitAnimation():void{
frameNumberReduced = (frameNumber++ / 2);
drawTileColRow(frameNumberReduced, 7);
if (frameNumberReduced > 1){
ANIMATION_STATE = ANIMATION_STATE_IDLE;
frameNumber = 0;
};
}
protected function destroyAnimation():void{
frameNumberReduced = (frameNumber++ / 2);
drawTileColRow(frameNumberReduced, 8);
if (frameNumberReduced > 4){
removeSelf();
frameNumber = 0;
};
}
}
}//package zombies
Section 185
//FreddyBullet3 (zombies.FreddyBullet3)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class FreddyBullet3 extends SpriteSheet {
private var layer:Sprite;
protected var target;
protected var frameNumber:int;// = 0
private var angle:Number;// = 90
private var speed:Number;// = 6
private var radius:Number;// = 100
private var hitpoint:int;// = 100
public var BULLET_STATE_IDLE:int;// = 1
public var BULLET_STATE_ATTACK:int;// = 2
public var BULLET_STATE_SUMMONED:int;// = 3
public var BULLET_STATE:int;
public var ANIMATION_STATE_IDLE:int;// = 1
public var ANIMATION_STATE_HIT:int;// = 2
public var ANIMATION_STATE_DESTROY:int;// = 3
public var ANIMATION_STATE_DESTROY2:int;// = 4
public var ANIMATION_STATE:int;
private var frameNumberReduced:int;// = 0
public var destinatedY:Number;// = 0
public function FreddyBullet3(_arg1:Sprite, _arg2:Freddy, _arg3:Number, _arg4:Number, _arg5:Number){
BULLET_STATE = BULLET_STATE_SUMMONED;
ANIMATION_STATE = ANIMATION_STATE_IDLE;
this.angle = _arg5;
this.layer = _arg1;
this.target = _arg2;
this.x = (_arg2.x + (this.radius * Math.cos((this.angle * (Math.PI / 180)))));
this.y = (_arg2.y + (this.radius * Math.sin((this.angle * (Math.PI / 180)))));
destinatedY = this.y;
this.y = (this.y + 1000);
super(ZombieBitmap.freddyBullet3Bmp, C.EXPLODE_OBJECT_SPRITE_SIZE, C.EXPLODE_OBJECT_SPRITE_SIZE, true);
init();
}
private function init():void{
layer.addChild(this);
addEventListeners();
Main.freddyBulletList.push(this);
Main.freddyBulletCollisionList.addItem(this);
}
public function addEventListeners():void{
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Loop");
EC.add(this, Event.ENTER_FRAME, animationLoop, false, 0, true, "animation_Loop");
}
private function loop(_arg1:Event){
switch (BULLET_STATE){
case BULLET_STATE_IDLE:
orbitBullet();
break;
case BULLET_STATE_ATTACK:
y = (y + C.UFO_BULLET_SPEED);
removeOutOfBoundBullet();
break;
case BULLET_STATE_SUMMONED:
summonedState();
break;
};
}
private function animationLoop(_arg1:Event){
switch (ANIMATION_STATE){
case ANIMATION_STATE_IDLE:
idleAnimation();
break;
case ANIMATION_STATE_HIT:
takeHitAnimation();
break;
case ANIMATION_STATE_DESTROY:
destroyAnimation();
break;
case ANIMATION_STATE_DESTROY2:
destroyAnimation2();
break;
};
}
private function summonedState():void{
if (y > destinatedY){
y = (y - 10);
} else {
BULLET_STATE = BULLET_STATE_IDLE;
dispatchEvent(new Event("summoned"));
};
}
public function takeHit(_arg1:int):void{
if ((((ANIMATION_STATE == ANIMATION_STATE_DESTROY)) || ((ANIMATION_STATE == ANIMATION_STATE_DESTROY2)))){
return;
};
ANIMATION_STATE = ANIMATION_STATE_HIT;
hitpoint = (hitpoint - _arg1);
if (hitpoint < 0){
ANIMATION_STATE = ANIMATION_STATE_DESTROY;
};
}
private function orbitBullet():void{
var _local1:Number = (this.angle * (Math.PI / 180));
this.x = (target.x + (this.radius * Math.cos(_local1)));
this.y = (target.y + (this.radius * Math.sin(_local1)));
this.angle = (this.angle + this.speed);
this.angle = (this.angle % 360);
}
private function removeOutOfBoundBullet():void{
var _local1:Number = (y + layer.y);
if ((((((((_local1 < 0)) || ((_local1 > C.GAME_HEIGHT)))) || ((x < 0)))) || ((x > C.GAME_WIDTH)))){
removeSelf();
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
EC.remove(this);
var _local1:int = Main.freddyBulletList.indexOf(this);
Main.freddyBulletList.splice(_local1, 1);
Main.freddyBulletCollisionList.removeItem(this);
}
protected function idleAnimation():void{
drawTileColRow(0, 0);
}
protected function takeHitAnimation():void{
frameNumberReduced = (frameNumber++ / 2);
drawTileColRow(frameNumberReduced, 1);
if (frameNumberReduced > 2){
ANIMATION_STATE = ANIMATION_STATE_IDLE;
frameNumber = 0;
};
}
protected function destroyAnimation():void{
frameNumberReduced = (frameNumber++ / 2);
drawTileColRow(frameNumberReduced, 2);
if (frameNumberReduced > 2){
ANIMATION_STATE = ANIMATION_STATE_DESTROY2;
frameNumber = 0;
};
}
private function destroyAnimation2():void{
frameNumberReduced = (frameNumber++ / 2);
drawTileColRow(frameNumberReduced, 3);
if (frameNumberReduced > 3){
removeSelf();
frameNumber = 0;
};
}
}
}//package zombies
Section 186
//Jason (zombies.Jason)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import fl.motion.*;
import players.*;
import org.casalib.util.*;
public class Jason extends Zombie {
private var knockBackHPPercent:int;// = 50
private var dmgTakenSinceKnockBack:int;// = 0
private var knockBackHP:int;// = 100
public var maxHitpoint:int;
private var charge:Boolean;// = false
private var chargeCDTime:int;// = 3000
private var chargeCDTimer:Timer;
private var roarTime:int;// = 1000
private var roarTimer:Timer;
private var chargeEnable:Boolean;// = true
public var lookRow:int;
public var lookNumFrames:int;
private var lookTimes:int;// = 0
public var freezeRow:int;
public var freezeNumFrames:int;
public var chargeRow:int;
public var chargeNumFrames:int;
public var chargeRed:Boolean;// = false
public var chargeFrameNumber:int;
private var armorOn:Boolean;// = true
private var attackTimes:int;// = 0
private var blinkCounter:int;// = 0
private var blinkRedNow:Boolean;// = false
private var flashEnable:Boolean;// = false
private var flashCounter:int;// = 0
private var flashNow:Boolean;// = false
private var object;
private var rootRef;
private var slashShape:Shape;
private var chargeDistance:int;// = 400
private var distanceCharged:int;
private var chargeAngle:int;// = 0
private var fromExplosion:Boolean;// = false
private var stuckCount:int;// = 0
private var oriX:Number;
private var oriY:Number;
public function Jason(_arg1:Sprite, _arg2:Player, _arg3, _arg4:Number, _arg5:Number):void{
slashShape = new Shape();
super(_arg1, _arg2, ZombieBitmap.BOSS_JASON_SS, _arg4, _arg5);
this.layer = _arg1;
this.target = _arg2;
this.rootRef = _arg3;
unfreezeTimeFromBullet = 2000;
blinkRedTime = 3000;
blinkRedTimer.duration = blinkRedTime;
chargeCDTimer = new Timer(chargeCDTime, 1);
EC.add(chargeCDTimer, TimerEvent.TIMER, chargeCDTimerHandler, false, 0, true, "Zombie_Attack");
roarTimer = new Timer(roarTime, 1);
EC.add(roarTimer, TimerEvent.TIMER, roarTimerHandler, false, 0, true, "Zombie_Roar");
}
override protected function initValue():void{
_speed = 1;
_hitpoint = 800;
_dmg = 20;
_bounce = 10;
_worth = 20;
_points = 10000;
_attackRange = 30;
maxHitpoint = _hitpoint;
}
override protected function setupSprite(){
bmp = ZombieBitmap.bossJasonBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 1;
walkRow[C.LEFT] = 2;
walkRow[C.RIGHT] = 2;
walkRow[C.UP] = 3;
direction = C.DOWN;
attackStartFrame = 0;
attackDmgFrame = 2;
attackEndFrame = 6;
attackRow[C.DOWN] = 7;
attackRow[C.LEFT] = 8;
attackRow[C.RIGHT] = 8;
attackRow[C.UP] = 9;
lookNumFrames = 12;
lookRow = 10;
freezeNumFrames = 3;
freezeRow = 12;
chargeNumFrames = 20;
chargeRow = 11;
lookIdleFrame = 0;
}
override public function takeHit(_arg1:int):void{
if (!unfreezeTimer.running){
dmgTakenSinceKnockBack = (dmgTakenSinceKnockBack + _arg1);
};
if (!armorOn){
super.takeHit(_arg1);
} else {
SoundManager.instance.playSound(Sounds.OBJ_METAL);
};
}
public function takeArmorHit(_arg1:int):void{
fromExplosion = true;
takeHit((knockBackHP - dmgTakenSinceKnockBack));
knockBackFreeze(10, 2000, false);
}
override public function takeKick(_arg1:int, _arg2:int):void{
}
override protected function knockBackFreeze(_arg1:Number, _arg2:Number, _arg3:Boolean=false):void{
if (_arg3){
super.knockBackFreeze(_arg1, _arg2, _arg3);
return;
};
if (dmgTakenSinceKnockBack >= knockBackHP){
super.knockBackFreeze(_arg1, _arg2, _arg3);
dmgTakenSinceKnockBack = 0;
armorOn = false;
};
}
private function checkDistance():void{
var _local1:SurvivorArgh;
if (((((Utils.BoundingCircle(x, (layer.y + y), target.x, target.y, 400)) && (chargeEnable))) && ((zombieFSM == ZOMBIE_STATE_CHASE)))){
roarTimer.start();
_local1 = new SurvivorArgh(layer, x, (y - 62));
};
}
private function chargeCDTimerHandler(_arg1:TimerEvent):void{
chargeEnable = true;
}
private function roarTimerHandler(_arg1:TimerEvent):void{
_speed = 10;
charge = true;
}
private function chargeToPlayer():void{
x = (x + -((speed * Math.cos(((chargeAngle * Math.PI) / 180)))));
y = (y + -((speed * Math.sin(((chargeAngle * Math.PI) / 180)))));
oldX = x;
oldY = y;
SoundManager.instance.playSound(Sounds.ENEMY_RUN);
checkCollide();
checkCharge();
checkObjectCollisionAndMove();
}
private function checkCollide():void{
if (Utils.BoundingCircle(x, (layer.y + y), target.x, target.y, 30)){
charge = false;
chargeEnable = false;
chargeCDTimer.stop();
chargeCDTimer.start();
};
}
override public function checkObjectCollisionAndMove():void{
Main.obstacleObjectCollisionList.swapTarget(zCollisionBox);
oriX = x;
oriY = y;
x = (x + velX);
y = (y + velY);
var _local1:Array = Main.obstacleObjectCollisionList.checkCollisions();
if (!_local1.length){
stuckCount = 0;
return;
};
stuckCount++;
if (_local1[0].object1 == zCollisionBox){
zombieCollideObject(_local1[0].object1, _local1[0].object2);
} else {
zombieCollideObject(_local1[0].object2, _local1[0].object1);
};
}
override protected function zombieCollideObject(_arg1:MovieClip, _arg2):void{
angle = Utils.getOppositeAngle(angle);
object = _arg2;
if (charge){
setZombieFSM(ZOMBIE_STATE_ATTACK_ANIMATION);
charge = false;
chargeEnable = false;
chargeCDTimer.stop();
chargeCDTimer.start();
distanceCharged = 0;
} else {
setZombieFSM(ZOMBIE_STATE_WALK_RANDOM_DIRECTION);
};
var _local3:Boolean;
var _local4:int;
while (_local4 < 10) {
if (!zCollisionBox.hitTestObject(_arg2)){
_local3 = true;
break;
};
x = (x + -((1 * Math.cos(((angle * Math.PI) / 180)))));
y = (y + -((1 * Math.sin(((angle * Math.PI) / 180)))));
_local4++;
};
if (!_local3){
x = oriX;
y = oriY;
};
if (stuckCount > 200){
stuckCount = 0;
};
}
protected function lookAnimation():void{
drawTileColRow(frameNumber++, lookRow);
if (frameNumber >= lookNumFrames){
if (lookTimes == 2){
setZombieFSM(ZOMBIE_STATE_CHASE);
} else {
lookTimes++;
frameNumber = 0;
};
};
}
protected function freezeAnimation():void{
drawTileColRow(frameNumber++, freezeRow);
if (frameNumber >= freezeNumFrames){
frameNumber = (freezeNumFrames - 1);
};
}
protected function unfreezeAnimation():void{
drawTileColRow((2 + frameNumber++), freezeRow);
if (frameNumber >= freezeNumFrames){
chargeRed = false;
setZombieFSM(ZOMBIE_STATE_CHARGE);
};
}
protected function chargeAnimation():void{
chargeFrameNumber = (frameNumber++ / 2);
drawTileColRow(chargeFrameNumber, chargeRow);
flashEnable = true;
if (chargeFrameNumber == 9){
SoundManager.instance.playSound(Sounds.ENEMY_ROAR);
};
if (chargeFrameNumber >= chargeNumFrames){
attackTimes = 0;
setZombieFSM(ZOMBIE_STATE_CHASE);
flashEnable = false;
dmgTakenSinceKnockBack = 0;
armorOn = true;
};
}
override protected function animationTimerHandler(_arg1:TimerEvent){
switch (animationFSM){
case C.WALK:
walkAnimation();
break;
case C.WALK_REVERSE:
walkReverseAnimation();
break;
case C.ATTACK:
attackAnimation();
break;
case C.ATTACK_IDLE:
attackIdle();
case C.LOOK:
lookAnimation();
break;
case C.FREEZE:
freezeAnimation();
break;
case C.UNFREEZE:
unfreezeAnimation();
break;
case C.CHARGE:
chargeAnimation();
break;
};
}
override protected function loop(_arg1:Event):void{
checkCommonTimers();
changeTint();
if (target == null){
return;
};
if (charge){
walkRow[C.DOWN] = 4;
walkRow[C.LEFT] = 5;
walkRow[C.RIGHT] = 5;
walkRow[C.UP] = 6;
chargeToPlayer();
} else {
walkRow[C.DOWN] = 1;
walkRow[C.LEFT] = 2;
walkRow[C.RIGHT] = 2;
walkRow[C.UP] = 3;
};
switch (zombieFSM){
case ZOMBIE_STATE_CHASE:
animationFSM = C.WALK;
if (!charge){
_speed = 0.8;
handleZombieChaseState();
};
break;
case ZOMBIE_STATE_WALK_RANDOM_DIRECTION:
handleZombieWalkRandomState();
break;
case ZOMBIE_STATE_FROZEN:
animationFSM = C.FREEZE;
charge = false;
attackTimes = 0;
distanceCharged = 0;
activateBlinky();
blinkRedCheck();
break;
case ZOMBIE_STATE_UNFREEZE:
animationFSM = C.UNFREEZE;
break;
case ZOMBIE_STATE_CHARGE:
animationFSM = C.CHARGE;
chargeAnimation();
break;
case ZOMBIE_STATE_ATTACK_ANIMATION:
handleZombieAttackAnimationState();
break;
case ZOMBIE_STATE_LOOK:
animationFSM = C.LOOK;
lookAnimation();
break;
case ZOMBIE_STATE_DESTROYING:
removeSelf();
break;
};
}
override protected function checkUnfreezeTimer():void{
if (unfreezeTimer.getTrigger()){
setZombieFSM(ZOMBIE_STATE_UNFREEZE);
};
}
override protected function handleZombieChaseState():void{
if (roarTimer.running){
return;
};
super.handleZombieChaseState();
if (!charge){
setAngle();
checkDistance();
};
}
override protected function handleZombieWalkRandomState():void{
if (S.gameMovementFreeze){
return;
};
attackIfClose();
autoChangeTarget();
setAngleToDirection2();
setVelocity();
checkObjectCollisionAndMove();
checkRandomMoveTimer();
setAngle();
checkDistance();
}
override protected function handleZombieAttackAnimationState():void{
var _local1:int;
var _local2:int;
if (attackComplete){
attackTimes = 0;
setZombieFSM(ZOMBIE_STATE_LOOK);
attackCDTimer.start();
return;
};
if (attackPoint){
setupAttack();
if (rootRef.ourPlayer){
if (((!(rootRef.ourPlayer.playerInvul)) && (slashShape.hitTestObject(rootRef.ourPlayer)))){
rootRef.ourPlayer.takeHit(_dmg);
};
};
_local1 = 0;
while (_local1 < Main.survivorList.length) {
if (((!(Main.survivorList[_local1].invulernable)) && (slashShape.hitTestObject(Main.survivorList[_local1])))){
Main.survivorList[_local1].takeHit(_dmg);
};
_local1++;
};
while (_local2 < Main.objectList.length) {
if (Main.objectList[_local2]){
if ((((Main.objectList[_local2].indestructible == false)) && (slashShape.hitTestObject(Main.objectList[_local2])))){
Main.objectList[_local2].takeHit((_dmg * 1.5));
};
};
_local2++;
};
removeChild(slashShape);
attackPoint = false;
};
}
private function setupAttack():void{
var _local1:Graphics;
var _local2:int = _direction;
_local1 = slashShape.graphics;
_local1.beginFill(0xFFCC00, 0.3);
var _local3:Number = ConversionUtil.degreesToRadians(90);
drawArc(_local1, 0, 0, (-(_local3) / 2), ((-(_local3) / 2) + _local3), 62, 1);
_local1.lineTo(0, 0);
_local1.endFill();
slashShape.rotation = Utils.directionToAngle(_local2);
addChild(slashShape);
}
override protected function attackAnimation():void{
if (attackComplete){
return;
};
if (((NumberUtil.isOdd(_direction)) || (eightDirection))){
drawTileColRow(frameNumber++, attackRow[_direction]);
if (frameNumber == attackDmgFrame){
attackPoint = true;
};
if (frameNumber > attackEndFrame){
attackTimes++;
if (attackTimes == 3){
attackComplete = true;
} else {
frameNumber = attackStartFrame;
};
};
};
}
override protected function changeTint():void{
var _local2:Number;
if ((++blinkCounter % 10) == 0){
blinkRedNow = !(blinkRedNow);
};
var _local1:Color = new Color();
if (redNow){
_local1.setTint(5263480, 0.5);
} else {
_local1.setTint(0xB40000, 0);
};
if ((((zombieFSM == ZOMBIE_STATE_UNFREEZE)) && (!(chargeRed)))){
_local1.setTint(0xB40000, 0);
} else {
if ((((((((zombieFSM == ZOMBIE_STATE_CHASE)) || ((zombieFSM == ZOMBIE_STATE_ATTACK_ANIMATION)))) || ((zombieFSM == ZOMBIE_STATE_LOOK)))) || ((zombieFSM == ZOMBIE_STATE_WALK_RANDOM_DIRECTION)))){
if (blinkRedNow){
_local1.setTint(0xB40000, 0.3);
} else {
_local1.setTint(0xB40000, 0);
};
};
};
if (flashEnable){
if (chargeFrameNumber < 15){
_local2 = (chargeFrameNumber / 14);
} else {
_local2 = ((chargeNumFrames - chargeFrameNumber) * 0.1);
};
_local1.setTint(0xB40000, _local2);
};
transform.colorTransform = _local1;
}
override public function set direction(_arg1:int):void{
if (_direction != _arg1){
_direction = _arg1;
frameNumber = 0;
if ((((((_direction == C.RIGHT)) || ((_direction == C.UP_RIGHT)))) || ((_direction == C.DOWN_RIGHT)))){
scaleX = -1;
slashShape.scaleX = -1;
} else {
scaleX = 1;
slashShape.scaleX = 1;
};
};
}
private function drawArc(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number){
var _local12:Point;
var _local13:Point;
var _local8:Number = Math.abs((_arg5 - _arg4));
var _local9:Number = (Math.floor((_local8 / (Math.PI / 4))) + 1);
var _local10:Number = ((_arg7 * _local8) / (2 * _local9));
var _local11:Number = (_arg6 / Math.cos(_local10));
_arg1.moveTo((_arg2 + (Math.cos(_arg4) * _arg6)), (_arg3 + (Math.sin(_arg4) * _arg6)));
var _local14:Number = 0;
while (_local14 < _local9) {
_arg5 = (_arg4 + _local10);
_arg4 = (_arg5 + _local10);
_local12 = new Point((_arg2 + (Math.cos(_arg5) * _local11)), (_arg3 + (Math.sin(_arg5) * _local11)));
_local13 = new Point((_arg2 + (Math.cos(_arg4) * _arg6)), (_arg3 + (Math.sin(_arg4) * _arg6)));
_arg1.curveTo(_local12.x, _local12.y, _local13.x, _local13.y);
_local14++;
};
}
private function setAngle():void{
chargeAngle = GeomUtil.angle(new Point(target.x, target.y), new Point(x, y));
}
private function checkCharge():void{
distanceCharged = (distanceCharged + speed);
if ((((distanceCharged >= chargeDistance)) || ((hitpoint <= 0)))){
distanceCharged = 0;
charge = false;
chargeEnable = false;
chargeCDTimer.start();
};
}
override public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
EC.remove(chargeCDTimer);
EC.remove(roarTimer);
}
}
}//package zombies
Section 187
//JasonAnimation (zombies.JasonAnimation)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
public class JasonAnimation extends MovieClip {
private var stageRef:Stage;
public function JasonAnimation(_arg1:Stage, _arg2:Number, _arg3:Number){
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "JasonAnimation_loop");
}
private function loop(_arg1:Event):void{
if (currentFrame == 75){
SoundManager.instance.playSound(Sounds.ENEMY_ROAR);
};
if (currentFrame >= totalFrames){
stop();
removeSelf();
};
}
public function removeSelf():void{
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
dispatchEvent(new Event(C.ANIMATION_COMPLETE));
EC.remove(this);
}
}
}//package zombies
Section 188
//ObeseZombie (zombies.ObeseZombie)
package zombies {
import flash.display.*;
import players.*;
public class ObeseZombie extends Zombie {
private var knockBackHP:int;// = 50
private var dmgTakenSinceKnockBack:int;// = 0
private var maxHitpoint:int;
public function ObeseZombie(_arg1:Sprite, _arg2:Player):void{
super(_arg1, _arg2, 96);
maxHitpoint = _hitpoint;
}
override protected function initValue():void{
_speed = 1.8;
_hitpoint = 80;
_dmg = 20;
_bounce = 3;
_worth = 2;
_points = 300;
_attackRange = 30;
}
override protected function setupSprite(){
bmp = ZombieBitmap.obseseZombieBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
attackStartFrame = 0;
attackDmgFrame = 2;
attackEndFrame = 5;
attackRow[C.DOWN] = 3;
attackRow[C.LEFT] = 4;
attackRow[C.RIGHT] = 4;
attackRow[C.UP] = 5;
lookIdleFrame = 5;
}
}
}//package zombies
Section 189
//OneHandZombie (zombies.OneHandZombie)
package zombies {
import flash.display.*;
import players.*;
public class OneHandZombie extends Zombie {
public function OneHandZombie(_arg1:Sprite, _arg2:Player):void{
speed = 1;
hitpoint = 20;
dmg = 10;
bounce = 10;
worth = 2;
points = 1020;
attackRange = 30;
super(_arg1, _arg2);
}
override protected function initValue():void{
_speed = 1;
if (S.trueLevel >= 11){
_speed = (_speed + C.ZOMBIE_MS_INCREMENT);
};
if (S.trueLevel >= 21){
_speed = (_speed + C.ZOMBIE_MS_INCREMENT);
};
_hitpoint = 30;
_dmg = 20;
_bounce = 10;
_worth = 2;
_points = 100;
_attackRange = 30;
}
override protected function setupSprite(){
bmp = ZombieBitmap.oneHandZombieBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
attackStartFrame = 0;
attackDmgFrame = 2;
attackEndFrame = 5;
attackRow[C.DOWN] = 3;
attackRow[C.LEFT] = 4;
attackRow[C.RIGHT] = 4;
attackRow[C.UP] = 5;
lookIdleFrame = 5;
}
}
}//package zombies
Section 190
//TrapZombie (zombies.TrapZombie)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import players.*;
import org.casalib.util.*;
public class TrapZombie extends Zombie {
private var leapCDTime:int;// = 3000
private var leapCDTimer:Timer;
private var leapEnable:Boolean;// = true
private var leapDistance:int;// = 100
private var distanceLeapt:int;
private var leaping:Boolean;// = false
private var attacked:Boolean;// = false
private var leapAngle:int;// = 0
private var openNumFrames:int;
private var closeNumFrames:int;
public function TrapZombie(_arg1:Sprite, _arg2:Player, _arg3:Number=0, _arg4:Number=0):void{
this.layer = _arg1;
this.target = _arg2;
super(_arg1, _arg2, C.SPRITE_SIZE, _arg3, _arg4);
leapCDTimer = new Timer(leapCDTime, 1);
EC.add(leapCDTimer, TimerEvent.TIMER, leapCDTimerHandler, false, 0, true, "Zombie_Attack");
setZombieFSM(ZOMBIE_STATE_CHASE);
}
override protected function initValue():void{
_speed = 1.3;
_hitpoint = 20;
_dmg = 10;
_bounce = 10;
_worth = 2;
_points = 300;
_attackRange = 30;
}
private function setLeapAngle():void{
leapAngle = GeomUtil.angle(new Point(target.x, target.y), new Point(x, y));
}
private function leapToPlayer():void{
speed = 10;
x = (x + -((speed * Math.cos(((leapAngle * Math.PI) / 180)))));
y = (y + -((speed * Math.sin(((leapAngle * Math.PI) / 180)))));
oldX = x;
oldY = y;
checkCollide();
checkLeap();
}
private function checkDistance():void{
if (((Utils.BoundingCircle(x, (layer.y + y), target.x, target.y, 200)) && (leapEnable))){
leaping = true;
};
}
private function checkLeap():void{
distanceLeapt = (distanceLeapt + speed);
if ((((distanceLeapt >= leapDistance)) || ((hitpoint <= 0)))){
leaping = false;
distanceLeapt = 0;
speed = 1.1;
leapEnable = false;
leapCDTimer.start();
setZombieFSM(ZOMBIE_STATE_CLOSE);
};
}
private function checkCollide():void{
if (Utils.BoundingCircle(x, (layer.y + y), target.x, target.y, 30)){
if (!attacked){
target.takeHit(dmg);
attacked = true;
};
};
}
private function leapCDTimerHandler(_arg1:TimerEvent):void{
leapEnable = true;
attacked = false;
}
protected function openAnimation():void{
drawTileColRow(frameNumber++, attackRow[_direction]);
if (frameNumber >= openNumFrames){
setZombieFSM(ZOMBIE_STATE_ATTACK_ANIMATION);
};
}
override protected function attackAnimation():void{
if (attackComplete){
return;
};
if (((NumberUtil.isOdd(_direction)) || (eightDirection))){
drawTileColRow(frameNumber++, attackRow[_direction]);
trace(frameNumber);
if ((3 + frameNumber) == attackDmgFrame){
attackPoint = true;
};
if (frameNumber > attackEndFrame){
frameNumber = attackStartFrame;
attackComplete = true;
};
};
}
protected function closeAnimation():void{
drawTileColRow((6 + frameNumber++), attackRow[_direction]);
if (frameNumber >= closeNumFrames){
setZombieFSM(ZOMBIE_STATE_CHASE);
};
}
override protected function animationTimerHandler(_arg1:TimerEvent){
switch (animationFSM){
case C.IDLE:
idle();
break;
case C.WALK:
walkAnimation();
break;
case C.WALK_REVERSE:
walkReverseAnimation();
break;
case C.ATTACK:
attackAnimation();
break;
case C.ATTACK_IDLE:
attackIdle();
case C.OPEN:
openAnimation();
break;
case C.CLOSE:
closeAnimation();
break;
};
}
override protected function loop(_arg1:Event):void{
checkCommonTimers();
if (target == null){
return;
};
if (leaping){
setZombieFSM(ZOMBIE_STATE_OPEN);
leaping = false;
};
switch (_zombieFSM){
case ZOMBIE_STATE_CHASE:
checkDistance();
handleZombieChaseState();
break;
case ZOMBIE_STATE_WALK_RANDOM_DIRECTION:
handleZombieWalkRandomState();
checkDistance();
break;
case ZOMBIE_STATE_FROZEN:
break;
case ZOMBIE_STATE_ATTACK_ANIMATION:
animationFSM = C.ATTACK;
leapToPlayer();
break;
case ZOMBIE_STATE_DESTROYING:
removeSelf();
break;
case ZOMBIE_STATE_OPEN:
animationFSM = C.OPEN;
openAnimation();
break;
case ZOMBIE_STATE_CLOSE:
animationFSM = C.CLOSE;
closeAnimation();
break;
};
blinkRedCheck();
}
override protected function setupSprite(){
bmp = ZombieBitmap.trapZombieBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 4;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
attackStartFrame = 3;
attackDmgFrame = 4;
attackEndFrame = 6;
attackRow[C.DOWN] = 3;
attackRow[C.LEFT] = 5;
attackRow[C.RIGHT] = 5;
attackRow[C.UP] = 4;
openNumFrames = 3;
closeNumFrames = 3;
lookIdleFrame = 4;
}
override protected function handleZombieChaseState():void{
getAngleOfTarget();
setAngleToDirection2();
setVelocity();
checkObjectCollisionAndMove();
setLeapAngle();
}
override public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
EC.remove(leapCDTimer);
}
}
}//package zombies
Section 191
//UFOBullet (zombies.UFOBullet)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class UFOBullet extends SpriteSheet {
private var layer:Sprite;
private var angle:Number;
public function UFOBullet(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number){
this.angle = _arg4;
this.layer = _arg1;
this.x = _arg2;
this.y = (_arg3 + 10);
super(ZombieBitmap.ufoZombieBmp, C.SPRITE_SIZE, C.SPRITE_SIZE, true);
init();
}
private function init():void{
layer.addChild(this);
drawTileColRow(0, 3);
addEventListeners();
Main.ufoBulletList.push(this);
Main.ufoBulletCollisionList.addItem(this);
}
public function addEventListeners():void{
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "UFOBullet_Loop");
}
private function loop(_arg1:Event){
var _local2:Number;
_local2 = ((angle * Math.PI) / 180);
x = (x + (C.UFO_BULLET_SPEED * Math.cos(_local2)));
y = (y + (C.UFO_BULLET_SPEED * Math.sin(_local2)));
removeOutOfBoundBullet();
}
private function removeOutOfBoundBullet():void{
var _local1:Number = (y + layer.y);
if ((((((((_local1 < 0)) || ((_local1 > C.GAME_HEIGHT)))) || ((x < 0)))) || ((x > C.GAME_WIDTH)))){
removeSelf();
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
EC.remove(this);
var _local1:int = Main.ufoBulletList.indexOf(this);
Main.ufoBulletList.splice(_local1, 1);
Main.ufoBulletCollisionList.removeItem(this);
}
}
}//package zombies
Section 192
//UFOExplosion (zombies.UFOExplosion)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import com.greensock.*;
public class UFOExplosion extends SpriteSheetMovieClip {
public var fading:Boolean;
private var layer:Sprite;
public static const UFO_EXPLODE_ANIMATION_START:String = "ufoExplodeAnimationStart";
public static const UFO_EXPLODE_ANIMATION_DMG:String = "ufoExplodeAnimationDmg";
public static const UFO_EXPLODE_ANIMATION_END:String = "ufoExplodeAnimationEnd";
public static const UFO_EXPLODE_TOTAL_FRAMES:int = 15;
public static const UFO_EXPLODE_FRAME_PER_ROW:int = 4;
public function UFOExplosion(_arg1:Sprite, _arg2:Number, _arg3:Number){
this.layer = _arg1;
this.x = (_arg2 - 48);
this.y = (_arg3 + 48);
super(ZombieBitmap.ufoExplosionBmp, C.EXPLODE_OBJECT_SPRITE_SIZE, C.EXPLODE_OBJECT_SPRITE_SIZE);
setupFrames();
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "UFOExplosion_loop");
gotoAndPlay(UFO_EXPLODE_ANIMATION_START);
_arg1.addChild(this);
}
protected function setupFrames():void{
var _local4:int;
var _local1:int;
var _local2:int = (UFO_EXPLODE_TOTAL_FRAMES / UFO_EXPLODE_FRAME_PER_ROW);
var _local3:int;
while (_local3 < (_local2 + 1)) {
_local4 = 0;
while (_local4 < UFO_EXPLODE_FRAME_PER_ROW) {
if (_local1 == 0){
frames.push(new FakeMovieClip(_local4, _local3, UFO_EXPLODE_ANIMATION_START));
} else {
if (_local1 == (UFO_EXPLODE_TOTAL_FRAMES - 1)){
frames.push(new FakeMovieClip(_local4, _local3, UFO_EXPLODE_ANIMATION_END));
} else {
if (_local1 == 10){
frames.push(new FakeMovieClip(_local4, _local3, UFO_EXPLODE_ANIMATION_DMG));
} else {
frames.push(new FakeMovieClip(_local4, _local3));
};
};
};
_local1++;
_local4++;
};
_local3++;
};
}
private function loop(_arg1:Event):void{
var _local2:Array;
var _local3:int;
var _local4:int;
if (currentLabel == UFO_EXPLODE_ANIMATION_END){
stop();
removeSelf();
} else {
if (currentLabel == UFO_EXPLODE_ANIMATION_DMG){
SoundManager.instance.playSound(Sounds.OBJ_EXPLODE);
_local2 = Main.enemyList;
_local3 = _local2.length;
_local4 = 0;
_local4 = (_local2.length - 1);
while (_local4 >= 0) {
if ((((_local2[_local4] == this)) || ((_local2[_local4] == undefined)))){
} else {
objectExplosion(_local2[_local4], x, (y + layer.y));
};
_local4--;
};
_local2 = Main.objectList;
_local3 = _local2.length;
_local4 = (_local2.length - 1);
while (_local4 >= 0) {
if ((((_local2[_local4] == this)) || ((_local2[_local4] == undefined)))){
} else {
objectExplosion(_local2[_local4], x, (y + layer.y));
};
_local4--;
};
};
};
}
private function objectExplosion(_arg1, _arg2:Number, _arg3:Number):void{
if (Utils.objectsInRadius(this, _arg1, C.EXPLOSION_RADIUS)){
if ((_arg1 is Zombie)){
trace(("ufo Explosion obj: " + _arg1));
};
_arg1.takeHit(C.EXPLOSION_DMG);
};
}
public function getTrueY():Number{
return ((y + layer.y));
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
dispatchEvent(new Event(C.ANIMATION_COMPLETE));
EC.remove(this);
}
}
}//package zombies
Section 193
//UFOZombie (zombies.UFOZombie)
package zombies {
import flash.display.*;
import flash.events.*;
import players.*;
public class UFOZombie extends Zombie {
private static const DIST_FROM_PLAYER:int = 120;
public function UFOZombie(_arg1:Sprite, _arg2:Player):void{
attackCDTime = 2500;
super(_arg1, _arg2, 96);
_arg1.addChild(this);
}
override protected function initValue():void{
_speed = 1.25;
_hitpoint = 30;
_dmg = 10;
_bounce = 10;
_worth = 5;
_points = 500;
_attackRange = 30;
}
override protected function setupSprite(){
bmp = ZombieBitmap.ufoZombieBmp;
}
override protected function initSpriteAnimation(){
walkNumFrames = 8;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 0;
walkRow[C.RIGHT] = 0;
walkRow[C.UP] = 0;
direction = C.DOWN;
attackStartFrame = 0;
attackDmgFrame = 6;
attackEndFrame = 7;
attackRow[C.DOWN] = 1;
attackRow[C.LEFT] = 1;
attackRow[C.RIGHT] = 1;
attackRow[C.UP] = 1;
lookIdleFrame = 5;
}
override protected function loop(_arg1:Event):void{
checkCommonTimers();
var _local2:Number = Math.round(Utils.getShortestDist(x, (y + layer.y), target.x, target.y));
switch (zombieFSM){
case ZOMBIE_STATE_CHASE:
ufoChasingAlgorithm(_local2);
ufoAttackLoop(_local2);
break;
case ZOMBIE_STATE_FROZEN:
break;
case ZOMBIE_STATE_ATTACK_ANIMATION:
ufoChasingAlgorithm(_local2);
ufoAttackLoop(_local2);
break;
case ZOMBIE_STATE_DESTROYING:
removeSelf();
break;
};
blinkRedCheck();
}
private function ufoChasingAlgorithm(_arg1:Number):void{
if (S.gameMovementFreeze){
return;
};
if (_arg1 == DIST_FROM_PLAYER){
return;
};
angle = Utils.getAngleFromPoint(x, (y + layer.y), target.x, target.y);
var _local2:Number = ((angle * Math.PI) / 180);
velX = (_speed * Math.cos(_local2));
velY = (_speed * Math.sin(_local2));
if (_arg1 > DIST_FROM_PLAYER){
x = (x + velX);
y = (y + velY);
} else {
x = (x - velX);
y = (y - velY);
};
}
private function tryFire(_arg1:Number):void{
if (_arg1 <= DIST_FROM_PLAYER){
animationFSM = C.ATTACK;
} else {
animationFSM = C.WALK;
};
}
private function ufoAttackLoop(_arg1:Number):void{
if (attackComplete){
animationFSM = C.WALK;
return;
};
tryFire(_arg1);
if (attackPoint){
fireBullet();
attackPoint = false;
attackCDTimer.start();
};
}
private function fireBullet():void{
var _local1:UFOBullet = new UFOBullet(layer, x, y, angle);
}
public function getTrueY():Number{
return ((y + layer.y));
}
}
}//package zombies
Section 194
//Zombie (zombies.Zombie)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import flash.geom.*;
import com.greensock.*;
import fl.motion.*;
import players.*;
import org.casalib.util.*;
public class Zombie extends SpriteSheetDirectionAnimation {
protected const WALK_RANDOM_DIRECTION_DURATION:int = 1000;
protected const CHANGE_TARGET_TIME:int = 1000;
protected var layer:Sprite;
protected var target;
public var angle:Number;
protected var _speed:Number;
protected var _hitpoint:int;
protected var _dmg:int;
protected var _bounce:int;
protected var _bounceByKick:int;// = 60
protected var _attackRange;
protected var _worth:int;
public var _points:int;// = 100
protected var _changeTargetRadius:int;// = 0
protected var _zombieFSM:int;
protected var attackCDTime:int;// = 1000
protected var unfreezeTimeFromBullet:int;// = 500
private var kickStunTime:int;// = 2000
protected var attackCDTimer:FakeTimer;
protected var unfreezeTimer:FakeTimer;
protected var blinkRedTimer:FakeTimer;
private var blinking:Boolean;// = false
protected var redNow:Boolean;// = false
protected var blinkRedTime:int;// = 200
private var blinkCounter:int;
private var blinkDelay:int;// = 2
protected var velX:Number;
protected var velY:Number;
public var oldX:Number;
public var oldY:Number;
protected var bmp:Bitmap;
private var count:uint;// = 0
protected var walkRandomDirectionTimer:FakeTimer;
public var zCollisionBox:MovieClip;
public var lastDamagedBy:int;
protected var changeTargetCounter:int;// = 0
protected var collideWithObj:int;// = 0
public static const ZOMBIE_STATE_CHASE:int = 0;
public static const ZOMBIE_STATE_WALK_RANDOM_DIRECTION:int = 1;
public static const ZOMBIE_STATE_FROZEN:int = 2;
public static const ZOMBIE_STATE_ATTACK_ANIMATION:int = 3;
public static const ZOMBIE_STATE_ATTACK_ANIMATION_CD:int = 4;
public static const ZOMBIE_STATE_DESTROYING:int = 5;
public static const ZOMBIE_STATE_LOOK:int = 6;
public static const ZOMBIE_STATE_UNFREEZE:int = 7;
public static const ZOMBIE_STATE_CHARGE:int = 8;
public static const ZOMBIE_STATE_OPEN:int = 9;
public static const ZOMBIE_STATE_CLOSE:int = 10;
public static const ZOMBIE_STATE_JUMP:int = 11;
public static const ZOMBIE_STATE_AIR:int = 12;
public static const ZOMBIE_STATE_LAND:int = 13;
public static const ZOMBIE_STATE_LEAP:int = 14;
public static const ZOMBIE_STATE_SETANGLE:int = 15;
public static const ZOMBIE_STATE_JUMP_PREP:int = 16;
public static const ZOMBIE_STATE_LAND_PREP:int = 17;
public static const ZOMBIE_STATE_FLY_BACKWARD:int = 18;
public static const ZOMBIE_STATE_FLY_FORWARD:int = 19;
public static const ZOMBIE_STATE_STUNNED:int = 20;
public static const ZOMBIE_STATE_SUMMON:int = 21;
public static const ZOMBIE_STATE_DASH:int = 22;
public static const ZOMBIE_STATE_AFTERSUMMON:int = 23;
public function Zombie(_arg1:Sprite, _arg2:Player, _arg3:int=64, _arg4:Number=0, _arg5:Number=0):void{
attackCDTimer = new FakeTimer();
unfreezeTimer = new FakeTimer();
blinkRedTimer = new FakeTimer();
walkRandomDirectionTimer = new FakeTimer();
initValue();
setupSprite();
super(bmp, _arg3, _arg3, false);
initSpriteAnimation();
addEventListeners();
this.layer = _arg1;
this.target = _arg2;
this.x = _arg4;
this.y = _arg5;
if (_arg4 == 0){
this.x = (Math.random() * C.GAME_WIDTH);
};
setZombieFSM(ZOMBIE_STATE_CHASE);
zCollisionBox = new zombieCollisionBox();
zCollisionBox.alpha = 0.15;
zCollisionBox.x = -14;
zCollisionBox.y = 10;
zCollisionBox.visible = false;
addChild(zCollisionBox);
setTimersDuration();
var _local6:Shape = new Shape();
var _local7:Graphics = _local6.graphics;
_local7.beginFill(0xCCFF00, 0.3);
_local7.drawCircle(0, 0, _attackRange);
_local7.endFill();
}
public function addEventListeners():void{
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Zombie");
}
protected function initValue():void{
_speed = 1.3;
if (S.trueLevel >= 6){
_speed = (_speed + C.ZOMBIE_MS_INCREMENT);
};
if (S.trueLevel >= 11){
_speed = (_speed + C.ZOMBIE_MS_INCREMENT);
};
if (S.trueLevel >= 16){
_speed = (_speed + C.ZOMBIE_MS_INCREMENT);
};
if (S.trueLevel >= 21){
_speed = (_speed + C.ZOMBIE_MS_INCREMENT);
};
if (S.trueLevel >= 26){
_speed = (_speed + C.ZOMBIE_MS_INCREMENT);
};
_hitpoint = 30;
_dmg = 10;
_bounce = 10;
_attackRange = 35;
_worth = 2;
_points = 100;
_changeTargetRadius = 100;
}
protected function setupSprite(){
bmp = ZombieBitmap.zombieBmp;
}
protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
attackStartFrame = 0;
attackDmgFrame = 2;
attackEndFrame = 7;
attackRow[C.DOWN] = 3;
attackRow[C.LEFT] = 4;
attackRow[C.RIGHT] = 4;
attackRow[C.UP] = 5;
lookIdleFrame = 6;
}
protected function setTimersDuration():void{
walkRandomDirectionTimer.duration = WALK_RANDOM_DIRECTION_DURATION;
attackCDTimer.duration = attackCDTime;
unfreezeTimer.duration = unfreezeTimeFromBullet;
blinkRedTimer.duration = blinkRedTime;
}
protected function loop(_arg1:Event):void{
resetDamagedBy();
checkCommonTimers();
if (target == null){
return;
};
switch (zombieFSM){
case ZOMBIE_STATE_CHASE:
handleZombieChaseState();
break;
case ZOMBIE_STATE_WALK_RANDOM_DIRECTION:
handleZombieWalkRandomState();
break;
case ZOMBIE_STATE_FROZEN:
break;
case ZOMBIE_STATE_ATTACK_ANIMATION:
handleZombieAttackAnimationState();
break;
case ZOMBIE_STATE_DESTROYING:
removeSelf();
break;
};
blinkRedCheck();
}
protected function handleZombieChaseState():void{
if (S.gameMovementFreeze){
return;
};
getAngleOfTarget();
attackIfClose();
autoChangeTarget();
setAngleToDirection2();
setVelocity();
checkObjectCollisionAndMove();
}
protected function handleZombieWalkRandomState():void{
if (S.gameMovementFreeze){
return;
};
attackIfClose();
autoChangeTarget();
setAngleToDirection2();
setVelocity();
checkObjectCollisionAndMove();
checkRandomMoveTimer();
}
protected function BFS():void{
if (S.gameMovementFreeze){
return;
};
oldX = x;
oldY = y;
angle = GeomUtil.angle(new Point(x, y), new Point(target.x, target.y));
setAngleToDirection2();
setVelocity();
checkObjectCollisionAndMove();
}
protected function getAngleOfTarget():void{
oldX = x;
oldY = y;
angle = GeomUtil.angle(new Point(x, y), new Point(target.x, target.y));
}
public function setAngleToDirection():void{
var _local1:int = Utils.angleToDirection(angle);
if (((NumberUtil.isOdd(_local1)) && (!((direction == _local1))))){
direction = _local1;
};
}
public function setVelocity():void{
var _local1:Number = ((angle * Math.PI) / 180);
velX = (_speed * Math.cos(_local1));
velY = (_speed * Math.sin(_local1));
}
public function checkObjectCollisionAndMove():void{
Main.obstacleObjectCollisionList.swapTarget(zCollisionBox);
var _local1:Number = x;
var _local2:Number = y;
var _local3:Number = (x + velX);
var _local4:Number = (y + velY);
x = _local3;
y = _local4;
var _local5:Array = Main.obstacleObjectCollisionList.checkCollisions();
if (!_local5.length){
collideWithObj = 0;
return;
};
collideWithObj++;
x = _local1;
y = _local2;
if (_local5[0].object1 == zCollisionBox){
zombieCollideObject(_local5[0].object1, _local5[0].object2);
} else {
zombieCollideObject(_local5[0].object2, _local5[0].object1);
};
if (collideWithObj > 120){
lastDamagedBy = C.DMG_TYPE_SELF_DESTRUCT;
takeDmg(99999);
};
}
protected function zombieCollideObject(_arg1:MovieClip, _arg2):void{
angle = (-(angle) + (NumberUtil.randomIntegerWithinRange(-4, 4) * 5));
setZombieFSM(ZOMBIE_STATE_WALK_RANDOM_DIRECTION);
}
protected function checkRandomMoveTimer():void{
if (walkRandomDirectionTimer.getTrigger()){
setZombieFSM(ZOMBIE_STATE_CHASE);
};
}
protected function checkCommonTimers():void{
checkBlinkRedTimer();
checkAttackCDTimer();
checkUnfreezeTimer();
}
protected function checkBlinkRedTimer():void{
if (blinkRedTimer.getTrigger()){
redNow = false;
changeTint();
blinking = false;
};
}
protected function checkAttackCDTimer():void{
if (attackCDTimer.getTrigger()){
attackComplete = false;
setZombieFSM(ZOMBIE_STATE_CHASE);
};
}
protected function checkUnfreezeTimer():void{
if (unfreezeTimer.getTrigger()){
setZombieFSM(ZOMBIE_STATE_CHASE);
};
}
protected function handleZombieAttackAnimationState():void{
if (attackComplete){
return;
};
if (attackPoint){
if (Utils.BoundingCircle(x, y, target.x, target.y, _attackRange)){
target.takeHit(_dmg);
};
attackPoint = false;
attackCDTimer.start();
};
}
public function setZombieFSM(_arg1:int):void{
_zombieFSM = _arg1;
switch (_arg1){
case ZOMBIE_STATE_CHASE:
animationFSM = C.WALK;
break;
case ZOMBIE_STATE_WALK_RANDOM_DIRECTION:
walkRandomDirectionTimer.resetAndStart();
animationFSM = C.WALK;
break;
case ZOMBIE_STATE_FROZEN:
animationFSM = C.FREEZE;
break;
case ZOMBIE_STATE_ATTACK_ANIMATION:
animationFSM = C.ATTACK;
break;
case ZOMBIE_STATE_ATTACK_ANIMATION_CD:
animationFSM = C.WALK;
break;
case ZOMBIE_STATE_DESTROYING:
break;
};
}
public function get zombieFSM():int{
return (_zombieFSM);
}
public function setAngleToDirection2():void{
var _local1:int = Utils.angleToFourDirection(angle);
if (direction != _local1){
direction = _local1;
};
}
protected function autoChangeTarget():void{
changeTargetIfDead();
if ((changeTargetCounter + CHANGE_TARGET_TIME) > S.timer){
return;
};
changeTargetCounter = S.timer;
var _local1:Number = Utils.getShortestDist(x, y, Main.rescuedList[0].x, Main.rescuedList[0].y);
var _local2 = 200;
var _local3:int = Main.survivorList.length;
var _local4:Number = 0;
var _local5:int;
while (_local5 < _local3) {
_local4 = Utils.getShortestDist(x, y, Main.survivorList[_local5].x, Main.survivorList[_local5].y);
if (_local4 < _local1){
_local2 = _local5;
_local1 = _local4;
};
_local5++;
};
if (_local2 == 200){
target = Main.rescuedList[0];
} else {
target = Main.survivorList[_local2];
};
}
protected function changeTargetIfDead():void{
if ((((target is Survivor)) && ((target.hitpoint <= 0)))){
target = Main.rescuedList[0];
};
}
public function changeAttackTarget(_arg1):void{
this.target = _arg1;
}
protected function attackIfClose():void{
if (Utils.BoundingCircle(x, y, target.x, target.y, _attackRange)){
setZombieFSM(ZOMBIE_STATE_ATTACK_ANIMATION);
};
}
protected function tryAttackTarget():void{
if (Utils.BoundingCircle(x, y, target.x, target.y, _attackRange)){
setZombieFSM(ZOMBIE_STATE_ATTACK_ANIMATION);
} else {
setZombieFSM(ZOMBIE_STATE_CHASE);
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
}
protected function resetDamagedBy():void{
lastDamagedBy = C.DMG_TYPE_PLAYER_BULLET;
}
public function takeHit(_arg1:int):void{
if (zombieFSM != ZOMBIE_STATE_DESTROYING){
takeDmg(_arg1);
};
}
public function takeKick(_arg1:int, _arg2:int):void{
kickStunTime = ((_arg2 * C.PLAYER_KICK_STUN_TIME_PER_LEVEL) + C.PLAYER_KICK_BASE_STUN_TIME);
if (zombieFSM != ZOMBIE_STATE_DESTROYING){
takeDmg(_arg1);
};
}
protected function takeDmg(_arg1:int):void{
if (zombieFSM == ZOMBIE_STATE_DESTROYING){
return;
};
_hitpoint = (_hitpoint - _arg1);
activateBlinky();
if (_hitpoint <= 0){
dispatchEvent(new Event("killed"));
removeSelf();
};
}
public function teleport(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
oldX = this.x;
oldY = this.y;
}
public function knockbackFreezeBullet(_arg1:Number, _arg2:Number):void{
knockBackFreeze((_bounce * _arg1), (unfreezeTimeFromBullet * _arg2), false);
}
public function knockbackFreezeKick(_arg1:Number, _arg2:Number):void{
knockBackFreeze(_arg1, _arg2, true);
}
protected function knockBackFreeze(_arg1:Number, _arg2:Number, _arg3:Boolean=false):void{
x = (x - (_arg1 * Math.cos(((angle * Math.PI) / 180))));
y = (y - (_arg1 * Math.sin(((angle * Math.PI) / 180))));
unfreezeTimer.duration = _arg2;
freezeZombie();
}
protected function freezeZombie():void{
setZombieFSM(ZOMBIE_STATE_FROZEN);
unfreezeTimer.resetAndStart();
}
protected function blinkRedCheck():void{
if (!blinking){
return;
};
blinkCounter++;
if ((blinkCounter % blinkDelay) == 0){
redNow = !(redNow);
changeTint();
};
}
protected function activateBlinky():void{
blinking = true;
blinkRedTimer.resetAndStart();
}
protected function changeTint():void{
var _local1:Color = new Color();
if (redNow){
_local1.setTint(5263480, 0.5);
} else {
_local1.setTint(5263480, 0);
};
transform.colorTransform = _local1;
}
public function get speed():Number{
return (_speed);
}
public function set speed(_arg1:Number):void{
_speed = _arg1;
}
public function get hitpoint():Number{
return (_hitpoint);
}
public function set hitpoint(_arg1:Number):void{
_hitpoint = _arg1;
}
public function get dmg():Number{
return (_dmg);
}
public function set dmg(_arg1:Number):void{
_dmg = _arg1;
}
public function get bounce():Number{
return (_bounce);
}
public function set bounce(_arg1:Number):void{
_bounce = _arg1;
}
public function get worth():Number{
return (_worth);
}
public function set worth(_arg1:Number):void{
_worth = _arg1;
}
public function get points():Number{
return (_points);
}
public function set points(_arg1:Number):void{
_points = _arg1;
}
public function get attackRange():Number{
return (_attackRange);
}
public function set attackRange(_arg1:Number):void{
_attackRange = _arg1;
}
}
}//package zombies
Section 195
//ZombieBitmap (zombies.ZombieBitmap)
package zombies {
import flash.display.*;
public class ZombieBitmap {
public static const BOSS_JASON_SS:int = 124;
public static const BOSS_ALIEN_SS:int = 128;
public static const BOSS_FREDDY_SS:int = 96;
public static const MEAT_ZOMBIE_SS:int = 72;
public static const CHINESE_ZOMBIE_SS:int = 68;
public static var armlessZombieBmp:Bitmap;
public static var femaleZombieBmp:Bitmap;
public static var obseseZombieBmp:Bitmap;
public static var oneHandZombieBmp:Bitmap;
public static var trapZombieBmp:Bitmap;
public static var zombieBmp:Bitmap;
public static var bossJasonBmp:Bitmap;
public static var meatZombieBmp:Bitmap;
public static var ufoZombieBmp:Bitmap;
public static var ufoExplosionBmp:Bitmap;
public static var chineseZombieBmp:Bitmap;
public static var bossAlienBmp:Bitmap;
public static var bossAlienIdleBmp:Bitmap;
public static var bossFreddyBmp:Bitmap;
public static var freddyBulletBmp:Bitmap;
public static var freddyBullet2Bmp:Bitmap;
public static var freddyBullet3Bmp:Bitmap;
public static var bloodBmp:Bitmap;
public static var meatZombieBloodBmp:Bitmap;
public static function init():void{
armlessZombieBmp = new Bitmap(new Zombie_armless(C.GAME_WIDTH, C.GAME_HEIGHT));
femaleZombieBmp = new Bitmap(new Zombie_girl(C.GAME_WIDTH, C.GAME_HEIGHT));
obseseZombieBmp = new Bitmap(new Zombie_fat(C.GAME_WIDTH, C.GAME_HEIGHT));
oneHandZombieBmp = new Bitmap(new Zombie_onehand(C.GAME_WIDTH, C.GAME_HEIGHT));
trapZombieBmp = new Bitmap(new Zombie_trap(C.GAME_WIDTH, C.GAME_HEIGHT));
zombieBmp = new Bitmap(new SZombie(C.GAME_WIDTH, C.GAME_HEIGHT));
meatZombieBmp = new Bitmap(new Zombie_meat(C.GAME_WIDTH, C.GAME_HEIGHT));
ufoZombieBmp = new Bitmap(new Zombie_ufo(C.GAME_WIDTH, C.GAME_HEIGHT));
ufoExplosionBmp = new Bitmap(new zombie_ufo_explode(C.GAME_WIDTH, C.GAME_HEIGHT));
freddyBulletBmp = new Bitmap(new obj_break_brick(C.GAME_WIDTH, C.GAME_HEIGHT));
freddyBullet2Bmp = new Bitmap(new obj_break_roadblock(C.GAME_WIDTH, C.GAME_HEIGHT));
freddyBullet3Bmp = new Bitmap(new obj_explode_propane1(C.GAME_WIDTH, C.GAME_HEIGHT));
chineseZombieBmp = new Bitmap(new Zombie_cvamp(C.GAME_WIDTH, C.GAME_HEIGHT));
bossJasonBmp = new Bitmap(new bossJason(C.GAME_WIDTH, C.GAME_HEIGHT));
bossAlienBmp = new Bitmap(new bossAlien(C.GAME_WIDTH, C.GAME_HEIGHT));
bossAlienIdleBmp = new Bitmap(new bossAlienIdle(C.GAME_WIDTH, C.GAME_HEIGHT));
bossFreddyBmp = new Bitmap(new bossFreddy(C.GAME_WIDTH, C.GAME_HEIGHT));
bloodBmp = new Bitmap(new Zombie_death(C.GAME_WIDTH, C.GAME_HEIGHT));
meatZombieBloodBmp = new Bitmap(new Deadmeat_death(C.GAME_WIDTH, C.GAME_HEIGHT));
}
}
}//package zombies
Section 196
//ZombieDeath (zombies.ZombieDeath)
package zombies {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import com.greensock.*;
public class ZombieDeath extends SpriteSheetMovieClip {
public var fading:Boolean;
private var layer:Sprite;
private var selfDestruct:Boolean;
public static var BLOOD_START:String = "bloodStart";
public static var BLOOD_SPLATTER_STAIN:String = "bloodSplatterStain";
public function ZombieDeath(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Boolean=false){
this.layer = _arg1;
this.x = _arg2;
this.y = _arg3;
this.selfDestruct = _arg4;
super(ZombieBitmap.bloodBmp, 92, 92);
setupFrames();
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "ZombieDeath_loop");
gotoAndPlay(BLOOD_START);
}
protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, BLOOD_START));
frames.push(new FakeMovieClip(1, 0));
frames.push(new FakeMovieClip(2, 0));
frames.push(new FakeMovieClip(3, 0));
frames.push(new FakeMovieClip(4, 0));
frames.push(new FakeMovieClip(5, 0));
frames.push(new FakeMovieClip(6, 0));
frames.push(new FakeMovieClip(7, 0, BLOOD_SPLATTER_STAIN));
}
private function loop(_arg1:Event):void{
if (currentLabel == BLOOD_SPLATTER_STAIN){
stop();
EC.remove(this, Event.ENTER_FRAME, loop, false);
if (selfDestruct){
removeSelf();
};
};
}
public function bloodFade():void{
fading = true;
TweenMax.to(this, C.BLOOD_FADE_DURATION, {alpha:0, onComplete:removeSelf});
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
}
}
}//package zombies
Section 197
//A1 (A1)
package {
import flash.display.*;
public dynamic class A1 extends MovieClip {
public var shotgun_1:blockPlayerPH;
public var money500_b:search9PH;
}
}//package
Section 198
//A10 (A10)
package {
import flash.display.*;
public dynamic class A10 extends MovieClip {
}
}//package
Section 199
//A11 (A11)
package {
import flash.display.*;
public dynamic class A11 extends MovieClip {
}
}//package
Section 200
//A12 (A12)
package {
import flash.display.*;
public dynamic class A12 extends MovieClip {
}
}//package
Section 201
//A13 (A13)
package {
import flash.display.*;
public dynamic class A13 extends MovieClip {
public var mgun:search12PH;
}
}//package
Section 202
//A14 (A14)
package {
import flash.display.*;
public dynamic class A14 extends MovieClip {
}
}//package
Section 203
//A15 (A15)
package {
import flash.display.*;
public dynamic class A15 extends MovieClip {
public var health20:search11PH;
public var money500:search10PH;
}
}//package
Section 204
//A16 (A16)
package {
import flash.display.*;
public dynamic class A16 extends MovieClip {
public var money500:search14PH;
public var mag1:search14PH;
}
}//package
Section 205
//A17 (A17)
package {
import flash.display.*;
public dynamic class A17 extends MovieClip {
public var shotgun:search12PH;
public var mag1_l:search11PH;
public var money500:search14PH;
}
}//package
Section 206
//A18 (A18)
package {
import flash.display.*;
public dynamic class A18 extends MovieClip {
public var mgun:search11PH;
public var money500:search9PH;
public var armorpiercing:search13PH;
}
}//package
Section 207
//A19 (A19)
package {
import flash.display.*;
public dynamic class A19 extends MovieClip {
public var health20_a:search12PH;
public var money500:carPH;
public var mag1:search9PH;
}
}//package
Section 208
//A2 (A2)
package {
import flash.display.*;
public dynamic class A2 extends MovieClip {
public var d1:combatBlackFat;
public var money500:search9PH;
}
}//package
Section 209
//A20 (A20)
package {
import flash.display.*;
public dynamic class A20 extends MovieClip {
public var mag2:search10PH;
public var a1:combatPacMan;
public var a2:combatHardBoil;
}
}//package
Section 210
//A21 (A21)
package {
import flash.display.*;
public dynamic class A21 extends MovieClip {
public var money300:search13PH;
public var armorpiercing:search14PH;
public var mag1_c:search14PH;
public var mag1:search14PH;
}
}//package
Section 211
//A22 (A22)
package {
import flash.display.*;
public dynamic class A22 extends MovieClip {
public var money300:search10PH;
public var money300a:search10PH;
public var w1:combatBusinessMan;
}
}//package
Section 212
//A23 (A23)
package {
import flash.display.*;
public dynamic class A23 extends MovieClip {
public var a2:combatJable;
public var money500:search6PH;
public var money500_a:search10PH;
}
}//package
Section 213
//A24 (A24)
package {
import flash.display.*;
public dynamic class A24 extends MovieClip {
public var health20:search6PH;
public var money500_c:search10PH;
}
}//package
Section 214
//A25 (A25)
package {
import flash.display.*;
public dynamic class A25 extends MovieClip {
public var w1:combatHunk;
public var money500:search6PH;
public var armorpiercing:search10PH;
}
}//package
Section 215
//A3 (A3)
package {
import flash.display.*;
public dynamic class A3 extends MovieClip {
public var mgun:carPH;
public var money500:search12PH;
public var mag1:search9PH;
}
}//package
Section 216
//A4 (A4)
package {
import flash.display.*;
public dynamic class A4 extends MovieClip {
public var mag3:indestructible6PH;
public var armorpiercing:indestructible6PH;
}
}//package
Section 217
//A5 (A5)
package {
import flash.display.*;
public dynamic class A5 extends MovieClip {
public var money500_b:search4PH;
public var mag1:search3PH;
}
}//package
Section 218
//A6 (A6)
package {
import flash.display.*;
public dynamic class A6 extends MovieClip {
public var health20_a:search12PH;
public var money500:carPH;
public var mag1:search9PH;
}
}//package
Section 219
//A7 (A7)
package {
import flash.display.*;
public dynamic class A7 extends MovieClip {
public var d1:combatHunk;
public var a1:combatPacMan;
}
}//package
Section 220
//A8 (A8)
package {
import flash.display.*;
public dynamic class A8 extends MovieClip {
public var shotgun:search9PH;
public var money500:search5PH;
}
}//package
Section 221
//A9 (A9)
package {
import flash.display.*;
public dynamic class A9 extends MovieClip {
}
}//package
Section 222
//Achievements (Achievements)
package {
import flash.display.*;
public class Achievements {
private var rootRef;
private var stageRef:Stage;
public function Achievements(_arg1:Stage, _arg2){
this.stageRef = _arg1;
this.rootRef = _arg2;
}
public function checkAchievements():void{
updateMaxHP();
updateCoinMag();
updateSearch();
updateSpeed();
updateMoonWalk();
updateReload();
updateStruggle();
updateAmmo();
updateMembership();
updateZombieCount();
updateDamage();
}
public function updateMaxHP():void{
switch (S.maxHPLevel){
case 0:
S.playerMaxHP = 80;
break;
case 1:
S.playerMaxHP = 90;
break;
case 2:
S.playerMaxHP = 100;
break;
case 3:
S.playerMaxHP = 120;
break;
case 4:
S.playerMaxHP = 150;
break;
};
}
public function updateCoinMag():void{
switch (S.coinmagLevel){
case 0:
S.coinMagAOE = 40;
break;
case 1:
S.coinMagAOE = 60;
break;
case 2:
S.coinMagAOE = 80;
break;
case 3:
S.coinMagAOE = 100;
break;
case 4:
S.coinMagAOE = 120;
break;
};
}
public function updateSearch():void{
switch (S.searchLevel){
case 0:
S.searchSpeed = 0.35;
break;
case 1:
S.searchSpeed = (0.35 * 1.3);
break;
case 2:
S.searchSpeed = (0.35 * 1.6);
break;
case 3:
S.searchSpeed = (0.35 * 1.9);
break;
case 4:
S.searchSpeed = (0.35 * 2.2);
break;
};
}
public function updateSpeed():void{
switch (S.speedLevel){
case 0:
S.speedMultiplier = 0;
break;
case 1:
S.speedMultiplier = 0.2;
break;
case 2:
S.speedMultiplier = 0.4;
break;
case 3:
S.speedMultiplier = 0.6;
break;
case 4:
S.speedMultiplier = 0.8;
break;
};
}
public function updateMoonWalk():void{
switch (S.moonwalkLevel){
case 0:
S.backSpeedReduction = 0.6;
break;
case 1:
S.backSpeedReduction = 0.62;
break;
case 2:
S.backSpeedReduction = 0.65;
break;
case 3:
S.backSpeedReduction = 0.67;
break;
case 4:
S.backSpeedReduction = 0.7;
break;
};
}
public function updateReload():void{
switch (S.reloadLevel){
case 0:
S.reloadSpeedReduction = 1.2;
break;
case 1:
S.reloadSpeedReduction = 1.1;
break;
case 2:
S.reloadSpeedReduction = 1;
break;
case 3:
S.reloadSpeedReduction = 0.9;
break;
case 4:
S.reloadSpeedReduction = 0.8;
break;
};
}
public function updateStruggle():void{
switch (S.struggleLevel){
case 0:
S.struggleSpeedReduction = 0.25;
break;
case 1:
S.struggleSpeedReduction = 0.3;
break;
case 2:
S.struggleSpeedReduction = 0.35;
break;
case 3:
S.struggleSpeedReduction = 0.44;
break;
case 4:
S.struggleSpeedReduction = 0.5;
break;
};
}
public function updateMembership():void{
switch (S.membershipLevel){
case 0:
S.shopDiscount = 1;
break;
case 1:
S.shopDiscount = 0.95;
break;
case 2:
S.shopDiscount = 0.9;
break;
case 3:
S.shopDiscount = 0.8;
break;
case 4:
S.shopDiscount = 0.7;
break;
};
}
public function updateAmmo():void{
switch (S.ammoLevel){
case 0:
S.bulletMultiplier = 0;
break;
case 1:
S.bulletMultiplier = 1;
break;
case 2:
S.bulletMultiplier = 2;
break;
case 3:
S.bulletMultiplier = 3;
break;
case 4:
S.bulletMultiplier = 4;
break;
};
}
public function updateZombieCount():void{
switch (S.zombieCountLevel){
case 0:
S.zombieCountMultiplier = 0;
break;
case 1:
S.zombieCountMultiplier = 15;
break;
case 2:
S.zombieCountMultiplier = 30;
};
}
public function updateDamage():void{
switch (S.dmgLevel){
case 0:
S.dmgMultiplier = 0;
break;
case 1:
S.dmgMultiplier = 5;
break;
};
}
}
}//package
Section 223
//adam (adam)
package {
import flash.display.*;
public dynamic class adam extends MovieClip {
}
}//package
Section 224
//ag_intro_mc (ag_intro_mc)
package {
import flash.display.*;
import flash.events.*;
public dynamic class ag_intro_mc extends MovieClip {
public function ag_intro_mc(){
addFrameScript(0, frame1, 217, frame218);
}
function frame1(){
gotoAndPlay(2);
}
function frame218(){
dispatchEvent(new Event(Event.COMPLETE));
stop();
}
}
}//package
Section 225
//alienAnimation (alienAnimation)
package {
import flash.display.*;
public dynamic class alienAnimation extends MovieClip {
public var clip1:MovieClip;
public var clip2:MovieClip;
}
}//package
Section 226
//alienPH (alienPH)
package {
import flash.display.*;
public dynamic class alienPH extends MovieClip {
}
}//package
Section 227
//alienShadow (alienShadow)
package {
import flash.display.*;
public dynamic class alienShadow extends MovieClip {
public function alienShadow(){
addFrameScript(0, frame1, 6, frame7);
}
function frame1(){
stop();
}
function frame7(){
stop();
}
}
}//package
Section 228
//ant_bottom (ant_bottom)
package {
import flash.display.*;
public dynamic class ant_bottom extends BitmapData {
public function ant_bottom(_arg1:int=0x0200, _arg2:int=320){
super(_arg1, _arg2);
}
}
}//package
Section 229
//ant_bullet (ant_bullet)
package {
import flash.display.*;
public dynamic class ant_bullet extends BitmapData {
public function ant_bullet(_arg1:int=640, _arg2:int=0x0200){
super(_arg1, _arg2);
}
}
}//package
Section 230
//ant_bullet2 (ant_bullet2)
package {
import flash.display.*;
public dynamic class ant_bullet2 extends BitmapData {
public function ant_bullet2(_arg1:int=160, _arg2:int=80){
super(_arg1, _arg2);
}
}
}//package
Section 231
//ant_death (ant_death)
package {
import flash.display.*;
public dynamic class ant_death extends BitmapData {
public function ant_death(_arg1:int=592, _arg2:int=370){
super(_arg1, _arg2);
}
}
}//package
Section 232
//ant_explode (ant_explode)
package {
import flash.display.*;
public dynamic class ant_explode extends BitmapData {
public function ant_explode(_arg1:int=1120, _arg2:int=160){
super(_arg1, _arg2);
}
}
}//package
Section 233
//ant_invincible (ant_invincible)
package {
import flash.display.*;
public dynamic class ant_invincible extends BitmapData {
public function ant_invincible(_arg1:int=644, _arg2:int=276){
super(_arg1, _arg2);
}
}
}//package
Section 234
//ant_laser (ant_laser)
package {
import flash.display.*;
public dynamic class ant_laser extends BitmapData {
public function ant_laser(_arg1:int=0x0100, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 235
//ant_laser_extend (ant_laser_extend)
package {
import flash.display.*;
public dynamic class ant_laser_extend extends BitmapData {
public function ant_laser_extend(_arg1:int=0x0100, _arg2:int=4){
super(_arg1, _arg2);
}
}
}//package
Section 236
//ant_laser2 (ant_laser2)
package {
import flash.display.*;
public dynamic class ant_laser2 extends BitmapData {
public function ant_laser2(_arg1:int=240, _arg2:int=38){
super(_arg1, _arg2);
}
}
}//package
Section 237
//ant_mgun (ant_mgun)
package {
import flash.display.*;
public dynamic class ant_mgun extends BitmapData {
public function ant_mgun(_arg1:int=936, _arg2:int=520){
super(_arg1, _arg2);
}
}
}//package
Section 238
//ant_pierce (ant_pierce)
package {
import flash.display.*;
public dynamic class ant_pierce extends BitmapData {
public function ant_pierce(_arg1:int=154, _arg2:int=220){
super(_arg1, _arg2);
}
}
}//package
Section 239
//ant_pistol (ant_pistol)
package {
import flash.display.*;
public dynamic class ant_pistol extends BitmapData {
public function ant_pistol(_arg1:int=380, _arg2:int=380){
super(_arg1, _arg2);
}
}
}//package
Section 240
//ant_sgun (ant_sgun)
package {
import flash.display.*;
public dynamic class ant_sgun extends BitmapData {
public function ant_sgun(_arg1:int=624, _arg2:int=520){
super(_arg1, _arg2);
}
}
}//package
Section 241
//ant_shotgun1 (ant_shotgun1)
package {
import flash.display.*;
public dynamic class ant_shotgun1 extends BitmapData {
public function ant_shotgun1(_arg1:int=1088, _arg2:int=128){
super(_arg1, _arg2);
}
}
}//package
Section 242
//ant_shotgun2 (ant_shotgun2)
package {
import flash.display.*;
public dynamic class ant_shotgun2 extends BitmapData {
public function ant_shotgun2(_arg1:int=1344, _arg2:int=128){
super(_arg1, _arg2);
}
}
}//package
Section 243
//ant_special (ant_special)
package {
import flash.display.*;
public dynamic class ant_special extends BitmapData {
public function ant_special(_arg1:int=728, _arg2:int=520){
super(_arg1, _arg2);
}
}
}//package
Section 244
//anthony_melee (anthony_melee)
package {
import flash.display.*;
public dynamic class anthony_melee extends BitmapData {
public function anthony_melee(_arg1:int=544, _arg2:int=340){
super(_arg1, _arg2);
}
}
}//package
Section 245
//anthony_melee2 (anthony_melee2)
package {
import flash.display.*;
public dynamic class anthony_melee2 extends BitmapData {
public function anthony_melee2(_arg1:int=0x0400, _arg2:int=640){
super(_arg1, _arg2);
}
}
}//package
Section 246
//anthony_melee3 (anthony_melee3)
package {
import flash.display.*;
public dynamic class anthony_melee3 extends BitmapData {
public function anthony_melee3(_arg1:int=1620, _arg2:int=108){
super(_arg1, _arg2);
}
}
}//package
Section 247
//antSurvivor (antSurvivor)
package {
import flash.display.*;
import players.*;
public class antSurvivor extends Survivor {
public function antSurvivor(_arg1:Sprite, _arg2:Sprite, _arg3:Sprite, _arg4:Player, _arg5, _arg6:Number, _arg7:Number, _arg8:Number){
vipSurvivor = true;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
override protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
lookIdleFrame = 6;
}
override public function set direction(_arg1:int):void{
if (_direction != _arg1){
_direction = _arg1;
frameNumber = 0;
if (!otaCon){
if ((((((_direction == C.RIGHT)) || ((_direction == C.UP_RIGHT)))) || ((_direction == C.DOWN_RIGHT)))){
scaleX = -1;
} else {
scaleX = 1;
};
} else {
scaleX = 1;
};
};
}
}
}//package
Section 248
//ArmorGamesUtils (ArmorGamesUtils)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class ArmorGamesUtils {
public static const DEV_KEY:String = "4bbef01c11d24beff28039df3102cc14";
public static const GAME_KEY:String = "bitejacker";
private static var agi:Object;
private static var main:Main;
public static function init(_arg1:Main):void{
main = _arg1;
var _local2 = "http://agi.armorgames.com/assets/agi/AGI.swf";
Security.allowDomain(_local2);
var _local3:URLRequest = new URLRequest(_local2);
var _local4:Loader = new Loader();
_local4.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
_local4.load(_local3);
}
public static function loadComplete(_arg1:Event):void{
agi = _arg1.currentTarget.content;
main.addChild((agi as DisplayObject));
agi.init(DEV_KEY, GAME_KEY);
}
public static function showScoreboard():void{
main.addChild((agi as DisplayObject));
agi.showScoreboardList();
}
public static function submitHighscores(_arg1:String):void{
agi.submitScore(_arg1, S.gameScore);
S.gameScore = 0;
}
public static function getPlayerName():String{
return (agi.getUserName());
}
}
}//package
Section 249
//B1 (B1)
package {
import flash.display.*;
public dynamic class B1 extends MovieClip {
public var mgun:search6PH;
public var health20:search7PH;
public var money500_e:search9PH;
public var mag1:search11PH;
}
}//package
Section 250
//B10 (B10)
package {
import flash.display.*;
public dynamic class B10 extends MovieClip {
public var shotgun:search5PH;
public var health20:indestructible6PH;
}
}//package
Section 251
//B11 (B11)
package {
import flash.display.*;
public dynamic class B11 extends MovieClip {
public var armorpiercing:search8PH;
}
}//package
Section 252
//B12 (B12)
package {
import flash.display.*;
public dynamic class B12 extends MovieClip {
public var w:combatBlackMan;
}
}//package
Section 253
//B13 (B13)
package {
import flash.display.*;
public dynamic class B13 extends MovieClip {
}
}//package
Section 254
//B14 (B14)
package {
import flash.display.*;
public dynamic class B14 extends MovieClip {
}
}//package
Section 255
//B15 (B15)
package {
import flash.display.*;
public dynamic class B15 extends MovieClip {
public var d2:combatHardBoil;
public var mag3:bigObstacle5PH;
public var health50:search15PH;
public var money500:search14PH;
public var mgun_1:search14PH;
public var money500_1:search7PH;
}
}//package
Section 256
//B16 (B16)
package {
import flash.display.*;
public dynamic class B16 extends MovieClip {
public var shotgun_3:search7PH;
}
}//package
Section 257
//B17 (B17)
package {
import flash.display.*;
public dynamic class B17 extends MovieClip {
}
}//package
Section 258
//B18 (B18)
package {
import flash.display.*;
public dynamic class B18 extends MovieClip {
public var shotgun:search14PH;
public var health50:search13PH;
public var a1:combatBlackFat;
public var money1000:search6PH;
}
}//package
Section 259
//B19 (B19)
package {
import flash.display.*;
public dynamic class B19 extends MovieClip {
public var health20:search13PH;
public var money500:search3PH;
}
}//package
Section 260
//B2 (B2)
package {
import flash.display.*;
public dynamic class B2 extends MovieClip {
public var d1:combatFatMan;
public var money1000_d:search4PH;
public var money500_d:search5PH;
public var money500_a:search7PH;
public var mag1:search11PH;
}
}//package
Section 261
//B20 (B20)
package {
import flash.display.*;
public dynamic class B20 extends MovieClip {
public var money500:search3PH;
public var armorpiercing:search14PH;
}
}//package
Section 262
//B21 (B21)
package {
import flash.display.*;
public dynamic class B21 extends MovieClip {
public var shotgun:search8PH;
public var money500a:search6PH;
public var mag1_a:search5PH;
}
}//package
Section 263
//B22 (B22)
package {
import flash.display.*;
public dynamic class B22 extends MovieClip {
public var money500c:search14PH;
public var money500b:search14PH;
public var money500a:search12PH;
}
}//package
Section 264
//B23 (B23)
package {
import flash.display.*;
public dynamic class B23 extends MovieClip {
public var health20:search15PH;
}
}//package
Section 265
//B24 (B24)
package {
import flash.display.*;
public dynamic class B24 extends MovieClip {
public var shotgun:search5PH;
public var health20:indestructible6PH;
}
}//package
Section 266
//B25 (B25)
package {
import flash.display.*;
public dynamic class B25 extends MovieClip {
public var health20:search4PH;
public var money1000:search6PH;
public var armorpiercing:search5PH;
}
}//package
Section 267
//B26 (B26)
package {
import flash.display.*;
public dynamic class B26 extends MovieClip {
public var armorpiercing:search8PH;
}
}//package
Section 268
//B27 (B27)
package {
import flash.display.*;
public dynamic class B27 extends MovieClip {
public var d2:combatJable;
public var health50_1:search5PH;
public var money500_b:search6PH;
}
}//package
Section 269
//B3 (B3)
package {
import flash.display.*;
public dynamic class B3 extends MovieClip {
public var money500_b:search6PH;
public var money500_c:search11PH;
public var money500_a:search10PH;
}
}//package
Section 270
//B4 (B4)
package {
import flash.display.*;
public dynamic class B4 extends MovieClip {
public var mag3_1:search6PH;
public var armorpiercing:search8PH;
public var money500_a:search15PH;
}
}//package
Section 271
//B5 (B5)
package {
import flash.display.*;
public dynamic class B5 extends MovieClip {
public var shotgun:search5PH;
public var w1:combatBlackFat;
public var money500_a:search6PH;
}
}//package
Section 272
//B6 (B6)
package {
import flash.display.*;
public dynamic class B6 extends MovieClip {
public var health50_1:search5PH;
public var money500_b:search6PH;
}
}//package
Section 273
//B7 (B7)
package {
import flash.display.*;
public dynamic class B7 extends MovieClip {
public var money500_a:search9PH;
}
}//package
Section 274
//B8 (B8)
package {
import flash.display.*;
public dynamic class B8 extends MovieClip {
public var mgun_1:search5PH;
public var money500_b:search4PH;
}
}//package
Section 275
//B9 (B9)
package {
import flash.display.*;
public dynamic class B9 extends MovieClip {
}
}//package
Section 276
//backbutton (backbutton)
package {
import flash.media.*;
public dynamic class backbutton extends Sound {
}
}//package
Section 277
//bgm_boss (bgm_boss)
package {
import flash.media.*;
public dynamic class bgm_boss extends Sound {
}
}//package
Section 278
//bgm_gameover (bgm_gameover)
package {
import flash.media.*;
public dynamic class bgm_gameover extends Sound {
}
}//package
Section 279
//bgm_menu (bgm_menu)
package {
import flash.media.*;
public dynamic class bgm_menu extends Sound {
}
}//package
Section 280
//bgm_stageclear (bgm_stageclear)
package {
import flash.media.*;
public dynamic class bgm_stageclear extends Sound {
}
}//package
Section 281
//bgm1_1 (bgm1_1)
package {
import flash.media.*;
public dynamic class bgm1_1 extends Sound {
}
}//package
Section 282
//bgm1_2 (bgm1_2)
package {
import flash.media.*;
public dynamic class bgm1_2 extends Sound {
}
}//package
Section 283
//bgm1_3 (bgm1_3)
package {
import flash.media.*;
public dynamic class bgm1_3 extends Sound {
}
}//package
Section 284
//bgm2_1 (bgm2_1)
package {
import flash.media.*;
public dynamic class bgm2_1 extends Sound {
}
}//package
Section 285
//bgm2_2 (bgm2_2)
package {
import flash.media.*;
public dynamic class bgm2_2 extends Sound {
}
}//package
Section 286
//bgm2_3 (bgm2_3)
package {
import flash.media.*;
public dynamic class bgm2_3 extends Sound {
}
}//package
Section 287
//bgm3_1 (bgm3_1)
package {
import flash.media.*;
public dynamic class bgm3_1 extends Sound {
}
}//package
Section 288
//bgm3_2 (bgm3_2)
package {
import flash.media.*;
public dynamic class bgm3_2 extends Sound {
}
}//package
Section 289
//bgm3_3 (bgm3_3)
package {
import flash.media.*;
public dynamic class bgm3_3 extends Sound {
}
}//package
Section 290
//bigLightPH (bigLightPH)
package {
import flash.display.*;
public dynamic class bigLightPH extends MovieClip {
}
}//package
Section 291
//bigObstacle1PH (bigObstacle1PH)
package {
import flash.display.*;
public dynamic class bigObstacle1PH extends MovieClip {
}
}//package
Section 292
//bigObstacle2PH (bigObstacle2PH)
package {
import flash.display.*;
public dynamic class bigObstacle2PH extends MovieClip {
}
}//package
Section 293
//bigObstacle3PH (bigObstacle3PH)
package {
import flash.display.*;
public dynamic class bigObstacle3PH extends MovieClip {
}
}//package
Section 294
//bigObstacle4PH (bigObstacle4PH)
package {
import flash.display.*;
public dynamic class bigObstacle4PH extends MovieClip {
}
}//package
Section 295
//bigObstacle5PH (bigObstacle5PH)
package {
import flash.display.*;
public dynamic class bigObstacle5PH extends MovieClip {
}
}//package
Section 296
//bigObstacle6PH (bigObstacle6PH)
package {
import flash.display.*;
public dynamic class bigObstacle6PH extends MovieClip {
}
}//package
Section 297
//bigObstacle7PH (bigObstacle7PH)
package {
import flash.display.*;
public dynamic class bigObstacle7PH extends MovieClip {
}
}//package
Section 298
//bigObstacle8PH (bigObstacle8PH)
package {
import flash.display.*;
public dynamic class bigObstacle8PH extends MovieClip {
}
}//package
Section 299
//Bjack04b03 (Bjack04b03)
package {
import flash.text.*;
public dynamic class Bjack04b03 extends Font {
}
}//package
Section 300
//BjackNokiaCellphone (BjackNokiaCellphone)
package {
import flash.text.*;
public dynamic class BjackNokiaCellphone extends Font {
}
}//package
Section 301
//BlackMask (BlackMask)
package {
import flash.display.*;
public dynamic class BlackMask extends MovieClip {
}
}//package
Section 302
//blockPlayerBulletPH (blockPlayerBulletPH)
package {
import flash.display.*;
public class blockPlayerBulletPH extends MovieClip {
public function takeHit(_arg1:int):void{
}
}
}//package
Section 303
//blockPlayerPH (blockPlayerPH)
package {
import flash.display.*;
public dynamic class blockPlayerPH extends MovieClip {
}
}//package
Section 304
//boss_Alert (boss_Alert)
package {
import flash.display.*;
public dynamic class boss_Alert extends MovieClip {
}
}//package
Section 305
//boss_death (boss_death)
package {
import flash.media.*;
public dynamic class boss_death extends Sound {
}
}//package
Section 306
//bossAlien (bossAlien)
package {
import flash.display.*;
public dynamic class bossAlien extends BitmapData {
public function bossAlien(_arg1:int=0x0400, _arg2:int=0x0700){
super(_arg1, _arg2);
}
}
}//package
Section 307
//bossAlienIdle (bossAlienIdle)
package {
import flash.display.*;
public dynamic class bossAlienIdle extends BitmapData {
public function bossAlienIdle(_arg1:int=1200, _arg2:int=240){
super(_arg1, _arg2);
}
}
}//package
Section 308
//bossFreddy (bossFreddy)
package {
import flash.display.*;
public dynamic class bossFreddy extends BitmapData {
public function bossFreddy(_arg1:int=1440, _arg2:int=864){
super(_arg1, _arg2);
}
}
}//package
Section 309
//bossHP (bossHP)
package {
import flash.display.*;
public dynamic class bossHP extends MovieClip {
public var hpbar:MovieClip;
}
}//package
Section 310
//bossJason (bossJason)
package {
import flash.display.*;
public dynamic class bossJason extends BitmapData {
public function bossJason(_arg1:int=2480, _arg2:int=1612){
super(_arg1, _arg2);
}
}
}//package
Section 311
//brick1PH (brick1PH)
package {
import flash.display.*;
public dynamic class brick1PH extends MovieClip {
}
}//package
Section 312
//brick2PH (brick2PH)
package {
import flash.display.*;
public dynamic class brick2PH extends MovieClip {
}
}//package
Section 313
//C (C)
package {
public class C {
public static const ANT:Boolean = true;
public static const JON:Boolean = false;
public static const JONPARTNER:int = 1337;
public static const ANTPARTNER:int = 7331;
public static const PAL_HITPOINTS:int = 100;
public static const GAME_WIDTH:Number = 640;
public static const GAME_HEIGHT:Number = 576;
public static const GAME_FPS:Number = 30;
public static const GAME_GUI:Number = 64;
public static const GAME_BORDER_HEIGHT:Number = 24;
public static const MUSIC_VOL:Number = 0.6;
public static const MUTE_NONE:Number = 1;
public static const MUTE_MUSIC:Number = 2;
public static const MUTE_BOTH:Number = 3;
public static const NORMAL_MODE:int = 0;
public static const SURVIVAL_MODE:int = 1;
public static const MAX_ZOMBIE_WORTH:int = 25;
public static const ZOMBIE_SPAWN_RATE:int = 4000;
public static const ZOMBIE_SPAWN_MAX_VALUE:int = 35;
public static const ZOMBIE_LEFT_BEHIND:Number = 350;
public static const SURVIVAL_MODE_ZOMBIE_KILL:int = 10;
public static const GROUNDHOG_CURSE_LOOP:int = 5;
public static const FOG_OF_WAR_DAY_START:int = 21;
public static const FOG_OF_WAR_DAY_END:int = 29;
public static const PLAYER_FOG_CIRCLE:int = 170;
public static const SURVIVOR_FOG_CIRCLE:int = 120;
public static const FIRE_STATE_NONE:int = 0;
public static const FIRE_STATE_FIRING:int = 1;
public static const FIRE_STATE_RELOADING:int = 2;
public static const FIRE_STATE_RELOADED:int = 3;
public static const GAMEOVER_CONTINUE_MONEY:int = 6000;
public static const SCROLL_BOUND:int = 320;
public static const PLAYER_UP_BOUND:int = 100;
public static const PLAYER_BTM_BOUND:int = 500;
public static const TILE_HEIGHT:int = 0x0200;
public static const SPECIAL_TILE_END_HEIGHT:int = 640;
public static const SPRITE_SIZE:int = 64;
public static const EXPLOSION_SIZE:int = 160;
public static const SEARCH_SPRITE_SIZE:int = 96;
public static const BIG_SPRITE_SIZE:int = 150;
public static const EXPLODE_OBJECT_SPRITE_SIZE:int = 160;
public static const PLAYER_DIE_SPRITE_SIZE:int = 74;
public static const PLAYER_DIE_TOTAL_FRAMES:int = 34;
public static const PLAYER_DIE_FRAMES_PER_ROW:int = 8;
public static const JON_DIE_SPRITE_SIZE:int = 64;
public static const JON_DIE_TOTAL_FRAMES:int = 4;
public static const SPRITE_FPS:int = 12;
public static const FRAME_ERROR:String = "Error";
public static const ZOMBIE_COLLISION_SIZE:int = 15;
public static const ZOMBIE_AOE_SLOW:int = 35;
public static const ZOMBIE_SLOW_FACTOR_DECIMAL:Number = 0.2;
public static const ZOMBIE_MS_INCREMENT:Number = 0.15;
public static const UFO_BULLET_SPEED:Number = 16;
public static const UFO_BULLET_DAMAGE:int = 10;
public static const EXPLOSION_RADIUS:int = 150;
public static const EXPLOSION_DMG:int = 80;
public static const PLAYER_COIN_MAGNET_AOE:int = 50;
public static const SURVIVOR_COIN_MAGNET_AOE:int = 50;
public static const COIN_BASE_SPEED:int = 1;
public static const COIN_DURATION:int = 4000;
public static const COIN_EVENT_COLLECTED = "coinCollected";
public static const MAGAZINE_INFINITE = 9999;
public static const LASER_BULLET_ANIMATION = "animation";
public static const LASER_BULLET_ANIMATION_COMPLETE = "animationComplete";
public static const LASER_BULLET_DESTROY_ANIMATION = "destroyAnimation";
public static const LASER_BULLET_EXTEND_HEIGHT = 4;
public static const CURSOR_NORMAL:String = "normal";
public static const CURSOR_AIMING:String = "aiming";
public static const CURSOR_TARGETED:String = "targeted";
public static const CURSOR_FIRE:String = "fire";
public static const CURSOR_RELOADING:String = "reloading";
public static const CURSOR_RELOADING_FRAME_COUNT:int = 8;
public static const CURSOR_RELOADED:String = "reloaded";
public static const CURSOR_RELOADED_FRAME_COUNT:int = 4;
public static const ANIMATION_COMPLETE:String = "animationComplete";
public static const ANIMATION_ATTACK_POINT:String = "animationAttackPoint";
public static const SEARCH_GUN:String = "gun";
public static const SEARCH_HEALTH_20:String = "health20";
public static const SEARCH_HEALTH_50:String = "health50";
public static const SEARCH_MAG_1:String = "mag1";
public static const SEARCH_MAG_3:String = "mag3";
public static const SEARCH_MONEY_500:String = "money500";
public static const SEARCH_MONEY_1000:String = "money1000";
public static const SEARCH_MGUN:String = "mgun";
public static const SEARCH_ARMORPIERCING:String = "armorpiercing";
public static const SEARCH_SHOTGUN:String = "shotgun";
public static const GUN_TYPE_MACHINEGUN:String = "machinegun";
public static const GUN_TYPE_SHOTGUN:String = "shotgun";
public static const GUN_TYPE_PIERCING:String = "piercing";
public static const IDLE:int = 0;
public static const WALK:int = 1;
public static const WALK_REVERSE:int = 2;
public static const ATTACK:int = 3;
public static const ATTACK_IDLE:int = 4;
public static const FREEZE:int = 5;
public static const LOOK:int = 6;
public static const CHARGE:int = 7;
public static const UNFREEZE:int = 8;
public static const OPEN:int = 9;
public static const CLOSE:int = 10;
public static const JUMP:int = 11;
public static const AIR:int = 12;
public static const LAND:int = 13;
public static const LEAP:int = 14;
public static const JUMP_PREP:int = 15;
public static const LAND_PREP:int = 16;
public static const SUMMON:int = 17;
public static const AFTERSUMMON:int = 18;
public static const UP_LEFT:int = 0;
public static const UP:int = 1;
public static const UP_RIGHT:int = 2;
public static const RIGHT:int = 3;
public static const DOWN_RIGHT:int = 4;
public static const DOWN:int = 5;
public static const DOWN_LEFT:int = 6;
public static const LEFT:int = 7;
public static const MAX_BLOOD_COUNT:int = 20;
public static const BLOOD_FADE_DURATION:Number = 1;
public static const AWESOME_METER_GAIN_FROM_BULLET_KILL:int = 3;
public static const AWESOME_METER_GAIN_FROM_OTHERS_KILL:int = 1;
public static const PLAYER_SPECIAL_COST:int = 100;
public static const PLAYER_ACTION_COST:Array = [25, 20, 20];
public static const PLAYER_KICK_LENGTH:int = 50;
public static const PLAYER_KICK_DMG:int = 30;
public static const PLAYER_KICK_LEVEL2_ANGLE:int = 180;
public static const PLAYER_KICK_BASE_STUN_TIME:int = 3500;
public static const PLAYER_KICK_STUN_TIME_PER_LEVEL:int = 1500;
public static const PLAYER_MAX_HP:int = 100;
public static const ANT_BASE_MS:Number = 3.7;
public static const JON_BASE_MS:Number = 3.4;
public static const ANT_SPECIAL_INVUL_TIME:Array = new Array(4, 6, 8);
public static const ANT_SPECIAL_DMG:Array = new Array(30, 40, 50);
public static const ANT_SPECIAL_SPEED:Array = new Array(7, 7.5, 8);
public static const ANT_SPECIAL_AOE:int = 50;
public static const ANT_SPECIAL_FULLSCREEN_FREEZE:Number = 8;
public static const ANT_EVENT_INVUL_COMPLETE = "antInvulComplete";
public static const JON_DASH_SPEED:Array = new Array(7, 7.5, 8);
public static const JON_DASH_AOE:int = 80;
public static const JON_DASH_DMG:int = 30;
public static const JON_SPECIAL_SURVIVOR_COUNT:Array = new Array(3, 4, 5);
public static const JON_SPECIAL_COST:Array = new Array(100, 100, 100);
public static const JON_SPECIAL_DMG:Array = new Array(30, 35, 40);
public static const JON_SPECIAL_AOE:Array = new Array(150, 250, 0);
public static const PLAYER_TOP_PISTOL:int = 0;
public static const PLAYER_TOP_MGUN:int = 1;
public static const PLAYER_TOP_SGUN:int = 2;
public static const PLAYER_TOP_SPECIAL:int = 3;
public static const BOSS_ANIMATION_Y:int = 200;
public static const DMG_TYPE_PLAYER_BULLET:int = 0;
public static const DMG_TYPE_PLAYER_ACTION:int = 1;
public static const DMG_TYPE_PLAYER_SPECIAL:int = 2;
public static const DMG_TYPE_SELF_DESTRUCT:int = 3;
public static const BGM_TITLE_1:String = "HERE'S JOHNNY";
public static const BGM_TITLE_2:String = "WANNA PLAY?";
public static const BGM_TITLE_3:String = "WELCOME TO MY WORLD";
public static const BGM_TITLE_4:String = "PAIN HAS A FACE";
public static const JON_CHAT:String = "Let's just stick together and keep cool.";
public static const JON_ABANDON:String = "Dude, are you KIDDING ME?";
public static const ANT_CHAT:String = "Remember, I'm saving YOU.";
public static const ANT_ABANDON:String = "You'll be back! You need me!";
public static const MARIO_CHAT:String = "It's-a Me! I'm-a freakin' out!";
public static const MARIO_ABANDON:String = "I… left-a Luigi behind. I'm-a coward!";
public static const NESS_CHAT:String = "..........";
public static const NESS_ABANDON:String = "...praying...";
public static const PEACH_CHAT:String = "I am not in some other castle! Save me now!";
public static const PEACH_ABANDON:String = "Is there someone else? It's Daisy, isn't it? I'VE ALWAYS KNOWN.";
public static const SNAKE_CHAT:String = "Beep*Beep*. . . Yes. . . No. . . Merry Christmas";
public static const SNAKE_ABANDON:String = "!";
public static const GRAVITYBONE_CHAT:String = "Mission : Bring me to safety.";
public static const GRAVITYBONE_ABANDON:String = "The client is not happy...";
public static const JOHNLOCKE_CHAT:String = "Don't tell me what I can or cant't do!";
public static const JOHNLOCKE_ABANDON:String = "I've done everything you wanted me to do. So why did you do this to me?!";
public static const METROID_CHAT:String = "";
public static const METROID_ABANDON:String = "";
public static const OTACON_CHAT:String = "ZOE? ZOE!? Where are you!?";
public static const OTACON_ABANDON:String = "Have you ever... loved someone?";
public static const MJ_CHAT:String = "Thriller night, baby, ooh!";
public static const MJ_ABANDON:String = "They're out to get me, there's demons closing in on every side";
public static const MOCHI_CHAT:String = "I'll double your sponsorship. I swear!";
public static const MOCHI_ABANDON:String = "No more games!";
public static const DTOID_CHAT:String = "...";
public static const DTOID_ABANDON:String = "*@%#?!!";
public static const FATMAN_CHAT:String = "I thought I was done for!";
public static const FATMAN_ABANDON:String = "Wait - I'll keep up, I swear!";
public static const OLDLADY_CHAT:String = "Young man... Save me!";
public static const OLDLADY_ABANDON:String = "My time is up...";
public static const SLIMGIRL_CHAT:String = "Quick! Where's my Wavebird!";
public static const SLIMGIRL_ABANDON:String = "Wait, I didn't win the one liner contest just to DIE!?";
public static const TEDDYGIRL_CHAT:String = "Papa...? Is that you?";
public static const TEDDYGIRL_ABANDON:String = "I promise to be good. Please don't go.";
public static const FATLADY_CHAT:String = "Don't you dare touch me...";
public static const FATLADY_ABANDON:String = "AHHhhhhh";
public static const PACMAN_CHAT:String = "What are you waiting for!? Come help me!";
public static const PACMAN_ABANDON:String = "Where are you going?";
public static const WHEELCHAIR_CHAT:String = "WHEELCHAIR CHAT";
public static const WHEELCHAIR_ABANDON:String = "WHEELCHAIR ABANDON";
public static const NUNWHITE_CHAT:String = "Only one thing can save the children now...";
public static const NUNWHITE_ABANDON:String = "All will be judged for their actions";
public static const NUNBLACK_CHAT:String = "God... Save me!!!";
public static const NUNBLACK_ABANDON:String = "God... what's happening!?";
public static const ADAM_CHAT:String = "Hey you! Help me out here!";
public static const ADAM_ABANDON:String = "I'll wait here... for you...";
public static const HUNK_CHAT:String = "Help me out here!";
public static const HUNK_ABANDON:String = "Get over here!";
public static const GANGSTER_CHAT:String = "When there's no more room in hell, the dead will walk the earth.";
public static const GANGSTER_ABANDON:String = "Man, how could you!";
public static const ACHIEVEMENT_MAXHP_1:int = 150;
public static const ACHIEVEMENT_MAXHP_2:int = 350;
public static const ACHIEVEMENT_MAXHP_3:int = 700;
public static const ACHIEVEMENT_MAXHP_4:int = 1500;
public static const ACHIEVEMENT_COINMAG_1:int = 15000;
public static const ACHIEVEMENT_COINMAG_2:int = 40000;
public static const ACHIEVEMENT_COINMAG_3:int = 80000;
public static const ACHIEVEMENT_COINMAG_4:int = 150000;
public static const ACHIEVEMENT_SEARCH_1:int = 20;
public static const ACHIEVEMENT_SEARCH_2:int = 50;
public static const ACHIEVEMENT_SEARCH_3:int = 100;
public static const ACHIEVEMENT_SEARCH_4:int = 200;
public static const ACHIEVEMENT_SPEED_1:int = 400;
public static const ACHIEVEMENT_SPEED_2:int = 1200;
public static const ACHIEVEMENT_SPEED_3:int = 2000;
public static const ACHIEVEMENT_SPEED_4:int = 3500;
public static const ACHIEVEMENT_MOONWALK_1:int = 100;
public static const ACHIEVEMENT_MOONWALK_2:int = 400;
public static const ACHIEVEMENT_MOONWALK_3:int = 1000;
public static const ACHIEVEMENT_MOONWALK_4:int = 2000;
public static const ACHIEVEMENT_RELOAD_1:int = 25;
public static const ACHIEVEMENT_RELOAD_2:int = 80;
public static const ACHIEVEMENT_RELOAD_3:int = 200;
public static const ACHIEVEMENT_RELOAD_4:int = 500;
public static const ACHIEVEMENT_STRUGGLE_1:int = 10;
public static const ACHIEVEMENT_STRUGGLE_2:int = 25;
public static const ACHIEVEMENT_STRUGGLE_3:int = 50;
public static const ACHIEVEMENT_STRUGGLE_4:int = 100;
public static const ACHIEVEMENT_AMMO_1:int = 3;
public static const ACHIEVEMENT_AMMO_2:int = 10;
public static const ACHIEVEMENT_AMMO_3:int = 20;
public static const ACHIEVEMENT_AMMO_4:int = 60;
public static const ACHIEVEMENT_MEMBERSHIP_1:int = 8000;
public static const ACHIEVEMENT_MEMBERSHIP_2:int = 30000;
public static const ACHIEVEMENT_MEMBERSHIP_3:int = 60000;
public static const ACHIEVEMENT_MEMBERSHIP_4:int = 150000;
public static const ACHIEVEMENT_SPECIAL_1:int = 20;
public static const ACHIEVEMENT_SPECIAL_2:int = 80;
public static const ACHIEVEMENT_ACTION_1:int = 15;
public static const ACHIEVEMENT_ACTION_2:int = 50;
public static const ACHIEVEMENT_SHOPHEALTH_1:int = 5;
public static const ACHIEVEMENT_SHOPHEALTH_2:int = 20;
public static const ACHIEVEMENT_SHOPAMMO_1:int = 10;
public static const ACHIEVEMENT_SHOPAMMO_2:int = 25;
public static const ACHIEVEMENT_MGUN1KILLS_1:int = 250;
public static const ACHIEVEMENT_SGUN1KILLS_1:int = 250;
public static const ACHIEVEMENT_AGUN1KILLS_1:int = 150;
public static const ACHIEVEMENT_MGUN2KILLS_1:int = 800;
public static const ACHIEVEMENT_SGUN2KILLS_1:int = 800;
public static const ACHIEVEMENT_AGUN2KILLS_1:int = 500;
public static const PAGE3_ACHIEVEMENT_1:int = 10000;
public static const PAGE3_ACHIEVEMENT_2:int = 15;
public static const PAGE3_ACHIEVEMENT_3:int = 800;
public static const PAGE3_ACHIEVEMENT_4:int = 20000;
public static const PAGE3_ACHIEVEMENT_5:int = 25;
public static const PAGE3_ACHIEVEMENT_6:int = 1200;
public static const PAGE3_ACHIEVEMENT_7:int = 30000;
public static const PAGE3_ACHIEVEMENT_8:int = 35;
public static const PAGE3_ACHIEVEMENT_9:int = 2000;
public static const PAGE3_ACHIEVEMENT_BOSS_1_1:int = 2000;
public static const PAGE3_ACHIEVEMENT_BOSS_1_2:int = 10000;
public static const PAGE3_ACHIEVEMENT_BOSS_1_3:int = 13;
public static const PAGE3_ACHIEVEMENT_BOSS_2_1:int = 5000;
public static const PAGE3_ACHIEVEMENT_BOSS_2_2:int = 25;
public static const PAGE3_ACHIEVEMENT_BOSS_2_3:int = 300;
public static const PAGE3_ACHIEVEMENT_BOSS_3_1:int = 8000;
public static const PAGE3_ACHIEVEMENT_BOSS_3_2:int = 30000;
public static const PAGE3_ACHIEVEMENT_BOSS_3_3:int = 7;
public static const NIGHT_ARRAY:Array = new Array(1, 6, 11, 16, 21, 26, 30);
public static var BLACKFATCOMBAT_CHAT:String = "BLACKFATCOMBAT CHAT";
public static var BLACKFATCOMBAT_ABANDON:String = "Go on! I will take care of things here";
public static var FATMANCOMBAT_CHAT:String = "FATMANCOMBAT CHAT";
public static var FATMANCOMBAT_ABANDON:String = "I don't need you!";
public static var PACMANCOMBAT_CHAT:String = "PACMANCOMBAT CHAT";
public static var PACMANCOMBAT_ABANDON:String = "How dare you!";
public static var BLACKMANCOMBAT_CHAT:String = "BLACKMANCOMBAT CHAT";
public static var BLACKMANCOMBAT_ABANDON:String = "Go on! I will take care of things here";
public static var BUSINESSMAN_CHAT:String = "BUSINESSMAN CHAT";
public static var BUSINESSMAN_ABANDON:String = "I don't need you!";
public static var HUNKMANCOMBAT_CHAT:String = "HUNKMANCOMBAT CHAT";
public static var HUNKMANCOMBAT_ABANDON:String = "How dare you!";
}
}//package
Section 314
//carPH (carPH)
package {
import flash.display.*;
public dynamic class carPH extends MovieClip {
}
}//package
Section 315
//Chat (Chat)
package {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import com.greensock.*;
import flash.text.*;
import org.casalib.util.*;
public class Chat extends MovieClip {
private var layer:Sprite;
private var target:Survivor;
private var spawnChatList:Array;
private var abandonChatList:Array;
private var jonChatList:Array;
private var bubbleLastTimer:int;
private var chatText:TextField;
private var newFormat:TextFormat;
private var specialSurvivor:Boolean;
private var durationTimer:FakeTimer;
private var result:TextField;
protected var bmp:Bitmap;
public static const BUBBLE_STATE_IDLE:String = "idle";
public static const BUBBLE_STATE_START:String = "start";
public static const BUBBLE_STATE_FULL:String = "full";
public static const BUBBLE_STATE_DESTROYED_COMPLETE:String = "destroyedComplete";
public function Chat(_arg1:Sprite, _arg2:Survivor):void{
spawnChatList = [];
abandonChatList = [];
jonChatList = [];
newFormat = new TextFormat();
durationTimer = new FakeTimer();
result = new TextField();
super();
chatText = createTextField(0, 0, 100, 100);
chatText.type = TextFieldType.DYNAMIC;
newFormat.align = TextFormatAlign.CENTER;
chatText.defaultTextFormat = newFormat;
this.layer = _arg1;
this.target = _arg2;
durationTimer.duration = 20000;
bubbleLastTimer = 0;
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true);
}
private function createTextField(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):TextField{
result.x = (_arg1 - (_arg3 / 2));
result.y = (_arg2 - 50);
result.width = _arg3;
result.height = _arg4;
result.wordWrap = true;
result.multiline = true;
result.embedFonts = true;
result.borderColor = 16758137;
var _local5:TextFormat = new TextFormat();
_local5.font = "Nokia Cellphone";
_local5.size = 8;
_local5.color = 16758137;
result.defaultTextFormat = _local5;
addChild(result);
return (result);
}
public function chatList(_arg1:String, _arg2:String, _arg3:Boolean):void{
spawnChatList.push(_arg1);
abandonChatList.push(_arg2);
specialSurvivor = _arg3;
}
public function jonRandomChat():void{
chatText.text = jonChatList[NumberUtil.randomIntegerWithinRange(0, (jonChatList.length - 1))];
chatText.visible = true;
visible = true;
bubbleLastTimer = 0;
chatText.multiline = true;
durationTimer.resetAndStart();
}
public function activateAbandonChat():void{
chatText.text = abandonChatList[NumberUtil.randomIntegerWithinRange(0, (abandonChatList.length - 1))];
var _local1:Number = 0;
_local1 = ((abandonChatList[0].length / 15) * 15);
result.y = ((0 - _local1) + 35);
chatText.visible = true;
visible = true;
bubbleLastTimer = 0;
durationTimer.duration = 6500;
durationTimer.resetAndStart();
}
public function activateRandomChat():void{
chatText.text = spawnChatList[NumberUtil.randomIntegerWithinRange(0, (spawnChatList.length - 1))];
var _local1:Number = 0;
_local1 = ((spawnChatList[0].length / 15) * 15);
result.y = ((0 - _local1) + 25);
chatText.visible = true;
visible = true;
bubbleLastTimer = 0;
durationTimer.duration = 20000;
durationTimer.resetAndStart();
}
public function resetChat(){
visible = false;
chatText.visible = false;
bubbleLastTimer = 0;
durationTimer.stop();
}
protected function checkCommonTimers():void{
checkDurationTimer();
}
protected function checkDurationTimer():void{
if (durationTimer.getTrigger()){
resetChat();
};
}
public function loop(_arg1:Event):void{
checkCommonTimers();
}
public function bubbleFreezeTimer():void{
if (bubbleLastTimer >= 200){
play();
} else {
bubbleLastTimer++;
stop();
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
EC.remove(this);
}
}
}//package
Section 316
//cIndicator (cIndicator)
package {
import flash.display.*;
public dynamic class cIndicator extends MovieClip {
}
}//package
Section 317
//coin_collect (coin_collect)
package {
import flash.media.*;
public dynamic class coin_collect extends Sound {
}
}//package
Section 318
//coin1 (coin1)
package {
import flash.display.*;
public dynamic class coin1 extends MovieClip {
public function coin1(){
addFrameScript(9, frame10);
}
function frame10(){
gotoAndPlay("loop");
}
}
}//package
Section 319
//coin2 (coin2)
package {
import flash.display.*;
public dynamic class coin2 extends MovieClip {
public function coin2(){
addFrameScript(10, frame11);
}
function frame11(){
gotoAndPlay("loop");
}
}
}//package
Section 320
//coin3 (coin3)
package {
import flash.display.*;
public dynamic class coin3 extends MovieClip {
public function coin3(){
addFrameScript(17, frame18);
}
function frame18(){
gotoAndPlay("loop");
}
}
}//package
Section 321
//combatantL_blackfat (combatantL_blackfat)
package {
import flash.display.*;
public dynamic class combatantL_blackfat extends BitmapData {
public function combatantL_blackfat(_arg1:int=320, _arg2:int=320){
super(_arg1, _arg2);
}
}
}//package
Section 322
//combatantL_fatman (combatantL_fatman)
package {
import flash.display.*;
public dynamic class combatantL_fatman extends BitmapData {
public function combatantL_fatman(_arg1:int=320, _arg2:int=320){
super(_arg1, _arg2);
}
}
}//package
Section 323
//combatantL_hardboil (combatantL_hardboil)
package {
import flash.display.*;
public dynamic class combatantL_hardboil extends BitmapData {
public function combatantL_hardboil(_arg1:int=320, _arg2:int=320){
super(_arg1, _arg2);
}
}
}//package
Section 324
//combatantL_leg (combatantL_leg)
package {
import flash.display.*;
public dynamic class combatantL_leg extends BitmapData {
public function combatantL_leg(_arg1:int=0x0200, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 325
//combatantL_pacman (combatantL_pacman)
package {
import flash.display.*;
public dynamic class combatantL_pacman extends BitmapData {
public function combatantL_pacman(_arg1:int=320, _arg2:int=320){
super(_arg1, _arg2);
}
}
}//package
Section 326
//combatantM_blackman (combatantM_blackman)
package {
import flash.display.*;
public dynamic class combatantM_blackman extends BitmapData {
public function combatantM_blackman(_arg1:int=320, _arg2:int=320){
super(_arg1, _arg2);
}
}
}//package
Section 327
//combatantM_business (combatantM_business)
package {
import flash.display.*;
public dynamic class combatantM_business extends BitmapData {
public function combatantM_business(_arg1:int=320, _arg2:int=320){
super(_arg1, _arg2);
}
}
}//package
Section 328
//combatantM_hunk (combatantM_hunk)
package {
import flash.display.*;
public dynamic class combatantM_hunk extends BitmapData {
public function combatantM_hunk(_arg1:int=320, _arg2:int=320){
super(_arg1, _arg2);
}
}
}//package
Section 329
//combatantM_jable (combatantM_jable)
package {
import flash.display.*;
public dynamic class combatantM_jable extends BitmapData {
public function combatantM_jable(_arg1:int=320, _arg2:int=320){
super(_arg1, _arg2);
}
}
}//package
Section 330
//combatantM_leg (combatantM_leg)
package {
import flash.display.*;
public dynamic class combatantM_leg extends BitmapData {
public function combatantM_leg(_arg1:int=0x0200, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 331
//combatBlackFat (combatBlackFat)
package {
import flash.display.*;
public dynamic class combatBlackFat extends MovieClip {
}
}//package
Section 332
//combatBlackMan (combatBlackMan)
package {
import flash.display.*;
public dynamic class combatBlackMan extends MovieClip {
}
}//package
Section 333
//combatBusinessMan (combatBusinessMan)
package {
import flash.display.*;
public dynamic class combatBusinessMan extends MovieClip {
}
}//package
Section 334
//combatFatMan (combatFatMan)
package {
import flash.display.*;
public dynamic class combatFatMan extends MovieClip {
}
}//package
Section 335
//combatHardBoil (combatHardBoil)
package {
import flash.display.*;
public dynamic class combatHardBoil extends MovieClip {
}
}//package
Section 336
//combatHunk (combatHunk)
package {
import flash.display.*;
public dynamic class combatHunk extends MovieClip {
}
}//package
Section 337
//combatJable (combatJable)
package {
import flash.display.*;
public dynamic class combatJable extends MovieClip {
}
}//package
Section 338
//combatPacMan (combatPacMan)
package {
import flash.display.*;
public dynamic class combatPacMan extends MovieClip {
}
}//package
Section 339
//combatSurvivor (combatSurvivor)
package {
import flash.display.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import players.*;
import guns.*;
public class combatSurvivor extends Survivor {
private var top:SpriteSheetDirectionAnimation;
private var btm:SpriteSheetDirectionAnimation;
private var angle2:Number;// = 0
private var angleForObject:Number;// = 0
private var combatantIndicator:MovieClip;
public function combatSurvivor(_arg1:Sprite, _arg2:Sprite, _arg3:Sprite, _arg4:Player, _arg5, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:String){
combatSurvivor = true;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
createCombatantIndicator();
initDefaultDirection(_arg9);
}
private function initDefaultDirection(_arg1:String):void{
_arg1 = _arg1.toLowerCase();
_arg1 = _arg1.substring(0, 1);
switch (_arg1){
case "w":
direction = C.UP;
break;
case "s":
direction = C.DOWN;
break;
case "a":
direction = C.LEFT;
break;
case "d":
direction = C.RIGHT;
break;
default:
direction = C.DOWN;
};
checkAndSetDirection();
}
private function createCombatantIndicator():void{
combatantIndicator = new cIndicator();
combatantIndicator.x = -30;
combatantIndicator.y = 20;
addChild(combatantIndicator);
combatantIndicator.stop();
}
override protected function initSpriteAnimation(){
initSprites(survivorNo);
addChild(btm);
addChild(top);
direction = C.DOWN;
checkAndSetDirection();
top.attackStartFrame = 0;
top.attackDmgFrame = 0;
top.attackEndFrame = 0;
top.attackRow[C.DOWN] = 0;
top.attackRow[C.DOWN_LEFT] = 1;
top.attackRow[C.DOWN_RIGHT] = 1;
top.attackRow[C.LEFT] = 2;
top.attackRow[C.RIGHT] = 2;
top.attackRow[C.UP_LEFT] = 3;
top.attackRow[C.UP_RIGHT] = 3;
top.attackRow[C.UP] = 4;
top.lookIdleFrame = 0;
top.animationFSM = C.ATTACK_IDLE;
btm.walkNumFrames = 6;
btm.walkRow[C.DOWN] = 0;
btm.walkRow[C.DOWN_LEFT] = 0;
btm.walkRow[C.DOWN_RIGHT] = 0;
btm.walkRow[C.LEFT] = 1;
btm.walkRow[C.RIGHT] = 1;
btm.walkRow[C.UP_LEFT] = 2;
btm.walkRow[C.UP_RIGHT] = 2;
btm.walkRow[C.UP] = 2;
btm.lookIdleFrame = 6;
btm.animationFSM = C.IDLE;
}
override protected function initSprites(_arg1:int){
var _local2:Bitmap;
var _local3:Bitmap;
if (_arg1 == 0){
_local2 = SurvivorBitmap.comLBlackFatBmp;
machineGun = new SurMGun(bulletLayer, rootRef);
blackFatCombat = true;
chatLine = C.BLACKFATCOMBAT_CHAT;
abandonLine = C.BLACKFATCOMBAT_ABANDON;
specialSurvivor = true;
} else {
if (_arg1 == 1){
_local2 = SurvivorBitmap.comLFatManBmp;
shotGun = new SurShotGun(bulletLayer, rootRef);
fatManCombat = true;
chatLine = C.FATMANCOMBAT_CHAT;
abandonLine = C.FATMANCOMBAT_ABANDON;
specialSurvivor = true;
} else {
if (_arg1 == 2){
_local2 = SurvivorBitmap.comLPacManBmp;
armorPiercing = new SurAGun(bulletLayer, rootRef);
pacManCombat = true;
chatLine = C.PACMANCOMBAT_CHAT;
abandonLine = C.PACMANCOMBAT_ABANDON;
specialSurvivor = true;
} else {
if (_arg1 == 3){
_local2 = SurvivorBitmap.comMBlackManBmp;
machineGun = new SurMGun(bulletLayer, rootRef);
blackManCombat = true;
chatLine = C.BLACKMANCOMBAT_CHAT;
abandonLine = C.BLACKMANCOMBAT_ABANDON;
specialSurvivor = true;
} else {
if (_arg1 == 4){
_local2 = SurvivorBitmap.comMBusinessBmp;
shotGun = new SurShotGun(bulletLayer, rootRef);
businessManCombat = true;
chatLine = C.BUSINESSMAN_CHAT;
abandonLine = C.BUSINESSMAN_ABANDON;
specialSurvivor = true;
} else {
if (_arg1 == 5){
_local2 = SurvivorBitmap.comMHunkBmp;
armorPiercing = new SurAGun(bulletLayer, rootRef);
hunkManCombat = true;
chatLine = C.HUNKMANCOMBAT_CHAT;
abandonLine = C.HUNKMANCOMBAT_ABANDON;
specialSurvivor = true;
} else {
if (_arg1 == 6){
_local2 = SurvivorBitmap.comMHardBoilBmp;
machineGun = new SurMGun(bulletLayer, rootRef);
hardBoilCombat = true;
chatLine = C.BUSINESSMAN_CHAT;
abandonLine = C.BUSINESSMAN_ABANDON;
specialSurvivor = true;
} else {
if (_arg1 == 7){
_local2 = SurvivorBitmap.comMJableBmp;
armorPiercing = new SurAGun(bulletLayer, rootRef);
jableCombat = true;
chatLine = C.BUSINESSMAN_CHAT;
abandonLine = C.BUSINESSMAN_ABANDON;
specialSurvivor = true;
};
};
};
};
};
};
};
};
if ((((_arg1 <= 2)) || ((_arg1 == 6)))){
_local3 = SurvivorBitmap.comLLegBmp;
} else {
_local3 = SurvivorBitmap.comMLegBmp;
};
btm = new SpriteSheetDirectionAnimation(_local3, 64, 64, true);
top = new SpriteSheetDirectionAnimation(_local2, 64, 64, true);
chat.chatList(chatLine, abandonLine, specialSurvivor);
}
override protected function loop(_arg1:Event):void{
velX = 0;
velY = 0;
checkCommonTimers();
switch (survivorFSM){
case SURVIVOR_STATE_NONE:
checkRescue();
lineOfSight();
showIndicator();
break;
case SURVIVOR_STATE_RESCUED:
followWaypoint(true);
checkAndSetDirection();
lineOfSight();
if (((!((velX == 0))) || (!((velY == 0))))){
setWaypoint2();
btm.animationFSM = C.WALK;
} else {
btm.animationFSM = C.IDLE;
};
break;
};
}
private function checkAndSetDirection():void{
if (top.direction != direction){
top.direction = direction;
btm.direction = direction;
scaleX = 1;
combatantIndicator.gotoAndStop(("l" + direction));
};
}
public function lineOfSight():void{
var _local2:int;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local1:int = Main.enemyList.length;
if (Main.enemyList[_local2]){
_local2 = 0;
while (_local2 < _local1) {
_local3 = Utils.getShortestDist(x, y, Main.enemyList[_local2].x, Main.enemyList[_local2].y);
angle2 = Utils.getAngleFromPoint(Main.enemyList[_local2].x, Main.enemyList[_local2].y, x, y);
_local4 = Utils.directionToAngle(top.direction);
_local4 = Utils.getOppositeAngle(_local4);
if ((((_local3 <= 200)) && ((Math.abs((_local4 - angle2)) <= 50)))){
if (((((blackManCombat) || (blackFatCombat))) || (hardBoilCombat))){
if (!machineGun.survivorTimer.running){
fireBullet();
};
} else {
if (((fatManCombat) || (businessManCombat))){
if (!shotGun.survivorTimer.running){
fireBullet();
};
} else {
if (!armorPiercing.survivorTimer.running){
fireBullet();
};
};
};
};
_local2++;
};
_local2 = 0;
while (_local2 < Main.objectList.length) {
if ((((Main.objectList[_local2].indestructible == false)) && (Utils.BoundingCircle(x, y, player.x, player.y, 300)))){
_local5 = Utils.getShortestDist(x, y, Main.objectList[_local2].x, Main.objectList[_local2].y);
angleForObject = Utils.getAngleFromPoint(Main.objectList[_local2].x, Main.objectList[_local2].y, x, y);
_local4 = Utils.directionToAngle(top.direction);
_local4 = Utils.getOppositeAngle(_local4);
if ((((_local5 <= 100)) && ((Math.abs((_local4 - angleForObject)) <= 50)))){
if (((((blackManCombat) || (blackFatCombat))) || (hardBoilCombat))){
if (!machineGun.survivorTimer.running){
fireBulletForObject();
};
} else {
if (((fatManCombat) || (businessManCombat))){
if (!shotGun.survivorTimer.running){
fireBulletForObject();
};
} else {
if (!armorPiercing.survivorTimer.running){
fireBulletForObject();
};
};
};
};
};
_local2++;
};
};
}
protected function fireBullet():void{
if (((((blackManCombat) || (blackFatCombat))) || (hardBoilCombat))){
machineGun.fire(bulletLayer, x, y, angle2);
} else {
if (((fatManCombat) || (businessManCombat))){
shotGun.fire(bulletLayer, x, y, angle2);
} else {
armorPiercing.fire(bulletLayer, x, y, angle2);
};
};
fireFSM = C.FIRE_STATE_NONE;
}
protected function fireBulletForObject():void{
if (((((blackManCombat) || (blackFatCombat))) || (hardBoilCombat))){
machineGun.fire(bulletLayer, x, y, angleForObject);
} else {
if (((fatManCombat) || (businessManCombat))){
shotGun.fire(bulletLayer, x, y, angleForObject);
} else {
armorPiercing.fire(bulletLayer, x, y, angleForObject);
};
};
fireFSM = C.FIRE_STATE_NONE;
}
override public function setSurvivorFSM(_arg1:int):void{
var _local2:SurvivorLetsgo;
_survivorFSM = _arg1;
switch (_arg1){
case SURVIVOR_STATE_NONE:
top.animationFSM = C.ATTACK_IDLE;
btm.animationFSM = C.IDLE;
break;
case SURVIVOR_STATE_RESCUED:
chat.resetChat();
_local2 = new SurvivorLetsgo(chatLayer, x, (y - chatLayer.y));
if (S.muteState != C.MUTE_BOTH){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_LETSGO, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_LETSGO_ANT, 2);
};
};
break;
};
}
public function get btmDirection():int{
return (btm.direction);
}
override public function removeSelf():void{
if (((((blackManCombat) || (blackFatCombat))) || (hardBoilCombat))){
machineGun.removeSelf();
} else {
if (((fatManCombat) || (businessManCombat))){
shotGun.removeSelf();
} else {
armorPiercing.removeSelf();
};
};
top.destroy();
btm.destroy();
super.removeSelf();
}
}
}//package
Section 340
//Comic (Comic)
package {
import flash.display.*;
public dynamic class Comic extends MovieClip {
public var book:MovieClip;
public function Comic(){
addFrameScript(0, frame1, 9, frame10, 19, frame20);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
function frame20(){
visible = false;
}
}
}//package
Section 341
//Controls (Controls)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
public class Controls extends MovieClip {
public var control:MovieClip;
private var stageRef:Stage;
private var rootRef;
public function Controls(_arg1:Stage, _arg2){
var stageRef = _arg1;
var rootRef = _arg2;
super();
addFrameScript(0, frame1, 4, frame5, 8, frame9);
stageRef = this.stageRef;
this.rootRef = rootRef;
visible = false;
x = ((C.GAME_WIDTH / 2) - (width / 2));
y = ((C.GAME_HEIGHT / 2) - (height / 2));
control.tut1.visible = true;
control.tut2.visible = false;
control.tut3.visible = false;
control.tut4.visible = false;
control.btn_tut1.gotoAndStop("selected");
control.btn_tut2.gotoAndStop("idle");
control.btn_tut3.gotoAndStop("idle");
control.btn_tut4.gotoAndStop("idle");
control.btn_back.gotoAndStop("idle");
EC.add(control.btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
gotoAndPlay("disappear");
rootRef.hideMenuCover();
SoundManager.instance.playSound(Sounds.BACKBUTTON);
}, false, 0, true, "BACK_BUTTON_UP");
EC.add(control.btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
control.btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
EC.add(control.btn_back, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
control.btn_back.gotoAndStop("idle");
}, false, 0, true, "BACK_BUTTON_IDLE");
EC.add(control.btn_tut1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (control.btn_tut1.currentLabel != "selected"){
control.btn_tut1.gotoAndStop("idle");
};
}, false, 0, true, "BTN_TUT_IDLE");
EC.add(control.btn_tut1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (control.btn_tut1.currentLabel != "selected"){
control.btn_tut1.gotoAndStop("highlight");
};
}, false, 0, true, "BTN_TUT_HIGHLIGHT");
EC.add(control.btn_tut1, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
control.btn_tut1.gotoAndStop("selected");
control.btn_tut2.gotoAndStop("idle");
control.btn_tut3.gotoAndStop("idle");
control.btn_tut4.gotoAndStop("idle");
control.tut1.visible = true;
control.tut2.visible = false;
control.tut3.visible = false;
control.tut4.visible = false;
}, false, 0, true);
EC.add(control.btn_tut2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (control.btn_tut2.currentLabel != "selected"){
control.btn_tut2.gotoAndStop("idle");
};
}, false, 0, true, "BTN_TUT_IDLE");
EC.add(control.btn_tut2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (control.btn_tut2.currentLabel != "selected"){
control.btn_tut2.gotoAndStop("highlight");
};
}, false, 0, true, "BTN_TUT_HIGHLIGHT");
EC.add(control.btn_tut2, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
control.btn_tut2.gotoAndStop("selected");
control.btn_tut1.gotoAndStop("idle");
control.btn_tut3.gotoAndStop("idle");
control.btn_tut4.gotoAndStop("idle");
control.tut2.visible = true;
control.tut1.visible = false;
control.tut3.visible = false;
control.tut4.visible = false;
}, false, 0, true);
EC.add(control.btn_tut3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (control.btn_tut3.currentLabel != "selected"){
control.btn_tut3.gotoAndStop("idle");
};
}, false, 0, true, "BTN_TUT_IDLE");
EC.add(control.btn_tut3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (control.btn_tut3.currentLabel != "selected"){
control.btn_tut3.gotoAndStop("highlight");
};
}, false, 0, true, "BTN_TUT_HIGHLIGHT");
EC.add(control.btn_tut3, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
control.btn_tut3.gotoAndStop("selected");
control.btn_tut2.gotoAndStop("idle");
control.btn_tut1.gotoAndStop("idle");
control.btn_tut4.gotoAndStop("idle");
control.tut3.visible = true;
control.tut2.visible = false;
control.tut1.visible = false;
control.tut4.visible = false;
}, false, 0, true);
EC.add(control.btn_tut4, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (control.btn_tut4.currentLabel != "selected"){
control.btn_tut4.gotoAndStop("idle");
};
}, false, 0, true, "BTN_TUT_IDLE");
EC.add(control.btn_tut4, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (control.btn_tut4.currentLabel != "selected"){
control.btn_tut4.gotoAndStop("highlight");
};
}, false, 0, true, "BTN_TUT_HIGHLIGHT");
EC.add(control.btn_tut4, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
control.btn_tut4.gotoAndStop("selected");
control.btn_tut2.gotoAndStop("idle");
control.btn_tut3.gotoAndStop("idle");
control.btn_tut1.gotoAndStop("idle");
control.tut4.visible = true;
control.tut2.visible = false;
control.tut3.visible = false;
control.tut1.visible = false;
}, false, 0, true);
}
function frame1(){
stop();
}
function frame5(){
stop();
}
function frame9(){
visible = false;
}
}
}//package
Section 342
//Credits (Credits)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
public class Credits extends MovieClip {
public var credits:MovieClip;
private var stageRef:Stage;
private var rootRef;
public function Credits(_arg1:Stage, _arg2){
var stageRef = _arg1;
var rootRef = _arg2;
super();
addFrameScript(0, frame1, 7, frame8, 13, frame14);
this.stageRef = stageRef;
this.rootRef = rootRef;
credits.btn_back.gotoAndStop("idle");
visible = false;
x = ((C.GAME_WIDTH / 2) - (width / 2));
y = ((C.GAME_HEIGHT / 2) - (height / 2));
EC.add(credits.btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
gotoAndPlay("disappear");
rootRef.hideMenuCover();
SoundManager.instance.playSound(Sounds.BACKBUTTON);
}, false, 0, true);
EC.add(credits.btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
credits.btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
EC.add(credits.btn_back, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
credits.btn_back.gotoAndStop("idle");
}, false, 0, true, "BACK_BUTTON_IDLE");
}
function frame1(){
stop();
}
function frame8(){
stop();
}
function frame14(){
visible = false;
}
}
}//package
Section 343
//CreditsEnd (CreditsEnd)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
public class CreditsEnd extends MovieClip {
public var btn_skip:MovieClip;
private var stageRef:Stage;
private var rootRef;
private var pageNo:int;// = 0
private var tempPage:int;
public function CreditsEnd(_arg1:Stage, _arg2){
addFrameScript(2089, frame2090);
this.stageRef = _arg1;
this.rootRef = _arg2;
x = 320;
y = 288;
stop();
}
public function addEventListeners():void{
gotoAndPlay(1);
SoundManager.instance.playMusic(Sounds.BGM3_3, 0, 999);
btn_skip.gotoAndStop("idle");
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "loop");
EC.add(btn_skip, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
gotoAndPlay(2090);
}, false, 0, true, "BACK_BUTTON_CLICK");
EC.add(btn_skip, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_skip.gotoAndStop("idle");
}, false, 0, true, "BACK_BUTTON_IDLE");
EC.add(btn_skip, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_skip.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
}
function loop(_arg1:Event):void{
if (this.currentFrame == this.totalFrames){
stageRef.removeChild(this);
rootRef.showGameEndScreen();
removeActionListeners();
};
}
private function removeActionListeners():void{
EC.remove("BACK_BUTTON_CLICK");
EC.remove("BACK_BUTTON_ROLLOVER");
EC.remove("BACK_BUTTON_IDLE");
EC.remove("loop");
}
function frame2090(){
stop();
}
}
}//package
Section 344
//Cursor (Cursor)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import org.casalib.util.*;
import flash.ui.*;
public class Cursor extends SpriteSheetMovieClip {
private var stageRef:Stage;
private var p:Point;
private var pointerCursor:MovieClip;
private var handCursor:MovieClip;
public function Cursor(){
p = new Point();
stageRef = StageReference.getStage();
pointerCursor = new cursorMenu();
handCursor = new cursorHand();
handCursor.stop();
var _local1:BitmapData = new targetcursor(C.GAME_WIDTH, C.GAME_HEIGHT);
super(new Bitmap(_local1), C.SPRITE_SIZE, C.SPRITE_SIZE);
setupFrames();
Mouse.hide();
mouseEnabled = false;
mouseChildren = false;
x = stageRef.mouseX;
y = stageRef.mouseY;
stageRef.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler, false, 0, true);
stageRef.addEventListener(Event.ADDED, updateStack, false, 0, true);
stageRef.addEventListener(Event.ENTER_FRAME, mouseLoop, false, 0, true);
usePointerCursorMC();
}
protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, C.CURSOR_NORMAL));
frames.push(new FakeMovieClip(0, 0, C.CURSOR_AIMING));
frames.push(new FakeMovieClip(1, 0, C.CURSOR_TARGETED));
frames.push(new FakeMovieClip(2, 0, C.CURSOR_FIRE));
var _local1:int;
_local1 = 0;
while (_local1 < C.CURSOR_RELOADING_FRAME_COUNT) {
frames.push(new FakeMovieClip(_local1, 1, (C.CURSOR_RELOADING + String(_local1))));
_local1++;
};
_local1 = 0;
while (_local1 < C.CURSOR_RELOADED_FRAME_COUNT) {
frames.push(new FakeMovieClip((C.CURSOR_RELOADING_FRAME_COUNT + _local1), 1, (C.CURSOR_RELOADED + String(_local1))));
_local1++;
};
}
private function updateStack(_arg1:Event):void{
stageRef.addChild(this);
}
private function mouseLeaveHandler(_arg1:Event):void{
showNormalCursor();
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseReturnHandler, false, 0, true);
}
private function mouseReturnHandler(_arg1:Event):void{
showCustomCursor();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseReturnHandler);
}
public function showNormalCursor(_arg1:Event=null):void{
visible = false;
Mouse.show();
}
public function showCustomCursor(_arg1:Event=null):void{
visible = true;
Mouse.hide();
}
private function mouseLoop(_arg1:Event):void{
x = stageRef.mouseX;
y = stageRef.mouseY;
}
public function changeMouseCursor(_arg1:String):void{
removeAllCursors();
gotoAndStop(_arg1);
}
public function changeMouseCursorReloading(_arg1:int):void{
changeMouseCursor((C.CURSOR_RELOADING + String(_arg1)));
}
public function changeMouseCursorReloaded(_arg1:int):void{
changeMouseCursor((C.CURSOR_RELOADED + String(_arg1)));
}
public function useHandCursorMC():void{
removeAllCursors();
addChild(handCursor);
}
public function handCursorDown():void{
handCursor.gotoAndStop(11);
}
public function handCursorUp():void{
handCursor.gotoAndStop(1);
}
public function usePointerCursorMC():void{
removeAllCursors();
addChild(pointerCursor);
}
public function removeAllCursors():void{
clear();
if (contains(pointerCursor)){
removeChild(pointerCursor);
};
if (contains(handCursor)){
removeChild(handCursor);
};
}
}
}//package
Section 345
//cursorHand (cursorHand)
package {
import flash.display.*;
public dynamic class cursorHand extends MovieClip {
}
}//package
Section 346
//cursorMenu (cursorMenu)
package {
import flash.display.*;
public dynamic class cursorMenu extends MovieClip {
}
}//package
Section 347
//DayCount (DayCount)
package {
import flash.display.*;
public class DayCount extends MovieClip {
public var playername:MovieClip;
public var night:MovieClip;
private var stageRef:Stage;
public function DayCount(_arg1:Stage){
addFrameScript(0, frame1, 19, frame20);
x = 5;
y = 5;
}
public function updateNightValue():void{
if (S.trueLevel < 10){
night.night.text = ("0" + String(S.trueLevel));
} else {
night.night.text = String(S.trueLevel);
};
if (S.charSelected == C.ANT){
playername.gotoAndStop("Anthony");
} else {
playername.gotoAndStop("Player2");
};
}
function frame1(){
stop();
}
function frame20(){
stop();
}
}
}//package
Section 348
//Deadmeat_death (Deadmeat_death)
package {
import flash.display.*;
public dynamic class Deadmeat_death extends BitmapData {
public function Deadmeat_death(_arg1:int=900, _arg2:int=180){
super(_arg1, _arg2);
}
}
}//package
Section 349
//door (door)
package {
import flash.display.*;
public dynamic class door extends BitmapData {
public function door(_arg1:int=714, _arg2:int=120){
super(_arg1, _arg2);
}
}
}//package
Section 350
//EndlessReady (EndlessReady)
package {
import flash.display.*;
public dynamic class EndlessReady extends MovieClip {
public function EndlessReady(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 351
//enemy_death (enemy_death)
package {
import flash.media.*;
public dynamic class enemy_death extends Sound {
}
}//package
Section 352
//enemy_laugh (enemy_laugh)
package {
import flash.media.*;
public dynamic class enemy_laugh extends Sound {
}
}//package
Section 353
//enemy_roar (enemy_roar)
package {
import flash.media.*;
public dynamic class enemy_roar extends Sound {
}
}//package
Section 354
//enemy_run (enemy_run)
package {
import flash.media.*;
public dynamic class enemy_run extends Sound {
}
}//package
Section 355
//enemy_scream (enemy_scream)
package {
import flash.media.*;
public dynamic class enemy_scream extends Sound {
}
}//package
Section 356
//exitMC (exitMC)
package {
import flash.display.*;
public dynamic class exitMC extends MovieClip {
}
}//package
Section 357
//exitPH (exitPH)
package {
import flash.display.*;
public dynamic class exitPH extends MovieClip {
}
}//package
Section 358
//FakeMovieClip (FakeMovieClip)
package {
public class FakeMovieClip {
public var label:String;
public var tileX:int;
public var tileY:int;
public function FakeMovieClip(_arg1:int, _arg2:int, _arg3:String="default"){
this.tileX = _arg1;
this.tileY = _arg2;
this.label = _arg3;
}
}
}//package
Section 359
//FakeTimer (FakeTimer)
package {
public class FakeTimer {
private var _running:Boolean;// = false
private var _delay:int;// = 0
private var timeStart:int;// = 0
private var _repeatCount:int;// = 1
private var _currentCount:int;// = 0
public var followSTimer:Boolean;// = true
private static const NO_VALUE:int = 0;
public function FakeTimer(_arg1:int=0, _arg2:int=1){
if (_arg1 != FakeTimer.NO_VALUE){
_delay = _arg1;
};
this.repeatCount = _arg2;
}
public function start(_arg1:int=0):void{
if (_running){
trace("This timer is already running, use resetAndStart() instead!");
return;
};
resetAndStart(_arg1);
}
public function stop():void{
_running = false;
}
public function reset():void{
stop();
_currentCount = 0;
}
public function resetAndStart(_arg1:int=0):void{
if (_delay == FakeTimer.NO_VALUE){
trace("This timer was start without setting the duration");
return;
};
if (_arg1 == FakeTimer.NO_VALUE){
_arg1 = S.timer;
};
timeStart = _arg1;
_running = true;
}
public function getTrigger(_arg1:int=0):Boolean{
if (!running){
return (false);
};
if (_arg1 == FakeTimer.NO_VALUE){
_arg1 = S.timer;
};
if (_arg1 >= (timeStart + _delay)){
_currentCount++;
if ((((_currentCount >= _repeatCount)) && (!((_repeatCount == 0))))){
_running = false;
} else {
timeStart = _arg1;
};
return (true);
};
return (false);
}
public function get running():Boolean{
return (_running);
}
public function get currentCount():int{
return (_currentCount);
}
public function get repeatCount():int{
return (_repeatCount);
}
public function set repeatCount(_arg1:int):void{
_repeatCount = _arg1;
}
public function get duration():int{
return (delay);
}
public function set duration(_arg1:int):void{
delay = _arg1;
}
public function get delay():int{
return (_delay);
}
public function set delay(_arg1:int):void{
_delay = _arg1;
if (running){
resetAndStart(FakeTimer.NO_VALUE);
};
}
}
}//package
Section 360
//fatLady (fatLady)
package {
import flash.display.*;
public dynamic class fatLady extends MovieClip {
}
}//package
Section 361
//fatMan (fatMan)
package {
import flash.display.*;
public dynamic class fatMan extends MovieClip {
}
}//package
Section 362
//fighter (fighter)
package {
import flash.display.*;
public dynamic class fighter extends MovieClip {
}
}//package
Section 363
//freddy_collision_mc (freddy_collision_mc)
package {
import flash.display.*;
public dynamic class freddy_collision_mc extends MovieClip {
public function freddy_collision_mc(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 364
//freddyCollisionBox (freddyCollisionBox)
package {
import flash.display.*;
public dynamic class freddyCollisionBox extends MovieClip {
}
}//package
Section 365
//freddyPH (freddyPH)
package {
import flash.display.*;
public dynamic class freddyPH extends MovieClip {
}
}//package
Section 366
//FreddyPortrait (FreddyPortrait)
package {
import flash.display.*;
import flash.events.*;
public class FreddyPortrait extends MovieClip {
public var jonportrait:MovieClip;
public var portrait:MovieClip;
public var freddy:MovieClip;
private var stageRef:Stage;
public function FreddyPortrait(_arg1:Stage, _arg2:int, _arg3:int){
addFrameScript(0, frame1);
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
}
public function takeHit(_arg1:int):void{
dispatchEvent(new Event("takehit"));
}
function frame1(){
stop();
}
}
}//package
Section 367
//GameOver (GameOver)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import mochi.as3.*;
import flash.text.*;
public class GameOver extends MovieClip {
public var moneytxt:TextField;
public var moneyspenttxt:MovieClip;
public var btn_GGshop:MovieClip;
public var portrait:MovieClip;
public var btn_continue:MovieClip;
public var btn_quit:MovieClip;
private var rootRef;
private var stageRef:Stage;
public function GameOver(_arg1:Stage, _arg2){
addFrameScript(9, frame10);
this.stageRef = _arg1;
this.rootRef = _arg2;
btn_continue.gotoAndStop("idle");
btn_quit.gotoAndStop("idle");
}
public function removeGameOverButtons():void{
EC.remove("QUIT_BUTTON_CLICK");
EC.remove("CONTINUE_BUTTON_CLICK");
EC.remove("GAMERSHOP_CLICK");
EC.remove("GAMERSHOP_ROLLOVER");
EC.remove("GAMERSHOP_IDLE");
EC.remove(/GameOver/);
}
public function initGameOverButtons():void{
if (S.charSelected == C.ANT){
portrait.gotoAndStop("Player1");
} else {
portrait.gotoAndStop("Player2");
};
EC.add(btn_quit, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.showGameOverQuit();
removeGameOverButtons();
SoundManager.instance.playSound(Sounds.SHOP_BUY);
}, false, 0, true, "QUIT_BUTTON_CLICK");
EC.add(btn_quit, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_quit.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "QUIT_BUTTON_ROLLOVER");
EC.add(btn_quit, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_quit.gotoAndStop("idle");
}, false, 0, true, "QUIT_BUTTON_IDLE");
EC.add(btn_continue, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (S.money >= C.GAMEOVER_CONTINUE_MONEY){
removeGameOverButtons();
rootRef.showGameOverContinue();
SoundManager.instance.playSound(Sounds.SHOP_BUY);
};
}, false, 0, true, "CONTINUE_BUTTON_CLICK");
EC.add(btn_continue, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (S.money >= C.GAMEOVER_CONTINUE_MONEY){
btn_continue.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
} else {
btn_continue.gotoAndPlay("expensive");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
};
}, false, 0, true, "CONTINUE_BUTTON_ROLLOVER");
EC.add(btn_continue, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_continue.gotoAndStop("idle");
}, false, 0, true, "CONTINUE_BUTTON_IDLE");
btn_GGshop.gotoAndStop("idle");
if (!Web.mochiCoinDisabled){
EC.add(btn_GGshop, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
MochiUtils.showStore();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
}, false, 0, true, "GAMERSHOP_CLICK");
EC.add(btn_GGshop, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_GGshop.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "GAMERSHOP_ROLLOVER");
EC.add(btn_GGshop, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_GGshop.gotoAndStop("idle");
}, false, 0, true, "GAMERSHOP_IDLE");
};
}
function frame10(){
stop();
}
}
}//package
Section 368
//GameOverContinue (GameOverContinue)
package {
import flash.display.*;
import flash.text.*;
public dynamic class GameOverContinue extends MovieClip {
public var moneytxt:TextField;
public var portrait:MovieClip;
public function GameOverContinue(){
addFrameScript(34, frame35);
}
function frame35(){
stop();
}
}
}//package
Section 369
//GameOverQuit (GameOverQuit)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import flash.text.*;
public class GameOverQuit extends MovieClip {
public var scoretxt:TextField;
public var btn_highscore:MovieClip;
public var wavekills:MovieClip;
public var btn_skip:MovieClip;
public var inputName:TextField;
private var rootRef;
private var stageRef:Stage;
public function GameOverQuit(_arg1:Stage, _arg2){
addFrameScript(29, frame30);
this.stageRef = _arg1;
this.rootRef = _arg2;
visible = false;
btn_highscore.visible = false;
}
public function initGameOverQuit():void{
scoretxt.text = String(S.gameScore);
if (S.gameMode == C.NORMAL_MODE){
wavekills.visible = false;
} else {
wavekills.visible = true;
};
wavekills.wavetxt.text = S.trueLevel;
wavekills.killtxt.text = S.killsMadeForSurvival;
wavekills.partnertxt.text = S.partnerRescuedTimes;
wavekills.partnertxt.text = S.partnerRescuedTimes;
wavekills.finalwavescoretxt.text = (S.killsMade * S.trueLevel);
wavekills.accumscoretxt.text = (S.gameScore - (S.killsMade * S.trueLevel));
btn_skip.gotoAndStop("idle");
btn_highscore.gotoAndStop("idle");
EC.remove("QUIT_BUTTON_CLICK2");
EC.remove("QUIT_BUTTON_CLICK3");
EC.remove("SKIP_BUTTON_IDLE2");
EC.remove("SKIP_BUTTON_ROLLOVER2");
EC.remove("SKIP_BUTTON_CLICK2");
EC.remove("SKIP_BUTTON_IDLE3");
EC.remove("SKIP_BUTTON_ROLLOVER3");
EC.remove("SKIP_BUTTON_CLICK3");
EC.add(btn_skip, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_skip.gotoAndStop("idle");
}, false, 0, true, "SKIP_BUTTON_IDLE");
EC.add(btn_skip, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_skip.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SKIP_BUTTON_ROLLOVER");
EC.add(btn_skip, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
removeEventListeners();
rootRef.gameoverGoBackMenu();
}, false, 0, true, "SKIP_BUTTON_CLICK");
EC.add(stageRef, KeyboardEvent.KEY_UP, function (_arg1:KeyboardEvent){
if (_arg1.keyCode == KeyCode.ENTER){
removeEventListeners();
rootRef.gameoverGoBackMenu();
};
}, false, 0, true, "QUIT_BUTTON_CLICK");
EC.add(btn_highscore, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_highscore.gotoAndStop("idle");
}, false, 0, true, "SCORE_BUTTON_IDLE");
EC.add(btn_highscore, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_highscore.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SCORE_BUTTON_ROLLOVER");
EC.add(btn_highscore, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
showHighscore();
}, false, 0, true, "SCORE_BUTTON_CLICK");
}
public function initGameOverQuitForPause():void{
scoretxt.text = String(S.gameScore);
if (S.gameMode == C.NORMAL_MODE){
wavekills.visible = false;
} else {
wavekills.visible = true;
};
wavekills.wavetxt.text = S.trueLevel;
wavekills.killtxt.text = S.killsMadeForSurvival;
wavekills.partnertxt.text = S.partnerRescuedTimes;
wavekills.partnertxt.text = S.partnerRescuedTimes;
wavekills.finalwavescoretxt.text = (S.killsMade * S.trueLevel);
wavekills.accumscoretxt.text = (S.gameScore - (S.killsMade * S.trueLevel));
btn_skip.gotoAndStop("idle");
btn_highscore.gotoAndStop("idle");
EC.remove("QUIT_BUTTON_CLICK");
EC.remove("QUIT_BUTTON_CLICK3");
EC.remove("SKIP_BUTTON_IDLE");
EC.remove("SKIP_BUTTON_ROLLOVER");
EC.remove("SKIP_BUTTON_CLICK");
EC.remove("SKIP_BUTTON_IDLE3");
EC.remove("SKIP_BUTTON_ROLLOVER3");
EC.remove("SKIP_BUTTON_CLICK3");
EC.add(btn_skip, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_skip.gotoAndStop("idle");
}, false, 0, true, "SKIP_BUTTON_IDLE2");
EC.add(btn_skip, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_skip.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SKIP_BUTTON_ROLLOVER2");
EC.add(btn_skip, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
removeEventListeners();
rootRef.pauseGoBackMenu();
}, false, 0, true, "SKIP_BUTTON_CLICK2");
EC.add(stageRef, KeyboardEvent.KEY_UP, function (_arg1:KeyboardEvent){
if (_arg1.keyCode == KeyCode.ENTER){
removeEventListeners();
rootRef.pauseGoBackMenu();
};
}, false, 0, true, "QUIT_BUTTON_CLICK2");
EC.add(btn_highscore, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_highscore.gotoAndStop("idle");
}, false, 0, true, "SCORE_BUTTON_IDLE");
EC.add(btn_highscore, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_highscore.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SCORE_BUTTON_ROLLOVER");
EC.add(btn_highscore, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
showHighscore();
}, false, 0, true, "SCORE_BUTTON_CLICK");
}
public function initGameOverQuitForVictory():void{
scoretxt.text = String(S.gameScore);
if (S.gameMode == C.NORMAL_MODE){
wavekills.visible = false;
} else {
wavekills.visible = true;
};
wavekills.wavetxt.text = S.trueLevel;
wavekills.killtxt.text = S.killsMadeForSurvival;
wavekills.partnertxt.text = S.partnerRescuedTimes;
wavekills.partnertxt.text = S.partnerRescuedTimes;
wavekills.finalwavescoretxt.text = (S.killsMade * S.trueLevel);
wavekills.accumscoretxt.text = (S.gameScore - (S.killsMade * S.trueLevel));
btn_skip.gotoAndStop("idle");
btn_highscore.gotoAndStop("idle");
EC.remove("QUIT_BUTTON_CLICK");
EC.remove("QUIT_BUTTON_CLICK2");
EC.remove("SKIP_BUTTON_IDLE");
EC.remove("SKIP_BUTTON_ROLLOVER");
EC.remove("SKIP_BUTTON_CLICK");
EC.remove("SKIP_BUTTON_IDLE2");
EC.remove("SKIP_BUTTON_ROLLOVER2");
EC.remove("SKIP_BUTTON_CLICK2");
EC.add(btn_skip, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_skip.gotoAndStop("idle");
}, false, 0, true, "SKIP_BUTTON_IDLE3");
EC.add(btn_skip, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_skip.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SKIP_BUTTON_ROLLOVER3");
EC.add(btn_skip, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
removeEventListeners();
rootRef.goBackMenu();
}, false, 0, true, "SKIP_BUTTON_CLICK3");
EC.add(stageRef, KeyboardEvent.KEY_UP, function (_arg1:KeyboardEvent){
if (_arg1.keyCode == KeyCode.ENTER){
removeEventListeners();
rootRef.goBackMenu();
};
}, false, 0, true, "QUIT_BUTTON_CLICK3");
EC.add(btn_highscore, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_highscore.gotoAndStop("idle");
}, false, 0, true, "SCORE_BUTTON_IDLE");
EC.add(btn_highscore, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_highscore.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SCORE_BUTTON_ROLLOVER");
EC.add(btn_highscore, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
showHighscore();
}, false, 0, true, "SCORE_BUTTON_CLICK");
}
private function showHighscore():void{
if (S.gameMode == C.NORMAL_MODE){
MochiUtils.showMochiLeaderboard(MochiConst.LEADERBOARD_STORY);
} else {
if (S.gameMode == C.SURVIVAL_MODE){
MochiUtils.showMochiLeaderboard(MochiConst.LEADERBOARD_SURVIVAL);
};
};
ArmorGamesUtils.showScoreboard();
}
public function removeEventListeners():void{
EC.remove("QUIT_BUTTON_CLICK");
EC.remove("QUIT_BUTTON_CLICK2");
EC.remove("QUIT_BUTTON_CLICK3");
EC.remove("SKIP_BUTTON_IDLE");
EC.remove("SKIP_BUTTON_ROLLOVER");
EC.remove("SKIP_BUTTON_CLICK");
EC.remove("SKIP_BUTTON_IDLE2");
EC.remove("SKIP_BUTTON_ROLLOVER2");
EC.remove("SKIP_BUTTON_CLICK2");
EC.remove("SKIP_BUTTON_IDLE3");
EC.remove("SKIP_BUTTON_ROLLOVER3");
EC.remove("SKIP_BUTTON_CLICK3");
EC.remove("SCORE_BUTTON_IDLE");
EC.remove("SCORE_BUTTON_ROLLOVER");
EC.remove("SCORE_BUTTON_CLICK");
}
function frame30(){
stop();
}
}
}//package
Section 370
//gangster (gangster)
package {
import flash.display.*;
public dynamic class gangster extends MovieClip {
}
}//package
Section 371
//gIndicator (gIndicator)
package {
import flash.display.*;
public dynamic class gIndicator extends MovieClip {
public function gIndicator(){
addFrameScript(0, frame1, 61, frame62, 110, frame111);
}
function frame1(){
stop();
}
function frame62(){
gotoAndPlay("loop");
}
function frame111(){
stop();
}
}
}//package
Section 372
//GUI_achievementunlock1 (GUI_achievementunlock1)
package {
import flash.media.*;
public dynamic class GUI_achievementunlock1 extends Sound {
}
}//package
Section 373
//GUI_achievementunlock2 (GUI_achievementunlock2)
package {
import flash.media.*;
public dynamic class GUI_achievementunlock2 extends Sound {
}
}//package
Section 374
//GUI_achievementunlock3 (GUI_achievementunlock3)
package {
import flash.media.*;
public dynamic class GUI_achievementunlock3 extends Sound {
}
}//package
Section 375
//GUI_flash_ant (GUI_flash_ant)
package {
import flash.display.*;
public dynamic class GUI_flash_ant extends MovieClip {
public function GUI_flash_ant(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
}
}
}//package
Section 376
//GUI_flash_jon (GUI_flash_jon)
package {
import flash.display.*;
public dynamic class GUI_flash_jon extends MovieClip {
public function GUI_flash_jon(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
}
}
}//package
Section 377
//GUI_indicator (GUI_indicator)
package {
import flash.display.*;
public dynamic class GUI_indicator extends MovieClip {
public var indicator:MovieClip;
public function GUI_indicator(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 378
//GUIachieve (GUIachieve)
package {
import flash.display.*;
import flash.text.*;
public dynamic class GUIachieve extends MovieClip {
public var icon:MovieClip;
public var description_txt:MovieClip;
public var achievement_txt:TextField;
public function GUIachieve(){
addFrameScript(0, frame1, 14, frame15, 17, frame18, 20, frame21, 23, frame24, 26, frame27, 28, frame29, 29, frame30, 32, frame33, 48, frame49, 125, frame126);
}
function frame1(){
stop();
achievement_txt.visible = false;
icon.visible = false;
description_txt.visible = true;
}
function frame15(){
description_txt.visible = false;
}
function frame18(){
description_txt.visible = true;
}
function frame21(){
description_txt.visible = false;
}
function frame24(){
description_txt.visible = true;
}
function frame27(){
description_txt.visible = false;
}
function frame29(){
}
function frame30(){
description_txt.visible = true;
}
function frame33(){
description_txt.visible = false;
}
function frame49(){
icon.visible = true;
}
function frame126(){
achievement_txt.visible = false;
icon.visible = false;
}
}
}//package
Section 379
//GUIbullet (GUIbullet)
package {
import flash.display.*;
public dynamic class GUIbullet extends MovieClip {
}
}//package
Section 380
//GUIcombatant_blackFat (GUIcombatant_blackFat)
package {
import flash.display.*;
public dynamic class GUIcombatant_blackFat extends MovieClip {
}
}//package
Section 381
//GUIcombatant_blackFat_fightless (GUIcombatant_blackFat_fightless)
package {
import flash.display.*;
public dynamic class GUIcombatant_blackFat_fightless extends MovieClip {
}
}//package
Section 382
//GUIcombatant_blackMan (GUIcombatant_blackMan)
package {
import flash.display.*;
public dynamic class GUIcombatant_blackMan extends MovieClip {
}
}//package
Section 383
//GUIcombatant_blackMan_fightless (GUIcombatant_blackMan_fightless)
package {
import flash.display.*;
public dynamic class GUIcombatant_blackMan_fightless extends MovieClip {
}
}//package
Section 384
//GUIcombatant_businessMan (GUIcombatant_businessMan)
package {
import flash.display.*;
public dynamic class GUIcombatant_businessMan extends MovieClip {
}
}//package
Section 385
//GUIcombatant_businessMan_fightless (GUIcombatant_businessMan_fightless)
package {
import flash.display.*;
public dynamic class GUIcombatant_businessMan_fightless extends MovieClip {
}
}//package
Section 386
//GUIcombatant_fatMan (GUIcombatant_fatMan)
package {
import flash.display.*;
public dynamic class GUIcombatant_fatMan extends MovieClip {
}
}//package
Section 387
//GUIcombatant_fatMan_fightless (GUIcombatant_fatMan_fightless)
package {
import flash.display.*;
public dynamic class GUIcombatant_fatMan_fightless extends MovieClip {
}
}//package
Section 388
//GUIcombatant_hardboil (GUIcombatant_hardboil)
package {
import flash.display.*;
public dynamic class GUIcombatant_hardboil extends MovieClip {
}
}//package
Section 389
//GUIcombatant_Hunk (GUIcombatant_Hunk)
package {
import flash.display.*;
public dynamic class GUIcombatant_Hunk extends MovieClip {
}
}//package
Section 390
//GUIcombatant_Hunk_fightless (GUIcombatant_Hunk_fightless)
package {
import flash.display.*;
public dynamic class GUIcombatant_Hunk_fightless extends MovieClip {
}
}//package
Section 391
//GUIcombatant_jable (GUIcombatant_jable)
package {
import flash.display.*;
public dynamic class GUIcombatant_jable extends MovieClip {
}
}//package
Section 392
//GUIcombatant_pacMan (GUIcombatant_pacMan)
package {
import flash.display.*;
public dynamic class GUIcombatant_pacMan extends MovieClip {
}
}//package
Section 393
//GUIcombatant_pacMan_fightless (GUIcombatant_pacMan_fightless)
package {
import flash.display.*;
public dynamic class GUIcombatant_pacMan_fightless extends MovieClip {
}
}//package
Section 394
//GUIsur_adam (GUIsur_adam)
package {
import flash.display.*;
public dynamic class GUIsur_adam extends MovieClip {
}
}//package
Section 395
//GUIsur_fatLady (GUIsur_fatLady)
package {
import flash.display.*;
public dynamic class GUIsur_fatLady extends MovieClip {
}
}//package
Section 396
//GUIsur_fatMan (GUIsur_fatMan)
package {
import flash.display.*;
public dynamic class GUIsur_fatMan extends MovieClip {
}
}//package
Section 397
//GUIsur_nunBlack (GUIsur_nunBlack)
package {
import flash.display.*;
public dynamic class GUIsur_nunBlack extends MovieClip {
}
}//package
Section 398
//GUIsur_nunWhite (GUIsur_nunWhite)
package {
import flash.display.*;
public dynamic class GUIsur_nunWhite extends MovieClip {
}
}//package
Section 399
//GUIsur_Olady (GUIsur_Olady)
package {
import flash.display.*;
public dynamic class GUIsur_Olady extends MovieClip {
}
}//package
Section 400
//GUIsur_slimGirl (GUIsur_slimGirl)
package {
import flash.display.*;
public dynamic class GUIsur_slimGirl extends MovieClip {
}
}//package
Section 401
//GUIsur_teddyGirl (GUIsur_teddyGirl)
package {
import flash.display.*;
public dynamic class GUIsur_teddyGirl extends MovieClip {
}
}//package
Section 402
//GUIsurvivor (GUIsurvivor)
package {
import flash.display.*;
public dynamic class GUIsurvivor extends MovieClip {
}
}//package
Section 403
//GUIvip_Ant (GUIvip_Ant)
package {
import flash.display.*;
public dynamic class GUIvip_Ant extends MovieClip {
}
}//package
Section 404
//GUIvip_Dtoid (GUIvip_Dtoid)
package {
import flash.display.*;
public dynamic class GUIvip_Dtoid extends MovieClip {
}
}//package
Section 405
//GUIvip_gravityBone (GUIvip_gravityBone)
package {
import flash.display.*;
public dynamic class GUIvip_gravityBone extends MovieClip {
}
}//package
Section 406
//GUIvip_johnLocke (GUIvip_johnLocke)
package {
import flash.display.*;
public dynamic class GUIvip_johnLocke extends MovieClip {
}
}//package
Section 407
//GUIvip_Jon (GUIvip_Jon)
package {
import flash.display.*;
public dynamic class GUIvip_Jon extends MovieClip {
}
}//package
Section 408
//GUIvip_Mario (GUIvip_Mario)
package {
import flash.display.*;
public dynamic class GUIvip_Mario extends MovieClip {
}
}//package
Section 409
//GUIvip_Metroid (GUIvip_Metroid)
package {
import flash.display.*;
public dynamic class GUIvip_Metroid extends MovieClip {
}
}//package
Section 410
//GUIvip_MJ (GUIvip_MJ)
package {
import flash.display.*;
public dynamic class GUIvip_MJ extends MovieClip {
}
}//package
Section 411
//GUIvip_Mochi (GUIvip_Mochi)
package {
import flash.display.*;
public dynamic class GUIvip_Mochi extends MovieClip {
}
}//package
Section 412
//GUIvip_Ness (GUIvip_Ness)
package {
import flash.display.*;
public dynamic class GUIvip_Ness extends MovieClip {
}
}//package
Section 413
//GUIvip_otaCon (GUIvip_otaCon)
package {
import flash.display.*;
public dynamic class GUIvip_otaCon extends MovieClip {
}
}//package
Section 414
//GUIvip_Peach (GUIvip_Peach)
package {
import flash.display.*;
public dynamic class GUIvip_Peach extends MovieClip {
}
}//package
Section 415
//GUIvip_Snake (GUIvip_Snake)
package {
import flash.display.*;
public dynamic class GUIvip_Snake extends MovieClip {
}
}//package
Section 416
//gun_laser (gun_laser)
package {
import flash.media.*;
public dynamic class gun_laser extends Sound {
}
}//package
Section 417
//gun_mgun (gun_mgun)
package {
import flash.media.*;
public dynamic class gun_mgun extends Sound {
}
}//package
Section 418
//gun_reload (gun_reload)
package {
import flash.media.*;
public dynamic class gun_reload extends Sound {
}
}//package
Section 419
//gun_rocket (gun_rocket)
package {
import flash.media.*;
public dynamic class gun_rocket extends Sound {
}
}//package
Section 420
//gun_sgun (gun_sgun)
package {
import flash.media.*;
public dynamic class gun_sgun extends Sound {
}
}//package
Section 421
//gun_snipe (gun_snipe)
package {
import flash.media.*;
public dynamic class gun_snipe extends Sound {
}
}//package
Section 422
//highlightbutton (highlightbutton)
package {
import flash.media.*;
public dynamic class highlightbutton extends Sound {
}
}//package
Section 423
//Highscores (Highscores)
package {
import flash.display.*;
public dynamic class Highscores extends MovieClip {
public var btn_back:SimpleButton;
}
}//package
Section 424
//hitBox (hitBox)
package {
import flash.display.*;
public dynamic class hitBox extends MovieClip {
}
}//package
Section 425
//Howtoplay (Howtoplay)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
public class Howtoplay extends MovieClip {
public var book:MovieClip;
private var stageRef:Stage;
private var rootRef;
private var pageNo:int;// = 0
private var tempPage:int;
public function Howtoplay(_arg1:Stage, _arg2){
addFrameScript(7, frame8, 13, frame14);
this.stageRef = _arg1;
this.rootRef = _arg2;
visible = false;
x = 40;
y = 20;
}
private function addEventListeners():void{
EC.add(book.btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
gotoAndPlay("disappear");
rootRef.showPauseButtons();
removeActionListeners();
rootRef.setMenuButtons2();
rootRef.hideMenuCover();
SoundManager.instance.playSound(Sounds.BACKBUTTON);
}, false, 0, true, "BACK_BUTTON_CLICK");
EC.add(book.btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
book.btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
EC.add(book.btn_prev, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
book.btn_back.gotoAndStop("idle");
}, false, 0, true, "BACK_BUTTON_IDLE");
EC.add(book.btn_continue, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
gotoAndPlay("disappear");
rootRef.submenuStartGame();
if (S.nightCount >= 6){
S.backInFuture = true;
};
removeActionListeners();
SoundManager.instance.playSound(Sounds.YESBUTTON);
}, false, 0, true, "CONTINUE_BUTTON_CLICK");
EC.add(book.btn_continue, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
book.btn_continue.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "CONTINUE_BUTTON_ROLLOVER");
EC.add(book.btn_continue, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
book.btn_continue.gotoAndStop("idle");
}, false, 0, true, "CONTINUE_BUTTON_IDLE");
EC.add(book.btn_next, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (pageNo < 3){
pageNo = (pageNo + 1);
changePage(pageNo);
};
}, false, 0, true, "BOOK_NEXT_BUTTON_IDLE");
EC.add(book.btn_prev, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (pageNo > 0){
pageNo = (pageNo - 1);
changePage(pageNo);
};
}, false, 0, true, "BOOK_BACK_BUTTON_IDLE");
}
private function removeActionListeners():void{
EC.remove("BACK_BUTTON_CLICK");
EC.remove("BACK_BUTTON_ROLLOVER");
EC.remove("BACK_BUTTON_IDLE");
EC.remove("CONTINUE_BUTTON_CLICK");
EC.remove("CONTINUE_BUTTON_ROLLOVER");
EC.remove("CONTINUE_BUTTON_IDLE");
EC.remove("BOOK_NEXT_BUTTON_IDLE");
EC.remove("BOOK_BACK_BUTTON_IDLE");
}
public function changePage(_arg1:int):void{
book.page1.visible = false;
book.page2.visible = false;
book.page3.visible = false;
book.page4.visible = false;
switch (_arg1){
case 0:
book.btn_prev.visible = false;
book.btn_next.visible = true;
book.page1.visible = true;
break;
case 1:
book.btn_next.visible = true;
book.btn_prev.visible = true;
book.page2.visible = true;
break;
case 2:
book.btn_next.visible = true;
book.btn_prev.visible = true;
book.page3.visible = true;
break;
case 3:
book.btn_next.visible = false;
book.btn_prev.visible = true;
book.page4.visible = true;
break;
};
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
}
public function reinitTutorial():void{
addEventListeners();
book.btn_back.gotoAndStop("idle");
book.btn_continue.gotoAndStop("idle");
book.page1.visible = true;
book.page2.visible = false;
book.page3.visible = false;
book.page4.visible = false;
book.btn_prev.visible = false;
book.btn_next.visible = true;
pageNo = 0;
}
function frame8(){
stop();
}
function frame14(){
visible = false;
}
}
}//package
Section 426
//hunk (hunk)
package {
import flash.display.*;
public dynamic class hunk extends MovieClip {
}
}//package
Section 427
//IncompleteDay (IncompleteDay)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
public class IncompleteDay extends MovieClip {
public var optionTwo:MovieClip;
public var card:MovieClip;
public var optionOne:MovieClip;
public var card1:MovieClip;
public var card2:MovieClip;
public var card3:MovieClip;
public var lock:MovieClip;
public var btn_progress:MovieClip;
private var stageRef:Stage;
private var rootRef;
public function IncompleteDay(){
addFrameScript(0, frame1, 5, frame6);
x = 0;
y = 0;
}
public function init(_arg1:Stage, _arg2):void{
this.stageRef = _arg1;
this.rootRef = _arg2;
}
public function setButtonText():void{
if ((((S.trueLevel >= 1)) && ((S.trueLevel <= 10)))){
optionOne.idle.day.text = "01";
optionOne.hover.day.text = "01";
optionTwo.idle.day.text = "06";
optionTwo.hover.day.text = "06";
if (S.PAGE3_ACHIEVEMENT_1){
card1.gotoAndStop("angry");
} else {
card1.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_2){
card2.gotoAndStop("deadmeat");
} else {
card2.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_3){
card3.gotoAndStop("maxzombie1");
} else {
card3.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_1){
card.gotoAndStop("boss1");
lock.visible = false;
} else {
card.gotoAndStop("locked");
};
} else {
if ((((S.trueLevel >= 11)) && ((S.trueLevel <= 20)))){
optionOne.idle.day.text = "11";
optionOne.hover.day.text = "11";
optionTwo.idle.day.text = "16";
optionTwo.hover.day.text = "16";
if (S.PAGE3_ACHIEVEMENT_4){
card1.gotoAndStop("trap");
} else {
card1.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_5){
card2.gotoAndStop("alien");
} else {
card2.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_6){
card3.gotoAndStop("maxattack");
} else {
card3.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_2){
card.gotoAndStop("boss2");
lock.visible = false;
} else {
card.gotoAndStop("locked");
};
} else {
if ((((S.trueLevel >= 21)) && ((S.trueLevel <= 30)))){
optionOne.idle.day.text = "21";
optionOne.hover.day.text = "21";
optionTwo.idle.day.text = "26";
optionTwo.hover.day.text = "26";
if (S.PAGE3_ACHIEVEMENT_7){
card1.gotoAndStop("obese");
} else {
card1.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_8){
card2.gotoAndStop("chinese");
} else {
card2.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_9){
card3.gotoAndStop("maxzombie2");
} else {
card3.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_3){
card.gotoAndStop("boss3");
lock.visible = false;
} else {
card.gotoAndStop("locked");
};
};
};
};
}
public function setMonsterCardButtons():void{
btn_progress.gotoAndStop("idle");
optionOne.gotoAndStop("idle");
optionTwo.gotoAndStop("idle");
setButtonText();
EC.add(btn_progress, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.showProgress();
rootRef.changePageToThree();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
}, false, 0, true, "PROGRESS_BUTTON_CLICK");
EC.add(btn_progress, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_progress.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "PROGRESS_BUTTON_ROLLOVER");
EC.add(btn_progress, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_progress.gotoAndStop("idle");
}, false, 0, true, "PROGRESS_BUTTON_IDLE");
EC.add(optionOne, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
removeButtons();
dispatchEvent(new Event("closed"));
S.groundhogDayStuck = (S.groundhogDayStuck + C.GROUNDHOG_CURSE_LOOP);
}, false, 0, true, "OPTIONONE_BUTTON_CLICK");
EC.add(optionOne, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
optionOne.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "OPTIONONE_BUTTON_ROLLOVER");
EC.add(optionOne, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
optionOne.gotoAndStop("idle");
}, false, 0, true, "OPTIONONE_BUTTON_IDLE");
EC.add(optionTwo, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
removeButtons();
dispatchEvent(new Event("closed"));
}, false, 0, true, "OPTIONTWO_BUTTON_CLICK");
EC.add(optionTwo, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
optionTwo.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "OPTIONTWO_BUTTON_ROLLOVER");
EC.add(optionTwo, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
optionTwo.gotoAndStop("idle");
}, false, 0, true, "OPTIONTWO_BUTTON_IDLE");
}
public function removeButtons():void{
EC.remove("PROGRESS_BUTTON_CLICK");
EC.remove("PROGRESS_BUTTON_ROLLOVER");
EC.remove("PROGRESS_BUTTON_IDLE");
EC.remove("OPTIONONE_BUTTON_CLICK");
EC.remove("OPTIONONE_BUTTON_ROLLOVER");
EC.remove("OPTIONONE_BUTTON_IDLE");
EC.remove("OPTIONTWO_BUTTON_CLICK");
EC.remove("OPTIONTWO_BUTTON_ROLLOVER");
EC.remove("OPTIONTWO_BUTTON_IDLE");
}
function frame1(){
stop();
}
function frame6(){
stop();
}
}
}//package
Section 428
//indestructible10PH (indestructible10PH)
package {
import flash.display.*;
public dynamic class indestructible10PH extends MovieClip {
}
}//package
Section 429
//indestructible11PH (indestructible11PH)
package {
import flash.display.*;
public dynamic class indestructible11PH extends MovieClip {
}
}//package
Section 430
//indestructible12PH (indestructible12PH)
package {
import flash.display.*;
public dynamic class indestructible12PH extends MovieClip {
}
}//package
Section 431
//indestructible13PH (indestructible13PH)
package {
import flash.display.*;
public dynamic class indestructible13PH extends MovieClip {
}
}//package
Section 432
//indestructible14PH (indestructible14PH)
package {
import flash.display.*;
public dynamic class indestructible14PH extends MovieClip {
}
}//package
Section 433
//indestructible15PH (indestructible15PH)
package {
import flash.display.*;
public dynamic class indestructible15PH extends MovieClip {
}
}//package
Section 434
//indestructible16PH (indestructible16PH)
package {
import flash.display.*;
public dynamic class indestructible16PH extends MovieClip {
}
}//package
Section 435
//indestructible17PH (indestructible17PH)
package {
import flash.display.*;
public dynamic class indestructible17PH extends MovieClip {
}
}//package
Section 436
//indestructible18PH (indestructible18PH)
package {
import flash.display.*;
public dynamic class indestructible18PH extends MovieClip {
}
}//package
Section 437
//indestructible19PH (indestructible19PH)
package {
import flash.display.*;
public dynamic class indestructible19PH extends MovieClip {
}
}//package
Section 438
//indestructible1PH (indestructible1PH)
package {
import flash.display.*;
public dynamic class indestructible1PH extends MovieClip {
}
}//package
Section 439
//indestructible20PH (indestructible20PH)
package {
import flash.display.*;
public dynamic class indestructible20PH extends MovieClip {
}
}//package
Section 440
//indestructible21PH (indestructible21PH)
package {
import flash.display.*;
public dynamic class indestructible21PH extends MovieClip {
}
}//package
Section 441
//indestructible22PH (indestructible22PH)
package {
import flash.display.*;
public dynamic class indestructible22PH extends MovieClip {
}
}//package
Section 442
//indestructible23PH (indestructible23PH)
package {
import flash.display.*;
public dynamic class indestructible23PH extends MovieClip {
}
}//package
Section 443
//indestructible2PH (indestructible2PH)
package {
import flash.display.*;
public dynamic class indestructible2PH extends MovieClip {
}
}//package
Section 444
//indestructible3PH (indestructible3PH)
package {
import flash.display.*;
public dynamic class indestructible3PH extends MovieClip {
}
}//package
Section 445
//indestructible4PH (indestructible4PH)
package {
import flash.display.*;
public dynamic class indestructible4PH extends MovieClip {
}
}//package
Section 446
//indestructible5PH (indestructible5PH)
package {
import flash.display.*;
public dynamic class indestructible5PH extends MovieClip {
}
}//package
Section 447
//indestructible6PH (indestructible6PH)
package {
import flash.display.*;
public dynamic class indestructible6PH extends MovieClip {
}
}//package
Section 448
//indestructible7PH (indestructible7PH)
package {
import flash.display.*;
public dynamic class indestructible7PH extends MovieClip {
}
}//package
Section 449
//indestructible8PH (indestructible8PH)
package {
import flash.display.*;
public dynamic class indestructible8PH extends MovieClip {
}
}//package
Section 450
//indestructible9PH (indestructible9PH)
package {
import flash.display.*;
public dynamic class indestructible9PH extends MovieClip {
}
}//package
Section 451
//jasonPH (jasonPH)
package {
import flash.display.*;
public dynamic class jasonPH extends MovieClip {
}
}//package
Section 452
//jon_agun (jon_agun)
package {
import flash.display.*;
public dynamic class jon_agun extends BitmapData {
public function jon_agun(_arg1:int=380, _arg2:int=380){
super(_arg1, _arg2);
}
}
}//package
Section 453
//jon_dash1 (jon_dash1)
package {
import flash.display.*;
public dynamic class jon_dash1 extends BitmapData {
public function jon_dash1(_arg1:int=544, _arg2:int=204){
super(_arg1, _arg2);
}
}
}//package
Section 454
//jon_dash2 (jon_dash2)
package {
import flash.display.*;
public dynamic class jon_dash2 extends BitmapData {
public function jon_dash2(_arg1:int=884, _arg2:int=204){
super(_arg1, _arg2);
}
}
}//package
Section 455
//jon_dash3 (jon_dash3)
package {
import flash.display.*;
public dynamic class jon_dash3 extends BitmapData {
public function jon_dash3(_arg1:int=816, _arg2:int=204){
super(_arg1, _arg2);
}
}
}//package
Section 456
//jon_death (jon_death)
package {
import flash.display.*;
public dynamic class jon_death extends BitmapData {
public function jon_death(_arg1:int=192, _arg2:int=64){
super(_arg1, _arg2);
}
}
}//package
Section 457
//jon_mgun (jon_mgun)
package {
import flash.display.*;
public dynamic class jon_mgun extends BitmapData {
public function jon_mgun(_arg1:int=532, _arg2:int=380){
super(_arg1, _arg2);
}
}
}//package
Section 458
//jon_sgun (jon_sgun)
package {
import flash.display.*;
public dynamic class jon_sgun extends BitmapData {
public function jon_sgun(_arg1:int=380, _arg2:int=380){
super(_arg1, _arg2);
}
}
}//package
Section 459
//jonSurvivor (jonSurvivor)
package {
import flash.display.*;
import players.*;
public class jonSurvivor extends Survivor {
public function jonSurvivor(_arg1:Sprite, _arg2:Sprite, _arg3:Sprite, _arg4:Player, _arg5, _arg6:Number, _arg7:Number, _arg8:Number){
vipSurvivor = true;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
override protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
lookIdleFrame = 6;
}
override public function set direction(_arg1:int):void{
if (_direction != _arg1){
_direction = _arg1;
frameNumber = 0;
if (!otaCon){
if ((((((_direction == C.RIGHT)) || ((_direction == C.UP_RIGHT)))) || ((_direction == C.DOWN_RIGHT)))){
scaleX = -1;
} else {
scaleX = 1;
};
} else {
scaleX = 1;
};
};
}
}
}//package
Section 460
//lamp1PH (lamp1PH)
package {
import flash.display.*;
public dynamic class lamp1PH extends MovieClip {
}
}//package
Section 461
//lamp2PH (lamp2PH)
package {
import flash.display.*;
public dynamic class lamp2PH extends MovieClip {
}
}//package
Section 462
//lamp3PH (lamp3PH)
package {
import flash.display.*;
public dynamic class lamp3PH extends MovieClip {
}
}//package
Section 463
//lamp4PH (lamp4PH)
package {
import flash.display.*;
public dynamic class lamp4PH extends MovieClip {
}
}//package
Section 464
//level10End (level10End)
package {
import flash.display.*;
public dynamic class level10End extends MovieClip {
public var health20:search4PH;
public var mgun_2:search10PH;
public var mag3_2:search5PH;
public var health20_1:search11PH;
}
}//package
Section 465
//level10Start (level10Start)
package {
import flash.display.*;
public dynamic class level10Start extends MovieClip {
public var mag3_9:search10PH;
public var mgun:search11PH;
public var health20:search4PH;
public var mgun_2:search4PH;
public var mag3_2:search5PH;
public var health50_3:search10PH;
}
}//package
Section 466
//level11End (level11End)
package {
import flash.display.*;
public dynamic class level11End extends MovieClip {
public var money500:search8PH;
}
}//package
Section 467
//level11Start (level11Start)
package {
import flash.display.*;
public dynamic class level11Start extends MovieClip {
public var shotgun:search11PH;
public var money500:search10PH;
public var health50_a:search7PH;
}
}//package
Section 468
//level12End (level12End)
package {
import flash.display.*;
public dynamic class level12End extends MovieClip {
}
}//package
Section 469
//level12Start (level12Start)
package {
import flash.display.*;
public dynamic class level12Start extends MovieClip {
public var health20_:search14PH;
public var mgun_1:search14PH;
}
}//package
Section 470
//level13End (level13End)
package {
import flash.display.*;
public dynamic class level13End extends MovieClip {
public var armorpiercing_1:search11PH;
public var mag3_1:search10PH;
public var health20_1:search13PH;
}
}//package
Section 471
//level13Start (level13Start)
package {
import flash.display.*;
public dynamic class level13Start extends MovieClip {
public var money500:search3PH;
public var armorpiercing_1:search8PH;
public var mag3_1:search11PH;
}
}//package
Section 472
//level14End (level14End)
package {
import flash.display.*;
public dynamic class level14End extends MovieClip {
public var mag3:search12PH;
public var health50:search13PH;
public var mgun_1:search12PH;
public var money1000:search14PH;
}
}//package
Section 473
//level14Start (level14Start)
package {
import flash.display.*;
public dynamic class level14Start extends MovieClip {
public var shotgun_1:search12PH;
public var money1000:search9PH;
public var mag1:search6PH;
}
}//package
Section 474
//level15End (level15End)
package {
import flash.display.*;
public dynamic class level15End extends MovieClip {
}
}//package
Section 475
//level15Start (level15Start)
package {
import flash.display.*;
public dynamic class level15Start extends MovieClip {
public var health50:search13PH;
public var money1000_b:search15PH;
public var health20_a:search14PH;
public var shotgun_d:search2PH;
public var mag1_1:search5PH;
public var armorpiercing_2:search12PH;
public var shotgun_b:search9PH;
public var armorpiercing_1:search6PH;
public var money500_1:search3PH;
public var mag3_a:search11PH;
}
}//package
Section 476
//level16End (level16End)
package {
import flash.display.*;
public dynamic class level16End extends MovieClip {
public var mag3:search9PH;
public var armorpiercing:search12PH;
}
}//package
Section 477
//level16Start (level16Start)
package {
import flash.display.*;
public dynamic class level16Start extends MovieClip {
public var health20:search14PH;
public var money500:search10PH;
}
}//package
Section 478
//level17End (level17End)
package {
import flash.display.*;
public dynamic class level17End extends MovieClip {
public var health20:search9PH;
public var money500:search1PH;
}
}//package
Section 479
//level17Start (level17Start)
package {
import flash.display.*;
public dynamic class level17Start extends MovieClip {
public var mgun1_1:search12PH;
public var money500:search9PH;
}
}//package
Section 480
//level18End (level18End)
package {
import flash.display.*;
public dynamic class level18End extends MovieClip {
public var mag1_1:search2PH;
public var mgun_1:search3PH;
public var money500_1:search6PH;
public var mag3_1:search13PH;
}
}//package
Section 481
//level18Start (level18Start)
package {
import flash.display.*;
public dynamic class level18Start extends MovieClip {
public var health20:search10PH;
public var mgun_1:search14PH;
public var money500_1:search14PH;
}
}//package
Section 482
//level19End (level19End)
package {
import flash.display.*;
public dynamic class level19End extends MovieClip {
public var shotgun_1:search11PH;
public var mag3_1:search10PH;
public var armorpiercing_1:search13PH;
public var mag1:search9PH;
}
}//package
Section 483
//level19Start (level19Start)
package {
import flash.display.*;
public dynamic class level19Start extends MovieClip {
}
}//package
Section 484
//level1End (level1End)
package {
import flash.display.*;
public dynamic class level1End extends MovieClip {
public var health20:search10PH;
public var mgun_1:search9PH;
}
}//package
Section 485
//level1Start (level1Start)
package {
import flash.display.*;
public dynamic class level1Start extends MovieClip {
public var money500_2:search4PH;
public var money500:search10PH;
}
}//package
Section 486
//level20End (level20End)
package {
import flash.display.*;
public dynamic class level20End extends MovieClip {
public var health20:search11PH;
public var mag1_1:search10PH;
public var mag1_2:search14PH;
public var armorpiercing_1:search14PH;
public var money1000:search15PH;
}
}//package
Section 487
//level20Start (level20Start)
package {
import flash.display.*;
public dynamic class level20Start extends MovieClip {
public var mag3:search14PH;
public var shotgun:search11PH;
public var mag1_z:search14PH;
public var money500:search10PH;
public var mgun_1:search14PH;
public var health50_a:search7PH;
}
}//package
Section 488
//level21End (level21End)
package {
import flash.display.*;
public dynamic class level21End extends MovieClip {
public var money1000:search9PH;
public var mag1:search2PH;
}
}//package
Section 489
//level21Start (level21Start)
package {
import flash.display.*;
public dynamic class level21Start extends MovieClip {
public var health50:search6PH;
public var money500_b:search4PH;
public var mag1:search6PH;
}
}//package
Section 490
//level22End (level22End)
package {
import flash.display.*;
public dynamic class level22End extends MovieClip {
public var mag3:search7PH;
public var shotgun_a:search11PH;
}
}//package
Section 491
//level22Start (level22Start)
package {
import flash.display.*;
public dynamic class level22Start extends MovieClip {
}
}//package
Section 492
//level23End (level23End)
package {
import flash.display.*;
public dynamic class level23End extends MovieClip {
public var health20:search10PH;
public var mgun_1:search6PH;
public var mag1:search9PH;
}
}//package
Section 493
//level23Start (level23Start)
package {
import flash.display.*;
public dynamic class level23Start extends MovieClip {
public var health20:search2PH;
public var money500_b:search6PH;
}
}//package
Section 494
//level24End (level24End)
package {
import flash.display.*;
public dynamic class level24End extends MovieClip {
public var mgun_f:search4PH;
public var mag3_f:search3PH;
public var health20:search15PH;
}
}//package
Section 495
//level24Start (level24Start)
package {
import flash.display.*;
public dynamic class level24Start extends MovieClip {
public var mgun:search4PH;
public var s2:combatJable;
}
}//package
Section 496
//level25End (level25End)
package {
import flash.display.*;
public dynamic class level25End extends MovieClip {
}
}//package
Section 497
//level25Start (level25Start)
package {
import flash.display.*;
public dynamic class level25Start extends MovieClip {
public var shotgun:search9PH;
public var mgun:search3PH;
public var health20:search5PH;
public var money1000:search15PH;
public var mgun_2:search11PH;
public var mag3_1:search10PH;
public var health50_2:search9PH;
public var mag1_4:search10PH;
public var money500_c:search5PH;
public var mag1:search8PH;
}
}//package
Section 498
//level26End (level26End)
package {
import flash.display.*;
public dynamic class level26End extends MovieClip {
}
}//package
Section 499
//level26Start (level26Start)
package {
import flash.display.*;
public dynamic class level26Start extends MovieClip {
public var health20_a:search2PH;
public var health20:search11PH;
}
}//package
Section 500
//level27End (level27End)
package {
import flash.display.*;
public dynamic class level27End extends MovieClip {
public var mag3:search11PH;
public var shotgun:search4PH;
public var health20:search8PH;
public var money500_b:search7PH;
}
}//package
Section 501
//level27Start (level27Start)
package {
import flash.display.*;
public dynamic class level27Start extends MovieClip {
public var armorpiercing:search3PH;
public var money500_a:search4PH;
}
}//package
Section 502
//level28End (level28End)
package {
import flash.display.*;
public dynamic class level28End extends MovieClip {
public var shotgun:search9PH;
public var health50:search5PH;
public var health20:search4PH;
public var armorpiercing:search5PH;
}
}//package
Section 503
//level28Start (level28Start)
package {
import flash.display.*;
public dynamic class level28Start extends MovieClip {
public var shotgun:search4PH;
public var money500_2:searchCarPH;
public var money500_a:search3PH;
}
}//package
Section 504
//level29End (level29End)
package {
import flash.display.*;
public dynamic class level29End extends MovieClip {
public var mgun_f:search4PH;
public var mag3_f:search3PH;
public var health50:search15PH;
public var shotgun_1:search6PH;
public var mag3_a:indestructible13PH;
public var mag1_d:search3PH;
}
}//package
Section 505
//level29Start (level29Start)
package {
import flash.display.*;
public dynamic class level29Start extends MovieClip {
public var mag3_9:search10PH;
public var health20:search4PH;
public var mag3_2:search5PH;
public var health50_3:search10PH;
}
}//package
Section 506
//level2End (level2End)
package {
import flash.display.*;
public dynamic class level2End extends MovieClip {
public var money500:search15PH;
public var money1000:search9PH;
public var mag1:search2PH;
}
}//package
Section 507
//level2Start (level2Start)
package {
import flash.display.*;
public dynamic class level2Start extends MovieClip {
public var shotgun:search4PH;
public var money500_2:searchCarPH;
public var money500_a:search3PH;
}
}//package
Section 508
//level30End (level30End)
package {
import flash.display.*;
public dynamic class level30End extends MovieClip {
}
}//package
Section 509
//level30Start (level30Start)
package {
import flash.display.*;
public dynamic class level30Start extends MovieClip {
}
}//package
Section 510
//level3End (level3End)
package {
import flash.display.*;
public dynamic class level3End extends MovieClip {
public var health20:search8PH;
public var money500_b:search7PH;
public var mag1:search11PH;
}
}//package
Section 511
//level3Start (level3Start)
package {
import flash.display.*;
public dynamic class level3Start extends MovieClip {
public var health20:search2PH;
public var money500_b:search6PH;
}
}//package
Section 512
//level4End (level4End)
package {
import flash.display.*;
public dynamic class level4End extends MovieClip {
public var health20:search8PH;
public var money500_b:search7PH;
public var money500_a:search3PH;
}
}//package
Section 513
//level4Start (level4Start)
package {
import flash.display.*;
public dynamic class level4Start extends MovieClip {
public var armorpiercing:search3PH;
public var money500_a:search4PH;
}
}//package
Section 514
//level5End (level5End)
package {
import flash.display.*;
public dynamic class level5End extends MovieClip {
public var money500_b:search6PH;
public var money500_c:search5PH;
public var money500_a:search11PH;
}
}//package
Section 515
//level5Start (level5Start)
package {
import flash.display.*;
public dynamic class level5Start extends MovieClip {
public var shotgun:search9PH;
public var mgun:search3PH;
public var health20:search5PH;
public var money1000:search15PH;
public var mgun_2:search11PH;
public var mag3_1:search10PH;
public var health50_2:search9PH;
public var mag1_4:search10PH;
public var money500_b:search4PH;
public var money500_c:search5PH;
public var mag1:search8PH;
}
}//package
Section 516
//level6End (level6End)
package {
import flash.display.*;
public dynamic class level6End extends MovieClip {
public var money1000_d:search11PH;
public var mag3_a:search6PH;
public var armorpiercing_a:search5PH;
}
}//package
Section 517
//level6Start (level6Start)
package {
import flash.display.*;
public dynamic class level6Start extends MovieClip {
}
}//package
Section 518
//level7End (level7End)
package {
import flash.display.*;
public dynamic class level7End extends MovieClip {
public var mag3:search3PH;
public var shotgun:search6PH;
public var health20:search8PH;
public var money500_b:search7PH;
public var mag3_a:search11PH;
}
}//package
Section 519
//level7Start (level7Start)
package {
import flash.display.*;
public dynamic class level7Start extends MovieClip {
public var health50:search6PH;
public var money500_b:search4PH;
public var mag1:search6PH;
}
}//package
Section 520
//level8End (level8End)
package {
import flash.display.*;
public dynamic class level8End extends MovieClip {
public var health50:search7PH;
public var armorpiercing_4:search9PH;
public var money500_b:search8PH;
public var mag1:search11PH;
}
}//package
Section 521
//level8Start (level8Start)
package {
import flash.display.*;
public dynamic class level8Start extends MovieClip {
public var health20_a:search2PH;
}
}//package
Section 522
//level9End (level9End)
package {
import flash.display.*;
public dynamic class level9End extends MovieClip {
public var shotgun:search9PH;
public var mag3:search15PH;
public var health50:search5PH;
public var health20:search4PH;
public var money1000:search6PH;
public var armorpiercing:search5PH;
}
}//package
Section 523
//level9Start (level9Start)
package {
import flash.display.*;
public dynamic class level9Start extends MovieClip {
public var mgun:search4PH;
}
}//package
Section 524
//Main (Main)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import mochi.as3.*;
import flash.utils.*;
import zombies.*;
import flash.geom.*;
import com.greensock.*;
import coins.*;
import players.*;
import objects.*;
import flash.text.*;
import guns.*;
import org.casalib.util.*;
import _as.fla.events.log.*;
import bullets.*;
import com.coreyoneil.collision.*;
import flash.net.*;
import net.hires.debug.*;
import skyboy.security.*;
import flash.system.*;
import flash.ui.*;
import com.gskinner.performance.*;
public dynamic class Main extends MovieClip {
public var bg_main:MovieClip;
public var logo:MovieClip;
public var cutscene:MovieClip;
public var preloaderMC:ThePreloader;
public var logoDuration:Number;
public var logoTimer:Timer;
private var cursor:Cursor;
private var stats:Stats;
public var ourPlayer:Player;
public var playerMask:MaskShape;
public var scoreHUD:ScoreHUD;
private var shop:Shop;
private var victoryHUD:Victory;
private var survivalvictoryHUD:SurvivalVictory;
private var gameoverHUD:GameOver;
private var dayCount:DayCount;
private var veilMask:MovieClip;
private var readyClip:Ready;
private var survivalreadyClip:SurvivalReady;
private var progress:Progress;
private var control:Controls;
private var credit:Credits;
private var gameover:GameOver;
private var gameoverQuit:GameOverQuit;
private var gameoverContinue:MovieClip;
private var pauseMenu:MovieClip;
private var stageMask:MovieClip;
private var tutorial:Tutorial;
private var howtoplay:Howtoplay;
private var exitIndicator:MovieClip;
private var creditsEnd:CreditsEnd;
private var achievement:Achievements;
private var achievementIsPlaying:Boolean;// = false
private var monsterCardIsPlaying:Boolean;// = false
private var jasonAnimation:JasonAnimation;
private var alienAnimation:AlienAnimation;
private var freddyAnimation:FreddyAnimation;
private var bossAnimationString:String;
private var bossAnimationX:Number;
private var bossAnimationY:Number;
private var bossHPbar:MovieClip;
private var startIdle:Boolean;// = true
private var progressIdle:Boolean;// = true
private var controlIdle:Boolean;// = true
private var highscoreIdle:Boolean;// = true
private var creditIdle:Boolean;// = true
public var GUI_sur_fatLady:MovieClip;
public var GUI_sur_fatMan:MovieClip;
public var GUI_sur_Olady:MovieClip;
public var GUI_sur_slimGirl:MovieClip;
public var GUI_sur_teddyGirl:MovieClip;
public var GUI_sur_nunWhite:MovieClip;
public var GUI_sur_nunBlack:MovieClip;
public var GUI_sur_adam:MovieClip;
public var GUI_vip_gravityBone:MovieClip;
public var GUI_vip_johnLocke:MovieClip;
public var GUI_vip_Mario:MovieClip;
public var GUI_vip_Metroid:MovieClip;
public var GUI_vip_MJ:MovieClip;
public var GUI_vip_Ness:MovieClip;
public var GUI_vip_otaCon:MovieClip;
public var GUI_vip_Peach:MovieClip;
public var GUI_vip_Jon:MovieClip;
public var GUI_vip_Ant:MovieClip;
public var GUI_vip_Snake:MovieClip;
public var GUI_vip_Mochi:MovieClip;
public var GUI_vip_Dtoid:MovieClip;
public var GUI_combatant_blackFat:MovieClip;
public var GUI_combatant_blackMan:MovieClip;
public var GUI_combatant_businessMan:MovieClip;
public var GUI_combatant_fatMan:MovieClip;
public var GUI_combatant_hunk:MovieClip;
public var GUI_combatant_pacMan:MovieClip;
public var GUI_combatant_blackFat_fightless:MovieClip;
public var GUI_combatant_blackMan_fightless:MovieClip;
public var GUI_combatant_businessMan_fightless:MovieClip;
public var GUI_combatant_fatMan_fightless:MovieClip;
public var GUI_combatant_pacMan_fightless:MovieClip;
public var GUI_bullet:MovieClip;
public var GUI_survivor:MovieClip;
public var Bullets:Array;
public var Survivors:Array;
private var currentZombieWorth:int;
private var currentSurvivorWorth:int;
private var cameraPos:Number;// = 0
public var coinLayer:Sprite;
public var bulletLayer:Sprite;
public var depthLayer:Sprite;
public var streetSprite:Sprite;
public var chatLayer:Sprite;
public var deathLayer:Sprite;
public var lampLightLayer:Sprite;
public var ufoZombieLayer:Sprite;
public var objectFloorLayer:Sprite;
public var maskLayer:Sprite;
public var maskSprite:Sprite;
public var deadMeatStainLayer:Sprite;
public var trailLayer:Sprite;
private var door:Door;
private var exitMovieClip:MovieClip;
private var noSpawnMovieClip:MovieClip;
private var spawnPointArray:Array;
private var streetArray:Array;
private var searchObjects:Array;
private var indestructibleObjects:Array;
private var bigObjects:Array;
private var lampObjects:Array;
private var blockPlayerBulletArray:Array;
private var blockPlayerArray:Array;
private var transitOutTime:int;
private var transitOutTimer:Timer;
private var victorytransitOutTime:int;
private var victorytransitOutTimer:Timer;
private var victoryQuitTransitOutTime:int;
private var victoryQuitTransitOutTimer:Timer;
private var gameoverQuitTransitOutTime:int;
private var gameoverQuitTransitOutTimer:Timer;
private var pauseQuitTransitOutTime:int;
private var pauseQuitTransitOutTimer:Timer;
private var gameoverQuitTimer:Timer;
private var victoryQuitTimer:Timer;
private var pauseQuitTimer:Timer;
private var gameoverContinueTransitOutTimer:Timer;
private var gameoverContinueTransitOutTime:int;
private var gameQuitMoneyTimer:Timer;
private var gameQuitMoneyTime:int;
private var victoryQuitMoneyTimer:Timer;
private var victoryQuitMoneyTime:int;
private var survivalVictoryQuitMoneyTimer:Timer;
private var survivalVictoryQuitMoneyTime:int;
private var pauseQuitMoneyTimer:Timer;
private var pauseQuitMoneyTime:int;
private var gameContinueMoneyTimer:Timer;
private var gameContinueMoneyTime:int;
private var gamePlayTimer:Timer;
private var gameCompleteTime:int;
private var gameCompleteTimer:Timer;
private var menuVOTimer:Timer;
private var achieveClip:MovieClip;
private var monsterCard:MonsterCard;
private var monsterCardBoss:MonsterCardBoss;
private var achieveClipArray:Array;
private var monsterCardArray:Array;
private var monsterCardType:Array;
private var achieveClipText:Array;
private var achieveClipDescrip:Array;
private var hideInvisibleBlock:Boolean;// = true
private var zombieLock:Boolean;// = true
private var count:uint;// = 0
private var lastSpawnTime:uint;// = 0
private var frameTimer:uint;// = 0
private var numOfBullets:int;
private var nightCounterMax:int;
private var nightCounter:int;// = 0
public var _mochiads_game_id:String;// = "bb356326858805c9"
private var mochiVolume:Number;// = 0
private var armorGamesLogo:ag_intro_mc;
private var siteLocked:Boolean;// = false
private var domainName:String;// = ""
private static const MAX_SURVIVOR_WORTH:int = 10;
public static var ufoBulletList:Array = [];
public static var freddyBulletList:Array = [];
public static var enemyList:Array = [];
public static var survivorList:Array = [];
public static var objectList:Array = [];
public static var searchShineList:Array = [];
public static var rescuedList:Array = [];
public static var coinList:Array = [];
public static var bloodList:Array = [];
public static var survivorDeathList:Array = [];
public static var deadMeatBloodList:Array = [];
public static var zombieCollisionList:CollisionList;
public static var obstacleObjectCollisionList:CollisionList;
public static var bulletToObjectCollisionList:CollisionList;
public static var ufoBulletCollisionList:CollisionList;
public static var freddyBulletCollisionList:CollisionList;
public function Main():void{
Bullets = [];
Survivors = [];
spawnPointArray = [];
streetArray = [];
searchObjects = [];
indestructibleObjects = [];
bigObjects = [];
lampObjects = [];
blockPlayerBulletArray = [];
blockPlayerArray = [];
achieveClipArray = [];
monsterCardArray = [];
monsterCardType = [];
achieveClipText = [];
achieveClipDescrip = [];
super();
addFrameScript(17, frame18, 64, frame65, 80, frame81, 127, frame128);
stop();
Web.fromSite = Web.FROM_OTHERS;
trace(("MOCHI DISABLED : " + Web.mochiDisabled));
trace(("MOCHI COIN DISABLED : " + Web.mochiCoinDisabled));
loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoading);
loaderInfo.addEventListener(Event.COMPLETE, onComplete);
trace("higuys");
}
public function goMenu():void{
gotoAndStop("game menu");
trace("trololo unload");
}
public function skipToMenu(_arg1:MouseEvent):void{
removeEventListener(Event.ENTER_FRAME, checkFunction);
goMenu();
logoTimer.stop();
}
public function cutsceneTransit(_arg1:MouseEvent):void{
cutscene.gotoAndPlay(1205);
logoTimer.stop();
}
public function webHyperlink(_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://secretbase.com.sg");
navigateToURL(_local2, "_blank");
trace("logo clicked");
}
public function goCutScene(_arg1:Event):void{
cutscene.visible = true;
cutscene.gotoAndPlay(1);
}
public function checkFunction(_arg1:Event):void{
if (cutscene.currentFrame == cutscene.totalFrames){
removeEventListener(Event.ENTER_FRAME, checkFunction);
goMenu();
};
}
private function onLoading(_arg1:ProgressEvent):void{
var _local2:Number = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100);
var _local3:MovieClip = preloaderMC.loadingClip;
if (_local2 <= 20){
_local3.gotoAndStop("20%");
} else {
if (_local2 <= 40){
_local3.gotoAndStop("40%");
} else {
if (_local2 <= 60){
_local3.gotoAndStop("60%");
} else {
if (_local2 <= 80){
_local3.gotoAndStop("80%");
} else {
if (_local2 <= 100){
_local3.gotoAndStop("100%");
};
};
};
};
};
}
private function onComplete(_arg1:Event):void{
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, onLoading);
loaderInfo.removeEventListener(Event.COMPLETE, onComplete);
gotoAndStop(9);
armorGamesLogo = new ag_intro_mc();
armorGamesLogo.x = 320;
armorGamesLogo.y = 288;
stage.addChild(armorGamesLogo);
EC.add(armorGamesLogo, Event.COMPLETE, onArmorGamesLogoComplete, false, 0, true);
trace("adding armor games logo");
}
private function ifSiteLocked():void{
var _local1:URLRequest = new URLRequest("http://bitejacker.secretbase.com.sg");
navigateToURL(_local1, "_top");
visible = false;
alpha = 0;
throw (new Error("This SWF is hosted illegally."));
}
private function addSiteLock():void{
var _local1:SiteLock = new SiteLock(ifSiteLocked);
_local1.addSite("armorgames.com", false);
_local1.allowLocalPlay(true);
addChild(_local1);
}
private function go(_arg1:Event):void{
if (_arg1 != null){
removeEventListener(Event.ADDED_TO_STAGE, go);
};
StageReference.setStage(stage);
addSiteLock();
trace(("currentFrame: " + currentFrame));
var _local2:BitmapData = new street(C.GAME_WIDTH, C.GAME_HEIGHT);
streetSprite = new Sprite();
scoreHUD = SingletonUtil.singleton(ScoreHUD);
victoryHUD = new Victory(stage, root);
survivalvictoryHUD = new SurvivalVictory(stage, root);
gameoverHUD = new GameOver(stage, root);
dayCount = new DayCount(stage);
veilMask = new BlackMask();
stageMask = new StageMask();
readyClip = new Ready(stage);
survivalreadyClip = new SurvivalReady(stage);
progress = new Progress(stage, root);
control = new Controls(stage, root);
credit = new Credits(stage, root);
achievement = new Achievements(stage, root);
gameoverQuit = new GameOverQuit(stage, root);
gameoverContinue = new GameOverContinue();
pauseMenu = new Pause();
tutorial = new Tutorial(stage, root);
howtoplay = new Howtoplay(stage, root);
creditsEnd = new CreditsEnd(stage, root);
achieveClip = new GUIachieve();
monsterCard = new MonsterCard(stage, root);
monsterCardBoss = new MonsterCardBoss(stage, root);
cursor = SingletonUtil.singleton(Cursor);
stage.addChild(cursor);
stage.addChild(tutorial);
stage.addChild(howtoplay);
stats = new Stats();
stage.addChild(stats);
stats.visible = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
var _local3:ContextMenu = new ContextMenu();
_local3.hideBuiltInItems();
var _local4:ContextMenuItem = new ContextMenuItem("Bitejacker");
var _local5:ContextMenuItem = new ContextMenuItem("http://secretbase.com.sg/");
var _local6:ContextMenuItem = new ContextMenuItem("Copyright - 2010");
_local6.enabled = false;
_local6.separatorBefore = true;
_local3.hideBuiltInItems();
_local3.customItems.push(_local4, _local5, _local6);
_local5.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openLink);
contextMenu = _local3;
stage.addEventListener(KeyboardEvent.KEY_DOWN, debugKeyPress, false, 0, true);
LEC.plug(ClassicLog);
depthLayer = new Sprite();
coinLayer = new Sprite();
bulletLayer = new Sprite();
chatLayer = new Sprite();
deathLayer = new Sprite();
lampLightLayer = new Sprite();
ufoZombieLayer = new Sprite();
objectFloorLayer = new Sprite();
maskLayer = new Sprite();
maskSprite = new Sprite();
deadMeatStainLayer = new Sprite();
trailLayer = new Sprite();
zombieCollisionList = new CollisionList(cursor);
obstacleObjectCollisionList = new CollisionList(cursor);
bulletToObjectCollisionList = new CollisionList(cursor);
ufoBulletCollisionList = new CollisionList(cursor);
freddyBulletCollisionList = new CollisionList(cursor);
zombieCollisionList.returnAngle = false;
obstacleObjectCollisionList.returnAngle = false;
bulletToObjectCollisionList.returnAngle = false;
ufoBulletCollisionList.returnAngle = false;
freddyBulletCollisionList.returnAngle = false;
initOnce();
resetNightCount();
addMochiEventListeners();
var _local7:Array = Font.enumerateFonts();
_local7.sortOn("fontName", Array.CASEINSENSITIVE);
var _local8:int;
while (_local8 < _local7.length) {
trace(((_local7[_local8].fontName + ", ") + _local7[_local8].fontStyle));
_local8++;
};
mochiStart();
ArmorGamesUtils.init(this);
gotoAndPlay("logo");
}
private function onArmorGamesLogoComplete(_arg1:Event):void{
armorGamesLogo.stop();
stage.removeChild(armorGamesLogo);
EC.remove(armorGamesLogo);
go(null);
trace("onArmorGamesLogoComplete");
}
private function siteLock():void{
var _local7:Number;
var _local1:String = stage.loaderInfo.url;
var _local2:Number = (_local1.indexOf("://") + 3);
var _local3:Number = _local1.indexOf("/", _local2);
var _local4:String = _local1.substring(_local2, _local3);
trace(("domain : " + _local4));
var _local5:Number = (_local4.lastIndexOf(".") - 1);
var _local6:Number = (_local4.lastIndexOf(".", _local5) + 1);
_local4 = _local4.substring(_local6, _local4.length);
trace(("url : " + _local1));
trace(("urlStart : " + _local2));
trace(("urlEnd : " + _local3));
if (_local4 == "com.sg"){
_local4 = _local1.substring(_local2, _local3);
_local5 = (_local4.lastIndexOf(".") - 1);
_local6 = (_local4.lastIndexOf(".", _local5) - 1);
_local7 = (_local4.lastIndexOf(".", _local6) + 1);
_local4 = _local4.substring(_local7, _local4.length);
};
if (((!((_local4 == "secretbase.com.sg"))) || ("mochi.com"))){
trace(_local4);
siteLocked = true;
};
domainName = _local4;
trace(domainName);
}
private function addMochiEventListeners():void{
if (Web.mochiDisabled){
return;
};
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, onMochiLogin);
MochiCoins.addEventListener(MochiCoins.ITEM_NEW, onItemBought2);
MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, onItemOwned);
MochiCoins.addEventListener(MochiCoins.STORE_SHOW, onStoreShow);
MochiCoins.addEventListener(MochiCoins.STORE_HIDE, onStoreHide);
}
private function onStoreShow(_arg1:Object):void{
cursor.showNormalCursor();
trace("show normal cursor");
}
private function onStoreHide(_arg1:Object):void{
cursor.showCustomCursor();
}
private function onItemOwned(_arg1:Object):void{
checkIsBought(_arg1.id);
}
private function onItemBought2(_arg1:Object):void{
checkIsBought(_arg1.id);
if (_arg1.id == MochiConst.ITEM_10000){
S.money = (S.money + (10000 * _arg1.count));
} else {
if (_arg1.id == MochiConst.ITEM_30000){
S.money = (S.money + (30000 * _arg1.count));
} else {
if (_arg1.id == MochiConst.ITEM_100000){
S.money = (S.money + (100000 * _arg1.count));
};
};
};
updateMoneyForVictory();
updateMoneyAfterMochiBuy();
Save.saveGame();
}
private function checkIsBought(_arg1:String):void{
if (_arg1 == MochiConst.ITEM_TAPE_3){
S.musicUnlockArray[2] = true;
} else {
if (_arg1 == MochiConst.ITEM_TAPE_4){
S.musicUnlockArray[3] = true;
} else {
if (_arg1 == MochiConst.ITEM_FRAME_2){
S.frameUnlockArray[1] = true;
} else {
if (_arg1 == MochiConst.ITEM_FRAME_3){
S.frameUnlockArray[2] = true;
} else {
if (_arg1 == MochiConst.ITEM_SURVIVAL_MODE){
S.survivalModeUnlocked = true;
} else {
if (_arg1 == MochiConst.ITEM_FEMALE_ZOMBIE){
S.chaseClipArray[0] = true;
} else {
if (_arg1 == MochiConst.ITEM_ONEHAND_ZOMBIE){
S.chaseClipArray[1] = true;
} else {
if (_arg1 == MochiConst.ITEM_ANGRY_ZOMBIE){
S.chaseClipArray[2] = true;
} else {
if (_arg1 == MochiConst.ITEM_DEADMEAT_ZOMBIE){
S.chaseClipArray[3] = true;
} else {
if (_arg1 == MochiConst.ITEM_FACEHUGGER_ZOMBIE){
S.chaseClipArray[4] = true;
} else {
if (_arg1 == MochiConst.ITEM_UFO_ZOMBIE){
S.chaseClipArray[5] = true;
} else {
if (_arg1 == MochiConst.ITEM_OBESE_ZOMBIE){
S.chaseClipArray[6] = true;
} else {
if (_arg1 == MochiConst.ITEM_CHINESE_ZOMBIE){
S.chaseClipArray[7] = true;
};
};
};
};
};
};
};
};
};
};
};
};
};
setChaseClip();
}
private function onMochiLogin(_arg1:Object):void{
gameoverQuit.inputName.type = TextFieldType.DYNAMIC;
gameoverQuit.inputName.text = _arg1.name;
}
private function mochiStart():void{
MochiUtils.connect(MochiConst.GAME_ID, stage, onFailure);
}
private function onFailure(_arg1=null):void{
trace("MochiServices failed to connect.");
}
private function initTimers():void{
transitOutTime = ((15 * 1000) / 30);
transitOutTimer = new Timer(transitOutTime, 1);
EC.add(transitOutTimer, TimerEvent.TIMER, transitOutTimerHandler, false, 0, true, "transit_out");
victorytransitOutTime = ((15 * 1000) / 30);
victorytransitOutTimer = new Timer(victorytransitOutTime, 1);
EC.add(victorytransitOutTimer, TimerEvent.TIMER, victoryTransitOutTimerHandler, false, 0, true, "transit_out");
victoryQuitTransitOutTime = ((15 * 1000) / 30);
victoryQuitTransitOutTimer = new Timer(victoryQuitTransitOutTime, 1);
EC.add(victoryQuitTransitOutTimer, TimerEvent.TIMER, victoryQuitTransitOutTimerHandler, false, 0, true, "transit_out");
gameoverQuitTransitOutTime = ((15 * 1000) / 30);
gameoverQuitTransitOutTimer = new Timer(gameoverQuitTransitOutTime, 1);
EC.add(gameoverQuitTransitOutTimer, TimerEvent.TIMER, gameoverQuitTransitOutTimerHandler, false, 0, true, "transit_out");
pauseQuitTransitOutTime = ((15 * 1000) / 30);
pauseQuitTransitOutTimer = new Timer(pauseQuitTransitOutTime, 1);
EC.add(pauseQuitTransitOutTimer, TimerEvent.TIMER, pauseQuitTransitOutTimerHandler, false, 0, true, "transit_out");
gameoverQuitTimer = new Timer(10000, 1);
EC.add(gameoverQuitTimer, TimerEvent.TIMER, gameoverQuitTimerHandler, false, 0, true, "transit_out");
victoryQuitTimer = new Timer(10000, 1);
EC.add(victoryQuitTimer, TimerEvent.TIMER, victoryQuitTimerHandler, false, 0, true, "transit_out");
pauseQuitTimer = new Timer(10000, 1);
EC.add(pauseQuitTimer, TimerEvent.TIMER, pauseQuitTimerHandler, false, 0, true, "transit_out");
gameoverContinueTransitOutTime = ((gameoverContinue.totalFrames * 1000) / 30);
gameoverContinueTransitOutTimer = new Timer(gameoverContinueTransitOutTime, 1);
EC.add(gameoverContinueTransitOutTimer, TimerEvent.TIMER, gameoverContinueTransitOutTimerHandler, false, 0, true, "transit_out");
gameContinueMoneyTime = ((gameoverHUD.moneyspenttxt.totalFrames * 1000) / 30);
gameContinueMoneyTimer = new Timer(gameContinueMoneyTime, 1);
EC.add(gameContinueMoneyTimer, TimerEvent.TIMER, gameContinueMoneyTimerHandler, false, 0, true, "minus money");
gameQuitMoneyTime = ((gameoverHUD.moneyspenttxt.totalFrames * 1000) / 30);
gameQuitMoneyTimer = new Timer(gameQuitMoneyTime, 1);
EC.add(gameQuitMoneyTimer, TimerEvent.TIMER, gameQuitMoneyTimerHandler, false, 0, true, "minus money");
victoryQuitMoneyTime = ((victoryHUD.Victory_Stats.moneyspenttxt.totalFrames * 1000) / 30);
victoryQuitMoneyTimer = new Timer(victoryQuitMoneyTime, 1);
EC.add(victoryQuitMoneyTimer, TimerEvent.TIMER, victoryQuitMoneyTimerHandler, false, 0, true, "minus money");
survivalVictoryQuitMoneyTime = ((victoryHUD.Victory_Stats.moneyspenttxt.totalFrames * 1000) / 30);
survivalVictoryQuitMoneyTimer = new Timer(survivalVictoryQuitMoneyTime, 1);
EC.add(survivalVictoryQuitMoneyTimer, TimerEvent.TIMER, survivalVictoryQuitMoneyTimerHandler, false, 0, true, "minus money");
pauseQuitMoneyTime = ((pauseMenu.moneyspenttxt.totalFrames * 1000) / 30);
pauseQuitMoneyTimer = new Timer(pauseQuitMoneyTime, 1);
EC.add(pauseQuitMoneyTimer, TimerEvent.TIMER, pauseQuitMoneyTimerHandler, false, 0, true, "minus money");
gamePlayTimer = new Timer(1000, 0);
EC.add(gamePlayTimer, TimerEvent.TIMER, gamePlayTimerHandler, false, 0, true, "GAME PLAY TIMER");
gameCompleteTime = ((15 * 1000) / 30);
gameCompleteTimer = new Timer(gameCompleteTime, 1);
EC.add(gameCompleteTimer, TimerEvent.TIMER, gameCompleteTimerHandler, false, 0, true, "GAMECOMPLETE");
menuVOTimer = new Timer(2000, 1);
EC.add(menuVOTimer, TimerEvent.TIMER, menuVOTimerHandler, false, 0, true, "MENU VO");
}
private function initOnce():void{
initBitmaps();
initObjectsArray();
initTimers();
SoundManager.instance.musicVolume = C.MUSIC_VOL;
SoundManager.instance.soundVolume = 0.7;
var _local1:Timer = new Timer(1000);
EC.add(_local1, TimerEvent.TIMER, checkUnlockables, false, 0, true, "CHECK_UNLOCKABLES");
EC.add(stage, Event.ENTER_FRAME, showAchievementCards, false, 0, true, "SHOW_ACHIEVEMENT_CARDS");
_local1.start();
Sounds.registerSounds();
Save.loadGame();
}
private function debugKeyPress(_arg1:KeyboardEvent):void{
if ((((((((_arg1.keyCode == KeyCode.P)) || ((_arg1.keyCode == Keyboard.ESCAPE)))) && (!(S.quitting)))) && (!(S.pauseDisabled)))){
if (S.gamePaused){
resumeGame();
} else {
setPauseMusicText();
setPauseBossProg();
pauseGame();
};
};
if (_arg1.keyCode == KeyCode.M){
S.muteState = (S.muteState + 1);
if (S.muteState > C.MUTE_BOTH){
S.muteState = C.MUTE_NONE;
};
scoreHUD.muteSound();
};
}
private function openLink(_arg1:ContextMenuEvent):void{
var _local2:URLRequest = new URLRequest("http://secretbase.com.sg/");
navigateToURL(_local2, "_blank");
}
private function menuVOTimerHandler(_arg1:TimerEvent):void{
SoundManager.instance.playMusic(Sounds.BGM_MENU, 0, 1337);
}
public function mainMenu():void{
progress.removeProgressButtonsForMenu();
gotoAndStop("game menu");
S.quitting = false;
Save.saveGame();
MochiUtils.resetVariables();
}
public function gameOver():void{
S.pauseDisabled = true;
scoreHUD.btn_pause.visible = false;
scoreHUD.btn_mute.visible = false;
scoreHUD.stopBGM();
pauseGame();
S.totaldeath = (S.totaldeath + 1);
gotoAndStop("game over");
gameoverHUD.moneytxt.text = ("$" + String(S.money));
gameoverContinue.moneytxt.text = ("$" + String(S.money));
scoreHUD.updateMoney(S.money);
stage.addChild(gameoverHUD);
gameoverHUD.initGameOverButtons();
gameoverHUD.play();
if (S.charSelected == C.ANT){
gameoverContinue.portrait.gotoAndStop("Player1");
} else {
gameoverContinue.portrait.gotoAndStop("Player2");
};
stage.addChild(gameoverQuit);
stage.addChild(gameoverContinue);
scoreHUD.updateMaxKillStreak(S.maxkillstreak);
pauseMenu.visible = false;
gameoverContinue.visible = false;
cursor.usePointerCursorMC();
EC.remove(this);
MochiUtils.showMochiLoginWidget(false);
if (ArmorGamesUtils.getPlayerName() != null){
gameoverQuit.inputName.type = TextFieldType.DYNAMIC;
gameoverQuit.inputName.text = ArmorGamesUtils.getPlayerName();
};
}
public function showPauseQuit():void{
var _local1:int = (S.money * 0.3);
S.money = (S.money * 0.7);
Save.writeCookie(false);
pauseMenu.moneytxt.text = ("$" + String(S.money));
pauseMenu.moneyspenttxt.spentcounter.minusmoneytxt.text = ("-$" + String(_local1));
pauseMenu.moneyspenttxt.play();
pauseQuitMoneyTimer.start();
}
public function showGameOverQuit():void{
gameQuitMoneyTimer.start();
var _local1:int = (S.money * 0.7);
S.money = (S.money * 0.3);
Save.writeCookie(false);
gameoverHUD.moneytxt.text = ("$" + String(S.money));
gameoverHUD.moneyspenttxt.spentcounter.minusmoneytxt.text = ("-$" + String(_local1));
gameoverHUD.moneyspenttxt.play();
gameQuitMoneyTimer.start();
}
public function showVictoryQuit():void{
victoryQuitMoneyTimer.start();
var _local1:int = (S.money * 0.3);
S.money = (S.money * 0.7);
Save.writeCookie(false);
victoryHUD.Victory_Stats.moneytxt.text = ("$" + String(S.money));
victoryHUD.Victory_Stats.moneyspenttxt.spentcounter.minusmoneytxt.text = ("-$" + String(_local1));
victoryHUD.Victory_Stats.moneyspenttxt.play();
victoryQuitMoneyTimer.start();
}
public function showSurvivalVictoryQuit():void{
var _local1:int;
survivalVictoryQuitMoneyTimer.start();
_local1 = (S.money * 0.3);
S.money = (S.money * 0.7);
Save.writeCookie(false);
survivalvictoryHUD.moneytxt.text = ("$" + String(S.money));
survivalvictoryHUD.moneyspenttxt.spentcounter.minusmoneytxt.text = ("-$" + String(_local1));
survivalvictoryHUD.moneyspenttxt.play();
survivalVictoryQuitMoneyTimer.start();
}
public function showGameOverContinue():void{
gameContinueMoneyTimer.start();
var _local1:int = C.GAMEOVER_CONTINUE_MONEY;
S.money = (S.money - C.GAMEOVER_CONTINUE_MONEY);
gameoverHUD.moneytxt.text = ("$" + String(S.money));
gameoverHUD.moneyspenttxt.spentcounter.minusmoneytxt.text = ("-$" + String(_local1));
gameoverContinue.moneytxt.text = ("$" + String(S.money));
gameoverHUD.moneyspenttxt.play();
gameContinueMoneyTimer.start();
}
private function updateMoneyAfterMochiBuy():void{
if (stage.contains(gameoverHUD)){
gameoverHUD.moneytxt.text = ("$" + String(S.money));
};
if (stage.contains(gameoverContinue)){
gameoverContinue.moneytxt.text = ("$" + String(S.money));
};
if (stage.contains(pauseMenu)){
pauseMenu.moneytxt.text = ("$" + String(S.money));
};
scoreHUD.updateMoney(S.money);
}
public function updateMoneyForAll():void{
victoryHUD.updateMoney(S.money);
}
public function updateMoneyForVictory():void{
victoryHUD.updateMoneyValue();
survivalvictoryHUD.updateMoneyValue();
}
public function stageClear():void{
var _local1:int;
S.stageCleared = true;
scoreHUD.btn_pause.visible = false;
scoreHUD.btn_mute.visible = false;
scoreHUD.scorecounter.visible = false;
scoreHUD.exitnotify.visible = false;
Save.saveGame();
S.pauseDisabled = true;
if (!S.shopVisited){
victoryHUD.shopicon.visible = true;
} else {
victoryHUD.shopicon.visible = false;
};
_local1 = 0;
while (_local1 < rescuedList.length) {
if ((((rescuedList[_local1] is jonSurvivor)) || ((rescuedList[_local1] is antSurvivor)))){
S.partnerRescued = true;
S.partnerSurvived = (S.partnerSurvived + 1);
S.partnerRescuedTimes = (S.partnerRescuedTimes + 1);
break;
} else {
S.partnerRescued = false;
};
_local1++;
};
if (S.partnerRescued == false){
S.daysWithoutPartner = (S.daysWithoutPartner + 1);
};
if (S.daysWithoutPartner >= 5){
S.daysWithoutPartner = 0;
S.partnerRescued = true;
};
if (((S.bossStage) && (!(S.bossFight)))){
victoryHUD.Victory_Stats.portrait.visible = true;
if (S.trueLevel == 10){
victoryHUD.Victory_Stats.portrait.gotoAndStop("boss1");
} else {
if (S.trueLevel == 20){
victoryHUD.Victory_Stats.portrait.gotoAndStop("boss2");
} else {
if (S.trueLevel == 30){
victoryHUD.Victory_Stats.portrait.gotoAndStop("boss3");
};
};
};
if (S.trueLevel == 10){
victoryHUD.victory_boss.stat.gotoAndStop("boss1");
} else {
if (S.trueLevel == 20){
victoryHUD.victory_boss.stat.gotoAndStop("boss2");
} else {
if (S.trueLevel == 30){
victoryHUD.victory_boss.stat.gotoAndStop("boss3");
};
};
};
victoryHUD.Victory_Stats.hint.visible = false;
victoryHUD.Victory_Stats.visible = false;
victoryHUD.victory_boss.visible = true;
dayCount.visible = false;
} else {
victoryHUD.Victory_Stats.portrait.visible = false;
victoryHUD.Victory_Stats.hint.visible = true;
victoryHUD.Victory_Stats.visible = true;
victoryHUD.victory_boss.visible = false;
dayCount.visible = true;
};
if (S.bossFight){
S.groundhogDayStuck = (S.groundhogDayStuck + C.GROUNDHOG_CURSE_LOOP);
};
scoreHUD.stopBGM();
SoundManager.instance.stopMusic();
SoundManager.instance.playMusic(Sounds.BGM_STAGECLEAR);
S.bossFight = false;
pauseGame();
gotoAndStop("game stat");
stage.addChild(veilMask);
stage.removeChild(scoreHUD);
stage.addChild(scoreHUD);
dayCount.gotoAndPlay(2);
addProgress();
if (S.gameMode == C.NORMAL_MODE){
stage.addChild(dayCount);
addVictoryStat();
} else {
addSurvivalVictoryStat();
};
victoryHUD.Victory_Stats.hint.hinttxt.gotoAndStop(NumberUtil.randomIntegerWithinRange(1, 10));
pauseMenu.visible = false;
scoreHUD.money.visible = false;
scoreHUD.night.visible = false;
scoreHUD.day.visible = false;
scoreHUD.kills.visible = false;
scoreHUD.playerportrait.visible = false;
scoreHUD.jonportrait.visible = false;
scoreHUD.kill.visible = false;
scoreHUD.skullcoinicon.visible = false;
victoryHUD.updateRescues((rescuedList.length - 1));
scoreHUD.updateMaxKillStreak(S.maxkillstreak);
victoryHUD.updateMoney(S.money);
addShop();
scoreHUD.resetCombo();
if (S.gameMode == C.SURVIVAL_MODE){
_local1 = 0;
while (_local1 < Survivors.length) {
scoreHUD.removeChild(Survivors[_local1]);
_local1++;
};
};
S.totalsurvivorrescued = (S.totalsurvivorrescued + Survivors.length);
if (S.gameMode == C.NORMAL_MODE){
if ((((S.trueLevel >= 1)) && ((S.trueLevel <= 10)))){
S.totalSurvivorsStageOne = (S.totalSurvivorsStageOne + Survivors.length);
};
if ((((S.trueLevel >= 11)) && ((S.trueLevel <= 20)))){
S.totalSurvivorsStageTwo = (S.totalSurvivorsStageTwo + Survivors.length);
};
if ((((S.trueLevel >= 21)) && ((S.trueLevel <= 30)))){
S.totalSurvivorsStageThree = (S.totalSurvivorsStageThree + Survivors.length);
};
};
EC.remove(this);
}
public function initNextLevel(){
if (S.gameMode == C.NORMAL_MODE){
moveToTop(victoryHUD);
victoryHUD.gotoAndPlay("transit_out");
if (((!((S.trueLevel == 30))) || ((((S.trueLevel == 30)) && (!(S.PAGE3_ACHIEVEMENT_BOSS_3)))))){
victorytransitOutTimer.start();
} else {
gameCompleteTimer.start();
};
} else {
moveToTop(survivalvictoryHUD);
survivalvictoryHUD.gotoAndPlay("transit_out");
victorytransitOutTimer.start();
};
}
public function goBackMenu(){
victoryQuitTimer.stop();
gameoverQuit.gotoAndPlay("transit_out");
victoryQuitTransitOutTimer.start();
}
public function gameoverGoBackMenu(){
clearBulletSpriteWhenPlayerDead();
gameoverQuitTimer.stop();
gameoverQuit.gotoAndPlay("transit_out");
gameoverQuitTransitOutTimer.start();
}
public function pauseGoBackMenu(){
clearBulletSprite();
pauseQuitTimer.stop();
gameoverQuit.gotoAndPlay("transit_out");
pauseQuitTransitOutTimer.start();
}
private function resetScoreHUD(){
scoreHUD.s_kills = 0;
scoreHUD.updateKills(0);
}
private function pauseGameForMonsterCard():void{
pauseStuff();
}
private function pauseGame():void{
scoreHUD.btn_pause.visible = false;
scoreHUD.btn_mute.visible = false;
pauseMenu.visible = true;
pauseMenu.play();
pauseMenu.moneytxt.text = ("$" + String(S.money));
scoreHUD.awesome_meter.visible = false;
pauseStuff();
}
private function pauseStuff():void{
gamePlayTimer.stop();
S.gamePaused = true;
cursor.usePointerCursorMC();
if (ourPlayer){
EC.remove(/Player/);
ourPlayer.pKick.removeEventListeners();
ourPlayer.pDash.removeEventListeners();
if (ourPlayer.inAntSpecialMode()){
ourPlayer.anthonySpecial.removeEventListeners();
};
if (ourPlayer.playingSpecialAnimation){
if (S.charSelected == C.ANT){
ourPlayer.antSpecialAnimation.stop();
} else {
ourPlayer.jonSpecialAnimation.stop();
};
};
if (depthLayer.contains(ourPlayer.pCastingAnimation)){
ourPlayer.pCastingAnimation.removeEventListeners();
};
};
EC.remove(/Zombie/);
EC.remove(/Survivor/);
EC.remove(/Objects/);
EC.remove(/Coin/);
if (((ourPlayer) && (depthLayer.contains(ourPlayer.pCastingAnimation)))){
ourPlayer.pCastingAnimation.removeEventListeners();
};
}
private function resumeGame():void{
S.gamePaused = false;
pauseMenu.visible = false;
scoreHUD.btn_pause.visible = true;
scoreHUD.btn_mute.visible = true;
scoreHUD.awesome_meter.visible = true;
if (ourPlayer){
ourPlayer.addEventListeners();
ourPlayer.pKick.addEventListeners();
ourPlayer.pDash.addEventListeners();
if (ourPlayer.inAntSpecialMode()){
ourPlayer.anthonySpecial.addEventListeners();
};
if (ourPlayer.playingSpecialAnimation){
if (S.charSelected == C.ANT){
ourPlayer.antSpecialAnimation.play();
} else {
ourPlayer.jonSpecialAnimation.play();
};
};
if (depthLayer.contains(ourPlayer.pCastingAnimation)){
ourPlayer.pCastingAnimation.addEventListeners();
};
};
var _local1:int = enemyList.length;
var _local2:int;
_local2 = 0;
while (_local2 < _local1) {
enemyList[_local2].addEventListeners();
_local2++;
};
_local1 = survivorList.length;
_local2 = 0;
while (_local2 < _local1) {
survivorList[_local2].addEventListeners();
_local2++;
};
_local1 = objectList.length;
_local2 = 0;
while (_local2 < _local1) {
objectList[_local2].addEventListeners();
_local2++;
};
_local1 = coinList.length;
_local2 = 0;
while (_local2 < _local1) {
coinList[_local2].addEventListeners();
_local2++;
};
}
private function quitGame():void{
clearEverything();
clearPlayer();
mainMenu();
resetNightCount();
EC.remove(this);
}
private function removePauseQuitButton():void{
EC.remove("QUIT_BUTTON_CLICK");
}
private function initPauseMenuButtons():void{
if (Web.mochiCoinDisabled){
pauseMenu.btn_music4.visible = false;
};
pauseMenu.btn_quit.gotoAndStop("idle");
pauseMenu.btn_resume.gotoAndStop("idle");
pauseMenu.btn_howtoplay.gotoAndStop("idle");
pauseMenu.btn_howtoplay.visible = false;
pauseMenu.btn_progress.gotoAndStop("idle");
pauseMenu.jason.visible = false;
pauseMenu.alien.visible = false;
pauseMenu.freddy.visible = false;
switch (S.bgmType){
case 1:
pauseMenu.btn_music1.gotoAndStop("selected");
pauseMenu.btn_music2.gotoAndStop("idle");
if (S.musicUnlockArray[2]){
pauseMenu.btn_music3.gotoAndStop("idle");
} else {
pauseMenu.btn_music3.gotoAndStop("locked");
};
if (S.musicUnlockArray[3]){
pauseMenu.btn_music4.gotoAndStop("idle");
} else {
pauseMenu.btn_music4.gotoAndStop("locked");
};
break;
case 2:
pauseMenu.btn_music1.gotoAndStop("idle");
pauseMenu.btn_music2.gotoAndStop("selected");
if (S.musicUnlockArray[2]){
pauseMenu.btn_music3.gotoAndStop("idle");
} else {
pauseMenu.btn_music3.gotoAndStop("locked");
};
if (S.musicUnlockArray[3]){
pauseMenu.btn_music4.gotoAndStop("idle");
} else {
pauseMenu.btn_music4.gotoAndStop("locked");
};
break;
case 3:
pauseMenu.btn_music1.gotoAndStop("idle");
pauseMenu.btn_music2.gotoAndStop("idle");
pauseMenu.btn_music3.gotoAndStop("selected");
if (S.musicUnlockArray[3]){
pauseMenu.btn_music4.gotoAndStop("idle");
} else {
pauseMenu.btn_music4.gotoAndStop("locked");
};
break;
case 4:
pauseMenu.btn_music1.gotoAndStop("idle");
pauseMenu.btn_music2.gotoAndStop("idle");
if (S.musicUnlockArray[2]){
pauseMenu.btn_music3.gotoAndStop("idle");
} else {
pauseMenu.btn_music3.gotoAndStop("locked");
};
pauseMenu.btn_music4.gotoAndStop("selected");
break;
};
EC.add(pauseMenu.btn_howtoplay, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
pauseMenu.btn_howtoplay.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "HOWTOPLAY_ROLLOVER");
EC.add(pauseMenu.btn_howtoplay, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
pauseMenu.btn_howtoplay.gotoAndStop("idle");
}, false, 0, true, "HOWTOPLAY_IDLE");
EC.add(pauseMenu.btn_howtoplay, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
tutorial.visible = true;
tutorial.reinitTutorial();
hidePauseButtons();
moveToTop(tutorial);
S.pauseDisabled = true;
tutorial.gotoAndPlay("appear");
SoundManager.instance.playSound(Sounds.PROGBOOKDROP);
}, false, 0, true, "HOWTOPLAY_CLICK");
EC.add(pauseMenu.btn_progress, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
pauseMenu.btn_progress.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "PROGRESS_ROLLOVER");
EC.add(pauseMenu.btn_progress, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
pauseMenu.btn_progress.gotoAndStop("idle");
}, false, 0, true, "PROGRESS_IDLE");
EC.add(pauseMenu.btn_progress, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
progress.visible = true;
progress.initPageOneInfo();
progress.initPageTwoInfo();
progress.initPageThreeInfo();
progress.changePageToThree();
hidePauseButtons();
progress.visible = true;
progress.play();
progress.setProgressButtonsForPause();
moveToTop(progress);
S.pauseDisabled = true;
SoundManager.instance.playSound(Sounds.PROGBOOKDROP);
}, false, 0, true, "PROGRESS_CLICK");
EC.add(pauseMenu.btn_resume, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (!S.quitting){
resumeGame();
};
}, false, 0, true, "RESUME_BUTTON_CLICK");
EC.add(pauseMenu.btn_resume, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
pauseMenu.btn_resume.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "RESUME_BUTTON_ROLLOVER");
EC.add(pauseMenu.btn_resume, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
pauseMenu.btn_resume.gotoAndStop("idle");
}, false, 0, true, "RESUME_BUTTON_IDLE");
EC.add(pauseMenu.btn_quit, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
showPauseQuit();
S.quitTimes = (S.quitTimes + 1);
S.quitting = true;
removePauseMenuButton();
scoreHUD.stopBGM();
SoundManager.instance.playSound(Sounds.SHOP_BUY);
}, false, 0, true, "QUIT_BUTTON_CLICK");
EC.add(pauseMenu.btn_quit, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
pauseMenu.btn_quit.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "QUIT_BUTTON_ROLLOVER");
EC.add(pauseMenu.btn_quit, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
pauseMenu.btn_quit.gotoAndStop("idle");
}, false, 0, true, "QUIT_BUTTON_IDLE");
EC.add(pauseMenu.btn_music1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (pauseMenu.btn_music1.currentLabel != "selected"){
pauseMenu.btn_music1.gotoAndStop("rollover");
};
pauseMenu.musictxt.text = C.BGM_TITLE_1;
}, false, 0, true, "MUSIC1_BUTTON_ROLLOVER");
EC.add(pauseMenu.btn_music1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (pauseMenu.btn_music1.currentLabel != "selected"){
pauseMenu.btn_music1.gotoAndStop("idle");
};
setPauseMusicText();
}, false, 0, true, "MUSIC1_BUTTON_IDLE");
EC.add(pauseMenu.btn_music1, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
pauseMenu.btn_music1.gotoAndStop("selected");
pauseMenu.btn_music2.gotoAndStop("idle");
if (S.musicUnlockArray[2]){
pauseMenu.btn_music3.gotoAndStop("idle");
};
if (S.musicUnlockArray[3]){
pauseMenu.btn_music4.gotoAndStop("idle");
};
S.bgmType = 1;
scoreHUD.playBGM();
}, false, 0, true, "MUSIC1_BUTTON_CLICK");
EC.add(pauseMenu.btn_music2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (pauseMenu.btn_music2.currentLabel != "selected"){
pauseMenu.btn_music2.gotoAndStop("rollover");
};
pauseMenu.musictxt.text = C.BGM_TITLE_2;
}, false, 0, true, "MUSIC2_BUTTON_ROLLOVER");
EC.add(pauseMenu.btn_music2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (pauseMenu.btn_music2.currentLabel != "selected"){
pauseMenu.btn_music2.gotoAndStop("idle");
};
setPauseMusicText();
}, false, 0, true, "MUSIC2_BUTTON_IDLE");
EC.add(pauseMenu.btn_music2, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
pauseMenu.btn_music2.gotoAndStop("selected");
pauseMenu.btn_music1.gotoAndStop("idle");
if (S.musicUnlockArray[2]){
pauseMenu.btn_music3.gotoAndStop("idle");
};
if (S.musicUnlockArray[3]){
pauseMenu.btn_music4.gotoAndStop("idle");
};
S.bgmType = 2;
scoreHUD.playBGM();
}, false, 0, true, "MUSIC2_BUTTON_CLICK");
EC.add(pauseMenu.btn_music3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (pauseMenu.btn_music3.currentLabel == "idle"){
pauseMenu.btn_music3.gotoAndStop("rollover");
pauseMenu.musictxt.text = C.BGM_TITLE_3;
};
}, false, 0, true, "MUSIC3_BUTTON_ROLLOVER");
EC.add(pauseMenu.btn_music3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (pauseMenu.btn_music3.currentLabel == "rollover"){
pauseMenu.btn_music3.gotoAndStop("idle");
};
setPauseMusicText();
}, false, 0, true, "MUSIC3_BUTTON_IDLE");
EC.add(pauseMenu.btn_music3, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (pauseMenu.btn_music3.currentLabel == "rollover"){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
pauseMenu.btn_music3.gotoAndStop("selected");
pauseMenu.btn_music1.gotoAndStop("idle");
pauseMenu.btn_music2.gotoAndStop("idle");
if (S.musicUnlockArray[3]){
pauseMenu.btn_music4.gotoAndStop("idle");
};
S.bgmType = 3;
scoreHUD.playBGM();
};
}, false, 0, true, "MUSIC3_BUTTON_CLICK");
EC.add(pauseMenu.btn_music4, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (pauseMenu.btn_music4.currentLabel == "idle"){
pauseMenu.musictxt.text = C.BGM_TITLE_4;
pauseMenu.btn_music4.gotoAndStop("rollover");
};
}, false, 0, true, "MUSIC4_BUTTON_ROLLOVER");
EC.add(pauseMenu.btn_music4, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (pauseMenu.btn_music4.currentLabel == "rollover"){
pauseMenu.btn_music4.gotoAndStop("idle");
};
setPauseMusicText();
}, false, 0, true, "MUSIC4_BUTTON_IDLE");
EC.add(pauseMenu.btn_music4, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (pauseMenu.btn_music4.currentLabel == "rollover"){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
pauseMenu.btn_music4.gotoAndStop("selected");
pauseMenu.btn_music1.gotoAndStop("idle");
pauseMenu.btn_music2.gotoAndStop("idle");
if (S.musicUnlockArray[2]){
pauseMenu.btn_music3.gotoAndStop("idle");
};
S.bgmType = 4;
scoreHUD.playBGM();
};
}, false, 0, true, "MUSIC4_BUTTON_CLICK");
pauseMenu.btn_GGshop.gotoAndStop("idle");
if (!Web.mochiCoinDisabled){
EC.add(pauseMenu.btn_GGshop, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
MochiUtils.showStore();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
}, false, 0, true, "GAMERSHOP_CLICK");
EC.add(pauseMenu.btn_GGshop, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
pauseMenu.btn_GGshop.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "GAMERSHOP_ROLLOVER");
EC.add(pauseMenu.btn_GGshop, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
pauseMenu.btn_GGshop.gotoAndStop("idle");
}, false, 0, true, "GAMERSHOP_IDLE");
};
}
private function removePauseMenuButton():void{
EC.remove("PROGRESS_ROLLOVER");
EC.remove("PROGRESS_IDLE");
EC.remove("PROGRESS_CLICK");
EC.remove("RESUME_BUTTON_CLICK");
EC.remove("RESUME_BUTTON_ROLLOVER");
EC.remove("RESUME_BUTTON_IDLE");
EC.remove("QUIT_BUTTON_CLICK");
EC.remove("QUIT_BUTTON_ROLLOVER");
EC.remove("QUIT_BUTTON_IDLE");
EC.remove("MUSIC1_BUTTON_ROLLOVER");
EC.remove("MUSIC1_BUTTON_IDLE");
EC.remove("MUSIC1_BUTTON_CLICK");
EC.remove("MUSIC2_BUTTON_ROLLOVER");
EC.remove("MUSIC2_BUTTON_IDLE");
EC.remove("MUSIC2_BUTTON_CLICK");
EC.remove("MUSIC3_BUTTON_ROLLOVER");
EC.remove("MUSIC3_BUTTON_IDLE");
EC.remove("MUSIC3_BUTTON_CLICK");
EC.remove("MUSIC4_BUTTON_ROLLOVER");
EC.remove("MUSIC4_BUTTON_IDLE");
EC.remove("MUSIC4_BUTTON_CLICK");
EC.remove("HOWTOPLAY_ROLLOVER");
EC.remove("HOWTOPLAY_IDLE");
EC.remove("HOWTOPLAY_CLICK");
EC.remove("GAMERSHOP_CLICK");
EC.remove("GAMERSHOP_ROLLOVER");
EC.remove("GAMERSHOP_IDLE");
}
public function changePageToThree():void{
progress.changePageToThree();
moveToTop(progress);
}
private function setPauseBossProg():void{
if (S.PAGE3_ACHIEVEMENT_BOSS_1){
pauseMenu.jason.bossicon.gotoAndStop("unlocked");
} else {
pauseMenu.jason.bossicon.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_2){
pauseMenu.alien.bossicon.gotoAndStop("unlocked");
} else {
pauseMenu.alien.bossicon.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_3){
pauseMenu.freddy.bossicon.gotoAndStop("unlocked");
} else {
pauseMenu.freddy.bossicon.gotoAndStop("locked");
};
if ((((S.trueLevel > 0)) && ((S.trueLevel <= 10)))){
pauseMenu.jason.visible = true;
pauseMenu.jason.bar1.width = (84.5 * (S.moneyMadeStageOne / C.PAGE3_ACHIEVEMENT_1));
pauseMenu.jason.bar2.width = (84.5 * (S.totalSurvivorsStageOne / C.PAGE3_ACHIEVEMENT_2));
pauseMenu.jason.bar3.width = (84.5 * (S.totalKillsStageOne / C.PAGE3_ACHIEVEMENT_3));
} else {
if ((((S.trueLevel > 10)) && ((S.trueLevel <= 20)))){
pauseMenu.alien.visible = true;
pauseMenu.alien.bar1.width = (84.5 * (S.moneyMadeStageTwo / C.PAGE3_ACHIEVEMENT_4));
pauseMenu.alien.bar2.width = (84.5 * (S.totalSurvivorsStageTwo / C.PAGE3_ACHIEVEMENT_5));
pauseMenu.alien.bar3.width = (84.5 * (S.totalKillsStageTwo / C.PAGE3_ACHIEVEMENT_6));
} else {
if ((((S.trueLevel > 20)) && ((S.trueLevel <= 30)))){
pauseMenu.freddy.visible = true;
pauseMenu.freddy.bar1.width = (84.5 * (S.moneyMadeStageThree / C.PAGE3_ACHIEVEMENT_7));
pauseMenu.freddy.bar2.width = (84.5 * (S.totalSurvivorsStageThree / C.PAGE3_ACHIEVEMENT_8));
pauseMenu.freddy.bar3.width = (84.5 * (S.totalKillsStageThree / C.PAGE3_ACHIEVEMENT_9));
};
};
};
adjustPauseBarWidth();
}
private function adjustPauseBarWidth():void{
if (S.moneyMadeStageOne >= C.PAGE3_ACHIEVEMENT_1){
pauseMenu.jason.bar1.width = (84.5 * 1);
};
if (S.totalSurvivorsStageOne >= C.PAGE3_ACHIEVEMENT_2){
pauseMenu.jason.bar2.width = (84.5 * 1);
};
if (S.totalKillsStageOne >= C.PAGE3_ACHIEVEMENT_3){
pauseMenu.jason.bar3.width = (84.5 * 1);
};
if (S.moneyMadeStageTwo >= C.PAGE3_ACHIEVEMENT_4){
pauseMenu.alien.bar1.width = (84.5 * 1);
};
if (S.totalSurvivorsStageTwo >= C.PAGE3_ACHIEVEMENT_5){
pauseMenu.alien.bar2.width = (84.5 * 1);
};
if (S.totalKillsStageTwo >= C.PAGE3_ACHIEVEMENT_6){
pauseMenu.alien.bar3.width = (84.5 * 1);
};
if (S.moneyMadeStageThree >= C.PAGE3_ACHIEVEMENT_7){
pauseMenu.freddy.bar1.width = (84.5 * 1);
};
if (S.totalSurvivorsStageThree >= C.PAGE3_ACHIEVEMENT_8){
pauseMenu.freddy.bar2.width = (84.5 * 1);
};
if (S.totalKillsStageThree >= C.PAGE3_ACHIEVEMENT_9){
pauseMenu.freddy.bar3.width = (84.5 * 1);
};
}
public function hidePauseButtons():void{
pauseMenu.visible = false;
pauseMenu.btn_quit.visible = false;
pauseMenu.btn_resume.visible = false;
pauseMenu.moneyremaining.visible = false;
pauseMenu.moneytxt.visible = false;
}
public function showPauseButtons():void{
pauseMenu.visible = true;
pauseMenu.btn_quit.visible = true;
pauseMenu.btn_resume.visible = true;
pauseMenu.moneyremaining.visible = true;
pauseMenu.moneytxt.visible = true;
}
private function setPauseMusicText():void{
if (pauseMenu.btn_music1.currentLabel == "selected"){
pauseMenu.musictxt.text = C.BGM_TITLE_1;
};
if (pauseMenu.btn_music2.currentLabel == "selected"){
pauseMenu.musictxt.text = C.BGM_TITLE_2;
};
if (pauseMenu.btn_music3.currentLabel == "selected"){
pauseMenu.musictxt.text = C.BGM_TITLE_3;
};
if (pauseMenu.btn_music4.currentLabel == "selected"){
pauseMenu.musictxt.text = C.BGM_TITLE_4;
};
}
private function clearEverything():void{
removePauseMenuButton();
var _local1:int;
var _local2:int = enemyList.length;
_local1 = 0;
while (_local1 < _local2) {
enemyList[0].removeSelf();
_local1++;
};
_local2 = freddyBulletList.length;
_local1 = 0;
while (_local1 < _local2) {
freddyBulletList[0].removeSelf();
_local1++;
};
_local2 = survivorList.length;
_local1 = 0;
while (_local1 < _local2) {
survivorList[0].removeSelf();
_local1++;
};
_local2 = coinList.length;
_local1 = 0;
while (_local1 < _local2) {
coinList[0].removeSelf();
_local1++;
};
_local2 = bloodList.length;
_local1 = 0;
while (_local1 < _local2) {
bloodList[0].removeSelf();
_local1++;
};
_local2 = survivorDeathList.length;
_local1 = 0;
while (_local1 < _local2) {
survivorDeathList[0].removeSelf();
_local1++;
};
_local2 = deadMeatBloodList.length;
_local1 = 0;
while (_local1 < _local2) {
deadMeatBloodList[0].removeSelf();
_local1++;
};
_local2 = objectList.length;
_local1 = 0;
while (_local1 < _local2) {
objectList[0].removeSelf();
_local1++;
};
_local2 = searchShineList.length;
_local1 = 0;
while (_local1 < _local2) {
searchShineList[0].removeSelf();
_local1++;
};
_local2 = streetArray.length;
_local1 = 0;
while (_local1 < _local2) {
streetSprite.removeChild(streetArray[_local1]);
_local1++;
};
_local2 = lampLightLayer.numChildren;
_local1 = (_local2 - 1);
while (_local1 >= 0) {
lampLightLayer.removeChild(lampLightLayer.getChildAt(_local1));
_local1--;
};
_local2 = maskSprite.numChildren;
_local1 = (_local2 - 1);
while (_local1 >= 0) {
if ((maskSprite.getChildAt(_local1) is MaskShape)){
(maskSprite.getChildAt(_local1) as MaskShape).removeSelf();
};
_local1--;
};
if (door != null){
door.removeSelf();
door = null;
};
if (((exitIndicator) && (chatLayer.contains(exitIndicator)))){
chatLayer.removeChild(exitIndicator);
};
if (ourPlayer){
if (ourPlayer.inAntSpecialMode()){
ourPlayer.anthonySpecial.removeSelf();
};
ourPlayer.pKick.hidePlayerKick();
ourPlayer.pDash.hidePlayerDash();
};
rescuedList = [];
streetArray = [];
zombieCollisionList.removeAllItems();
bulletToObjectCollisionList.removeAllItems();
obstacleObjectCollisionList.removeAllItems();
ufoBulletCollisionList.removeAllItems();
freddyBulletCollisionList.removeAllItems();
maskLayer.removeChild(streetSprite);
maskLayer.removeChild(deathLayer);
maskLayer.removeChild(coinLayer);
maskLayer.removeChild(depthLayer);
maskLayer.removeChild(bulletLayer);
maskLayer.removeChild(lampLightLayer);
maskLayer.removeChild(ufoZombieLayer);
maskLayer.removeChild(objectFloorLayer);
if (maskLayer.contains(maskSprite)){
maskLayer.removeChild(maskSprite);
};
stage.removeChild(chatLayer);
stage.removeChild(scoreHUD);
stage.removeChild(pauseMenu);
stage.removeChild(maskLayer);
}
private function clearPlayer():void{
if (ourPlayer){
ourPlayer.removeSelf();
ourPlayer = null;
};
}
private function initObjectsArray():void{
initSearchObjectArray();
initIndestructibleObjectArray();
initBigObjectArray();
initLampObjectArray();
}
private function initSearchObjectArray():void{
searchObjects.push(search1PH);
searchObjects.push(search2PH);
searchObjects.push(search3PH);
searchObjects.push(search4PH);
searchObjects.push(search5PH);
searchObjects.push(search6PH);
searchObjects.push(search7PH);
searchObjects.push(search8PH);
searchObjects.push(search9PH);
searchObjects.push(search10PH);
searchObjects.push(search11PH);
searchObjects.push(search12PH);
searchObjects.push(search13PH);
searchObjects.push(search14PH);
searchObjects.push(search15PH);
}
private function initIndestructibleObjectArray():void{
indestructibleObjects.push(indestructible1PH);
indestructibleObjects.push(indestructible2PH);
indestructibleObjects.push(indestructible3PH);
indestructibleObjects.push(indestructible4PH);
indestructibleObjects.push(indestructible5PH);
indestructibleObjects.push(indestructible6PH);
indestructibleObjects.push(indestructible7PH);
indestructibleObjects.push(indestructible8PH);
indestructibleObjects.push(indestructible9PH);
indestructibleObjects.push(indestructible10PH);
indestructibleObjects.push(indestructible11PH);
indestructibleObjects.push(indestructible12PH);
indestructibleObjects.push(indestructible13PH);
indestructibleObjects.push(indestructible14PH);
indestructibleObjects.push(indestructible15PH);
indestructibleObjects.push(indestructible16PH);
indestructibleObjects.push(indestructible17PH);
indestructibleObjects.push(indestructible18PH);
indestructibleObjects.push(indestructible19PH);
indestructibleObjects.push(indestructible20PH);
indestructibleObjects.push(indestructible21PH);
indestructibleObjects.push(indestructible22PH);
indestructibleObjects.push(indestructible23PH);
}
private function initBigObjectArray():void{
bigObjects.push(bigObstacle1PH);
bigObjects.push(bigObstacle2PH);
bigObjects.push(bigObstacle3PH);
bigObjects.push(bigObstacle4PH);
bigObjects.push(bigObstacle5PH);
bigObjects.push(bigObstacle6PH);
bigObjects.push(bigObstacle7PH);
bigObjects.push(bigObstacle8PH);
}
private function initLampObjectArray():void{
lampObjects.push(lamp1PH);
lampObjects.push(lamp2PH);
lampObjects.push(lamp3PH);
lampObjects.push(lamp4PH);
}
private function createObjectsOnStreet(_arg1:MovieClip):void{
var _local4:DisplayObject;
var _local2:int = _arg1.numChildren;
var _local3:int;
while (_local3 < _local2) {
_local4 = _arg1.getChildAt(_local3);
if (checkIsPlaceHolder(_local4, _arg1)){
_local4.visible = false;
};
_local3++;
};
}
private function checkIsPlaceHolder(_arg1:DisplayObject, _arg2:MovieClip):Boolean{
var _local3:MovieClip;
if (checkInvisibleBlockPlaceHolder(_arg1, _arg2)){
return (true);
};
if (checkObjectPlaceHolder(_arg1, _arg2)){
return (true);
};
if (checkSurvivorPlaceHolder(_arg1, _arg2)){
return (true);
};
if ((_arg1 is jasonPH)){
S.bossFight = true;
S.bossStage = true;
if (S.PAGE3_ACHIEVEMENT_BOSS_1){
bossAnimationString = "playJasonAnimation";
bossAnimationX = _arg1.x;
bossAnimationY = (_arg1.y + _arg2.y);
} else {
door = new Door(depthLayer);
door.x = _arg1.x;
door.y = ((_arg1.y + _arg2.y) + streetSprite.y);
};
return (true);
} else {
if ((_arg1 is alienPH)){
S.bossFight = true;
S.bossStage = true;
if (S.PAGE3_ACHIEVEMENT_BOSS_2){
bossAnimationString = "playAlienAnimation";
bossAnimationX = _arg1.x;
bossAnimationY = (_arg1.y + _arg2.y);
} else {
door = new Door(depthLayer);
door.x = _arg1.x;
door.y = ((_arg1.y + _arg2.y) + streetSprite.y);
};
return (true);
} else {
if ((_arg1 is freddyPH)){
S.bossFight = true;
S.bossStage = true;
if (S.PAGE3_ACHIEVEMENT_BOSS_3){
bossAnimationString = "playFreddyAnimation";
bossAnimationX = _arg1.x;
bossAnimationY = (_arg1.y + _arg2.y);
} else {
door = new Door(depthLayer);
door.x = _arg1.x;
door.y = ((_arg1.y + _arg2.y) + streetSprite.y);
};
return (true);
} else {
if ((_arg1 is exitPH)){
exitIndicator = new exitPH();
exitIndicator.x = _arg1.x;
exitIndicator.y = (((_arg1.y + _arg2.y) + streetSprite.y) - cameraPos);
chatLayer.addChild(exitIndicator);
return (true);
};
if ((_arg1 is exitMC)){
exitMovieClip = MovieClip(_arg1);
} else {
if ((_arg1 is noSpawnMC)){
noSpawnMovieClip = MovieClip(_arg1);
} else {
if ((_arg1 is spawnPointMC)){
_local3 = new spawnPointMC();
_local3.x = _arg1.x;
_local3.y = (((_arg1.y + _arg2.y) + streetSprite.y) - cameraPos);
spawnPointArray.push(_local3);
return (true);
};
};
};
};
};
};
return (false);
}
private function checkInvisibleBlockPlaceHolder(_arg1:DisplayObject, _arg2:MovieClip):Boolean{
if ((_arg1 is blockPlayerPH)){
obstacleObjectCollisionList.addItem(_arg1);
blockPlayerArray.push(_arg1);
return (hideInvisibleBlock);
};
if ((_arg1 is blockPlayerBulletPH)){
obstacleObjectCollisionList.addItem(_arg1);
bulletToObjectCollisionList.addItem(_arg1);
blockPlayerBulletArray.push(_arg1);
return (hideInvisibleBlock);
};
return (false);
}
private function checkObjectPlaceHolder(_arg1:DisplayObject, _arg2:MovieClip):Boolean{
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
if ((_arg1 is brick1PH)){
createBrick2Object(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is brick2PH)){
createBrick2Object(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is roadblock1PH)){
createRoadblock1Object(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is roadblock2PH)){
createRoadblock2Object(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is roadblock3PH)){
createRoadblock3Object(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is woodstripe1PH)){
createWoodstripe1Object(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is woodstripe2PH)){
createWoodstripe2Object(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is carPH)){
createCarObject(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is vanPH)){
createVanObject(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is searchVanPH)){
createSearchVanObject(_arg1.x, _arg1.y, _arg2, 0);
return (true);
};
if ((_arg1 is searchCarPH)){
createSearchCarObject(_arg1.x, _arg1.y, _arg2, 0);
return (true);
};
if ((_arg1 is propane1PH)){
createPropane1Object(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is propane2PH)){
createPropane2Object(_arg1.x, _arg1.y, _arg2);
return (true);
};
if ((_arg1 is bigLightPH)){
createLampLight(_arg1.x, _arg1.y, _arg2, 0);
return (true);
};
if ((_arg1 is smallLightPH)){
createLampLight(_arg1.x, _arg1.y, _arg2, 1);
return (true);
};
_local3 = searchObjects.length;
_local4 = 0;
_local4 = 0;
while (_local4 < _local3) {
if ((_arg1 is searchObjects[_local4])){
createSearchObject(_arg1.x, _arg1.y, _arg2, _local4, _arg1.name);
return (true);
};
_local4++;
};
_local3 = indestructibleObjects.length;
_local4 = 0;
while (_local4 < _local3) {
if ((_arg1 is indestructibleObjects[_local4])){
_local5 = (_local4 % 4);
_local6 = (_local4 / 4);
createIndestructibleObject(_arg1.x, _arg1.y, _arg2, _local5, _local6);
return (true);
};
_local4++;
};
_local3 = bigObjects.length;
_local4 = 0;
while (_local4 < _local3) {
if ((_arg1 is bigObjects[_local4])){
_local5 = (_local4 % 4);
_local6 = (_local4 / 4);
createBigObject(_arg1.x, _arg1.y, _arg2, _local5, _local6);
return (true);
};
_local4++;
};
_local3 = lampObjects.length;
_local4 = 0;
while (_local4 < _local3) {
if ((_arg1 is lampObjects[_local4])){
createLampObject(_arg1.x, _arg1.y, _arg2, _local4);
return (true);
};
_local4++;
};
return (false);
}
private function checkSurvivorPlaceHolder(_arg1:DisplayObject, _arg2:MovieClip):Boolean{
if (((S.partnerRescued) && (!(S.partnerSpawned)))){
if (S.charSelected == C.ANT){
createJon(C.JONPARTNER, (C.GAME_WIDTH / 2), (C.GAME_HEIGHT - 350), _arg2.y);
} else {
if (S.charSelected == C.JON){
createAnt(C.ANTPARTNER, (C.GAME_WIDTH / 2), (C.GAME_HEIGHT - 350), _arg2.y);
};
};
S.partnerSpawned = true;
};
if ((_arg1 is vipMario)){
createVIP(0, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is vipNess)){
createVIP(2, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is vipPeach)){
createVIP(3, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is vipSnake)){
createVIP(4, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is vipGravityBone)){
createVIP(5, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is vipJohnLocke)){
createVIP(6, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is vipMetroid)){
createVIP(7, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is vipOtacon)){
createVIP(8, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is vipMJ)){
createVIP(9, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is vipMochi)){
createVIP(10, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is vipDtoid)){
trace("create mochi");
createVIP(11, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is fatMan)){
createSurvivor(0, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is oldLady)){
createSurvivor(1, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is silmGirl)){
createSurvivor(2, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is teddyGirl)){
createSurvivor(3, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is fatLady)){
createSurvivor(4, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is pacMan)){
createSurvivor(5, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is wheelChair)){
createSurvivor(6, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is nunWhite)){
createSurvivor(7, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is nunBlack)){
createSurvivor(8, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is adam)){
createSurvivor(9, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is hunk)){
createSurvivor(10, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is gangster)){
createSurvivor(11, _arg1.x, _arg1.y, _arg2.y);
return (true);
};
if ((_arg1 is combatBlackFat)){
createCombatant(0, _arg1.x, _arg1.y, _arg2.y, _arg1.name);
return (true);
};
if ((_arg1 is combatFatMan)){
createCombatant(1, _arg1.x, _arg1.y, _arg2.y, _arg1.name);
return (true);
};
if ((_arg1 is combatPacMan)){
createCombatant(2, _arg1.x, _arg1.y, _arg2.y, _arg1.name);
return (true);
};
if ((_arg1 is combatBlackMan)){
createCombatant(3, _arg1.x, _arg1.y, _arg2.y, _arg1.name);
return (true);
};
if ((_arg1 is combatBusinessMan)){
createCombatant(4, _arg1.x, _arg1.y, _arg2.y, _arg1.name);
return (true);
};
if ((_arg1 is combatHunk)){
createCombatant(5, _arg1.x, _arg1.y, _arg2.y, _arg1.name);
return (true);
};
if ((_arg1 is combatHardBoil)){
createCombatant(6, _arg1.x, _arg1.y, _arg2.y, _arg1.name);
return (true);
};
if ((_arg1 is combatJable)){
createCombatant(7, _arg1.x, _arg1.y, _arg2.y, _arg1.name);
return (true);
};
return (false);
}
private function setChaseClip():void{
bg_main.chaseclip.trio.female.visible = false;
bg_main.chaseclip.trio.onehand.visible = false;
bg_main.chaseclip.trio.angry.visible = false;
bg_main.chaseclip.trio.deadmeat.visible = false;
bg_main.chaseclip.trio.facehugger.visible = false;
bg_main.chaseclip.trio.ufo.visible = false;
bg_main.chaseclip.trio.fat.visible = false;
bg_main.chaseclip.trio.chinese.visible = false;
var _local1 = 245;
if (S.chaseClipArray[0]){
bg_main.chaseclip.trio.female.visible = true;
_local1 = (_local1 + 20);
bg_main.chaseclip.trio.female.x = _local1;
trace(((("FEMALE : " + bg_main.chaseclip.trio.female.visible) + " X POS : ") + _local1));
};
if (S.chaseClipArray[1]){
bg_main.chaseclip.trio.onehand.visible = true;
_local1 = (_local1 + 40);
bg_main.chaseclip.trio.onehand.x = _local1;
trace(((("ONEHAND : " + bg_main.chaseclip.trio.onehand.visible) + " X POS : ") + _local1));
};
if (S.chaseClipArray[2]){
bg_main.chaseclip.trio.angry.visible = true;
_local1 = (_local1 + 40);
bg_main.chaseclip.trio.angry.x = _local1;
trace(((("ANGRY : " + bg_main.chaseclip.trio.angry.visible) + " X POS : ") + _local1));
};
if (S.chaseClipArray[3]){
bg_main.chaseclip.trio.deadmeat.visible = true;
_local1 = (_local1 + 50);
bg_main.chaseclip.trio.deadmeat.x = _local1;
trace(((("DEADMEAT : " + bg_main.chaseclip.trio.deadmeat.visible) + " X POS : ") + _local1));
};
if (S.chaseClipArray[4]){
bg_main.chaseclip.trio.facehugger.visible = true;
_local1 = (_local1 + 50);
bg_main.chaseclip.trio.facehugger.x = _local1;
trace(((("FACE : " + bg_main.chaseclip.trio.facehugger.visible) + " X POS : ") + _local1));
};
if (S.chaseClipArray[5]){
bg_main.chaseclip.trio.ufo.visible = true;
_local1 = (_local1 + 70);
bg_main.chaseclip.trio.ufo.x = _local1;
trace(((("UFO : " + bg_main.chaseclip.trio.ufo.visible) + " X POS : ") + _local1));
};
if (S.chaseClipArray[6]){
bg_main.chaseclip.trio.fat.visible = true;
_local1 = (_local1 + 90);
bg_main.chaseclip.trio.fat.x = _local1;
trace(((("FAT : " + bg_main.chaseclip.trio.fat.visible) + " X POS : ") + _local1));
};
if (S.chaseClipArray[7]){
bg_main.chaseclip.trio.chinese.visible = true;
_local1 = (_local1 + 50);
bg_main.chaseclip.trio.chinese.x = _local1;
trace(((("CHINESE : " + bg_main.chaseclip.trio.chinese.visible) + " X POS : ") + _local1));
};
}
public function setMenuButtons():void{
MochiUtils.hideLoginWidget();
SoundManager.instance.playSound(Sounds.VO_MENU, 1);
menuVOTimer.start();
SoundManager.instance.stopMusic();
setChaseClip();
EC.add(bg_main.btn_pressenter, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
bg_main.gotoAndPlay("title_menu");
setMenuButtons2();
removeMenuButtons();
SoundManager.instance.playSound(Sounds.YESBUTTON);
}, false, 0, true, "PRESSENTER");
EC.add(bg_main.btn_pressenter, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.btn_pressenter.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "PRESSENTERROLLOVER");
EC.add(bg_main.btn_pressenter, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.btn_pressenter.gotoAndPlay(1);
}, false, 0, true, "PRESSENTERIDLE");
EC.add(stage, KeyboardEvent.KEY_UP, function (_arg1:KeyboardEvent){
if ((((_arg1.charCode == Keyboard.ENTER)) && ((bg_main.currentLabel == "title")))){
bg_main.gotoAndPlay("title_menu");
setMenuButtons2();
removeMenuButtons();
};
}, false, 0, true, "ENTERGAME");
stage.addChild(progress);
stage.addChild(control);
stage.addChild(credit);
progress.initPageOneInfo();
progress.initPageTwoInfo();
progress.initPageThreeInfo();
S.dmgTakenInPlay = 0;
}
public function removeMenuButtons():void{
EC.remove("ENTERGAME");
EC.remove("PRESSENTER");
EC.remove("PRESSENTERROLLOVER");
EC.remove("PRESSENTERIDLE");
}
public function showMenuCover():void{
bg_main.titlecover.visible = true;
moveToTop(bg_main.titlecover);
}
public function hideMenuCover():void{
bg_main.titlecover.visible = false;
}
private function resetNotes():void{
if (S.PAGE3_ACHIEVEMENT_BOSS_1){
bg_main.submenu.menu.progbar.prog_note1.gotoAndStop("unlocked");
} else {
bg_main.submenu.menu.progbar.prog_note1.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_2){
bg_main.submenu.menu.progbar.prog_note2.gotoAndStop("unlocked");
} else {
bg_main.submenu.menu.progbar.prog_note2.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_3){
bg_main.submenu.menu.progbar.prog_note3.gotoAndStop("unlocked");
} else {
bg_main.submenu.menu.progbar.prog_note3.gotoAndStop("locked");
};
bg_main.submenu.menu.progbar.boss1bar1.width = (42.25 * (S.moneyMadeStageOne / C.PAGE3_ACHIEVEMENT_1));
bg_main.submenu.menu.progbar.boss1bar2.width = (42.25 * (S.totalSurvivorsStageOne / C.PAGE3_ACHIEVEMENT_2));
bg_main.submenu.menu.progbar.boss1bar3.width = (42.25 * (S.totalKillsStageOne / C.PAGE3_ACHIEVEMENT_3));
bg_main.submenu.menu.progbar.boss2bar1.width = (42.25 * (S.moneyMadeStageTwo / C.PAGE3_ACHIEVEMENT_4));
bg_main.submenu.menu.progbar.boss2bar2.width = (42.25 * (S.totalSurvivorsStageTwo / C.PAGE3_ACHIEVEMENT_5));
bg_main.submenu.menu.progbar.boss2bar3.width = (42.25 * (S.totalKillsStageTwo / C.PAGE3_ACHIEVEMENT_6));
bg_main.submenu.menu.progbar.boss3bar1.width = (42.25 * (S.moneyMadeStageThree / C.PAGE3_ACHIEVEMENT_7));
bg_main.submenu.menu.progbar.boss3bar2.width = (42.25 * (S.totalSurvivorsStageThree / C.PAGE3_ACHIEVEMENT_8));
bg_main.submenu.menu.progbar.boss3bar3.width = (42.25 * (S.totalKillsStageThree / C.PAGE3_ACHIEVEMENT_9));
adjustBarLength();
}
private function adjustBarLength():void{
if (S.moneyMadeStageOne >= C.PAGE3_ACHIEVEMENT_1){
bg_main.submenu.menu.progbar.boss1bar1.width = (42.25 * 1);
};
if (S.totalSurvivorsStageOne >= C.PAGE3_ACHIEVEMENT_2){
bg_main.submenu.menu.progbar.boss1bar2.width = (42.25 * 1);
};
if (S.totalKillsStageOne >= C.PAGE3_ACHIEVEMENT_3){
bg_main.submenu.menu.progbar.boss1bar3.width = (42.25 * 1);
};
if (S.moneyMadeStageTwo >= C.PAGE3_ACHIEVEMENT_4){
bg_main.submenu.menu.progbar.boss2bar1.width = (42.25 * 1);
};
if (S.totalSurvivorsStageTwo >= C.PAGE3_ACHIEVEMENT_5){
bg_main.submenu.menu.progbar.boss2bar2.width = (42.25 * 1);
};
if (S.totalKillsStageTwo >= C.PAGE3_ACHIEVEMENT_6){
bg_main.submenu.menu.progbar.boss2bar3.width = (42.25 * 1);
};
if (S.moneyMadeStageThree >= C.PAGE3_ACHIEVEMENT_7){
bg_main.submenu.menu.progbar.boss3bar1.width = (42.25 * 1);
};
if (S.totalSurvivorsStageThree >= C.PAGE3_ACHIEVEMENT_8){
bg_main.submenu.menu.progbar.boss3bar2.width = (42.25 * 1);
};
if (S.totalKillsStageThree >= C.PAGE3_ACHIEVEMENT_9){
bg_main.submenu.menu.progbar.boss3bar3.width = (42.25 * 1);
};
}
public function setSubMenuButtons():void{
resetNotes();
if (Web.mochiCoinDisabled){
bg_main.submenu.menu.btn_frame2.visible = false;
bg_main.submenu.menu.btn_frame3.visible = false;
bg_main.submenu.menu.btn_music4.visible = false;
};
if (S.gameMode == C.NORMAL_MODE){
bg_main.submenu.menu.survival_tutorial.visible = false;
bg_main.submenu.menu.btn_survivalhighscore.visible = false;
bg_main.submenu.menu.btn_load.visible = true;
bg_main.submenu.menu.btn_back.y = 205;
bg_main.submenu.menu.mode.gotoAndStop(1);
if (Web.mochiDisabled){
bg_main.submenu.menu.btn_load.visible = false;
};
} else {
if (S.gameMode == C.SURVIVAL_MODE){
bg_main.submenu.menu.survival_tutorial.visible = true;
bg_main.submenu.menu.btn_survivalhighscore.visible = true;
bg_main.submenu.menu.btn_load.visible = false;
bg_main.submenu.menu.btn_back.y = 475;
bg_main.submenu.menu.mode.gotoAndStop(2);
};
};
bg_main.submenu.menu.maxHPtxt.text = (S.playerMaxHP + "%");
bg_main.submenu.menu.moneytxt.text = ("$" + S.money);
bg_main.submenu.menu.charselect.gotoAndStop("Anthony");
bg_main.submenu.menu.btn_start.gotoAndStop("idle");
bg_main.submenu.menu.btn_music1.gotoAndStop("selected");
if (S.gameMode == C.NORMAL_MODE){
bg_main.submenu.menu.btn_clear.visible = true;
} else {
bg_main.submenu.menu.btn_clear.visible = false;
};
bg_main.submenu.menu.btn_music2.gotoAndStop("idle");
if (S.musicUnlockArray[2]){
bg_main.submenu.menu.btn_music3.gotoAndStop("idle");
} else {
bg_main.submenu.menu.btn_music3.gotoAndStop("locked");
};
if (S.musicUnlockArray[3]){
bg_main.submenu.menu.btn_music4.gotoAndStop("idle");
} else {
bg_main.submenu.menu.btn_music4.gotoAndStop("locked");
};
bg_main.submenu.menu.btn_frame1.gotoAndStop("selected");
if (S.frameUnlockArray[1]){
bg_main.submenu.menu.btn_frame2.gotoAndStop("idle");
} else {
bg_main.submenu.menu.btn_frame2.gotoAndStop("locked");
};
if (S.frameUnlockArray[2]){
bg_main.submenu.menu.btn_frame3.gotoAndStop("idle");
} else {
bg_main.submenu.menu.btn_frame3.gotoAndStop("locked");
};
bg_main.submenu.menu.btn_back.gotoAndStop("idle");
bg_main.submenu.menu.frametxt.text = "OLD TV";
setBGMtype();
S.charSelected = C.ANT;
loadMaxNight();
EC.add(bg_main.submenu.menu.subarrownext, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (nightCounter < nightCounterMax){
bg_main.submenu.menu.subarrowback.visible = true;
nightCounter = (nightCounter + 1);
bg_main.submenu.menu.daytxt.text = String(C.NIGHT_ARRAY[nightCounter]);
if (nightCounter == nightCounterMax){
bg_main.submenu.menu.subarrownext.visible = false;
};
};
}, false, 0, true, "SUB_ARROWNEXT_CLICK");
EC.add(bg_main.submenu.menu.subarrownext, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.submenu.menu.subarrownext.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SUB_ARROWNEXT_ROLLOVER");
EC.add(bg_main.submenu.menu.subarrownext, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.submenu.menu.subarrownext.gotoAndStop("idle");
}, false, 0, true, "SUB_ARROWNEXT_IDLE");
EC.add(bg_main.submenu.menu.subarrowback, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (nightCounter > 0){
bg_main.submenu.menu.subarrownext.visible = true;
nightCounter = (nightCounter - 1);
bg_main.submenu.menu.daytxt.text = String(C.NIGHT_ARRAY[nightCounter]);
if (nightCounter == 0){
bg_main.submenu.menu.subarrowback.visible = false;
};
};
}, false, 0, true, "SUB_ARROWBACK_CLICK");
EC.add(bg_main.submenu.menu.subarrowback, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.submenu.menu.subarrowback.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SUB_ARROWBACK_ROLLOVER");
EC.add(bg_main.submenu.menu.subarrowback, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.submenu.menu.subarrowback.gotoAndStop("idle");
}, false, 0, true, "SUB_ARROWBACK_IDLE");
EC.add(bg_main.submenu.menu.charselect, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
S.charSelected = !(S.charSelected);
SoundManager.instance.playSound(Sounds.YESBUTTON2);
if (S.charSelected == C.ANT){
bg_main.submenu.menu.charselect.gotoAndStop("Anthony");
};
if (S.charSelected == C.JON){
bg_main.submenu.menu.charselect.gotoAndStop("Jon");
};
}, false, 0, true, "SUB_CHAR_CLICK");
EC.add(bg_main.submenu.menu.btn_start, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
removeSubMenuButtons();
setNightCount(C.NIGHT_ARRAY[nightCounter]);
bg_main.submenu.gotoAndPlay("disappear");
S.nightCount = C.NIGHT_ARRAY[nightCounter];
if (S.gameMode == C.NORMAL_MODE){
howtoplay.visible = true;
howtoplay.gotoAndPlay("appear");
howtoplay.reinitTutorial();
} else {
submenuStartGame();
};
S.partnerSurvived = 0;
MochiUtils.hideLoginWidget();
SoundManager.instance.playSound(Sounds.YESBUTTON);
}, false, 0, true, "SUB_START_CLICK");
EC.add(bg_main.submenu.menu.btn_start, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.submenu.menu.btn_start.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SUB_START_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_start, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.submenu.menu.btn_start.gotoAndStop("idle");
}, false, 0, true, "SUB_START_IDLE");
EC.add(bg_main.submenu.menu.btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
bg_main.submenu.gotoAndPlay("disappear");
removeSubMenuButtons();
SoundManager.instance.playSound(Sounds.BACKBUTTON);
setMenuButtons2();
hideMenuCover();
}, false, 0, true, "SUB_BACK_CLICK");
EC.add(bg_main.submenu.menu.btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.submenu.menu.btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SUB_BACK_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_back, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.submenu.menu.btn_back.gotoAndStop("idle");
}, false, 0, true, "SUB_BACK_IDLE");
EC.add(bg_main.submenu.menu.btn_music1, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
bg_main.submenu.menu.btn_music1.gotoAndStop("selected");
bg_main.submenu.menu.btn_music2.gotoAndStop("idle");
if (S.musicUnlockArray[2]){
bg_main.submenu.menu.btn_music3.gotoAndStop("idle");
};
if (S.musicUnlockArray[3]){
bg_main.submenu.menu.btn_music4.gotoAndStop("idle");
};
}, false, 0, true, "SUB_MUSIC1_CLICK");
EC.add(bg_main.submenu.menu.btn_music1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_music1.currentLabel != "selected"){
bg_main.submenu.menu.btn_music1.gotoAndStop("rollover");
};
bg_main.submenu.menu.musictxt.text = C.BGM_TITLE_1;
}, false, 0, true, "SUB_MUSIC1_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_music1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_music1.currentLabel != "selected"){
bg_main.submenu.menu.btn_music1.gotoAndStop("idle");
};
setBGMtype();
}, false, 0, true, "SUB_MUSIC1_IDLE");
EC.add(bg_main.submenu.menu.btn_music2, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
bg_main.submenu.menu.btn_music2.gotoAndStop("selected");
bg_main.submenu.menu.btn_music1.gotoAndStop("idle");
if (S.musicUnlockArray[2]){
bg_main.submenu.menu.btn_music3.gotoAndStop("idle");
};
if (S.musicUnlockArray[3]){
bg_main.submenu.menu.btn_music4.gotoAndStop("idle");
};
}, false, 0, true, "SUB_MUSIC2_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_music2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_music2.currentLabel != "selected"){
bg_main.submenu.menu.btn_music2.gotoAndStop("rollover");
};
bg_main.submenu.menu.musictxt.text = C.BGM_TITLE_2;
}, false, 0, true, "SUB_MUSIC2_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_music2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_music2.currentLabel != "selected"){
bg_main.submenu.menu.btn_music2.gotoAndStop("idle");
};
setBGMtype();
}, false, 0, true, "SUB_MUSIC2_IDLE");
EC.add(bg_main.submenu.menu.btn_music3, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_music3.currentLabel == "rollover"){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
bg_main.submenu.menu.btn_music3.gotoAndStop("selected");
bg_main.submenu.menu.btn_music1.gotoAndStop("idle");
bg_main.submenu.menu.btn_music2.gotoAndStop("idle");
if (S.musicUnlockArray[3]){
bg_main.submenu.menu.btn_music4.gotoAndStop("idle");
};
};
}, false, 0, true, "SUB_MUSIC3_CLICK");
EC.add(bg_main.submenu.menu.btn_music3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_music3.currentLabel == "idle"){
bg_main.submenu.menu.btn_music3.gotoAndStop("rollover");
};
bg_main.submenu.menu.musictxt.text = C.BGM_TITLE_3;
}, false, 0, true, "SUB_MUSIC3_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_music3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_music3.currentLabel == "rollover"){
bg_main.submenu.menu.btn_music3.gotoAndStop("idle");
};
setBGMtype();
}, false, 0, true, "SUB_MUSIC3_IDLE");
EC.add(bg_main.submenu.menu.btn_music4, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_music4.currentLabel == "rollover"){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
bg_main.submenu.menu.btn_music4.gotoAndStop("selected");
bg_main.submenu.menu.btn_music1.gotoAndStop("idle");
bg_main.submenu.menu.btn_music2.gotoAndStop("idle");
if (S.musicUnlockArray[2]){
bg_main.submenu.menu.btn_music3.gotoAndStop("idle");
};
};
}, false, 0, true, "SUB_MUSIC4_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_music4, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_music4.currentLabel == "idle"){
bg_main.submenu.menu.btn_music4.gotoAndStop("rollover");
};
bg_main.submenu.menu.musictxt.text = C.BGM_TITLE_4;
}, false, 0, true, "SUB_MUSIC4_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_music4, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_music4.currentLabel == "rollover"){
bg_main.submenu.menu.btn_music4.gotoAndStop("idle");
};
setBGMtype();
}, false, 0, true, "SUB_MUSIC4_IDLE");
EC.add(bg_main.submenu.menu.btn_frame1, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
bg_main.submenu.menu.btn_frame1.gotoAndStop("selected");
if (S.frameUnlockArray[1]){
bg_main.submenu.menu.btn_frame2.gotoAndStop("idle");
};
if (S.frameUnlockArray[2]){
bg_main.submenu.menu.btn_frame3.gotoAndStop("idle");
};
S.frameNo = 1;
bg_main.submenu.menu.frametxt.text = "OLD TV";
}, false, 0, true, "SUB_FRAME1_CLICK");
EC.add(bg_main.submenu.menu.btn_frame1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_frame1.currentLabel != "selected"){
bg_main.submenu.menu.btn_frame1.gotoAndStop("rollover");
};
}, false, 0, true, "SUB_FRAME1_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_frame1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_frame1.currentLabel != "selected"){
bg_main.submenu.menu.btn_frame1.gotoAndStop("idle");
};
}, false, 0, true, "SUB_FRAME1_IDLE");
EC.add(bg_main.submenu.menu.btn_frame2, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_frame2.currentLabel == "rollover"){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
bg_main.submenu.menu.btn_frame2.gotoAndStop("selected");
bg_main.submenu.menu.btn_frame1.gotoAndStop("idle");
if (S.frameUnlockArray[2]){
bg_main.submenu.menu.btn_frame3.gotoAndStop("idle");
};
S.frameNo = 2;
bg_main.submenu.menu.frametxt.text = "GRINDHOUSE";
};
}, false, 0, true, "SUB_FRAME1_CLICK");
EC.add(bg_main.submenu.menu.btn_frame2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_frame2.currentLabel == "idle"){
bg_main.submenu.menu.btn_frame2.gotoAndStop("rollover");
};
}, false, 0, true, "SUB_FRAME1_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_frame2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_frame2.currentLabel == "rollover"){
bg_main.submenu.menu.btn_frame2.gotoAndStop("idle");
};
}, false, 0, true, "SUB_FRAME1_IDLE");
EC.add(bg_main.submenu.menu.btn_frame3, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_frame3.currentLabel == "rollover"){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
bg_main.submenu.menu.btn_frame3.gotoAndStop("selected");
bg_main.submenu.menu.btn_frame1.gotoAndStop("idle");
if (S.frameUnlockArray[1]){
bg_main.submenu.menu.btn_frame2.gotoAndStop("idle");
};
S.frameNo = 3;
bg_main.submenu.menu.frametxt.text = "SCANLINE";
};
}, false, 0, true, "SUB_FRAME1_CLICK");
EC.add(bg_main.submenu.menu.btn_frame3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_frame3.currentLabel == "idle"){
bg_main.submenu.menu.btn_frame3.gotoAndStop("rollover");
};
}, false, 0, true, "SUB_FRAME1_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_frame3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_frame3.currentLabel == "rollover"){
bg_main.submenu.menu.btn_frame3.gotoAndStop("idle");
};
}, false, 0, true, "SUB_FRAME1_IDLE");
bg_main.submenu.menu.btn_clear.gotoAndStop("idle");
EC.add(bg_main.submenu.menu.btn_clear, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_clear.currentLabel != "deleted"){
bg_main.submenu.menu.btn_clear.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
};
}, false, 0, true, "CLEAR_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_clear, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (bg_main.submenu.menu.btn_clear.currentLabel != "deleted"){
bg_main.submenu.menu.btn_clear.gotoAndStop("idle");
};
}, false, 0, true, "CLEAR_IDLE");
EC.add(bg_main.submenu.menu.btn_clear, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
bg_main.submenu.menu.btn_clear.gotoAndPlay("deleted");
Save.clearCookie();
Save.loadGame();
reloadSubmenu();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
}, false, 0, true, "CLEAR_CLICK");
EC.add(bg_main.submenu.menu.btn_survivalhighscore, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
MochiUtils.showMochiLeaderboard(MochiConst.LEADERBOARD_SURVIVAL);
SoundManager.instance.playSound(Sounds.YESBUTTON);
}, false, 0, true, "SUB_HIGHSCORE_CLICK");
EC.add(bg_main.submenu.menu.btn_survivalhighscore, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.submenu.menu.btn_survivalhighscore.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SUB_HIGHSCORE_ROLLOVER");
EC.add(bg_main.submenu.menu.btn_survivalhighscore, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.submenu.menu.btn_survivalhighscore.gotoAndStop("idle");
}, false, 0, true, "SUB_HIGHSCORE_IDLE");
EC.add(bg_main.submenu.menu.btn_load, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
Save.loadGameFromMochi(reloadSubmenu);
SoundManager.instance.playSound(Sounds.YESBUTTON);
}, false, 0, true, "SUB_LOAD_CLICK");
}
private function reloadSubmenu():void{
achievement.checkAchievements();
loadMaxNight();
resetNotes();
bg_main.submenu.menu.moneytxt.text = ("$" + S.money);
bg_main.submenu.menu.maxHPtxt.text = (S.playerMaxHP + "%");
}
private function loadMaxNight():void{
nightCounter = 0;
if (S.gameMode == C.NORMAL_MODE){
if ((((S.maxnight >= 0)) && ((S.maxnight < 5)))){
nightCounterMax = 0;
} else {
if ((((S.maxnight >= 6)) && ((S.maxnight < 11)))){
nightCounterMax = 1;
} else {
if ((((S.maxnight >= 11)) && ((S.maxnight < 16)))){
nightCounterMax = 2;
} else {
if ((((S.maxnight >= 16)) && ((S.maxnight < 21)))){
nightCounterMax = 3;
} else {
if ((((S.maxnight >= 21)) && ((S.maxnight < 26)))){
nightCounterMax = 4;
} else {
if ((((S.maxnight >= 26)) && ((S.maxnight < 30)))){
nightCounterMax = 5;
} else {
if (S.maxnight >= 30){
nightCounterMax = 6;
};
};
};
};
};
};
};
bg_main.submenu.menu.daytxt.text = String(C.NIGHT_ARRAY[0]);
if (nightCounter == nightCounterMax){
bg_main.submenu.menu.subarrownext.visible = false;
} else {
bg_main.submenu.menu.subarrownext.visible = true;
};
bg_main.submenu.menu.subarrowback.visible = false;
} else {
bg_main.submenu.menu.subarrownext.visible = false;
bg_main.submenu.menu.subarrowback.visible = false;
};
}
public function submenuStartGame():void{
progress.removeProgressButtonsForMenu();
hideMenuCover();
SoundManager.instance.stopMusic();
S.s_streak = 0;
S.killsMadeForSurvival = 0;
S.partnerRescuedTimes = 0;
scoreHUD.awesome_meter.awesomefill1.visible = false;
scoreHUD.awesome_meter.awesomefill2.visible = false;
scoreHUD.awesome_meter.awesomefill3.visible = false;
bg_main.submenu.gotoAndPlay("disappear");
bg_main.gotoAndPlay("transit_out");
transitOutTimer.start();
setBGMtype();
S.partnerRescued = true;
S.daysWithoutPartner = 0;
MochiUtils.resetVariables();
scoreHUD.updateScore();
Save.writeCookie(true);
}
private function setBGMtype():void{
if (bg_main.submenu.menu.btn_music1.currentLabel == "selected"){
S.bgmType = 1;
bg_main.submenu.menu.musictxt.text = C.BGM_TITLE_1;
};
if (bg_main.submenu.menu.btn_music2.currentLabel == "selected"){
S.bgmType = 2;
bg_main.submenu.menu.musictxt.text = C.BGM_TITLE_2;
};
if (bg_main.submenu.menu.btn_music3.currentLabel == "selected"){
S.bgmType = 3;
bg_main.submenu.menu.musictxt.text = C.BGM_TITLE_3;
};
if (bg_main.submenu.menu.btn_music4.currentLabel == "selected"){
S.bgmType = 4;
bg_main.submenu.menu.musictxt.text = C.BGM_TITLE_4;
};
scoreHUD.bgmNo = S.bgmType;
}
private function removeSubMenuButtons():void{
EC.remove("SUB_START_CLICK");
EC.remove("SUB_START_ROLLOVER");
EC.remove("SUB_START_IDLE");
EC.remove("SUB_BACK_CLICK");
EC.remove("SUB_BACK_ROLLOVER");
EC.remove("SUB_BACK_IDLE");
EC.remove("SUB_MUSIC1_IDLE");
EC.remove("SUB_MUSIC1_ROLLOVER");
EC.remove("SUB_MUSIC1_CLICK");
EC.remove("SUB_MUSIC2_IDLE");
EC.remove("SUB_MUSIC2_ROLLOVER");
EC.remove("SUB_MUSIC2_CLICK");
EC.remove("SUB_FRAME1_CLICK");
EC.remove("SUB_FRAME1_ROLLOVER");
EC.remove("SUB_FRAME1_IDLE");
EC.remove("SUB_CHAR_CLICK");
EC.remove("SUB_ARROWNEXT_ROLLOVER");
EC.remove("SUB_ARROWNEXT_IDLE");
EC.remove("SUB_ARROWNEXT_CLICK");
EC.remove("SUB_ARROWBACK_ROLLOVER");
EC.remove("SUB_ARROWBACK_IDLE");
EC.remove("SUB_ARROWBACK_CLICK");
EC.remove("CLEAR_IDLE");
EC.remove("CLEAR_ROLLOVER");
EC.remove("CLEAR_CLICK");
EC.remove("SUB_LOAD_CLICK");
}
public function setMenuButtons2():void{
bg_main.rollovericon.gamestart.visible = true;
bg_main.rollovericon.gamestart.gotoAndPlay(1);
bg_main.rollovericon.progress.visible = false;
bg_main.rollovericon.control.visible = false;
bg_main.rollovericon.highscore.visible = false;
bg_main.rollovericon.credit.visible = false;
bg_main.btn_walkthrough.gotoAndStop("idle");
bg_main.btn_walkthrough.visible = false;
EC.add(bg_main.btn_facebook, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://www.facebook.com/#!/pages/Armor-Games/19522089061");
navigateToURL(_local2, "_blank");
}, false, 0, true, "FACEBOOK_CLICK");
EC.add(bg_main.btn_twitter, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://twitter.com/#!/armorgames");
navigateToURL(_local2, "_blank");
}, false, 0, true, "TWITTER_CLICK");
EC.add(bg_main.btn_armorblog, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://armorgames.com/");
navigateToURL(_local2, "_blank");
}, false, 0, true, "BLOG_CLICK");
EC.add(bg_main.btn_secretbase, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://secretbase.com.sg/");
navigateToURL(_local2, "_blank");
}, false, 0, true, "SECRETBASE_CLICK");
EC.add(bg_main.btn_mochi, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
var _local2:URLRequest;
if (Web.fromSite == Web.FROM_ADDICTINGGAMES){
_local2 = new URLRequest("http://blog.addictinggames.com/2011/01/bitejacker");
} else {
_local2 = new URLRequest("http://www.mochigames.com/?utm_source=sponsored_game&utm_medium=more_games&utm_content=bitejacker&utm_campaign=sponsored_game");
};
navigateToURL(_local2, "_blank");
}, false, 0, true, "MOCHI_CLICK");
EC.add(bg_main.btn_walkthrough, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://www.mochigames.com/games/bitejacker/?utm_source=sponsored_game&utm_medium=walkthrough&utm_content=bitejacker&utm_campaign=sponsored_game");
navigateToURL(_local2, "_blank");
}, false, 0, true, "WALKTHROUGH_CLICK");
EC.add(bg_main.btn_walkthrough, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.btn_walkthrough.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "WALKTHROUGH_ROLLOVER");
EC.add(bg_main.btn_walkthrough, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.btn_walkthrough.gotoAndStop("idle");
}, false, 0, true, "WALKTHROUGH_IDLE");
bg_main.btn_GGshop.gotoAndStop("idle");
if (!Web.mochiCoinDisabled){
EC.add(bg_main.btn_survival, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (bg_main.btn_survival.currentLabel == "normal rollover"){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
S.gameMode = C.SURVIVAL_MODE;
showMenuCover();
bg_main.submenu.visible = true;
moveToTop(bg_main.submenu);
bg_main.submenu.gotoAndPlay(1);
setSubMenuButtons();
removeMenuButtons2();
};
}, false, 0, true, "SURVIVAL_CLICK");
EC.add(bg_main.btn_survival, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (S.survivalModeUnlocked){
bg_main.btn_survival.gotoAndStop("normal rollover");
} else {
bg_main.btn_survival.gotoAndStop("locked rollover");
};
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "SURVIVAL_ROLLOVER");
EC.add(bg_main.btn_survival, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (S.survivalModeUnlocked){
bg_main.btn_survival.gotoAndStop("normal");
} else {
bg_main.btn_survival.gotoAndStop("locked");
};
}, false, 0, true, "SURVIVAL_IDLE");
EC.add(bg_main.btn_GGshop, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
MochiUtils.showStore();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
}, false, 0, true, "GAMERSHOP_CLICK");
EC.add(bg_main.btn_GGshop, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.btn_GGshop.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "GAMERSHOP_ROLLOVER");
EC.add(bg_main.btn_GGshop, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.btn_GGshop.gotoAndStop("idle");
}, false, 0, true, "GAMERSHOP_IDLE");
};
EC.add(bg_main.btn_start, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
S.gameMode = C.NORMAL_MODE;
showMenuCover();
bg_main.submenu.visible = true;
moveToTop(bg_main.submenu);
bg_main.submenu.gotoAndPlay(1);
setSubMenuButtons();
removeMenuButtons2();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
}, false, 0, true, "MENU_START");
EC.add(bg_main.btn_start, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.rollovericon.gamestart.visible = false;
bg_main.rollovericon.progress.visible = false;
bg_main.rollovericon.control.visible = false;
bg_main.rollovericon.highscore.visible = false;
bg_main.rollovericon.credit.visible = false;
startIdle = false;
S.menuSelected = 1;
bg_main.rollovericon.gamestart.visible = true;
bg_main.rollovericon.gamestart.gotoAndPlay(1);
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "MENU_START_ROLLOVER");
EC.add(bg_main.btn_start, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.rollovericon.gamestart.visible = false;
startIdle = true;
checkButtonsIdle();
}, false, 0, true, "MENU_START_IDLE");
EC.add(bg_main.btn_progress, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
progress.visible = true;
progress.setProgressButtonsForMenu();
progress.initPageOneInfo();
progress.initPageTwoInfo();
progress.initPageThreeInfo();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
showMenuCover();
progress.play();
SoundManager.instance.playSound(Sounds.PROGBOOKDROP);
}, false, 0, true, "MENU_PROGRESS");
EC.add(bg_main.btn_progress, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.rollovericon.gamestart.visible = false;
bg_main.rollovericon.progress.visible = false;
bg_main.rollovericon.control.visible = false;
bg_main.rollovericon.highscore.visible = false;
bg_main.rollovericon.credit.visible = false;
bg_main.rollovericon.progress.visible = true;
bg_main.rollovericon.progress.gotoAndPlay(1);
progressIdle = false;
S.menuSelected = 2;
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "MENU_PROGRESS_ROLLOVER");
EC.add(bg_main.btn_progress, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.rollovericon.progress.visible = false;
progressIdle = true;
checkButtonsIdle();
}, false, 0, true, "MENU_PROGRESS_IDLE");
EC.add(bg_main.btn_control, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
control.visible = true;
control.gotoAndPlay("appear");
SoundManager.instance.playSound(Sounds.YESBUTTON2);
showMenuCover();
}, false, 0, true, "MENU_CONTROL");
EC.add(bg_main.btn_control, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.rollovericon.gamestart.visible = false;
bg_main.rollovericon.progress.visible = false;
bg_main.rollovericon.control.visible = false;
bg_main.rollovericon.highscore.visible = false;
bg_main.rollovericon.credit.visible = false;
bg_main.rollovericon.control.visible = true;
bg_main.rollovericon.control.gotoAndPlay(1);
controlIdle = false;
S.menuSelected = 3;
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "MENU_CONTROL_ROLLOVER");
EC.add(bg_main.btn_control, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.rollovericon.control.visible = false;
controlIdle = true;
checkButtonsIdle();
}, false, 0, true, "MENU_CONTROL_IDLE");
EC.add(bg_main.btn_highscore, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
SoundManager.instance.playSound(Sounds.YESBUTTON2);
ArmorGamesUtils.showScoreboard();
MochiUtils.showMochiLeaderboard(MochiConst.LEADERBOARD_STORY);
}, false, 0, true, "MENU_HIGHSCORE");
EC.add(bg_main.btn_highscore, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.rollovericon.gamestart.visible = false;
bg_main.rollovericon.progress.visible = false;
bg_main.rollovericon.control.visible = false;
bg_main.rollovericon.highscore.visible = false;
bg_main.rollovericon.credit.visible = false;
bg_main.rollovericon.highscore.visible = true;
bg_main.rollovericon.highscore.gotoAndPlay(1);
highscoreIdle = false;
S.menuSelected = 4;
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "MENU_HIGHSCORE_ROLLOVER");
EC.add(bg_main.btn_highscore, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.rollovericon.highscore.visible = false;
highscoreIdle = true;
checkButtonsIdle();
}, false, 0, true, "MENU_HIGHSCORE_IDLE");
EC.add(bg_main.btn_credit, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
credit.gotoAndPlay("appear");
showMenuCover();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
credit.visible = true;
}, false, 0, true, "MENU_CREDIT");
EC.add(bg_main.btn_credit, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
bg_main.rollovericon.gamestart.visible = false;
bg_main.rollovericon.progress.visible = false;
bg_main.rollovericon.control.visible = false;
bg_main.rollovericon.highscore.visible = false;
bg_main.rollovericon.credit.visible = false;
bg_main.rollovericon.credit.visible = true;
bg_main.rollovericon.credit.gotoAndPlay(1);
creditIdle = false;
S.menuSelected = 5;
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "MENU_CREDIT_ROLLOVER");
EC.add(bg_main.btn_credit, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
bg_main.rollovericon.credit.visible = false;
creditIdle = true;
checkButtonsIdle();
}, false, 0, true, "MENU_CREDIT_IDLE");
MochiUtils.showMochiLoginWidget(true);
mochiVolume = 0;
}
private function checkButtonsIdle():void{
bg_main.rollovericon.gamestart.visible = false;
bg_main.rollovericon.progress.visible = false;
bg_main.rollovericon.control.visible = false;
bg_main.rollovericon.highscore.visible = false;
bg_main.rollovericon.credit.visible = false;
switch (S.menuSelected){
case 1:
bg_main.rollovericon.gamestart.visible = true;
bg_main.rollovericon.gamestart.gotoAndPlay(1);
break;
case 2:
bg_main.rollovericon.progress.visible = true;
bg_main.rollovericon.progress.gotoAndPlay(1);
break;
case 3:
bg_main.rollovericon.control.visible = true;
bg_main.rollovericon.control.gotoAndPlay(1);
break;
case 4:
bg_main.rollovericon.highscore.visible = true;
bg_main.rollovericon.highscore.gotoAndPlay(1);
break;
case 5:
bg_main.rollovericon.credit.visible = true;
bg_main.rollovericon.credit.gotoAndPlay(1);
break;
};
}
private function removeMenuButtons2():void{
EC.remove("MENU_START");
EC.remove("MENU_START_ROLLOVER");
EC.remove("MENU_START_IDLE");
EC.remove("MENU_PROGRESS");
EC.remove("MENU_PROGRESS_ROLLOVER");
EC.remove("MENU_PROGRESS_IDLE");
EC.remove("MENU_CONTROL");
EC.remove("MENU_CONTROL_ROLLOVER");
EC.remove("MENU_CONTROL_IDLE");
EC.remove("MENU_HIGHSCORE");
EC.remove("MENU_HIGHSCORE_ROLLOVER");
EC.remove("MENU_HIGHSCORE_IDLE");
EC.remove("MENU_CREDIT");
EC.remove("MENU_CREDIT_ROLLOVER");
EC.remove("MENU_CREDIT_IDLE");
EC.remove("GAMERSHOP_CLICK");
EC.remove("GAMERSHOP_ROLLOVER");
EC.remove("GAMERSHOP_IDLE");
EC.remove("SURVIVAL_CLICK");
EC.remove("SURVIVAL_ROLLOVER");
EC.remove("SURVIVAL_IDLE");
EC.remove("SECRETBASE_CLICK");
EC.remove("FACEBOOK_CLICK");
EC.remove("TWITTER_CLICK");
EC.remove("BLOG_CLICK");
EC.remove("MOCHI_CLICK");
}
private function removeVictoryScreen():void{
removeVictoryStat();
removeShop();
clearEverything();
resetScoreHUD();
if (stage.contains(dayCount)){
stage.removeChild(dayCount);
};
if (stage.contains(veilMask)){
stage.removeChild(veilMask);
};
}
private function removeSurvivalVictoryScreen():void{
stage.removeChild(survivalvictoryHUD);
removeShop();
clearEverything();
resetScoreHUD();
if (stage.contains(veilMask)){
stage.removeChild(veilMask);
};
}
private function goGamePlay():void{
gotoAndStop("game play");
}
private function transitOutTimerHandler(_arg1:TimerEvent):void{
goGamePlay();
removeMenuButtons();
}
private function gameCompleteTimerHandler(_arg1:TimerEvent):void{
victoryHUD.visible = false;
if (stage.contains(dayCount)){
stage.removeChild(dayCount);
};
stage.addChild(creditsEnd);
creditsEnd.addEventListeners();
}
public function showGameEndScreen():void{
stage.addChild(gameoverQuit);
gameoverQuit.initGameOverQuitForVictory();
gameoverQuit.visible = true;
SoundManager.instance.stopMusic();
SoundManager.instance.playMusic(Sounds.BGM_GAMEOVER);
gameoverQuit.gotoAndPlay(1);
}
private function victoryTransitOutTimerHandler(_arg1:TimerEvent):void{
trace(("TRUELEVEL = " + S.trueLevel));
if (S.gameMode == C.NORMAL_MODE){
if ((((((((((((S.trueLevel == 3)) || ((S.trueLevel == 8)))) || ((S.trueLevel == 13)))) || ((S.trueLevel == 18)))) || ((S.trueLevel == 23)))) || ((S.trueLevel == 28)))){
victoryHUD.addMonsterProgress();
} else {
if (((((S.bossStage) && (!(S.PAGE3_ACHIEVEMENT_BOSS_1)))) && ((S.trueLevel == 10)))){
victoryHUD.addIncompleteDay();
} else {
if (((((S.bossStage) && (!(S.PAGE3_ACHIEVEMENT_BOSS_2)))) && ((S.trueLevel == 20)))){
victoryHUD.addIncompleteDay();
} else {
if (((((S.bossStage) && (!(S.PAGE3_ACHIEVEMENT_BOSS_3)))) && ((S.trueLevel == 30)))){
victoryHUD.addIncompleteDay();
} else {
victoryTransitOutFunction();
};
};
};
};
} else {
victoryTransitOutFunction();
};
S.bossStage = false;
}
public function victoryTransitOutFunction():void{
if (S.gameMode == C.NORMAL_MODE){
removeVictoryScreen();
} else {
removeSurvivalVictoryScreen();
};
goGamePlay();
increaseNightCount();
S.gamePaused = false;
}
private function victoryQuitTransitOutTimerHandler(_arg1:TimerEvent):void{
MochiUtils.postHighscores(gameoverQuit.inputName.text);
ArmorGamesUtils.submitHighscores(gameoverQuit.inputName.text);
clearBulletSprite();
ourPlayer.switchToDefaultWeapon();
gameoverQuit.visible = false;
stage.removeChild(gameoverQuit);
if (S.gameMode == C.NORMAL_MODE){
removeVictoryScreen();
} else {
removeSurvivalVictoryScreen();
};
clearPlayer();
mainMenu();
resetNightCount();
S.gamePaused = false;
}
private function victoryQuitMoneyTimerHandler(_arg1:TimerEvent):void{
stage.addChild(gameoverQuit);
gameoverQuit.initGameOverQuitForVictory();
gameoverQuit.visible = true;
SoundManager.instance.stopMusic();
SoundManager.instance.playMusic(Sounds.BGM_GAMEOVER);
gameoverQuit.gotoAndPlay(1);
}
private function survivalVictoryQuitMoneyTimerHandler(_arg1:TimerEvent):void{
stage.addChild(gameoverQuit);
gameoverQuit.initGameOverQuitForVictory();
gameoverQuit.visible = true;
SoundManager.instance.stopMusic();
SoundManager.instance.playMusic(Sounds.BGM_GAMEOVER);
gameoverQuit.gotoAndPlay(1);
}
private function gameContinueMoneyTimerHandler(_arg1:TimerEvent):void{
stage.removeChild(gameoverHUD);
gameoverContinue.visible = true;
gameoverContinue.play();
gameoverContinueTransitOutTimer.start();
}
private function gameQuitMoneyTimerHandler(_arg1:TimerEvent):void{
stage.removeChild(gameoverHUD);
gameoverQuit.visible = true;
SoundManager.instance.stopMusic();
SoundManager.instance.playMusic(Sounds.BGM_GAMEOVER);
gameoverQuit.gotoAndPlay(1);
gameoverQuit.initGameOverQuit();
}
private function pauseQuitMoneyTimerHandler(_arg1:TimerEvent):void{
pauseMenu.visible = false;
pauseGame();
stage.addChild(gameoverQuit);
gameoverQuit.initGameOverQuitForPause();
gameoverQuit.visible = true;
SoundManager.instance.stopMusic();
SoundManager.instance.playMusic(Sounds.BGM_GAMEOVER);
gameoverQuit.gotoAndPlay(1);
pauseMenu.visible = false;
MochiUtils.showMochiLoginWidget(false);
}
private function gameoverQuitTransitOutTimerHandler(_arg1:TimerEvent):void{
MochiUtils.postHighscores(gameoverQuit.inputName.text);
ArmorGamesUtils.submitHighscores(gameoverQuit.inputName.text);
clearEverything();
clearPlayer();
gameoverQuit.visible = false;
stage.removeChild(gameoverQuit);
mainMenu();
resetNightCount();
}
private function pauseQuitTransitOutTimerHandler(_arg1:TimerEvent):void{
MochiUtils.postHighscores(gameoverQuit.inputName.text);
ArmorGamesUtils.submitHighscores(gameoverQuit.inputName.text);
gameoverQuit.visible = false;
stage.removeChild(gameoverQuit);
quitGame();
S.gamePaused = false;
}
private function victoryQuitTimerHandler(_arg1:TimerEvent):void{
goBackMenu();
}
private function gameoverQuitTimerHandler(_arg1:TimerEvent):void{
gameoverGoBackMenu();
}
private function pauseQuitTimerHandler(_arg1:TimerEvent):void{
pauseGoBackMenu();
}
private function gameoverContinueTransitOutTimerHandler(_arg1:TimerEvent):void{
gameoverContinue.visible = false;
resetScoreHUD();
clearEverything();
mainMenu();
clearBulletSpriteWhenPlayerDead();
goGamePlay();
}
public function addSurvivalVictoryStat():void{
stage.addChild(survivalvictoryHUD);
survivalvictoryHUD.gotoAndPlay(1);
survivalvictoryHUD.visible = true;
survivalvictoryHUD.setStageClearButtons();
survivalvictoryHUD.btn_shop.gotoAndStop("idle");
}
public function addVictoryStat():void{
stage.addChild(victoryHUD);
victoryHUD.visible = true;
victoryHUD.initValues();
victoryHUD.setStageClearButtons();
if (((S.bossStage) && (!(S.bossFight)))){
victoryHUD.victory_boss.play();
} else {
victoryHUD.Victory_Stats.play();
};
var _local1 = 5;
var _local2:int;
var _local3:int;
var _local4:int;
while (_local4 < Survivors.length) {
victoryHUD.addChild(Survivors[_local4]);
if ((((((((((((((((((((((((((survivorList[_local4] is antSurvivor)) || ((survivorList[_local4] is jonSurvivor)))) || ((Survivors[_local4] is GUIvip_gravityBone)))) || ((Survivors[_local4] is GUIvip_johnLocke)))) || ((Survivors[_local4] is GUIvip_Mochi)))) || ((Survivors[_local4] is GUIvip_Dtoid)))) || ((Survivors[_local4] is GUIvip_Mario)))) || ((Survivors[_local4] is GUIvip_Metroid)))) || ((Survivors[_local4] is GUIvip_MJ)))) || ((Survivors[_local4] is GUIvip_Ness)))) || ((Survivors[_local4] is GUIvip_otaCon)))) || ((Survivors[_local4] is GUIvip_Peach)))) || ((Survivors[_local4] is GUIvip_Snake)))){
_local3 = (_local3 + 1);
if (((((((!((S.trueLevel == 10))) && (!((S.trueLevel == 20))))) && (!((S.trueLevel == 30))))) && ((S.gameMode == C.NORMAL_MODE)))){
Survivors[_local4].x = (416 + ((_local3 - 1) * (Survivors[_local4].width + _local1)));
Survivors[_local4].y = 334;
Survivors[_local4].visible = true;
moveToTop(Survivors[_local4]);
} else {
Survivors[_local4].visible = false;
};
} else {
_local2 = (_local2 + 1);
Survivors[_local4].x = (416 + ((_local2 - 1) * (Survivors[_local4].width + _local1)));
Survivors[_local4].y = 272;
moveToTop(Survivors[_local4]);
};
if ((((((((Survivors[_local4] is GUIvip_Metroid)) || ((Survivors[_local4] is GUIvip_Ness)))) || ((Survivors[_local4] is GUIsur_teddyGirl)))) || ((Survivors[_local4] is GUIcombatant_jable)))){
S.childrenSaved = (S.childrenSaved + 1);
};
_local4++;
};
victoryHUD.updateRescueMoney(_local3, _local2);
updateMoneyForVictory();
victoryHUD.btn_shop.gotoAndStop("idle");
}
public function removeVictoryStat():void{
victoryHUD.removeStageClearButtons();
var _local1:int;
while (_local1 < Survivors.length) {
if (victoryHUD.contains(Survivors[_local1])){
victoryHUD.removeChild(Survivors[_local1]);
};
_local1++;
};
Survivors = [];
stage.removeChild(victoryHUD);
}
public function hideVictoryStat():void{
if (S.gameMode == C.NORMAL_MODE){
victoryHUD.visible = false;
} else {
survivalvictoryHUD.visible = false;
};
}
public function showVictoryStat():void{
if (S.gameMode == C.NORMAL_MODE){
moveToTop(victoryHUD);
victoryHUD.visible = true;
} else {
moveToTop(survivalvictoryHUD);
survivalvictoryHUD.visible = true;
};
}
public function addShop():void{
shop = new Shop(stage, root);
stage.addChild(shop);
shop.updateMoney(S.money);
shop.setShopButtons();
}
public function removeShop():void{
shop.removeShopButtons();
stage.removeChild(shop);
}
public function showShop():void{
if (S.gameMode == C.NORMAL_MODE){
victoryHUD.removeSpaceBar();
} else {
survivalvictoryHUD.removeSpaceBar();
};
shop.visible = true;
shop.play();
SoundManager.instance.playSound(Sounds.SHOP_HELLO);
shop.updateMembership();
cursor.useHandCursorMC();
moveToTop(shop);
}
public function hideShop():void{
shop.visible = false;
cursor.usePointerCursorMC();
updateMoneyForAll();
if (S.stageCleared){
if (S.gameMode == C.NORMAL_MODE){
victoryHUD.addSpaceBar();
} else {
survivalvictoryHUD.addSpaceBar();
};
};
}
public function addProgress():void{
stage.addChild(progress);
progress.initPageOneInfo();
progress.initPageTwoInfo();
progress.initPageThreeInfo();
progress.setProgressButtons();
}
public function showProgress():void{
progress.visible = true;
progress.initPageOneInfo();
progress.initPageTwoInfo();
progress.initPageThreeInfo();
progress.play();
moveToTop(progress);
SoundManager.instance.playSound(Sounds.PROGBOOKDROP);
if (S.gameMode == C.NORMAL_MODE){
victoryHUD.removeSpaceBar();
} else {
survivalvictoryHUD.removeSpaceBar();
};
}
public function hideProgress():void{
progress.visible = false;
progress.resetPages();
if (S.gameMode == C.NORMAL_MODE){
victoryHUD.addSpaceBar();
} else {
survivalvictoryHUD.addSpaceBar();
};
}
public function removeProgress():void{
stage.removeChild(progress);
}
public function startGame():void{
scoreHUD.updateScore();
S.stageCleared = false;
S.playerDash = false;
scoreHUD.btn_pause.visible = true;
scoreHUD.btn_mute.visible = true;
scoreHUD.scorecounter.visible = true;
var _local1:int;
while (_local1 < Survivors.length) {
scoreHUD.removeChild(Survivors[_local1]);
_local1++;
};
S.partnerSpawned = false;
S.daysPlayed++;
if (S.charSelected == C.ANT){
scoreHUD.playerportrait.visible = true;
scoreHUD.jonportrait.visible = false;
} else {
scoreHUD.playerportrait.visible = false;
scoreHUD.jonportrait.visible = true;
};
scoreHUD = SingletonUtil.singleton(ScoreHUD);
scoreHUD.kills.gotoAndStop(1);
progress.removeProgressButtonsForMenu();
switch (S.rank){
case 1:
scoreHUD.playRankOneMusic();
break;
case 2:
scoreHUD.playRankTwoMusic();
break;
case 3:
scoreHUD.playRankThreeMusic();
break;
};
scoreHUD.setRankAndBarUsingStreak();
if (S.gameMode == C.NORMAL_MODE){
gamePlayTimer.start();
};
S.moneyMade = 0;
S.killsMade = 0;
S.playerUnfreezeAll();
initPauseMenuButtons();
addChildForLayers();
resetCamera();
resetWorth();
scoreHUD.setFrameType();
scoreHUD.money.visible = true;
scoreHUD.night.visible = true;
scoreHUD.day.visible = true;
scoreHUD.awesome_meter.visible = true;
scoreHUD.resetCombo();
scoreHUD.kill.visible = true;
scoreHUD.kill.text = String(S.killsMade);
scoreHUD.skullcoinicon.visible = true;
if (ourPlayer == null){
createPlayer();
initBulletSprite();
drawBulletSprite();
replenishBulletSprite();
} else {
playerReset();
clearBulletSprite();
initBulletSprite();
drawBulletSprite();
replenishBulletSprite();
ourPlayer.addEventListeners();
};
reduceBulletSprite();
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "gameloop");
initHUD();
S.gameMovementFreeze = true;
if (S.gameMode == C.NORMAL_MODE){
stage.addChild(readyClip);
readyClip.updateNightValue();
readyClip.play();
} else {
if (S.gameMode == C.SURVIVAL_MODE){
stage.addChild(survivalreadyClip);
survivalreadyClip.updateNightValue();
survivalreadyClip.play();
};
};
S.pauseDisabled = true;
S.bossFight = false;
S.bossStage = false;
spawnPointArray = [];
if (S.gameMode == C.NORMAL_MODE){
newLevel(S.trueLevel);
} else {
if (S.gameMode == C.SURVIVAL_MODE){
noSpawnMovieClip = null;
SurvivalMode.buildLevel(S.trueLevel);
loadTile(0);
};
};
stage.addChild(pauseMenu);
pauseMenu.visible = false;
stage.addChild(stageMask);
if (S.trueLevel == 1){
scoreHUD.addCheckTimer();
};
}
private function gamePlayTimerHandler(_arg1:TimerEvent):void{
S.gameplaytime = (S.gameplaytime + 1);
}
private function initBitmaps():void{
BulletBitmap.init();
ObjectBitmap.init();
ZombieBitmap.init();
PlayerBitmap.init();
SurvivorBitmap.init();
}
public function initHUD():void{
scoreHUD.x = -5;
scoreHUD.y = -5;
scoreHUD.setLives(S.playerHP);
scoreHUD.setMagazine(ourPlayer.gunArray[ourPlayer.gunNo].magazine);
}
private function addChildForLayers():void{
maskLayer.addChild(streetSprite);
maskLayer.addChild(objectFloorLayer);
maskLayer.addChild(deathLayer);
maskLayer.addChild(trailLayer);
maskLayer.addChild(coinLayer);
maskLayer.addChild(depthLayer);
maskLayer.addChild(bulletLayer);
maskLayer.addChild(lampLightLayer);
maskLayer.addChild(ufoZombieLayer);
maskLayer.cacheAsBitmap = true;
if ((((((S.gameMode == C.NORMAL_MODE)) && ((S.trueLevel >= C.FOG_OF_WAR_DAY_START)))) && ((S.trueLevel <= C.FOG_OF_WAR_DAY_END)))){
maskLayer.mask = maskSprite;
maskLayer.addChild(maskSprite);
} else {
maskLayer.mask = null;
};
stage.addChild(maskLayer);
stage.addChild(chatLayer);
stage.addChild(deadMeatStainLayer);
stage.addChild(scoreHUD);
stage.addChild(stats);
stage.addChild(stageMask);
}
private function increaseNightCount():void{
S.nightCount++;
setNightCountValueForAll();
if (S.trueLevel > S.maxnight){
S.maxnight = S.trueLevel;
};
}
private function setNightCount(_arg1:int):void{
S.nightCount = _arg1;
setNightCountValueForAll();
S.groundhogDayStuck = 0;
}
private function resetNightCount():void{
S.nightCount = 1;
setNightCountValueForAll();
S.groundhogDayStuck = 0;
}
private function setNightCountValueForAll():void{
scoreHUD.updateNightValue();
dayCount.updateNightValue();
readyClip.updateNightValue();
survivalreadyClip.updateNightValue();
}
public function initSurvivorSprite():void{
if (rescuedList[(rescuedList.length - 1)].fatLady){
GUI_sur_fatLady = new GUIsur_fatLady();
Survivors.push(GUI_sur_fatLady);
} else {
if (rescuedList[(rescuedList.length - 1)].fatMan){
GUI_sur_fatMan = new GUIsur_fatMan();
Survivors.push(GUI_sur_fatMan);
} else {
if (rescuedList[(rescuedList.length - 1)].oldLady){
GUI_sur_Olady = new GUIsur_Olady();
Survivors.push(GUI_sur_Olady);
} else {
if (rescuedList[(rescuedList.length - 1)].slimGirl){
GUI_sur_slimGirl = new GUIsur_slimGirl();
Survivors.push(GUI_sur_slimGirl);
} else {
if (rescuedList[(rescuedList.length - 1)].teddyGirl){
GUI_sur_teddyGirl = new GUIsur_teddyGirl();
Survivors.push(GUI_sur_teddyGirl);
} else {
if (rescuedList[(rescuedList.length - 1)].adam){
GUI_sur_adam = new GUIsur_adam();
Survivors.push(GUI_sur_adam);
} else {
if (rescuedList[(rescuedList.length - 1)].nunWhite){
GUI_sur_nunWhite = new GUIsur_nunWhite();
Survivors.push(GUI_sur_nunWhite);
} else {
if (rescuedList[(rescuedList.length - 1)].nunBlack){
GUI_sur_nunBlack = new GUIsur_nunBlack();
Survivors.push(GUI_sur_nunBlack);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].gravityBone))){
GUI_vip_gravityBone = new GUIvip_gravityBone();
Survivors.push(GUI_vip_gravityBone);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].johnLocke))){
GUI_vip_johnLocke = new GUIvip_johnLocke();
Survivors.push(GUI_vip_johnLocke);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].mario))){
GUI_vip_Mario = new GUIvip_Mario();
Survivors.push(GUI_vip_Mario);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].metroid))){
GUI_vip_Metroid = new GUIvip_Metroid();
Survivors.push(GUI_vip_Metroid);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].Mj))){
GUI_vip_MJ = new GUIvip_MJ();
Survivors.push(GUI_vip_MJ);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].ness))){
GUI_vip_Ness = new GUIvip_Ness();
Survivors.push(GUI_vip_Ness);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].otaCon))){
GUI_vip_otaCon = new GUIvip_otaCon();
Survivors.push(GUI_vip_otaCon);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].peach))){
GUI_vip_Peach = new GUIvip_Peach();
Survivors.push(GUI_vip_Peach);
} else {
if (rescuedList[(rescuedList.length - 1)].Jon){
GUI_vip_Jon = new GUIvip_Jon();
Survivors.push(GUI_vip_Jon);
} else {
if (rescuedList[(rescuedList.length - 1)].Ant){
GUI_vip_Ant = new GUIvip_Ant();
Survivors.push(GUI_vip_Ant);
} else {
if (rescuedList[(rescuedList.length - 1)].pacMan){
GUI_combatant_pacMan_fightless = new GUIcombatant_pacMan_fightless();
Survivors.push(GUI_combatant_pacMan_fightless);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].snake))){
GUI_vip_Snake = new GUIvip_Snake();
Survivors.push(GUI_vip_Snake);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].mochiBot))){
GUI_vip_Mochi = new GUIvip_Mochi();
Survivors.push(GUI_vip_Mochi);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is vipSurvivor)) && (rescuedList[(rescuedList.length - 1)].dtoid))){
GUI_vip_Dtoid = new GUIvip_Dtoid();
Survivors.push(GUI_vip_Dtoid);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is combatSurvivor)) && (rescuedList[(rescuedList.length - 1)].blackFatCombat))){
GUI_combatant_blackFat = new GUIcombatant_blackFat();
Survivors.push(GUI_combatant_blackFat);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is combatSurvivor)) && (rescuedList[(rescuedList.length - 1)].blackManCombat))){
GUI_combatant_blackMan = new GUIcombatant_blackMan();
Survivors.push(GUI_combatant_blackMan);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is combatSurvivor)) && (rescuedList[(rescuedList.length - 1)].businessManCombat))){
GUI_combatant_businessMan = new GUIcombatant_businessMan();
Survivors.push(GUI_combatant_businessMan);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is combatSurvivor)) && (rescuedList[(rescuedList.length - 1)].fatManCombat))){
GUI_combatant_fatMan = new GUIcombatant_fatMan();
Survivors.push(GUI_combatant_fatMan);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is combatSurvivor)) && (rescuedList[(rescuedList.length - 1)].pacManCombat))){
GUI_combatant_pacMan = new GUIcombatant_pacMan();
Survivors.push(GUI_combatant_pacMan);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is combatSurvivor)) && (rescuedList[(rescuedList.length - 1)].hunkManCombat))){
GUI_combatant_hunk = new GUIcombatant_Hunk();
Survivors.push(GUI_combatant_hunk);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is combatSurvivor)) && (rescuedList[(rescuedList.length - 1)].hardBoilCombat))){
GUI_combatant_hunk = new GUIcombatant_hardboil();
Survivors.push(GUI_combatant_hunk);
} else {
if ((((rescuedList[(rescuedList.length - 1)] is combatSurvivor)) && (rescuedList[(rescuedList.length - 1)].jableCombat))){
GUI_combatant_hunk = new GUIcombatant_jable();
Survivors.push(GUI_combatant_hunk);
} else {
GUI_survivor = new GUIsurvivor();
Survivors.push(GUI_survivor);
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
}
public function drawSurvivorSprite():void{
var _local1 = 5;
var _local2:int = Survivors.length;
var _local3:int;
var _local4:int;
var _local5:int;
while (_local5 < _local2) {
scoreHUD.addChild(Survivors[_local5]);
if ((_local5 % 2) == 0){
_local3 = (_local3 + 1);
Survivors[_local5].x = (249 - ((_local3 - 1) * (Survivors[_local5].width + _local1)));
Survivors[_local5].y = 13;
} else {
_local4 = (_local4 + 1);
Survivors[_local5].x = (369 + ((_local4 - 1) * (Survivors[_local5].width + _local1)));
Survivors[_local5].y = 13;
};
_local5++;
};
}
public function clearSurvivorSprite():void{
var _local1:int;
while (_local1 < Survivors.length) {
if (scoreHUD.contains(Survivors[_local1])){
scoreHUD.removeChild(Survivors[_local1]);
};
_local1++;
};
Survivors = [];
}
public function reduceSurvivorSprite(_arg1:int):void{
Survivors.splice(_arg1, 1);
}
public function setGun():void{
scoreHUD.setGun(ourPlayer.gunArray[ourPlayer.gunNo].weaponName);
scoreHUD.magazine.text = ourPlayer.gunArray[ourPlayer.gunNo].magazine;
}
public function reinitBulletSprite():void{
initBulletSprite();
drawBulletSprite();
replenishBulletSprite();
}
public function initBulletSprite():void{
Bullets = [];
var _local1:int;
while (_local1 < ourPlayer.gunArray[ourPlayer.gunNo].ammoMax) {
GUI_bullet = new GUIbullet();
Bullets.push(GUI_bullet);
_local1++;
};
}
public function drawBulletSprite():void{
var _local1 = 3;
var _local2:int = ourPlayer.gunArray[ourPlayer.gunNo].ammoMax;
scoreHUD.setMagazine(ourPlayer.gunArray[ourPlayer.gunNo].magazine);
var _local3:int;
while (_local3 < _local2) {
scoreHUD.addChild(Bullets[_local3]);
Bullets[_local3].gotoAndStop("ammo_ON");
if ((ourPlayer.gunArray[ourPlayer.gunNo] is HeavyMachineGun)){
if (_local3 < 15){
Bullets[_local3].x = (45 + (_local3 * (Bullets[_local3].width + _local1)));
Bullets[_local3].y = 45;
scoreHUD.x_mc.x = (Bullets[_local3].x + 4);
scoreHUD.magazine.x = (scoreHUD.x_mc.x + 9);
scoreHUD.infinite.x = (scoreHUD.x_mc.x + 9);
} else {
Bullets[_local3].x = (45 + ((_local3 - 15) * (Bullets[_local3].width + _local1)));
Bullets[_local3].y = ((45 + Bullets[_local3].height) + 2);
};
} else {
Bullets[_local3].x = (45 + (_local3 * (Bullets[_local3].width + _local1)));
Bullets[_local3].y = 45;
scoreHUD.x_mc.x = (Bullets[_local3].x + 4);
scoreHUD.magazine.x = (scoreHUD.x_mc.x + 9);
scoreHUD.infinite.x = (scoreHUD.x_mc.x + 9);
};
_local3++;
};
}
public function setNoOfBullets(_arg1:int):void{
numOfBullets = _arg1;
}
public function clearBulletSpriteWhenPlayerDead():void{
var _local1:int;
while (_local1 < numOfBullets) {
if (scoreHUD.contains(Bullets[_local1])){
scoreHUD.removeChild(Bullets[_local1]);
};
_local1++;
};
}
public function clearBulletSprite():void{
trace(ourPlayer.gunArray[ourPlayer.gunNo]);
var _local1:int;
while (_local1 < ourPlayer.gunArray[ourPlayer.gunNo].ammoMax) {
if (scoreHUD.contains(Bullets[_local1])){
scoreHUD.removeChild(Bullets[_local1]);
};
_local1++;
};
}
public function reduceBulletSprite():void{
var _local1:int = (ourPlayer.gunArray[ourPlayer.gunNo].ammoMax - 1);
while (_local1 >= ourPlayer.gunArray[ourPlayer.gunNo].ammoLeft) {
Bullets[_local1].gotoAndStop("ammo_OFF");
_local1--;
};
}
public function replenishBulletSprite():void{
var _local1:int;
while (_local1 < ourPlayer.gunArray[ourPlayer.gunNo].ammoMax) {
Bullets[_local1].gotoAndStop("ammo_ON");
_local1++;
};
}
private function checkUnlockables(_arg1:TimerEvent):void{
if (S.dmgTaken >= C.ACHIEVEMENT_MAXHP_1){
if (!S.ACHIEVEMENT_MAXHP_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("MAX HP 1");
achieveClipDescrip.push(1);
S.ACHIEVEMENT_MAXHP_1 = true;
};
};
if (S.dmgTaken >= C.ACHIEVEMENT_MAXHP_2){
if (!S.ACHIEVEMENT_MAXHP_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("MAX HP 2");
achieveClipDescrip.push(1);
S.ACHIEVEMENT_MAXHP_2 = true;
};
};
if (S.dmgTaken >= C.ACHIEVEMENT_MAXHP_3){
if (!S.ACHIEVEMENT_MAXHP_3){
achieveClipArray.push(achieveClip);
achieveClipText.push("MAX HP 3");
achieveClipDescrip.push(1);
S.ACHIEVEMENT_MAXHP_3 = true;
};
};
if (S.dmgTaken >= C.ACHIEVEMENT_MAXHP_4){
if (!S.ACHIEVEMENT_MAXHP_4){
achieveClipArray.push(achieveClip);
achieveClipText.push("MAX HP 4");
achieveClipDescrip.push(1);
S.ACHIEVEMENT_MAXHP_4 = true;
};
};
if (S.totalmoneymade >= C.ACHIEVEMENT_COINMAG_1){
if (!S.ACHIEVEMENT_COINMAG_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("COIN MAGNET 1");
achieveClipDescrip.push(2);
S.ACHIEVEMENT_COINMAG_1 = true;
};
};
if (S.totalmoneymade >= C.ACHIEVEMENT_COINMAG_2){
if (!S.ACHIEVEMENT_COINMAG_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("COIN MAGNET 2");
achieveClipDescrip.push(2);
S.ACHIEVEMENT_COINMAG_2 = true;
};
};
if (S.totalmoneymade >= C.ACHIEVEMENT_COINMAG_3){
if (!S.ACHIEVEMENT_COINMAG_3){
achieveClipArray.push(achieveClip);
achieveClipText.push("COIN MAGNET 3");
achieveClipDescrip.push(2);
S.ACHIEVEMENT_COINMAG_3 = true;
};
};
if (S.totalmoneymade >= C.ACHIEVEMENT_COINMAG_4){
if (!S.ACHIEVEMENT_COINMAG_4){
achieveClipArray.push(achieveClip);
achieveClipText.push("COIN MAGNET 4");
achieveClipDescrip.push(2);
S.ACHIEVEMENT_COINMAG_4 = true;
};
};
if (S.totalobjectsearched >= C.ACHIEVEMENT_SEARCH_1){
if (!S.ACHIEVEMENT_SEARCH_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("SEARCH SPEED 1");
achieveClipDescrip.push(3);
S.ACHIEVEMENT_SEARCH_1 = true;
};
};
if (S.totalobjectsearched >= C.ACHIEVEMENT_SEARCH_2){
if (!S.ACHIEVEMENT_SEARCH_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("SEARCH SPEED 2");
achieveClipDescrip.push(3);
S.ACHIEVEMENT_SEARCH_2 = true;
};
};
if (S.totalobjectsearched >= C.ACHIEVEMENT_SEARCH_3){
if (!S.ACHIEVEMENT_SEARCH_3){
achieveClipArray.push(achieveClip);
achieveClipText.push("SEARCH SPEED 3");
achieveClipDescrip.push(3);
S.ACHIEVEMENT_SEARCH_3 = true;
};
};
if (S.totalobjectsearched >= C.ACHIEVEMENT_SEARCH_4){
if (!S.ACHIEVEMENT_SEARCH_4){
achieveClipArray.push(achieveClip);
achieveClipText.push("SEARCH SPEED 4");
achieveClipDescrip.push(3);
S.ACHIEVEMENT_SEARCH_4 = true;
};
};
if (S.distanceTraveled >= C.ACHIEVEMENT_SPEED_1){
if (!S.ACHIEVEMENT_SPEED_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("SPEED 1");
achieveClipDescrip.push(4);
S.ACHIEVEMENT_SPEED_1 = true;
};
};
if (S.distanceTraveled >= C.ACHIEVEMENT_SPEED_2){
if (!S.ACHIEVEMENT_SPEED_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("SPEED 2");
achieveClipDescrip.push(4);
S.ACHIEVEMENT_SPEED_2 = true;
};
};
if (S.distanceTraveled >= C.ACHIEVEMENT_SPEED_3){
if (!S.ACHIEVEMENT_SPEED_3){
achieveClipArray.push(achieveClip);
achieveClipText.push("SPEED 3");
achieveClipDescrip.push(4);
S.ACHIEVEMENT_SPEED_3 = true;
};
};
if (S.distanceTraveled >= C.ACHIEVEMENT_SPEED_4){
if (!S.ACHIEVEMENT_SPEED_4){
achieveClipArray.push(achieveClip);
achieveClipText.push("SPEED 4");
achieveClipDescrip.push(4);
S.ACHIEVEMENT_SPEED_4 = true;
};
};
if (S.distanceMoonWalked >= C.ACHIEVEMENT_MOONWALK_1){
if (!S.ACHIEVEMENT_MOONWALK_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("MOONWALK 1");
achieveClipDescrip.push(5);
S.ACHIEVEMENT_MOONWALK_1 = true;
};
};
if (S.distanceMoonWalked >= C.ACHIEVEMENT_MOONWALK_2){
if (!S.ACHIEVEMENT_MOONWALK_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("MOONWALK 2");
achieveClipDescrip.push(5);
S.ACHIEVEMENT_MOONWALK_2 = true;
};
};
if (S.distanceMoonWalked >= C.ACHIEVEMENT_MOONWALK_3){
if (!S.ACHIEVEMENT_MOONWALK_3){
achieveClipArray.push(achieveClip);
achieveClipText.push("MOONWALK 3");
achieveClipDescrip.push(5);
S.ACHIEVEMENT_MOONWALK_3 = true;
};
};
if (S.distanceMoonWalked >= C.ACHIEVEMENT_MOONWALK_4){
if (!S.ACHIEVEMENT_MOONWALK_4){
achieveClipArray.push(achieveClip);
achieveClipText.push("MOONWALK 4");
achieveClipDescrip.push(5);
S.ACHIEVEMENT_MOONWALK_4 = true;
};
};
if (S.reloadTimes >= C.ACHIEVEMENT_RELOAD_1){
if (!S.ACHIEVEMENT_RELOAD_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("RELOAD 1");
achieveClipDescrip.push(6);
S.ACHIEVEMENT_RELOAD_1 = true;
};
};
if (S.reloadTimes >= C.ACHIEVEMENT_RELOAD_2){
if (!S.ACHIEVEMENT_RELOAD_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("RELOAD 2");
achieveClipDescrip.push(6);
S.ACHIEVEMENT_RELOAD_2 = true;
};
};
if (S.reloadTimes >= C.ACHIEVEMENT_RELOAD_3){
if (!S.ACHIEVEMENT_RELOAD_3){
achieveClipArray.push(achieveClip);
achieveClipText.push("RELOAD 3");
achieveClipDescrip.push(6);
S.ACHIEVEMENT_RELOAD_3 = true;
};
};
if (S.reloadTimes >= C.ACHIEVEMENT_RELOAD_4){
if (!S.ACHIEVEMENT_RELOAD_4){
achieveClipArray.push(achieveClip);
achieveClipText.push("RELOAD 4");
achieveClipDescrip.push(6);
S.ACHIEVEMENT_RELOAD_4 = true;
};
};
if (S.ammoSearched >= C.ACHIEVEMENT_AMMO_1){
if (!S.ACHIEVEMENT_AMMO_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("AMMO FOUND 1");
achieveClipDescrip.push(7);
achievement.updateAmmo();
S.ACHIEVEMENT_AMMO_1 = true;
};
};
if (S.ammoSearched >= C.ACHIEVEMENT_AMMO_2){
if (!S.ACHIEVEMENT_AMMO_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("AMMO FOUND 2");
achieveClipDescrip.push(7);
achievement.updateAmmo();
S.ACHIEVEMENT_AMMO_2 = true;
};
};
if (S.ammoSearched >= C.ACHIEVEMENT_AMMO_3){
if (!S.ACHIEVEMENT_AMMO_3){
achieveClipArray.push(achieveClip);
achieveClipText.push("AMMO FOUND 3");
achieveClipDescrip.push(7);
achievement.updateAmmo();
S.ACHIEVEMENT_AMMO_3 = true;
};
};
if (S.ammoSearched >= C.ACHIEVEMENT_AMMO_4){
if (!S.ACHIEVEMENT_AMMO_4){
achieveClipArray.push(achieveClip);
achieveClipText.push("AMMO FOUND 4");
achieveClipDescrip.push(7);
achievement.updateAmmo();
S.ACHIEVEMENT_AMMO_4 = true;
};
};
if (S.actionUsed >= C.ACHIEVEMENT_ACTION_1){
if (!S.ACHIEVEMENT_ACTION_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("ACTION USED 1");
achieveClipDescrip.push(8);
S.ACHIEVEMENT_ACTION_1 = true;
};
};
if (S.actionUsed >= C.ACHIEVEMENT_ACTION_2){
if (!S.ACHIEVEMENT_ACTION_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("ACTION USED 2");
achieveClipDescrip.push(8);
S.ACHIEVEMENT_ACTION_2 = true;
};
};
if (S.specialUsed >= C.ACHIEVEMENT_SPECIAL_1){
if (!S.ACHIEVEMENT_SPECIAL_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("SPECIAL USED 1");
achieveClipDescrip.push(9);
S.ACHIEVEMENT_SPECIAL_1 = true;
};
};
if (S.specialUsed >= C.ACHIEVEMENT_SPECIAL_2){
if (!S.ACHIEVEMENT_SPECIAL_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("SPECIAL USED 2");
achieveClipDescrip.push(9);
S.ACHIEVEMENT_SPECIAL_2 = true;
};
};
if (S.totalmoneyspent >= C.ACHIEVEMENT_MEMBERSHIP_1){
if (!S.ACHIEVEMENT_MEMBERSHIP_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("MEMBERSHIP 1");
achieveClipDescrip.push(10);
achievement.updateMembership();
if (shop){
shop.updateMembership();
};
S.ACHIEVEMENT_MEMBERSHIP_1 = true;
};
};
if (S.totalmoneyspent >= C.ACHIEVEMENT_MEMBERSHIP_2){
if (!S.ACHIEVEMENT_MEMBERSHIP_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("MEMBERSHIP 2");
achieveClipDescrip.push(10);
achievement.updateMembership();
if (shop){
shop.updateMembership();
};
S.ACHIEVEMENT_MEMBERSHIP_2 = true;
};
};
if (S.totalmoneyspent >= C.ACHIEVEMENT_MEMBERSHIP_3){
if (!S.ACHIEVEMENT_MEMBERSHIP_3){
achieveClipArray.push(achieveClip);
achieveClipText.push("MEMBERSHIP 3");
achieveClipDescrip.push(10);
achievement.updateMembership();
if (shop){
shop.updateMembership();
};
S.ACHIEVEMENT_MEMBERSHIP_3 = true;
};
};
if (S.totalmoneyspent >= C.ACHIEVEMENT_MEMBERSHIP_4){
if (!S.ACHIEVEMENT_MEMBERSHIP_4){
achieveClipArray.push(achieveClip);
achieveClipText.push("MEMBERSHIP 4");
achieveClipDescrip.push(10);
achievement.updateMembership();
if (shop){
shop.updateMembership();
};
S.ACHIEVEMENT_MEMBERSHIP_4 = true;
};
};
if (S.shophealthBought >= C.ACHIEVEMENT_SHOPHEALTH_1){
if (!S.ACHIEVEMENT_SHOPHEALTH_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("SHOP HEALTH 1");
achieveClipDescrip.push(11);
S.shophealthLevel = 1;
if (shop){
shop.unlockHealthLevel1();
};
S.ACHIEVEMENT_SHOPHEALTH_1 = true;
};
};
if (S.shophealthBought >= C.ACHIEVEMENT_SHOPHEALTH_2){
if (!S.ACHIEVEMENT_SHOPHEALTH_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("SHOP HEALTH 2");
achieveClipDescrip.push(11);
S.shophealthLevel = 2;
if (shop){
shop.unlockHealthLevel2();
};
S.ACHIEVEMENT_SHOPHEALTH_2 = true;
};
};
if (S.shopammoBought >= C.ACHIEVEMENT_SHOPAMMO_1){
if (!S.ACHIEVEMENT_SHOPAMMO_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("SHOP AMMO 1");
achieveClipDescrip.push(12);
S.shopammoLevel = 1;
if (shop){
shop.unlockAmmoLevel1();
};
S.ACHIEVEMENT_SHOPAMMO_1 = true;
};
};
if (S.shopammoBought >= C.ACHIEVEMENT_SHOPAMMO_2){
if (!S.ACHIEVEMENT_SHOPAMMO_2){
achieveClipArray.push(achieveClip);
achieveClipText.push("SHOP AMMO 2");
achieveClipDescrip.push(12);
S.shopammoLevel = 2;
if (shop){
shop.unlockAmmoLevel2();
};
S.ACHIEVEMENT_SHOPAMMO_2 = true;
};
};
if (S.mgun1kills >= C.ACHIEVEMENT_MGUN1KILLS_1){
if (!S.ACHIEVEMENT_MGUN1KILLS_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("MGUN1 KILLS");
achieveClipDescrip.push(13);
S.ACHIEVEMENT_MGUN1KILLS_1 = true;
};
};
if (S.sgun1kills >= C.ACHIEVEMENT_SGUN1KILLS_1){
if (!S.ACHIEVEMENT_SGUN1KILLS_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("SGUN1 KILLS");
achieveClipDescrip.push(14);
S.ACHIEVEMENT_SGUN1KILLS_1 = true;
};
};
if (S.agun1kills >= C.ACHIEVEMENT_AGUN1KILLS_1){
if (!S.ACHIEVEMENT_AGUN1KILLS_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("AGUN1 KILLS");
achieveClipDescrip.push(15);
S.ACHIEVEMENT_AGUN1KILLS_1 = true;
};
};
if (S.mgun2kills >= C.ACHIEVEMENT_MGUN2KILLS_1){
if (!S.ACHIEVEMENT_MGUN2KILLS_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("MGUN2 KILLS");
achieveClipDescrip.push(16);
S.ACHIEVEMENT_MGUN2KILLS_1 = true;
};
};
if (S.sgun2kills >= C.ACHIEVEMENT_SGUN2KILLS_1){
if (!S.ACHIEVEMENT_SGUN2KILLS_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("SGUN2 KILLS");
achieveClipDescrip.push(17);
S.ACHIEVEMENT_SGUN2KILLS_1 = true;
};
};
if (S.agun2kills >= C.ACHIEVEMENT_AGUN2KILLS_1){
if (!S.ACHIEVEMENT_AGUN2KILLS_1){
achieveClipArray.push(achieveClip);
achieveClipText.push("AGUN2 KILLS");
achieveClipDescrip.push(18);
S.ACHIEVEMENT_AGUN2KILLS_1 = true;
};
};
if (S.moneyMadeStageOne >= C.PAGE3_ACHIEVEMENT_1){
if (!S.PAGE3_ACHIEVEMENT_1){
monsterCardArray.push(monsterCard);
monsterCardType.push("angry");
S.PAGE3_ACHIEVEMENT_1 = true;
};
};
if (S.totalSurvivorsStageOne >= C.PAGE3_ACHIEVEMENT_2){
if (!S.PAGE3_ACHIEVEMENT_2){
monsterCardArray.push(monsterCard);
monsterCardType.push("deadmeat");
S.PAGE3_ACHIEVEMENT_2 = true;
};
};
if (S.totalKillsStageOne >= C.PAGE3_ACHIEVEMENT_3){
if (!S.PAGE3_ACHIEVEMENT_3){
monsterCardArray.push(monsterCard);
monsterCardType.push("maxzombie1");
S.zombieCountLevel = 1;
S.PAGE3_ACHIEVEMENT_3 = true;
};
};
if (((((S.PAGE3_ACHIEVEMENT_1) && (S.PAGE3_ACHIEVEMENT_2))) && (S.PAGE3_ACHIEVEMENT_3))){
if (!S.PAGE3_ACHIEVEMENT_BOSS_1){
monsterCardArray.push(monsterCardBoss);
monsterCardType.push("boss1");
S.PAGE3_ACHIEVEMENT_BOSS_1 = true;
};
};
if (S.moneyMadeStageTwo >= C.PAGE3_ACHIEVEMENT_4){
if (!S.PAGE3_ACHIEVEMENT_4){
monsterCardArray.push(monsterCard);
monsterCardType.push("trap");
S.PAGE3_ACHIEVEMENT_4 = true;
};
};
if (S.totalSurvivorsStageTwo >= C.PAGE3_ACHIEVEMENT_5){
if (!S.PAGE3_ACHIEVEMENT_5){
monsterCardArray.push(monsterCard);
monsterCardType.push("alien");
S.PAGE3_ACHIEVEMENT_5 = true;
};
};
if (S.totalKillsStageTwo >= C.PAGE3_ACHIEVEMENT_6){
if (!S.PAGE3_ACHIEVEMENT_6){
monsterCardArray.push(monsterCard);
monsterCardType.push("maxattack");
S.dmgLevel = 1;
S.PAGE3_ACHIEVEMENT_6 = true;
};
};
if (((((S.PAGE3_ACHIEVEMENT_4) && (S.PAGE3_ACHIEVEMENT_5))) && (S.PAGE3_ACHIEVEMENT_6))){
if (!S.PAGE3_ACHIEVEMENT_BOSS_2){
monsterCardArray.push(monsterCardBoss);
monsterCardType.push("boss2");
S.PAGE3_ACHIEVEMENT_BOSS_2 = true;
};
};
if (S.moneyMadeStageThree >= C.PAGE3_ACHIEVEMENT_7){
if (!S.PAGE3_ACHIEVEMENT_7){
monsterCardArray.push(monsterCard);
monsterCardType.push("obese");
S.PAGE3_ACHIEVEMENT_7 = true;
};
};
if (S.totalSurvivorsStageThree >= C.PAGE3_ACHIEVEMENT_8){
if (!S.PAGE3_ACHIEVEMENT_8){
monsterCardArray.push(monsterCard);
monsterCardType.push("chinese");
S.PAGE3_ACHIEVEMENT_8 = true;
};
};
if (S.totalKillsStageThree >= C.PAGE3_ACHIEVEMENT_9){
if (!S.PAGE3_ACHIEVEMENT_9){
monsterCardArray.push(monsterCard);
monsterCardType.push("maxzombie2");
S.zombieCountLevel = 2;
S.PAGE3_ACHIEVEMENT_9 = true;
};
};
if (((((S.PAGE3_ACHIEVEMENT_7) && (S.PAGE3_ACHIEVEMENT_8))) && (S.PAGE3_ACHIEVEMENT_9))){
if (!S.PAGE3_ACHIEVEMENT_BOSS_3){
monsterCardArray.push(monsterCardBoss);
monsterCardType.push("boss3");
S.PAGE3_ACHIEVEMENT_BOSS_3 = true;
};
};
progress.initPageTwoInfo();
achievement.checkAchievements();
}
private function showAchievementCards(_arg1:Event):void{
if (monsterCardArray.length > 0){
if (monsterCardArray[0].currentLabel != "stop"){
monsterCardArray[0].play();
};
if (!monsterCardIsPlaying){
monsterCardIsPlaying = true;
stage.addChild(monsterCardArray[0]);
moveToTop(monsterCardArray[0]);
monsterCardArray[0].card.gotoAndStop(monsterCardType[0]);
if (monsterCardType[0] == "boss1"){
monsterCardArray[0].card1.gotoAndStop("angry");
monsterCardArray[0].card2.gotoAndStop("deadmeat");
monsterCardArray[0].card3.gotoAndStop("maxzombie1");
};
if (monsterCardType[0] == "boss2"){
monsterCardArray[0].card1.gotoAndStop("trap");
monsterCardArray[0].card2.gotoAndStop("alien");
monsterCardArray[0].card3.gotoAndStop("maxattack");
};
if (monsterCardType[0] == "boss3"){
monsterCardArray[0].card1.gotoAndStop("obese");
monsterCardArray[0].card2.gotoAndStop("chinese");
monsterCardArray[0].card3.gotoAndStop("maxzombie2");
};
monsterCardArray[0].gotoAndPlay("Appear");
pauseGameForMonsterCard();
};
if (monsterCardArray[0].currentLabel == "stop"){
monsterCardArray[0].setMonsterCardButtons();
};
if (monsterCardArray[0].currentFrame == monsterCardArray[0].totalFrames){
stage.removeChild(monsterCardArray[0]);
monsterCardArray.splice(0, 1);
monsterCardType.splice(0, 1);
monsterCardIsPlaying = false;
if (!S.stageCleared){
resumeGame();
};
S.pauseDisabled = false;
if (monsterCardArray.length > 0){
monsterCardArray[0].gotoAndPlay("Appear");
} else {
return;
};
};
};
if (achieveClipArray.length > 0){
stage.addChild(achieveClipArray[0]);
moveToTop(achieveClipArray[0]);
achieveClipArray[0].x = 297;
achieveClipArray[0].y = 488;
achieveClipArray[0].achievement_txt.text = achieveClipText[0];
achieveClipArray[0].description_txt.gotoAndStop(achieveClipDescrip[0]);
achieveClipArray[0].icon.gotoAndStop(achieveClipDescrip[0]);
achieveClipArray[0].play();
if (achieveClipArray[0].currentFrame == 1){
SoundManager.instance.playSound(Sounds.ACHIEVEMENTUNLOCK1, 1);
};
if (achieveClipArray[0].currentFrame == 40){
SoundManager.instance.playSound(Sounds.ACHIEVEMENTUNLOCK2, 1);
};
if (achieveClipArray[0].currentFrame == 50){
SoundManager.instance.playSound(Sounds.ACHIEVEMENTUNLOCK3, 1);
};
if (achieveClipArray[0].currentFrame == achieveClipArray[0].totalFrames){
stage.removeChild(achieveClipArray[0]);
achieveClipArray.splice(0, 1);
achieveClipText.splice(0, 1);
achieveClipDescrip.splice(0, 1);
achievementIsPlaying = false;
};
};
}
public function updateMembership():void{
achievement.updateMembership();
}
private function loop(_arg1:Event):void{
if (!S.gamePaused){
S.timer = (S.timer + (getTimer() - frameTimer));
};
loopStuff();
frameTimer = getTimer();
if (MouseClass.mouseHold){
if (((scoreHUD.btn_mute.hitTestPoint(stage.mouseX, stage.mouseY)) && (!(S.mouseDown)))){
S.mouseDown = true;
};
if (((scoreHUD.btn_pause.hitTestPoint(stage.mouseX, stage.mouseY)) && (!(S.mouseDown)))){
S.mouseDown = true;
};
} else {
if (S.mouseDown){
if (scoreHUD.btn_mute.hitTestPoint(stage.mouseX, stage.mouseY)){
S.muteState = (S.muteState + 1);
if (S.muteState > C.MUTE_BOTH){
S.muteState = C.MUTE_NONE;
};
scoreHUD.muteSound();
};
if (scoreHUD.btn_pause.hitTestPoint(stage.mouseX, stage.mouseY)){
if (!S.gamePaused){
setPauseMusicText();
setPauseBossProg();
pauseGame();
};
};
};
S.mouseDown = false;
};
}
private function loopStuff():void{
var _local1:int;
var _local2:PlayerDeath;
var _local3:JonDeath;
victoryHUD.removeSpaceBar();
count++;
zombieSpawnFunction();
scoreHUD.updateCombo();
scoreHUD.updateMoney(S.money);
if (S.gameMode == C.NORMAL_MODE){
if (readyClip.currentFrame == 25){
_local1 = ((S.trueLevel - 1) / 10);
if (S.bossKilledArray[_local1] == false){
readyClip.groundhog.visible = true;
};
};
if (readyClip.currentFrame == readyClip.totalFrames){
stage.removeChild(readyClip);
S.gameMovementFreeze = false;
S.gamePaused = false;
S.pauseDisabled = false;
MochiUtils.hideLoginWidget();
};
} else {
if (S.gameMode == C.SURVIVAL_MODE){
if (survivalreadyClip.currentFrame == survivalreadyClip.totalFrames){
stage.removeChild(survivalreadyClip);
S.gameMovementFreeze = false;
S.gamePaused = false;
S.pauseDisabled = false;
MochiUtils.hideLoginWidget();
};
};
};
if (!ourPlayer){
return;
};
playerMask.x = ourPlayer.x;
playerMask.y = ourPlayer.y;
if ((count % 2) == 0){
checkZombieAOESlow();
checkZombieToZombieCollision();
};
if ((count % 4) == 0){
checkZombieLeftBehind();
};
scoreHUD.setGun(ourPlayer.gunArray[ourPlayer.gunNo].weaponName);
if (!S.gamePaused){
changeCursor();
};
ammoCount(ourPlayer.gunArray[ourPlayer.gunNo].ammoLeft);
scoreHUD.setMagazine(ourPlayer.gunArray[ourPlayer.gunNo].magazine);
sortZ(depthLayer);
if (((exitMovieClip) && (ourPlayer.pCollisionBox.hitTestObject(exitMovieClip)))){
stageClear();
};
if (((door) && (ourPlayer.pCollisionBox.hitTestObject(door)))){
stageClear();
};
if (ourPlayer.dead){
if (!S.firstTimePlay){
S.firstTimePlay = true;
};
setNoOfBullets(ourPlayer.gunArray[ourPlayer.gunNo].ammoMax);
ourPlayer.removeSelf();
if (S.charSelected == C.ANT){
_local2 = new PlayerDeath(stage, ourPlayer.x, ourPlayer.y);
EC.add(_local2, C.ANIMATION_COMPLETE, playerDeadAnimationComplete, false, 0, true);
stage.addChild(_local2);
} else {
_local3 = new JonDeath(stage, root, ourPlayer.x, ourPlayer.y);
stage.addChild(_local3);
};
ourPlayer = null;
return;
};
if (count > 4000000000){
count = 0;
};
}
private function lamecoinfunction():void{
var _local1:int;
while (_local1 < coinList.length) {
_local1++;
};
}
private function zombieSpawnFunction():void{
var _local3:int;
if (((((((S.gamePaused) || (((S.timer - lastSpawnTime) < C.ZOMBIE_SPAWN_RATE)))) || (!(ourPlayer)))) || ((((S.gameMode == C.NORMAL_MODE)) && (Paths.isFreddyStage(S.trueLevel)))))){
return;
};
if (((noSpawnMovieClip) && (ourPlayer.pCollisionBox.hitTestObject(noSpawnMovieClip)))){
return;
};
var _local1:int;
var _local2:int;
while (_local2 < 100) {
_local3 = calculateMaxSpawn();
if (currentZombieWorth < _local3){
randomZombieSpawn();
lastSpawnTime = S.timer;
_local1 = (_local1 + enemyList[(length - 1)].worth);
if (_local1 >= C.ZOMBIE_SPAWN_MAX_VALUE){
return;
};
};
_local2++;
};
}
private function randomZombieSpawn():void{
var _local1:Array = [];
if (S.gameMode == C.NORMAL_MODE){
_local1 = Paths.getZombieSpawnType(S.trueLevel);
} else {
if (S.gameMode == C.SURVIVAL_MODE){
_local1 = SurvivalMode.getZombieSpawnArray(S.trueLevel);
};
};
var _local2:int = NumberUtil.randomIntegerWithinRange(0, (_local1.length - 1));
var _local3:String = _local1[_local2];
var _local4 = this;
_local4[("create" + _local3)]();
}
public function checkZombieLeftBehind():void{
var _local3:Number;
var _local1:int = enemyList.length;
var _local2:int;
while (_local2 < _local1) {
if ((((((enemyList[_local2] is Jason)) || ((enemyList[_local2] is Alien)))) || ((enemyList[_local2] is Freddy)))){
} else {
_local3 = enemyList[_local2].y;
if ((enemyList[_local2] is UFOZombie)){
_local3 = (enemyList[_local2] as UFOZombie).getTrueY();
};
if ((_local3 - ourPlayer.y) >= C.ZOMBIE_LEFT_BEHIND){
currentZombieWorth = (currentZombieWorth - enemyList[_local2].worth);
enemyList[_local2].removeSelf();
return;
};
};
_local2++;
};
}
public function checkZombieAOESlow():void{
ourPlayer.isStruggle = false;
if (ourPlayer.inAntSpecialMode()){
return;
};
var _local1:int = enemyList.length;
var _local2:Number = ourPlayer.x;
var _local3:Number = ourPlayer.y;
var _local4:int;
while (_local4 < _local1) {
if ((enemyList[_local4] is UFOZombie)){
} else {
if (Utils.BoundingCircle(enemyList[_local4].x, enemyList[_local4].y, _local2, _local3, C.ZOMBIE_AOE_SLOW)){
ourPlayer.isStruggle = true;
return;
};
};
_local4++;
};
}
public function checkZombieToZombieCollision():void{
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Zombie;
var _local7:int;
var _local1:int = enemyList.length;
var _local2:int;
while (_local2 < _local1) {
if ((((((((((enemyList[_local2].zombieFSM == Zombie.ZOMBIE_STATE_FROZEN)) || ((enemyList[_local2] is TrapZombie)))) || ((enemyList[_local2] is UFOZombie)))) || ((enemyList.x < 0)))) || ((enemyList.x > C.GAME_WIDTH)))){
} else {
_local3 = (_local2 + 1);
while (_local3 < _local1) {
if ((((((((((enemyList[_local3].zombieFSM == Zombie.ZOMBIE_STATE_FROZEN)) || ((enemyList[_local3] is TrapZombie)))) || ((enemyList[_local3] is UFOZombie)))) || ((enemyList.x < 0)))) || ((enemyList.x > C.GAME_WIDTH)))){
} else {
if (Utils.BoundingCircle(enemyList[_local2].x, enemyList[_local2].y, enemyList[_local3].x, enemyList[_local3].y, C.ZOMBIE_COLLISION_SIZE)){
_local4 = Utils.getShortestDist(enemyList[_local2].x, enemyList[_local2].y, ourPlayer.x, ourPlayer.y);
_local5 = Utils.getShortestDist(enemyList[_local3].x, enemyList[_local3].y, ourPlayer.x, ourPlayer.y);
if (_local4 < _local5){
_local6 = enemyList[_local3];
} else {
_local6 = enemyList[_local2];
};
_local6.x = _local6.oldX;
_local6.y = _local6.oldY;
_local7 = NumberUtil.randomIntegerWithinRange(0, 1);
_local6.angle = (_local6.angle + 90);
_local6.setVelocity();
};
};
_local3++;
};
};
_local2++;
};
}
public function resetCamera():void{
cameraPos = C.GAME_GUI;
setLayersToCam();
}
public function resetWorth():void{
currentZombieWorth = 0;
currentSurvivorWorth = 0;
}
public function shiftCamera(_arg1:Number):void{
var _local2:int;
var _local4:int;
cameraPos = (cameraPos + _arg1);
setLayersToCam();
_local2 = depthLayer.numChildren;
var _local3:int;
_local3 = 0;
while (_local3 < _local2) {
if (depthLayer.getChildAt(_local3) == ourPlayer){
} else {
if ((((depthLayer.getChildAt(_local3) is Alien)) && ((depthLayer.getChildAt(_local3) as Alien).jumping))){
(depthLayer.getChildAt(_local3) as Alien).landY = ((depthLayer.getChildAt(_local3) as Alien).landY + _arg1);
};
if ((depthLayer.getChildAt(_local3) is Freddy)){
_local4 = 0;
while (_local4 < freddyBulletList.length) {
freddyBulletList[_local4].destinatedY = (freddyBulletList[_local4].destinatedY + _arg1);
_local4++;
};
(depthLayer.getChildAt(_local3) as Freddy).prevY = ((depthLayer.getChildAt(_local3) as Freddy).prevY + _arg1);
};
depthLayer.getChildAt(_local3).y = (depthLayer.getChildAt(_local3).y + _arg1);
};
_local3++;
};
_local2 = trailLayer.numChildren;
_local3 = 0;
while (_local3 < _local2) {
trailLayer.getChildAt(_local3).y = (trailLayer.getChildAt(_local3).y + _arg1);
_local3++;
};
}
private function setLayersToCam():void{
streetSprite.y = cameraPos;
deathLayer.y = cameraPos;
coinLayer.y = cameraPos;
chatLayer.y = cameraPos;
bulletLayer.y = cameraPos;
lampLightLayer.y = cameraPos;
ufoZombieLayer.y = cameraPos;
objectFloorLayer.y = cameraPos;
S.cameraPos = cameraPos;
}
public function createSearchShine(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:SearchShine = new SearchShine(chatLayer);
EC.add(_local4, Event.REMOVED_FROM_STAGE, removeSearchShine, false, 0, true);
searchShineList.push(_local4);
_local4.x = _arg1;
_local4.y = (((_arg2 + _arg3.y) + streetSprite.y) - cameraPos);
}
public function createBrick1Object(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:BreakBrick1Object = new BreakBrick1Object(depthLayer, ourPlayer);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createBrick2Object(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:BreakBrick2Object = new BreakBrick2Object(depthLayer, ourPlayer);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createRoadblock1Object(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:BreakRoadblock1Object = new BreakRoadblock1Object(depthLayer, ourPlayer);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createRoadblock2Object(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:BreakRoadblock2Object = new BreakRoadblock2Object(depthLayer, ourPlayer);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createRoadblock3Object(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:BreakRoadblock3Object = new BreakRoadblock3Object(depthLayer, ourPlayer);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createWoodstripe1Object(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:BreakWoodstripe1Object = new BreakWoodstripe1Object(depthLayer, ourPlayer);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createWoodstripe2Object(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:BreakWoodstripe2Object = new BreakWoodstripe2Object(depthLayer, ourPlayer);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createCarObject(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:ExplodeCarObject = new ExplodeCarObject(depthLayer, ourPlayer);
EC.add(_local4, "explosion", objectExplosionLoop, false, 0, true);
EC.add(_local4, "explosion", carExplosion, false, 0, true);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createVanObject(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:ExplodeVanObject = new ExplodeVanObject(depthLayer, ourPlayer);
EC.add(_local4, "explosion", objectExplosionLoop, false, 0, true);
EC.add(_local4, "explosion", carExplosion, false, 0, true);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createSearchVanObject(_arg1:Number, _arg2:Number, _arg3:MovieClip, _arg4:int):void{
var _local5:VanSearchObject = new VanSearchObject(depthLayer, ourPlayer, _arg4);
objectAddChildEventList(_local5, _arg1, _arg2, _arg3);
}
public function createSearchCarObject(_arg1:Number, _arg2:Number, _arg3:MovieClip, _arg4:int):void{
var _local5:CarSearchObject = new CarSearchObject(depthLayer, ourPlayer, _arg4);
objectAddChildEventList(_local5, _arg1, _arg2, _arg3);
}
public function createPropane1Object(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:ExplodePropane1Object = new ExplodePropane1Object(depthLayer, ourPlayer);
EC.add(_local4, "explosion", objectExplosionLoop, false, 0, true);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createPropane2Object(_arg1:Number, _arg2:Number, _arg3:MovieClip):void{
var _local4:ExplodePropane2Object = new ExplodePropane2Object(depthLayer, ourPlayer);
EC.add(_local4, "explosion", objectExplosionLoop, false, 0, true);
objectAddChildEventList(_local4, _arg1, _arg2, _arg3);
}
public function createSearchObject(_arg1:Number, _arg2:Number, _arg3:MovieClip, _arg4:int, _arg5:String):void{
var _local6:Sprite = depthLayer;
var _local7:Number = _arg2;
var _local8:Sprite;
var _local9:int = (_arg4 + 1);
if ((((((_local9 == 10)) || ((_local9 == 11)))) || ((_local9 == 15)))){
_local6 = objectFloorLayer;
_local8 = chatLayer;
_local7 = (_local7 - objectFloorLayer.y);
};
var _local10:SearchObject = new SearchObject(_local6, ourPlayer, _arg4, _arg5, _local8);
objectAddChildEventList(_local10, _arg1, _local7, _arg3, _local6);
createSearchShine(_arg1, _arg2, _arg3);
_local10.setSearchShineToSearchObject(searchShineList[(searchShineList.length - 1)]);
}
public function createIndestructibleObject(_arg1:Number, _arg2:Number, _arg3:MovieClip, _arg4:int, _arg5:int):void{
var _local6:Sprite = depthLayer;
var _local7:Number = _arg2;
var _local8:int = (((_arg5 * 4) + _arg4) + 1);
if ((((((((((((_local8 == 1)) || ((_local8 == 2)))) || ((_local8 == 3)))) || ((_local8 == 4)))) || ((_local8 == 6)))) || ((_local8 == 8)))){
_local6 = objectFloorLayer;
_local7 = (_local7 - objectFloorLayer.y);
};
var _local9:IndestructibleObstacleObject = new IndestructibleObstacleObject(_local6, ourPlayer, _arg4, _arg5);
objectAddChildEventList(_local9, _arg1, _local7, _arg3, _local6);
}
public function createBigObject(_arg1:Number, _arg2:Number, _arg3:MovieClip, _arg4:int, _arg5:int):void{
var _local6:BigObstacleObject = new BigObstacleObject(depthLayer, ourPlayer, _arg4, _arg5);
objectAddChildEventList(_local6, _arg1, _arg2, _arg3);
}
public function createLampObject(_arg1:Number, _arg2:Number, _arg3:MovieClip, _arg4:int):void{
var _local5:LampObject = new LampObject(depthLayer, ourPlayer, _arg4);
objectAddChildEventList(_local5, _arg1, _arg2, _arg3);
}
public function createLampLight(_arg1:Number, _arg2:Number, _arg3:MovieClip, _arg4:int):void{
var _local5:LampLightObject = new LampLightObject(lampLightLayer, ourPlayer, _arg4);
_local5.x = _arg1;
_local5.y = (_arg2 + _arg3.y);
lampLightLayer.addChild(_local5);
}
private function objectAddChildEventList(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:MovieClip, _arg5:Sprite=null):void{
if (!_arg5){
_arg5 = depthLayer;
};
EC.add(_arg1, Event.REMOVED_FROM_STAGE, removeObject, false, 0, true);
_arg5.addChild(_arg1);
objectList.push(_arg1);
setObjPosToPlaceHolder(_arg1, _arg2, _arg3, _arg4);
}
private function setObjPosToPlaceHolder(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:MovieClip):void{
_arg1.x = _arg2;
_arg1.y = ((_arg3 + _arg4.y) + streetSprite.y);
}
public function newLevel(_arg1:int):void{
noSpawnMovieClip = null;
Paths.buildPath(_arg1);
loadTile(0);
loadTile(1);
loadTile(2);
}
public function loadTile(_arg1:int):void{
if (_arg1 >= Paths.PathArray.length){
trace("Out of pathArray length");
return;
};
var _local2:int = Paths.getCurrentPathHeight(S.trueLevel, _arg1);
Paths.PathArray[_arg1].y = ((-(C.TILE_HEIGHT) * (_arg1 - 1)) - _local2);
streetArray.push(Paths.PathArray[_arg1]);
streetSprite.addChild(Paths.PathArray[_arg1]);
createObjectsOnStreet(Paths.PathArray[_arg1]);
}
public function newUnloadTile():void{
var _local5:Number;
if (streetArray.length == 0){
return;
};
streetSprite.removeChild(streetArray[0]);
var _local1:Array = objectList.concat();
var _local2:Number = streetArray[0].y;
var _local3:int = _local1.length;
var _local4:int;
_local4 = 0;
while (_local4 < _local3) {
_local5 = (_local1[_local4].y + _local1[_local4].layer.y);
if (_local5 > (_local2 + cameraPos)){
if (_local1[_local4].obstacle){
obstacleObjectCollisionList.safeRemoveItem(_local1[_local4]);
};
if (!_local1[_local4].indestructible){
bulletToObjectCollisionList.safeRemoveItem(_local1[_local4]);
};
_local1[_local4].removeSelf();
};
_local4++;
};
_local4 = (survivorList.length - 1);
while (_local4 >= 0) {
if (survivorList[_local4].y > (_local2 + cameraPos)){
survivorList[_local4].removeSelf();
};
_local4--;
};
_local4 = (searchShineList.length - 1);
while (_local4 >= 0) {
if (searchShineList[_local4].y > _local2){
searchShineList[_local4].removeSelf();
};
_local4--;
};
_local4 = (lampLightLayer.numChildren - 1);
while (_local4 >= 0) {
if (lampLightLayer.getChildAt(_local4).y > _local2){
lampLightLayer.removeChild(lampLightLayer.getChildAt(_local4));
};
_local4--;
};
_local3 = blockPlayerArray.length;
_local4 = (_local3 - 1);
while (_local4 >= 0) {
if (streetArray[0].contains(blockPlayerArray[_local4])){
obstacleObjectCollisionList.safeRemoveItem(blockPlayerArray[_local4]);
blockPlayerArray.splice(_local4, 1);
};
_local4--;
};
_local3 = blockPlayerBulletArray.length;
_local4 = 0;
while (_local4 < _local3) {
if (streetArray[0].contains(blockPlayerBulletArray[_local4])){
obstacleObjectCollisionList.safeRemoveItem(blockPlayerBulletArray[_local4]);
bulletToObjectCollisionList.safeRemoveItem(blockPlayerBulletArray[_local4]);
};
_local4++;
};
if (((noSpawnMovieClip) && (streetArray[0].contains(noSpawnMovieClip)))){
streetArray[0].removeChild(noSpawnMovieClip);
noSpawnMovieClip = null;
};
streetArray.splice(0, 1);
}
public function createPlayer():void{
ourPlayer = new Player(stage, root, depthLayer, bulletLayer);
EC.add(ourPlayer, "damaged", playerDamaged, false, 0, true);
EC.add(ourPlayer, "move", playerMove, false, 0, true);
EC.add(ourPlayer.gunArray[ourPlayer.gunNo], "reloaded", playerReloaded, false, 0, true);
playerMask = new MaskShape(maskSprite, ourPlayer, C.PLAYER_FOG_CIRCLE);
playerReset();
}
private function playerReset():void{
ourPlayer.x = (C.GAME_WIDTH / 2);
ourPlayer.y = (C.GAME_HEIGHT - 170);
depthLayer.addChild(ourPlayer);
scoreHUD.setGun(ourPlayer.gunArray[ourPlayer.gunNo].weaponName);
rescuedList.push(ourPlayer);
maskSprite.addChild(playerMask);
ourPlayer.setPlayerVisible(true);
}
public function createZombie():void{
var _local1:Zombie = new Zombie(depthLayer, ourPlayer);
EC.add(_local1, "killed", spawnCoinOne, false, 0, true);
zombieSetup(_local1);
}
public function createArmlessZombie():void{
var _local1:ArmlessZombie = new ArmlessZombie(depthLayer, ourPlayer);
EC.add(_local1, "killed", spawnCoinTwo, false, 0, true);
zombieSetup(_local1);
}
public function createTrapZombie():void{
var _local1:TrapZombie = new TrapZombie(depthLayer, ourPlayer);
EC.add(_local1, "killed", spawnCoinTwo, false, 0, true);
zombieSetup(_local1);
}
public function createTrapZombie2(_arg1:Number, _arg2:Number):void{
var _local3:TrapZombie = new TrapZombie(depthLayer, ourPlayer, _arg1, (_arg2 - depthLayer.y));
EC.add(_local3, "killed", spawnCoinTwo, false, 0, true);
EC.add(_local3, Event.REMOVED_FROM_STAGE, removeEnemy, false, 0, true);
EC.add(_local3, "killed", enemyKilled, false, 0, true);
enemyList.push(_local3);
depthLayer.addChild(_local3);
currentZombieWorth = (currentZombieWorth + _local3.worth);
zombieCollisionList.addItem(_local3);
}
public function createOneHandZombie():void{
var _local1:OneHandZombie = new OneHandZombie(depthLayer, ourPlayer);
EC.add(_local1, "killed", spawnCoinOne, false, 0, true);
zombieSetup(_local1);
}
public function createObeseZombie():void{
var _local1:ObeseZombie = new ObeseZombie(depthLayer, ourPlayer);
EC.add(_local1, "killed", spawnCoinTwo, false, 0, true);
zombieSetup(_local1);
}
public function createFemaleZombie():void{
var _local1:FemaleZombie = new FemaleZombie(depthLayer, ourPlayer);
EC.add(_local1, "killed", spawnCoinOne, false, 0, true);
zombieSetup(_local1);
}
public function createDeadMeatZombie():void{
var _local1:DeadMeatZombie = new DeadMeatZombie(depthLayer, ourPlayer);
EC.add(_local1, "killed", spawnCoinThree, false, 0, true);
zombieSetup(_local1);
}
public function createUFOZombie():void{
var _local1:UFOZombie = new UFOZombie(ufoZombieLayer, ourPlayer);
EC.add(_local1, "killed", spawnCoinTwo, false, 0, true);
EC.add(_local1, Event.REMOVED_FROM_STAGE, removeEnemy, false, 0, true);
EC.add(_local1, "killed", enemyKilled, false, 0, true);
enemyList.push(_local1);
currentZombieWorth = (currentZombieWorth + _local1.worth);
zombieCollisionList.addItem(_local1);
_local1.y = (0 - cameraPos);
}
public function createChineseVamp():void{
var _local1:ChineseVamp = new ChineseVamp(depthLayer, ourPlayer);
EC.add(_local1, "killed", spawnCoinThree, false, 0, true);
zombieSetup(_local1);
}
private function zombieSetup(_arg1:Zombie):void{
var _local2:Array;
var _local3:int;
var _local4:Number;
var _local5:Number;
if ((((spawnPointArray.length > 0)) && (!((_arg1 is Jason))))){
_local2 = [];
_local3 = 0;
while (_local3 < spawnPointArray.length) {
_local4 = (spawnPointArray[_local3].y + cameraPos);
spawnPointArray[_local3].visible = false;
if (Math.abs((_local4 - ourPlayer.y)) < C.TILE_HEIGHT){
_local2.push(new Point(spawnPointArray[_local3].x, spawnPointArray[_local3].y));
spawnPointArray[_local3].visible = true;
};
_local3++;
};
if (_local2.length > 0){
_local5 = NumberUtil.randomIntegerWithinRange(0, (_local2.length - 1));
_arg1.teleport(_local2[_local5].x, (_local2[_local5].y + cameraPos));
} else {
trace("No spawn point detected");
};
};
EC.add(_arg1, Event.REMOVED_FROM_STAGE, removeEnemy, false, 0, true);
EC.add(_arg1, "killed", enemyKilled, false, 0, true);
enemyList.push(_arg1);
depthLayer.addChild(_arg1);
currentZombieWorth = (currentZombieWorth + _arg1.worth);
zombieCollisionList.addItem(_arg1);
}
private function playJasonAnimation():void{
jasonAnimation = new JasonAnimation(stage, 0, ((bossAnimationY + cameraPos) + 90));
EC.add(jasonAnimation, C.ANIMATION_COMPLETE, jasonIntroAnimationComplete, false, 0, true);
SoundManager.instance.stopMusic();
SoundManager.instance.playMusic(Sounds.BGM_BOSS, 0, 9999);
stage.addChild(jasonAnimation);
S.gameMovementFreeze = true;
}
private function playAlienAnimation():void{
alienAnimation = new AlienAnimation(stage, 0, ((bossAnimationY + cameraPos) + 90));
EC.add(alienAnimation, C.ANIMATION_COMPLETE, alienIntroAnimationComplete, false, 0, true);
SoundManager.instance.stopMusic();
SoundManager.instance.playMusic(Sounds.BGM_BOSS, 0, 9999);
stage.addChild(alienAnimation);
S.gameMovementFreeze = true;
}
private function playFreddyAnimation():void{
freddyAnimation = new FreddyAnimation(stage, 0, ((bossAnimationY + cameraPos) - 60));
EC.add(freddyAnimation, C.ANIMATION_COMPLETE, freddyIntroAnimationComplete, false, 0, true);
SoundManager.instance.stopMusic();
SoundManager.instance.playMusic(Sounds.BGM_BOSS, 0, 9999);
stage.addChild(freddyAnimation);
S.gameMovementFreeze = true;
}
public function bossDead(_arg1:Event):void{
var _local2:int;
gunKilledZombie();
S.increaseKillCount(1);
if (_arg1.currentTarget.lastDamagedBy == C.DMG_TYPE_PLAYER_BULLET){
scoreHUD.updateStreak(4);
};
S.gameScore = (S.gameScore + _arg1.currentTarget.points);
scoreHUD.updateScore();
currentZombieWorth = (currentZombieWorth - _arg1.currentTarget.worth);
if (bloodList.length >= C.MAX_BLOOD_COUNT){
_local2 = 0;
while (_local2 < bloodList.length) {
if (!bloodList[_local2].fading){
bloodList[_local2].bloodFade();
break;
};
_local2++;
};
};
if ((_arg1.currentTarget is Jason)){
S.bossKilledArray[0] = true;
S.comicUnlockArray[1] = true;
S.moneyEarn(10000);
} else {
if ((_arg1.currentTarget is Alien)){
S.bossKilledArray[1] = true;
S.comicUnlockArray[2] = true;
S.moneyEarn(12000);
} else {
if ((_arg1.currentTarget is Freddy)){
S.bossKilledArray[2] = true;
S.comicUnlockArray[3] = true;
S.moneyEarn(15000);
if (!S.backInFuture){
S.clearGameStraight = true;
};
};
};
};
createBossBlood(_arg1.currentTarget.x, _arg1.currentTarget.y);
}
private function updateBossHp(_arg1:Event):void{
updateHPBar(_arg1.currentTarget.x, _arg1.currentTarget.y, _arg1.currentTarget.hitpoint, _arg1.currentTarget.maxHitpoint);
}
private function updateHPBar(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
bossHPbar.x = _arg1;
bossHPbar.y = ((_arg2 - 62) - chatLayer.y);
bossHPbar.hpbar.width = (48 * (_arg3 / _arg4));
}
public function createFreddy():void{
var _local1:Number;
var _local2:Number;
var _local3:Freddy;
_local1 = (bossAnimationX + 32);
_local2 = ((bossAnimationY + cameraPos) - 84);
_local3 = new Freddy(depthLayer, deathLayer, ourPlayer, root, stage, _local1, _local2);
bossHPbar = new bossHP();
EC.add(_local3, "killed", stopBossBGM, false, 0, true);
EC.add(_local3, "killed", spawnCoinFour, false, 0, true);
EC.add(_local3, Event.REMOVED_FROM_STAGE, removeEnemy, false, 0, true);
EC.add(_local3, "killed", bossDead, false, 0, true);
EC.add(_local3, Event.ENTER_FRAME, updateBossHp, false, 0, true);
enemyList.push(_local3);
depthLayer.addChild(_local3);
chatLayer.addChild(bossHPbar);
currentZombieWorth = (currentZombieWorth + _local3.worth);
zombieCollisionList.addItem(_local3);
}
public function createAlien():void{
var _local1:Number;
var _local2:Number;
var _local3:Alien;
_local1 = (bossAnimationX + 32);
_local2 = ((bossAnimationY + cameraPos) + 6);
_local3 = new Alien(depthLayer, ourPlayer, root, stage, _local1, _local2);
bossHPbar = new bossHP();
EC.add(_local3, "killed", stopBossBGM, false, 0, true);
EC.add(_local3, "killed", spawnCoinFour, false, 0, true);
EC.add(_local3, Event.REMOVED_FROM_STAGE, removeEnemy, false, 0, true);
EC.add(_local3, "killed", bossDead, false, 0, true);
EC.add(_local3, Event.ENTER_FRAME, updateBossHp, false, 0, true);
enemyList.push(_local3);
depthLayer.addChild(_local3);
chatLayer.addChild(bossHPbar);
currentZombieWorth = (currentZombieWorth + _local3.worth);
zombieCollisionList.addItem(_local3);
}
public function createJason():void{
var _local1:Number;
var _local2:Number;
var _local3:Jason;
_local1 = (bossAnimationX + 32);
_local2 = ((bossAnimationY + cameraPos) + 6);
_local3 = new Jason(depthLayer, ourPlayer, root, _local1, _local2);
bossHPbar = new bossHP();
EC.add(_local3, "killed", stopBossBGM, false, 0, true);
EC.add(_local3, "killed", spawnCoinFour, false, 0, true);
EC.add(_local3, Event.REMOVED_FROM_STAGE, removeEnemy, false, 0, true);
EC.add(_local3, "killed", bossDead, false, 0, true);
EC.add(_local3, Event.ENTER_FRAME, updateBossHp, false, 0, true);
enemyList.push(_local3);
depthLayer.addChild(_local3);
chatLayer.addChild(bossHPbar);
currentZombieWorth = (currentZombieWorth + _local3.worth);
zombieCollisionList.addItem(_local3);
bossAnimationX = 0;
bossAnimationY = 0;
}
public function stopBossBGM(_arg1:Event):void{
SoundManager.instance.stopMusic();
scoreHUD.playBGM();
S.bossFight = false;
}
public function createSurvivor(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Survivor;
_local5 = new Survivor(depthLayer, bulletLayer, chatLayer, ourPlayer, root, _arg1, _arg2, ((_arg3 + _arg4) + streetSprite.y));
EC.add(_local5, Event.REMOVED_FROM_STAGE, removeSurvivor, false, 0, true);
EC.add(_local5, "rescued", survivorRescued, false, 0, true);
EC.add(_local5, "killed", survivorKilled, false, 0, true);
survivorList.push(_local5);
depthLayer.addChild(_local5);
currentSurvivorWorth++;
}
public function createCombatant(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:String):void{
var _local6:String;
var _local7:combatSurvivor;
_local6 = _arg5.charAt(0);
_local7 = new combatSurvivor(depthLayer, bulletLayer, chatLayer, ourPlayer, root, _arg1, _arg2, ((_arg3 + _arg4) + streetSprite.y), _local6);
EC.add(_local7, Event.REMOVED_FROM_STAGE, removeSurvivor, false, 0, true);
EC.add(_local7, "rescued", survivorRescued, false, 0, true);
EC.add(_local7, "killed", survivorKilled, false, 0, true);
survivorList.push(_local7);
depthLayer.addChild(_local7);
currentSurvivorWorth++;
}
public function createVIP(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:vipSurvivor;
_local5 = new vipSurvivor(depthLayer, bulletLayer, chatLayer, ourPlayer, root, _arg1, _arg2, ((_arg3 + _arg4) + streetSprite.y));
EC.add(_local5, Event.REMOVED_FROM_STAGE, removeSurvivor, false, 0, true);
EC.add(_local5, "rescued", survivorRescued, false, 0, true);
EC.add(_local5, "killed", survivorKilled, false, 0, true);
survivorList.push(_local5);
depthLayer.addChild(_local5);
currentSurvivorWorth++;
}
public function createJon(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:jonSurvivor;
_local5 = new jonSurvivor(depthLayer, bulletLayer, chatLayer, ourPlayer, root, _arg1, _arg2, ((_arg3 + _arg4) + streetSprite.y));
EC.add(_local5, Event.REMOVED_FROM_STAGE, removeSurvivor, false, 0, true);
EC.add(_local5, "rescued", survivorRescued, false, 0, true);
EC.add(_local5, "killed", survivorKilled, false, 0, true);
survivorList.push(_local5);
depthLayer.addChild(_local5);
currentSurvivorWorth++;
}
public function createAnt(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:antSurvivor;
_local5 = new antSurvivor(depthLayer, bulletLayer, chatLayer, ourPlayer, root, _arg1, _arg2, ((_arg3 + _arg4) + streetSprite.y));
EC.add(_local5, Event.REMOVED_FROM_STAGE, removeSurvivor, false, 0, true);
EC.add(_local5, "rescued", survivorRescued, false, 0, true);
EC.add(_local5, "killed", survivorKilled, false, 0, true);
survivorList.push(_local5);
depthLayer.addChild(_local5);
currentSurvivorWorth++;
}
public function createCoin(_arg1:Number, _arg2:Number):void{
var _local3:Coin;
_local3 = new Coin(coinLayer, ourPlayer, _arg1, (_arg2 - coinLayer.y), 5, C.COIN_DURATION);
addCoinListAndLayerAndEvent(_local3);
}
public function createCoinTwo(_arg1:Number, _arg2:Number):void{
var _local3:CoinTwo;
_local3 = new CoinTwo(coinLayer, ourPlayer, _arg1, (_arg2 - coinLayer.y), 10, C.COIN_DURATION);
addCoinListAndLayerAndEvent(_local3);
}
public function createCoinThree(_arg1:Number, _arg2:Number):void{
var _local3:CoinThree;
_local3 = new CoinThree(coinLayer, ourPlayer, _arg1, (_arg2 - coinLayer.y), 30, C.COIN_DURATION);
addCoinListAndLayerAndEvent(_local3);
}
public function createCoinFour(_arg1:Number, _arg2:Number):void{
var _local3:CoinThree;
_local3 = new CoinThree(coinLayer, ourPlayer, _arg1, (_arg2 - coinLayer.y), 50, C.COIN_DURATION);
addCoinListAndLayerAndEvent(_local3);
}
private function addCoinListAndLayerAndEvent(_arg1:Coin):void{
coinList.push(_arg1);
coinLayer.addChild(_arg1);
EC.add(_arg1, C.COIN_EVENT_COLLECTED, coinCollect, false, 0, true);
EC.add(_arg1, Event.REMOVED_FROM_STAGE, removeCoin, false, 0, true);
}
public function createBlood(_arg1:Number, _arg2:Number, _arg3:Boolean=false):void{
var _local4:ZombieDeath;
_local4 = new ZombieDeath(deathLayer, _arg1, (_arg2 - deathLayer.y), _arg3);
bloodList.push(_local4);
deathLayer.addChild(_local4);
SoundManager.instance.playSound(Sounds.ENEMY_DEATH);
EC.add(_local4, Event.REMOVED_FROM_STAGE, removeBlood, false, 0, true);
}
public function createBossBlood(_arg1:Number, _arg2:Number):void{
var _local3:BossDeath;
_local3 = new BossDeath(deathLayer, root, _arg1, (_arg2 - deathLayer.y));
bloodList.push(_local3);
deathLayer.addChild(_local3);
SoundManager.instance.playSound(Sounds.BOSS_DEATH);
EC.add(_local3, Event.REMOVED_FROM_STAGE, removeBlood, false, 0, true);
}
public function createDeadMeatBlood(_arg1:Number, _arg2:Number):void{
var _local3:DeadMeatZombieBlood;
_local3 = new DeadMeatZombieBlood(deadMeatStainLayer, _arg1, _arg2);
deadMeatBloodList.push(_local3);
deadMeatStainLayer.addChild(_local3);
SoundManager.instance.playSound(Sounds.ENEMY_DEATH);
EC.add(_local3, Event.REMOVED_FROM_STAGE, removeBlood, false, 0, true);
}
private function streakDecrement(){
scoreHUD.updateStreak(-0.05);
}
private function changeCursor():void{
var _local1:Boolean;
var _local2:int;
_local1 = false;
_local2 = 0;
while (_local2 < enemyList.length) {
if (enemyList[_local2].hitTestPoint(cursor.x, cursor.y)){
_local1 = true;
break;
};
_local2++;
};
if (currentLabel == "game play"){
if (ourPlayer.fireFSM == C.FIRE_STATE_NONE){
if (_local1){
cursor.changeMouseCursor(C.CURSOR_TARGETED);
} else {
cursor.changeMouseCursor(C.CURSOR_AIMING);
};
} else {
if (ourPlayer.fireFSM == C.FIRE_STATE_FIRING){
cursor.changeMouseCursor(C.CURSOR_FIRE);
};
};
} else {
cursor.changeMouseCursor(C.CURSOR_NORMAL);
};
}
private function playerMovedUp(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = 0;
if (S.gameMode == C.NORMAL_MODE){
_local2 = (((Paths.PathArray.length - 2) * C.TILE_HEIGHT) + Paths.getEndPathHeight(S.trueLevel));
} else {
if (S.gameMode == C.SURVIVAL_MODE){
_local2 = 0;
};
};
if ((((streetSprite.y < _local2)) && ((ourPlayer.y < C.SCROLL_BOUND)))){
_local3 = -(streetArray[(streetArray.length - 1)].y);
if (streetSprite.y >= _local3){
_local4 = ((streetSprite.y / C.TILE_HEIGHT) + 1);
if (S.gameMode == C.NORMAL_MODE){
loadTile(_local4);
newUnloadTile();
};
};
shiftCamera(-(_arg1));
} else {
ourPlayer.y = (ourPlayer.y + _arg1);
};
if (Math.abs(((ourPlayer.y - cameraPos) - bossAnimationY)) <= C.BOSS_ANIMATION_Y){
if (bossAnimationString){
var _local5 = this;
_local5[bossAnimationString]();
bossAnimationString = "";
};
};
}
public function playerShouldMoveDown():Boolean{
return ((((ourPlayer.y <= C.SCROLL_BOUND)) || ((streetSprite.y <= (-(streetArray[0].y) + C.GAME_GUI)))));
}
public function gunKilledZombie():void{
if (ourPlayer){
switch (ourPlayer.gunArray[0].weaponName){
case "MACHINE GUN":
case "MACHINE GUN 2":
S.mgun1kills++;
S.mgun2kills++;
break;
case "HEAVY M.GUN":
S.mgun2kills++;
break;
case "SHOTGUN":
case "SHOTGUN 2":
S.sgun1kills++;
S.sgun2kills++;
break;
case "ROCKET LAUNCHER":
S.sgun2kills++;
break;
case "A.PIERCING":
case "A.PIERCING 2":
S.agun1kills++;
S.agun2kills++;
break;
case "LASER":
S.agun2kills++;
break;
};
};
}
private function enemyKilled(_arg1:Event){
var _local2:UFOExplosion;
var _local3:int;
currentZombieWorth = (currentZombieWorth - _arg1.currentTarget.worth);
if (_arg1.currentTarget.lastDamagedBy == C.DMG_TYPE_SELF_DESTRUCT){
createBlood(_arg1.currentTarget.x, _arg1.currentTarget.y, true);
return;
};
S.increaseKillCount(1);
if (door == null){
if ((((((S.gameMode == C.NORMAL_MODE)) && (Paths.isSurvivorStage(S.trueLevel)))) && ((S.killsMade >= Paths.survivorStageKills(S.trueLevel))))){
door = new Door(depthLayer);
} else {
if ((((S.gameMode == C.SURVIVAL_MODE)) && ((S.killsMade >= (50 + ((S.trueLevel - 1) * 5)))))){
door = new Door(depthLayer);
};
};
};
if (_arg1.currentTarget.lastDamagedBy == C.DMG_TYPE_PLAYER_BULLET){
scoreHUD.updateStreak(C.AWESOME_METER_GAIN_FROM_BULLET_KILL);
gunKilledZombie();
} else {
scoreHUD.updateStreak(C.AWESOME_METER_GAIN_FROM_OTHERS_KILL);
};
if (S.gameMode == C.NORMAL_MODE){
S.gameScore = (S.gameScore + _arg1.currentTarget.points);
} else {
if (S.gameMode == C.SURVIVAL_MODE){
S.gameScore = (S.gameScore + S.trueLevel);
};
};
scoreHUD.updateScore();
if ((_arg1.currentTarget is UFOZombie)){
_local2 = new UFOExplosion(ufoZombieLayer, _arg1.currentTarget.x, _arg1.currentTarget.y);
return;
};
if ((_arg1.currentTarget is DeadMeatZombie)){
createDeadMeatBlood(_arg1.currentTarget.x, _arg1.currentTarget.y);
return;
};
if (bloodList.length >= C.MAX_BLOOD_COUNT){
_local3 = 0;
while (_local3 < bloodList.length) {
if (!bloodList[_local3].fading){
bloodList[_local3].bloodFade();
break;
};
_local3++;
};
};
createBlood(_arg1.currentTarget.x, _arg1.currentTarget.y);
}
private function spawnTrapZombie(_arg1:Event){
createTrapZombie2(_arg1.currentTarget.x, _arg1.currentTarget.y);
createTrapZombie2((_arg1.currentTarget.x + C.SPRITE_SIZE), _arg1.currentTarget.y);
createTrapZombie2((_arg1.currentTarget.x - C.SPRITE_SIZE), _arg1.currentTarget.y);
}
private function spawnCoinOne(_arg1:Event){
if (_arg1.currentTarget.lastDamagedBy == C.DMG_TYPE_SELF_DESTRUCT){
return;
};
createCoin(_arg1.currentTarget.x, _arg1.currentTarget.y);
createCoin(_arg1.currentTarget.x, _arg1.currentTarget.y);
createCoin(_arg1.currentTarget.x, _arg1.currentTarget.y);
}
private function spawnCoinTwo(_arg1:Event){
var _local2:Number;
if (_arg1.currentTarget.lastDamagedBy == C.DMG_TYPE_SELF_DESTRUCT){
return;
};
_local2 = _arg1.currentTarget.y;
if ((_arg1.currentTarget is UFOZombie)){
_local2 = (_arg1.currentTarget as UFOZombie).getTrueY();
};
createCoinTwo(_arg1.currentTarget.x, _local2);
createCoinTwo(_arg1.currentTarget.x, _local2);
createCoinTwo(_arg1.currentTarget.x, _local2);
}
private function spawnCoinThree(_arg1:Event){
if (_arg1.currentTarget.lastDamagedBy == C.DMG_TYPE_SELF_DESTRUCT){
return;
};
createCoinThree(_arg1.currentTarget.x, _arg1.currentTarget.y);
}
private function spawnCoinFour(_arg1:Event){
if (_arg1.currentTarget.lastDamagedBy == C.DMG_TYPE_SELF_DESTRUCT){
return;
};
createCoinFour(_arg1.currentTarget.x, _arg1.currentTarget.y);
createCoinFour(_arg1.currentTarget.x, _arg1.currentTarget.y);
}
private function survivorKilled(_arg1:Event){
currentSurvivorWorth--;
}
private function objectExplosionLoop(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
var _local4:int;
var _local5:int;
var _local6:Array;
var _local7:Array;
_local2 = _arg1.currentTarget.x;
_local3 = _arg1.currentTarget.y;
_local6 = enemyList.concat();
_local4 = _local6.length;
_local5 = 0;
while (_local5 < _local4) {
objectExplosion(_local6[_local5], _local2, _local3);
_local5++;
};
_local7 = objectList.concat();
_local4 = _local7.length;
_local5 = 0;
while (_local5 < _local4) {
if (_local7[_local5] !== _arg1.currentTarget){
objectExplosion(_local7[_local5], _local2, _local3);
};
_local5++;
};
}
private function carExplosion(_arg1:Event):void{
S.carExploded = (S.carExploded + 1);
}
private function objectExplosion(_arg1, _arg2:Number, _arg3:Number):void{
if (Utils.BoundingCircle(_arg1.x, _arg1.y, _arg2, _arg3, C.EXPLOSION_RADIUS)){
_arg1.takeHit(C.EXPLOSION_DMG);
if ((_arg1 is Jason)){
_arg1.takeArmorHit(C.EXPLOSION_DMG);
};
};
}
private function playerDamaged(_arg1:Event){
scoreHUD.setLives(S.playerHP);
scoreHUD.updateStreak(-30);
scoreHUD.guiFrame.play();
scoreHUD.resetCombo();
scoreHUD.playerportrait.play();
scoreHUD.jonportrait.play();
}
private function playerMove(_arg1:Event){
var _local2:Number;
_local2 = _arg1.currentTarget.velY;
if (_local2 > 0){
if (playerShouldMoveDown()){
ourPlayer.y = (ourPlayer.y + _local2);
} else {
shiftCamera(-(_local2));
};
} else {
if (_local2 < 0){
playerMovedUp(_local2);
};
};
}
private function playerReloaded(_arg1:Event){
if (!ourPlayer){
return;
};
scoreHUD.setMagazine(_arg1.currentTarget.magazine);
replenishBulletSprite();
}
private function survivorRescued(_arg1:Event){
var _local2:int;
var _local3:MaskShape;
if (!ourPlayer){
return;
};
_local2 = rescuedList.length;
if (_local2 >= 7){
return;
};
_arg1.currentTarget.setFollowTarget(rescuedList[(rescuedList.length - 1)]);
_arg1.currentTarget.setSurvivorFSM(Survivor.SURVIVOR_STATE_RESCUED);
rescuedList.push(_arg1.currentTarget);
initSurvivorSprite();
drawSurvivorSprite();
_local3 = new MaskShape(maskSprite, (_arg1.currentTarget as Survivor), C.SURVIVOR_FOG_CIRCLE);
_arg1.currentTarget.survivorMask = _local3;
}
private function ammoCount(_arg1:int):void{
scoreHUD.setAmmo(_arg1);
}
private function getPathNum():int{
return (((streetSprite.y / C.TILE_HEIGHT) + 1));
}
private function calculateMaxSpawn():int{
var _local1:int;
if (S.gameMode == C.NORMAL_MODE){
_local1 = (C.MAX_ZOMBIE_WORTH + S.zombieCountMultiplier);
} else {
_local1 = C.MAX_ZOMBIE_WORTH;
};
return (_local1);
}
private function playerDeadAnimationComplete(_arg1:Event){
gameOver();
}
private function jasonIntroAnimationComplete(_arg1:Event){
createJason();
S.gameMovementFreeze = false;
replenishBulletSprite();
reduceBulletSprite();
}
private function alienIntroAnimationComplete(_arg1:Event){
createAlien();
S.gameMovementFreeze = false;
replenishBulletSprite();
reduceBulletSprite();
}
private function freddyIntroAnimationComplete(_arg1:Event){
createFreddy();
S.gameMovementFreeze = false;
replenishBulletSprite();
reduceBulletSprite();
}
private function removeEnemy(_arg1:Event){
enemyList.splice(enemyList.indexOf(_arg1.currentTarget), 1);
zombieCollisionList.safeRemoveItem(_arg1.currentTarget);
if ((((((_arg1.currentTarget is Jason)) || ((_arg1.currentTarget is Alien)))) || ((_arg1.currentTarget is Freddy)))){
chatLayer.removeChild(bossHPbar);
};
}
private function removeSurvivor(_arg1:Event){
var _local2:int;
var _local4:SurvivorDeath;
var _local5:int;
var _local6:int;
_local2 = survivorList.indexOf(_arg1.currentTarget);
survivorList.splice(_local2, 1);
if (_arg1.currentTarget.survivorFSM == Survivor.SURVIVOR_STATE_RESCUED){
_local5 = rescuedList.indexOf(_arg1.currentTarget);
_local6 = 0;
_local6 = 0;
while (_local6 < Survivors.length) {
if (scoreHUD.contains(Survivors[_local6])){
scoreHUD.removeChild(Survivors[_local6]);
};
_local6++;
};
_local6 = _local5;
while (_local6 < rescuedList.length) {
rescuedList[_local6].setSurvivorFSM(Survivor.SURVIVOR_STATE_NONE);
_local6++;
};
Survivors.splice((_local5 - 1));
drawSurvivorSprite();
rescuedList.splice(_local5);
};
var _local3:SurvivorArgh = new SurvivorArgh(chatLayer, _arg1.currentTarget.x, (_arg1.currentTarget.y - chatLayer.y));
_local4 = new SurvivorDeath(depthLayer, _arg1.currentTarget.x, _arg1.currentTarget.y);
survivorDeathList.push(_local4);
EC.add(_local4, Event.REMOVED_FROM_STAGE, removeSurvivorDeath, false, 0, true);
}
private function coinCollect(_arg1:Event){
S.moneyEarn(_arg1.currentTarget.amount);
SoundManager.instance.playSound(Sounds.COIN_COLLECT);
}
private function removeCoin(_arg1:Event){
coinList.splice(coinList.indexOf(_arg1.currentTarget), 1);
}
private function removeSurvivorDeath(_arg1:Event){
survivorDeathList.splice(survivorDeathList.indexOf(_arg1.currentTarget), 1);
}
private function removeBlood(_arg1:Event){
if ((_arg1.currentTarget is DeadMeatZombieBlood)){
deadMeatBloodList.splice(deadMeatBloodList.indexOf(_arg1.currentTarget), 1);
} else {
bloodList.splice(bloodList.indexOf(_arg1.currentTarget), 1);
};
}
private function removePlayer(_arg1:Event){
rescuedList.splice(survivorList.indexOf(_arg1.currentTarget), 1);
}
private function removeSearchShine(_arg1:Event){
searchShineList.splice(searchShineList.indexOf(_arg1.currentTarget), 1);
}
private function removeObject(_arg1:Event){
objectList.splice(objectList.indexOf(_arg1.currentTarget), 1);
}
public function sortZ(_arg1:DisplayObjectContainer):void{
var _local2:int;
var _local3:Boolean;
var _local4:int;
_local2 = (_arg1.numChildren - 1);
while (_local2 > 0) {
_local3 = false;
_local4 = 0;
while (_local4 < _local2) {
if ((_arg1.getChildAt(_local4).y + (_arg1.getChildAt(_local4).height / 2)) > (_arg1.getChildAt((_local4 + 1)).y + (_arg1.getChildAt((_local4 + 1)).height / 2))){
_arg1.swapChildrenAt(_local4, (_local4 + 1));
_local3 = true;
};
_local4++;
};
if (!_local3){
return;
};
_local2--;
};
}
private function sortOnY(_arg1, _arg2):Number{
var _local3:Number;
var _local4:Number;
_local3 = (_arg1.y + (_arg1.height / 2));
_local4 = (_arg2.y + (_arg2.height / 2));
if (_local3 > _local4){
return (1);
};
if (_local3 < _local4){
return (-1);
};
return (0);
}
private function startTest():void{
var _local1:Number;
var _local2:Number;
_local1 = new Date().getTime();
_local2 = new Date().getTime();
trace("total execution time:", (_local2 - _local1), "ms");
trace("memory usage:", (System.totalMemory / 0x0400), "kb");
}
public function getMVolume():Number{
return (mochiVolume);
}
function frame18(){
stop();
cutscene.visible = false;
logoDuration = ((logo.totalFrames * 1000) / 30);
logoTimer = new Timer(logoDuration, 1);
logoTimer.addEventListener(TimerEvent.TIMER, goCutScene);
logoTimer.start();
logo.secretbase.addEventListener(MouseEvent.MOUSE_UP, webHyperlink);
cutscene.btn_skip.addEventListener(MouseEvent.MOUSE_UP, skipToMenu);
cutscene.visible = false;
cutscene.gotoAndStop(1);
addEventListener(Event.ENTER_FRAME, checkFunction);
}
function frame65(){
setMenuButtons();
}
function frame81(){
startGame();
}
function frame128(){
stop();
}
public static function moveToTop(_arg1:DisplayObject):void{
if (_arg1.parent != null){
_arg1.parent.setChildIndex(_arg1, (_arg1.parent.numChildren - 1));
//unresolved jump
};
}
public static function traceAllObjects(_arg1):void{
var _local3:uint;
var _local2:uint;
while (_local2 < _arg1.numChildren) {
trace(((((((("\t|\t " + _local2) + ".\t name:") + _arg1.getChildAt(_local2).name) + "\t type:") + typeof(_arg1.getChildAt(_local2))) + "\t") + _arg1.getChildAt(_local2)));
if (_arg1.getChildAt(_local2).hasOwnProperty("numChildren")){
trace("\t\t\t\t children:");
_local3 = 0;
while (_local3 < _arg1.getChildAt(_local2).numChildren) {
trace(((((((("\t|\t\t\t\t\t" + _local3) + ".\t name:") + _arg1.getChildAt(_local2).getChildAt(_local3).name) + "\t type:") + typeof(_arg1.getChildAt(_local2).getChildAt(_local3))) + "\t") + _arg1.getChildAt(_local2).getChildAt(_local3)));
_local3++;
};
};
_local2++;
};
}
}
}//package
Section 525
//MaskShape (MaskShape)
package {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class MaskShape extends Shape {
private var target:DisplayObject;
private var layer:Sprite;
public function MaskShape(_arg1:Sprite, _arg2:DisplayObject, _arg3:Number){
this.layer = _arg1;
this.target = _arg2;
x = _arg2.x;
y = _arg2.y;
graphics.clear();
graphics.beginFill(0xFFFFFF);
graphics.drawCircle(0, 0, _arg3);
graphics.endFill();
_arg1.addChild(this);
cacheAsBitmap = true;
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "MaskShape_Loop");
}
private function loop(_arg1:Event):void{
if (target == null){
removeSelf();
return;
};
x = target.x;
y = target.y;
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
EC.remove(this);
}
}
}//package
Section 526
//misc_searchshine (misc_searchshine)
package {
import flash.display.*;
public dynamic class misc_searchshine extends BitmapData {
public function misc_searchshine(_arg1:int=832, _arg2:int=64){
super(_arg1, _arg2);
}
}
}//package
Section 527
//miscIndicate (miscIndicate)
package {
import flash.display.*;
public dynamic class miscIndicate extends BitmapData {
public function miscIndicate(_arg1:int=780, _arg2:int=208){
super(_arg1, _arg2);
}
}
}//package
Section 528
//Mochi_Logo (Mochi_Logo)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class Mochi_Logo extends MovieClip {
public var _mgbutton:SimpleButton;
public var _background:MovieClip;
public var _video:MovieClip;
public var orig_frameRate:Number;
public var orig_align:String;
public var orig_scale:String;
public function Mochi_Logo(){
addFrameScript(0, frame1, 143, frame144);
}
public function onClick(_arg1:MouseEvent):void{
var _local2:URLRequest = new URLRequest("http://www.mochigames.com/");
navigateToURL(_local2, "_blank");
}
public function onToStage(_arg1:Event):void{
trace("ONTOSTAGE");
_mgbutton.addEventListener(MouseEvent.CLICK, onClick);
orig_frameRate = stage.frameRate;
orig_align = stage.align;
orig_scale = stage.scaleMode;
stage.frameRate = 24;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
_mgbutton.width = stage.stageWidth;
_mgbutton.height = stage.stageHeight;
_background.width = stage.stageWidth;
_background.height = stage.stageHeight;
var _local2:Number = Math.min((stage.stageWidth / _video.width), (stage.stageHeight / _video.height));
_video.x = Math.floor(((stage.stageWidth - _video.width) / 2));
_video.y = Math.floor(((stage.stageHeight - _video.height) / 2));
removeEventListener(Event.ENTER_FRAME, onToStage, false);
play();
}
function frame1(){
trace("mochi frame 1");
addEventListener(Event.ENTER_FRAME, onToStage, false, 0, true);
orig_frameRate = 0;
orig_align = "";
orig_scale = "";
}
function frame144(){
stage.frameRate = orig_frameRate;
stage.align = orig_align;
stage.scaleMode = orig_scale;
_mgbutton.removeEventListener(MouseEvent.CLICK, onClick);
dispatchEvent(new Event(Event.COMPLETE));
_video.stop();
stop();
trace("STOP");
}
}
}//package
Section 529
//MochiConst (MochiConst)
package {
public class MochiConst {
public static const GAME_ID:String = "bb356326858805c9";
public static const ITEM_FRAME_2:String = "e1022ec833ec33ba";
public static const ITEM_FRAME_3:String = "a3030313a303aede";
public static const ITEM_TAPE_3:String = "9c6abcc8aea4b92b";
public static const ITEM_TAPE_4:String = "007ae6068bea7a3e";
public static const ITEM_10000:String = "a82f8cd943418045";
public static const ITEM_30000:String = "d0dd0bd7c9636d83";
public static const ITEM_100000:String = "a3f3601055d675c0";
public static const ITEM_SURVIVAL_MODE:String = "017b37985c9913a3";
public static const ITEM_FEMALE_ZOMBIE:String = "b0e40a5a70961ccd";
public static const ITEM_ONEHAND_ZOMBIE:String = "44cc3364a154f60b";
public static const ITEM_ANGRY_ZOMBIE:String = "76a3ad30f316b8bd";
public static const ITEM_DEADMEAT_ZOMBIE:String = "5b00adeda503990f";
public static const ITEM_FACEHUGGER_ZOMBIE:String = "87b7156697ab99ae";
public static const ITEM_UFO_ZOMBIE:String = "9e8113b1cd419bff";
public static const ITEM_OBESE_ZOMBIE:String = "f38e36be18e6c1d3";
public static const ITEM_CHINESE_ZOMBIE:String = "e0525c8c6fea936a";
public static const LEADERBOARD_STORY:String = "b36ba9067f2ea7ef";
public static const LEADERBOARD_SURVIVAL:String = "cb9f788b3fa71d56";
}
}//package
Section 530
//MochiUtils (MochiUtils)
package {
import mochi.as3.*;
import org.casalib.util.*;
public class MochiUtils {
public static function resetVariables():void{
if (Web.mochiDisabled){
return;
};
S.gameScore = 0;
}
public static function traceVariables():void{
if (Web.mochiDisabled){
return;
};
if (S.gameMode == C.NORMAL_MODE){
trace(("NORMAL MODE: " + S.gameScore));
} else {
if (S.gameMode == C.SURVIVAL_MODE){
trace(("SURVIVAL MODE - WAVES: " + S.nightCount));
};
};
}
public static function postHighscores(_arg1:String):void{
if (Web.mochiDisabled){
return;
};
traceVariables();
if (_arg1.length == 0){
_arg1 = ("EMPTY" + NumberUtil.randomIntegerWithinRange(100000, 999999));
};
if (S.gameMode == C.NORMAL_MODE){
mochiScoreSubmit(MochiConst.LEADERBOARD_STORY, S.gameScore, _arg1);
} else {
if (S.gameMode == C.SURVIVAL_MODE){
mochiScoreSubmit(MochiConst.LEADERBOARD_SURVIVAL, S.gameScore, _arg1);
};
};
resetVariables();
}
private static function mochiScoreSubmit(_arg1:String, _arg2:int, _arg3:String):void{
if (Web.mochiDisabled){
return;
};
MochiScores.setBoardID(_arg1);
MochiScores.submit(_arg2, _arg3);
}
public static function showMochiLoginWidget(_arg1:Boolean=true):void{
if (Web.mochiDisabled){
return;
};
if (_arg1){
MochiSocial.showLoginWidget({x:37, y:13});
} else {
MochiSocial.showLoginWidget({x:220, y:20});
};
}
public static function showMochiLeaderboard(_arg1:String):void{
var id = _arg1;
if (Web.mochiDisabled){
return;
};
MochiScores.showLeaderboard({boardID:id, onClose:function (){
}});
}
public static function showStore():void{
if (((Web.mochiDisabled) || (Web.mochiCoinDisabled))){
return;
};
MochiCoins.showStore();
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
if (Web.mochiDisabled){
return;
};
MochiServices.connect(_arg1, _arg2, _arg3);
MochiEvents.startPlay();
}
public static function hideLoginWidget():void{
if (Web.mochiDisabled){
return;
};
MochiSocial.hideLoginWidget();
}
}
}//package
Section 531
//MonsterCard (MonsterCard)
package {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class MonsterCard extends MovieClip {
public var card:MovieClip;
private var stageRef:Stage;
private var rootRef;
public function MonsterCard(_arg1:Stage, _arg2){
addFrameScript(0, frame1, 34, frame35);
this.stageRef = _arg1;
this.rootRef = _arg2;
}
public function setMonsterCardButtons():void{
EC.add(this, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
gotoAndPlay("Close");
removeMonsterCardButtons();
}, false, 0, true, "CLICK");
}
public function removeMonsterCardButtons():void{
EC.remove("CLICK");
}
function frame1(){
stop();
}
function frame35(){
stop();
}
}
}//package
Section 532
//MonsterCardBoss (MonsterCardBoss)
package {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class MonsterCardBoss extends MovieClip {
public var card:MovieClip;
public var card1:MovieClip;
public var card2:MovieClip;
public var card3:MovieClip;
private var stageRef:Stage;
private var rootRef;
public function MonsterCardBoss(_arg1:Stage, _arg2){
addFrameScript(41, frame42);
this.stageRef = _arg1;
this.rootRef = _arg2;
}
public function setMonsterCardButtons():void{
EC.add(this, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
gotoAndPlay("Close");
removeMonsterCardButtons();
}, false, 0, true, "CLICK");
}
public function removeMonsterCardButtons():void{
EC.remove("CLICK");
}
function frame42(){
stop();
}
}
}//package
Section 533
//MonsterProgress (MonsterProgress)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
public class MonsterProgress extends MovieClip {
public var card:MovieClip;
public var card1:MovieClip;
public var card2:MovieClip;
public var card3:MovieClip;
public var lock:MovieClip;
public var btn_continue:MovieClip;
public var btn_progress:MovieClip;
private var stageRef:Stage;
private var rootRef;
public function MonsterProgress(_arg1:Stage, _arg2){
addFrameScript(0, frame1, 5, frame6);
this.stageRef = _arg1;
this.rootRef = _arg2;
x = 0;
y = 0;
}
public function setMonsterCardButtons():void{
btn_progress.gotoAndStop("idle");
btn_continue.gotoAndStop("idle");
if ((((S.trueLevel >= 1)) && ((S.trueLevel <= 10)))){
if (S.PAGE3_ACHIEVEMENT_1){
card1.gotoAndStop("angry");
} else {
card1.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_2){
card2.gotoAndStop("deadmeat");
} else {
card2.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_3){
card3.gotoAndStop("maxzombie1");
} else {
card3.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_1){
card.gotoAndStop("boss1");
lock.visible = false;
} else {
card.gotoAndStop("locked");
};
} else {
if ((((S.trueLevel >= 11)) && ((S.trueLevel <= 20)))){
if (S.PAGE3_ACHIEVEMENT_4){
card1.gotoAndStop("trap");
} else {
card1.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_5){
card2.gotoAndStop("alien");
} else {
card2.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_6){
card3.gotoAndStop("maxattack");
} else {
card3.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_2){
card.gotoAndStop("boss2");
lock.visible = false;
} else {
card.gotoAndStop("locked");
};
} else {
if ((((S.trueLevel >= 21)) && ((S.trueLevel <= 30)))){
if (S.PAGE3_ACHIEVEMENT_7){
card1.gotoAndStop("obese");
} else {
card1.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_8){
card2.gotoAndStop("chinese");
} else {
card2.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_9){
card3.gotoAndStop("maxzombie2");
} else {
card3.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_3){
card.gotoAndStop("boss3");
lock.visible = false;
} else {
card.gotoAndStop("locked");
};
};
};
};
EC.add(btn_progress, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.showProgress();
rootRef.changePageToThree();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
}, false, 0, true, "PROGRESS_BUTTON_CLICK");
EC.add(btn_progress, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_progress.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "PROGRESS_BUTTON_ROLLOVER");
EC.add(btn_progress, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_progress.gotoAndStop("idle");
}, false, 0, true, "PROGRESS_BUTTON_IDLE");
EC.add(btn_continue, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
SoundManager.instance.stopMusic();
dispatchEvent(new Event("closed"));
removeMonsterCardButtons();
}, false, 0, true, "CONTINUE_BUTTON_CLICK");
EC.add(btn_continue, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_continue.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "CONTINUE_BUTTON_ROLLOVER");
EC.add(btn_continue, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_continue.gotoAndStop("idle");
}, false, 0, true, "CONTINUE_BUTTON_IDLE");
}
public function removeMonsterCardButtons():void{
EC.remove("PROGRESS_BUTTON_CLICK");
EC.remove("PROGRESS_BUTTON_ROLLOVER");
EC.remove("PROGRESS_BUTTON_IDLE");
EC.remove("CONTINUE_BUTTON_CLICK");
EC.remove("CONTINUE_BUTTON_ROLLOVER");
EC.remove("CONTINUE_BUTTON_IDLE");
}
function frame1(){
stop();
}
function frame6(){
stop();
}
}
}//package
Section 534
//MouseClass (MouseClass)
package {
import flash.display.*;
import flash.events.*;
public class MouseClass {
private static var _mouseHold:Boolean = false;
private static var initialized:Boolean = false;
private static var keysDown:Object = new Object();
public function MouseClass(){
throw ("Do not insantiate the Mouse");
}
public static function initialize(_arg1:Stage):void{
if (!initialized){
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
_arg1.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
_arg1.addEventListener(Event.MOUSE_LEAVE, setMouseUp);
_arg1.addEventListener(Event.DEACTIVATE, setMouseUp);
initialized = true;
};
}
public static function get mouseHold():Boolean{
if (!initialized){
throw (new Error("Key class has yet been initialized."));
};
return (_mouseHold);
}
private static function onMouseDown(_arg1:MouseEvent):void{
_mouseHold = true;
}
private static function onMouseUp(_arg1:MouseEvent):void{
_mouseHold = false;
}
private static function setMouseUp(_arg1:Event):void{
_mouseHold = false;
}
}
}//package
Section 535
//noSpawnMC (noSpawnMC)
package {
import flash.display.*;
public dynamic class noSpawnMC extends MovieClip {
}
}//package
Section 536
//nunBlack (nunBlack)
package {
import flash.display.*;
public dynamic class nunBlack extends MovieClip {
}
}//package
Section 537
//nunWhite (nunWhite)
package {
import flash.display.*;
public dynamic class nunWhite extends MovieClip {
}
}//package
Section 538
//obj_break (obj_break)
package {
import flash.media.*;
public dynamic class obj_break extends Sound {
}
}//package
Section 539
//obj_break_brick (obj_break_brick)
package {
import flash.display.*;
public dynamic class obj_break_brick extends BitmapData {
public function obj_break_brick(_arg1:int=672, _arg2:int=576){
super(_arg1, _arg2);
}
}
}//package
Section 540
//obj_break_roadblock (obj_break_roadblock)
package {
import flash.display.*;
public dynamic class obj_break_roadblock extends BitmapData {
public function obj_break_roadblock(_arg1:int=0x0300, _arg2:int=864){
super(_arg1, _arg2);
}
}
}//package
Section 541
//obj_break_woodstripe (obj_break_woodstripe)
package {
import flash.display.*;
public dynamic class obj_break_woodstripe extends BitmapData {
public function obj_break_woodstripe(_arg1:int=480, _arg2:int=576){
super(_arg1, _arg2);
}
}
}//package
Section 542
//obj_explode (obj_explode)
package {
import flash.media.*;
public dynamic class obj_explode extends Sound {
}
}//package
Section 543
//obj_explode_car1 (obj_explode_car1)
package {
import flash.display.*;
public dynamic class obj_explode_car1 extends BitmapData {
public function obj_explode_car1(_arg1:int=960, _arg2:int=800){
super(_arg1, _arg2);
}
}
}//package
Section 544
//obj_explode_propane1 (obj_explode_propane1)
package {
import flash.display.*;
public dynamic class obj_explode_propane1 extends BitmapData {
public function obj_explode_propane1(_arg1:int=800, _arg2:int=640){
super(_arg1, _arg2);
}
}
}//package
Section 545
//obj_explode_propane2 (obj_explode_propane2)
package {
import flash.display.*;
public dynamic class obj_explode_propane2 extends BitmapData {
public function obj_explode_propane2(_arg1:int=800, _arg2:int=640){
super(_arg1, _arg2);
}
}
}//package
Section 546
//obj_explode_van (obj_explode_van)
package {
import flash.display.*;
public dynamic class obj_explode_van extends BitmapData {
public function obj_explode_van(_arg1:int=880, _arg2:int=1320){
super(_arg1, _arg2);
}
}
}//package
Section 547
//obj_lamp (obj_lamp)
package {
import flash.display.*;
public dynamic class obj_lamp extends BitmapData {
public function obj_lamp(_arg1:int=126, _arg2:int=150){
super(_arg1, _arg2);
}
}
}//package
Section 548
//obj_lamplight (obj_lamplight)
package {
import flash.display.*;
public dynamic class obj_lamplight extends BitmapData {
public function obj_lamplight(_arg1:int=304, _arg2:int=152){
super(_arg1, _arg2);
}
}
}//package
Section 549
//obj_metal (obj_metal)
package {
import flash.media.*;
public dynamic class obj_metal extends Sound {
}
}//package
Section 550
//obj_obstacle_big (obj_obstacle_big)
package {
import flash.display.*;
public dynamic class obj_obstacle_big extends BitmapData {
public function obj_obstacle_big(_arg1:int=750, _arg2:int=300){
super(_arg1, _arg2);
}
}
}//package
Section 551
//obj_search (obj_search)
package {
import flash.display.*;
public dynamic class obj_search extends BitmapData {
public function obj_search(_arg1:int=384, _arg2:int=1440){
super(_arg1, _arg2);
}
}
}//package
Section 552
//obj_search_car (obj_search_car)
package {
import flash.display.*;
public dynamic class obj_search_car extends BitmapData {
public function obj_search_car(_arg1:int=320, _arg2:int=160){
super(_arg1, _arg2);
}
}
}//package
Section 553
//obj_search_van (obj_search_van)
package {
import flash.display.*;
public dynamic class obj_search_van extends BitmapData {
public function obj_search_van(_arg1:int=440, _arg2:int=220){
super(_arg1, _arg2);
}
}
}//package
Section 554
//obj_search2 (obj_search2)
package {
import flash.media.*;
public dynamic class obj_search2 extends Sound {
}
}//package
Section 555
//obj_wood (obj_wood)
package {
import flash.media.*;
public dynamic class obj_wood extends Sound {
}
}//package
Section 556
//Objects_obstacle (Objects_obstacle)
package {
import flash.display.*;
public dynamic class Objects_obstacle extends BitmapData {
public function Objects_obstacle(_arg1:int=480, _arg2:int=576){
super(_arg1, _arg2);
}
}
}//package
Section 557
//oldLady (oldLady)
package {
import flash.display.*;
public dynamic class oldLady extends MovieClip {
}
}//package
Section 558
//pacMan (pacMan)
package {
import flash.display.*;
public dynamic class pacMan extends MovieClip {
}
}//package
Section 559
//Paths (Paths)
package {
import flash.display.*;
import org.casalib.util.*;
public class Paths {
public static const NORMAL_ZOMBIE:String = "Zombie";
public static const FAT_ZOMBIE:String = "ObeseZombie";
public static const TRAP_ZOMBIE:String = "TrapZombie";
public static const FAST_ZOMBIE:String = "ArmlessZombie";
public static const ONE_HAND_ZOMBIE:String = "OneHandZombie";
public static const FEMALE_ZOMBIE:String = "FemaleZombie";
public static const DEAD_MEAT_ZOMBIE:String = "DeadMeatZombie";
public static const UFO_ZOMBIE:String = "UFOZombie";
public static const CHINESE_ZOMBIE:String = "ChineseVamp";
private static const survivorStages:Array = new Array(5, 15, 25);
private static const _survivorStageKills:Array = new Array(80, 100, 150);
private static var A:String = "A";
private static var B:String = "B";
protected static var _pathArray:Array;
public static var loadPaths:int = 0;
public static var defeatBossArray:Array = new Array(false, false, false);
public static function get PathArray():Array{
return (_pathArray);
}
public static function buildPath(_arg1:int):void{
var _local5:MovieClip;
_pathArray = [];
_pathArray.push(getStartPath(_arg1));
if (((isSurvivorStage(_arg1)) || (isFreddyStage(_arg1)))){
return;
};
var _local2:Array = pathCountAndOrder(_arg1);
var _local3:Array = generatePathA(_arg1);
var _local4:Array = generatePathB(_arg1);
if (_arg1 == 9){
trace(("level 9 trace: " + _local4));
};
var _local6:int;
while (_local6 < _local2.length) {
if (_local2[_local6] == A){
_local5 = randomPath(_local3);
_pathArray.push(_local5);
_local3.splice(_local3.indexOf(_local5), 1);
} else {
if (_local2[_local6] == B){
_local5 = randomPath(_local4);
_pathArray.push(_local5);
_local4.splice(_local4.indexOf(_local5), 1);
} else {
trace("Error: Invalid Path (Only A/B)");
};
};
_local6++;
};
if (_arg1 == 9){
trace(("pathBArray length: " + _local4.length));
};
_pathArray.push(getEndPath(_arg1));
}
public static function pathCountAndOrder(_arg1:int):Array{
switch (_arg1){
case 1:
return (new Array());
case 2:
return (new Array(A));
case 3:
return (new Array(A, B));
case 4:
return (new Array(B, B));
case 5:
return (new Array(B, A, B));
case 6:
return (new Array(A, B));
case 7:
return (new Array(B, B));
case 8:
return (new Array(B, A, B));
case 9:
return (new Array(B, B, B));
case 10:
return (new Array());
case 11:
return (new Array());
case 12:
return (new Array(A));
case 13:
return (new Array(A, B));
case 14:
return (new Array(B, B));
case 15:
return (new Array(A));
case 16:
return (new Array(A, B));
case 17:
return (new Array(B, A, A));
case 18:
return (new Array(B, A, B));
case 19:
return (new Array(B, A, B, B));
case 20:
return (new Array());
case 21:
return (new Array(A));
case 22:
return (new Array(A));
case 23:
return (new Array(A, B));
case 24:
return (new Array(B, B));
case 25:
return (new Array(A));
case 26:
return (new Array(A, B));
case 27:
return (new Array(B, A, A));
case 28:
return (new Array(B, A, B));
case 29:
return (new Array(B, A, B, B));
case 30:
return (new Array());
default:
return (pathCountAndOrder((_arg1 - 1)));
};
}
public static function generatePathA(_arg1:int):Array{
switch (_arg1){
case 1:
return (new Array(new A1()));
case 2:
return (new Array(new A1()));
case 3:
return (new Array(new A2()));
case 4:
return (new Array(new A5(), new A6(), new A7()));
case 5:
return (new Array(new A11(), new A3(), new A4(), new A5()));
case 6:
return (new Array(new A11(), new A3(), new A4(), new A5()));
case 7:
return (new Array(new A6(), new A7(), new A8(), new A9()));
case 8:
return (new Array(new A11(), new A10(), new A4(), new A5(), new A9()));
case 9:
return (new Array(new A11(), new A3(), new A4(), new A5(), new A9()));
case 10:
return (new Array(new A10()));
case 11:
return (new Array(new A15(), new A16(), new A17()));
case 12:
return (new Array(new A15(), new A16(), new A18()));
case 13:
return (new Array(new A17(), new A18(), new A19()));
case 14:
return (new Array(new A19(), new A20(), new A15(), new A16()));
case 15:
return (new Array(new A1()));
case 16:
return (new Array(new A21(), new A22(), new A20()));
case 17:
return (new Array(new A17(), new A18(), new A15(), new A16()));
case 18:
return (new Array(new A19(), new A20(), new A21(), new A22(), new A18()));
case 19:
return (new Array(new A15(), new A16(), new A17(), new A18(), new A19(), new A20()));
case 20:
return (new Array(new A1()));
case 21:
return (new Array(new A3(), new A25(), new A23()));
case 22:
return (new Array(new A5(), new A6(), new A24()));
case 23:
return (new Array(new A23(), new A25(), new A8()));
case 24:
return (new Array(new A3(), new A12(), new A24(), new A23()));
case 25:
return (new Array(new A1()));
case 26:
return (new Array(new A5(), new A23(), new A24()));
case 27:
return (new Array(new A8(), new A25(), new A6(), new A5()));
case 28:
return (new Array(new A12(), new A3(), new A5(), new A23(), new A24()));
case 29:
return (new Array(new A5(), new A6(), new A8(), new A24(), new A25(), new A23()));
case 30:
return (new Array(new A1()));
default:
return (generatePathA((_arg1 - 1)));
};
}
public static function generatePathB(_arg1:int):Array{
switch (_arg1){
case 1:
return (new Array(new B9()));
case 2:
return (new Array(new B14()));
case 3:
return (new Array(new B1(), new B2(), new B3(), new B6(), new B5()));
case 4:
return (new Array(new B3(), new B1(), new B5(), new B6(), new B7()));
case 5:
return (new Array(new B4(), new B5(), new B6(), new B7(), new B8()));
case 6:
return (new Array(new B1()));
case 7:
return (new Array(new B1(), new B2(), new B7(), new B8(), new B9()));
case 8:
return (new Array(new B3(), new B5(), new B6(), new B9(), new B8()));
case 9:
return (new Array(new B2(), new B10(), new B6(), new B7(), new B8()));
case 10:
return (new Array(new B1()));
case 11:
return (new Array(new B15(), new B16()));
case 12:
return (new Array(new B15(), new B16()));
case 13:
return (new Array(new B17(), new B18(), new B19()));
case 14:
return (new Array(new B19(), new B20(), new B15(), new B16()));
case 15:
return (new Array(new B1()));
case 16:
return (new Array(new B21(), new B22(), new B20()));
case 17:
return (new Array(new B17(), new B18(), new B15(), new B16(), new B19()));
case 18:
return (new Array(new B19(), new B20(), new B21(), new B22(), new B18()));
case 19:
return (new Array(new B15(), new B16(), new B17(), new B18(), new B19(), new B20()));
case 20:
return (new Array(new B1()));
case 21:
return (new Array(new B2(), new B23()));
case 22:
return (new Array(new B4(), new B24()));
case 23:
return (new Array(new B6(), new B25(), new B4()));
case 24:
return (new Array(new B2(), new B5(), new B26(), new B27()));
case 25:
return (new Array(new B1()));
case 26:
return (new Array(new B2(), new B4(), new B23()));
case 27:
return (new Array(new B5(), new B6(), new B24(), new B27(), new B2()));
case 28:
return (new Array(new B2(), new B4(), new B5(), new B23(), new B25()));
case 29:
return (new Array(new B4(), new B5(), new B6(), new B24(), new B26(), new B27()));
case 30:
return (new Array(new B1()));
default:
return (generatePathB((_arg1 - 1)));
};
}
public static function randomPath(_arg1:Array):MovieClip{
if (_arg1.length < 0){
trace("ERROR: LIST OF RANDOM PATH LENGTH IS 0");
return (null);
};
return (_arg1[NumberUtil.randomIntegerWithinRange(0, (_arg1.length - 1))]);
}
public static function getStartPath(_arg1:int):MovieClip{
switch (_arg1){
case 1:
return (new level1Start());
case 2:
return (new level2Start());
case 3:
return (new level3Start());
case 4:
return (new level4Start());
case 5:
return (new level5Start());
case 6:
return (new level6Start());
case 7:
return (new level7Start());
case 8:
return (new level8Start());
case 9:
return (new level9Start());
case 10:
return (new level10Start());
case 11:
return (new level11Start());
case 12:
return (new level12Start());
case 13:
return (new level13Start());
case 14:
return (new level14Start());
case 15:
return (new level15Start());
case 16:
return (new level16Start());
case 17:
return (new level17Start());
case 18:
return (new level18Start());
case 19:
return (new level19Start());
case 20:
return (new level20Start());
case 21:
return (new level21Start());
case 22:
return (new level22Start());
case 23:
return (new level23Start());
case 24:
return (new level24Start());
case 25:
return (new level25Start());
case 26:
return (new level26Start());
case 27:
return (new level27Start());
case 28:
return (new level28Start());
case 29:
return (new level29Start());
case 30:
return (new level30Start());
default:
return (getStartPath((_arg1 - 1)));
};
}
public static function getEndPath(_arg1:int):MovieClip{
switch (_arg1){
case 1:
return (new level1End());
case 2:
return (new level2End());
case 3:
return (new level3End());
case 4:
return (new level4End());
case 5:
return (new level5End());
case 6:
return (new level6End());
case 7:
return (new level7End());
case 8:
return (new level8End());
case 9:
return (new level9End());
case 10:
return (new level10End());
case 11:
return (new level11End());
case 12:
return (new level12End());
case 13:
return (new level13End());
case 14:
return (new level14End());
case 15:
return (new level15End());
case 16:
return (new level16End());
case 17:
return (new level17End());
case 18:
return (new level18End());
case 19:
return (new level19End());
case 20:
return (new level20End());
case 21:
return (new level21End());
case 22:
return (new level22End());
case 23:
return (new level23End());
case 24:
return (new level24End());
case 25:
return (new level25End());
case 26:
return (new level26End());
case 27:
return (new level27End());
case 28:
return (new level28End());
case 29:
return (new level29End());
case 30:
return (new level30End());
default:
return (getEndPath((_arg1 - 1)));
};
}
public static function getZombieSpawnType(_arg1:int):Array{
var _local2:Array = [];
switch (_arg1){
case 1:
_local2 = dayOneSpawn(_local2);
break;
case 2:
_local2 = dayTwoSpawn(_local2);
break;
case 3:
_local2 = dayThreeSpawn(_local2);
break;
case 4:
_local2 = dayFourSpawn(_local2);
break;
case 5:
_local2 = dayFiveSpawn(_local2);
break;
case 6:
_local2 = daySixSpawn(_local2);
break;
case 7:
_local2 = daySevenSpawn(_local2);
break;
case 8:
_local2 = dayEightSpawn(_local2);
break;
case 9:
_local2 = dayNineSpawn(_local2);
break;
case 10:
_local2 = dayTenSpawn(_local2);
break;
case 11:
_local2 = dayElevenSpawn(_local2);
break;
case 12:
_local2 = dayTwelveSpawn(_local2);
break;
case 13:
_local2 = dayThirteenSpawn(_local2);
break;
case 14:
_local2 = dayFourteenSpawn(_local2);
break;
case 15:
_local2 = dayFifteenSpawn(_local2);
break;
case 16:
_local2 = daySixteenSpawn(_local2);
break;
case 17:
_local2 = daySeventeenSpawn(_local2);
break;
case 18:
_local2 = dayEighteenSpawn(_local2);
break;
case 19:
_local2 = dayNineteenSpawn(_local2);
break;
case 20:
_local2 = dayTwentySpawn(_local2);
break;
case 21:
_local2 = dayTwentyOneSpawn(_local2);
break;
case 22:
_local2 = dayTwentyTwoSpawn(_local2);
break;
case 23:
_local2 = dayTwentyThreeSpawn(_local2);
break;
case 24:
_local2 = dayTwentyFourSpawn(_local2);
break;
case 25:
_local2 = dayTwentyFiveSpawn(_local2);
break;
case 26:
_local2 = dayTwentySixSpawn(_local2);
break;
case 27:
_local2 = dayTwentySevenSpawn(_local2);
break;
case 28:
_local2 = dayTwentyEightSpawn(_local2);
break;
case 29:
_local2 = dayTwentyNineSpawn(_local2);
break;
case 30:
_local2 = dayThirtySpawn(_local2);
break;
default:
_local2 = getZombieSpawnType((_arg1 - 1));
};
return (_local2);
}
private static function dayOneSpawn(_arg1:Array):Array{
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
return (_arg1);
}
private static function dayTwoSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayThreeSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayFourSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayFiveSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function daySixSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function daySevenSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayEightSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayNineSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayTenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
return (_arg1);
}
private static function dayElevenSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayTwelveSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayThirteenSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayFourteenSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayFifteenSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function daySixteenSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function daySeventeenSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayEighteenSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayNineteenSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayTwentySpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
return (_arg1);
}
private static function dayTwentyOneSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1 = dayOneSpawn(_arg1);
return (_arg1);
}
private static function dayTwentyTwoSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1 = dayOneSpawn(_arg1);
return (_arg1);
}
private static function dayTwentyThreeSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayTwentyFourSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayTwentyFiveSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayTwentySixSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayTwentySevenSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayTwentyEightSpawn(_arg1:Array):Array{
_arg1 = resetZombieSpawn(_arg1);
return (_arg1);
}
private static function dayTwentyNineSpawn(_arg1:Array):Array{
_arg1 = dayTwentyEightSpawn(_arg1);
return (_arg1);
}
private static function dayThirtySpawn(_arg1:Array):Array{
_arg1 = [];
_arg1 = dayOneSpawn(_arg1);
return (_arg1);
}
private static function resetZombieSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
if (((S.PAGE3_ACHIEVEMENT_1) && ((((((S.trueLevel >= 3)) && ((S.trueLevel < 11)))) || ((((S.trueLevel >= 21)) && ((S.trueLevel < 30)))))))){
_arg1.push(FAST_ZOMBIE);
};
if (((((S.PAGE3_ACHIEVEMENT_2) && ((S.trueLevel >= 5)))) && ((S.trueLevel < 11)))){
_arg1.push(DEAD_MEAT_ZOMBIE);
_arg1.push(DEAD_MEAT_ZOMBIE);
};
if (((((S.PAGE3_ACHIEVEMENT_4) && ((S.trueLevel >= 13)))) && ((S.trueLevel < 21)))){
_arg1.push(TRAP_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
};
if (((((S.PAGE3_ACHIEVEMENT_5) && ((S.trueLevel >= 15)))) && ((S.trueLevel < 21)))){
_arg1.push(UFO_ZOMBIE);
};
if (((S.PAGE3_ACHIEVEMENT_7) && ((S.trueLevel >= 23)))){
_arg1.push(FAT_ZOMBIE);
};
if (((S.PAGE3_ACHIEVEMENT_8) && ((S.trueLevel >= 25)))){
_arg1.push(CHINESE_ZOMBIE);
_arg1.push(CHINESE_ZOMBIE);
};
return (_arg1);
}
private static function survivalModeSpawn(_arg1:Array):Array{
_arg1 = dayTwentyEightSpawn(_arg1);
return (_arg1);
}
public static function isSurvivorStage(_arg1:int):Boolean{
return (!((survivorStages.indexOf(_arg1) == -1)));
}
public static function survivorStageKills(_arg1:int):int{
return (_survivorStageKills[survivorStages.indexOf(_arg1)]);
}
public static function isFreddyStage(_arg1:int):Boolean{
return ((_arg1 == 30));
}
public static function getEndPathHeight(_arg1:int):int{
if (S.gameMode == C.SURVIVAL_MODE){
return (C.TILE_HEIGHT);
};
if ((((S.gameMode == C.NORMAL_MODE)) && ((((((((((((((((((((((((((_arg1 == 3)) || ((_arg1 == 4)))) || ((_arg1 == 5)))) || ((_arg1 == 7)))) || ((_arg1 == 8)))) || ((_arg1 == 22)))) || ((_arg1 == 24)))) || ((_arg1 == 25)))) || ((_arg1 == 26)))) || ((_arg1 == 27)))) || ((_arg1 == 29)))) || ((_arg1 == 30)))) || ((((_arg1 >= 11)) && ((_arg1 <= 20)))))))){
return (C.TILE_HEIGHT);
};
return (C.SPECIAL_TILE_END_HEIGHT);
}
public static function getCurrentPathHeight(_arg1:int, _arg2:int):int{
if (_arg2 == (_pathArray.length - 1)){
return (getEndPathHeight(_arg1));
};
return (C.TILE_HEIGHT);
}
}
}//package
Section 560
//Pause (Pause)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Pause extends MovieClip {
public var alien:MovieClip;
public var moneyremaining:MovieClip;
public var moneytxt:TextField;
public var moneyspenttxt:MovieClip;
public var musictxt:TextField;
public var btn_GGshop:MovieClip;
public var btn_music2:MovieClip;
public var btn_resume:MovieClip;
public var btn_music3:MovieClip;
public var btn_music1:MovieClip;
public var jason:MovieClip;
public var btn_music4:MovieClip;
public var btn_progress:MovieClip;
public var btn_quit:MovieClip;
public var freddy:MovieClip;
public var btn_howtoplay:MovieClip;
public function Pause(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
moneytxt.selectable = false;
}
}
}//package
Section 561
//pIndicator (pIndicator)
package {
import flash.display.*;
public dynamic class pIndicator extends MovieClip {
}
}//package
Section 562
//Player_hand (Player_hand)
package {
import flash.display.*;
public dynamic class Player_hand extends MovieClip {
}
}//package
Section 563
//player_melee (player_melee)
package {
import flash.media.*;
public dynamic class player_melee extends Sound {
}
}//package
Section 564
//Player_special (Player_special)
package {
import flash.display.*;
public dynamic class Player_special extends BitmapData {
public function Player_special(_arg1:int=192, _arg2:int=152){
super(_arg1, _arg2);
}
}
}//package
Section 565
//Player_trail (Player_trail)
package {
import flash.display.*;
public dynamic class Player_trail extends BitmapData {
public function Player_trail(_arg1:int=288, _arg2:int=240){
super(_arg1, _arg2);
}
}
}//package
Section 566
//playerCollisionBox (playerCollisionBox)
package {
import flash.display.*;
public dynamic class playerCollisionBox extends MovieClip {
}
}//package
Section 567
//prog_book_drop (prog_book_drop)
package {
import flash.media.*;
public dynamic class prog_book_drop extends Sound {
}
}//package
Section 568
//prog_pageflip (prog_pageflip)
package {
import flash.media.*;
public dynamic class prog_pageflip extends Sound {
}
}//package
Section 569
//prog1 (prog1)
package {
import flash.display.*;
public dynamic class prog1 extends MovieClip {
public var prog:MovieClip;
public function prog1(){
addFrameScript(9, frame10, 19, frame20);
}
function frame10(){
stop();
}
function frame20(){
stop();
visible = false;
}
}
}//package
Section 570
//prog2 (prog2)
package {
import flash.display.*;
public dynamic class prog2 extends MovieClip {
public var prog:MovieClip;
public function prog2(){
addFrameScript(9, frame10, 19, frame20);
}
function frame10(){
stop();
}
function frame20(){
stop();
visible = false;
}
}
}//package
Section 571
//prog3 (prog3)
package {
import flash.display.*;
public dynamic class prog3 extends MovieClip {
public var prog:MovieClip;
public function prog3(){
addFrameScript(9, frame10, 19, frame20);
}
function frame10(){
stop();
}
function frame20(){
stop();
visible = false;
}
}
}//package
Section 572
//Progress (Progress)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import flash.net.*;
public class Progress extends MovieClip {
public var btn_back:MovieClip;
public var book:MovieClip;
private var stageRef:Stage;
private var rootRef;
private var pageNo:int;// = 0
private var tempPage:int;
private var pages:Array;
private var page1:MovieClip;
private var page2:MovieClip;
private var page3:MovieClip;
private var comic:MovieClip;
private var comicOpen:Boolean;// = false
private var comicOpened:int;// = 0
private var charSelected:Boolean;
private var anthony:Boolean;// = true
public function Progress(_arg1:Stage, _arg2){
pages = [];
page1 = new prog1();
page2 = new prog2();
page3 = new prog3();
comic = new Comic();
charSelected = anthony;
super();
addFrameScript(14, frame15);
this.stageRef = _arg1;
this.rootRef = _arg2;
visible = false;
book.btn_back.visible = false;
btn_back.gotoAndStop("idle");
initPages();
setPageOneButtons();
setPageTwoButtons();
setPageThreeButtons();
addChild(comic);
comic.x = 135;
comic.visible = false;
}
public function addEventListeners():void{
btn_back.gotoAndStop("idle");
page1.prog.charselect.gotoAndStop("Anthony");
charSelected = anthony;
EC.add(page1.prog.charselect, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
charSelected = !(charSelected);
SoundManager.instance.playSound(Sounds.YESBUTTON2);
if (charSelected == anthony){
page1.prog.charselect.gotoAndStop("Anthony");
};
if (charSelected == !(anthony)){
page1.prog.charselect.gotoAndStop("Jon");
};
}, false, 0, true, "SUB_CHAR_CLICK");
EC.add(this, Event.ENTER_FRAME, function (_arg1:Event){
rootRef.updateMoneyForAll();
}, false, 0, true, "UPDATE MONEY");
EC.add(btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
removeProgressButtonsForMenu();
visible = false;
SoundManager.instance.playSound(Sounds.BACKBUTTON);
}, false, 0, true, "BACK_BUTTON_CLICK");
EC.add(btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
EC.add(btn_back, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_back.gotoAndStop("idle");
}, false, 0, true, "BACK_BUTTON_IDLE");
EC.add(book.btn_next, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (pageNo < (pages.length - 1)){
tempPage = pageNo;
pageNo = (pageNo + 1);
changePage(tempPage, pageNo);
};
}, false, 0, true, "BOOK_NEXT_BUTTON_IDLE");
EC.add(book.btn_next, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BOOK_NEXT_BUTTON_ROLLOVER");
EC.add(book.btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (pageNo > 0){
tempPage = pageNo;
pageNo = (pageNo - 1);
changePage(tempPage, pageNo);
};
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BOOK_BACK_BUTTON_ROLLOVER");
}
public function setProgressButtonsForMenu():void{
addEventListeners();
EC.remove("BACK_BUTTON_CLICK");
EC.add(btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.hideMenuCover();
removeProgressButtonsForMenu();
visible = false;
SoundManager.instance.playSound(Sounds.BACKBUTTON);
}, false, 0, true, "MENU BUTTON COVER");
}
public function setProgressButtonsForPause():void{
addEventListeners();
EC.remove("BACK_BUTTON_CLICK");
EC.add(btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.showPauseButtons();
removeProgressButtonsForPause();
S.pauseDisabled = false;
visible = false;
SoundManager.instance.playSound(Sounds.BACKBUTTON);
}, false, 0, true, "PAUSE BUTTON COVER");
}
public function removeProgressButtonsForMenu():void{
resetPages();
EC.remove("PAUSE BUTTON COVER");
EC.remove("MENU BUTTON COVER");
EC.remove("UPDATE MONEY");
EC.remove("BACK_BUTTON_CLICK");
EC.remove("BACK_BUTTON_IDLE");
EC.remove("BACK_BUTTON_ROLLOVER");
EC.remove("BOOK_NEXT_BUTTON_IDLE");
EC.remove("BOOK_BACK_BUTTON_IDLE");
EC.remove("BOOK_NEXT_BUTTON_ROLLOVER");
EC.remove("BOOK_BACK_BUTTON_ROLLOVER");
EC.remove("SUB_CHAR_CLICK");
}
public function removeProgressButtonsForPause():void{
resetPages();
EC.remove("PAUSE BUTTON COVER");
EC.remove("MENU BUTTON COVER");
EC.remove("UPDATE MONEY");
EC.remove("BACK_BUTTON_CLICK");
EC.remove("BACK_BUTTON_IDLE");
EC.remove("BACK_BUTTON_ROLLOVER");
EC.remove("BOOK_NEXT_BUTTON_IDLE");
EC.remove("BOOK_BACK_BUTTON_IDLE");
EC.remove("BOOK_NEXT_BUTTON_ROLLOVER");
EC.remove("BOOK_BACK_BUTTON_ROLLOVER");
EC.remove("SUB_CHAR_CLICK");
}
public function setProgressButtons():void{
resetPages();
addEventListeners();
EC.remove("BACK_BUTTON_CLICK");
EC.add(btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.hideProgress();
rootRef.showVictoryStat();
}, false, 0, true, "VICTORY BACK BUTTON");
}
public function setPageOneButtons():void{
if (Web.mochiCoinDisabled){
page1.prog.btn_frame2.visible = false;
page1.prog.btn_frame3.visible = false;
page1.prog.btn_music4.visible = false;
};
EC.add(page1.prog.btn_music1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
page1.prog.musictxt.visible = true;
page1.prog.btn_music1.gotoAndStop("rollover");
page1.prog.musictxt.text = C.BGM_TITLE_1;
}, false, 0, true);
EC.add(page1.prog.btn_music1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page1.prog.musictxt.text = "CASSETTE TAPE";
if (page1.prog.btn_music1.currentLabel == "rollover"){
page1.prog.btn_music1.gotoAndStop("unlocked");
};
}, false, 0, true);
EC.add(page1.prog.btn_music2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
page1.prog.musictxt.visible = true;
page1.prog.btn_music2.gotoAndStop("rollover");
page1.prog.musictxt.text = C.BGM_TITLE_2;
}, false, 0, true);
EC.add(page1.prog.btn_music2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page1.prog.musictxt.text = "CASSETTE TAPE";
if (page1.prog.btn_music2.currentLabel == "rollover"){
page1.prog.btn_music2.gotoAndStop("unlocked");
};
}, false, 0, true);
EC.add(page1.prog.btn_music3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page1.prog.btn_music3.currentLabel != "lock"){
page1.prog.musictxt.visible = true;
page1.prog.btn_music3.gotoAndStop("rollover");
page1.prog.musictxt.text = C.BGM_TITLE_3;
};
}, false, 0, true);
EC.add(page1.prog.btn_music3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page1.prog.musictxt.text = "CASSETTE TAPE";
if (page1.prog.btn_music3.currentLabel == "rollover"){
page1.prog.btn_music3.gotoAndStop("unlocked");
};
}, false, 0, true);
EC.add(page1.prog.btn_music4, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page1.prog.btn_music4.currentLabel != "lock"){
page1.prog.musictxt.visible = true;
page1.prog.btn_music4.gotoAndStop("rollover");
page1.prog.musictxt.text = C.BGM_TITLE_4;
};
}, false, 0, true);
EC.add(page1.prog.btn_music4, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page1.prog.musictxt.text = "CASSETTE TAPE";
if (page1.prog.btn_music4.currentLabel == "rollover"){
page1.prog.btn_music4.gotoAndStop("unlocked");
};
}, false, 0, true);
EC.add(page1.prog.btn_frame1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page1.prog.btn_frame1.currentLabel == "idle"){
page1.prog.btn_frame1.gotoAndStop("rollover");
page1.prog.frametxt.text = "OLD TV";
};
}, false, 0, true);
EC.add(page1.prog.btn_frame1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (page1.prog.btn_frame1.currentLabel == "rollover"){
page1.prog.frametxt.text = "FRAMES";
page1.prog.btn_frame1.gotoAndStop("idle");
};
}, false, 0, true);
EC.add(page1.prog.btn_frame2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page1.prog.btn_frame2.currentLabel == "idle"){
page1.prog.btn_frame2.gotoAndStop("rollover");
page1.prog.frametxt.text = "GRINDHOUSE";
};
}, false, 0, true);
EC.add(page1.prog.btn_frame2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (page1.prog.btn_frame2.currentLabel == "rollover"){
page1.prog.frametxt.text = "FRAMES";
page1.prog.btn_frame2.gotoAndStop("idle");
};
}, false, 0, true);
EC.add(page1.prog.btn_frame3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page1.prog.btn_frame3.currentLabel == "idle"){
page1.prog.btn_frame3.gotoAndStop("rollover");
page1.prog.frametxt.text = "SCANLINE";
};
}, false, 0, true);
EC.add(page1.prog.btn_frame3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (page1.prog.btn_frame3.currentLabel == "rollover"){
page1.prog.frametxt.text = "FRAMES";
page1.prog.btn_frame3.gotoAndStop("idle");
};
}, false, 0, true);
EC.add(page1.prog.btn_comic1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
page1.prog.comictxt.visible = true;
page1.prog.btn_comic1.gotoAndPlay("roll in");
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
page1.prog.comictxt.text = "LIGHTS! CAMERA! ACTION!";
}, false, 0, true);
EC.add(page1.prog.btn_comic1, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
comic.visible = true;
comic.gotoAndPlay("appear");
comic.book.comic1.visible = true;
comic.book.comic2.visible = false;
comic.book.comic3.visible = false;
comic.book.comic4.visible = false;
comicOpen = true;
comicOpened = 1;
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
setComicButtons();
}, false, 0, true);
EC.add(page1.prog.btn_comic1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if ((((page1.prog.btn_comic1.currentLabel == "roll in")) && (!(comicOpen)))){
page1.prog.comictxt.text = "COMIC BOOKS";
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
page1.prog.btn_comic1.gotoAndPlay("roll out");
};
}, false, 0, true);
EC.add(page1.prog.btn_comic2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (S.comicUnlockArray[1]){
page1.prog.comictxt.visible = true;
page1.prog.btn_comic2.gotoAndPlay("roll in");
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
page1.prog.comictxt.text = "GOOD FRIDAY";
};
}, false, 0, true);
EC.add(page1.prog.btn_comic2, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (S.comicUnlockArray[1]){
comic.visible = true;
comic.gotoAndPlay("appear");
comic.book.comic1.visible = false;
comic.book.comic2.visible = true;
comic.book.comic3.visible = false;
comic.book.comic4.visible = false;
comicOpen = true;
comicOpened = 2;
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
setComicButtons();
};
}, false, 0, true);
EC.add(page1.prog.btn_comic2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (S.comicUnlockArray[1]){
if ((((page1.prog.btn_comic2.currentLabel == "roll in")) && (!(comicOpen)))){
page1.prog.comictxt.text = "COMIC BOOKS";
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
page1.prog.btn_comic2.gotoAndPlay("roll out");
};
};
}, false, 0, true);
EC.add(page1.prog.btn_comic3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (S.comicUnlockArray[2]){
page1.prog.comictxt.visible = true;
page1.prog.btn_comic3.gotoAndPlay("roll in");
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
page1.prog.comictxt.text = "INDEPENDENCE DAY";
};
}, false, 0, true);
EC.add(page1.prog.btn_comic3, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (S.comicUnlockArray[2]){
comic.visible = true;
comic.gotoAndPlay("appear");
comic.book.comic1.visible = false;
comic.book.comic2.visible = false;
comic.book.comic3.visible = true;
comic.book.comic4.visible = false;
comicOpen = true;
comicOpened = 3;
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
setComicButtons();
};
}, false, 0, true);
EC.add(page1.prog.btn_comic3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (S.comicUnlockArray[2]){
if ((((page1.prog.btn_comic3.currentLabel == "roll in")) && (!(comicOpen)))){
page1.prog.comictxt.text = "COMIC BOOKS";
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
page1.prog.btn_comic3.gotoAndPlay("roll out");
};
};
}, false, 0, true);
EC.add(page1.prog.btn_comic4, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (S.comicUnlockArray[3]){
page1.prog.comictxt.visible = true;
page1.prog.btn_comic4.gotoAndPlay("roll in");
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
page1.prog.comictxt.text = "DREAM WARRIORS";
};
}, false, 0, true);
EC.add(page1.prog.btn_comic4, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (S.comicUnlockArray[3]){
comic.visible = true;
comic.gotoAndPlay("appear");
comic.book.comic1.visible = false;
comic.book.comic2.visible = false;
comic.book.comic3.visible = false;
comic.book.comic4.visible = true;
comicOpen = true;
comicOpened = 4;
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
setComicButtons();
};
}, false, 0, true);
EC.add(page1.prog.btn_comic4, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (S.comicUnlockArray[3]){
if ((((page1.prog.btn_comic4.currentLabel == "roll in")) && (!(comicOpen)))){
page1.prog.comictxt.text = "COMIC BOOKS";
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
page1.prog.btn_comic4.gotoAndPlay("roll out");
};
};
}, false, 0, true);
}
private function setComicButtons():void{
EC.add(comic, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
comicOpen = false;
comic.gotoAndPlay("disappear");
removeComicButtons();
switch (comicOpened){
case 1:
page1.prog.btn_comic1.gotoAndPlay("roll out");
break;
case 2:
page1.prog.btn_comic2.gotoAndPlay("roll out");
break;
case 3:
page1.prog.btn_comic3.gotoAndPlay("roll out");
break;
case 4:
page1.prog.btn_comic4.gotoAndPlay("roll out");
break;
};
}, false, 0, true, "CLOSE_COMIC");
EC.add(comic, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
comicOpen = false;
comic.gotoAndPlay("disappear");
removeComicButtons();
switch (comicOpened){
case 1:
page1.prog.btn_comic1.gotoAndPlay("roll out");
break;
case 2:
page1.prog.btn_comic2.gotoAndPlay("roll out");
break;
case 3:
page1.prog.btn_comic3.gotoAndPlay("roll out");
break;
case 4:
page1.prog.btn_comic4.gotoAndPlay("roll out");
break;
};
}, false, 0, true, "CLOSE_COMIC");
EC.add(comic, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
comicOpen = false;
comic.gotoAndPlay("disappear");
removeComicButtons();
switch (comicOpened){
case 1:
page1.prog.btn_comic1.gotoAndPlay("roll out");
break;
case 2:
page1.prog.btn_comic2.gotoAndPlay("roll out");
break;
case 3:
page1.prog.btn_comic3.gotoAndPlay("roll out");
break;
case 4:
page1.prog.btn_comic4.gotoAndPlay("roll out");
break;
};
}, false, 0, true, "CLOSE_COMIC");
EC.add(comic, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
comicOpen = false;
comic.gotoAndPlay("disappear");
removeComicButtons();
switch (comicOpened){
case 1:
page1.prog.btn_comic1.gotoAndPlay("roll out");
break;
case 2:
page1.prog.btn_comic2.gotoAndPlay("roll out");
break;
case 3:
page1.prog.btn_comic3.gotoAndPlay("roll out");
break;
case 4:
page1.prog.btn_comic4.gotoAndPlay("roll out");
break;
};
}, false, 0, true, "CLOSE_COMIC");
comic.book.btn_website.gotoAndStop("idle");
EC.add(comic.book.btn_website, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://bitejacker.secretbase.com.sg");
navigateToURL(_local2, "_blank");
}, false, 0, true, "WEBSITE_CLICK");
EC.add(comic.book.btn_website, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
comic.book.btn_website.gotoAndStop("rollover");
}, false, 0, true, "WEBSITE_ROLLOVER");
EC.add(comic.book.btn_website, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
comic.book.btn_website.gotoAndStop("idle");
}, false, 0, true, "WEBSITE_IDLE");
}
private function removeComicButtons():void{
EC.remove("CLOSE_COMIC");
EC.remove("WEBSITE_CLICK");
EC.remove("WEBSITE_ROLLOVER");
EC.remove("WEBSITE_IDLE");
}
public function setPageTwoButtons():void{
page2.prog.maxHPicon.gotoAndStop(1);
page2.prog.coinmagicon.gotoAndStop(1);
page2.prog.searchicon.gotoAndStop(1);
page2.prog.speedicon.gotoAndStop(1);
page2.prog.moonwalkicon.gotoAndStop(1);
page2.prog.struggleicon.gotoAndStop(1);
page2.prog.ammoicon.gotoAndStop(1);
page2.prog.membershipicon.gotoAndStop(1);
page2.prog.specialicon.gotoAndStop(1);
page2.prog.actionicon.gotoAndStop(1);
page2.prog.shophealthicon.gotoAndStop(1);
page2.prog.shopammoicon.gotoAndStop(1);
page2.prog.mgunicon.gotoAndStop(1);
page2.prog.sgunicon.gotoAndStop(1);
page2.prog.agunicon.gotoAndStop(1);
page2.prog.mgun2icon.gotoAndStop(1);
page2.prog.sgun2icon.gotoAndStop(1);
page2.prog.agun2icon.gotoAndStop(1);
EC.add(page2.prog.maxHPicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.maxHPLevel){
case 0:
page2.prog.maxHPicon.gotoAndStop(10);
break;
case 1:
page2.prog.maxHPicon.gotoAndStop(15);
break;
case 2:
page2.prog.maxHPicon.gotoAndStop(20);
break;
case 3:
page2.prog.maxHPicon.gotoAndStop(25);
break;
case 4:
page2.prog.maxHPicon.gotoAndStop(25);
break;
};
Main.moveToTop(page2.prog.maxHPicon);
}, false, 0, true);
EC.add(page2.prog.maxHPicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.maxHPicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.coinmagicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.coinmagLevel){
case 0:
page2.prog.coinmagicon.gotoAndStop(10);
break;
case 1:
page2.prog.coinmagicon.gotoAndStop(15);
break;
case 2:
page2.prog.coinmagicon.gotoAndStop(20);
break;
case 3:
page2.prog.coinmagicon.gotoAndStop(25);
break;
case 4:
page2.prog.coinmagicon.gotoAndStop(25);
break;
};
Main.moveToTop(page2.prog.coinmagicon);
}, false, 0, true);
EC.add(page2.prog.coinmagicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.coinmagicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.searchicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.searchLevel){
case 0:
page2.prog.searchicon.gotoAndStop(10);
break;
case 1:
page2.prog.searchicon.gotoAndStop(15);
break;
case 2:
page2.prog.searchicon.gotoAndStop(20);
break;
case 3:
page2.prog.searchicon.gotoAndStop(25);
break;
case 4:
page2.prog.searchicon.gotoAndStop(25);
break;
};
Main.moveToTop(page2.prog.searchicon);
}, false, 0, true);
EC.add(page2.prog.searchicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.searchicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.speedicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.speedLevel){
case 0:
page2.prog.speedicon.gotoAndStop(10);
break;
case 1:
page2.prog.speedicon.gotoAndStop(15);
break;
case 2:
page2.prog.speedicon.gotoAndStop(20);
break;
case 3:
page2.prog.speedicon.gotoAndStop(25);
break;
case 4:
page2.prog.speedicon.gotoAndStop(25);
break;
};
Main.moveToTop(page2.prog.speedicon);
}, false, 0, true);
EC.add(page2.prog.speedicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.speedicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.moonwalkicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.moonwalkLevel){
case 0:
page2.prog.moonwalkicon.gotoAndStop(10);
break;
case 1:
page2.prog.moonwalkicon.gotoAndStop(15);
break;
case 2:
page2.prog.moonwalkicon.gotoAndStop(20);
break;
case 3:
page2.prog.moonwalkicon.gotoAndStop(25);
break;
case 4:
page2.prog.moonwalkicon.gotoAndStop(25);
break;
};
Main.moveToTop(page2.prog.moonwalkicon);
}, false, 0, true);
EC.add(page2.prog.moonwalkicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.moonwalkicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.struggleicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.reloadLevel){
case 0:
page2.prog.struggleicon.gotoAndStop(10);
break;
case 1:
page2.prog.struggleicon.gotoAndStop(15);
break;
case 2:
page2.prog.struggleicon.gotoAndStop(20);
break;
case 3:
page2.prog.struggleicon.gotoAndStop(25);
break;
case 4:
page2.prog.struggleicon.gotoAndStop(25);
break;
};
Main.moveToTop(page2.prog.struggleicon);
}, false, 0, true);
EC.add(page2.prog.struggleicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.struggleicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.ammoicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.ammoLevel){
case 0:
page2.prog.ammoicon.gotoAndStop(10);
break;
case 1:
page2.prog.ammoicon.gotoAndStop(15);
break;
case 2:
page2.prog.ammoicon.gotoAndStop(20);
break;
case 3:
page2.prog.ammoicon.gotoAndStop(25);
break;
case 4:
page2.prog.ammoicon.gotoAndStop(25);
break;
};
Main.moveToTop(page2.prog.ammoicon);
}, false, 0, true);
EC.add(page2.prog.ammoicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.ammoicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.membershipicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.shopLevel){
case 0:
page2.prog.membershipicon.gotoAndStop(10);
break;
case 1:
page2.prog.membershipicon.gotoAndStop(15);
break;
case 2:
page2.prog.membershipicon.gotoAndStop(20);
break;
case 3:
page2.prog.membershipicon.gotoAndStop(25);
break;
case 4:
page2.prog.membershipicon.gotoAndStop(25);
break;
};
Main.moveToTop(page2.prog.membershipicon);
}, false, 0, true);
EC.add(page2.prog.membershipicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.membershipicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.specialicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.specialLevel){
case 0:
page2.prog.specialicon.gotoAndStop(10);
break;
case 1:
page2.prog.specialicon.gotoAndStop(15);
break;
case 2:
page2.prog.specialicon.gotoAndStop(15);
break;
};
Main.moveToTop(page2.prog.specialicon);
}, false, 0, true);
EC.add(page2.prog.specialicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.specialicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.actionicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.actionLevel){
case 0:
page2.prog.actionicon.gotoAndStop(10);
break;
case 1:
page2.prog.actionicon.gotoAndStop(15);
break;
case 2:
page2.prog.actionicon.gotoAndStop(15);
break;
};
Main.moveToTop(page2.prog.actionicon);
}, false, 0, true);
EC.add(page2.prog.actionicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.actionicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.shophealthicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.shophealthLevel){
case 0:
page2.prog.shophealthicon.gotoAndStop(10);
break;
case 1:
page2.prog.shophealthicon.gotoAndStop(15);
break;
case 2:
page2.prog.shophealthicon.gotoAndStop(15);
break;
};
Main.moveToTop(page2.prog.shophealthicon);
}, false, 0, true);
EC.add(page2.prog.shophealthicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.shophealthicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.shopammoicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.shopammoLevel){
case 0:
page2.prog.shopammoicon.gotoAndStop(10);
break;
case 1:
page2.prog.shopammoicon.gotoAndStop(15);
break;
case 2:
page2.prog.shopammoicon.gotoAndStop(15);
break;
};
Main.moveToTop(page2.prog.shopammoicon);
}, false, 0, true);
EC.add(page2.prog.shopammoicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.shopammoicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.mgunicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.mgun1killsLevel){
case 0:
page2.prog.mgunicon.gotoAndStop(10);
break;
case 1:
page2.prog.mgunicon.gotoAndStop(10);
break;
};
Main.moveToTop(page2.prog.mgunicon);
}, false, 0, true);
EC.add(page2.prog.mgunicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.mgunicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.sgunicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.sgun1killsLevel){
case 0:
page2.prog.sgunicon.gotoAndStop(10);
break;
case 1:
page2.prog.sgunicon.gotoAndStop(10);
break;
};
Main.moveToTop(page2.prog.sgunicon);
}, false, 0, true);
EC.add(page2.prog.sgunicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.sgunicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.agunicon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.agun1killsLevel){
case 0:
page2.prog.agunicon.gotoAndStop(10);
break;
case 1:
page2.prog.agunicon.gotoAndStop(10);
break;
};
Main.moveToTop(page2.prog.agunicon);
}, false, 0, true);
EC.add(page2.prog.agunicon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.agunicon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.mgun2icon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.mgun2killsLevel){
case 0:
page2.prog.mgun2icon.gotoAndStop(10);
break;
case 1:
page2.prog.mgun2icon.gotoAndStop(10);
break;
};
Main.moveToTop(page2.prog.mgun2icon);
}, false, 0, true);
EC.add(page2.prog.mgun2icon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.mgun2icon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.sgun2icon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.sgun2killsLevel){
case 0:
page2.prog.sgun2icon.gotoAndStop(10);
break;
case 1:
page2.prog.sgun2icon.gotoAndStop(10);
break;
};
Main.moveToTop(page2.prog.sgun2icon);
}, false, 0, true);
EC.add(page2.prog.sgun2icon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.sgun2icon.gotoAndStop(1);
}, false, 0, true);
EC.add(page2.prog.agun2icon, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
switch (S.agun2killsLevel){
case 0:
page2.prog.agun2icon.gotoAndStop(10);
break;
case 1:
page2.prog.agun2icon.gotoAndStop(10);
break;
};
Main.moveToTop(page2.prog.agun2icon);
}, false, 0, true);
EC.add(page2.prog.agun2icon, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
page2.prog.agun2icon.gotoAndStop(1);
}, false, 0, true);
}
public function setPageThreeButtons():void{
EC.add(page3.prog.page3icon1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page3.prog.page3icon1.currentLabel == "locked"){
page3.prog.page3icon1.gotoAndStop("lockedrollover");
};
if (page3.prog.page3icon1.currentLabel == "unlocked"){
page3.prog.page3icon1.gotoAndStop("unlockedrollover");
};
Main.moveToTop(page3.prog.page3icon1);
}, false, 0, true);
EC.add(page3.prog.page3icon1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
initPageThreeInfo();
}, false, 0, true);
EC.add(page3.prog.page3icon2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page3.prog.page3icon2.currentLabel == "locked"){
page3.prog.page3icon2.gotoAndStop("lockedrollover");
};
if (page3.prog.page3icon2.currentLabel == "unlocked"){
page3.prog.page3icon2.gotoAndStop("unlockedrollover");
};
Main.moveToTop(page3.prog.page3icon2);
}, false, 0, true);
EC.add(page3.prog.page3icon2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
initPageThreeInfo();
}, false, 0, true);
EC.add(page3.prog.page3icon3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page3.prog.page3icon3.currentLabel == "locked"){
page3.prog.page3icon3.gotoAndStop("lockedrollover");
};
if (page3.prog.page3icon3.currentLabel == "unlocked"){
page3.prog.page3icon3.gotoAndStop("unlockedrollover");
};
Main.moveToTop(page3.prog.page3icon3);
}, false, 0, true);
EC.add(page3.prog.page3icon3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
initPageThreeInfo();
}, false, 0, true);
EC.add(page3.prog.page3icon4, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page3.prog.page3icon4.currentLabel == "locked"){
page3.prog.page3icon4.gotoAndStop("lockedrollover");
};
if (page3.prog.page3icon4.currentLabel == "unlocked"){
page3.prog.page3icon4.gotoAndStop("unlockedrollover");
};
Main.moveToTop(page3.prog.page3icon4);
}, false, 0, true);
EC.add(page3.prog.page3icon4, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
initPageThreeInfo();
}, false, 0, true);
EC.add(page3.prog.page3icon5, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page3.prog.page3icon5.currentLabel == "locked"){
page3.prog.page3icon5.gotoAndStop("lockedrollover");
};
if (page3.prog.page3icon5.currentLabel == "unlocked"){
page3.prog.page3icon5.gotoAndStop("unlockedrollover");
};
Main.moveToTop(page3.prog.page3icon5);
}, false, 0, true);
EC.add(page3.prog.page3icon5, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
initPageThreeInfo();
}, false, 0, true);
EC.add(page3.prog.page3icon6, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page3.prog.page3icon6.currentLabel == "locked"){
page3.prog.page3icon6.gotoAndStop("lockedrollover");
};
if (page3.prog.page3icon6.currentLabel == "unlocked"){
page3.prog.page3icon6.gotoAndStop("unlockedrollover");
};
Main.moveToTop(page3.prog.page3icon6);
}, false, 0, true);
EC.add(page3.prog.page3icon6, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
initPageThreeInfo();
}, false, 0, true);
EC.add(page3.prog.page3icon7, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page3.prog.page3icon7.currentLabel == "locked"){
page3.prog.page3icon7.gotoAndStop("lockedrollover");
};
if (page3.prog.page3icon7.currentLabel == "unlocked"){
page3.prog.page3icon7.gotoAndStop("unlockedrollover");
};
Main.moveToTop(page3.prog.page3icon7);
}, false, 0, true);
EC.add(page3.prog.page3icon7, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
initPageThreeInfo();
}, false, 0, true);
EC.add(page3.prog.page3icon8, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page3.prog.page3icon8.currentLabel == "locked"){
page3.prog.page3icon8.gotoAndStop("lockedrollover");
};
if (page3.prog.page3icon8.currentLabel == "unlocked"){
page3.prog.page3icon8.gotoAndStop("unlockedrollover");
};
Main.moveToTop(page3.prog.page3icon8);
}, false, 0, true);
EC.add(page3.prog.page3icon8, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
initPageThreeInfo();
}, false, 0, true);
EC.add(page3.prog.page3icon9, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (page3.prog.page3icon9.currentLabel == "locked"){
page3.prog.page3icon9.gotoAndStop("lockedrollover");
};
if (page3.prog.page3icon9.currentLabel == "unlocked"){
page3.prog.page3icon9.gotoAndStop("unlockedrollover");
};
Main.moveToTop(page3.prog.page3icon9);
}, false, 0, true);
EC.add(page3.prog.page3icon9, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
initPageThreeInfo();
}, false, 0, true);
}
public function removeProgressButtons():void{
}
public function initPages():void{
pages.push(page1);
pages.push(page2);
pages.push(page3);
initPageOneInfo();
initPageTwoInfo();
initPageThreeInfo();
var _local1:int;
while (_local1 < pages.length) {
book.addChild(pages[_local1]);
pages[_local1].visible = false;
_local1++;
};
pages[0].visible = true;
pages[0].x = 37;
pages[0].y = 29;
pages[1].x = 40;
pages[1].y = 40;
pages[2].x = 40;
pages[2].y = 40;
}
public function resetPages():void{
var _local1:int;
while (_local1 < pages.length) {
pages[_local1].visible = false;
_local1++;
};
book.btn_back.visible = false;
book.btn_next.visible = true;
pageNo = 0;
pages[pageNo].visible = true;
pages[pageNo].gotoAndPlay("appear");
}
public function initPageOneInfo():void{
page1.prog.moneytxt.text = ("$" + String(S.money));
page1.prog.maxHPtxt.text = (String(S.playerMaxHP) + "%");
page1.prog.killstreaktxt.text = String(S.maxkillstreak);
page1.prog.totaldeathtxt.text = String(S.totaldeath);
page1.prog.totalkillstxt.text = String(S.totalkills);
page1.prog.totaldistance.text = (String(int(S.distanceTraveled)) + "m");
page1.prog.gameplaytimetxt.text = S.secondsToMinutes();
page1.prog.totalquittxt.text = S.quitTimes;
page1.prog.totalsearchtxt.text = S.totalobjectsearched;
page1.prog.totalsurvivortxt.text = S.totalsurvivorrescued;
page1.prog.maxnighttxt.text = S.maxnight;
page1.prog.musictxt.text = "CASSETTE TAPE";
page1.prog.frametxt.text = "FRAMES";
page1.prog.comictxt.text = "COMIC BOOKS";
page1.prog.btn_music1.gotoAndStop("unlocked");
page1.prog.btn_music2.gotoAndStop("unlocked");
if (S.musicUnlockArray[2]){
page1.prog.btn_music3.gotoAndStop("unlocked");
} else {
page1.prog.btn_music3.gotoAndStop("lock");
};
if (S.musicUnlockArray[3]){
page1.prog.btn_music4.gotoAndStop("unlocked");
} else {
page1.prog.btn_music4.gotoAndStop("lock");
};
page1.prog.btn_frame1.gotoAndStop("idle");
if (S.frameUnlockArray[1] == true){
page1.prog.btn_frame2.gotoAndStop("idle");
} else {
page1.prog.btn_frame2.gotoAndStop("locked");
};
if (S.frameUnlockArray[2] == true){
page1.prog.btn_frame3.gotoAndStop("idle");
} else {
page1.prog.btn_frame3.gotoAndStop("locked");
};
page1.prog.btn_comic1.gotoAndStop("unlocked");
if (S.comicUnlockArray[1]){
page1.prog.btn_comic2.gotoAndStop("unlocked");
} else {
page1.prog.btn_comic2.gotoAndStop("locked");
};
if (S.comicUnlockArray[2]){
page1.prog.btn_comic3.gotoAndStop("unlocked");
} else {
page1.prog.btn_comic3.gotoAndStop("locked");
};
if (S.comicUnlockArray[3]){
page1.prog.btn_comic4.gotoAndStop("unlocked");
} else {
page1.prog.btn_comic4.gotoAndStop("locked");
};
boss1Status();
boss2Status();
boss3Status();
if (S.PAGE3_ACHIEVEMENT_BOSS_1){
page1.prog.progbar.prog_note1.gotoAndStop("unlocked");
} else {
page1.prog.progbar.prog_note1.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_2){
page1.prog.progbar.prog_note2.gotoAndStop("unlocked");
} else {
page1.prog.progbar.prog_note2.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_3){
page1.prog.progbar.prog_note3.gotoAndStop("unlocked");
} else {
page1.prog.progbar.prog_note3.gotoAndStop("locked");
};
page1.prog.progbar.boss1bar1.width = (42.25 * (S.moneyMadeStageOne / C.PAGE3_ACHIEVEMENT_1));
page1.prog.progbar.boss1bar2.width = (42.25 * (S.totalSurvivorsStageOne / C.PAGE3_ACHIEVEMENT_2));
page1.prog.progbar.boss1bar3.width = (42.25 * (S.totalKillsStageOne / C.PAGE3_ACHIEVEMENT_3));
page1.prog.progbar.boss2bar1.width = (42.25 * (S.moneyMadeStageTwo / C.PAGE3_ACHIEVEMENT_4));
page1.prog.progbar.boss2bar2.width = (42.25 * (S.totalSurvivorsStageTwo / C.PAGE3_ACHIEVEMENT_5));
page1.prog.progbar.boss2bar3.width = (42.25 * (S.totalKillsStageTwo / C.PAGE3_ACHIEVEMENT_6));
page1.prog.progbar.boss3bar1.width = (42.25 * (S.moneyMadeStageThree / C.PAGE3_ACHIEVEMENT_7));
page1.prog.progbar.boss3bar2.width = (42.25 * (S.totalSurvivorsStageThree / C.PAGE3_ACHIEVEMENT_8));
page1.prog.progbar.boss3bar3.width = (42.25 * (S.totalKillsStageThree / C.PAGE3_ACHIEVEMENT_9));
adjustBarLength();
}
private function adjustBarLength():void{
if (S.moneyMadeStageOne >= C.PAGE3_ACHIEVEMENT_1){
page1.prog.progbar.boss1bar1.width = (42.25 * 1);
};
if (S.totalSurvivorsStageOne >= C.PAGE3_ACHIEVEMENT_2){
page1.prog.progbar.boss1bar2.width = (42.25 * 1);
};
if (S.totalKillsStageOne >= C.PAGE3_ACHIEVEMENT_3){
page1.prog.progbar.boss1bar3.width = (42.25 * 1);
};
if (S.moneyMadeStageTwo >= C.PAGE3_ACHIEVEMENT_4){
page1.prog.progbar.boss2bar1.width = (42.25 * 1);
};
if (S.totalSurvivorsStageTwo >= C.PAGE3_ACHIEVEMENT_5){
page1.prog.progbar.boss2bar2.width = (42.25 * 1);
};
if (S.totalKillsStageTwo >= C.PAGE3_ACHIEVEMENT_6){
page1.prog.progbar.boss2bar3.width = (42.25 * 1);
};
if (S.moneyMadeStageThree >= C.PAGE3_ACHIEVEMENT_7){
page1.prog.progbar.boss3bar1.width = (42.25 * 1);
};
if (S.totalSurvivorsStageThree >= C.PAGE3_ACHIEVEMENT_8){
page1.prog.progbar.boss3bar2.width = (42.25 * 1);
};
if (S.totalKillsStageThree >= C.PAGE3_ACHIEVEMENT_9){
page1.prog.progbar.boss3bar3.width = (42.25 * 1);
};
}
public function initPageTwoInfo():void{
page2.prog.maxHPbar1.visible = true;
page2.prog.maxHPbar2.visible = false;
page2.prog.maxHPbar3.visible = false;
page2.prog.maxHPbar4.visible = false;
page2.prog.coinmagbar1.visible = true;
page2.prog.coinmagbar2.visible = false;
page2.prog.coinmagbar3.visible = false;
page2.prog.coinmagbar4.visible = false;
page2.prog.searchbar1.visible = true;
page2.prog.searchbar2.visible = false;
page2.prog.searchbar3.visible = false;
page2.prog.searchbar4.visible = false;
page2.prog.speedbar1.visible = true;
page2.prog.speedbar2.visible = false;
page2.prog.speedbar3.visible = false;
page2.prog.speedbar4.visible = false;
page2.prog.moonwalkbar1.visible = true;
page2.prog.moonwalkbar2.visible = false;
page2.prog.moonwalkbar3.visible = false;
page2.prog.moonwalkbar4.visible = false;
page2.prog.strugglebar1.visible = true;
page2.prog.strugglebar2.visible = false;
page2.prog.strugglebar3.visible = false;
page2.prog.strugglebar4.visible = false;
page2.prog.ammobar1.visible = true;
page2.prog.ammobar2.visible = false;
page2.prog.ammobar3.visible = false;
page2.prog.ammobar4.visible = false;
page2.prog.membershipbar1.visible = true;
page2.prog.membershipbar2.visible = false;
page2.prog.membershipbar3.visible = false;
page2.prog.membershipbar4.visible = false;
page2.prog.specialbar1.visible = false;
page2.prog.specialbar2.visible = false;
page2.prog.specialbar3.visible = false;
page2.prog.specialbar4.visible = false;
page2.prog.actionbar1.visible = false;
page2.prog.actionbar2.visible = false;
page2.prog.actionbar3.visible = false;
page2.prog.actionbar4.visible = false;
page2.prog.shophealthbar1.visible = false;
page2.prog.shophealthbar2.visible = false;
page2.prog.shophealthbar3.visible = false;
page2.prog.shophealthbar4.visible = false;
page2.prog.shopammobar1.visible = false;
page2.prog.shopammobar2.visible = false;
page2.prog.shopammobar3.visible = false;
page2.prog.shopammobar4.visible = false;
page2.prog.mgun1bar1.visible = false;
page2.prog.mgun1bar2.visible = false;
page2.prog.mgun1bar3.visible = false;
page2.prog.mgun1bar4.visible = true;
page2.prog.sgun1bar1.visible = false;
page2.prog.sgun1bar2.visible = false;
page2.prog.sgun1bar3.visible = false;
page2.prog.sgun1bar4.visible = true;
page2.prog.agun1bar1.visible = false;
page2.prog.agun1bar2.visible = false;
page2.prog.agun1bar3.visible = false;
page2.prog.agun1bar4.visible = true;
page2.prog.mgun2bar1.visible = false;
page2.prog.mgun2bar2.visible = false;
page2.prog.mgun2bar3.visible = false;
page2.prog.mgun2bar4.visible = true;
page2.prog.sgun2bar1.visible = false;
page2.prog.sgun2bar2.visible = false;
page2.prog.sgun2bar3.visible = false;
page2.prog.sgun2bar4.visible = true;
page2.prog.agun2bar1.visible = false;
page2.prog.agun2bar2.visible = false;
page2.prog.agun2bar3.visible = false;
page2.prog.agun2bar4.visible = true;
updateMaxHP();
updateCoinMag();
updateSearch();
updateSpeed();
updateMoonWalk();
updateReload();
updateAmmo();
updateMembership();
updateSpecial();
updateAction();
updateShophealth();
updateShopammo();
updateMgun1kills();
updateSgun1kills();
updateAgun1kills();
updateMgun2kills();
updateSgun2kills();
updateAgun2kills();
}
public function initPageThreeInfo():void{
if (S.PAGE3_ACHIEVEMENT_1){
page3.prog.page3icon1.gotoAndStop("unlocked");
} else {
page3.prog.page3icon1.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_2){
page3.prog.page3icon2.gotoAndStop("unlocked");
} else {
page3.prog.page3icon2.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_3){
page3.prog.page3icon3.gotoAndStop("unlocked");
} else {
page3.prog.page3icon3.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_4){
page3.prog.page3icon4.gotoAndStop("unlocked");
} else {
page3.prog.page3icon4.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_5){
page3.prog.page3icon5.gotoAndStop("unlocked");
} else {
page3.prog.page3icon5.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_6){
page3.prog.page3icon6.gotoAndStop("unlocked");
} else {
page3.prog.page3icon6.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_7){
page3.prog.page3icon7.gotoAndStop("unlocked");
} else {
page3.prog.page3icon7.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_8){
page3.prog.page3icon8.gotoAndStop("unlocked");
} else {
page3.prog.page3icon8.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_9){
page3.prog.page3icon9.gotoAndStop("unlocked");
} else {
page3.prog.page3icon9.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_1){
page3.prog.page3boss1.gotoAndStop("unlocked");
page3.prog.lock1.visible = false;
} else {
page3.prog.lock1.visible = true;
page3.prog.page3boss1.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_2){
page3.prog.lock2.visible = false;
page3.prog.page3boss2.gotoAndStop("unlocked");
} else {
page3.prog.lock2.visible = true;
page3.prog.page3boss2.gotoAndStop("locked");
};
if (S.PAGE3_ACHIEVEMENT_BOSS_3){
page3.prog.lock3.visible = false;
page3.prog.page3boss3.gotoAndStop("unlocked");
} else {
page3.prog.lock3.visible = true;
page3.prog.page3boss3.gotoAndStop("locked");
};
page3icon1Status();
page3icon2Status();
page3icon3Status();
page3icon4Status();
page3icon5Status();
page3icon6Status();
page3icon7Status();
page3icon8Status();
page3icon9Status();
boss1Status();
boss2Status();
boss3Status();
}
public function updateMaxHP():void{
var _local1:int;
_local1 = (S.dmgTaken * 0.1);
if (S.dmgTaken >= C.ACHIEVEMENT_MAXHP_1){
S.maxHPLevel = 1;
};
if (S.dmgTaken >= C.ACHIEVEMENT_MAXHP_2){
S.maxHPLevel = 2;
};
if (S.dmgTaken >= C.ACHIEVEMENT_MAXHP_3){
S.maxHPLevel = 3;
};
if (S.dmgTaken >= C.ACHIEVEMENT_MAXHP_4){
S.maxHPLevel = 4;
};
switch (S.maxHPLevel){
case 0:
page2.prog.maxHPbar1.visible = true;
page2.prog.maxHPbar2.visible = false;
page2.prog.maxHPbar3.visible = false;
page2.prog.maxHPbar4.visible = false;
_local1 = ((S.dmgTaken / C.ACHIEVEMENT_MAXHP_1) * 100);
page2.prog.maxHPbar1.width = ((56 * _local1) * 0.01);
page2.prog.maxHPtxt.text = String((((S.dmgTaken + "/") + C.ACHIEVEMENT_MAXHP_1) + " HP"));
break;
case 1:
page2.prog.maxHPbar1.visible = false;
page2.prog.maxHPbar2.visible = true;
page2.prog.maxHPbar3.visible = false;
page2.prog.maxHPbar4.visible = false;
_local1 = ((S.dmgTaken / C.ACHIEVEMENT_MAXHP_2) * 100);
page2.prog.maxHPbar2.width = ((56 * _local1) * 0.01);
page2.prog.maxHPtxt.text = String((((S.dmgTaken + "/") + C.ACHIEVEMENT_MAXHP_2) + " HP"));
break;
case 2:
page2.prog.maxHPbar1.visible = false;
page2.prog.maxHPbar2.visible = false;
page2.prog.maxHPbar3.visible = true;
page2.prog.maxHPbar4.visible = false;
_local1 = ((S.dmgTaken / C.ACHIEVEMENT_MAXHP_3) * 100);
page2.prog.maxHPbar3.width = ((56 * _local1) * 0.01);
page2.prog.maxHPtxt.text = String((((S.dmgTaken + "/") + C.ACHIEVEMENT_MAXHP_3) + " HP"));
break;
case 3:
page2.prog.maxHPbar1.visible = false;
page2.prog.maxHPbar2.visible = false;
page2.prog.maxHPbar3.visible = false;
page2.prog.maxHPbar4.visible = true;
_local1 = 100;
_local1 = ((S.dmgTaken / C.ACHIEVEMENT_MAXHP_4) * 100);
page2.prog.maxHPbar4.width = ((56 * _local1) * 0.01);
page2.prog.maxHPtxt.text = String((((S.dmgTaken + "/") + C.ACHIEVEMENT_MAXHP_4) + "\nHP"));
break;
case 4:
page2.prog.maxHPbar1.visible = false;
page2.prog.maxHPbar2.visible = false;
page2.prog.maxHPbar3.visible = false;
page2.prog.maxHPbar4.visible = true;
_local1 = 100;
page2.prog.maxHPbar4.width = ((56 * _local1) * 0.01);
page2.prog.maxHPtxt.text = String((((C.ACHIEVEMENT_MAXHP_4 + "/") + C.ACHIEVEMENT_MAXHP_4) + "\nHP"));
break;
};
}
public function updateCoinMag():void{
var _local1:int;
_local1 = (S.totalmoneymade * 0.1);
if (S.totalmoneymade >= C.ACHIEVEMENT_COINMAG_1){
S.coinmagLevel = 1;
};
if (S.totalmoneymade >= C.ACHIEVEMENT_COINMAG_2){
S.coinmagLevel = 2;
};
if (S.totalmoneymade >= C.ACHIEVEMENT_COINMAG_3){
S.coinmagLevel = 3;
};
if (S.totalmoneymade >= C.ACHIEVEMENT_COINMAG_4){
S.coinmagLevel = 4;
};
switch (S.coinmagLevel){
case 0:
page2.prog.coinmagbar1.visible = true;
page2.prog.coinmagbar2.visible = false;
page2.prog.coinmagbar3.visible = false;
page2.prog.coinmagbar4.visible = false;
_local1 = ((S.totalmoneymade / C.ACHIEVEMENT_COINMAG_1) * 100);
page2.prog.coinmagbar1.width = ((56 * _local1) * 0.01);
page2.prog.coinmagtxt.text = String(((("$" + S.totalmoneymade) + "/\n") + C.ACHIEVEMENT_COINMAG_1));
break;
case 1:
page2.prog.coinmagbar1.visible = false;
page2.prog.coinmagbar2.visible = true;
page2.prog.coinmagbar3.visible = false;
page2.prog.coinmagbar4.visible = false;
_local1 = ((S.totalmoneymade / C.ACHIEVEMENT_COINMAG_2) * 100);
page2.prog.coinmagbar2.width = ((56 * _local1) * 0.01);
page2.prog.coinmagtxt.text = String(((("$" + S.totalmoneymade) + "/\n") + C.ACHIEVEMENT_COINMAG_2));
break;
case 2:
page2.prog.coinmagbar1.visible = false;
page2.prog.coinmagbar2.visible = false;
page2.prog.coinmagbar3.visible = true;
page2.prog.coinmagbar4.visible = false;
_local1 = ((S.totalmoneymade / C.ACHIEVEMENT_COINMAG_3) * 100);
page2.prog.coinmagbar3.width = ((56 * _local1) * 0.01);
page2.prog.coinmagtxt.text = String(((("$" + S.totalmoneymade) + "/\n") + C.ACHIEVEMENT_COINMAG_3));
break;
case 3:
page2.prog.coinmagbar1.visible = false;
page2.prog.coinmagbar2.visible = false;
page2.prog.coinmagbar3.visible = false;
page2.prog.coinmagbar4.visible = true;
_local1 = ((S.totalmoneymade / C.ACHIEVEMENT_COINMAG_4) * 100);
page2.prog.coinmagbar4.width = ((56 * _local1) * 0.01);
page2.prog.coinmagtxt.text = String(((("$" + S.totalmoneymade) + "/\n") + C.ACHIEVEMENT_COINMAG_4));
break;
case 4:
page2.prog.coinmagbar1.visible = false;
page2.prog.coinmagbar2.visible = false;
page2.prog.coinmagbar3.visible = false;
page2.prog.coinmagbar4.visible = true;
_local1 = 100;
page2.prog.coinmagbar4.width = ((56 * _local1) * 0.01);
page2.prog.coinmagtxt.text = String(((("$" + C.ACHIEVEMENT_COINMAG_4) + "/") + C.ACHIEVEMENT_COINMAG_4));
break;
};
}
public function updateSearch():void{
var _local1:int;
_local1 = (S.totalobjectsearched * 0.1);
if (S.totalobjectsearched >= C.ACHIEVEMENT_SEARCH_1){
S.searchLevel = 1;
};
if (S.totalobjectsearched >= C.ACHIEVEMENT_SEARCH_2){
S.searchLevel = 2;
};
if (S.totalobjectsearched >= C.ACHIEVEMENT_SEARCH_3){
S.searchLevel = 3;
};
if (S.totalobjectsearched >= C.ACHIEVEMENT_SEARCH_4){
S.searchLevel = 4;
};
switch (S.searchLevel){
case 0:
page2.prog.searchbar1.visible = true;
page2.prog.searchbar2.visible = false;
page2.prog.searchbar3.visible = false;
page2.prog.searchbar4.visible = false;
_local1 = ((S.totalobjectsearched / C.ACHIEVEMENT_SEARCH_1) * 100);
page2.prog.searchbar1.width = ((56 * _local1) * 0.01);
page2.prog.searchtxt.text = String((((S.totalobjectsearched + "/") + C.ACHIEVEMENT_SEARCH_1) + " FOUND"));
break;
case 1:
page2.prog.searchbar1.visible = false;
page2.prog.searchbar2.visible = true;
page2.prog.searchbar3.visible = false;
page2.prog.searchbar4.visible = false;
_local1 = ((S.totalobjectsearched / C.ACHIEVEMENT_SEARCH_2) * 100);
page2.prog.searchbar2.width = ((56 * _local1) * 0.01);
page2.prog.searchtxt.text = String((((S.totalobjectsearched + "/") + C.ACHIEVEMENT_SEARCH_2) + " FOUND"));
break;
case 2:
page2.prog.searchbar1.visible = false;
page2.prog.searchbar2.visible = false;
page2.prog.searchbar3.visible = true;
page2.prog.searchbar4.visible = false;
_local1 = ((S.totalobjectsearched / C.ACHIEVEMENT_SEARCH_3) * 100);
page2.prog.searchbar3.width = ((56 * _local1) * 0.01);
page2.prog.searchtxt.text = String((((S.totalobjectsearched + "/") + C.ACHIEVEMENT_SEARCH_3) + " FOUND"));
break;
case 3:
page2.prog.searchbar1.visible = false;
page2.prog.searchbar2.visible = false;
page2.prog.searchbar3.visible = false;
page2.prog.searchbar4.visible = true;
_local1 = ((S.totalobjectsearched / C.ACHIEVEMENT_SEARCH_4) * 100);
page2.prog.searchbar4.width = ((56 * _local1) * 0.01);
page2.prog.searchtxt.text = String((((S.totalobjectsearched + "/") + C.ACHIEVEMENT_SEARCH_4) + "\nFOUND"));
break;
case 4:
page2.prog.searchbar1.visible = false;
page2.prog.searchbar2.visible = false;
page2.prog.searchbar3.visible = false;
page2.prog.searchbar4.visible = true;
_local1 = 100;
page2.prog.searchbar4.width = ((56 * _local1) * 0.01);
page2.prog.searchtxt.text = String((((C.ACHIEVEMENT_SEARCH_4 + "/") + C.ACHIEVEMENT_SEARCH_4) + "\nFOUND"));
break;
};
}
public function updateSpeed():void{
var _local1:int;
_local1 = (S.distanceTraveled * 0.1);
if (S.distanceTraveled >= C.ACHIEVEMENT_SPEED_1){
S.speedLevel = 1;
};
if (S.distanceTraveled >= C.ACHIEVEMENT_SPEED_2){
S.speedLevel = 2;
};
if (S.distanceTraveled >= C.ACHIEVEMENT_SPEED_3){
S.speedLevel = 3;
};
if (S.distanceTraveled >= C.ACHIEVEMENT_SPEED_4){
S.speedLevel = 4;
};
switch (S.speedLevel){
case 0:
page2.prog.speedbar1.visible = true;
page2.prog.speedbar2.visible = false;
page2.prog.speedbar3.visible = false;
page2.prog.speedbar4.visible = false;
_local1 = ((S.distanceTraveled / C.ACHIEVEMENT_SPEED_1) * 100);
page2.prog.speedbar1.width = ((56 * _local1) * 0.01);
page2.prog.speedtxt.text = String((((int(S.distanceTraveled) + "/") + C.ACHIEVEMENT_SPEED_1) + " M"));
break;
case 1:
page2.prog.speedbar1.visible = false;
page2.prog.speedbar2.visible = true;
page2.prog.speedbar3.visible = false;
page2.prog.speedbar4.visible = false;
_local1 = ((S.distanceTraveled / C.ACHIEVEMENT_SPEED_2) * 100);
page2.prog.speedbar2.width = ((56 * _local1) * 0.01);
page2.prog.speedtxt.text = String((((int(S.distanceTraveled) + "/") + C.ACHIEVEMENT_SPEED_2) + " M"));
break;
case 2:
page2.prog.speedbar1.visible = false;
page2.prog.speedbar2.visible = false;
page2.prog.speedbar3.visible = true;
page2.prog.speedbar4.visible = false;
_local1 = ((S.distanceTraveled / C.ACHIEVEMENT_SPEED_3) * 100);
page2.prog.speedbar3.width = ((56 * _local1) * 0.01);
page2.prog.speedtxt.text = String((((int(S.distanceTraveled) + "/") + C.ACHIEVEMENT_SPEED_3) + " M"));
break;
case 3:
page2.prog.speedbar1.visible = false;
page2.prog.speedbar2.visible = false;
page2.prog.speedbar3.visible = false;
page2.prog.speedbar4.visible = true;
_local1 = ((S.distanceTraveled / C.ACHIEVEMENT_SPEED_4) * 100);
page2.prog.speedbar4.width = ((56 * _local1) * 0.01);
page2.prog.speedtxt.text = String((((int(S.distanceTraveled) + "/") + C.ACHIEVEMENT_SPEED_4) + " M"));
break;
case 4:
page2.prog.speedbar1.visible = false;
page2.prog.speedbar2.visible = false;
page2.prog.speedbar3.visible = false;
page2.prog.speedbar4.visible = true;
_local1 = 100;
page2.prog.speedbar4.width = ((56 * _local1) * 0.01);
page2.prog.speedtxt.text = String((((C.ACHIEVEMENT_SPEED_4 + "/") + C.ACHIEVEMENT_SPEED_4) + " M"));
break;
};
}
public function updateMoonWalk():void{
var _local1:int;
_local1 = (S.distanceMoonWalked * 0.1);
if (S.distanceMoonWalked >= C.ACHIEVEMENT_MOONWALK_1){
S.moonwalkLevel = 1;
};
if (S.distanceMoonWalked >= C.ACHIEVEMENT_MOONWALK_2){
S.moonwalkLevel = 2;
};
if (S.distanceMoonWalked >= C.ACHIEVEMENT_MOONWALK_3){
S.moonwalkLevel = 3;
};
if (S.distanceMoonWalked >= C.ACHIEVEMENT_MOONWALK_4){
S.moonwalkLevel = 4;
};
switch (S.moonwalkLevel){
case 0:
page2.prog.moonwalkbar1.visible = true;
page2.prog.moonwalkbar2.visible = false;
page2.prog.moonwalkbar3.visible = false;
page2.prog.moonwalkbar4.visible = false;
_local1 = ((S.distanceMoonWalked / C.ACHIEVEMENT_MOONWALK_1) * 100);
page2.prog.moonwalkbar1.width = ((56 * _local1) * 0.01);
page2.prog.moonwalktxt.text = String((((int(S.distanceMoonWalked) + "/") + C.ACHIEVEMENT_MOONWALK_1) + " M"));
break;
case 1:
page2.prog.moonwalkbar1.visible = false;
page2.prog.moonwalkbar2.visible = true;
page2.prog.moonwalkbar3.visible = false;
page2.prog.moonwalkbar4.visible = false;
_local1 = ((S.distanceMoonWalked / C.ACHIEVEMENT_MOONWALK_2) * 100);
page2.prog.moonwalkbar2.width = ((56 * _local1) * 0.01);
page2.prog.moonwalktxt.text = String((((int(S.distanceMoonWalked) + "/") + C.ACHIEVEMENT_MOONWALK_2) + " M"));
break;
case 2:
page2.prog.moonwalkbar1.visible = false;
page2.prog.moonwalkbar2.visible = false;
page2.prog.moonwalkbar3.visible = true;
page2.prog.moonwalkbar4.visible = false;
_local1 = ((S.distanceMoonWalked / C.ACHIEVEMENT_MOONWALK_3) * 100);
page2.prog.moonwalkbar3.width = ((56 * _local1) * 0.01);
page2.prog.moonwalktxt.text = String((((int(S.distanceMoonWalked) + "/") + C.ACHIEVEMENT_MOONWALK_3) + " M"));
break;
case 3:
page2.prog.moonwalkbar1.visible = false;
page2.prog.moonwalkbar2.visible = false;
page2.prog.moonwalkbar3.visible = false;
page2.prog.moonwalkbar4.visible = true;
_local1 = ((S.distanceMoonWalked / C.ACHIEVEMENT_MOONWALK_4) * 100);
page2.prog.moonwalkbar4.width = ((56 * _local1) * 0.01);
page2.prog.moonwalktxt.text = String((((int(S.distanceMoonWalked) + "/") + C.ACHIEVEMENT_MOONWALK_4) + " M"));
break;
case 4:
page2.prog.moonwalkbar1.visible = false;
page2.prog.moonwalkbar2.visible = false;
page2.prog.moonwalkbar3.visible = false;
page2.prog.moonwalkbar4.visible = true;
_local1 = 100;
page2.prog.moonwalkbar4.width = ((56 * _local1) * 0.01);
page2.prog.moonwalktxt.text = String((((C.ACHIEVEMENT_MOONWALK_4 + "/") + C.ACHIEVEMENT_MOONWALK_4) + " M"));
break;
};
}
public function updateReload():void{
var _local1:int;
_local1 = (S.reloadTimes * 0.1);
if (S.reloadTimes >= C.ACHIEVEMENT_RELOAD_1){
S.reloadLevel = 1;
};
if (S.reloadTimes >= C.ACHIEVEMENT_RELOAD_2){
S.reloadLevel = 2;
};
if (S.reloadTimes >= C.ACHIEVEMENT_RELOAD_3){
S.reloadLevel = 3;
};
if (S.reloadTimes >= C.ACHIEVEMENT_RELOAD_4){
S.reloadLevel = 4;
};
switch (S.reloadLevel){
case 0:
page2.prog.strugglebar1.visible = true;
page2.prog.strugglebar2.visible = false;
page2.prog.strugglebar3.visible = false;
page2.prog.strugglebar4.visible = false;
_local1 = ((S.reloadTimes / C.ACHIEVEMENT_RELOAD_1) * 100);
page2.prog.strugglebar1.width = ((56 * _local1) * 0.01);
page2.prog.struggletxt.text = String((((int(S.reloadTimes) + "/") + C.ACHIEVEMENT_RELOAD_1) + " TIMES"));
break;
case 1:
page2.prog.strugglebar1.visible = false;
page2.prog.strugglebar2.visible = true;
page2.prog.strugglebar3.visible = false;
page2.prog.strugglebar4.visible = false;
_local1 = ((S.reloadTimes / C.ACHIEVEMENT_RELOAD_2) * 100);
page2.prog.strugglebar2.width = ((56 * _local1) * 0.01);
page2.prog.struggletxt.text = String((((int(S.reloadTimes) + "/") + C.ACHIEVEMENT_RELOAD_2) + " TIMES"));
break;
case 2:
page2.prog.strugglebar1.visible = false;
page2.prog.strugglebar2.visible = false;
page2.prog.strugglebar3.visible = true;
page2.prog.strugglebar4.visible = false;
_local1 = ((S.reloadTimes / C.ACHIEVEMENT_RELOAD_3) * 100);
page2.prog.strugglebar3.width = ((56 * _local1) * 0.01);
page2.prog.struggletxt.text = String((((int(S.reloadTimes) + "/") + C.ACHIEVEMENT_RELOAD_3) + " TIMES"));
break;
case 3:
page2.prog.strugglebar1.visible = false;
page2.prog.strugglebar2.visible = false;
page2.prog.strugglebar3.visible = false;
page2.prog.strugglebar4.visible = true;
_local1 = ((S.reloadTimes / C.ACHIEVEMENT_RELOAD_4) * 100);
page2.prog.strugglebar4.width = ((56 * _local1) * 0.01);
page2.prog.struggletxt.text = String((((int(S.reloadTimes) + "/") + C.ACHIEVEMENT_RELOAD_4) + " TIMES"));
break;
case 4:
page2.prog.strugglebar1.visible = false;
page2.prog.strugglebar2.visible = false;
page2.prog.strugglebar3.visible = false;
page2.prog.strugglebar4.visible = true;
_local1 = 100;
page2.prog.strugglebar4.width = ((56 * _local1) * 0.01);
page2.prog.struggletxt.text = String((((C.ACHIEVEMENT_RELOAD_4 + "/") + C.ACHIEVEMENT_RELOAD_4) + " TIMES"));
break;
};
}
public function updateStruggle():void{
var _local1:int;
_local1 = (S.distanceStruggled * 0.1);
if (S.distanceStruggled >= C.ACHIEVEMENT_STRUGGLE_1){
S.struggleLevel = 1;
};
if (S.distanceStruggled >= C.ACHIEVEMENT_STRUGGLE_2){
S.struggleLevel = 2;
};
if (S.distanceStruggled >= C.ACHIEVEMENT_STRUGGLE_3){
S.struggleLevel = 3;
};
if (S.distanceStruggled >= C.ACHIEVEMENT_STRUGGLE_4){
S.struggleLevel = 4;
};
switch (S.struggleLevel){
case 0:
page2.prog.strugglebar1.visible = true;
page2.prog.strugglebar2.visible = false;
page2.prog.strugglebar3.visible = false;
page2.prog.strugglebar4.visible = false;
_local1 = ((S.distanceStruggled / C.ACHIEVEMENT_STRUGGLE_1) * 100);
page2.prog.strugglebar1.width = ((56 * _local1) * 0.01);
page2.prog.struggletxt.text = String((((int(S.distanceStruggled) + "/") + C.ACHIEVEMENT_STRUGGLE_1) + " M"));
break;
case 1:
page2.prog.strugglebar1.visible = false;
page2.prog.strugglebar2.visible = true;
page2.prog.strugglebar3.visible = false;
page2.prog.strugglebar4.visible = false;
_local1 = ((S.distanceStruggled / C.ACHIEVEMENT_STRUGGLE_2) * 100);
page2.prog.strugglebar2.width = ((56 * _local1) * 0.01);
page2.prog.struggletxt.text = String((((int(S.distanceStruggled) + "/") + C.ACHIEVEMENT_STRUGGLE_2) + " M"));
break;
case 2:
page2.prog.strugglebar1.visible = false;
page2.prog.strugglebar2.visible = false;
page2.prog.strugglebar3.visible = true;
page2.prog.strugglebar4.visible = false;
_local1 = ((S.distanceStruggled / C.ACHIEVEMENT_STRUGGLE_3) * 100);
page2.prog.strugglebar3.width = ((56 * _local1) * 0.01);
page2.prog.struggletxt.text = String((((int(S.distanceStruggled) + "/") + C.ACHIEVEMENT_STRUGGLE_3) + " M"));
break;
case 3:
page2.prog.strugglebar1.visible = false;
page2.prog.strugglebar2.visible = false;
page2.prog.strugglebar3.visible = false;
page2.prog.strugglebar4.visible = true;
_local1 = ((S.distanceStruggled / C.ACHIEVEMENT_STRUGGLE_4) * 100);
page2.prog.strugglebar4.width = ((56 * _local1) * 0.01);
page2.prog.struggletxt.text = String((((int(S.distanceStruggled) + "/") + C.ACHIEVEMENT_STRUGGLE_4) + " M"));
break;
case 4:
page2.prog.strugglebar1.visible = false;
page2.prog.strugglebar2.visible = false;
page2.prog.strugglebar3.visible = false;
page2.prog.strugglebar4.visible = true;
_local1 = 100;
page2.prog.strugglebar4.width = ((56 * _local1) * 0.01);
page2.prog.struggletxt.text = String((((C.ACHIEVEMENT_STRUGGLE_4 + "/") + C.ACHIEVEMENT_STRUGGLE_4) + " M"));
break;
};
}
public function updateAmmo():void{
var _local1:int;
_local1 = (S.ammoSearched * 0.1);
if (S.ammoSearched >= C.ACHIEVEMENT_AMMO_1){
S.ammoLevel = 1;
};
if (S.ammoSearched >= C.ACHIEVEMENT_AMMO_2){
S.ammoLevel = 2;
};
if (S.ammoSearched >= C.ACHIEVEMENT_AMMO_3){
S.ammoLevel = 3;
};
if (S.ammoSearched >= C.ACHIEVEMENT_AMMO_4){
S.ammoLevel = 4;
};
switch (S.ammoLevel){
case 0:
page2.prog.ammobar1.visible = true;
page2.prog.ammobar2.visible = false;
page2.prog.ammobar3.visible = false;
page2.prog.ammobar4.visible = false;
_local1 = ((S.ammoSearched / C.ACHIEVEMENT_AMMO_1) * 100);
page2.prog.ammobar1.width = ((56 * _local1) * 0.01);
page2.prog.ammotxt.text = String((((S.ammoSearched + "/") + C.ACHIEVEMENT_AMMO_1) + " FOUND"));
break;
case 1:
page2.prog.ammobar1.visible = false;
page2.prog.ammobar2.visible = true;
page2.prog.ammobar3.visible = false;
page2.prog.ammobar4.visible = false;
_local1 = ((S.ammoSearched / C.ACHIEVEMENT_AMMO_2) * 100);
page2.prog.ammobar2.width = ((56 * _local1) * 0.01);
page2.prog.ammotxt.text = String((((S.ammoSearched + "/") + C.ACHIEVEMENT_AMMO_2) + " FOUND"));
break;
case 2:
page2.prog.ammobar1.visible = false;
page2.prog.ammobar2.visible = false;
page2.prog.ammobar3.visible = true;
page2.prog.ammobar4.visible = false;
_local1 = ((S.ammoSearched / C.ACHIEVEMENT_AMMO_3) * 100);
page2.prog.ammobar3.width = ((56 * _local1) * 0.01);
page2.prog.ammotxt.text = String((((S.ammoSearched + "/") + C.ACHIEVEMENT_AMMO_3) + " FOUND"));
break;
case 3:
page2.prog.ammobar1.visible = false;
page2.prog.ammobar2.visible = false;
page2.prog.ammobar3.visible = false;
page2.prog.ammobar4.visible = true;
_local1 = ((S.ammoSearched / C.ACHIEVEMENT_AMMO_4) * 100);
page2.prog.ammobar4.width = ((56 * _local1) * 0.01);
page2.prog.ammotxt.text = String((((S.ammoSearched + "/") + C.ACHIEVEMENT_AMMO_4) + " FOUND"));
break;
case 4:
page2.prog.ammobar1.visible = false;
page2.prog.ammobar2.visible = false;
page2.prog.ammobar3.visible = false;
page2.prog.ammobar4.visible = true;
_local1 = 100;
page2.prog.ammobar4.width = ((56 * _local1) * 0.01);
page2.prog.ammotxt.text = String((((C.ACHIEVEMENT_AMMO_4 + "/") + C.ACHIEVEMENT_AMMO_4) + " FOUND"));
break;
};
}
public function updateMembership():void{
var _local1:int;
_local1 = (S.totalmoneyspent * 0.1);
if (S.totalmoneyspent >= C.ACHIEVEMENT_MEMBERSHIP_1){
S.membershipLevel = 1;
};
if (S.totalmoneyspent >= C.ACHIEVEMENT_MEMBERSHIP_2){
S.membershipLevel = 2;
};
if (S.totalmoneyspent >= C.ACHIEVEMENT_MEMBERSHIP_3){
S.membershipLevel = 3;
};
if (S.totalmoneyspent >= C.ACHIEVEMENT_MEMBERSHIP_4){
S.membershipLevel = 4;
};
switch (S.membershipLevel){
case 0:
page2.prog.membershipbar1.visible = true;
page2.prog.membershipbar2.visible = false;
page2.prog.membershipbar3.visible = false;
page2.prog.membershipbar4.visible = false;
_local1 = ((S.totalmoneyspent / C.ACHIEVEMENT_MEMBERSHIP_1) * 100);
page2.prog.membershipbar1.width = ((56 * _local1) * 0.01);
page2.prog.membershiptxt.text = String(((("$" + S.totalmoneyspent) + "/\n") + C.ACHIEVEMENT_MEMBERSHIP_1));
break;
case 1:
page2.prog.membershipbar1.visible = false;
page2.prog.membershipbar2.visible = true;
page2.prog.membershipbar3.visible = false;
page2.prog.membershipbar4.visible = false;
_local1 = ((S.totalmoneyspent / C.ACHIEVEMENT_MEMBERSHIP_2) * 100);
page2.prog.membershipbar2.width = ((56 * _local1) * 0.01);
page2.prog.membershiptxt.text = String(((("$" + S.totalmoneyspent) + "/\n") + C.ACHIEVEMENT_MEMBERSHIP_2));
break;
case 2:
page2.prog.membershipbar1.visible = false;
page2.prog.membershipbar2.visible = false;
page2.prog.membershipbar3.visible = true;
page2.prog.membershipbar4.visible = false;
_local1 = ((S.totalmoneyspent / C.ACHIEVEMENT_MEMBERSHIP_3) * 100);
page2.prog.membershipbar3.width = ((56 * _local1) * 0.01);
page2.prog.membershiptxt.text = String(((("$" + S.totalmoneyspent) + "/\n") + C.ACHIEVEMENT_MEMBERSHIP_3));
break;
case 3:
page2.prog.membershipbar1.visible = false;
page2.prog.membershipbar2.visible = false;
page2.prog.membershipbar3.visible = false;
page2.prog.membershipbar4.visible = true;
_local1 = ((S.totalmoneyspent / C.ACHIEVEMENT_MEMBERSHIP_4) * 100);
page2.prog.membershipbar4.width = ((56 * _local1) * 0.01);
page2.prog.membershiptxt.text = String(((("$" + S.totalmoneyspent) + "/\n") + C.ACHIEVEMENT_MEMBERSHIP_4));
break;
case 4:
page2.prog.membershipbar1.visible = false;
page2.prog.membershipbar2.visible = false;
page2.prog.membershipbar3.visible = false;
page2.prog.membershipbar4.visible = true;
_local1 = 100;
page2.prog.membershipbar4.width = ((56 * _local1) * 0.01);
page2.prog.membershiptxt.text = String(((("$" + C.ACHIEVEMENT_MEMBERSHIP_4) + "/\n") + C.ACHIEVEMENT_MEMBERSHIP_4));
break;
};
}
public function updateSpecial():void{
var _local1:int;
_local1 = (S.specialUsed * 0.1);
if (S.specialUsed >= C.ACHIEVEMENT_SPECIAL_1){
S.specialLevel = 1;
};
if (S.specialUsed >= C.ACHIEVEMENT_SPECIAL_2){
S.specialLevel = 2;
};
switch (S.specialLevel){
case 0:
page2.prog.specialbar1.visible = false;
page2.prog.specialbar3.visible = true;
page2.prog.specialbar4.visible = false;
_local1 = ((S.specialUsed / C.ACHIEVEMENT_SPECIAL_1) * 100);
page2.prog.specialbar3.width = ((56 * _local1) * 0.01);
page2.prog.specialtxt.text = String((((S.specialUsed + "/") + C.ACHIEVEMENT_SPECIAL_1) + " USED"));
break;
case 1:
page2.prog.specialbar1.visible = false;
page2.prog.specialbar3.visible = false;
page2.prog.specialbar4.visible = true;
_local1 = ((S.specialUsed / C.ACHIEVEMENT_SPECIAL_2) * 100);
page2.prog.specialbar4.width = ((56 * _local1) * 0.01);
page2.prog.specialtxt.text = String((((S.specialUsed + "/") + C.ACHIEVEMENT_SPECIAL_2) + " USED"));
break;
case 2:
page2.prog.specialbar1.visible = false;
page2.prog.specialbar3.visible = false;
page2.prog.specialbar4.visible = true;
_local1 = 100;
page2.prog.specialbar4.width = ((56 * _local1) * 0.01);
page2.prog.specialtxt.text = String((((C.ACHIEVEMENT_SPECIAL_2 + "/") + C.ACHIEVEMENT_SPECIAL_2) + " USED"));
break;
};
}
public function updateAction():void{
var _local1:int;
_local1 = (S.actionUsed * 0.1);
if (S.actionUsed >= C.ACHIEVEMENT_ACTION_1){
S.actionLevel = 1;
};
if (S.actionUsed >= C.ACHIEVEMENT_ACTION_2){
S.actionLevel = 2;
};
switch (S.actionLevel){
case 0:
page2.prog.actionbar1.visible = false;
page2.prog.actionbar3.visible = true;
page2.prog.actionbar4.visible = false;
_local1 = ((S.actionUsed / C.ACHIEVEMENT_ACTION_1) * 100);
page2.prog.actionbar3.width = ((56 * _local1) * 0.01);
page2.prog.actiontxt.text = String((((S.actionUsed + "/") + C.ACHIEVEMENT_ACTION_1) + " USED"));
break;
case 1:
page2.prog.actionbar1.visible = false;
page2.prog.actionbar3.visible = false;
page2.prog.actionbar4.visible = true;
_local1 = ((S.actionUsed / C.ACHIEVEMENT_ACTION_2) * 100);
page2.prog.actionbar4.width = ((56 * _local1) * 0.01);
page2.prog.actiontxt.text = String((((S.actionUsed + "/") + C.ACHIEVEMENT_ACTION_2) + " USED"));
break;
case 2:
page2.prog.actionbar1.visible = false;
page2.prog.actionbar3.visible = false;
page2.prog.actionbar4.visible = true;
_local1 = 100;
page2.prog.actionbar4.width = ((56 * _local1) * 0.01);
page2.prog.actiontxt.text = String((((C.ACHIEVEMENT_ACTION_2 + "/") + C.ACHIEVEMENT_ACTION_2) + " USED"));
break;
};
}
public function updateShophealth():void{
var _local1:int;
_local1 = (S.shophealthBought * 0.1);
if (S.shophealthBought >= C.ACHIEVEMENT_SHOPHEALTH_1){
S.shophealthLevel = 1;
};
if (S.shophealthBought >= C.ACHIEVEMENT_SHOPHEALTH_2){
S.shophealthLevel = 2;
};
switch (S.shophealthLevel){
case 0:
page2.prog.shophealthbar1.visible = false;
page2.prog.shophealthbar3.visible = true;
page2.prog.shophealthbar4.visible = false;
_local1 = ((S.shophealthBought / C.ACHIEVEMENT_SHOPHEALTH_1) * 100);
page2.prog.shophealthbar3.width = ((56 * _local1) * 0.01);
page2.prog.shophealthtxt.text = String((((S.shophealthBought + "/") + C.ACHIEVEMENT_SHOPHEALTH_1) + " BOUGHT"));
break;
case 1:
page2.prog.shophealthbar1.visible = false;
page2.prog.shophealthbar3.visible = false;
page2.prog.shophealthbar4.visible = true;
_local1 = ((S.shophealthBought / C.ACHIEVEMENT_ACTION_2) * 100);
page2.prog.shophealthbar4.width = ((56 * _local1) * 0.01);
page2.prog.shophealthtxt.text = String((((S.shophealthBought + "/") + C.ACHIEVEMENT_SHOPHEALTH_2) + " BOUGHT"));
break;
case 2:
page2.prog.shophealthbar1.visible = false;
page2.prog.shophealthbar3.visible = false;
page2.prog.shophealthbar4.visible = true;
_local1 = 100;
page2.prog.shophealthbar4.width = ((56 * _local1) * 0.01);
page2.prog.shophealthtxt.text = String((((C.ACHIEVEMENT_SHOPHEALTH_2 + "/") + C.ACHIEVEMENT_SHOPHEALTH_2) + " BOUGHT"));
break;
};
}
public function updateShopammo():void{
var _local1:int;
_local1 = (S.shopammoBought * 0.1);
if (S.shopammoBought >= C.ACHIEVEMENT_SHOPAMMO_1){
S.shopammoLevel = 1;
};
if (S.shopammoBought >= C.ACHIEVEMENT_SHOPAMMO_2){
S.shopammoLevel = 2;
};
switch (S.shopammoLevel){
case 0:
page2.prog.shopammobar1.visible = false;
page2.prog.shopammobar3.visible = true;
page2.prog.shopammobar4.visible = false;
_local1 = ((S.shopammoBought / C.ACHIEVEMENT_SHOPAMMO_1) * 100);
page2.prog.shopammobar3.width = ((56 * _local1) * 0.01);
page2.prog.shopammotxt.text = String((((S.shopammoBought + "/") + C.ACHIEVEMENT_SHOPAMMO_1) + " BOUGHT"));
break;
case 1:
page2.prog.shopammobar1.visible = false;
page2.prog.shopammobar3.visible = false;
page2.prog.shopammobar4.visible = true;
_local1 = ((S.shopammoBought / C.ACHIEVEMENT_SHOPAMMO_2) * 100);
page2.prog.shopammobar4.width = ((56 * _local1) * 0.01);
page2.prog.shopammotxt.text = String((((S.shopammoBought + "/") + C.ACHIEVEMENT_SHOPAMMO_2) + " BOUGHT"));
break;
case 2:
page2.prog.shopammobar1.visible = false;
page2.prog.shopammobar3.visible = false;
page2.prog.shopammobar4.visible = true;
_local1 = 100;
page2.prog.shopammobar4.width = ((56 * _local1) * 0.01);
page2.prog.shopammotxt.text = String((((C.ACHIEVEMENT_SHOPAMMO_2 + "/") + C.ACHIEVEMENT_SHOPAMMO_2) + " BOUGHT"));
break;
};
}
public function updateMgun1kills():void{
var _local1:int;
_local1 = (S.mgun1kills * 0.1);
if (S.mgun1kills >= C.ACHIEVEMENT_MGUN1KILLS_1){
S.mgun1killsLevel = 1;
};
switch (S.mgun1killsLevel){
case 0:
page2.prog.mgun1bar4.visible = true;
_local1 = ((S.mgun1kills / C.ACHIEVEMENT_MGUN1KILLS_1) * 100);
page2.prog.mgun1bar4.width = ((56 * _local1) * 0.01);
page2.prog.mgun1txt.text = String((((S.mgun1kills + "/") + C.ACHIEVEMENT_MGUN1KILLS_1) + " KILLS"));
break;
case 1:
page2.prog.mgun1bar4.visible = true;
_local1 = 100;
page2.prog.mgun1bar4.width = ((56 * _local1) * 0.01);
page2.prog.mgun1txt.text = String((((C.ACHIEVEMENT_MGUN1KILLS_1 + "/") + C.ACHIEVEMENT_MGUN1KILLS_1) + " KILLS"));
break;
};
}
public function updateSgun1kills():void{
var _local1:int;
_local1 = (S.sgun1kills * 0.1);
if (S.sgun1kills >= C.ACHIEVEMENT_SGUN1KILLS_1){
S.sgun1killsLevel = 1;
};
switch (S.sgun1killsLevel){
case 0:
page2.prog.sgun1bar4.visible = true;
_local1 = ((S.sgun1kills / C.ACHIEVEMENT_SGUN1KILLS_1) * 100);
page2.prog.sgun1bar4.width = ((56 * _local1) * 0.01);
page2.prog.sgun1txt.text = String((((S.sgun1kills + "/") + C.ACHIEVEMENT_SGUN1KILLS_1) + " KILLS"));
break;
case 1:
page2.prog.mgun1bar4.visible = true;
_local1 = 100;
page2.prog.sgun1bar4.width = ((56 * _local1) * 0.01);
page2.prog.sgun1txt.text = String((((C.ACHIEVEMENT_SGUN1KILLS_1 + "/") + C.ACHIEVEMENT_SGUN1KILLS_1) + " KILLS"));
break;
};
}
public function updateAgun1kills():void{
var _local1:int;
_local1 = (S.agun1kills * 0.1);
if (S.agun1kills >= C.ACHIEVEMENT_AGUN1KILLS_1){
S.agun1killsLevel = 1;
};
switch (S.agun1killsLevel){
case 0:
page2.prog.agun1bar4.visible = true;
_local1 = ((S.agun1kills / C.ACHIEVEMENT_AGUN1KILLS_1) * 100);
page2.prog.agun1bar4.width = ((56 * _local1) * 0.01);
page2.prog.agun1txt.text = String((((S.agun1kills + "/") + C.ACHIEVEMENT_AGUN1KILLS_1) + " KILLS"));
break;
case 1:
page2.prog.agun1bar4.visible = true;
_local1 = 100;
page2.prog.agun1bar4.width = ((56 * _local1) * 0.01);
page2.prog.agun1txt.text = String((((C.ACHIEVEMENT_AGUN1KILLS_1 + "/") + C.ACHIEVEMENT_AGUN1KILLS_1) + " KILLS"));
break;
};
}
public function updateMgun2kills():void{
var _local1:int;
_local1 = (S.mgun2kills * 0.1);
if (S.mgun2kills >= C.ACHIEVEMENT_MGUN2KILLS_1){
S.mgun2killsLevel = 1;
};
switch (S.mgun2killsLevel){
case 0:
page2.prog.mgun2bar4.visible = true;
_local1 = ((S.mgun2kills / C.ACHIEVEMENT_MGUN2KILLS_1) * 100);
page2.prog.mgun2bar4.width = ((56 * _local1) * 0.01);
page2.prog.mgun2txt.text = String((((S.mgun2kills + "/") + C.ACHIEVEMENT_MGUN2KILLS_1) + " KILLS"));
break;
case 1:
page2.prog.mgun2bar4.visible = true;
_local1 = 100;
page2.prog.mgun2bar4.width = ((56 * _local1) * 0.01);
page2.prog.mgun2txt.text = String((((C.ACHIEVEMENT_MGUN2KILLS_1 + "/") + C.ACHIEVEMENT_MGUN2KILLS_1) + " KILLS"));
break;
};
}
public function updateSgun2kills():void{
var _local1:int;
_local1 = (S.sgun2kills * 0.1);
if (S.sgun2kills >= C.ACHIEVEMENT_SGUN2KILLS_1){
S.sgun2killsLevel = 1;
};
switch (S.sgun2killsLevel){
case 0:
page2.prog.sgun2bar4.visible = true;
_local1 = ((S.sgun2kills / C.ACHIEVEMENT_SGUN2KILLS_1) * 100);
page2.prog.sgun2bar4.width = ((56 * _local1) * 0.01);
page2.prog.sgun2txt.text = String((((S.sgun2kills + "/") + C.ACHIEVEMENT_SGUN2KILLS_1) + " KILLS"));
break;
case 1:
page2.prog.sgun2bar4.visible = true;
_local1 = 100;
page2.prog.sgun2bar4.width = ((56 * _local1) * 0.01);
page2.prog.sgun2txt.text = String((((C.ACHIEVEMENT_SGUN2KILLS_1 + "/") + C.ACHIEVEMENT_SGUN2KILLS_1) + " KILLS"));
break;
};
}
public function updateAgun2kills():void{
var _local1:int;
_local1 = (S.agun2kills * 0.1);
if (S.agun2kills >= C.ACHIEVEMENT_AGUN2KILLS_1){
S.agun2killsLevel = 1;
};
switch (S.agun2killsLevel){
case 0:
page2.prog.agun2bar4.visible = true;
_local1 = ((S.agun2kills / C.ACHIEVEMENT_AGUN2KILLS_1) * 100);
page2.prog.agun2bar4.width = ((56 * _local1) * 0.01);
page2.prog.agun2txt.text = String((((S.agun2kills + "/") + C.ACHIEVEMENT_AGUN2KILLS_1) + " KILLS"));
break;
case 1:
page2.prog.agun2bar4.visible = true;
_local1 = 100;
page2.prog.agun2bar4.width = ((56 * _local1) * 0.01);
page2.prog.agun2txt.text = String((((C.ACHIEVEMENT_AGUN2KILLS_1 + "/") + C.ACHIEVEMENT_AGUN2KILLS_1) + " KILLS"));
break;
};
}
public function page3icon1Status():void{
var _local1:int;
_local1 = ((S.moneyMadeStageOne / C.PAGE3_ACHIEVEMENT_1) * 100);
if (_local1 < 100){
page3.prog.page3icon1bar.width = ((56 * _local1) * 0.01);
page3.prog.page3icon1txt.text = String(((("$" + S.moneyMadeStageOne) + "\n/") + C.PAGE3_ACHIEVEMENT_1));
} else {
page3.prog.page3icon1bar.width = ((56 * 100) * 0.01);
page3.prog.page3icon1txt.text = String(((("$" + C.PAGE3_ACHIEVEMENT_1) + "\n/") + C.PAGE3_ACHIEVEMENT_1));
};
}
public function page3icon2Status():void{
var _local1:int;
_local1 = ((S.totalSurvivorsStageOne / C.PAGE3_ACHIEVEMENT_2) * 100);
if (_local1 < 100){
page3.prog.page3icon2bar.width = ((56 * _local1) * 0.01);
page3.prog.page3icon2txt.text = String((((S.totalSurvivorsStageOne + "/") + C.PAGE3_ACHIEVEMENT_2) + "\nSURVIVORS"));
} else {
page3.prog.page3icon2bar.width = ((56 * 100) * 0.01);
page3.prog.page3icon2txt.text = String((((C.PAGE3_ACHIEVEMENT_2 + "/") + C.PAGE3_ACHIEVEMENT_2) + "\nSURVIVORS"));
};
}
public function page3icon3Status():void{
var _local1:int;
_local1 = ((S.totalKillsStageOne / C.PAGE3_ACHIEVEMENT_3) * 100);
if (_local1 < 100){
page3.prog.page3icon3bar.width = ((56 * _local1) * 0.01);
page3.prog.page3icon3txt.text = String((((S.totalKillsStageOne + "/") + C.PAGE3_ACHIEVEMENT_3) + " KILLS"));
} else {
page3.prog.page3icon3bar.width = ((56 * 100) * 0.01);
page3.prog.page3icon3txt.text = String((((C.PAGE3_ACHIEVEMENT_3 + "/") + C.PAGE3_ACHIEVEMENT_3) + " KILLS"));
};
}
public function page3icon4Status():void{
var _local1:int;
_local1 = ((S.moneyMadeStageTwo / C.PAGE3_ACHIEVEMENT_4) * 100);
if (_local1 < 100){
page3.prog.page3icon4bar.width = ((56 * _local1) * 0.01);
page3.prog.page3icon4txt.text = String(((("$" + S.moneyMadeStageTwo) + "\n/") + C.PAGE3_ACHIEVEMENT_4));
} else {
page3.prog.page3icon4bar.width = ((56 * 100) * 0.01);
page3.prog.page3icon4txt.text = String(((("$" + C.PAGE3_ACHIEVEMENT_4) + "\n/") + C.PAGE3_ACHIEVEMENT_4));
};
}
public function page3icon5Status():void{
var _local1:int;
_local1 = ((S.totalSurvivorsStageTwo / C.PAGE3_ACHIEVEMENT_5) * 100);
if (_local1 < 100){
page3.prog.page3icon5bar.width = ((56 * _local1) * 0.01);
page3.prog.page3icon5txt.text = String((((S.totalSurvivorsStageTwo + "/") + C.PAGE3_ACHIEVEMENT_5) + "\nSURVIVORS"));
} else {
page3.prog.page3icon5bar.width = ((56 * 100) * 0.01);
page3.prog.page3icon5txt.text = String((((C.PAGE3_ACHIEVEMENT_5 + "/") + C.PAGE3_ACHIEVEMENT_5) + "\nSURVIVORS"));
};
}
public function page3icon6Status():void{
var _local1:int;
_local1 = ((S.totalKillsStageTwo / C.PAGE3_ACHIEVEMENT_6) * 100);
if (_local1 < 100){
page3.prog.page3icon6bar.width = ((56 * _local1) * 0.01);
page3.prog.page3icon6txt.text = String((((S.totalKillsStageTwo + "/") + C.PAGE3_ACHIEVEMENT_6) + " KILLS"));
} else {
page3.prog.page3icon6bar.width = ((56 * 100) * 0.01);
page3.prog.page3icon6txt.text = String((((C.PAGE3_ACHIEVEMENT_6 + "/") + C.PAGE3_ACHIEVEMENT_6) + " KILLS"));
};
}
public function page3icon7Status():void{
var _local1:int;
_local1 = ((S.moneyMadeStageThree / C.PAGE3_ACHIEVEMENT_7) * 100);
if (_local1 < 100){
page3.prog.page3icon7bar.width = ((56 * _local1) * 0.01);
page3.prog.page3icon7txt.text = String(((("$" + S.moneyMadeStageThree) + "\n/") + C.PAGE3_ACHIEVEMENT_7));
} else {
page3.prog.page3icon7bar.width = ((56 * 100) * 0.01);
page3.prog.page3icon7txt.text = String(((("$" + C.PAGE3_ACHIEVEMENT_7) + "\n/") + C.PAGE3_ACHIEVEMENT_7));
};
}
public function page3icon8Status():void{
var _local1:int;
_local1 = ((S.totalSurvivorsStageThree / C.PAGE3_ACHIEVEMENT_8) * 100);
if (_local1 < 100){
page3.prog.page3icon8bar.width = ((56 * _local1) * 0.01);
page3.prog.page3icon8txt.text = String((((S.totalSurvivorsStageThree + "/") + C.PAGE3_ACHIEVEMENT_8) + "\nSURVIVORS"));
} else {
page3.prog.page3icon8bar.width = ((56 * 100) * 0.01);
page3.prog.page3icon8txt.text = String((((C.PAGE3_ACHIEVEMENT_8 + "/") + C.PAGE3_ACHIEVEMENT_8) + "\nSURVIVORS"));
};
}
public function page3icon9Status():void{
var _local1:int;
_local1 = ((S.totalKillsStageThree / C.PAGE3_ACHIEVEMENT_9) * 100);
if (_local1 < 100){
page3.prog.page3icon9bar.width = ((56 * _local1) * 0.01);
page3.prog.page3icon9txt.text = String((((S.totalKillsStageThree + "/") + C.PAGE3_ACHIEVEMENT_9) + " KILLS"));
} else {
page3.prog.page3icon9bar.width = ((56 * 100) * 0.01);
page3.prog.page3icon9txt.text = String((((C.PAGE3_ACHIEVEMENT_9 + "/") + C.PAGE3_ACHIEVEMENT_9) + " KILLS"));
};
}
public function boss1Status():void{
if (((((S.PAGE3_ACHIEVEMENT_1) && (S.PAGE3_ACHIEVEMENT_2))) && (S.PAGE3_ACHIEVEMENT_3))){
S.PAGE3_ACHIEVEMENT_BOSS_1 = true;
};
}
public function boss2Status():void{
if (((((S.PAGE3_ACHIEVEMENT_4) && (S.PAGE3_ACHIEVEMENT_5))) && (S.PAGE3_ACHIEVEMENT_6))){
S.PAGE3_ACHIEVEMENT_BOSS_2 = true;
};
}
public function boss3Status():void{
if (((((S.PAGE3_ACHIEVEMENT_7) && (S.PAGE3_ACHIEVEMENT_8))) && (S.PAGE3_ACHIEVEMENT_9))){
S.PAGE3_ACHIEVEMENT_BOSS_3 = true;
};
}
public function changePageToThree():void{
tempPage = pageNo;
pageNo = 2;
changePage(tempPage, pageNo);
}
public function changePage(_arg1:int, _arg2:int):void{
pages[_arg1].gotoAndPlay("disappear");
pages[_arg2].gotoAndPlay("appear");
pages[_arg2].visible = true;
switch (_arg2){
case 0:
book.btn_back.visible = false;
book.btn_next.visible = true;
break;
case 1:
book.btn_next.visible = true;
book.btn_back.visible = true;
break;
case 2:
book.btn_next.visible = false;
book.btn_back.visible = true;
break;
};
Main.moveToTop(pages[_arg2]);
Main.moveToTop(book.btn_next);
Main.moveToTop(book.btn_back);
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
}
function frame15(){
stop();
}
}
}//package
Section 573
//propane1PH (propane1PH)
package {
import flash.display.*;
public dynamic class propane1PH extends MovieClip {
}
}//package
Section 574
//propane2PH (propane2PH)
package {
import flash.display.*;
public dynamic class propane2PH extends MovieClip {
}
}//package
Section 575
//Ready (Ready)
package {
import flash.display.*;
public class Ready extends MovieClip {
public var checkpoint:MovieClip;
public var night:MovieClip;
public var groundhog:MovieClip;
private var stageRef:Stage;
public function Ready(_arg1:Stage){
addFrameScript(0, frame1, 55, frame56);
this.stageRef = _arg1;
night.night.text = "1";
night.night.selectable = false;
}
public function updateNightValue():void{
if ((((((((((S.trueLevel == 6)) || ((S.trueLevel == 11)))) || ((S.trueLevel == 16)))) || ((S.trueLevel == 21)))) || ((S.trueLevel == 26)))){
checkpoint.visible = true;
} else {
checkpoint.visible = false;
};
if (S.trueLevel < 10){
night.night.text = ("0" + String(S.trueLevel));
} else {
night.night.text = String(S.trueLevel);
};
}
function frame1(){
stop();
groundhog.visible = false;
}
function frame56(){
groundhog.visible = false;
}
}
}//package
Section 576
//roadblock1PH (roadblock1PH)
package {
import flash.display.*;
public dynamic class roadblock1PH extends MovieClip {
}
}//package
Section 577
//roadblock2PH (roadblock2PH)
package {
import flash.display.*;
public dynamic class roadblock2PH extends MovieClip {
}
}//package
Section 578
//roadblock3PH (roadblock3PH)
package {
import flash.display.*;
public dynamic class roadblock3PH extends MovieClip {
}
}//package
Section 579
//RowClass (RowClass)
package {
public class RowClass {
public var label:String;
public var totalFrame:int;
public var row:int;
public function RowClass(_arg1:int, _arg2:int, _arg3:String=""){
this.totalFrame = _arg1;
this.row = _arg2;
this.label = _arg3;
}
}
}//package
Section 580
//S (S)
package {
import org.casalib.util.*;
public class S {
private var test:int;// = 0
public static var timer:int = 0;
public static var playerFreeze:Boolean = false;
public static var playerActionFreeze:Boolean = false;
public static var playerDash:Boolean = false;
public static var gameMovementFreeze:Boolean = false;
public static var quitting:Boolean = false;
public static var pauseDisabled:Boolean = true;
public static var mouseDown:Boolean = false;
public static var playerHP:int = 100;
public static var gamePaused:Boolean = false;
public static var menuSelected:int;
public static var gunLock:Boolean = true;
public static var charSelected:Boolean = true;
public static var partnerRescued:Boolean = true;
public static var partnerSpawned:Boolean = false;
public static var daysWithoutPartner:int = 0;
public static var s_streak:int = 0;
public static var playerMaxHP:int = 100;
public static var coinMagAOE:int = 10;
public static var searchSpeed:Number = 0.45;
public static var speedMultiplier:Number = 0;
public static var backSpeedReduction:Number = 0.9;
public static var struggleSpeedReduction:Number = 0.4;
public static var shopDiscount:Number = 1;
public static var bulletMultiplier:int = 0;
public static var reloadSpeedReduction:Number = 1;
public static var gunChoice:String = "";
public static var distancewalkLevel:int = 0;
public static var searchedLevel:int = 0;
public static var gameplaytimeLevel:int = 0;
public static var shopLevel:int = 0;
public static var stageCleared:Boolean = false;
public static var rank:int = 1;
public static var nightCount:int = 1;
private static var _groundhogDayStuck:int = 0;
public static var moneyMade:int = 0;
public static var killsMade:int = 0;
public static var killsMadeForSurvival:int = 0;
public static var partnerRescuedTimes:int = 0;
private static var _awesomePercent:int = 0;
public static var cameraPos:Number;
public static var frameNo:Number = 1;
public static var bgmType:Number = 0;
public static var bossFight:Boolean = false;
public static var bossStage:Boolean = false;
public static var bgmIsPlaying:Boolean = false;
public static var muteState:int = 1;
public static var gameMode:int = 0;
public static var shopVisited:Boolean = false;
public static var gameScore:int = 0;
public static var chaseClipArray:Array = [false, false, false, false, false, false, false, false];
public static var firstTimePlay:Boolean = false;
public static var backInFuture:Boolean = false;
public static var clearGameStraight:Boolean = false;
public static var partnerSurvived:int = 0;
public static var dmgMultiplier:Number = 5;
public static var dmgLevel:int = 0;
public static var gameplaytime:int = 0;
public static var quitTimes:int = 0;
private static var _frameUnlockArray:Array = [true, false, false];
private static var _musicUnlockArray:Array = [true, true, true, false];
public static var comicUnlockArray:Array = [true, false, false, false];
public static var bossKilledArray:Array = [false, false, false];
private static var _survivalModeUnlocked:Boolean = false;
public static var money:int = 0;
private static var _maxkillstreak:int = 0;
private static var _maxnight:int = 0;
private static var _totalkills:int = 0;
private static var _totaldeath:int = 0;
private static var _totalmoneymade:int = 0;
private static var _totalmoneyspent:int = 0;
private static var _totalobjectsearched:int = 0;
private static var _totalsurvivorrescued:int = 0;
private static var _moneyMadeStageOne:int = 0;
private static var _moneyMadeStageTwo:int = 0;
private static var _moneyMadeStageThree:int = 0;
private static var _totalKillsStageOne:int = 0;
private static var _totalKillsStageTwo:int = 0;
private static var _totalKillsStageThree:int = 0;
private static var _totalSurvivorsStageOne:int = 0;
private static var _totalSurvivorsStageTwo:int = 0;
private static var _totalSurvivorsStageThree:int = 0;
private static var _reloadTimes:int = 0;
private static var _distanceTraveled:Number = 0;
private static var _distanceMoonWalked:Number = 0;
private static var _distanceStruggled:Number = 0;
private static var _ammoSearched:Number = 0;
private static var _dmgTaken:Number = 0;
private static var _specialUsed:Number = 0;
private static var _actionUsed:Number = 0;
private static var _shophealthBought:Number = 0;
private static var _shopammoBought:Number = 0;
private static var _mgun1kills:Number = 0;
private static var _sgun1kills:Number = 0;
private static var _agun1kills:Number = 0;
private static var _mgun2kills:Number = 0;
private static var _sgun2kills:Number = 0;
private static var _agun2kills:Number = 0;
public static var maxHPLevel:int = 0;
public static var coinmagLevel:int = 0;
public static var searchLevel:int = 0;
public static var speedLevel:int = 0;
public static var moonwalkLevel:int = 0;
public static var struggleLevel:int = 0;
public static var ammoLevel:int = 0;
public static var specialLevel:int = 0;
public static var actionLevel:int = 0;
public static var membershipLevel:int = 0;
public static var shophealthLevel:int = 0;
public static var shopammoLevel:int = 0;
public static var mgun1killsLevel:int = 0;
public static var sgun1killsLevel:int = 0;
public static var agun1killsLevel:int = 0;
public static var mgun2killsLevel:int = 0;
public static var sgun2killsLevel:int = 0;
public static var agun2killsLevel:int = 0;
public static var reloadLevel:int = 0;
public static var ACHIEVEMENT_MAXHP_1:Boolean = false;
public static var ACHIEVEMENT_MAXHP_2:Boolean = false;
public static var ACHIEVEMENT_MAXHP_3:Boolean = false;
public static var ACHIEVEMENT_MAXHP_4:Boolean = false;
public static var ACHIEVEMENT_COINMAG_1:Boolean = false;
public static var ACHIEVEMENT_COINMAG_2:Boolean = false;
public static var ACHIEVEMENT_COINMAG_3:Boolean = false;
public static var ACHIEVEMENT_COINMAG_4:Boolean = false;
public static var ACHIEVEMENT_SEARCH_1:Boolean = false;
public static var ACHIEVEMENT_SEARCH_2:Boolean = false;
public static var ACHIEVEMENT_SEARCH_3:Boolean = false;
public static var ACHIEVEMENT_SEARCH_4:Boolean = false;
public static var ACHIEVEMENT_SPEED_1:Boolean = false;
public static var ACHIEVEMENT_SPEED_2:Boolean = false;
public static var ACHIEVEMENT_SPEED_3:Boolean = false;
public static var ACHIEVEMENT_SPEED_4:Boolean = false;
public static var ACHIEVEMENT_MOONWALK_1:Boolean = false;
public static var ACHIEVEMENT_MOONWALK_2:Boolean = false;
public static var ACHIEVEMENT_MOONWALK_3:Boolean = false;
public static var ACHIEVEMENT_MOONWALK_4:Boolean = false;
public static var ACHIEVEMENT_RELOAD_1:Boolean = false;
public static var ACHIEVEMENT_RELOAD_2:Boolean = false;
public static var ACHIEVEMENT_RELOAD_3:Boolean = false;
public static var ACHIEVEMENT_RELOAD_4:Boolean = false;
public static var ACHIEVEMENT_STRUGGLE_1:Boolean = false;
public static var ACHIEVEMENT_STRUGGLE_2:Boolean = false;
public static var ACHIEVEMENT_STRUGGLE_3:Boolean = false;
public static var ACHIEVEMENT_STRUGGLE_4:Boolean = false;
public static var ACHIEVEMENT_AMMO_1:Boolean = false;
public static var ACHIEVEMENT_AMMO_2:Boolean = false;
public static var ACHIEVEMENT_AMMO_3:Boolean = false;
public static var ACHIEVEMENT_AMMO_4:Boolean = false;
public static var ACHIEVEMENT_MEMBERSHIP_1:Boolean = false;
public static var ACHIEVEMENT_MEMBERSHIP_2:Boolean = false;
public static var ACHIEVEMENT_MEMBERSHIP_3:Boolean = false;
public static var ACHIEVEMENT_MEMBERSHIP_4:Boolean = false;
public static var ACHIEVEMENT_SPECIAL_1:Boolean = false;
public static var ACHIEVEMENT_SPECIAL_2:Boolean = false;
public static var ACHIEVEMENT_ACTION_1:Boolean = false;
public static var ACHIEVEMENT_ACTION_2:Boolean = false;
public static var ACHIEVEMENT_SHOPHEALTH_1:Boolean = false;
public static var ACHIEVEMENT_SHOPHEALTH_2:Boolean = false;
public static var ACHIEVEMENT_SHOPAMMO_1:Boolean = false;
public static var ACHIEVEMENT_SHOPAMMO_2:Boolean = false;
public static var ACHIEVEMENT_MGUN1KILLS_1:Boolean = false;
public static var ACHIEVEMENT_SGUN1KILLS_1:Boolean = false;
public static var ACHIEVEMENT_AGUN1KILLS_1:Boolean = false;
public static var ACHIEVEMENT_MGUN2KILLS_1:Boolean = false;
public static var ACHIEVEMENT_SGUN2KILLS_1:Boolean = false;
public static var ACHIEVEMENT_AGUN2KILLS_1:Boolean = false;
public static var PAGE3_ACHIEVEMENT_1:Boolean = false;
public static var PAGE3_ACHIEVEMENT_2:Boolean = false;
public static var PAGE3_ACHIEVEMENT_3:Boolean = false;
public static var PAGE3_ACHIEVEMENT_4:Boolean = false;
public static var PAGE3_ACHIEVEMENT_5:Boolean = false;
public static var PAGE3_ACHIEVEMENT_6:Boolean = false;
public static var PAGE3_ACHIEVEMENT_7:Boolean = false;
public static var PAGE3_ACHIEVEMENT_8:Boolean = false;
public static var PAGE3_ACHIEVEMENT_9:Boolean = false;
public static var PAGE3_ACHIEVEMENT_BOSS_1:Boolean = false;
public static var PAGE3_ACHIEVEMENT_BOSS_2:Boolean = false;
public static var PAGE3_ACHIEVEMENT_BOSS_3:Boolean = false;
public static var carExploded:int = 0;
public static var fatZombieKilled:int = 0;
public static var bossOneKilled:int = 0;
public static var bossTwoKilled:int = 0;
public static var daysPlayed:int = 0;
public static var dmgTakenInPlay:int = 0;
public static var childrenSaved:int = 0;
public static var zombieCountMultiplier:Number = 0;
public static var zombieCountLevel:int = 0;
public static function secondsToMinutes():String{
var _local1:int;
var _local2:int;
var _local3:int = gameplaytime;
if (gameplaytime > 60){
_local2 = (gameplaytime / 60);
_local3 = (gameplaytime - (_local2 * 60));
};
if (_local2 > 60){
_local1 = (_local2 / 60);
_local2 = (_local2 - (_local1 * 60));
};
return (((((_local1 + ":") + _local2) + ":") + _local3));
}
public static function set awesomePercent(_arg1:int):void{
_awesomePercent = _arg1;
}
public static function moneyEarn(_arg1:int):void{
if (S.gameMode == C.NORMAL_MODE){
totalmoneymade = (totalmoneymade + _arg1);
};
money = (money + _arg1);
moneyMade = (moneyMade + _arg1);
if (gameMode == C.NORMAL_MODE){
if ((((trueLevel >= 1)) && ((trueLevel <= 10)))){
moneyMadeStageOne = (moneyMadeStageOne + _arg1);
};
if ((((trueLevel >= 11)) && ((trueLevel <= 20)))){
moneyMadeStageTwo = (moneyMadeStageTwo + _arg1);
};
if ((((trueLevel >= 21)) && ((trueLevel <= 30)))){
moneyMadeStageThree = (moneyMadeStageThree + _arg1);
};
};
}
public static function increaseKillCount(_arg1:int):void{
if (gameMode == C.NORMAL_MODE){
totalkills = (totalkills + _arg1);
};
if (gameMode == C.NORMAL_MODE){
if ((((trueLevel >= 1)) && ((trueLevel <= 10)))){
_totalKillsStageOne = (_totalKillsStageOne + _arg1);
};
if ((((trueLevel >= 11)) && ((trueLevel <= 20)))){
_totalKillsStageTwo = (_totalKillsStageTwo + _arg1);
};
if ((((trueLevel >= 21)) && ((trueLevel <= 30)))){
_totalKillsStageThree = (_totalKillsStageThree + _arg1);
};
};
killsMade = (killsMade + _arg1);
killsMadeForSurvival = (killsMadeForSurvival + _arg1);
var _local2:ScoreHUD = SingletonUtil.singleton(ScoreHUD);
_local2.updateKills(1);
}
public static function healPlayer(_arg1:int):void{
playerHP = (playerHP + _arg1);
if (playerHP > playerMaxHP){
playerHP = playerMaxHP;
};
var _local2:ScoreHUD = SingletonUtil.singleton(ScoreHUD);
_local2.setLives(playerHP);
}
public static function get actionLockLevel():int{
var _local1:int = (rank - 1);
trace(("S.actionLevel: " + actionLevel));
if (actionLevel < _local1){
_local1 = actionLevel;
};
return (_local1);
}
public static function getAvailableSpecialLevel():int{
var _local1:int;
if (S.s_streak == 0){
_local1 = 0;
} else {
_local1 = ((S.s_streak - 1) / 100);
};
return (Utils.intCompareMin(_local1, S.specialLevel));
}
public static function get spawnDay():int{
var _local1:int = (nightCount % 7);
if (_local1 == 0){
_local1 = 7;
};
return (_local1);
}
public static function get trueLevel():int{
return ((nightCount - groundhogDayStuck));
}
public static function get pageTwoUnlocks():Boolean{
return (((((((((((((((((((((((((((((((((((ACHIEVEMENT_MAXHP_2) && (ACHIEVEMENT_COINMAG_2))) && (ACHIEVEMENT_SEARCH_2))) && (ACHIEVEMENT_SPEED_2))) && (ACHIEVEMENT_MOONWALK_2))) && (ACHIEVEMENT_STRUGGLE_2))) && (ACHIEVEMENT_AMMO_2))) && (ACHIEVEMENT_MEMBERSHIP_2))) && (ACHIEVEMENT_SPECIAL_2))) && (ACHIEVEMENT_ACTION_2))) && (ACHIEVEMENT_SHOPHEALTH_2))) && (ACHIEVEMENT_SHOPAMMO_2))) && (ACHIEVEMENT_MGUN1KILLS_1))) && (ACHIEVEMENT_SGUN1KILLS_1))) && (ACHIEVEMENT_AGUN1KILLS_1))) && (ACHIEVEMENT_MGUN2KILLS_1))) && (ACHIEVEMENT_SGUN2KILLS_1))) && (ACHIEVEMENT_AGUN2KILLS_1)));
}
public static function get pageThreeUnlocks():Boolean{
return (((((((((((PAGE3_ACHIEVEMENT_1) && (PAGE3_ACHIEVEMENT_2))) && (PAGE3_ACHIEVEMENT_4))) && (PAGE3_ACHIEVEMENT_5))) && (PAGE3_ACHIEVEMENT_7))) && (PAGE3_ACHIEVEMENT_8)));
}
public static function set groundhogDayStuck(_arg1:int):void{
trace(("random bug: " + _arg1));
_groundhogDayStuck = _arg1;
}
public static function get groundhogDayStuck():int{
return (_groundhogDayStuck);
}
public static function get ammoSearched():Number{
return (_ammoSearched);
}
public static function set ammoSearched(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_ammoSearched = _arg1;
}
public static function get dmgTaken():Number{
return (_dmgTaken);
}
public static function set dmgTaken(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_dmgTaken = _arg1;
}
public static function get distanceStruggled():Number{
return (_distanceStruggled);
}
public static function set distanceStruggled(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_distanceStruggled = _arg1;
}
public static function get distanceMoonWalked():Number{
return (_distanceMoonWalked);
}
public static function set distanceMoonWalked(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_distanceMoonWalked = _arg1;
}
public static function get distanceTraveled():Number{
return (_distanceTraveled);
}
public static function set distanceTraveled(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_distanceTraveled = _arg1;
}
public static function get totalsurvivorrescued():int{
return (_totalsurvivorrescued);
}
public static function set totalsurvivorrescued(_arg1:int):void{
if (!addIntoProgressBook()){
return;
};
_totalsurvivorrescued = _arg1;
}
public static function get totalobjectsearched():int{
return (_totalobjectsearched);
}
public static function set totalobjectsearched(_arg1:int):void{
if (!addIntoProgressBook()){
return;
};
_totalobjectsearched = _arg1;
}
public static function get maxnight():int{
return (_maxnight);
}
public static function set maxnight(_arg1:int):void{
if (!addIntoProgressBook()){
return;
};
_maxnight = _arg1;
}
public static function get totalkills():int{
return (_totalkills);
}
public static function set totalkills(_arg1:int):void{
if (!addIntoProgressBook()){
return;
};
_totalkills = _arg1;
}
public static function get totaldeath():int{
return (_totaldeath);
}
public static function set totaldeath(_arg1:int):void{
if (!addIntoProgressBook()){
return;
};
_totaldeath = _arg1;
}
public static function get totalmoneymade():int{
return (_totalmoneymade);
}
public static function set totalmoneymade(_arg1:int):void{
if (!addIntoProgressBook()){
return;
};
_totalmoneymade = _arg1;
}
public static function get totalmoneyspent():int{
return (_totalmoneyspent);
}
public static function set totalmoneyspent(_arg1:int):void{
if (!addIntoProgressBook()){
return;
};
_totalmoneyspent = _arg1;
}
public static function get maxkillstreak():int{
return (_maxkillstreak);
}
public static function set maxkillstreak(_arg1:int):void{
if (!addIntoProgressBook()){
return;
};
_maxkillstreak = _arg1;
}
public static function get specialUsed():Number{
return (_specialUsed);
}
public static function set specialUsed(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_specialUsed = _arg1;
}
public static function get actionUsed():Number{
return (_actionUsed);
}
public static function set actionUsed(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_actionUsed = _arg1;
}
public static function get shophealthBought():Number{
return (_shophealthBought);
}
public static function set shophealthBought(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_shophealthBought = _arg1;
}
public static function get shopammoBought():Number{
return (_shopammoBought);
}
public static function set shopammoBought(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_shopammoBought = _arg1;
}
public static function get mgun1kills():Number{
return (_mgun1kills);
}
public static function set mgun1kills(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_mgun1kills = _arg1;
}
public static function get sgun1kills():Number{
return (_sgun1kills);
}
public static function set sgun1kills(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_sgun1kills = _arg1;
}
public static function get agun1kills():Number{
return (_agun1kills);
}
public static function set agun1kills(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_agun1kills = _arg1;
}
public static function get mgun2kills():Number{
return (_mgun2kills);
}
public static function set mgun2kills(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_mgun2kills = _arg1;
}
public static function get sgun2kills():Number{
return (_sgun2kills);
}
public static function set sgun2kills(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_sgun2kills = _arg1;
}
public static function get agun2kills():Number{
return (_agun2kills);
}
public static function set agun2kills(_arg1:Number):void{
if (!addIntoProgressBook()){
return;
};
_agun2kills = _arg1;
}
public static function get frameUnlockArray():Array{
return (_frameUnlockArray);
}
public static function set frameUnlockArray(_arg1:Array):void{
var _local2:int;
while (_local2 < _arg1.length) {
if (_arg1[_local2] == true){
_frameUnlockArray[_local2] = true;
};
_local2++;
};
}
public static function get musicUnlockArray():Array{
return (_musicUnlockArray);
}
public static function set musicUnlockArray(_arg1:Array):void{
var _local2:int;
while (_local2 < _arg1.length) {
if (_arg1[_local2] == true){
_musicUnlockArray[_local2] = true;
};
_local2++;
};
}
public static function get survivalModeUnlocked():Boolean{
return (_survivalModeUnlocked);
}
public static function set survivalModeUnlocked(_arg1:Boolean):void{
if (_arg1){
_survivalModeUnlocked = _arg1;
};
}
public static function get moneyMadeStageOne():int{
return (_moneyMadeStageOne);
}
public static function set moneyMadeStageOne(_arg1:int):void{
_moneyMadeStageOne = _arg1;
}
public static function get moneyMadeStageTwo():int{
return (_moneyMadeStageTwo);
}
public static function set moneyMadeStageTwo(_arg1:int):void{
_moneyMadeStageTwo = _arg1;
}
public static function get moneyMadeStageThree():int{
return (_moneyMadeStageThree);
}
public static function set moneyMadeStageThree(_arg1:int):void{
_moneyMadeStageThree = _arg1;
}
public static function get totalKillsStageOne():int{
return (_totalKillsStageOne);
}
public static function set totalKillsStageOne(_arg1:int):void{
_totalKillsStageOne = _arg1;
}
public static function get totalKillsStageTwo():int{
return (_totalKillsStageTwo);
}
public static function set totalKillsStageTwo(_arg1:int):void{
_totalKillsStageTwo = _arg1;
}
public static function get totalKillsStageThree():int{
return (_totalKillsStageThree);
}
public static function set totalKillsStageThree(_arg1:int):void{
_totalKillsStageThree = _arg1;
}
public static function get totalSurvivorsStageOne():int{
return (_totalSurvivorsStageOne);
}
public static function set totalSurvivorsStageOne(_arg1:int):void{
_totalSurvivorsStageOne = _arg1;
}
public static function get totalSurvivorsStageTwo():int{
return (_totalSurvivorsStageTwo);
}
public static function set totalSurvivorsStageTwo(_arg1:int):void{
_totalSurvivorsStageTwo = _arg1;
}
public static function get totalSurvivorsStageThree():int{
return (_totalSurvivorsStageThree);
}
public static function set totalSurvivorsStageThree(_arg1:int):void{
_totalSurvivorsStageThree = _arg1;
}
public static function get reloadTimes():int{
return (_reloadTimes);
}
public static function set reloadTimes(_arg1:int):void{
_reloadTimes = _arg1;
}
public static function addIntoProgressBook():Boolean{
if (S.gameMode != C.NORMAL_MODE){
return (false);
};
return (true);
}
public static function getPlayerFreeze():Boolean{
return (((S.playerFreeze) || (S.playerActionFreeze)));
}
public static function playerUnfreezeAll():void{
S.playerFreeze = false;
S.playerActionFreeze = false;
}
}
}//package
Section 581
//Save (Save)
package {
import mochi.as3.*;
import net.flashpunk.utils.*;
public class Save {
public static const FILENAME:String = "Bitejacker";
public static const MOCHI_LOAD:String = "jsonData";
private static const GAME_PLAY_TIME:String = "gameplaytime";
private static const QUIT_TIME:String = "quitTime";
private static const FRAME_UNLOCK_ARRAY:String = "frameUnlockArray";
private static const MUSIC_UNLOCK_ARRAY:String = "musicUnlockArray";
private static const COMIC_UNLOCK_ARRAY:String = "comicUnlockArray";
private static const CHASE_CLIP_ARRAY:String = "chaseClipArray";
private static const BOSS_KILLED_ARRAY:String = "bossKilledArray";
private static const SURVIVAL_MODE_UNLOCKED:String = "survivalModeUnlocked";
private static const MONEY:String = "money";
private static const MAX_KILL_STREAK:String = "maxkillstreak";
private static const MAX_NIGHT:String = "maxnight";
private static const TOTAL_KILLS:String = "totalkills";
private static const TOTAL_DEATH:String = "totaldeath";
private static const TOTAL_MONEY_MADE:String = "totalmoneymade";
private static const TOTAL_MONEY_SPENT:String = "totalmoneyspent";
private static const TOTAL_OBJECT_SEARCHED:String = "totalobjectsearched";
private static const TOTAL_SURVIVOR_RESCUED:String = "totalsurvivorrescued";
private static const MONEY_MADE_STAGE_ONE:String = "_moneyMadeStageOne";
private static const MONEY_MADE_STAGE_TWO:String = "_moneyMadeStageTwo";
private static const MONEY_MADE_STAGE_THREE:String = "_moneyMadeStageThree";
private static const TOTAL_KILLS_STAGE_ONE:String = "_totalKillsStageOne";
private static const TOTAL_KILLS_STAGE_TWO:String = "_totalKillsStageTwo";
private static const TOTAL_KILLS_STAGE_THREE:String = "_totalKillsStageThree";
private static const TOTAL_SURVIVORS_STAGE_ONE:String = "_totalSurvivorsStageOne";
private static const TOTAL_SURVIVORS_STAGE_TWO:String = "_totalSurvivorsStageTwo";
private static const TOTAL_SURVIVORS_STAGE_THREE:String = "_totalSurvivorsStageThree";
private static const DISTANCE_TRAVELED:String = "distanceTraveled";
private static const DISTANCE_MOON_WALKED:String = "distanceMoonWalked";
private static const DISTANCE_STRUGGLED:String = "distanceStruggled";
private static const AMMO_SEARCHED:String = "ammoSearched";
private static const DMG_TAKEN:String = "dmgTaken";
private static const SPECIAL_USED:String = "specialUsed";
private static const ACTION_USED:String = "actionUsed";
private static const SHOP_HEALTH_BOUGHT:String = "shophealthBought";
private static const SHOP_AMMO_BOUGHT:String = "shopammoBought";
private static const RELOAD_TIMES:String = "reloadTimes";
private static const MGUN1_KILLS:String = "mgun1kills";
private static const SGUN1_KILLS:String = "sgun1kills";
private static const AGUN1_KILLS:String = "agun1kills";
private static const MGUN2_KILLS:String = "mgun2kills";
private static const SGUN2_KILLS:String = "sgun2kills";
private static const AGUN2_KILLS:String = "agun2kills";
private static const MAX_HP_LEVEL:String = "maxHPLevel";
private static const COIN_MAG_LEVEL:String = "coinmagLevel";
private static const SEARCH_LEVEL:String = "searchLevel";
private static const SPEED_LEVEL:String = "speedLevel";
private static const MOONWALK_LEVEL:String = "moonwalkLevel";
private static const STRUGGLE_LEVEL:String = "struggleLevel";
private static const AMMO_LEVEL:String = "ammoLevel";
private static const SPECIAL_LEVEL:String = "specialLevel";
private static const ACTION_LEVEL:String = "actionLevel";
private static const MEMBERSHIP_LEVEL:String = "membershipLevel";
private static const SHOP_HEALTH_LEVEL:String = "shophealthLevel";
private static const SHOP_AMMO_LEVEL:String = "shopammoLevel";
private static const MGUN1_KILLS_LEVEL:String = "mgun1killsLevel";
private static const SGUN1_KILLS_LEVEL:String = "sgun1killsLevel";
private static const AGUN1_KILLS_LEVEL:String = "agun1killsLevel";
private static const MGUN2_KILLS_LEVEL:String = "mgun2killsLevel";
private static const SGUN2_KILLS_LEVEL:String = "sgun2killsLevel";
private static const AGUN2_KILLS_LEVEL:String = "agun2killsLevel";
public static const ACHIEVEMENT_MAXHP_1:String = "ACHIEVEMENT_MAXHP_1";
public static const ACHIEVEMENT_MAXHP_2:String = "ACHIEVEMENT_MAXHP_2";
public static const ACHIEVEMENT_MAXHP_3:String = "ACHIEVEMENT_MAXHP_3";
public static const ACHIEVEMENT_MAXHP_4:String = "ACHIEVEMENT_MAXHP_4";
public static const ACHIEVEMENT_COINMAG_1:String = "ACHIEVEMENT_COINMAG_1";
public static const ACHIEVEMENT_COINMAG_2:String = "ACHIEVEMENT_COINMAG_2";
public static const ACHIEVEMENT_COINMAG_3:String = "ACHIEVEMENT_COINMAG_3";
public static const ACHIEVEMENT_COINMAG_4:String = "ACHIEVEMENT_COINMAG_4";
public static const ACHIEVEMENT_SEARCH_1:String = "ACHIEVEMENT_SEARCH_1";
public static const ACHIEVEMENT_SEARCH_2:String = "ACHIEVEMENT_SEARCH_2";
public static const ACHIEVEMENT_SEARCH_3:String = "ACHIEVEMENT_SEARCH_3";
public static const ACHIEVEMENT_SEARCH_4:String = "ACHIEVEMENT_SEARCH_4";
public static const ACHIEVEMENT_SPEED_1:String = "ACHIEVEMENT_SPEED_1";
public static const ACHIEVEMENT_SPEED_2:String = "ACHIEVEMENT_SPEED_2";
public static const ACHIEVEMENT_SPEED_3:String = "ACHIEVEMENT_SPEED_3";
public static const ACHIEVEMENT_SPEED_4:String = "ACHIEVEMENT_SPEED_4";
public static const ACHIEVEMENT_MOONWALK_1:String = "ACHIEVEMENT_MOONWALK_1";
public static const ACHIEVEMENT_MOONWALK_2:String = "ACHIEVEMENT_MOONWALK_2";
public static const ACHIEVEMENT_MOONWALK_3:String = "ACHIEVEMENT_MOONWALK_3";
public static const ACHIEVEMENT_MOONWALK_4:String = "ACHIEVEMENT_MOONWALK_4";
public static const ACHIEVEMENT_STRUGGLE_1:String = "ACHIEVEMENT_STRUGGLE_1";
public static const ACHIEVEMENT_STRUGGLE_2:String = "ACHIEVEMENT_STRUGGLE_2";
public static const ACHIEVEMENT_STRUGGLE_3:String = "ACHIEVEMENT_STRUGGLE_3";
public static const ACHIEVEMENT_STRUGGLE_4:String = "ACHIEVEMENT_STRUGGLE_4";
public static const ACHIEVEMENT_AMMO_1:String = "ACHIEVEMENT_AMMO_1";
public static const ACHIEVEMENT_AMMO_2:String = "ACHIEVEMENT_AMMO_2";
public static const ACHIEVEMENT_MEMBERSHIP_1:String = "ACHIEVEMENT_MEMBERSHIP_1";
public static const ACHIEVEMENT_MEMBERSHIP_2:String = "ACHIEVEMENT_MEMBERSHIP_2";
public static const ACHIEVEMENT_MEMBERSHIP_3:String = "ACHIEVEMENT_MEMBERSHIP_3";
public static const ACHIEVEMENT_MEMBERSHIP_4:String = "ACHIEVEMENT_MEMBERSHIP_4";
public static const ACHIEVEMENT_SPECIAL_1:String = "ACHIEVEMENT_SPECIAL_1";
public static const ACHIEVEMENT_SPECIAL_2:String = "ACHIEVEMENT_SPECIAL_2";
public static const ACHIEVEMENT_ACTION_1:String = "ACHIEVEMENT_ACTION_1";
public static const ACHIEVEMENT_ACTION_2:String = "ACHIEVEMENT_ACTION_2";
public static const ACHIEVEMENT_SHOPHEALTH_1:String = "ACHIEVEMENT_SHOPHEALTH_1";
public static const ACHIEVEMENT_SHOPHEALTH_2:String = "ACHIEVEMENT_SHOPHEALTH_2";
public static const ACHIEVEMENT_SHOPAMMO_1:String = "ACHIEVEMENT_SHOPAMMO_1";
public static const ACHIEVEMENT_SHOPAMMO_2:String = "ACHIEVEMENT_SHOPAMMO_2";
public static const ACHIEVEMENT_MGUN1KILLS_1:String = "ACHIEVEMENT_MGUN1KILLS_1";
public static const ACHIEVEMENT_SGUN1KILLS_1:String = "ACHIEVEMENT_SGUN1KILLS_1";
public static const ACHIEVEMENT_AGUN1KILLS_1:String = "ACHIEVEMENT_AGUN1KILLS_1";
public static const ACHIEVEMENT_MGUN2KILLS_1:String = "ACHIEVEMENT_MGUN2KILLS_1";
public static const ACHIEVEMENT_SGUN2KILLS_1:String = "ACHIEVEMENT_SGUN2KILLS_1";
public static const ACHIEVEMENT_AGUN2KILLS_1:String = "ACHIEVEMENT_AGUN2KILLS_1";
public static const PAGE3_ACHIEVEMENT_1:String = "PAGE3_ACHIEVEMENT_1";
public static const PAGE3_ACHIEVEMENT_2:String = "PAGE3_ACHIEVEMENT_2";
public static const PAGE3_ACHIEVEMENT_3:String = "PAGE3_ACHIEVEMENT_3";
public static const PAGE3_ACHIEVEMENT_4:String = "PAGE3_ACHIEVEMENT_4";
public static const PAGE3_ACHIEVEMENT_5:String = "PAGE3_ACHIEVEMENT_5";
public static const PAGE3_ACHIEVEMENT_6:String = "PAGE3_ACHIEVEMENT_6";
public static const PAGE3_ACHIEVEMENT_7:String = "PAGE3_ACHIEVEMENT_7";
public static const PAGE3_ACHIEVEMENT_8:String = "PAGE3_ACHIEVEMENT_8";
public static const PAGE3_ACHIEVEMENT_9:String = "PAGE3_ACHIEVEMENT_9";
public static const PAGE3_ACHIEVEMENT_BOSS_1:String = "PAGE3_ACHIEVEMENT_BOSS_1";
public static const PAGE3_ACHIEVEMENT_BOSS_2:String = "PAGE3_ACHIEVEMENT_BOSS_2";
public static const PAGE3_ACHIEVEMENT_BOSS_3:String = "PAGE3_ACHIEVEMENT_BOSS_3";
public static var CAR_EXPLODED:String = "carExploded";
public static var FAT_ZOMBIE_KILLED:String = "fatZombieKilled";
public static var BOSS_ONE_KILLED:String = "bossOneKilled";
public static var BOSS_TWO_KILLED:String = "bossTwoKilled";
public static var DAYS_PLAYED:String = "daysPlayed";
public static var DMG_TAKEN_IN_PLAY:String = "dmgTakenInPlay";
public static var CHILDREN_SAVED:String = "childrenSaved";
public static var ZOMBIE_COUNT_MULTIPLER:String = "zombieCountMultiplier";
public static var ZOMBIE_COUNT_LEVEL:String = "zombieCountLevel";
public static var ZOMBIE_DMG_MULTIPLIER:String = "dmgMultiplier";
public static var ZOMBIE_DMG_LEVEL:String = "dmgLevel";
private static var mochiUpdateCallback:Function = null;
private static function writeData():void{
Data.writeInt(GAME_PLAY_TIME, S.gameplaytime);
Data.writeInt(QUIT_TIME, S.quitTimes);
Data.writeArray(FRAME_UNLOCK_ARRAY, S.frameUnlockArray);
Data.writeArray(MUSIC_UNLOCK_ARRAY, S.musicUnlockArray);
Data.writeArray(CHASE_CLIP_ARRAY, S.chaseClipArray);
Data.writeArray(COMIC_UNLOCK_ARRAY, S.comicUnlockArray);
Data.writeArray(BOSS_KILLED_ARRAY, S.bossKilledArray);
Data.writeBool(SURVIVAL_MODE_UNLOCKED, S.survivalModeUnlocked);
Data.writeInt(MONEY, S.money);
Data.writeInt(MAX_KILL_STREAK, S.maxkillstreak);
Data.writeInt(MAX_NIGHT, S.maxnight);
Data.writeInt(TOTAL_KILLS, S.totalkills);
Data.writeInt(TOTAL_DEATH, S.totaldeath);
Data.writeInt(TOTAL_MONEY_MADE, S.totalmoneymade);
Data.writeInt(TOTAL_MONEY_SPENT, S.totalmoneyspent);
Data.writeInt(TOTAL_OBJECT_SEARCHED, S.totalobjectsearched);
Data.writeInt(TOTAL_SURVIVOR_RESCUED, S.totalsurvivorrescued);
Data.writeInt(ZOMBIE_DMG_MULTIPLIER, S.dmgMultiplier);
Data.writeInt(ZOMBIE_DMG_LEVEL, S.dmgLevel);
Data.writeInt(MONEY_MADE_STAGE_ONE, S.moneyMadeStageOne);
Data.writeInt(MONEY_MADE_STAGE_TWO, S.moneyMadeStageTwo);
Data.writeInt(MONEY_MADE_STAGE_THREE, S.moneyMadeStageThree);
Data.writeInt(TOTAL_KILLS_STAGE_ONE, S.totalKillsStageOne);
Data.writeInt(TOTAL_KILLS_STAGE_TWO, S.totalKillsStageTwo);
Data.writeInt(TOTAL_KILLS_STAGE_THREE, S.totalKillsStageThree);
Data.writeInt(TOTAL_SURVIVORS_STAGE_ONE, S.totalSurvivorsStageOne);
Data.writeInt(TOTAL_SURVIVORS_STAGE_TWO, S.totalSurvivorsStageTwo);
Data.writeInt(TOTAL_SURVIVORS_STAGE_THREE, S.totalSurvivorsStageThree);
Data.writeNumber(DISTANCE_TRAVELED, S.distanceTraveled);
Data.writeNumber(DISTANCE_MOON_WALKED, S.distanceMoonWalked);
Data.writeNumber(DISTANCE_STRUGGLED, S.distanceStruggled);
Data.writeNumber(AMMO_SEARCHED, S.ammoSearched);
Data.writeNumber(DMG_TAKEN, S.dmgTaken);
Data.writeNumber(SPECIAL_USED, S.specialUsed);
Data.writeNumber(ACTION_USED, S.actionUsed);
Data.writeNumber(SHOP_HEALTH_BOUGHT, S.shophealthBought);
Data.writeNumber(SHOP_AMMO_BOUGHT, S.shopammoBought);
Data.writeNumber(MGUN1_KILLS, S.mgun1kills);
Data.writeNumber(SGUN1_KILLS, S.sgun1kills);
Data.writeNumber(AGUN1_KILLS, S.agun1kills);
Data.writeNumber(MGUN2_KILLS, S.mgun2kills);
Data.writeNumber(SGUN2_KILLS, S.sgun2kills);
Data.writeNumber(AGUN2_KILLS, S.agun2kills);
Data.writeInt(MAX_HP_LEVEL, S.maxHPLevel);
Data.writeInt(COIN_MAG_LEVEL, S.coinmagLevel);
Data.writeInt(SEARCH_LEVEL, S.searchedLevel);
Data.writeInt(SPEED_LEVEL, S.speedLevel);
Data.writeInt(MOONWALK_LEVEL, S.moonwalkLevel);
Data.writeInt(STRUGGLE_LEVEL, S.struggleLevel);
Data.writeInt(AMMO_LEVEL, S.ammoLevel);
Data.writeInt(SPECIAL_LEVEL, S.specialLevel);
Data.writeInt(ACTION_LEVEL, S.actionLevel);
Data.writeInt(MEMBERSHIP_LEVEL, S.membershipLevel);
Data.writeInt(SHOP_HEALTH_LEVEL, S.shophealthLevel);
Data.writeInt(SHOP_AMMO_LEVEL, S.shopammoLevel);
Data.writeInt(RELOAD_TIMES, S.reloadTimes);
Data.writeInt(MGUN1_KILLS_LEVEL, S.mgun1killsLevel);
Data.writeInt(SGUN1_KILLS_LEVEL, S.sgun1killsLevel);
Data.writeInt(AGUN1_KILLS_LEVEL, S.agun1killsLevel);
Data.writeInt(MGUN2_KILLS_LEVEL, S.mgun2killsLevel);
Data.writeInt(SGUN2_KILLS_LEVEL, S.sgun2killsLevel);
Data.writeInt(AGUN2_KILLS_LEVEL, S.agun2killsLevel);
Data.writeBool(ACHIEVEMENT_MAXHP_1, S.ACHIEVEMENT_MAXHP_1);
Data.writeBool(ACHIEVEMENT_MAXHP_2, S.ACHIEVEMENT_MAXHP_2);
Data.writeBool(ACHIEVEMENT_MAXHP_3, S.ACHIEVEMENT_MAXHP_3);
Data.writeBool(ACHIEVEMENT_MAXHP_4, S.ACHIEVEMENT_MAXHP_4);
Data.writeBool(ACHIEVEMENT_COINMAG_1, S.ACHIEVEMENT_COINMAG_1);
Data.writeBool(ACHIEVEMENT_COINMAG_2, S.ACHIEVEMENT_COINMAG_2);
Data.writeBool(ACHIEVEMENT_COINMAG_3, S.ACHIEVEMENT_COINMAG_3);
Data.writeBool(ACHIEVEMENT_COINMAG_4, S.ACHIEVEMENT_COINMAG_4);
Data.writeBool(ACHIEVEMENT_SEARCH_1, S.ACHIEVEMENT_SEARCH_1);
Data.writeBool(ACHIEVEMENT_SEARCH_2, S.ACHIEVEMENT_SEARCH_2);
Data.writeBool(ACHIEVEMENT_SEARCH_3, S.ACHIEVEMENT_SEARCH_3);
Data.writeBool(ACHIEVEMENT_SEARCH_4, S.ACHIEVEMENT_SEARCH_4);
Data.writeBool(ACHIEVEMENT_SPEED_1, S.ACHIEVEMENT_SPEED_1);
Data.writeBool(ACHIEVEMENT_SPEED_2, S.ACHIEVEMENT_SPEED_2);
Data.writeBool(ACHIEVEMENT_SPEED_3, S.ACHIEVEMENT_SPEED_3);
Data.writeBool(ACHIEVEMENT_SPEED_4, S.ACHIEVEMENT_SPEED_4);
Data.writeBool(ACHIEVEMENT_MOONWALK_1, S.ACHIEVEMENT_MOONWALK_1);
Data.writeBool(ACHIEVEMENT_MOONWALK_2, S.ACHIEVEMENT_MOONWALK_2);
Data.writeBool(ACHIEVEMENT_MOONWALK_3, S.ACHIEVEMENT_MOONWALK_3);
Data.writeBool(ACHIEVEMENT_MOONWALK_4, S.ACHIEVEMENT_MOONWALK_4);
Data.writeBool(ACHIEVEMENT_STRUGGLE_1, S.ACHIEVEMENT_STRUGGLE_1);
Data.writeBool(ACHIEVEMENT_STRUGGLE_2, S.ACHIEVEMENT_STRUGGLE_2);
Data.writeBool(ACHIEVEMENT_STRUGGLE_3, S.ACHIEVEMENT_STRUGGLE_3);
Data.writeBool(ACHIEVEMENT_STRUGGLE_4, S.ACHIEVEMENT_STRUGGLE_4);
Data.writeBool(ACHIEVEMENT_AMMO_1, S.ACHIEVEMENT_AMMO_1);
Data.writeBool(ACHIEVEMENT_AMMO_2, S.ACHIEVEMENT_AMMO_2);
Data.writeBool(ACHIEVEMENT_MEMBERSHIP_1, S.ACHIEVEMENT_MEMBERSHIP_1);
Data.writeBool(ACHIEVEMENT_MEMBERSHIP_2, S.ACHIEVEMENT_MEMBERSHIP_2);
Data.writeBool(ACHIEVEMENT_MEMBERSHIP_3, S.ACHIEVEMENT_MEMBERSHIP_3);
Data.writeBool(ACHIEVEMENT_MEMBERSHIP_4, S.ACHIEVEMENT_MEMBERSHIP_4);
Data.writeBool(ACHIEVEMENT_SPECIAL_1, S.ACHIEVEMENT_SPECIAL_1);
Data.writeBool(ACHIEVEMENT_SPECIAL_2, S.ACHIEVEMENT_SPECIAL_2);
Data.writeBool(ACHIEVEMENT_ACTION_1, S.ACHIEVEMENT_ACTION_1);
Data.writeBool(ACHIEVEMENT_ACTION_2, S.ACHIEVEMENT_ACTION_2);
Data.writeBool(ACHIEVEMENT_SHOPHEALTH_1, S.ACHIEVEMENT_SHOPHEALTH_1);
Data.writeBool(ACHIEVEMENT_SHOPHEALTH_2, S.ACHIEVEMENT_SHOPHEALTH_2);
Data.writeBool(ACHIEVEMENT_SHOPAMMO_1, S.ACHIEVEMENT_SHOPAMMO_1);
Data.writeBool(ACHIEVEMENT_SHOPAMMO_2, S.ACHIEVEMENT_SHOPAMMO_2);
Data.writeBool(ACHIEVEMENT_MGUN1KILLS_1, S.ACHIEVEMENT_MGUN1KILLS_1);
Data.writeBool(ACHIEVEMENT_SGUN1KILLS_1, S.ACHIEVEMENT_SGUN1KILLS_1);
Data.writeBool(ACHIEVEMENT_AGUN1KILLS_1, S.ACHIEVEMENT_AGUN1KILLS_1);
Data.writeBool(ACHIEVEMENT_MGUN2KILLS_1, S.ACHIEVEMENT_MGUN2KILLS_1);
Data.writeBool(ACHIEVEMENT_SGUN2KILLS_1, S.ACHIEVEMENT_SGUN2KILLS_1);
Data.writeBool(ACHIEVEMENT_AGUN2KILLS_1, S.ACHIEVEMENT_AGUN2KILLS_1);
Data.writeBool(PAGE3_ACHIEVEMENT_1, S.PAGE3_ACHIEVEMENT_1);
Data.writeBool(PAGE3_ACHIEVEMENT_2, S.PAGE3_ACHIEVEMENT_2);
Data.writeBool(PAGE3_ACHIEVEMENT_3, S.PAGE3_ACHIEVEMENT_3);
Data.writeBool(PAGE3_ACHIEVEMENT_4, S.PAGE3_ACHIEVEMENT_4);
Data.writeBool(PAGE3_ACHIEVEMENT_5, S.PAGE3_ACHIEVEMENT_5);
Data.writeBool(PAGE3_ACHIEVEMENT_6, S.PAGE3_ACHIEVEMENT_6);
Data.writeBool(PAGE3_ACHIEVEMENT_7, S.PAGE3_ACHIEVEMENT_7);
Data.writeBool(PAGE3_ACHIEVEMENT_8, S.PAGE3_ACHIEVEMENT_8);
Data.writeBool(PAGE3_ACHIEVEMENT_9, S.PAGE3_ACHIEVEMENT_9);
Data.writeBool(PAGE3_ACHIEVEMENT_BOSS_1, S.PAGE3_ACHIEVEMENT_BOSS_1);
Data.writeBool(PAGE3_ACHIEVEMENT_BOSS_2, S.PAGE3_ACHIEVEMENT_BOSS_2);
Data.writeBool(PAGE3_ACHIEVEMENT_BOSS_3, S.PAGE3_ACHIEVEMENT_BOSS_3);
Data.writeInt(CAR_EXPLODED, S.carExploded);
Data.writeInt(FAT_ZOMBIE_KILLED, S.fatZombieKilled);
Data.writeInt(BOSS_ONE_KILLED, S.bossOneKilled);
Data.writeInt(BOSS_TWO_KILLED, S.bossTwoKilled);
Data.writeInt(DAYS_PLAYED, S.daysPlayed);
Data.writeInt(DMG_TAKEN_IN_PLAY, S.dmgTakenInPlay);
Data.writeInt(CHILDREN_SAVED, S.childrenSaved);
Data.writeNumber(ZOMBIE_COUNT_MULTIPLER, S.zombieCountMultiplier);
Data.writeInt(ZOMBIE_COUNT_LEVEL, S.zombieCountLevel);
}
private static function loadData():void{
S.gameplaytime = Data.readInt(GAME_PLAY_TIME, 0);
S.quitTimes = Data.readInt(QUIT_TIME, 0);
S.frameUnlockArray = Data.readArray(FRAME_UNLOCK_ARRAY, [true, false, false]);
S.musicUnlockArray = Data.readArray(MUSIC_UNLOCK_ARRAY, [true, true, false, false]);
S.chaseClipArray = Data.readArray(CHASE_CLIP_ARRAY, [false, false, false, false, false, false, false, false]);
S.comicUnlockArray = Data.readArray(COMIC_UNLOCK_ARRAY, [true, false, false, false]);
S.bossKilledArray = Data.readArray(BOSS_KILLED_ARRAY, [false, false, false]);
S.survivalModeUnlocked = Data.readBool(SURVIVAL_MODE_UNLOCKED, false);
S.money = Data.readInt(MONEY, 0);
S.maxkillstreak = Data.readInt(MAX_KILL_STREAK, 0);
S.maxnight = Data.readInt(MAX_NIGHT, 1);
S.totalkills = Data.readInt(TOTAL_KILLS, 0);
S.totaldeath = Data.readInt(TOTAL_DEATH, 0);
S.totalmoneymade = Data.readInt(TOTAL_MONEY_MADE, 0);
S.totalmoneyspent = Data.readInt(TOTAL_MONEY_SPENT, 0);
S.totalobjectsearched = Data.readInt(TOTAL_OBJECT_SEARCHED, 0);
S.totalsurvivorrescued = Data.readInt(TOTAL_SURVIVOR_RESCUED, 0);
S.dmgMultiplier = Data.readInt(ZOMBIE_DMG_MULTIPLIER, 0);
S.dmgLevel = Data.readInt(ZOMBIE_DMG_LEVEL, 0);
S.moneyMadeStageOne = Data.readInt(MONEY_MADE_STAGE_ONE, 0);
S.moneyMadeStageTwo = Data.readInt(MONEY_MADE_STAGE_TWO, 0);
S.moneyMadeStageThree = Data.readInt(MONEY_MADE_STAGE_THREE, 0);
S.totalKillsStageOne = Data.readInt(TOTAL_KILLS_STAGE_ONE, 0);
S.totalKillsStageTwo = Data.readInt(TOTAL_KILLS_STAGE_TWO, 0);
S.totalKillsStageThree = Data.readInt(TOTAL_KILLS_STAGE_THREE, 0);
S.totalSurvivorsStageOne = Data.readInt(TOTAL_SURVIVORS_STAGE_ONE, 0);
S.totalSurvivorsStageTwo = Data.readInt(TOTAL_SURVIVORS_STAGE_TWO, 0);
S.totalSurvivorsStageThree = Data.readInt(TOTAL_SURVIVORS_STAGE_THREE, 0);
S.distanceTraveled = Data.readNumber(DISTANCE_TRAVELED, 0);
S.distanceMoonWalked = Data.readNumber(DISTANCE_MOON_WALKED, 0);
S.distanceStruggled = Data.readNumber(DISTANCE_STRUGGLED, 0);
S.ammoSearched = Data.readNumber(AMMO_SEARCHED, 0);
S.dmgTaken = Data.readNumber(DMG_TAKEN, 0);
S.specialUsed = Data.readNumber(SPECIAL_USED, 0);
S.actionUsed = Data.readNumber(ACTION_USED, 0);
S.shophealthBought = Data.readNumber(SHOP_HEALTH_BOUGHT, 0);
S.shopammoBought = Data.readNumber(SHOP_AMMO_BOUGHT, 0);
S.reloadTimes = Data.readNumber(RELOAD_TIMES, 0);
S.mgun1kills = Data.readNumber(MGUN1_KILLS, 0);
S.sgun1kills = Data.readNumber(SGUN1_KILLS, 0);
S.agun1kills = Data.readNumber(AGUN1_KILLS, 0);
S.mgun2kills = Data.readNumber(MGUN2_KILLS, 0);
S.sgun2kills = Data.readNumber(SGUN2_KILLS, 0);
S.agun2kills = Data.readNumber(AGUN2_KILLS, 0);
S.maxHPLevel = Data.readInt(MAX_HP_LEVEL, 0);
S.coinmagLevel = Data.readInt(COIN_MAG_LEVEL, 0);
S.searchedLevel = Data.readInt(SEARCH_LEVEL, 0);
S.speedLevel = Data.readInt(SPEED_LEVEL, 0);
S.moonwalkLevel = Data.readInt(MOONWALK_LEVEL, 0);
S.struggleLevel = Data.readInt(STRUGGLE_LEVEL, 0);
S.ammoLevel = Data.readInt(AMMO_LEVEL, 0);
S.specialLevel = Data.readInt(SPECIAL_LEVEL, 0);
S.actionLevel = Data.readInt(ACTION_LEVEL, 0);
S.membershipLevel = Data.readInt(MEMBERSHIP_LEVEL, 0);
S.shophealthLevel = Data.readInt(SHOP_HEALTH_LEVEL, 0);
S.shopammoLevel = Data.readInt(SHOP_AMMO_LEVEL, 0);
S.mgun1killsLevel = Data.readInt(MGUN1_KILLS_LEVEL, 0);
S.sgun1killsLevel = Data.readInt(SGUN1_KILLS_LEVEL, 0);
S.agun1killsLevel = Data.readInt(AGUN1_KILLS_LEVEL, 0);
S.mgun2killsLevel = Data.readInt(MGUN2_KILLS_LEVEL, 0);
S.sgun2killsLevel = Data.readInt(SGUN2_KILLS_LEVEL, 0);
S.agun2killsLevel = Data.readInt(AGUN2_KILLS_LEVEL, 0);
S.ACHIEVEMENT_MAXHP_1 = Data.readBool(ACHIEVEMENT_MAXHP_1, false);
S.ACHIEVEMENT_MAXHP_2 = Data.readBool(ACHIEVEMENT_MAXHP_2, false);
S.ACHIEVEMENT_MAXHP_3 = Data.readBool(ACHIEVEMENT_MAXHP_3, false);
S.ACHIEVEMENT_MAXHP_4 = Data.readBool(ACHIEVEMENT_MAXHP_4, false);
S.ACHIEVEMENT_COINMAG_1 = Data.readBool(ACHIEVEMENT_COINMAG_1, false);
S.ACHIEVEMENT_COINMAG_2 = Data.readBool(ACHIEVEMENT_COINMAG_2, false);
S.ACHIEVEMENT_COINMAG_3 = Data.readBool(ACHIEVEMENT_COINMAG_3, false);
S.ACHIEVEMENT_COINMAG_4 = Data.readBool(ACHIEVEMENT_COINMAG_4, false);
S.ACHIEVEMENT_SEARCH_1 = Data.readBool(ACHIEVEMENT_SEARCH_1, false);
S.ACHIEVEMENT_SEARCH_2 = Data.readBool(ACHIEVEMENT_SEARCH_2, false);
S.ACHIEVEMENT_SEARCH_3 = Data.readBool(ACHIEVEMENT_SEARCH_3, false);
S.ACHIEVEMENT_SEARCH_4 = Data.readBool(ACHIEVEMENT_SEARCH_4, false);
S.ACHIEVEMENT_SPEED_1 = Data.readBool(ACHIEVEMENT_SPEED_1, false);
S.ACHIEVEMENT_SPEED_2 = Data.readBool(ACHIEVEMENT_SPEED_2, false);
S.ACHIEVEMENT_SPEED_3 = Data.readBool(ACHIEVEMENT_SPEED_3, false);
S.ACHIEVEMENT_SPEED_4 = Data.readBool(ACHIEVEMENT_SPEED_4, false);
S.ACHIEVEMENT_MOONWALK_1 = Data.readBool(ACHIEVEMENT_MOONWALK_1, false);
S.ACHIEVEMENT_MOONWALK_2 = Data.readBool(ACHIEVEMENT_MOONWALK_2, false);
S.ACHIEVEMENT_MOONWALK_3 = Data.readBool(ACHIEVEMENT_MOONWALK_3, false);
S.ACHIEVEMENT_MOONWALK_4 = Data.readBool(ACHIEVEMENT_MOONWALK_4, false);
S.ACHIEVEMENT_STRUGGLE_1 = Data.readBool(ACHIEVEMENT_STRUGGLE_1, false);
S.ACHIEVEMENT_STRUGGLE_2 = Data.readBool(ACHIEVEMENT_STRUGGLE_2, false);
S.ACHIEVEMENT_STRUGGLE_3 = Data.readBool(ACHIEVEMENT_STRUGGLE_3, false);
S.ACHIEVEMENT_STRUGGLE_4 = Data.readBool(ACHIEVEMENT_STRUGGLE_4, false);
S.ACHIEVEMENT_AMMO_1 = Data.readBool(ACHIEVEMENT_AMMO_1, false);
S.ACHIEVEMENT_AMMO_2 = Data.readBool(ACHIEVEMENT_AMMO_2, false);
S.ACHIEVEMENT_MEMBERSHIP_1 = Data.readBool(ACHIEVEMENT_MEMBERSHIP_1, false);
S.ACHIEVEMENT_MEMBERSHIP_2 = Data.readBool(ACHIEVEMENT_MEMBERSHIP_2, false);
S.ACHIEVEMENT_MEMBERSHIP_3 = Data.readBool(ACHIEVEMENT_MEMBERSHIP_3, false);
S.ACHIEVEMENT_MEMBERSHIP_4 = Data.readBool(ACHIEVEMENT_MEMBERSHIP_4, false);
S.ACHIEVEMENT_SPECIAL_1 = Data.readBool(ACHIEVEMENT_SPECIAL_1, false);
S.ACHIEVEMENT_SPECIAL_2 = Data.readBool(ACHIEVEMENT_SPECIAL_2, false);
S.ACHIEVEMENT_ACTION_1 = Data.readBool(ACHIEVEMENT_ACTION_1, false);
S.ACHIEVEMENT_ACTION_2 = Data.readBool(ACHIEVEMENT_ACTION_2, false);
S.ACHIEVEMENT_SHOPHEALTH_1 = Data.readBool(ACHIEVEMENT_SHOPHEALTH_1, false);
S.ACHIEVEMENT_SHOPHEALTH_2 = Data.readBool(ACHIEVEMENT_SHOPHEALTH_2, false);
S.ACHIEVEMENT_SHOPAMMO_1 = Data.readBool(ACHIEVEMENT_SHOPAMMO_1, false);
S.ACHIEVEMENT_SHOPAMMO_2 = Data.readBool(ACHIEVEMENT_SHOPAMMO_2, false);
S.ACHIEVEMENT_MGUN1KILLS_1 = Data.readBool(ACHIEVEMENT_MGUN1KILLS_1, false);
S.ACHIEVEMENT_SGUN1KILLS_1 = Data.readBool(ACHIEVEMENT_SGUN1KILLS_1, false);
S.ACHIEVEMENT_AGUN1KILLS_1 = Data.readBool(ACHIEVEMENT_AGUN1KILLS_1, false);
S.ACHIEVEMENT_MGUN2KILLS_1 = Data.readBool(ACHIEVEMENT_MGUN2KILLS_1, false);
S.ACHIEVEMENT_SGUN2KILLS_1 = Data.readBool(ACHIEVEMENT_SGUN2KILLS_1, false);
S.ACHIEVEMENT_AGUN2KILLS_1 = Data.readBool(ACHIEVEMENT_AGUN2KILLS_1, false);
S.PAGE3_ACHIEVEMENT_1 = Data.readBool(PAGE3_ACHIEVEMENT_1, false);
S.PAGE3_ACHIEVEMENT_2 = Data.readBool(PAGE3_ACHIEVEMENT_2, false);
S.PAGE3_ACHIEVEMENT_3 = Data.readBool(PAGE3_ACHIEVEMENT_3, false);
S.PAGE3_ACHIEVEMENT_4 = Data.readBool(PAGE3_ACHIEVEMENT_4, false);
S.PAGE3_ACHIEVEMENT_5 = Data.readBool(PAGE3_ACHIEVEMENT_5, false);
S.PAGE3_ACHIEVEMENT_6 = Data.readBool(PAGE3_ACHIEVEMENT_6, false);
S.PAGE3_ACHIEVEMENT_7 = Data.readBool(PAGE3_ACHIEVEMENT_7, false);
S.PAGE3_ACHIEVEMENT_8 = Data.readBool(PAGE3_ACHIEVEMENT_8, false);
S.PAGE3_ACHIEVEMENT_9 = Data.readBool(PAGE3_ACHIEVEMENT_9, false);
S.PAGE3_ACHIEVEMENT_BOSS_1 = Data.readBool(PAGE3_ACHIEVEMENT_BOSS_1, false);
S.PAGE3_ACHIEVEMENT_BOSS_2 = Data.readBool(PAGE3_ACHIEVEMENT_BOSS_2, false);
S.PAGE3_ACHIEVEMENT_BOSS_3 = Data.readBool(PAGE3_ACHIEVEMENT_BOSS_3, false);
S.carExploded = Data.readInt(CAR_EXPLODED, 0);
S.fatZombieKilled = Data.readInt(FAT_ZOMBIE_KILLED, 0);
S.bossOneKilled = Data.readInt(BOSS_ONE_KILLED, 0);
S.bossTwoKilled = Data.readInt(BOSS_TWO_KILLED, 0);
S.daysPlayed = Data.readInt(DAYS_PLAYED, 0);
S.dmgTakenInPlay = Data.readInt(DMG_TAKEN_IN_PLAY, 0);
S.childrenSaved = Data.readInt(CHILDREN_SAVED, 0);
S.zombieCountMultiplier = Data.readNumber(ZOMBIE_COUNT_MULTIPLER, 1);
S.zombieCountLevel = Data.readInt(ZOMBIE_COUNT_LEVEL, 0);
}
public static function saveGame():void{
trace("Game is saving...");
writeData();
Data.save(FILENAME);
saveGameToMochi();
}
public static function saveGameToMochi():void{
if (Web.mochiDisabled){
return;
};
MochiUserData.put(MOCHI_LOAD, Data.data, putMochiSave);
}
private static function putMochiSave(_arg1:MochiUserData):void{
if (_arg1.error){
trace(("[ERROR] could not save: " + _arg1.error));
return;
};
trace("Successfully saved game for user");
}
public static function loadGameFromMochi(_arg1:Function=null):void{
MochiUserData.get(MOCHI_LOAD, getMochiLoad);
mochiUpdateCallback = _arg1;
}
private static function getMochiLoad(_arg1:MochiUserData):void{
if (_arg1.error){
trace(("[ERROR] could not fetch data: " + _arg1.error));
return;
};
if (_arg1.data == null){
return;
};
Data.data = _arg1.data;
loadDataAndCheckLeaver();
if (mochiUpdateCallback != null){
mochiUpdateCallback();
mochiUpdateCallback = null;
};
}
private static function loadDataAndCheckLeaver():void{
loadData();
if (Data.readBool("LEAVER", false)){
S.money = (S.money * 0.3);
};
}
public static function loadGame():void{
trace("Game is loading...");
Data.load(FILENAME);
loadDataAndCheckLeaver();
}
public static function clearCookie():void{
Data.clearCookie();
trace("Stored cookie is cleared");
}
public static function traceData():void{
Data.traceAll();
}
public static function writeCookie(_arg1:Boolean):void{
Data.writeBool("LEAVER", _arg1);
Data.save(FILENAME);
}
}
}//package
Section 582
//ScoreHUD (ScoreHUD)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import org.casalib.util.*;
public class ScoreHUD extends MovieClip {
public var btn_pause:MovieClip;
public var reminder:MovieClip;
public var exitnotify:MovieClip;
public var awesome_meter:MovieClip;
public var skullcoinicon:MovieClip;
public var guiFrame:MovieClip;
public var playerportrait:MovieClip;
public var btn_mute:MovieClip;
public var gun:TextField;
public var lives:TextField;
public var jonportrait:MovieClip;
public var kill:TextField;
public var kills:MovieClip;
public var money:TextField;
public var night:TextField;
public var gunicon:MovieClip;
public var goIndicator:MovieClip;
public var x_mc:MovieClip;
public var whoopsie:MovieClip;
public var scorecounter:TextField;
public var infinite:MovieClip;
public var day:MovieClip;
public var magazine:TextField;
private var stageRef:Stage;
public var s_score:Number;// = 0
public var s_ammo:Number;// = 0
public var s_kills:Number;// = 0
public var s_lives:Number;// = 0
public var s_magazine:int;// = 0
public var s_gun:String;// = ""
public var s_rankText:String;// = ""
public var s_money:int;// = 0
public var s_comboText:String;// = ""
private var killsTimer:Timer;
private var killsFadeOutTimer:Timer;
private var appeared:Boolean;
private var exitNotifyTimer:Timer;
public var musicNo:int;// = 0
public var bgmNo:int;// = 0
private var mute:Boolean;// = false
public function ScoreHUD(){
stageRef = StageReference.getStage();
kills.killscounter.killscountertxt.text = "";
kills.killscounter.killscountertxt.selectable = false;
lives.text = "0";
lives.selectable = false;
magazine.text = "0";
magazine.selectable = false;
night.text = "1";
night.selectable = false;
gun.text = "Pistol";
gun.selectable = false;
kills.killscounter.combotxt.text = "";
kills.killscounter.combotxt.selectable = false;
money.text = ("$" + S.money);
money.selectable = false;
awesome_meter.awesomebar.width = 0;
kills.visible = false;
kill.text = "0";
infinite.visible = false;
if (S.charSelected == C.ANT){
playerportrait.visible = true;
jonportrait.visible = false;
} else {
playerportrait.visible = false;
jonportrait.visible = true;
};
x = -5;
y = ((stageRef.stageHeight - height) - 5);
awesome_meter.awesomefill1.visible = false;
awesome_meter.awesomefill2.visible = false;
awesome_meter.awesomefill3.visible = false;
killsTimer = new Timer(7000, 1);
EC.add(killsTimer, TimerEvent.TIMER, killsTimerHandler, false, 0, true, "Player_Kill_Timer");
killsFadeOutTimer = new Timer(((20 * 1000) / 30), 1);
EC.add(killsFadeOutTimer, TimerEvent.TIMER, killsFadeOutTimerHandler, false, 0, true, "KILLS_FADE_OUT_TIMER");
exitnotify.visible = false;
exitNotifyTimer = new Timer(10000, 1);
EC.add(exitNotifyTimer, TimerEvent.TIMER, checkExitNotifyTimer, false, 0, true, "EXIT_TIMER");
}
protected function checkExitNotifyTimer(_arg1:Event):void{
exitnotify.visible = false;
EC.remove(exitNotifyTimer);
}
public function addCheckTimer():void{
exitnotify.visible = true;
exitNotifyTimer.start();
}
public function setFrameType():void{
switch (S.frameNo){
case 1:
guiFrame.frametype.gotoAndStop("oldTV");
break;
case 2:
guiFrame.frametype.gotoAndStop("grindhouse");
break;
case 3:
guiFrame.frametype.gotoAndStop("scanline");
break;
};
}
public function updateKills(_arg1:Number):void{
kill.text = String(S.killsMade);
s_kills = (s_kills + _arg1);
if (s_kills > 999){
s_kills = 999;
};
if (_arg1 != 0){
resetKillsTimer();
};
if ((((s_kills == 2)) && (!(appeared)))){
kills.visible = true;
kills.gotoAndPlay("appear");
appeared = true;
killsFadeOutTimer.stop();
};
if (((((s_kills % 30) == 0)) && (!((s_kills == 0))))){
whoopsie.content.gotoAndStop(NumberUtil.randomIntegerWithinRange(1, 7));
whoopsie.play();
SoundManager.instance.playSound(Sounds.VO_WHOOPSIE, 1);
};
if (((kills.killscounter) && (!((s_kills == 0))))){
kills.killscounter.killscountertxt.text = String(s_kills);
};
}
public function updateMaxKillStreak(_arg1:int):void{
if (_arg1 < s_kills){
S.maxkillstreak = s_kills;
};
}
public function resetKillsTimer():void{
killsTimer.stop();
killsTimer.start();
}
public function setAmmo(_arg1:Number):void{
s_ammo = _arg1;
}
public function setMagazine(_arg1:int):void{
s_magazine = _arg1;
if (s_magazine >= C.MAGAZINE_INFINITE){
infinite.visible = true;
magazine.visible = false;
} else {
magazine.text = String(s_magazine);
magazine.visible = true;
infinite.visible = false;
};
}
public function updateScore():void{
scorecounter.text = ("SCORE : " + String(S.gameScore));
}
public function setLives(_arg1:Number):void{
s_lives = _arg1;
lives.text = String(s_lives);
}
public function setGun(_arg1:String):void{
s_gun = _arg1;
gun.text = s_gun;
switch (s_gun){
case "MACHINE GUN":
gunicon.gotoAndStop("mgun");
break;
case "MACHINE GUN 2":
gunicon.gotoAndStop("mgun2");
break;
case "HEAVY M.GUN":
gunicon.gotoAndStop("heavy");
break;
case "A.PIERCING":
gunicon.gotoAndStop("agun1");
break;
case "A.PIERCING 2":
gunicon.gotoAndStop("agun2");
break;
case "LASER":
gunicon.gotoAndStop("laser");
break;
case "SHOTGUN":
gunicon.gotoAndStop("sgun1");
break;
case "SHOTGUN 2":
gunicon.gotoAndStop("sgun2");
break;
case "ROCKET LAUNCHER":
gunicon.gotoAndStop("rocket");
break;
};
}
public function updateNightValue():void{
if (S.trueLevel < 10){
night.text = String(("0" + S.trueLevel));
} else {
night.text = String(S.trueLevel);
};
}
public function updateStreak(_arg1:Number):Boolean{
if ((S.s_streak + _arg1) < 0){
return (false);
};
S.s_streak = (S.s_streak + _arg1);
if (S.s_streak > 300){
S.s_streak = 300;
} else {
if (S.s_streak < 0){
resetStreak();
};
};
if (S.s_streak >= 100){
awesome_meter.awesomefill1.visible = true;
} else {
awesome_meter.awesomefill1.visible = false;
};
if (S.s_streak >= 200){
awesome_meter.awesomefill2.visible = true;
} else {
awesome_meter.awesomefill2.visible = false;
};
if (S.s_streak == 300){
awesome_meter.awesomefill3.visible = true;
} else {
awesome_meter.awesomefill3.visible = false;
};
setRankAndBarUsingStreak();
return (true);
}
public function sufficientStreak(_arg1:Number):Boolean{
if (S.s_streak >= _arg1){
return (true);
};
return (false);
}
public function playBGM():void{
SoundManager.instance.stopMusic();
switch (S.rank){
case 1:
playRankOneMusic();
break;
case 2:
playRankTwoMusic();
break;
case 3:
playRankThreeMusic();
break;
};
}
public function playRankOneMusic():void{
switch (S.bgmType){
case 1:
SoundManager.instance.playMusic(Sounds.BGM1_1, 0, 10000);
break;
case 2:
SoundManager.instance.playMusic(Sounds.BGM2_1, 0, 10000);
break;
case 3:
SoundManager.instance.playMusic(Sounds.BGM3_1, 0, 10000);
break;
case 4:
SoundManager.instance.playMusic(Sounds.BGM4_1, 0, 10000);
break;
};
}
public function playRankTwoMusic():void{
switch (S.bgmType){
case 1:
SoundManager.instance.playMusic(Sounds.BGM1_2, 0, 10000);
break;
case 2:
SoundManager.instance.playMusic(Sounds.BGM2_2, 0, 10000);
break;
case 3:
SoundManager.instance.playMusic(Sounds.BGM3_2, 0, 10000);
break;
case 4:
SoundManager.instance.playMusic(Sounds.BGM4_2, 0, 10000);
break;
};
}
public function playRankThreeMusic():void{
switch (S.bgmType){
case 1:
SoundManager.instance.playMusic(Sounds.BGM1_3, 0, 10000);
break;
case 2:
SoundManager.instance.playMusic(Sounds.BGM2_3, 0, 10000);
break;
case 3:
SoundManager.instance.playMusic(Sounds.BGM3_2, 0, 10000);
break;
case 4:
SoundManager.instance.playMusic(Sounds.BGM4_2, 0, 10000);
break;
};
}
public function setRankAndBarUsingStreak():void{
if ((((S.s_streak >= 0)) && ((S.s_streak <= 100)))){
S.rank = 1;
} else {
if ((((S.s_streak > 101)) && ((S.s_streak <= 200)))){
S.rank = 2;
} else {
if ((((S.s_streak > 201)) && ((S.s_streak <= 300)))){
S.rank = 3;
};
};
};
awesome_meter.awesomebar.width = (70 * (S.s_streak * 0.01));
if (!S.bossFight){
switch (S.rank){
case 1:
if ((((((bgmNo == S.bgmType)) && (!((musicNo == S.rank))))) || (((!((bgmNo == S.bgmType))) && ((musicNo == S.rank)))))){
SoundManager.instance.stopMusic();
playRankOneMusic();
musicNo = 1;
bgmNo = S.bgmType;
};
break;
case 2:
if ((((((bgmNo == S.bgmType)) && (!((musicNo == S.rank))))) || (((!((bgmNo == S.bgmType))) && ((musicNo == S.rank)))))){
SoundManager.instance.stopMusic();
playRankTwoMusic();
musicNo = 2;
bgmNo = S.bgmType;
};
break;
case 3:
if ((((((bgmNo == S.bgmType)) && (!((musicNo == S.rank))))) || (((!((bgmNo == S.bgmType))) && ((musicNo == S.rank)))))){
SoundManager.instance.stopMusic();
playRankThreeMusic();
musicNo = 3;
bgmNo = S.bgmType;
};
break;
};
};
}
public function stopBGM():void{
SoundManager.instance.stopMusic();
}
public function muteSound():void{
switch (S.muteState){
case C.MUTE_NONE:
SoundManager.instance.musicVolume = C.MUSIC_VOL;
SoundManager.instance.soundVolume = 0.7;
btn_mute.gotoAndStop("idle");
break;
case C.MUTE_MUSIC:
SoundManager.instance.musicVolume = 0;
SoundManager.instance.soundVolume = 0.7;
btn_mute.gotoAndStop("sfx");
break;
case C.MUTE_BOTH:
SoundManager.instance.musicVolume = 0;
SoundManager.instance.soundVolume = 0;
btn_mute.gotoAndStop("mute");
break;
};
}
public function resetStreak():void{
S.s_streak = 0;
awesome_meter.awesomebar.width = 0;
}
public function updateRank(_arg1:Number):void{
S.rank = _arg1;
}
public function updateMoney(_arg1:int):void{
s_money = _arg1;
money.text = ("$" + s_money);
}
public function updateCombo():void{
switch (s_kills){
case 0:
s_comboText = "";
break;
case 5:
s_comboText = "AWESOME";
break;
case 10:
s_comboText = "EPIC MADNESS";
break;
case 15:
s_comboText = "COWABANGA";
break;
case 20:
s_comboText = "FATALITY";
break;
};
if (kills.killscounter){
kills.killscounter.combotxt.text = s_comboText;
};
}
public function resetCombo():void{
updateMaxKillStreak(S.maxkillstreak);
if (s_kills >= 2){
kills.gotoAndPlay("disappear");
};
updateKills(0);
updateCombo();
killsFadeOutTimer.start();
}
public function killsTimerHandler(_arg1:TimerEvent):void{
resetCombo();
}
public function killsFadeOutTimerHandler(_arg1:TimerEvent):void{
s_kills = 0;
appeared = false;
}
}
}//package
Section 583
//search10PH (search10PH)
package {
import flash.display.*;
public dynamic class search10PH extends MovieClip {
}
}//package
Section 584
//search11PH (search11PH)
package {
import flash.display.*;
public dynamic class search11PH extends MovieClip {
}
}//package
Section 585
//search12PH (search12PH)
package {
import flash.display.*;
public dynamic class search12PH extends MovieClip {
}
}//package
Section 586
//search13PH (search13PH)
package {
import flash.display.*;
public dynamic class search13PH extends MovieClip {
}
}//package
Section 587
//search14PH (search14PH)
package {
import flash.display.*;
public dynamic class search14PH extends MovieClip {
}
}//package
Section 588
//search15PH (search15PH)
package {
import flash.display.*;
public dynamic class search15PH extends MovieClip {
}
}//package
Section 589
//search1PH (search1PH)
package {
import flash.display.*;
public dynamic class search1PH extends MovieClip {
}
}//package
Section 590
//search2PH (search2PH)
package {
import flash.display.*;
public dynamic class search2PH extends MovieClip {
}
}//package
Section 591
//search3PH (search3PH)
package {
import flash.display.*;
public dynamic class search3PH extends MovieClip {
}
}//package
Section 592
//search4PH (search4PH)
package {
import flash.display.*;
public dynamic class search4PH extends MovieClip {
}
}//package
Section 593
//search5PH (search5PH)
package {
import flash.display.*;
public dynamic class search5PH extends MovieClip {
}
}//package
Section 594
//search6PH (search6PH)
package {
import flash.display.*;
public dynamic class search6PH extends MovieClip {
}
}//package
Section 595
//search7PH (search7PH)
package {
import flash.display.*;
public dynamic class search7PH extends MovieClip {
}
}//package
Section 596
//search8PH (search8PH)
package {
import flash.display.*;
public dynamic class search8PH extends MovieClip {
}
}//package
Section 597
//search9PH (search9PH)
package {
import flash.display.*;
public dynamic class search9PH extends MovieClip {
}
}//package
Section 598
//searchCarPH (searchCarPH)
package {
import flash.display.*;
public dynamic class searchCarPH extends MovieClip {
}
}//package
Section 599
//searchVanPH (searchVanPH)
package {
import flash.display.*;
public dynamic class searchVanPH extends MovieClip {
}
}//package
Section 600
//Shop (Shop)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import mochi.as3.*;
import flash.utils.*;
import flash.text.*;
import guns.*;
import org.casalib.util.*;
public class Shop extends MovieClip {
public var shop_keeper:MovieClip;
public var shop_window:MovieClip;
public var moneytxt:TextField;
public var moneyspenttxt:MovieClip;
public var btn_GGshop:MovieClip;
public var btn_back:MovieClip;
public var shop_text:MovieClip;
private var stageRef:Stage;
private var rootRef;
private var HP1_price:int;
private var HP2_price:int;
private var HP3_price:int;
private var ammo1_price:int;
private var ammo2_price:int;
private var ammo3_price:int;
private var pistol1_price:int;
private var pistol2_price:int;
private var pistol3_price:int;
private var sniper1_price:int;
private var sniper2_price:int;
private var sniper3_price:int;
private var shotgun1_price:int;
private var shotgun2_price:int;
private var shotgun3_price:int;
private var shopDiscount:Number;
private var chatTimer:Timer;
private var chatTime:int;// = 5000
private var cursor:Cursor;
public function Shop(_arg1:Stage, _arg2){
shopDiscount = S.shopDiscount;
super();
addFrameScript(9, frame10);
x = -4;
y = 1;
this.stageRef = _arg1;
this.rootRef = _arg2;
visible = false;
initItemPrice();
chatTimer = new Timer(chatTime, 1);
EC.add(chatTimer, TimerEvent.TIMER, chatTimerHandler, false, 0, true, "Chat_change");
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "loop");
cursor = SingletonUtil.singleton(Cursor);
}
function loop(_arg1:Event):void{
updateMembership();
updateMoney(S.money);
rootRef.setGun();
}
public function updateMoney(_arg1:int):void{
moneytxt.text = ("$" + String(_arg1));
}
public function setShopButtons():void{
lockShop();
unlockShopLevel0();
reinitShop();
EC.add(this, Event.ENTER_FRAME, function (_arg1:Event){
rootRef.updateMoneyForAll();
}, false, 0, true, "UPDATE MONEY");
btn_back.gotoAndStop("idle");
EC.add(btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.hideShop();
rootRef.showVictoryStat();
SoundManager.instance.playSound(Sounds.SHOP_WALK);
chatTimer.stop();
}, false, 0, true, "BACK_BUTTON_CLICK");
EC.add(btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
EC.add(btn_back, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_back.gotoAndStop("idle");
}, false, 0, true, "BACK_BUTTON_IDLE");
EC.add(shop_window.shop_HP1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_HP1.currentLabel == "idle"){
shop_window.shop_HP1.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_HP1_ROLLOVER");
EC.add(shop_window.shop_HP1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_HP1.currentLabel == "rollover"){
shop_window.shop_HP1.gotoAndPlay("idle");
};
}, false, 0, true, "SHOP_HP1_IDLE");
EC.add(shop_window.shop_HP1, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_HP1.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_HP1, (shop_window.numChildren - 1));
shop_window.shop_HP1.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_HP1_DOWN");
EC.add(shop_window.shop_HP1, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_HP1, HP1_price);
shop_window.shop_HP1.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_HP1_UP");
EC.add(shop_window.shop_HP2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_HP2.currentLabel == "idle"){
shop_window.shop_HP2.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_HP2_ROLLOVER");
EC.add(shop_window.shop_HP2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_HP2.currentLabel == "rollover"){
shop_window.shop_HP2.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_HP2_IDLE");
EC.add(shop_window.shop_HP2, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_HP2.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_HP2, (shop_window.numChildren - 1));
shop_window.shop_HP2.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_HP2_DOWN");
EC.add(shop_window.shop_HP2, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_HP2, HP2_price);
shop_window.shop_HP2.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_HP2_UP");
EC.add(shop_window.shop_HP3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_HP3.currentLabel == "idle"){
shop_window.shop_HP3.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_HP3_ROLLOVER");
EC.add(shop_window.shop_HP3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_HP3.currentLabel == "rollover"){
shop_window.shop_HP3.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_HP3_IDLE");
EC.add(shop_window.shop_HP3, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_HP3.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_HP3, (shop_window.numChildren - 1));
shop_window.shop_HP3.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_HP3_DOWN");
EC.add(shop_window.shop_HP3, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_HP3, HP3_price);
shop_window.shop_HP3.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_HP3_UP");
EC.add(shop_window.shop_ammo1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_ammo1.currentLabel == "idle"){
shop_window.shop_ammo1.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_AMMO1_ROLLOVER");
EC.add(shop_window.shop_ammo1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_ammo1.currentLabel == "rollover"){
shop_window.shop_ammo1.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_AMMO1_IDLE");
EC.add(shop_window.shop_ammo1, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_ammo1.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_ammo1, (shop_window.numChildren - 1));
shop_window.shop_ammo1.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_AMMO1_DOWN");
EC.add(shop_window.shop_ammo1, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_ammo1, ammo1_price);
shop_window.shop_ammo1.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_AMMO1_UP");
EC.add(shop_window.shop_ammo2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_ammo2.currentLabel == "idle"){
shop_window.shop_ammo2.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_AMMO2_ROLLOVER");
EC.add(shop_window.shop_ammo2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_ammo2.currentLabel == "rollover"){
shop_window.shop_ammo2.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_AMMO2_IDLE");
EC.add(shop_window.shop_ammo2, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_ammo2.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_ammo2, (shop_window.numChildren - 1));
shop_window.shop_ammo2.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_AMMO2_DOWN");
EC.add(shop_window.shop_ammo2, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_ammo2, ammo2_price);
shop_window.shop_ammo2.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_AMMO2_UP");
EC.add(shop_window.shop_ammo3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_ammo3.currentLabel == "idle"){
shop_window.shop_ammo3.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_AMMO3_ROLLOVER");
EC.add(shop_window.shop_ammo3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_ammo3.currentLabel == "rollover"){
shop_window.shop_ammo3.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_AMMO3_IDLE");
EC.add(shop_window.shop_ammo3, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_ammo3.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_ammo3, (shop_window.numChildren - 1));
shop_window.shop_ammo3.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_AMMO3_DOWN");
EC.add(shop_window.shop_ammo3, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_ammo3, ammo3_price);
shop_window.shop_ammo3.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_AMMO3_UP");
EC.add(shop_window.shop_pistol1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_pistol1.currentLabel == "idle"){
shop_window.shop_pistol1.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_PISTOL1_ROLLOVER");
EC.add(shop_window.shop_pistol1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_pistol1.currentLabel == "rollover"){
shop_window.shop_pistol1.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_PISTOL1_IDLE");
EC.add(shop_window.shop_pistol1, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_pistol1.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_pistol1, (shop_window.numChildren - 1));
shop_window.shop_pistol1.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_PISTOL1_DOWN");
EC.add(shop_window.shop_pistol1, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_pistol1, pistol1_price);
shop_window.shop_pistol1.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_PISTOL1_UP");
EC.add(shop_window.shop_pistol2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_pistol2.currentLabel == "idle"){
shop_window.shop_pistol2.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_PISTOL2_ROLLOVER");
EC.add(shop_window.shop_pistol2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_pistol2.currentLabel == "rollover"){
shop_window.shop_pistol2.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_PISTOL2_IDLE");
EC.add(shop_window.shop_pistol2, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_pistol2.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_pistol2, (shop_window.numChildren - 1));
shop_window.shop_pistol2.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_PISTOL2_DOWN");
EC.add(shop_window.shop_pistol2, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_pistol2, pistol2_price);
shop_window.shop_pistol2.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_PISTOL2_UP");
EC.add(shop_window.shop_pistol3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_pistol3.currentLabel == "idle"){
shop_window.shop_pistol3.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_PISTOL3_ROLLOVER");
EC.add(shop_window.shop_pistol3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_pistol3.currentLabel == "rollover"){
shop_window.shop_pistol3.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_PISTOL3_IDLE");
EC.add(shop_window.shop_pistol3, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_pistol3.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_pistol3, (shop_window.numChildren - 1));
shop_window.shop_pistol3.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_PISTOL3_DOWN");
EC.add(shop_window.shop_pistol3, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_pistol3, pistol3_price);
shop_window.shop_pistol3.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_PISTOL3_UP");
EC.add(shop_window.shop_sniper1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_sniper1.currentLabel == "idle"){
shop_window.shop_sniper1.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_SNIPER1_ROLLOVER");
EC.add(shop_window.shop_sniper1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_sniper1.currentLabel == "rollover"){
shop_window.shop_sniper1.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_SNIPER1_IDLE");
EC.add(shop_window.shop_sniper1, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_sniper1.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_sniper1, (shop_window.numChildren - 1));
shop_window.shop_sniper1.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SNIPER1_DOWN");
EC.add(shop_window.shop_sniper1, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_sniper1, sniper1_price);
shop_window.shop_sniper1.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SNIPER1_UP");
EC.add(shop_window.shop_sniper2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_sniper2.currentLabel == "idle"){
shop_window.shop_sniper2.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_SNIPER2_ROLLOVER");
EC.add(shop_window.shop_sniper2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_sniper2.currentLabel == "rollover"){
shop_window.shop_sniper2.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_SNIPER2_IDLE");
EC.add(shop_window.shop_sniper2, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_sniper2.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_sniper2, (shop_window.numChildren - 1));
shop_window.shop_sniper2.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SNIPER2_DOWN");
EC.add(shop_window.shop_sniper2, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_sniper2, sniper2_price);
shop_window.shop_sniper2.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SNIPER2_UP");
EC.add(shop_window.shop_sniper3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_sniper3.currentLabel == "idle"){
shop_window.shop_sniper3.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_SNIPER3_ROLLOVER");
EC.add(shop_window.shop_sniper3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_sniper3.currentLabel == "rollover"){
shop_window.shop_sniper3.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_SNIPER3_IDLE");
EC.add(shop_window.shop_sniper3, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_sniper3.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_sniper3, (shop_window.numChildren - 1));
shop_window.shop_sniper3.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SNIPER3_DOWN");
EC.add(shop_window.shop_sniper3, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_sniper3, sniper3_price);
shop_window.shop_sniper3.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SNIPER3_UP");
EC.add(shop_window.shop_shotgun1, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_shotgun1.currentLabel == "idle"){
shop_window.shop_shotgun1.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_SHOTGUN1_ROLLOVER");
EC.add(shop_window.shop_shotgun1, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_shotgun1.currentLabel == "rollover"){
shop_window.shop_shotgun1.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_SHOTGUN1_IDLE");
EC.add(shop_window.shop_shotgun1, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_shotgun1.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_shotgun1, (shop_window.numChildren - 1));
shop_window.shop_shotgun1.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SHOTGUN1_DOWN");
EC.add(shop_window.shop_shotgun1, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_shotgun1, shotgun1_price);
shop_window.shop_shotgun1.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SHOTGUN1_UP");
EC.add(shop_window.shop_shotgun2, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_shotgun2.currentLabel == "idle"){
shop_window.shop_shotgun2.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_SHOTGUN2_ROLLOVER");
EC.add(shop_window.shop_shotgun2, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_shotgun2.currentLabel == "rollover"){
shop_window.shop_shotgun2.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_SHOTGUN2_IDLE");
EC.add(shop_window.shop_shotgun2, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_shotgun2.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_shotgun2, (shop_window.numChildren - 1));
shop_window.shop_shotgun2.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SHOTGUN2_DOWN");
EC.add(shop_window.shop_shotgun2, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_shotgun2, shotgun2_price);
shop_window.shop_shotgun2.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SHOTGUN2_UP");
EC.add(shop_window.shop_shotgun3, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (shop_window.shop_shotgun3.currentLabel == "idle"){
shop_window.shop_shotgun3.gotoAndPlay("rollover");
};
}, false, 0, true, "SHOP_SHOTGUN3_ROLLOVER");
EC.add(shop_window.shop_shotgun3, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (shop_window.shop_shotgun3.currentLabel == "rollover"){
shop_window.shop_shotgun3.gotoAndStop("idle");
};
}, false, 0, true, "SHOP_SHOTGUN3_IDLE");
EC.add(shop_window.shop_shotgun3, MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent){
if (shop_window.shop_shotgun3.currentLabel == "rollover"){
shop_window.setChildIndex(shop_window.shop_shotgun3, (shop_window.numChildren - 1));
shop_window.shop_shotgun3.startDrag();
shop_text.gotoAndPlay("Buy");
chatTimer.stop();
mouseDownOnItem();
};
stageRef.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SHOTGUN3_DOWN");
EC.add(shop_window.shop_shotgun3, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
testDropArea(shop_window.shop_shotgun3, shotgun3_price);
shop_window.shop_shotgun3.stopDrag();
stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}, false, 0, true, "SHOP_SHOTGUN3_UP");
btn_GGshop.gotoAndStop("idle");
if (!Web.mochiCoinDisabled){
EC.add(btn_GGshop, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
MochiUtils.showStore();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
}, false, 0, true, "GAMERSHOP_CLICK");
EC.add(btn_GGshop, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_GGshop.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "GAMERSHOP_ROLLOVER");
EC.add(btn_GGshop, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_GGshop.gotoAndStop("idle");
}, false, 0, true, "GAMERSHOP_IDLE");
};
}
public function removeShopButtons():void{
EC.remove(chatTimer);
EC.remove("BACK_BUTTON_CLICK");
EC.remove("BACK_BUTTON_ROLLOVER");
EC.remove("BACK_BUTTON_IDLE");
EC.remove("UPDATE MONEY");
EC.remove("GAMERSHOP_CLICK");
EC.remove("GAMERSHOP_ROLLOVER");
EC.remove("GAMERSHOP_IDLE");
EC.remove("SHOP_HP1_ROLLOVER");
EC.remove("SHOP_HP1_IDLE");
EC.remove("SHOP_HP1_DOWN");
EC.remove("SHOP_HP2_ROLLOVER");
EC.remove("SHOP_HP2_IDLE");
EC.remove("SHOP_HP2_DOWN");
EC.remove("SHOP_HP3_ROLLOVER");
EC.remove("SHOP_HP3_IDLE");
EC.remove("SHOP_HP3_DOWN");
EC.remove("SHOP_AMMO1_ROLLOVER");
EC.remove("SHOP_AMMO1_IDLE");
EC.remove("SHOP_AMMO1_DOWN");
EC.remove("SHOP_AMMO2_ROLLOVER");
EC.remove("SHOP_AMMO2_IDLE");
EC.remove("SHOP_AMMO2_DOWN");
EC.remove("SHOP_AMMO3_ROLLOVER");
EC.remove("SHOP_AMMO3_IDLE");
EC.remove("SHOP_AMMO3_DOWN");
EC.remove("SHOP_PISTOL1_ROLLOVER");
EC.remove("SHOP_PISTOL1_IDLE");
EC.remove("SHOP_PISTOL1_DOWN");
EC.remove("SHOP_PISTOL2_ROLLOVER");
EC.remove("SHOP_PISTOL2_IDLE");
EC.remove("SHOP_PISTOL2_DOWN");
EC.remove("SHOP_PISTOL3_ROLLOVER");
EC.remove("SHOP_PISTOL3_IDLE");
EC.remove("SHOP_PISTOL3_DOWN");
EC.remove("SHOP_SNIPER1_ROLLOVER");
EC.remove("SHOP_SNIPER1_IDLE");
EC.remove("SHOP_SNIPER1_DOWN");
EC.remove("SHOP_SNIPER2_ROLLOVER");
EC.remove("SHOP_SNIPER2_IDLE");
EC.remove("SHOP_SNIPER2_DOWN");
EC.remove("SHOP_SNIPER3_ROLLOVER");
EC.remove("SHOP_SNIPER3_IDLE");
EC.remove("SHOP_SNIPER3_DOWN");
EC.remove("SHOP_SHOTGUN1_ROLLOVER");
EC.remove("SHOP_SHOTGUN1_IDLE");
EC.remove("SHOP_SHOTGUN1_DOWN");
EC.remove("SHOP_SHOTGUN2_ROLLOVER");
EC.remove("SHOP_SHOTGUN2_IDLE");
EC.remove("SHOP_SHOTGUN2_DOWN");
EC.remove("SHOP_SHOTGUN3_ROLLOVER");
EC.remove("SHOP_SHOTGUN3_IDLE");
EC.remove("SHOP_SHOTGUN3_DOWN");
EC.remove("loop");
}
function initItemPosition():void{
shop_window.shop_HP1.x = 13;
shop_window.shop_HP1.y = -38;
shop_window.shop_HP2.x = 92;
shop_window.shop_HP2.y = -38;
shop_window.shop_HP3.x = 171;
shop_window.shop_HP3.y = -38;
shop_window.shop_ammo1.x = 13;
shop_window.shop_ammo1.y = 42;
shop_window.shop_ammo2.x = 102;
shop_window.shop_ammo2.y = 42;
shop_window.shop_ammo3.x = 191;
shop_window.shop_ammo3.y = 42;
shop_window.shop_pistol1.x = 13;
shop_window.shop_pistol1.y = 122;
shop_window.shop_pistol2.x = 148;
shop_window.shop_pistol2.y = 122;
shop_window.shop_pistol3.x = 283;
shop_window.shop_pistol3.y = 122;
shop_window.shop_sniper1.x = 13;
shop_window.shop_sniper1.y = 181;
shop_window.shop_sniper2.x = 148;
shop_window.shop_sniper2.y = 181;
shop_window.shop_sniper3.x = 283;
shop_window.shop_sniper3.y = 181;
shop_window.shop_shotgun1.x = 13;
shop_window.shop_shotgun1.y = 241;
shop_window.shop_shotgun2.x = 148;
shop_window.shop_shotgun2.y = 241;
shop_window.shop_shotgun3.x = 283;
shop_window.shop_shotgun3.y = 241;
}
public function updateMembership():void{
switch (S.membershipLevel){
case 0:
S.shopDiscount = 1;
shopDiscount = S.shopDiscount;
break;
case 1:
S.shopDiscount = 0.95;
shopDiscount = S.shopDiscount;
break;
case 2:
S.shopDiscount = 0.9;
shopDiscount = S.shopDiscount;
break;
case 3:
S.shopDiscount = 0.8;
shopDiscount = S.shopDiscount;
break;
case 4:
S.shopDiscount = 0.7;
shopDiscount = S.shopDiscount;
break;
};
initItemPrice();
}
public function initItemPrice():void{
HP1_price = (3000 * shopDiscount);
if ((((shop_window.shop_HP1.currentLabel == "idle")) || ((shop_window.shop_HP1.currentLabel == "rollover")))){
shop_window.shop_HP1.price.text = ("$" + HP1_price);
};
HP2_price = (6000 * shopDiscount);
if ((((shop_window.shop_HP2.currentLabel == "idle")) || ((shop_window.shop_HP2.currentLabel == "rollover")))){
shop_window.shop_HP2.price.text = ("$" + HP2_price);
};
HP3_price = (12000 * shopDiscount);
if ((((shop_window.shop_HP3.currentLabel == "idle")) || ((shop_window.shop_HP3.currentLabel == "rollover")))){
shop_window.shop_HP3.price.text = ("$" + HP3_price);
};
ammo1_price = (2000 * shopDiscount);
if ((((shop_window.shop_ammo1.currentLabel == "idle")) || ((shop_window.shop_ammo1.currentLabel == "rollover")))){
shop_window.shop_ammo1.price.text = ("$" + ammo1_price);
};
ammo2_price = (4000 * shopDiscount);
if ((((shop_window.shop_ammo2.currentLabel == "idle")) || ((shop_window.shop_ammo2.currentLabel == "rollover")))){
shop_window.shop_ammo2.price.text = ("$" + ammo2_price);
};
ammo3_price = (8000 * shopDiscount);
if ((((shop_window.shop_ammo3.currentLabel == "idle")) || ((shop_window.shop_ammo3.currentLabel == "rollover")))){
shop_window.shop_ammo3.price.text = ("$" + ammo3_price);
};
pistol1_price = (2000 * shopDiscount);
if ((((shop_window.shop_pistol1.currentLabel == "idle")) || ((shop_window.shop_pistol1.currentLabel == "rollover")))){
shop_window.shop_pistol1.price.text = ("$" + pistol1_price);
};
pistol2_price = (5000 * shopDiscount);
if ((((shop_window.shop_pistol2.currentLabel == "idle")) || ((shop_window.shop_pistol2.currentLabel == "rollover")))){
shop_window.shop_pistol2.price.text = ("$" + pistol2_price);
};
pistol3_price = (10000 * shopDiscount);
if ((((shop_window.shop_pistol3.currentLabel == "idle")) || ((shop_window.shop_pistol3.currentLabel == "rollover")))){
shop_window.shop_pistol3.price.text = ("$" + pistol3_price);
};
sniper1_price = (2000 * shopDiscount);
if ((((shop_window.shop_sniper1.currentLabel == "idle")) || ((shop_window.shop_sniper1.currentLabel == "rollover")))){
shop_window.shop_sniper1.price.text = ("$" + sniper1_price);
};
sniper2_price = (5000 * shopDiscount);
if ((((shop_window.shop_sniper2.currentLabel == "idle")) || ((shop_window.shop_sniper2.currentLabel == "rollover")))){
shop_window.shop_sniper2.price.text = ("$" + sniper2_price);
};
sniper3_price = (10000 * shopDiscount);
if ((((shop_window.shop_sniper3.currentLabel == "idle")) || ((shop_window.shop_sniper3.currentLabel == "rollover")))){
shop_window.shop_sniper3.price.text = ("$" + sniper3_price);
};
shotgun1_price = (2000 * shopDiscount);
if ((((shop_window.shop_shotgun1.currentLabel == "idle")) || ((shop_window.shop_shotgun1.currentLabel == "rollover")))){
shop_window.shop_shotgun1.price.text = ("$" + shotgun1_price);
};
shotgun2_price = (5000 * shopDiscount);
if ((((shop_window.shop_shotgun2.currentLabel == "idle")) || ((shop_window.shop_shotgun2.currentLabel == "rollover")))){
shop_window.shop_shotgun2.price.text = ("$" + shotgun2_price);
};
shotgun3_price = (10000 * shopDiscount);
if ((((shop_window.shop_shotgun3.currentLabel == "idle")) || ((shop_window.shop_shotgun3.currentLabel == "rollover")))){
shop_window.shop_shotgun3.price.text = ("$" + shotgun3_price);
};
}
function mouseMoveHandler(_arg1:MouseEvent):void{
_arg1.updateAfterEvent();
}
function testDropArea(_arg1:MovieClip, _arg2:int):void{
var _local3:Boolean;
if (((_arg1.hitTestObject(shop_keeper.droparea)) && (rootRef.ourPlayer))){
_local3 = true;
switch (_arg1){
case shop_window.shop_pistol1:
if ((((((rootRef.ourPlayer.gunArray[0] is MachineGun)) || ((rootRef.ourPlayer.gunArray[0] is HeavyMachineGun)))) || ((rootRef.ourPlayer.gunArray[0] is MachineGun2)))){
_local3 = false;
};
break;
case shop_window.shop_pistol2:
if ((((rootRef.ourPlayer.gunArray[0] is HeavyMachineGun)) || ((rootRef.ourPlayer.gunArray[0] is MachineGun2)))){
_local3 = false;
};
break;
case shop_window.shop_pistol3:
if ((rootRef.ourPlayer.gunArray[0] is HeavyMachineGun)){
_local3 = false;
};
break;
case shop_window.shop_shotgun1:
if ((((((rootRef.ourPlayer.gunArray[0] is ShotGun)) || ((rootRef.ourPlayer.gunArray[0] is ShotGun2)))) || ((rootRef.ourPlayer.gunArray[0] is Rocket)))){
_local3 = false;
};
break;
case shop_window.shop_shotgun2:
if ((((rootRef.ourPlayer.gunArray[0] is ShotGun2)) || ((rootRef.ourPlayer.gunArray[0] is Rocket)))){
_local3 = false;
};
break;
case shop_window.shop_shotgun3:
if ((rootRef.ourPlayer.gunArray[0] is Rocket)){
_local3 = false;
};
break;
case shop_window.shop_sniper1:
if ((((((rootRef.ourPlayer.gunArray[0] is ArmorPiercing)) || ((rootRef.ourPlayer.gunArray[0] is ArmorPiercing2)))) || ((rootRef.ourPlayer.gunArray[0] is Laser)))){
_local3 = false;
};
break;
case shop_window.shop_sniper2:
if ((((rootRef.ourPlayer.gunArray[0] is ArmorPiercing2)) || ((rootRef.ourPlayer.gunArray[0] is Laser)))){
_local3 = false;
};
break;
case shop_window.shop_sniper3:
if ((rootRef.ourPlayer.gunArray[0] is Laser)){
_local3 = false;
};
break;
case shop_window.shop_HP1:
if (S.playerHP == S.playerMaxHP){
_local3 = false;
};
break;
case shop_window.shop_HP2:
if (S.playerHP == S.playerMaxHP){
_local3 = false;
};
break;
case shop_window.shop_HP3:
if (S.playerHP == S.playerMaxHP){
_local3 = false;
};
break;
case shop_window.shop_ammo1:
if ((((((((rootRef.ourPlayer.gunArray[0] is MachineGun)) && ((S.charSelected == C.ANT)))) || ((((rootRef.ourPlayer.gunArray[0] is ShotGun)) && ((S.charSelected == C.JON)))))) || ((rootRef.ourPlayer.gunArray[0].magazine >= 9)))){
_local3 = false;
};
case shop_window.shop_ammo2:
if ((((((((rootRef.ourPlayer.gunArray[0] is MachineGun)) && ((S.charSelected == C.ANT)))) || ((((rootRef.ourPlayer.gunArray[0] is ShotGun)) && ((S.charSelected == C.JON)))))) || ((rootRef.ourPlayer.gunArray[0].magazine >= 9)))){
_local3 = false;
};
case shop_window.shop_ammo3:
if ((((((((rootRef.ourPlayer.gunArray[0] is MachineGun)) && ((S.charSelected == C.ANT)))) || ((((rootRef.ourPlayer.gunArray[0] is ShotGun)) && ((S.charSelected == C.JON)))))) || ((rootRef.ourPlayer.gunArray[0].magazine >= 9)))){
_local3 = false;
};
};
if (_local3){
if (S.money >= _arg2){
moneyspenttxt.spentcounter.minusmoneytxt.text = ("-$" + String(_arg2));
shop_text.gotoAndPlay("Thank");
SoundManager.instance.playSound(Sounds.SHOP_HELLO);
S.money = (S.money - _arg2);
S.totalmoneyspent = (S.totalmoneyspent + _arg2);
moneyspenttxt.play();
SoundManager.instance.playSound(Sounds.SHOP_BUY);
rootRef.updateMoneyForVictory();
chatTimer.start();
_arg1.gotoAndStop("soldout");
switch (_arg1){
case shop_window.shop_HP1:
S.healPlayer(15);
S.shophealthBought = (S.shophealthBought + 1);
break;
case shop_window.shop_HP2:
S.healPlayer(30);
S.shophealthBought = (S.shophealthBought + 1);
break;
case shop_window.shop_HP3:
S.healPlayer(40);
S.shophealthBought = (S.shophealthBought + 1);
break;
case shop_window.shop_ammo1:
rootRef.ourPlayer.increaseMag(1);
S.shopammoBought = (S.shopammoBought + 1);
break;
case shop_window.shop_ammo2:
rootRef.ourPlayer.increaseMag(2);
S.shopammoBought = (S.shopammoBought + 1);
break;
case shop_window.shop_ammo3:
rootRef.ourPlayer.increaseMag(3);
S.shopammoBought = (S.shopammoBought + 1);
break;
case shop_window.shop_pistol1:
rootRef.ourPlayer.newWeaponCombo(MachineGun, true);
break;
case shop_window.shop_pistol2:
rootRef.ourPlayer.newWeaponCombo(MachineGun2, true);
break;
case shop_window.shop_pistol3:
rootRef.ourPlayer.newWeaponCombo(HeavyMachineGun, true);
break;
case shop_window.shop_shotgun1:
rootRef.ourPlayer.newWeaponCombo(ShotGun, true);
break;
case shop_window.shop_shotgun2:
rootRef.ourPlayer.newWeaponCombo(ShotGun2, true);
break;
case shop_window.shop_shotgun3:
rootRef.ourPlayer.newWeaponCombo(Rocket, true);
break;
case shop_window.shop_sniper1:
rootRef.ourPlayer.newWeaponCombo(ArmorPiercing, true);
break;
case shop_window.shop_sniper2:
rootRef.ourPlayer.newWeaponCombo(ArmorPiercing2, true);
break;
case shop_window.shop_sniper3:
rootRef.ourPlayer.newWeaponCombo(Laser, true);
break;
};
} else {
shop_text.gotoAndPlay("expensive");
SoundManager.instance.playSound(Sounds.SHOP_BAD);
chatTimer.start();
rootRef.updateMoneyForAll();
};
} else {
shop_text.gotoAndPlay("unnecessary");
SoundManager.instance.playSound(Sounds.SHOP_BAD2);
chatTimer.start();
};
} else {
shop_text.gotoAndPlay("Idle");
};
initItemPosition();
resetChildIndex();
cursor.handCursorUp();
}
private function mouseDownOnItem():void{
cursor.handCursorDown();
}
private function chatTimerHandler(_arg1:TimerEvent=null):void{
shop_text.gotoAndPlay("Idle");
SoundManager.instance.playSound(Sounds.SHOP_GOOD2);
chatTime = 0;
}
private function healHP(_arg1:int):void{
rootRef.ourPlayer.hitpoint = (rootRef.ourPlayer.hitpoint + _arg1);
rootRef.scoreHUD.setLives(rootRef.ourPlayer.hitpoint);
}
public function unlockShopLevel0():void{
shop_window.shop_HP1.gotoAndStop("idle");
shop_window.shop_ammo1.gotoAndStop("idle");
shop_window.shop_pistol1.gotoAndStop("idle");
shop_window.shop_shotgun1.gotoAndStop("idle");
shop_window.shop_sniper1.gotoAndStop("idle");
}
public function unlockShopLevel1():void{
shop_window.shop_HP2.gotoAndStop("idle");
shop_window.shop_ammo2.gotoAndStop("idle");
shop_window.shop_pistol2.gotoAndStop("idle");
shop_window.shop_shotgun2.gotoAndStop("idle");
shop_window.shop_sniper2.gotoAndStop("idle");
}
public function unlockShopLevel2():void{
shop_window.shop_HP3.gotoAndStop("idle");
shop_window.shop_ammo3.gotoAndStop("idle");
shop_window.shop_pistol3.gotoAndStop("idle");
shop_window.shop_shotgun3.gotoAndStop("idle");
}
public function lockShop():void{
shop_window.shop_HP2.gotoAndStop("locked");
shop_window.shop_HP3.gotoAndStop("locked");
shop_window.shop_ammo2.gotoAndStop("locked");
shop_window.shop_ammo3.gotoAndStop("locked");
shop_window.shop_pistol2.gotoAndStop("locked");
shop_window.shop_pistol3.gotoAndStop("locked");
shop_window.shop_shotgun2.gotoAndStop("locked");
shop_window.shop_shotgun3.gotoAndStop("locked");
shop_window.shop_sniper2.gotoAndStop("locked");
shop_window.shop_sniper3.gotoAndStop("locked");
}
public function unlockHealthLevel1():void{
shop_window.shop_HP2.gotoAndStop("idle");
}
public function unlockHealthLevel2():void{
shop_window.shop_HP3.gotoAndStop("idle");
}
public function unlockAmmoLevel1():void{
shop_window.shop_ammo2.gotoAndStop("idle");
}
public function unlockAmmoLevel2():void{
shop_window.shop_ammo3.gotoAndStop("idle");
}
public function unlockMGunLevel1():void{
shop_window.shop_pistol2.gotoAndStop("idle");
}
public function unlockMGunLevel2():void{
shop_window.shop_pistol3.gotoAndStop("idle");
}
public function unlockSGunLevel1():void{
shop_window.shop_shotgun2.gotoAndStop("idle");
}
public function unlockSGunLevel2():void{
shop_window.shop_shotgun3.gotoAndStop("idle");
}
public function unlockAGunLevel1():void{
shop_window.shop_sniper2.gotoAndStop("idle");
}
public function unlockAGunLevel2():void{
shop_window.shop_sniper3.gotoAndStop("idle");
}
private function resetChildIndex():void{
shop_window.setChildIndex(shop_window.shop_HP1, (shop_window.numChildren - 15));
shop_window.setChildIndex(shop_window.shop_HP2, (shop_window.numChildren - 14));
shop_window.setChildIndex(shop_window.shop_HP3, (shop_window.numChildren - 13));
shop_window.setChildIndex(shop_window.shop_ammo1, (shop_window.numChildren - 12));
shop_window.setChildIndex(shop_window.shop_ammo2, (shop_window.numChildren - 11));
shop_window.setChildIndex(shop_window.shop_ammo3, (shop_window.numChildren - 10));
shop_window.setChildIndex(shop_window.shop_pistol1, (shop_window.numChildren - 9));
shop_window.setChildIndex(shop_window.shop_pistol2, (shop_window.numChildren - 8));
shop_window.setChildIndex(shop_window.shop_pistol3, (shop_window.numChildren - 7));
shop_window.setChildIndex(shop_window.shop_sniper1, (shop_window.numChildren - 6));
shop_window.setChildIndex(shop_window.shop_sniper2, (shop_window.numChildren - 5));
shop_window.setChildIndex(shop_window.shop_sniper3, (shop_window.numChildren - 4));
shop_window.setChildIndex(shop_window.shop_shotgun1, (shop_window.numChildren - 3));
shop_window.setChildIndex(shop_window.shop_shotgun2, (shop_window.numChildren - 2));
shop_window.setChildIndex(shop_window.shop_shotgun3, (shop_window.numChildren - 1));
}
public function reinitShop():void{
if (S.shophealthLevel >= 1){
unlockHealthLevel1();
};
if (S.shophealthLevel >= 2){
unlockHealthLevel2();
};
if (S.shopammoLevel >= 1){
unlockAmmoLevel1();
};
if (S.shopammoLevel >= 2){
unlockAmmoLevel2();
};
if (S.mgun1killsLevel == 1){
unlockMGunLevel1();
};
if (S.sgun1killsLevel == 1){
unlockSGunLevel1();
};
if (S.agun1killsLevel == 1){
unlockAGunLevel1();
};
if (S.mgun2killsLevel == 1){
unlockMGunLevel2();
};
if (S.sgun2killsLevel == 1){
unlockSGunLevel2();
};
if (S.agun2killsLevel == 1){
unlockAGunLevel2();
};
}
function frame10(){
stop();
}
}
}//package
Section 601
//shop_bad (shop_bad)
package {
import flash.media.*;
public dynamic class shop_bad extends Sound {
}
}//package
Section 602
//shop_bad2 (shop_bad2)
package {
import flash.media.*;
public dynamic class shop_bad2 extends Sound {
}
}//package
Section 603
//shop_buy (shop_buy)
package {
import flash.media.*;
public dynamic class shop_buy extends Sound {
}
}//package
Section 604
//shop_good2 (shop_good2)
package {
import flash.media.*;
public dynamic class shop_good2 extends Sound {
}
}//package
Section 605
//shop_hello (shop_hello)
package {
import flash.media.*;
public dynamic class shop_hello extends Sound {
}
}//package
Section 606
//shop_walk (shop_walk)
package {
import flash.media.*;
public dynamic class shop_walk extends Sound {
}
}//package
Section 607
//silmGirl (silmGirl)
package {
import flash.display.*;
public dynamic class silmGirl extends MovieClip {
}
}//package
Section 608
//sitelock (sitelock)
package {
import flash.text.*;
import flash.display.*;
public dynamic class sitelock extends MovieClip {
public var textbox:TextField;
}
}//package
Section 609
//smallLightPH (smallLightPH)
package {
import flash.display.*;
public dynamic class smallLightPH extends MovieClip {
}
}//package
Section 610
//SMario_walk (SMario_walk)
package {
import flash.display.*;
public dynamic class SMario_walk extends BitmapData {
public function SMario_walk(_arg1:int=0x0200, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 611
//Sounds (Sounds)
package {
import com.cheezeworld.utils.*;
public class Sounds {
public static const BGM1_1:String = "bgm1_1";
public static const BGM1_2:String = "bgm1_2";
public static const BGM1_3:String = "bgm1_3";
public static const BGM1:Array = new Array(BGM1_1, BGM1_2, BGM1_3);
public static const BGM2_1:String = "bgm2_1";
public static const BGM2_2:String = "bgm2_2";
public static const BGM2_3:String = "bgm2_3";
public static const BGM2:Array = new Array(BGM2_1, BGM2_2, BGM2_3);
public static const BGM3_1:String = "bgm3_1";
public static const BGM3_2:String = "bgm3_2";
public static const BGM3_3:String = "bgm3_3";
public static const BGM3:Array = new Array(BGM3_1, BGM3_2, BGM3_3);
public static const BGM4_1:String = "bgm3_3";
public static const BGM4_2:String = "bgm3_3";
public static const BGM4_3:String = "bgm3_3";
public static const BGM4:Array = new Array(BGM4_1, BGM4_2, BGM4_3);
public static const BGM_BOSS:String = "bgm_boss";
public static const BGM_GAMEOVER:String = "bgm_gameover";
public static const BGM_STAGECLEAR:String = "bgm_stageclear";
public static const BGM_MENU:String = "bgm_menu";
public static const PROGBOOKDROP:String = "prog_book_drop";
public static const PROGPAGEFLIP:String = "prog_pageflip";
public static const ACHIEVEMENTUNLOCK:String = "GUI_achievementunlock";
public static const ACHIEVEMENTUNLOCK1:String = "GUI_achievementunlock1";
public static const ACHIEVEMENTUNLOCK2:String = "GUI_achievementunlock2";
public static const ACHIEVEMENTUNLOCK3:String = "GUI_achievementunlock3";
public static const BACKBUTTON:String = "backbutton";
public static const YESBUTTON:String = "yesbutton";
public static const YESBUTTON2:String = "yesbutton2";
public static const HIGHLIGHTBUTTON:String = "highlightbutton";
public static const GUN_RELOAD:String = "gun_reload";
public static const GUN_MGUN:String = "gun_mgun";
public static const GUN_SGUN:String = "gun_sgun";
public static const GUN_ROCKET:String = "gun_rocket";
public static const GUN_AGUN:String = "gun_snipe";
public static const GUN_LASER:String = "gun_laser";
public static const GUN_MGUN_SUR:String = "gun_mgun_sur";
public static const GUN_SGUN_SUR:String = "gun_sgun_sur";
public static const GUN_AGUN_SUR:String = "gun_snipe_sur";
public static const OBJ_BREAK:String = "obj_break";
public static const OBJ_METAL:String = "obj_metal";
public static const OBJ_WOOD:String = "obj_wood";
public static const OBJ_EXPLODE:String = "obj_explode";
public static const OBJ_SEARCH:String = "obj_search2";
public static const PLAYER_MELEE:String = "player_melee";
public static const SHOP_BAD:String = "shop_bad";
public static const SHOP_BAD2:String = "shop_bad2";
public static const SHOP_BUY:String = "shop_buy";
public static const SHOP_GOOD2:String = "shop_good2";
public static const SHOP_HELLO:String = "shop_hello";
public static const SHOP_WALK:String = "shop_walk";
public static const SUR_WOMAN:String = "sur_woman";
public static const SUR_MAN:String = "sur_man";
public static const SUR_OLD:String = "sur_old";
public static const SUR_CHILD:String = "sur_child";
public static const COIN_COLLECT:String = "coin_collect";
public static const ENEMY_DEATH:String = "enemy_death";
public static const ENEMY_RUN:String = "enemy_run";
public static const ENEMY_ROAR:String = "enemy_roar";
public static const ENEMY_SCREAM:String = "enemy_scream";
public static const ENEMY_LAUGH:String = "enemy_laugh";
public static const BOSS_DEATH:String = "boss_death";
public static const VO_LETSGO:String = "vo_letsgo";
public static const VO_KICK:String = "vo_kick";
public static const VO_GRUNT:String = "vo_grunt";
public static const VO_WHOOPSIE:String = "vo_whoopsie";
public static const VO_HEALTH:String = "vo_health";
public static const VO_MOREHEALTH:String = "vo_morehealth";
public static const VO_CASH:String = "vo_cash";
public static const VO_MORECASH:String = "vo_morecash";
public static const VO_AMMO:String = "vo_ammo";
public static const VO_MOREAMMO:String = "vo_moreammo";
public static const VO_EMPTY:String = "vo_empty";
public static const VO_MGUN1:String = "vo_mgun1";
public static const VO_MGUN2:String = "vo_mgun2";
public static const VO_HMGUN:String = "vo_hmgun";
public static const VO_AGUN1:String = "vo_agun1";
public static const VO_AGUN2:String = "vo_agun2";
public static const VO_LASER:String = "vo_laser";
public static const VO_SGUN1:String = "vo_sgun1";
public static const VO_SGUN2:String = "vo_sgun2";
public static const VO_ROCKET:String = "vo_rocket";
public static const VO_LETSGO_ANT:String = "vo_letsgo_ant";
public static const VO_KICK_ANT:String = "vo_kick_ant";
public static const VO_GRUNT_ANT:String = "vo_grunt_ant";
public static const VO_HEALTH_ANT:String = "vo_health_ant";
public static const VO_MOREHEALTH_ANT:String = "vo_morehealth_ant";
public static const VO_CASH_ANT:String = "vo_cash_ant";
public static const VO_MORECASH_ANT:String = "vo_morecash_ant";
public static const VO_AMMO_ANT:String = "vo_ammo_ant";
public static const VO_MOREAMMO_ANT:String = "vo_moreammo_ant";
public static const VO_EMPTY_ANT:String = "vo_empty_ant";
public static const VO_MGUN1_ANT:String = "vo_mgun1_ant";
public static const VO_MGUN2_ANT:String = "vo_mgun2_ant";
public static const VO_HMGUN_ANT:String = "vo_hmgun_ant";
public static const VO_AGUN1_ANT:String = "vo_agun1_ant";
public static const VO_AGUN2_ANT:String = "vo_agun2_ant";
public static const VO_LASER_ANT:String = "vo_laser_ant";
public static const VO_SGUN1_ANT:String = "vo_sgun1_ant";
public static const VO_SGUN2_ANT:String = "vo_sgun2_ant";
public static const VO_ROCKET_ANT:String = "vo_rocket_ant";
public static const VO_MENU:String = "vo_menu";
public static const VO_DAMAGE_WOMAN:String = "vo_damage_woman";
public static const VO_DAMAGE_MAN:String = "vo_damage_man";
public static const VO_DAMAGE_OLD:String = "vo_damage_old";
public static const VO_DAMAGE_CHILD:String = "vo_damage_child";
public static var soundInitialized:Boolean = false;
public static function registerSounds():void{
if (!soundInitialized){
SoundManager.instance.registerSound(new bgm1_1(), BGM1_1);
SoundManager.instance.registerSound(new bgm1_2(), BGM1_2);
SoundManager.instance.registerSound(new bgm1_3(), BGM1_3);
SoundManager.instance.registerSound(new bgm2_1(), BGM2_1);
SoundManager.instance.registerSound(new bgm2_2(), BGM2_2);
SoundManager.instance.registerSound(new bgm2_3(), BGM2_3);
SoundManager.instance.registerSound(new bgm3_1(), BGM3_1);
SoundManager.instance.registerSound(new bgm3_2(), BGM3_2);
SoundManager.instance.registerSound(new bgm3_3(), BGM3_3);
SoundManager.instance.registerSound(new bgm3_3(), BGM4_1);
SoundManager.instance.registerSound(new bgm3_3(), BGM4_2);
SoundManager.instance.registerSound(new bgm3_3(), BGM4_3);
SoundManager.instance.registerSound(new bgm_boss(), BGM_BOSS);
SoundManager.instance.registerSound(new bgm_gameover(), BGM_GAMEOVER);
SoundManager.instance.registerSound(new bgm_stageclear(), BGM_STAGECLEAR);
SoundManager.instance.registerSound(new bgm_menu(), BGM_MENU);
SoundManager.instance.registerSound(new prog_book_drop(), PROGBOOKDROP);
SoundManager.instance.registerSound(new prog_pageflip(), PROGPAGEFLIP);
SoundManager.instance.registerSound(new GUI_achievementunlock1(), ACHIEVEMENTUNLOCK1);
SoundManager.instance.registerSound(new GUI_achievementunlock2(), ACHIEVEMENTUNLOCK2);
SoundManager.instance.registerSound(new GUI_achievementunlock3(), ACHIEVEMENTUNLOCK3);
SoundManager.instance.registerSound(new backbutton(), BACKBUTTON);
SoundManager.instance.registerSound(new yesbutton(), YESBUTTON);
SoundManager.instance.registerSound(new yesbutton2(), YESBUTTON2);
SoundManager.instance.registerSound(new highlightbutton(), HIGHLIGHTBUTTON);
SoundManager.instance.registerSound(new gun_reload(), GUN_RELOAD);
SoundManager.instance.registerSound(new gun_mgun(), GUN_MGUN);
SoundManager.instance.registerSound(new gun_sgun(), GUN_SGUN);
SoundManager.instance.registerSound(new gun_rocket(), GUN_ROCKET);
SoundManager.instance.registerSound(new gun_snipe(), GUN_AGUN);
SoundManager.instance.registerSound(new gun_laser(), GUN_LASER);
SoundManager.instance.registerSound(new gun_mgun(), GUN_MGUN_SUR);
SoundManager.instance.registerSound(new obj_break(), OBJ_BREAK);
SoundManager.instance.registerSound(new obj_metal(), OBJ_METAL);
SoundManager.instance.registerSound(new obj_wood(), OBJ_WOOD);
SoundManager.instance.registerSound(new obj_explode(), OBJ_EXPLODE);
SoundManager.instance.registerSound(new obj_search2(), OBJ_SEARCH);
SoundManager.instance.registerSound(new player_melee(), PLAYER_MELEE);
SoundManager.instance.registerSound(new shop_bad(), SHOP_BAD);
SoundManager.instance.registerSound(new shop_bad2(), SHOP_BAD2);
SoundManager.instance.registerSound(new shop_buy(), SHOP_BUY);
SoundManager.instance.registerSound(new shop_good2(), SHOP_GOOD2);
SoundManager.instance.registerSound(new shop_hello(), SHOP_HELLO);
SoundManager.instance.registerSound(new shop_walk(), SHOP_WALK);
SoundManager.instance.registerSound(new sur_woman(), SUR_WOMAN);
SoundManager.instance.registerSound(new sur_man(), SUR_MAN);
SoundManager.instance.registerSound(new sur_old(), SUR_OLD);
SoundManager.instance.registerSound(new sur_child(), SUR_CHILD);
SoundManager.instance.registerSound(new coin_collect(), COIN_COLLECT);
SoundManager.instance.registerSound(new enemy_death(), ENEMY_DEATH);
SoundManager.instance.registerSound(new enemy_run(), ENEMY_RUN);
SoundManager.instance.registerSound(new enemy_roar(), ENEMY_ROAR);
SoundManager.instance.registerSound(new enemy_scream(), ENEMY_SCREAM);
SoundManager.instance.registerSound(new enemy_laugh(), ENEMY_LAUGH);
SoundManager.instance.registerSound(new boss_death(), BOSS_DEATH);
SoundManager.instance.registerSound(new vo_letsgo(), VO_LETSGO);
SoundManager.instance.registerSound(new vo_kick(), VO_KICK);
SoundManager.instance.registerSound(new vo_grunt(), VO_GRUNT);
SoundManager.instance.registerSound(new vo_whoopsie(), VO_WHOOPSIE);
SoundManager.instance.registerSound(new vo_health(), VO_HEALTH);
SoundManager.instance.registerSound(new vo_morehealth(), VO_MOREHEALTH);
SoundManager.instance.registerSound(new vo_cash(), VO_CASH);
SoundManager.instance.registerSound(new vo_morecash(), VO_MORECASH);
SoundManager.instance.registerSound(new vo_ammo(), VO_AMMO);
SoundManager.instance.registerSound(new vo_moreammo(), VO_MOREAMMO);
SoundManager.instance.registerSound(new vo_empty(), VO_EMPTY);
SoundManager.instance.registerSound(new vo_mgun1(), VO_MGUN1);
SoundManager.instance.registerSound(new vo_mgun2(), VO_MGUN2);
SoundManager.instance.registerSound(new vo_hmgun(), VO_HMGUN);
SoundManager.instance.registerSound(new vo_agun1(), VO_AGUN1);
SoundManager.instance.registerSound(new vo_agun2(), VO_AGUN2);
SoundManager.instance.registerSound(new vo_laser(), VO_LASER);
SoundManager.instance.registerSound(new vo_sgun1(), VO_SGUN1);
SoundManager.instance.registerSound(new vo_sgun2(), VO_SGUN2);
SoundManager.instance.registerSound(new vo_rocket(), VO_ROCKET);
SoundManager.instance.registerSound(new vo_letsgo_ant(), VO_LETSGO_ANT);
SoundManager.instance.registerSound(new vo_kick_ant(), VO_KICK_ANT);
SoundManager.instance.registerSound(new vo_grunt_ant(), VO_GRUNT_ANT);
SoundManager.instance.registerSound(new vo_health_ant(), VO_HEALTH_ANT);
SoundManager.instance.registerSound(new vo_morehealth_ant(), VO_MOREHEALTH_ANT);
SoundManager.instance.registerSound(new vo_cash_ant(), VO_CASH_ANT);
SoundManager.instance.registerSound(new vo_morecash_ant(), VO_MORECASH_ANT);
SoundManager.instance.registerSound(new vo_ammo_ant(), VO_AMMO_ANT);
SoundManager.instance.registerSound(new vo_moreammo_ant(), VO_MOREAMMO_ANT);
SoundManager.instance.registerSound(new vo_empty_ant(), VO_EMPTY_ANT);
SoundManager.instance.registerSound(new vo_mgun1_ant(), VO_MGUN1_ANT);
SoundManager.instance.registerSound(new vo_mgun2_ant(), VO_MGUN2_ANT);
SoundManager.instance.registerSound(new vo_hmgun_ant(), VO_HMGUN_ANT);
SoundManager.instance.registerSound(new vo_agun1_ant(), VO_AGUN1_ANT);
SoundManager.instance.registerSound(new vo_agun2_ant(), VO_AGUN2_ANT);
SoundManager.instance.registerSound(new vo_laser_ant(), VO_LASER_ANT);
SoundManager.instance.registerSound(new vo_sgun1_ant(), VO_SGUN1_ANT);
SoundManager.instance.registerSound(new vo_sgun2_ant(), VO_SGUN2_ANT);
SoundManager.instance.registerSound(new vo_rocket_ant(), VO_ROCKET_ANT);
SoundManager.instance.registerSound(new vo_menu(), VO_MENU);
SoundManager.instance.registerSound(new vo_damage_woman(), VO_DAMAGE_WOMAN);
SoundManager.instance.registerSound(new vo_damage_man(), VO_DAMAGE_MAN);
SoundManager.instance.registerSound(new vo_damage_old(), VO_DAMAGE_OLD);
SoundManager.instance.registerSound(new vo_damage_child(), VO_DAMAGE_CHILD);
trace("Sounds register");
soundInitialized = true;
} else {
trace("Sounds already registered");
};
}
}
}//package
Section 612
//spawnPointMC (spawnPointMC)
package {
import flash.display.*;
public dynamic class spawnPointMC extends MovieClip {
}
}//package
Section 613
//Special_ant (Special_ant)
package {
import flash.display.*;
public dynamic class Special_ant extends MovieClip {
}
}//package
Section 614
//Special_jon (Special_jon)
package {
import flash.display.*;
public dynamic class Special_jon extends MovieClip {
public var special_drop:MovieClip;
}
}//package
Section 615
//SpriteSheet (SpriteSheet)
package {
import flash.display.*;
import flash.geom.*;
public class SpriteSheet extends Sprite {
private var tileSheetBitmapData:BitmapData;
private var canvasBitmapData:BitmapData;
private var tileWidth:int;
private var tileHeight:int;
private var rowLength:int;
private var tileRectangle:Rectangle;
private var tilePoint:Point;
public function SpriteSheet(_arg1:Bitmap, _arg2:Number=16, _arg3:Number=16, _arg4:Boolean=false){
var _local5:Bitmap;
var _local6:Sprite;
super();
tileSheetBitmapData = _arg1.bitmapData;
tileWidth = _arg2;
tileHeight = _arg3;
rowLength = int((_arg1.width / _arg2));
tileRectangle = new Rectangle(0, 0, tileWidth, tileHeight);
tilePoint = new Point(0, 0);
canvasBitmapData = new BitmapData(tileWidth, tileHeight, true);
_local5 = new Bitmap(canvasBitmapData);
if (_arg4){
_local6 = new Sprite();
_local5.x = (-(_arg2) / 2);
_local5.y = (-(_arg3) / 2);
_local6.addChild(_local5);
addChild(_local6);
} else {
addChild(_local5);
};
drawTile(0);
}
public function drawTile(_arg1:int):void{
tileRectangle.x = (int((_arg1 % rowLength)) * tileWidth);
tileRectangle.y = (int((_arg1 / rowLength)) * tileHeight);
canvasBitmapData.copyPixels(tileSheetBitmapData, tileRectangle, tilePoint);
}
public function drawTileColRow(_arg1:int, _arg2:int):void{
tileRectangle.x = (_arg1 * tileWidth);
tileRectangle.y = (_arg2 * tileHeight);
canvasBitmapData.copyPixels(tileSheetBitmapData, tileRectangle, tilePoint);
}
public function clear():void{
canvasBitmapData.fillRect(canvasBitmapData.rect, 0);
}
public function get TileWidth():int{
return (tileWidth);
}
}
}//package
Section 616
//SpriteSheetDirectionAnimation (SpriteSheetDirectionAnimation)
package {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import flash.utils.*;
import org.casalib.util.*;
public class SpriteSheetDirectionAnimation extends SpriteSheet {
public var frameNumber:int;// = 0
public var numFrames:int;// = 0
private var _animationFSM:int;// = 0
public var walkRow:Array;
public var walkNumFrames:int;
public var attackRow:Array;
public var attackStartFrame:int;
public var attackDmgFrame:int;
public var attackEndFrame:int;
public var lookIdleFrame:int;
public var eightDirection:Boolean;
protected var _direction:int;// = 0
public var attackPoint:Boolean;// = false
public var attackComplete:Boolean;// = false
public var animationTimer:Timer;
public function SpriteSheetDirectionAnimation(_arg1:Bitmap, _arg2:Number, _arg3:Number, _arg4:Boolean):void{
walkRow = new Array(8);
attackRow = new Array(8);
super(_arg1, _arg2, _arg3, true);
this.eightDirection = _arg4;
direction = C.DOWN;
animationTimer = new Timer((1000 / C.SPRITE_FPS), 0);
EC.add(animationTimer, TimerEvent.TIMER, animationTimerHandler, false, 0, true, "Sprite_Animation");
animationTimer.start();
}
public function get direction():int{
return (_direction);
}
public function set direction(_arg1:int):void{
if (_direction != _arg1){
_direction = _arg1;
frameNumber = 0;
if ((((((_direction == C.RIGHT)) || ((_direction == C.UP_RIGHT)))) || ((_direction == C.DOWN_RIGHT)))){
scaleX = -1;
} else {
scaleX = 1;
};
};
}
public function get animationFSM():int{
return (_animationFSM);
}
public function set animationFSM(_arg1:int):void{
if (_animationFSM != _arg1){
_animationFSM = _arg1;
frameNumber = 0;
};
}
protected function idle():void{
if (((NumberUtil.isOdd(_direction)) || (eightDirection))){
drawTileColRow(lookIdleFrame, walkRow[_direction]);
};
}
protected function attackIdle():void{
if (((NumberUtil.isOdd(_direction)) || (eightDirection))){
drawTileColRow(lookIdleFrame, attackRow[_direction]);
};
}
protected function walkAnimation():void{
if (((NumberUtil.isOdd(_direction)) || (eightDirection))){
drawTileColRow(frameNumber++, walkRow[_direction]);
if (frameNumber >= walkNumFrames){
frameNumber = 0;
};
};
}
protected function walkReverseAnimation():void{
if (((NumberUtil.isOdd(_direction)) || (eightDirection))){
drawTileColRow(frameNumber--, walkRow[_direction]);
if (frameNumber <= 0){
frameNumber = (walkNumFrames - 1);
};
};
}
protected function attackAnimation():void{
if (attackComplete){
return;
};
if (((NumberUtil.isOdd(_direction)) || (eightDirection))){
drawTileColRow(frameNumber++, attackRow[_direction]);
if (frameNumber == attackDmgFrame){
attackPoint = true;
};
if (frameNumber > attackEndFrame){
frameNumber = attackStartFrame;
attackComplete = true;
};
};
}
protected function attack():void{
}
protected function animationTimerHandler(_arg1:TimerEvent){
switch (animationFSM){
case C.IDLE:
idle();
break;
case C.WALK:
walkAnimation();
break;
case C.WALK_REVERSE:
walkReverseAnimation();
break;
case C.ATTACK:
attackAnimation();
break;
case C.ATTACK_IDLE:
attackIdle();
};
}
public function destroy(_arg1:Event=null):void{
if (parent != null){
parent.removeChild(this);
};
EC.remove(animationTimer);
}
}
}//package
Section 617
//SpriteSheetMovieClip (SpriteSheetMovieClip)
package {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import flash.utils.*;
public class SpriteSheetMovieClip extends SpriteSheet {
private var _currentFrame:int;// = 0
private var _currentLabel:String;// = ""
private var _animationComplete:String;// = ""
public var animationTimer:Timer;
public var frames:Array;
private var _infiniteLoop:Boolean;// = false
public function SpriteSheetMovieClip(_arg1:Bitmap, _arg2:Number, _arg3:Number){
frames = [];
super(_arg1, _arg2, _arg3, true);
animationTimer = new Timer((1000 / C.SPRITE_FPS), 0);
addAnimationTimer();
}
public function addAnimationTimer():void{
EC.add(animationTimer, TimerEvent.TIMER, animationTimerHandler, false, 0, true, "Sprite_Animation");
}
public function gotoAndStop(_arg1:String):Boolean{
stop();
var _local2:int = frames.length;
var _local3:int;
while (_local3 < _local2) {
if (frames[_local3].label == _arg1){
goFrame(_local3);
return (true);
};
_local3++;
};
return (false);
}
public function gotoAndPlay(_arg1:String):void{
if (gotoAndStop(_arg1)){
play();
};
}
public function play():void{
animationTimer.start();
}
public function stop():void{
animationTimer.stop();
}
public function goFrame(_arg1:int):void{
if (_arg1 <= (totalFrames - 1)){
drawFrame(_arg1);
} else {
if (_infiniteLoop){
drawFrame(0);
return;
};
_currentLabel = C.FRAME_ERROR;
clear();
};
}
private function drawFrame(_arg1:int):void{
_currentFrame = _arg1;
setLabel();
draw();
}
public function set infiniteLoop(_arg1:Boolean):void{
_infiniteLoop = _arg1;
}
private function setLabel():void{
if (frames[_currentFrame].label != ""){
_currentLabel = frames[_currentFrame].label;
};
}
private function animationTimerHandler(_arg1:TimerEvent){
var _local2:String = _currentLabel;
_currentFrame++;
goFrame(_currentFrame);
if (_local2 != _currentLabel){
_animationComplete = _local2;
};
}
public function get currentFrame():int{
return (_currentFrame);
}
public function get currentLabel():String{
return (_currentLabel);
}
public function get animationComplete():String{
return (_animationComplete);
}
public function set currentLabel(_arg1:String):void{
_currentLabel = _arg1;
}
public function get totalFrames():int{
return (frames.length);
}
private function draw():void{
drawTileColRow(frames[_currentFrame].tileX, frames[_currentFrame].tileY);
}
public function destroy(_arg1:Event=null):void{
EC.remove(animationTimer);
if (parent != null){
parent.removeChild(this);
};
}
}
}//package
Section 618
//SpriteSheetObject (SpriteSheetObject)
package {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
import flash.utils.*;
import objects.*;
public class SpriteSheetObject extends SpriteSheetMovieClip {
private var frameNumber:int;// = 0
public var currentRow:RowClass;
public var rows:Array;
private var idleCol:int;// = 0
private var idleRow:int;// = 0
public var explodeDmgFrame:int;// = 0
public var dealDmg:Boolean;// = false
public var stayWhenDead:Boolean;// = false
private var deadCol:int;// = 0
private var deadRow:int;// = 0
private var rowAnimationTimer:Timer;
public function SpriteSheetObject(_arg1:Bitmap, _arg2:Number, _arg3:Number, _arg4:Boolean){
rows = [];
super(_arg1, _arg2, _arg3);
this.stayWhenDead = _arg4;
rowAnimationTimer = new Timer((1000 / C.SPRITE_FPS), 0);
EC.add(rowAnimationTimer, TimerEvent.TIMER, rowAnimationTimerHandler, false, 0, true, "Object_Row_Animation");
}
public function setDeadColRow(_arg1:int, _arg2:int){
deadCol = _arg1;
deadRow = _arg2;
}
public function setIdleColRow(_arg1:int, _arg2:int){
idleCol = _arg1;
idleRow = _arg2;
drawTileColRow(idleCol, idleRow);
}
public function playRow(_arg1){
frameNumber = 0;
var _local2:int = rows.length;
var _local3:int;
if ((_arg1 is String)){
_local3 = 0;
while (_local3 < _local2) {
if (rows[_local3].label == _arg1){
playRowClass(rows[_local3]);
break;
};
_local3++;
};
} else {
if ((((_arg1 is int)) || ((_arg1 is Number)))){
_local3 = 0;
while (_local3 < _local2) {
if (rows[_local3].row == _arg1){
playRowClass(rows[_local3]);
break;
};
_local3++;
};
};
};
}
private function playRowClass(_arg1:RowClass){
currentRow = _arg1;
rowAnimationTimer.start();
}
private function rowAnimationTimerHandler(_arg1:TimerEvent){
if (frameNumber < currentRow.totalFrame){
if ((((currentRow.label == Objects.OBJECT_STATE_EXPLODE_A)) && ((frameNumber == explodeDmgFrame)))){
dealDmg = true;
};
drawTileColRow(frameNumber++, currentRow.row);
} else {
frameNumber = 0;
switch (currentRow.label){
case Objects.OBJECT_STATE_BREAK:
checkDestroyOrKeep();
break;
case Objects.OBJECT_STATE_EXPLODE_A:
playRow(Objects.OBJECT_STATE_EXPLODE_B);
drawTileColRow(frameNumber++, currentRow.row);
break;
case Objects.OBJECT_STATE_EXPLODE_B:
checkDestroyOrKeep();
break;
case Objects.SEARCH_OBJECT_INDICATOR:
destroyObject();
break;
default:
drawTileColRow(idleCol, idleRow);
rowAnimationTimer.stop();
break;
};
};
}
private function checkDestroyOrKeep():void{
if (stayWhenDead){
rowAnimationTimer.stop();
drawTileColRow(deadCol, deadRow);
} else {
destroyObject();
destroy();
};
}
private function destroyObject():void{
clear();
rowAnimationTimer.stop();
dispatchEvent(new Event(C.ANIMATION_COMPLETE));
}
override public function destroy(_arg1:Event=null):void{
EC.remove(rowAnimationTimer);
super.destroy();
}
}
}//package
Section 619
//StageMask (StageMask)
package {
import flash.display.*;
public dynamic class StageMask extends MovieClip {
}
}//package
Section 620
//street (street)
package {
import flash.display.*;
public dynamic class street extends BitmapData {
public function street(_arg1:int=640, _arg2:int=0x0200){
super(_arg1, _arg2);
}
}
}//package
Section 621
//Sur_adam (Sur_adam)
package {
import flash.display.*;
public dynamic class Sur_adam extends BitmapData {
public function Sur_adam(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 622
//Sur_argh (Sur_argh)
package {
import flash.display.*;
public dynamic class Sur_argh extends BitmapData {
public function Sur_argh(_arg1:int=320, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 623
//sur_child (sur_child)
package {
import flash.media.*;
public dynamic class sur_child extends Sound {
}
}//package
Section 624
//Sur_death (Sur_death)
package {
import flash.display.*;
public dynamic class Sur_death extends BitmapData {
public function Sur_death(_arg1:int=448, _arg2:int=64){
super(_arg1, _arg2);
}
}
}//package
Section 625
//Sur_fat_walk (Sur_fat_walk)
package {
import flash.display.*;
public dynamic class Sur_fat_walk extends BitmapData {
public function Sur_fat_walk(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 626
//Sur_fatlady_walk (Sur_fatlady_walk)
package {
import flash.display.*;
public dynamic class Sur_fatlady_walk extends BitmapData {
public function Sur_fatlady_walk(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 627
//Sur_gangster (Sur_gangster)
package {
import flash.display.*;
public dynamic class Sur_gangster extends BitmapData {
public function Sur_gangster(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 628
//Sur_hunk (Sur_hunk)
package {
import flash.display.*;
public dynamic class Sur_hunk extends BitmapData {
public function Sur_hunk(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 629
//Sur_letsgo (Sur_letsgo)
package {
import flash.display.*;
public dynamic class Sur_letsgo extends BitmapData {
public function Sur_letsgo(_arg1:int=419, _arg2:int=155){
super(_arg1, _arg2);
}
}
}//package
Section 630
//sur_man (sur_man)
package {
import flash.media.*;
public dynamic class sur_man extends Sound {
}
}//package
Section 631
//Sur_nunblack (Sur_nunblack)
package {
import flash.display.*;
public dynamic class Sur_nunblack extends BitmapData {
public function Sur_nunblack(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 632
//Sur_nunwhite (Sur_nunwhite)
package {
import flash.display.*;
public dynamic class Sur_nunwhite extends BitmapData {
public function Sur_nunwhite(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 633
//Sur_Olady_walk (Sur_Olady_walk)
package {
import flash.display.*;
public dynamic class Sur_Olady_walk extends BitmapData {
public function Sur_Olady_walk(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 634
//sur_old (sur_old)
package {
import flash.media.*;
public dynamic class sur_old extends Sound {
}
}//package
Section 635
//Sur_pacman (Sur_pacman)
package {
import flash.display.*;
public dynamic class Sur_pacman extends BitmapData {
public function Sur_pacman(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 636
//Sur_slimgirl_walk (Sur_slimgirl_walk)
package {
import flash.display.*;
public dynamic class Sur_slimgirl_walk extends BitmapData {
public function Sur_slimgirl_walk(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 637
//Sur_teddygirl_walk (Sur_teddygirl_walk)
package {
import flash.display.*;
public dynamic class Sur_teddygirl_walk extends BitmapData {
public function Sur_teddygirl_walk(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 638
//Sur_wchair (Sur_wchair)
package {
import flash.display.*;
public dynamic class Sur_wchair extends BitmapData {
public function Sur_wchair(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 639
//sur_woman (sur_woman)
package {
import flash.media.*;
public dynamic class sur_woman extends Sound {
}
}//package
Section 640
//surDwn (surDwn)
package {
import flash.display.*;
public dynamic class surDwn extends MovieClip {
}
}//package
Section 641
//surUp (surUp)
package {
import flash.display.*;
public dynamic class surUp extends MovieClip {
}
}//package
Section 642
//SurvivalMode (SurvivalMode)
package {
public class SurvivalMode extends Paths {
public static const KILLS_NEEDED:int = 60;
public static function buildLevel(_arg1:int):void{
_pathArray = [];
switch ((_arg1 % 5)){
case 1:
_pathArray.push(new SurvivalPath01());
break;
case 2:
_pathArray.push(new SurvivalPath02());
break;
case 3:
_pathArray.push(new SurvivalPath03());
break;
case 4:
_pathArray.push(new SurvivalPath04());
break;
default:
_pathArray.push(new SurvivalPath05());
break;
};
_pathArray[0].killsneededTxt.text = String((50 + ((S.trueLevel - 1) * 5)));
}
public static function getZombieSpawnArray(_arg1:int):Array{
var _local2:Array = [];
switch (_arg1){
case 1:
_local2 = dayOneSpawn(_local2);
break;
case 2:
_local2 = dayTwoSpawn(_local2);
break;
case 3:
_local2 = dayThreeSpawn(_local2);
break;
case 4:
_local2 = dayFourSpawn(_local2);
break;
case 5:
_local2 = dayFiveSpawn(_local2);
break;
case 6:
_local2 = daySixSpawn(_local2);
break;
case 7:
_local2 = daySevenSpawn(_local2);
break;
case 8:
_local2 = dayEightSpawn(_local2);
break;
case 9:
_local2 = dayNineSpawn(_local2);
break;
case 10:
_local2 = dayTenSpawn(_local2);
break;
case 11:
_local2 = dayElevenSpawn(_local2);
break;
case 12:
_local2 = dayTwelveSpawn(_local2);
break;
case 13:
_local2 = dayThirteenSpawn(_local2);
break;
case 14:
_local2 = dayFourteenSpawn(_local2);
break;
case 15:
_local2 = dayFifteenSpawn(_local2);
break;
case 16:
_local2 = daySixteenSpawn(_local2);
break;
case 17:
_local2 = daySeventeenSpawn(_local2);
break;
case 18:
_local2 = dayEighteenSpawn(_local2);
break;
case 19:
_local2 = dayNineteenSpawn(_local2);
break;
case 20:
_local2 = dayTwentySpawn(_local2);
break;
case 21:
_local2 = dayTwentyOneSpawn(_local2);
break;
case 22:
_local2 = dayTwentyTwoSpawn(_local2);
break;
case 23:
_local2 = dayTwentyThreeSpawn(_local2);
break;
case 24:
_local2 = dayTwentyFourSpawn(_local2);
break;
case 25:
_local2 = dayTwentyFiveSpawn(_local2);
break;
case 26:
_local2 = dayTwentySixSpawn(_local2);
break;
case 27:
_local2 = dayTwentySevenSpawn(_local2);
break;
case 28:
_local2 = dayTwentyEightSpawn(_local2);
break;
case 29:
_local2 = dayTwentyNineSpawn(_local2);
break;
default:
_local2 = [];
_local2.push(NORMAL_ZOMBIE);
_local2.push(NORMAL_ZOMBIE);
_local2.push(ONE_HAND_ZOMBIE);
_local2.push(FEMALE_ZOMBIE);
_local2.push(FAST_ZOMBIE);
_local2.push(DEAD_MEAT_ZOMBIE);
_local2.push(TRAP_ZOMBIE);
_local2.push(UFO_ZOMBIE);
_local2.push(FAT_ZOMBIE);
_local2.push(CHINESE_ZOMBIE);
break;
};
return (_local2);
}
private static function dayOneSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
return (_arg1);
}
private static function dayTwoSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FAST_ZOMBIE);
return (_arg1);
}
private static function dayThreeSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FAST_ZOMBIE);
_arg1.push(DEAD_MEAT_ZOMBIE);
return (_arg1);
}
private static function dayFourSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(FAST_ZOMBIE);
return (_arg1);
}
private static function dayFiveSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
return (_arg1);
}
private static function daySixSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
_arg1.push(UFO_ZOMBIE);
return (_arg1);
}
private static function daySevenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(TRAP_ZOMBIE);
return (_arg1);
}
private static function dayEightSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FAT_ZOMBIE);
return (_arg1);
}
private static function dayNineSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FAT_ZOMBIE);
_arg1.push(CHINESE_ZOMBIE);
return (_arg1);
}
private static function dayTenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(FAT_ZOMBIE);
return (_arg1);
}
private static function dayElevenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(FAST_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
return (_arg1);
}
private static function dayTwelveSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(CHINESE_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
return (_arg1);
}
private static function dayThirteenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(FAST_ZOMBIE);
_arg1.push(CHINESE_ZOMBIE);
return (_arg1);
}
private static function dayFourteenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(FAST_ZOMBIE);
_arg1.push(CHINESE_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
return (_arg1);
}
private static function dayFifteenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(FAT_ZOMBIE);
_arg1.push(DEAD_MEAT_ZOMBIE);
return (_arg1);
}
private static function daySixteenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(DEAD_MEAT_ZOMBIE);
_arg1.push(UFO_ZOMBIE);
return (_arg1);
}
private static function daySeventeenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(UFO_ZOMBIE);
_arg1.push(FAT_ZOMBIE);
return (_arg1);
}
private static function dayEighteenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(UFO_ZOMBIE);
_arg1.push(FAT_ZOMBIE);
_arg1.push(DEAD_MEAT_ZOMBIE);
return (_arg1);
}
private static function dayNineteenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FAT_ZOMBIE);
_arg1.push(CHINESE_ZOMBIE);
_arg1.push(CHINESE_ZOMBIE);
return (_arg1);
}
private static function dayTwentySpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(CHINESE_ZOMBIE);
return (_arg1);
}
private static function dayTwentyOneSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
return (_arg1);
}
private static function dayTwentyTwoSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FAST_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
return (_arg1);
}
private static function dayTwentyThreeSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FAT_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
return (_arg1);
}
private static function dayTwentyFourSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(TRAP_ZOMBIE);
_arg1.push(FAST_ZOMBIE);
_arg1.push(FAT_ZOMBIE);
return (_arg1);
}
private static function dayTwentyFiveSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(DEAD_MEAT_ZOMBIE);
_arg1.push(UFO_ZOMBIE);
return (_arg1);
}
private static function dayTwentySixSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FAT_ZOMBIE);
_arg1.push(UFO_ZOMBIE);
return (_arg1);
}
private static function dayTwentySevenSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(CHINESE_ZOMBIE);
_arg1.push(DEAD_MEAT_ZOMBIE);
_arg1.push(UFO_ZOMBIE);
return (_arg1);
}
private static function dayTwentyEightSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FAST_ZOMBIE);
_arg1.push(FAT_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
return (_arg1);
}
private static function dayTwentyNineSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(DEAD_MEAT_ZOMBIE);
_arg1.push(UFO_ZOMBIE);
_arg1.push(CHINESE_ZOMBIE);
return (_arg1);
}
private static function resetZombieSpawn(_arg1:Array):Array{
_arg1 = [];
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(NORMAL_ZOMBIE);
_arg1.push(ONE_HAND_ZOMBIE);
_arg1.push(FEMALE_ZOMBIE);
_arg1.push(FAST_ZOMBIE);
_arg1.push(DEAD_MEAT_ZOMBIE);
_arg1.push(TRAP_ZOMBIE);
_arg1.push(UFO_ZOMBIE);
_arg1.push(FAT_ZOMBIE);
_arg1.push(CHINESE_ZOMBIE);
return (_arg1);
}
}
}//package
Section 643
//SurvivalPath01 (SurvivalPath01)
package {
import flash.display.*;
public dynamic class SurvivalPath01 extends MovieClip {
public var money1000_b:search10PH;
public var money1000_a:search15PH;
public var mgun_1:search11PH;
}
}//package
Section 644
//SurvivalPath02 (SurvivalPath02)
package {
import flash.display.*;
public dynamic class SurvivalPath02 extends MovieClip {
public var money1000_b:search10PH;
public var money1000_a:search11PH;
public var shotgun_a:search15PH;
}
}//package
Section 645
//SurvivalPath03 (SurvivalPath03)
package {
import flash.display.*;
public dynamic class SurvivalPath03 extends MovieClip {
public var money1000_b:search10PH;
public var money1000_a:search15PH;
public var health50_a:search11PH;
}
}//package
Section 646
//SurvivalPath04 (SurvivalPath04)
package {
import flash.display.*;
public dynamic class SurvivalPath04 extends MovieClip {
public var money1000_b:search11PH;
public var money1000_a:search15PH;
public var mag3_a:search10PH;
}
}//package
Section 647
//SurvivalPath05 (SurvivalPath05)
package {
import flash.display.*;
public dynamic class SurvivalPath05 extends MovieClip {
public var money1000_b:search11PH;
public var money1000_a:search10PH;
public var health50_1:search15PH;
public var mag3_a:search15PH;
}
}//package
Section 648
//SurvivalReady (SurvivalReady)
package {
import flash.display.*;
public class SurvivalReady extends MovieClip {
public var night:MovieClip;
private var stageRef:Stage;
public function SurvivalReady(_arg1:Stage){
addFrameScript(0, frame1);
this.stageRef = _arg1;
night.night.text = "1";
night.night.selectable = false;
}
public function updateNightValue():void{
if (S.trueLevel < 10){
night.night.text = ("0" + String(S.trueLevel));
} else {
night.night.text = String(S.trueLevel);
};
}
function frame1(){
stop();
}
}
}//package
Section 649
//SurvivalVictory (SurvivalVictory)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import flash.text.*;
public class SurvivalVictory extends MovieClip {
public var btn_shop:MovieClip;
public var moneytxt:TextField;
public var moneyspenttxt:MovieClip;
public var counter:MovieClip;
public var btn_back:MovieClip;
public var night:MovieClip;
public var btn_progress:MovieClip;
public var btn_quit:MovieClip;
public var shopicon:MovieClip;
private var stageRef:Stage;
private var rootRef;
public var s_kills:int;// = 0
public var s_night:int;// = 0
public var s_timeTaken:int;// = 0
public var s_money:int;// = 0
public var s_rescues:int;// = 0
public var s_score:int;// = 0
public var bonus:int;// = 0
public function SurvivalVictory(_arg1:Stage, _arg2){
addFrameScript(19, frame20);
x = -5;
y = -5;
this.stageRef = _arg1;
this.rootRef = _arg2;
}
public function updateKills(_arg1:Number):void{
s_kills = (s_kills + _arg1);
if (s_kills > 999){
s_kills = 999;
};
}
public function updateScore(_arg1:Number):void{
s_score = (s_score + _arg1);
}
public function updateMoneyValue():void{
moneytxt.text = ("$" + String(S.money));
}
public function setStageClearButtons():void{
if (S.partnerRescued){
S.money = (S.money + 1000);
};
moneytxt.text = ("$" + String(S.money));
if (S.trueLevel < 10){
counter.wavetxt.text = ("0" + String(S.trueLevel));
night.night.text = ("0" + String(S.trueLevel));
} else {
counter.wavetxt.text = String(S.trueLevel);
night.night.text = String(S.trueLevel);
};
counter.killtxt.text = S.killsMade;
if (S.partnerRescued){
bonus = 1000;
counter.bonustxt.text = bonus;
} else {
bonus = 0;
counter.bonustxt.text = "0000";
};
counter.scoretxt.text = (S.trueLevel * S.killsMade);
S.gameScore = (S.gameScore + bonus);
counter.totalscoretxt.text = S.gameScore;
addSpaceBar();
btn_back.gotoAndStop("idle");
btn_progress.gotoAndStop("idle");
btn_quit.gotoAndStop("idle");
EC.add(this, Event.ENTER_FRAME, function (_arg1:Event){
rootRef.updateMoneyForAll();
}, false, 0, true, "UPDATE MONEY");
EC.add(btn_quit, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.showSurvivalVictoryQuit();
rootRef.quitting = true;
S.quitTimes = (S.quitTimes + 1);
removeStageClearButtons();
SoundManager.instance.playSound(Sounds.SHOP_BUY);
SoundManager.instance.stopMusic();
}, false, 0, true, "QUIT_BUTTON_CLICK");
EC.add(btn_quit, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_quit.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "QUIT_BUTTON_ROLLOVER");
EC.add(btn_quit, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_quit.gotoAndStop("idle");
}, false, 0, true, "QUIT_BUTTON_IDLE");
EC.add(btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
EC.add(btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
removeStageClearButtons();
SoundManager.instance.stopMusic();
rootRef.initNextLevel();
SoundManager.instance.playSound(Sounds.YESBUTTON);
}, false, 0, true, "BACK_BUTTON_CLICK");
EC.add(btn_shop, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (btn_shop.currentLabel == "rollover"){
rootRef.hideVictoryStat();
rootRef.showShop();
removeSpaceBar();
S.shopVisited = true;
shopicon.visible = false;
SoundManager.instance.playSound(Sounds.YESBUTTON2);
};
}, false, 0, true, "SHOP_BUTTON_CLICK");
EC.add(btn_progress, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.hideVictoryStat();
rootRef.showProgress();
removeSpaceBar();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
}, false, 0, true, "PROGRESS_BUTTON_CLICK");
EC.add(btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
EC.add(btn_back, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_back.gotoAndStop("idle");
}, false, 0, true, "BACK_BUTTON_IDLE");
EC.add(btn_shop, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_shop.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "STOP_BUTTON_ROLLOVER");
EC.add(btn_shop, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_shop.gotoAndStop("idle");
}, false, 0, true, "SHOP_BUTTON_IDLE");
EC.add(btn_progress, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_progress.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "PROGRESS_BUTTON_ROLLOVER");
EC.add(btn_progress, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_progress.gotoAndStop("idle");
}, false, 0, true, "PROGRESS_BUTTON_IDLE");
}
public function removeStageClearButtons():void{
EC.remove("BACK_BUTTON_CLICK");
EC.remove("SPACE_PRESSED");
EC.remove("SHOP_BUTTON_CLICK");
EC.remove("PROGRESS_BUTTON_CLICK");
EC.remove("BACK_BUTTON_ROLLOVER");
EC.remove("BACK_BUTTON_IDLE");
EC.remove("SHOP_BUTTON_ROLLOVER");
EC.remove("SHOP_BUTTON_IDLE");
EC.remove("PROGRESS_BUTTON_ROLLOVER");
EC.remove("PROGRESS_BUTTON_IDLE");
EC.remove("QUIT_BUTTON_CLICK");
}
public function removeSpaceBar():void{
EC.remove("SPACE_PRESSED");
}
public function addSpaceBar():void{
EC.add(stageRef, KeyboardEvent.KEY_UP, function (_arg1:KeyboardEvent){
if (_arg1.keyCode == KeyCode.SPACEBAR){
removeStageClearButtons();
SoundManager.instance.stopMusic();
rootRef.initNextLevel();
SoundManager.instance.playSound(Sounds.YESBUTTON);
};
}, false, 0, true, "SPACE_PRESSED");
}
function frame20(){
stop();
}
}
}//package
Section 650
//Survivor (Survivor)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import fl.motion.*;
import players.*;
import guns.*;
import org.casalib.util.*;
public class Survivor extends SpriteSheetDirectionAnimation {
private const PATROL_LIMIT:Number = 30;
private const PATROL_SPEED:Number = 4;
private const PATROL_STOP_TIME:int = 60;
private const PATROL_WAIT_MIN:int = 60;
private const PATROL_WAIT_MAX:int = 120;
private var layer:Sprite;
protected var chatLayer:Sprite;
protected var chat:Chat;
protected var fireFSM:int;
protected var _survivorFSM:int;
protected var patrolFSM:int;
private var patrolStopCounter:int;// = 0
private var patrolWaitCounter:int;// = 0
private var patrolRandomWaitTime:int;
private var patrolOffset:Number;
private var originalXPos:Number;
public var hitpoint:int;// = 100
private var angle:Number;// = 0
private var gap:int;
private var target;
protected var player:Player;
public var posX:Array;
public var posY:Array;
public var posXMove:Array;
public var posYMove:Array;
public var velX:Number;
public var velY:Number;
protected var chatLine:String;
protected var abandonLine:String;
protected var redNow:Boolean;// = false
protected var blinkRedTime:int;// = 150
protected var blinkRedTimer:FakeTimer;
public var invulernable:Boolean;// = false
private var invulTime:int;// = 2000
private var invulTimer:FakeTimer;
public var bulletLayer:Sprite;
public var machineGun:SurMGun;
public var armorPiercing:SurAGun;
public var shotGun:SurShotGun;
public var combatSurvivor:Boolean;// = false
public var rootRef;
protected var upper:int;
protected var lower:int;
private var passedSurvivor:Boolean;// = false
public var vipSurvivor:Boolean;// = false
public var fatMan:Boolean;// = false
public var oldLady:Boolean;// = false
public var slimGirl:Boolean;// = false
public var teddyGirl:Boolean;// = false
public var fatLady:Boolean;// = false
public var pacMan:Boolean;// = false
public var wheelChair:Boolean;// = false
public var nunWhite:Boolean;// = false
public var nunBlack:Boolean;// = false
public var adam:Boolean;// = false
public var hunk:Boolean;// = false
public var gangster:Boolean;// = false
public var blackFatCombat:Boolean;// = false
public var fatManCombat:Boolean;// = false
public var pacManCombat:Boolean;// = false
public var blackManCombat:Boolean;// = false
public var businessManCombat:Boolean;// = false
public var hunkManCombat:Boolean;// = false
public var hardBoilCombat:Boolean;// = false
public var jableCombat:Boolean;// = false
protected var hunkBusCombat:Boolean;// = false
public var mario:Boolean;// = false
public var ness:Boolean;// = false
public var peach:Boolean;// = false
public var snake:Boolean;// = false
public var gravityBone:Boolean;// = false
public var johnLocke:Boolean;// = false
public var metroid:Boolean;// = false
public var otaCon:Boolean;// = false
public var Mj:Boolean;// = false
public var Jon:Boolean;// = false
public var Ant:Boolean;// = false
public var mochiBot:Boolean;// = false
public var dtoid:Boolean;// = false
protected var specialSurvivor:Boolean;// = false
protected var survivorRand:int;
protected var vipRand:int;
protected var vipIndicator:MovieClip;
protected var comIndicator:MovieClip;
protected var survivorNo:Number;// = 0
protected var bdata:BitmapData;
protected var bmp:Bitmap;
protected var randomChat:Boolean;// = true
private var _survivorMask:MaskShape;
public static const SURVIVOR_STATE_NONE:int = 0;
public static const SURVIVOR_STATE_RESCUED:int = 1;
private static const PATROL_WAIT:int = 0;
private static const PATROL_LEFT:int = 1;
private static const PATROL_RIGHT:int = 2;
private static const PATROL_BACK_TO_MIDDLE:int = 3;
private static const PATROL_CHAT:int = 4;
public function Survivor(_arg1:Sprite, _arg2:Sprite, _arg3:Sprite, _arg4:Player, _arg5, _arg6:Number, _arg7:Number, _arg8:Number):void{
posX = [];
posY = [];
posXMove = [];
posYMove = [];
upper = Math.round((Math.random() * 2));
lower = Math.round((Math.random() * 1));
survivorRand = Math.round((Math.random() * 6));
vipRand = Math.round((Math.random() * 9));
vipIndicator = new vip();
comIndicator = new fighter();
gap = 20;
this.layer = _arg1;
this.chatLayer = _arg3;
this.bulletLayer = _arg2;
this.player = _arg4;
this.rootRef = _arg5;
this.survivorNo = _arg6;
this.x = (_arg7 + 32);
this.y = (_arg8 + 32);
chat = new Chat(_arg3, this);
if (!combatSurvivor){
initSprites(_arg6);
super(bmp, C.SPRITE_SIZE, C.SPRITE_SIZE, false);
};
initSpriteAnimation();
addEventListeners();
setSurvivorFSM(SURVIVOR_STATE_NONE);
if (((Jon) || (Ant))){
hitpoint = C.PAL_HITPOINTS;
};
_arg3.addChild(chat);
if (combatSurvivor){
_arg1.addChild(comIndicator);
} else {
if (((vipSurvivor) || (jonSurvivor))){
_arg1.addChild(vipIndicator);
};
};
newTimers();
setTimersDuration();
}
public function addEventListeners(){
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "Survivor");
}
private function newTimers():void{
blinkRedTimer = new FakeTimer(blinkRedTime, 20);
invulTimer = new FakeTimer(invulTime);
}
protected function setTimersDuration():void{
}
protected function initSprites(_arg1:int){
if (((jonSurvivor) && ((_arg1 == C.JONPARTNER)))){
bmp = SurvivorBitmap.vipJonBmp;
Jon = true;
chatLine = C.JON_CHAT;
abandonLine = C.JON_ABANDON;
specialSurvivor = true;
} else {
if (((antSurvivor) && ((_arg1 == C.ANTPARTNER)))){
bmp = SurvivorBitmap.vipAntBmp;
Ant = true;
chatLine = C.ANT_CHAT;
abandonLine = C.ANT_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 0)))){
bmp = SurvivorBitmap.vipMarioBmp;
mario = true;
chatLine = C.MARIO_CHAT;
abandonLine = C.MARIO_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 2)))){
bmp = SurvivorBitmap.vipNessBmp;
ness = true;
chatLine = C.NESS_CHAT;
abandonLine = C.NESS_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 3)))){
bmp = SurvivorBitmap.vipPeachBmp;
peach = true;
chatLine = C.PEACH_CHAT;
abandonLine = C.PEACH_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 4)))){
bmp = SurvivorBitmap.vipSnakeBmp;
snake = true;
chatLine = C.SNAKE_CHAT;
abandonLine = C.SNAKE_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 5)))){
bmp = SurvivorBitmap.vipGravityBoneBmp;
gravityBone = true;
chatLine = C.GRAVITYBONE_CHAT;
abandonLine = C.GRAVITYBONE_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 6)))){
bmp = SurvivorBitmap.vipJohnLockeBmp;
johnLocke = true;
chatLine = C.JOHNLOCKE_CHAT;
abandonLine = C.JOHNLOCKE_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 7)))){
bmp = SurvivorBitmap.vipMetroidBmp;
metroid = true;
chatLine = C.METROID_CHAT;
abandonLine = C.METROID_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 8)))){
bmp = SurvivorBitmap.vipOtaconBmp;
otaCon = true;
chatLine = C.OTACON_CHAT;
abandonLine = C.OTACON_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 9)))){
bmp = SurvivorBitmap.vipMJBmp;
Mj = true;
chatLine = C.MJ_CHAT;
abandonLine = C.MJ_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 10)))){
bmp = SurvivorBitmap.vipMochiBotBmp;
mochiBot = true;
chatLine = C.MOCHI_CHAT;
abandonLine = C.MOCHI_ABANDON;
specialSurvivor = true;
} else {
if (((vipSurvivor) && ((_arg1 == 11)))){
bmp = SurvivorBitmap.vipDtoidBmp;
dtoid = true;
chatLine = C.DTOID_CHAT;
abandonLine = C.DTOID_ABANDON;
specialSurvivor = true;
} else {
if (_arg1 == 0){
bmp = SurvivorBitmap.surFatBmp;
fatMan = true;
chatLine = C.FATMAN_CHAT;
abandonLine = C.FATMAN_ABANDON;
} else {
if (_arg1 == 1){
bmp = SurvivorBitmap.surOLadyBmp;
oldLady = true;
chatLine = C.OLDLADY_CHAT;
abandonLine = C.OLDLADY_ABANDON;
} else {
if (_arg1 == 2){
bmp = SurvivorBitmap.surSlimGirlBmp;
slimGirl = true;
chatLine = C.SLIMGIRL_CHAT;
abandonLine = C.SLIMGIRL_ABANDON;
} else {
if (_arg1 == 3){
bmp = SurvivorBitmap.surTeddyGirlBmp;
teddyGirl = true;
chatLine = C.TEDDYGIRL_CHAT;
abandonLine = C.TEDDYGIRL_ABANDON;
} else {
if (_arg1 == 4){
bmp = SurvivorBitmap.surFatLadyBmp;
fatLady = true;
chatLine = C.FATLADY_CHAT;
abandonLine = C.FATLADY_ABANDON;
} else {
if (_arg1 == 5){
bmp = SurvivorBitmap.surPacManBmp;
pacMan = true;
chatLine = C.PACMAN_CHAT;
abandonLine = C.PACMAN_ABANDON;
} else {
if (_arg1 == 6){
bmp = SurvivorBitmap.surWChairBmp;
wheelChair = true;
chatLine = C.WHEELCHAIR_CHAT;
abandonLine = C.WHEELCHAIR_ABANDON;
} else {
if (_arg1 == 7){
bmp = SurvivorBitmap.surWhiteNunBmp;
nunWhite = true;
chatLine = C.NUNWHITE_CHAT;
abandonLine = C.NUNWHITE_ABANDON;
} else {
if (_arg1 == 8){
bmp = SurvivorBitmap.surBlackNunBmp;
nunBlack = true;
chatLine = C.NUNBLACK_CHAT;
abandonLine = C.NUNBLACK_ABANDON;
} else {
if (_arg1 == 9){
bmp = SurvivorBitmap.surAdamBmp;
adam = true;
chatLine = C.ADAM_CHAT;
abandonLine = C.ADAM_ABANDON;
} else {
if (_arg1 == 10){
bmp = SurvivorBitmap.surHunkBmp;
hunk = true;
chatLine = C.HUNK_CHAT;
abandonLine = C.HUNK_ABANDON;
} else {
if (_arg1 == 11){
bmp = SurvivorBitmap.surGangsterBmp;
gangster = true;
chatLine = C.GANGSTER_CHAT;
abandonLine = C.GANGSTER_ABANDON;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
chat.chatList(chatLine, abandonLine, specialSurvivor);
}
protected function initSpriteAnimation(){
walkNumFrames = 6;
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
direction = C.DOWN;
lookIdleFrame = 6;
}
protected function checkRescue(){
if (((Utils.BoundingCircle(x, y, player.x, player.y, 30)) && (!(S.playerDash)))){
rescueSurvivor();
};
}
public function setFollowTarget(_arg1){
this.target = _arg1;
_arg1.posX = [];
_arg1.posY = [];
_arg1.posXMove = [];
_arg1.posYMove = [];
x = _arg1.x;
y = _arg1.y;
}
public function rescueSurvivor(){
dispatchEvent(new Event("rescued"));
}
public function set survivorMask(_arg1:MaskShape):void{
_survivorMask = _arg1;
}
protected function checkCommonTimers():void{
checkBlinkRedTimer();
checkInvulTimer();
}
protected function checkInvulTimer():void{
if (invulTimer.getTrigger()){
invulernable = false;
};
}
protected function checkBlinkRedTimer():void{
if (!blinkRedTimer.getTrigger()){
return;
};
if (blinkRedTimer.currentCount >= blinkRedTimer.repeatCount){
redNow = false;
} else {
redNow = !(redNow);
};
changeTint();
}
protected function loop(_arg1:Event):void{
velX = 0;
velY = 0;
checkCommonTimers();
switch (_survivorFSM){
case SURVIVOR_STATE_NONE:
patrolAI();
checkRescue();
showIndicator();
break;
case SURVIVOR_STATE_RESCUED:
followWaypoint();
if (((!((velX == 0))) || (!((velY == 0))))){
setWaypoint2();
setAnimationFSM(C.WALK);
} else {
setAnimationFSM(C.IDLE);
};
break;
};
}
protected function patrolAI():void{
switch (patrolFSM){
case PATROL_WAIT:
patrolWaitCounter++;
if (patrolWaitCounter >= patrolRandomWaitTime){
setPatrolFSM(PATROL_LEFT);
};
break;
case PATROL_LEFT:
velX = -(PATROL_SPEED);
patrolOffset = (patrolOffset + velX);
setDirectionByVelocity(velX, 0, false);
if (Math.abs(patrolOffset) >= PATROL_LIMIT){
setPatrolFSM(PATROL_RIGHT);
};
break;
case PATROL_RIGHT:
velX = PATROL_SPEED;
patrolOffset = (patrolOffset + velX);
setDirectionByVelocity(velX, 0, false);
if (Math.abs(patrolOffset) >= PATROL_LIMIT){
setPatrolFSM(PATROL_BACK_TO_MIDDLE);
};
break;
case PATROL_BACK_TO_MIDDLE:
velX = -(PATROL_SPEED);
patrolOffset = (patrolOffset + velX);
setDirectionByVelocity(velX, 0, false);
if (Math.round(patrolOffset) == 0){
setPatrolFSM(PATROL_CHAT);
};
break;
case PATROL_CHAT:
patrolStopCounter++;
if (patrolStopCounter >= PATROL_STOP_TIME){
setPatrolFSM(PATROL_WAIT);
};
break;
};
x = (originalXPos + patrolOffset);
}
private function setPatrolFSM(_arg1:int):void{
if (_arg1 == PATROL_WAIT){
patrolRandomWaitTime = NumberUtil.randomIntegerWithinRange(PATROL_WAIT_MIN, PATROL_WAIT_MAX);
patrolStopCounter = 0;
patrolWaitCounter = 0;
setAnimationFSM(C.IDLE);
if (chat){
chat.resetChat();
};
} else {
if (_arg1 == PATROL_LEFT){
setAnimationFSM(C.WALK);
} else {
if (_arg1 == PATROL_RIGHT){
} else {
if (_arg1 == PATROL_BACK_TO_MIDDLE){
} else {
if (_arg1 == PATROL_CHAT){
setAnimationFSM(C.IDLE);
direction = C.DOWN;
setChatPosition();
chat.activateRandomChat();
};
};
};
};
};
patrolFSM = _arg1;
}
public function setAnimationFSM(_arg1:int):void{
if ((((_arg1 == C.IDLE)) && (metroid))){
return;
};
animationFSM = _arg1;
}
private function setChatPosition():void{
chat.x = x;
chat.y = ((y - 70) - chatLayer.y);
}
public function abandon():void{
setChatPosition();
chat.activateAbandonChat();
if (vipSurvivor){
vipIndicator.visible = true;
} else {
if (combatSurvivor){
comIndicator.visible = true;
};
};
if (_survivorMask != null){
_survivorMask.removeSelf();
_survivorMask = null;
};
}
public function setSurvivorFSM(_arg1:int):void{
var _local2:SurvivorLetsgo;
_survivorFSM = _arg1;
switch (_arg1){
case SURVIVOR_STATE_NONE:
patrolOffset = 0;
originalXPos = x;
setPatrolFSM(PATROL_WAIT);
break;
case SURVIVOR_STATE_RESCUED:
chat.resetChat();
_local2 = new SurvivorLetsgo(chatLayer, x, (y - chatLayer.y));
if (S.muteState != C.MUTE_BOTH){
if (S.charSelected == C.JON){
SoundManager.instance.playSound(Sounds.VO_LETSGO, 1);
} else {
SoundManager.instance.playSound(Sounds.VO_LETSGO_ANT, 2);
};
};
break;
};
}
public function get survivorFSM():int{
return (_survivorFSM);
}
public function setWaypoint():void{
var _local2:int;
var _local1:int = posX.length;
if (_local1 > 1){
_local2 = (Math.abs((x - posX[(_local1 - 1)])) + Math.abs((y - posY[(_local1 - 1)])));
if (_local2 > 1){
posX.push(x);
posY.push(y);
};
} else {
posX.push(x);
posY.push(y);
};
}
public function followWaypoint(_arg1:Boolean=false):void{
var _local2:int = target.posXMove.length;
if (_local2 > 12){
velX = target.posXMove.shift();
velY = target.posYMove.shift();
setDirectionByVelocity(velX, velY, _arg1);
x = (x + velX);
y = (y + velY);
};
}
public function newFollowWaypoint(_arg1:Boolean=false):void{
var _local2 = 50;
var _local3:Number = 0;
if ((((target is Player)) || ((target == combatSurvivor)))){
_local3 = ((Utils.getOppositeAngle(Utils.directionToAngle(target.btmDirection)) * Math.PI) / 180);
} else {
if ((((target is Survivor)) || ((target == vipSurvivor)))){
_local3 = ((Utils.getOppositeAngle(Utils.directionToAngle(direction)) * Math.PI) / 180);
};
};
var _local4:Number = (target.x + (_local2 * Math.cos(_local3)));
var _local5:Number = (target.y + (_local2 * Math.sin(_local3)));
var _local6:int = target.posXMove.length;
var _local7:Number = target.posXMove.shift();
var _local8:Number = target.posYMove.shift();
velX = (_local4 - x);
velY = (_local5 - y);
if ((((((velX == 0)) && ((velY == 0)))) || ((_local6 == 0)))){
return;
};
setDirectionByVelocity(velX, velY, _arg1);
x = (x + velX);
y = (y + velY);
}
private function setDirectionByVelocity(_arg1:Number, _arg2:Number, _arg3:Boolean):void{
angle = (Math.atan2(_arg2, _arg1) / (Math.PI / 180));
var _local4:int = Utils.angleToDirection(angle);
if (direction != _local4){
if (!_arg3){
if (NumberUtil.isOdd(_local4)){
direction = _local4;
};
} else {
direction = _local4;
};
};
}
public function setWaypoint2():void{
var _local1:int = posXMove.length;
posXMove.push(velX);
posYMove.push(velY);
}
public function showIndicator(){
if (((((((combatSurvivor) && (!(hunkBusCombat)))) && ((player.y > (player.height / 2))))) && ((survivorFSM == 0)))){
comIndicator.visible = true;
comIndicator.x = x;
comIndicator.y = ((y + (C.SPRITE_SIZE / 2)) + 5);
} else {
if (((((((combatSurvivor) && (hunkBusCombat))) && ((player.y > (player.height / 2))))) && ((survivorFSM == 0)))){
comIndicator.visible = true;
comIndicator.x = x;
comIndicator.y = ((y + (C.SPRITE_SIZE / 2)) + 5);
} else {
comIndicator.visible = false;
};
};
if (((((vipSurvivor) && ((player.y > (player.height / 2))))) && ((survivorFSM == 0)))){
comIndicator.visible = true;
vipIndicator.x = x;
vipIndicator.y = ((y + (C.SPRITE_SIZE / 2)) + 5);
} else {
vipIndicator.visible = false;
};
}
public function getFireState():int{
return (fireFSM);
}
public function takeHit(_arg1:int):void{
if ((((hitpoint <= 0)) || (invulernable))){
return;
};
hitpoint = (hitpoint - _arg1);
activateBlinky();
invulernable = true;
invulTimer.resetAndStart();
trace(((this + "hitpoint: ") + hitpoint));
if (hitpoint <= 0){
if (S.muteState != C.MUTE_BOTH){
if (((((((peach) || (gravityBone))) || (fatLady))) || (oldLady))){
SoundManager.instance.playSound(Sounds.SUR_WOMAN);
};
if (((((((((((((mario) || (Mj))) || (otaCon))) || (Jon))) || (Ant))) || (slimGirl))) || (dtoid))){
SoundManager.instance.playSound(Sounds.SUR_MAN);
};
if (((((((((((wheelChair) || (snake))) || (johnLocke))) || (fatMan))) || (pacMan))) || (combatSurvivor))){
SoundManager.instance.playSound(Sounds.SUR_OLD);
};
if (((((((metroid) || (ness))) || (teddyGirl))) || (mochiBot))){
SoundManager.instance.playSound(Sounds.SUR_CHILD);
};
};
dispatchEvent(new Event("killed"));
removeSelf();
if (vipSurvivor){
vipIndicator.visible = false;
} else {
if (combatSurvivor){
comIndicator.visible = false;
};
};
} else {
if (S.muteState != C.MUTE_BOTH){
if (((((((peach) || (gravityBone))) || (fatLady))) || (oldLady))){
SoundManager.instance.playSound(Sounds.VO_DAMAGE_WOMAN, 2);
};
if (((((((((mario) || (Mj))) || (otaCon))) || (slimGirl))) || (dtoid))){
SoundManager.instance.playSound(Sounds.VO_DAMAGE_MAN, 2);
};
if (((((((((((wheelChair) || (snake))) || (johnLocke))) || (fatMan))) || (pacMan))) || (combatSurvivor))){
SoundManager.instance.playSound(Sounds.VO_DAMAGE_OLD, 2);
};
if (((((((metroid) || (ness))) || (teddyGirl))) || (mochiBot))){
SoundManager.instance.playSound(Sounds.VO_DAMAGE_CHILD, 2);
};
if (Jon){
SoundManager.instance.playSound(Sounds.VO_GRUNT, 1);
};
if (Ant){
SoundManager.instance.playSound(Sounds.VO_GRUNT_ANT, 1);
};
};
};
}
public function removeSelf():void{
chat.removeSelf();
if (layer.contains(this)){
layer.removeChild(this);
};
if (vipSurvivor){
layer.removeChild(vipIndicator);
} else {
if (combatSurvivor){
layer.removeChild(comIndicator);
};
};
super.destroy();
EC.remove(this);
if (_survivorMask != null){
_survivorMask.removeSelf();
_survivorMask = null;
};
}
private function activateBlinky():void{
blinkRedTimer.reset();
blinkRedTimer.start();
}
protected function changeTint():void{
var _local1:Color = new Color();
if (redNow){
_local1.setTint(16758393, 0.5);
} else {
_local1.setTint(16758393, 0);
};
transform.colorTransform = _local1;
}
}
}//package
Section 651
//Survivor1PH (Survivor1PH)
package {
import flash.display.*;
public dynamic class Survivor1PH extends MovieClip {
}
}//package
Section 652
//SurvivorArgh (SurvivorArgh)
package {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class SurvivorArgh extends SpriteSheetMovieClip {
private var layer:Sprite;
public static const SUR_ARGH_ANIMATION_START:String = "surArghAnimationStart";
public static const SUR_ARGH_ANIMATION_END:String = "surArghAnimationEnd";
public function SurvivorArgh(_arg1:Sprite, _arg2:Number, _arg3:Number){
this.layer = _arg1;
this.x = _arg2;
this.y = (_arg3 - 30);
super(SurvivorBitmap.surArghBmp, 64, 64);
setupFrames();
_arg1.addChild(this);
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "SurArgh_loop");
gotoAndPlay(SUR_ARGH_ANIMATION_START);
}
protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, SUR_ARGH_ANIMATION_START));
frames.push(new FakeMovieClip(1, 0));
frames.push(new FakeMovieClip(2, 0));
frames.push(new FakeMovieClip(0, 1));
frames.push(new FakeMovieClip(1, 1));
frames.push(new FakeMovieClip(2, 1));
frames.push(new FakeMovieClip(0, 2));
frames.push(new FakeMovieClip(1, 2));
frames.push(new FakeMovieClip(2, 2, SUR_ARGH_ANIMATION_END));
gotoAndPlay(SUR_ARGH_ANIMATION_START);
}
private function loop(_arg1:Event):void{
if (currentLabel == SUR_ARGH_ANIMATION_END){
stop();
removeSelf();
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
}
}
}//package
Section 653
//SurvivorBitmap (SurvivorBitmap)
package {
import flash.display.*;
public class SurvivorBitmap {
public static var surDeathBmp:Bitmap;
public static var surArghBmp:Bitmap;
public static var surLetsgoBmp:Bitmap;
public static var vipMarioBmp:Bitmap;
public static var vipNessBmp:Bitmap;
public static var vipPeachBmp:Bitmap;
public static var vipSnakeBmp:Bitmap;
public static var vipGravityBoneBmp:Bitmap;
public static var vipJohnLockeBmp:Bitmap;
public static var vipMetroidBmp:Bitmap;
public static var vipOtaconBmp:Bitmap;
public static var vipMJBmp:Bitmap;
public static var vipJonBmp:Bitmap;
public static var vipAntBmp:Bitmap;
public static var vipMochiBotBmp:Bitmap;
public static var vipDtoidBmp:Bitmap;
public static var surFatBmp:Bitmap;
public static var surOLadyBmp:Bitmap;
public static var surSlimGirlBmp:Bitmap;
public static var surTeddyGirlBmp:Bitmap;
public static var surFatLadyBmp:Bitmap;
public static var surPacManBmp:Bitmap;
public static var surWChairBmp:Bitmap;
public static var surWhiteNunBmp:Bitmap;
public static var surBlackNunBmp:Bitmap;
public static var surAdamBmp:Bitmap;
public static var surHunkBmp:Bitmap;
public static var surGangsterBmp:Bitmap;
public static var comLBlackFatBmp:Bitmap;
public static var comLFatManBmp:Bitmap;
public static var comLPacManBmp:Bitmap;
public static var comMBlackManBmp:Bitmap;
public static var comMBusinessBmp:Bitmap;
public static var comMHunkBmp:Bitmap;
public static var comMHardBoilBmp:Bitmap;
public static var comMJableBmp:Bitmap;
public static var comLLegBmp:Bitmap;
public static var comMLegBmp:Bitmap;
public static function init():void{
surDeathBmp = new Bitmap(new Sur_death(C.GAME_WIDTH, C.GAME_HEIGHT));
surArghBmp = new Bitmap(new Sur_argh(C.GAME_WIDTH, C.GAME_HEIGHT));
surLetsgoBmp = new Bitmap(new Sur_letsgo(C.GAME_WIDTH, C.GAME_HEIGHT));
vipMarioBmp = new Bitmap(new vip_mario(C.GAME_WIDTH, C.GAME_HEIGHT));
vipNessBmp = new Bitmap(new vip_ness(C.GAME_WIDTH, C.GAME_HEIGHT));
vipPeachBmp = new Bitmap(new vip_peach(C.GAME_WIDTH, C.GAME_HEIGHT));
vipSnakeBmp = new Bitmap(new vip_snake(C.GAME_WIDTH, C.GAME_HEIGHT));
vipGravityBoneBmp = new Bitmap(new vip_gravitybone(C.GAME_WIDTH, C.GAME_HEIGHT));
vipJohnLockeBmp = new Bitmap(new vip_johnlocke(C.GAME_WIDTH, C.GAME_HEIGHT));
vipMetroidBmp = new Bitmap(new vip_metroid(C.GAME_WIDTH, C.GAME_HEIGHT));
vipOtaconBmp = new Bitmap(new vip_Otacon(C.GAME_WIDTH, C.GAME_HEIGHT));
vipMJBmp = new Bitmap(new vip_MJ(C.GAME_WIDTH, C.GAME_HEIGHT));
vipJonBmp = new Bitmap(new vip_jon(C.GAME_WIDTH, C.GAME_HEIGHT));
vipAntBmp = new Bitmap(new vip_ant(C.GAME_WIDTH, C.GAME_HEIGHT));
vipMochiBotBmp = new Bitmap(new vip_mochi(C.GAME_WIDTH, C.GAME_HEIGHT));
vipDtoidBmp = new Bitmap(new vip_dtoid(C.GAME_WIDTH, C.GAME_HEIGHT));
surFatBmp = new Bitmap(new Sur_fat_walk(C.GAME_WIDTH, C.GAME_HEIGHT));
surOLadyBmp = new Bitmap(new Sur_Olady_walk(C.GAME_WIDTH, C.GAME_HEIGHT));
surSlimGirlBmp = new Bitmap(new Sur_slimgirl_walk(C.GAME_WIDTH, C.GAME_HEIGHT));
surTeddyGirlBmp = new Bitmap(new Sur_teddygirl_walk(C.GAME_WIDTH, C.GAME_HEIGHT));
surFatLadyBmp = new Bitmap(new Sur_fatlady_walk(C.GAME_WIDTH, C.GAME_HEIGHT));
surPacManBmp = new Bitmap(new Sur_pacman(C.GAME_WIDTH, C.GAME_HEIGHT));
surWChairBmp = new Bitmap(new Sur_wchair(C.GAME_WIDTH, C.GAME_HEIGHT));
surWhiteNunBmp = new Bitmap(new Sur_nunwhite(C.GAME_WIDTH, C.GAME_HEIGHT));
surBlackNunBmp = new Bitmap(new Sur_nunblack(C.GAME_WIDTH, C.GAME_HEIGHT));
surAdamBmp = new Bitmap(new Sur_adam(C.GAME_WIDTH, C.GAME_HEIGHT));
surHunkBmp = new Bitmap(new Sur_hunk(C.GAME_WIDTH, C.GAME_HEIGHT));
surGangsterBmp = new Bitmap(new Sur_gangster(C.GAME_WIDTH, C.GAME_HEIGHT));
comLBlackFatBmp = new Bitmap(new combatantL_blackfat(C.GAME_WIDTH, C.GAME_HEIGHT));
comLFatManBmp = new Bitmap(new combatantL_fatman(C.GAME_WIDTH, C.GAME_HEIGHT));
comLPacManBmp = new Bitmap(new combatantL_pacman(C.GAME_WIDTH, C.GAME_HEIGHT));
comMBlackManBmp = new Bitmap(new combatantM_blackman(C.GAME_WIDTH, C.GAME_HEIGHT));
comMBusinessBmp = new Bitmap(new combatantM_business(C.GAME_WIDTH, C.GAME_HEIGHT));
comMHunkBmp = new Bitmap(new combatantM_hunk(C.GAME_WIDTH, C.GAME_HEIGHT));
comMHardBoilBmp = new Bitmap(new combatantL_hardboil(C.GAME_WIDTH, C.GAME_HEIGHT));
comMJableBmp = new Bitmap(new combatantM_jable(C.GAME_WIDTH, C.GAME_HEIGHT));
comLLegBmp = new Bitmap(new combatantL_leg(C.GAME_WIDTH, C.GAME_HEIGHT));
comMLegBmp = new Bitmap(new combatantM_leg(C.GAME_WIDTH, C.GAME_HEIGHT));
}
}
}//package
Section 654
//SurvivorDeath (SurvivorDeath)
package {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class SurvivorDeath extends SpriteSheetMovieClip {
private var layer:Sprite;
public static const SUR_DEATH_ANIMATION_START:String = "surDeathAnimationStart";
public static const SUR_DEATH_ANIMATION_END:String = "surDeathAnimationEnd";
public function SurvivorDeath(_arg1:Sprite, _arg2:Number, _arg3:Number){
this.layer = _arg1;
this.x = _arg2;
this.y = _arg3;
super(SurvivorBitmap.surDeathBmp, 64, 64);
setupFrames();
_arg1.addChild(this);
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "SurDeath_loop");
gotoAndPlay(SUR_DEATH_ANIMATION_START);
}
protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, SUR_DEATH_ANIMATION_START));
frames.push(new FakeMovieClip(1, 0));
frames.push(new FakeMovieClip(2, 0));
frames.push(new FakeMovieClip(3, 0));
frames.push(new FakeMovieClip(4, 0));
frames.push(new FakeMovieClip(5, 0));
frames.push(new FakeMovieClip(6, 0));
frames.push(new FakeMovieClip(6, 0, SUR_DEATH_ANIMATION_END));
gotoAndPlay(SUR_DEATH_ANIMATION_START);
}
private function loop(_arg1:Event):void{
if (currentLabel == SUR_DEATH_ANIMATION_END){
stop();
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
}
}
}//package
Section 655
//SurvivorLetsgo (SurvivorLetsgo)
package {
import flash.display.*;
import _as.fla.events.*;
import flash.events.*;
public class SurvivorLetsgo extends SpriteSheetMovieClip {
private var layer:Sprite;
public static const SUR_LETSGO_ANIMATION_START:String = "surLetsgoAnimationStart";
public static const SUR_LETSGO_ANIMATION_END:String = "surLetsgoAnimationEnd";
public function SurvivorLetsgo(_arg1:Sprite, _arg2:Number, _arg3:Number){
this.layer = _arg1;
this.x = _arg2;
this.y = (_arg3 - 30);
super(SurvivorBitmap.surLetsgoBmp, 88, 36);
setupFrames();
_arg1.addChild(this);
EC.add(this, Event.ENTER_FRAME, loop, false, 0, true, "SurArgh_loop");
gotoAndPlay(SUR_LETSGO_ANIMATION_START);
}
protected function setupFrames():void{
frames.push(new FakeMovieClip(0, 0, SUR_LETSGO_ANIMATION_START));
frames.push(new FakeMovieClip(1, 0));
frames.push(new FakeMovieClip(2, 0));
frames.push(new FakeMovieClip(3, 0));
frames.push(new FakeMovieClip(0, 1));
frames.push(new FakeMovieClip(1, 1));
frames.push(new FakeMovieClip(2, 1));
frames.push(new FakeMovieClip(3, 1));
frames.push(new FakeMovieClip(0, 2));
frames.push(new FakeMovieClip(1, 2));
frames.push(new FakeMovieClip(2, 2));
frames.push(new FakeMovieClip(3, 2, SUR_LETSGO_ANIMATION_END));
gotoAndPlay(SUR_LETSGO_ANIMATION_START);
}
private function loop(_arg1:Event):void{
if (currentLabel == SUR_LETSGO_ANIMATION_END){
stop();
removeSelf();
};
}
public function removeSelf():void{
if (layer.contains(this)){
layer.removeChild(this);
};
super.destroy();
EC.remove(this);
}
}
}//package
Section 656
//SZombie (SZombie)
package {
import flash.display.*;
public dynamic class SZombie extends BitmapData {
public function SZombie(_arg1:int=576, _arg2:int=384){
super(_arg1, _arg2);
}
}
}//package
Section 657
//targetcursor (targetcursor)
package {
import flash.display.*;
public dynamic class targetcursor extends BitmapData {
public function targetcursor(_arg1:int=0x0300, _arg2:int=128){
super(_arg1, _arg2);
}
}
}//package
Section 658
//teddyGirl (teddyGirl)
package {
import flash.display.*;
public dynamic class teddyGirl extends MovieClip {
}
}//package
Section 659
//textballoon (textballoon)
package {
import flash.display.*;
public dynamic class textballoon extends BitmapData {
public function textballoon(_arg1:int=480, _arg2:int=80){
super(_arg1, _arg2);
}
}
}//package
Section 660
//ThePreloader (ThePreloader)
package {
import flash.display.*;
public dynamic class ThePreloader extends MovieClip {
public var loadingClip:MovieClip;
}
}//package
Section 661
//Tutorial (Tutorial)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
public class Tutorial extends MovieClip {
public var book:MovieClip;
private var stageRef:Stage;
private var rootRef;
private var pageNo:int;// = 0
private var tempPage:int;
public function Tutorial(_arg1:Stage, _arg2){
addFrameScript(7, frame8, 13, frame14);
this.stageRef = _arg1;
this.rootRef = _arg2;
visible = false;
x = 40;
y = 20;
book.btn_back.gotoAndStop("idle");
book.page1.visible = true;
book.btn_prev.visible = false;
pageNo = 0;
}
private function addEventListeners():void{
EC.add(book.btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
gotoAndPlay("disappear");
rootRef.showPauseButtons();
removeActionListeners();
S.pauseDisabled = false;
SoundManager.instance.playSound(Sounds.BACKBUTTON);
}, false, 0, true, "BACK_BUTTON_CLICK");
EC.add(book.btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
book.btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
EC.add(book.btn_prev, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
book.btn_back.gotoAndStop("idle");
}, false, 0, true, "BACK_BUTTON_IDLE");
EC.add(book.btn_next, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (pageNo < 3){
pageNo = (pageNo + 1);
changePage(pageNo);
};
}, false, 0, true, "BOOK_NEXT_BUTTON_IDLE");
EC.add(book.btn_prev, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (pageNo > 0){
pageNo = (pageNo - 1);
changePage(pageNo);
};
}, false, 0, true, "BOOK_BACK_BUTTON_IDLE");
}
public function changePage(_arg1:int):void{
book.page1.visible = false;
book.page2.visible = false;
book.page3.visible = false;
book.page4.visible = false;
switch (_arg1){
case 0:
book.btn_prev.visible = false;
book.btn_next.visible = true;
book.page1.visible = true;
break;
case 1:
book.btn_next.visible = true;
book.btn_prev.visible = true;
book.page2.visible = true;
break;
case 2:
book.btn_next.visible = true;
book.btn_prev.visible = true;
book.page3.visible = true;
break;
case 3:
book.btn_next.visible = false;
book.btn_prev.visible = true;
book.page4.visible = true;
break;
};
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
}
private function removeActionListeners():void{
EC.remove("BACK_BUTTON_CLICK");
EC.remove("BACK_BUTTON_ROLLOVER");
EC.remove("BACK_BUTTON_IDLE");
EC.remove("BOOK_NEXT_BUTTON_IDLE");
EC.remove("BOOK_BACK_BUTTON_IDLE");
}
public function reinitTutorial():void{
addEventListeners();
book.btn_back.gotoAndStop("idle");
book.page1.visible = true;
book.page2.visible = false;
book.page3.visible = false;
book.page4.visible = false;
book.btn_prev.visible = false;
book.btn_next.visible = true;
pageNo = 0;
}
function frame8(){
stop();
}
function frame14(){
visible = false;
}
}
}//package
Section 662
//Utils (Utils)
package {
import flash.utils.*;
import zombies.*;
public class Utils {
public static var debugFlag:Boolean = true;
public static function BoundingCircle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Boolean{
var _local6:Number = (_arg3 - _arg1);
var _local7:Number = (_arg4 - _arg2);
var _local8:Number = ((_local6 * _local6) + (_local7 * _local7));
return ((_local8 <= (_arg5 * _arg5)));
}
public static function getShortestDist(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number = (_arg3 - _arg1);
var _local6:Number = (_arg4 - _arg2);
var _local7:Number = ((_local5 * _local5) + (_local6 * _local6));
return (Math.sqrt(_local7));
}
public static function angleToDirection(_arg1:Number):int{
var _local2:int = (Math.round((_arg1 / 45)) + 3);
if (_local2 == -1){
_local2 = C.LEFT;
};
return (_local2);
}
public static function angleToFourDirection(_arg1:Number):int{
var _local2:Number = (Math.round((_arg1 / 45)) + 3);
_local2 = ((Math.round(((_local2 + 1) / 2)) * 2) - 1);
if (_local2 == -1){
_local2 = C.LEFT;
};
return (_local2);
}
public static function directionToAngle(_arg1:int):Number{
var _local2:int = ((_arg1 - 3) * 45);
return (_local2);
}
public static function getOppositeAngle(_arg1:Number):Number{
if (_arg1 > 0){
return ((_arg1 - 180));
};
return ((_arg1 + 180));
}
public static function getAngleFromPoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((Math.atan2((_arg4 - _arg2), (_arg3 - _arg1)) / (Math.PI / 180)));
}
public static function getClass(_arg1:Object):Class{
return (Class(getDefinitionByName(getQualifiedClassName(_arg1))));
}
public static function isBoss(_arg1:Zombie):Boolean{
return ((((((_arg1 is Jason)) || ((_arg1 is Alien)))) || ((_arg1 is Freddy))));
}
public static function intCompareMin(_arg1:int, _arg2:int):int{
if (_arg1 < _arg2){
return (_arg1);
};
return (_arg2);
}
public static function objectsInRadius(_arg1, _arg2, _arg3:Number):Boolean{
var _local4:Number = _arg1.y;
var _local5:Number = _arg2.y;
if ((((_arg1 is UFOZombie)) || ((_arg1 is UFOExplosion)))){
_local4 = _arg1.getTrueY();
};
if ((((_arg2 is UFOZombie)) || ((_arg2 is UFOExplosion)))){
_local5 = _arg2.getTrueY();
};
return (BoundingCircle(_arg1.x, _local4, _arg2.x, _local5, _arg3));
}
public static function isInScreen(_arg1):Boolean{
return ((((((((_arg1.x >= 0)) && ((_arg1.x <= C.GAME_WIDTH)))) && ((_arg1.y >= 0)))) && ((_arg1.y <= C.GAME_HEIGHT))));
}
public static function clone(_arg1:Object){
var _local2:ByteArray = new ByteArray();
_local2.writeObject(_arg1);
_local2.position = 0;
return (_local2.readObject());
}
public static function myTrace(... _args):void{
var _local2:Array;
var _local3:*;
if (debugFlag){
_local2 = new Array();
for each (_local3 in _args) {
_local2.push(_local3);
};
trace(_local2);
};
}
public static function traceObject(_arg1){
var _local2:*;
trace(("Using a regular trace: " + _arg1));
trace("");
trace("Using a for loop: ");
for (_local2 in _arg1) {
trace(((_local2 + " = ") + _arg1[_local2]));
};
}
}
}//package
Section 663
//vanPH (vanPH)
package {
import flash.display.*;
public dynamic class vanPH extends MovieClip {
}
}//package
Section 664
//Victory (Victory)
package {
import flash.display.*;
import _as.fla.events.*;
import com.cheezeworld.utils.*;
import flash.events.*;
import flash.net.*;
public class Victory extends MovieClip {
public var btn_shop:MovieClip;
public var btn_back:MovieClip;
public var victory_boss:MovieClip;
public var Victory_Stats:MovieClip;
public var btn_progress:MovieClip;
public var btn_quit:MovieClip;
public var shopicon:MovieClip;
private var stageRef:Stage;
private var rootRef;
public var s_kills:int;// = 0
public var s_night:int;// = 0
public var s_timeTaken:int;// = 0
public var s_money:int;// = 0
public var s_rescues:int;// = 0
public var s_score:int;// = 0
private var comic:MovieClip;
private var comicOpen:Boolean;// = false
private var comicOpened:int;// = 0
private var monsterprogress:MonsterProgress;
private var incompleteDay:IncompleteDay;
public function Victory(_arg1:Stage, _arg2){
comic = new Comic();
super();
addFrameScript(19, frame20);
x = -5;
y = -5;
this.stageRef = _arg1;
this.rootRef = _arg2;
monsterprogress = new MonsterProgress(_arg1, _arg2);
incompleteDay = new IncompleteDay();
incompleteDay.init(_arg1, _arg2);
initValues();
addChild(comic);
comic.x = 135;
comic.visible = false;
}
public function updateKills(_arg1:Number):void{
s_kills = (s_kills + _arg1);
if (s_kills > 999){
s_kills = 999;
};
}
public function updateScore(_arg1:Number):void{
s_score = (s_score + _arg1);
}
public function updateMoney(_arg1:int):void{
s_money = _arg1;
}
public function updateMoneyValue():void{
Victory_Stats.moneytxt.text = ("$" + String(S.money));
victory_boss.moneytxt.text = ("$" + String(S.money));
}
public function updateRescues(_arg1:int):void{
s_rescues = _arg1;
}
public function updateRescueMoney(_arg1:int, _arg2:int):void{
S.gameScore = (S.gameScore + ((_arg1 * 1500) + (_arg2 * 500)));
_arg1 = (_arg1 * 1000);
_arg2 = (_arg2 * 300);
S.moneyMade = (S.moneyMade + (_arg1 + _arg2));
S.money = (S.money + (_arg1 + _arg2));
S.totalmoneymade = (S.totalmoneymade + (_arg1 + _arg2));
if ((((S.trueLevel >= 1)) && ((S.trueLevel <= 10)))){
S.moneyMadeStageOne = (S.moneyMadeStageOne + (_arg1 + _arg2));
};
if ((((S.trueLevel >= 11)) && ((S.trueLevel <= 20)))){
S.moneyMadeStageTwo = (S.moneyMadeStageTwo + (_arg1 + _arg2));
};
if ((((S.trueLevel >= 21)) && ((S.trueLevel <= 30)))){
S.moneyMadeStageThree = (S.moneyMadeStageThree + (_arg1 + _arg2));
};
Victory_Stats.indication.survivormoney.text = _arg2;
Victory_Stats.indication.vipmoney.text = _arg1;
}
public function initValues():void{
Victory_Stats.moneytxt.text = ("$" + String(S.money));
victory_boss.moneytxt.text = ("$" + String(S.money));
Victory_Stats.kills.text = String(S.gameScore);
Victory_Stats.moneymade.text = String(S.moneyMade);
}
public function addMonsterProgress():void{
addChild(monsterprogress);
monsterprogress.gotoAndPlay(1);
monsterprogress.setMonsterCardButtons();
EC.add(monsterprogress, "closed", removeMonsterProgress, false, 0, true);
EC.add(monsterprogress, Event.ENTER_FRAME, removeChildMonsterProgress, false, 0, true, "REMOVEMONSTERPROGRESS");
}
public function removeMonsterProgress(_arg1:Event):void{
monsterprogress.play();
}
public function removeChildMonsterProgress(_arg1:Event):void{
if (monsterprogress.currentFrame == monsterprogress.totalFrames){
removeChild(monsterprogress);
EC.remove("REMOVEMONSTERPROGRESS");
rootRef.victoryTransitOutFunction();
};
}
public function addIncompleteDay():void{
trace("add this baby");
addChild(incompleteDay);
incompleteDay.gotoAndPlay(1);
incompleteDay.setMonsterCardButtons();
EC.add(incompleteDay, "closed", removeIncompleteDay, false, 0, true);
EC.add(incompleteDay, Event.ENTER_FRAME, removeChildIncompleteDay, false, 0, true, "REMOVEINCOMPLETEDAY");
}
public function removeIncompleteDay(_arg1:Event):void{
incompleteDay.play();
}
public function removeChildIncompleteDay(_arg1:Event):void{
if (incompleteDay.currentFrame == incompleteDay.totalFrames){
removeChild(incompleteDay);
EC.remove("REMOVEINCOMPLETEDAY");
rootRef.victoryTransitOutFunction();
};
}
public function setStageClearButtons():void{
addSpaceBar();
Victory_Stats.play();
btn_back.gotoAndStop("idle");
btn_progress.gotoAndStop("idle");
btn_quit.gotoAndStop("idle");
EC.add(this, Event.ENTER_FRAME, function (_arg1:Event){
rootRef.updateMoneyForAll();
}, false, 0, true, "UPDATE MONEY");
EC.add(btn_quit, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.showVictoryQuit();
rootRef.quitting = true;
S.quitTimes = (S.quitTimes + 1);
removeStageClearButtons();
SoundManager.instance.playSound(Sounds.SHOP_BUY);
SoundManager.instance.stopMusic();
}, false, 0, true, "QUIT_BUTTON_CLICK");
EC.add(btn_quit, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_quit.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "QUIT_BUTTON_ROLLOVER");
EC.add(btn_quit, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_quit.gotoAndStop("idle");
}, false, 0, true, "QUIT_BUTTON_IDLE");
EC.add(btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
EC.add(btn_back, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
removeStageClearButtons();
SoundManager.instance.stopMusic();
rootRef.initNextLevel();
SoundManager.instance.playSound(Sounds.YESBUTTON);
}, false, 0, true, "BACK_BUTTON_CLICK");
EC.add(btn_shop, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
if (btn_shop.currentLabel == "rollover"){
rootRef.hideVictoryStat();
rootRef.showShop();
removeSpaceBar();
S.shopVisited = true;
shopicon.visible = false;
SoundManager.instance.playSound(Sounds.YESBUTTON2);
};
}, false, 0, true, "SHOP_BUTTON_CLICK");
EC.add(btn_progress, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
rootRef.hideVictoryStat();
rootRef.showProgress();
removeSpaceBar();
SoundManager.instance.playSound(Sounds.YESBUTTON2);
}, false, 0, true, "PROGRESS_BUTTON_CLICK");
EC.add(btn_back, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_back.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "BACK_BUTTON_ROLLOVER");
EC.add(btn_back, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_back.gotoAndStop("idle");
}, false, 0, true, "BACK_BUTTON_IDLE");
EC.add(btn_shop, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
if (btn_shop.currentLabel == "locked"){
btn_shop.gotoAndStop("locked_rollover");
} else {
if (btn_shop.currentLabel == "idle"){
btn_shop.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
};
};
}, false, 0, true, "STOP_BUTTON_ROLLOVER");
EC.add(btn_shop, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if (btn_shop.currentLabel == "rollover"){
btn_shop.gotoAndStop("idle");
} else {
btn_shop.gotoAndStop("locked");
};
}, false, 0, true, "SHOP_BUTTON_IDLE");
EC.add(btn_progress, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
btn_progress.gotoAndStop("rollover");
SoundManager.instance.playSound(Sounds.HIGHLIGHTBUTTON);
}, false, 0, true, "PROGRESS_BUTTON_ROLLOVER");
EC.add(btn_progress, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
btn_progress.gotoAndStop("idle");
}, false, 0, true, "PROGRESS_BUTTON_IDLE");
EC.add(victory_boss.stat.btn_comic, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
victory_boss.stat.btn_comic.gotoAndPlay("roll in");
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
}, false, 0, true, "COMIC_ROLLOVER");
EC.add(victory_boss.stat.btn_comic, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
comic.visible = true;
comic.gotoAndPlay("appear");
if (S.trueLevel == 10){
comic.book.comic1.visible = false;
comic.book.comic2.visible = true;
comic.book.comic3.visible = false;
comic.book.comic4.visible = false;
} else {
if (S.trueLevel == 20){
comic.book.comic1.visible = false;
comic.book.comic2.visible = false;
comic.book.comic3.visible = true;
comic.book.comic4.visible = false;
} else {
if (S.trueLevel == 30){
comic.book.comic1.visible = false;
comic.book.comic2.visible = false;
comic.book.comic3.visible = false;
comic.book.comic4.visible = true;
};
};
};
comicOpen = true;
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
setComicButtons();
}, false, 0, true, "COMIC_CLICK");
EC.add(victory_boss.stat.btn_comic, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
if ((((victory_boss.stat.btn_comic.currentLabel == "roll in")) && (!(comicOpen)))){
SoundManager.instance.playSound(Sounds.PROGPAGEFLIP);
victory_boss.stat.btn_comic.gotoAndPlay("roll out");
};
}, false, 0, true, "COMIC_IDLE");
}
private function setComicButtons():void{
EC.add(comic, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
comicOpen = false;
comic.gotoAndPlay("disappear");
removeComicButtons();
victory_boss.stat.btn_comic.gotoAndPlay("roll out");
}, false, 0, true, "CLOSE_COMIC");
comic.book.btn_website.gotoAndStop("idle");
EC.add(comic.book.btn_website, MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://bitejacker.secretbase.com.sg");
navigateToURL(_local2, "_blank");
}, false, 0, true, "WEBSITE_CLICK");
EC.add(comic.book.btn_website, MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){
comic.book.btn_website.gotoAndStop("rollover");
}, false, 0, true, "WEBSITE_ROLLOVER");
EC.add(comic.book.btn_website, MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){
comic.book.btn_website.gotoAndStop("idle");
}, false, 0, true, "WEBSITE_IDLE");
}
private function removeComicButtons():void{
EC.remove("CLOSE_COMIC");
EC.remove("WEBSITE_CLICK");
EC.remove("WEBSITE_ROLLOVER");
EC.remove("WEBSITE_IDLE");
}
public function removeStageClearButtons():void{
EC.remove("BACK_BUTTON_CLICK");
EC.remove("SPACE_PRESSED");
EC.remove("SHOP_BUTTON_CLICK");
EC.remove("PROGRESS_BUTTON_CLICK");
EC.remove("BACK_BUTTON_ROLLOVER");
EC.remove("BACK_BUTTON_IDLE");
EC.remove("SHOP_BUTTON_ROLLOVER");
EC.remove("SHOP_BUTTON_IDLE");
EC.remove("PROGRESS_BUTTON_ROLLOVER");
EC.remove("PROGRESS_BUTTON_IDLE");
EC.remove("COMIC_ROLLOVER");
EC.remove("COMIC_IDLE");
EC.remove("COMIC_CLICK");
EC.remove("QUIT_BUTTON_CLICK");
}
public function removeSpaceBar():void{
EC.remove("SPACE_PRESSED");
}
public function addSpaceBar():void{
EC.add(stageRef, KeyboardEvent.KEY_UP, function (_arg1:KeyboardEvent){
if (_arg1.keyCode == KeyCode.SPACEBAR){
SoundManager.instance.stopMusic();
removeStageClearButtons();
rootRef.initNextLevel();
SoundManager.instance.playSound(Sounds.YESBUTTON);
};
}, false, 0, true, "SPACE_PRESSED");
}
function frame20(){
stop();
}
}
}//package
Section 665
//vip (vip)
package {
import flash.display.*;
public dynamic class vip extends MovieClip {
}
}//package
Section 666
//vip_ant (vip_ant)
package {
import flash.display.*;
public dynamic class vip_ant extends BitmapData {
public function vip_ant(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 667
//vip_dtoid (vip_dtoid)
package {
import flash.display.*;
public dynamic class vip_dtoid extends BitmapData {
public function vip_dtoid(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 668
//vip_gravitybone (vip_gravitybone)
package {
import flash.display.*;
public dynamic class vip_gravitybone extends BitmapData {
public function vip_gravitybone(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 669
//vip_johnlocke (vip_johnlocke)
package {
import flash.display.*;
public dynamic class vip_johnlocke extends BitmapData {
public function vip_johnlocke(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 670
//vip_jon (vip_jon)
package {
import flash.display.*;
public dynamic class vip_jon extends BitmapData {
public function vip_jon(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 671
//vip_mario (vip_mario)
package {
import flash.display.*;
public dynamic class vip_mario extends BitmapData {
public function vip_mario(_arg1:int=0x0200, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 672
//vip_metroid (vip_metroid)
package {
import flash.display.*;
public dynamic class vip_metroid extends BitmapData {
public function vip_metroid(_arg1:int=384, _arg2:int=64){
super(_arg1, _arg2);
}
}
}//package
Section 673
//vip_MJ (vip_MJ)
package {
import flash.display.*;
public dynamic class vip_MJ extends BitmapData {
public function vip_MJ(_arg1:int=0x0200, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 674
//vip_mochi (vip_mochi)
package {
import flash.display.*;
public dynamic class vip_mochi extends BitmapData {
public function vip_mochi(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 675
//vip_ness (vip_ness)
package {
import flash.display.*;
public dynamic class vip_ness extends BitmapData {
public function vip_ness(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 676
//vip_Otacon (vip_Otacon)
package {
import flash.display.*;
public dynamic class vip_Otacon extends BitmapData {
public function vip_Otacon(_arg1:int=0x0200, _arg2:int=0x0100){
super(_arg1, _arg2);
}
}
}//package
Section 677
//vip_peach (vip_peach)
package {
import flash.display.*;
public dynamic class vip_peach extends BitmapData {
public function vip_peach(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 678
//vip_snake (vip_snake)
package {
import flash.display.*;
public dynamic class vip_snake extends BitmapData {
public function vip_snake(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 679
//vip_wchair (vip_wchair)
package {
import flash.display.*;
public dynamic class vip_wchair extends BitmapData {
public function vip_wchair(_arg1:int=448, _arg2:int=192){
super(_arg1, _arg2);
}
}
}//package
Section 680
//vipDtoid (vipDtoid)
package {
import flash.display.*;
public dynamic class vipDtoid extends MovieClip {
}
}//package
Section 681
//vipGravityBone (vipGravityBone)
package {
import flash.display.*;
public dynamic class vipGravityBone extends MovieClip {
}
}//package
Section 682
//vipJohnLocke (vipJohnLocke)
package {
import flash.display.*;
public dynamic class vipJohnLocke extends MovieClip {
}
}//package
Section 683
//vipMario (vipMario)
package {
import flash.display.*;
public dynamic class vipMario extends MovieClip {
}
}//package
Section 684
//vipMetroid (vipMetroid)
package {
import flash.display.*;
public dynamic class vipMetroid extends MovieClip {
}
}//package
Section 685
//vipMJ (vipMJ)
package {
import flash.display.*;
public dynamic class vipMJ extends MovieClip {
}
}//package
Section 686
//vipMochi (vipMochi)
package {
import flash.display.*;
public dynamic class vipMochi extends MovieClip {
}
}//package
Section 687
//vipNess (vipNess)
package {
import flash.display.*;
public dynamic class vipNess extends MovieClip {
}
}//package
Section 688
//vipOtacon (vipOtacon)
package {
import flash.display.*;
public dynamic class vipOtacon extends MovieClip {
}
}//package
Section 689
//vipPeach (vipPeach)
package {
import flash.display.*;
public dynamic class vipPeach extends MovieClip {
}
}//package
Section 690
//vipSnake (vipSnake)
package {
import flash.display.*;
public dynamic class vipSnake extends MovieClip {
}
}//package
Section 691
//vipSurvivor (vipSurvivor)
package {
import flash.display.*;
import flash.events.*;
import players.*;
public class vipSurvivor extends Survivor {
public function vipSurvivor(_arg1:Sprite, _arg2:Sprite, _arg3:Sprite, _arg4:Player, _arg5, _arg6:Number, _arg7:Number, _arg8:Number){
vipSurvivor = true;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
override protected function initSpriteAnimation(){
if (metroid){
walkNumFrames = 5;
} else {
walkNumFrames = 6;
};
if (((metroid) || (Mj))){
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 0;
walkRow[C.RIGHT] = 0;
walkRow[C.UP] = 0;
} else {
if (otaCon){
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 3;
walkRow[C.UP] = 2;
} else {
walkRow[C.DOWN] = 0;
walkRow[C.LEFT] = 1;
walkRow[C.RIGHT] = 1;
walkRow[C.UP] = 2;
};
};
direction = C.DOWN;
if (snake){
lookIdleFrame = 7;
} else {
if (metroid){
lookIdleFrame = 4;
} else {
lookIdleFrame = 6;
};
};
}
override protected function loop(_arg1:Event):void{
velX = 0;
velY = 0;
checkCommonTimers();
switch (_survivorFSM){
case SURVIVOR_STATE_NONE:
patrolAI();
checkRescue();
showIndicator();
if (metroid){
animationFSM = C.WALK;
};
break;
case SURVIVOR_STATE_RESCUED:
followWaypoint();
if (((!((velX == 0))) || (!((velY == 0))))){
setWaypoint2();
animationFSM = C.WALK;
} else {
if (metroid){
animationFSM = C.WALK;
} else {
animationFSM = C.IDLE;
};
};
break;
};
}
override public function set direction(_arg1:int):void{
if (_direction != _arg1){
_direction = _arg1;
frameNumber = 0;
if (!otaCon){
if ((((((_direction == C.RIGHT)) || ((_direction == C.UP_RIGHT)))) || ((_direction == C.DOWN_RIGHT)))){
scaleX = -1;
} else {
scaleX = 1;
};
} else {
scaleX = 1;
};
};
}
}
}//package
Section 692
//vipWheelChair (vipWheelChair)
package {
import flash.display.*;
public dynamic class vipWheelChair extends MovieClip {
}
}//package
Section 693
//vo_agun1 (vo_agun1)
package {
import flash.media.*;
public dynamic class vo_agun1 extends Sound {
}
}//package
Section 694
//vo_agun1_ant (vo_agun1_ant)
package {
import flash.media.*;
public dynamic class vo_agun1_ant extends Sound {
}
}//package
Section 695
//vo_agun2 (vo_agun2)
package {
import flash.media.*;
public dynamic class vo_agun2 extends Sound {
}
}//package
Section 696
//vo_agun2_ant (vo_agun2_ant)
package {
import flash.media.*;
public dynamic class vo_agun2_ant extends Sound {
}
}//package
Section 697
//vo_ammo (vo_ammo)
package {
import flash.media.*;
public dynamic class vo_ammo extends Sound {
}
}//package
Section 698
//vo_ammo_ant (vo_ammo_ant)
package {
import flash.media.*;
public dynamic class vo_ammo_ant extends Sound {
}
}//package
Section 699
//vo_cash (vo_cash)
package {
import flash.media.*;
public dynamic class vo_cash extends Sound {
}
}//package
Section 700
//vo_cash_ant (vo_cash_ant)
package {
import flash.media.*;
public dynamic class vo_cash_ant extends Sound {
}
}//package
Section 701
//vo_damage_child (vo_damage_child)
package {
import flash.media.*;
public dynamic class vo_damage_child extends Sound {
}
}//package
Section 702
//vo_damage_man (vo_damage_man)
package {
import flash.media.*;
public dynamic class vo_damage_man extends Sound {
}
}//package
Section 703
//vo_damage_old (vo_damage_old)
package {
import flash.media.*;
public dynamic class vo_damage_old extends Sound {
}
}//package
Section 704
//vo_damage_woman (vo_damage_woman)
package {
import flash.media.*;
public dynamic class vo_damage_woman extends Sound {
}
}//package
Section 705
//vo_empty (vo_empty)
package {
import flash.media.*;
public dynamic class vo_empty extends Sound {
}
}//package
Section 706
//vo_empty_ant (vo_empty_ant)
package {
import flash.media.*;
public dynamic class vo_empty_ant extends Sound {
}
}//package
Section 707
//vo_grunt (vo_grunt)
package {
import flash.media.*;
public dynamic class vo_grunt extends Sound {
}
}//package
Section 708
//vo_grunt_ant (vo_grunt_ant)
package {
import flash.media.*;
public dynamic class vo_grunt_ant extends Sound {
}
}//package
Section 709
//vo_health (vo_health)
package {
import flash.media.*;
public dynamic class vo_health extends Sound {
}
}//package
Section 710
//vo_health_ant (vo_health_ant)
package {
import flash.media.*;
public dynamic class vo_health_ant extends Sound {
}
}//package
Section 711
//vo_hmgun (vo_hmgun)
package {
import flash.media.*;
public dynamic class vo_hmgun extends Sound {
}
}//package
Section 712
//vo_hmgun_ant (vo_hmgun_ant)
package {
import flash.media.*;
public dynamic class vo_hmgun_ant extends Sound {
}
}//package
Section 713
//vo_kick (vo_kick)
package {
import flash.media.*;
public dynamic class vo_kick extends Sound {
}
}//package
Section 714
//vo_kick_ant (vo_kick_ant)
package {
import flash.media.*;
public dynamic class vo_kick_ant extends Sound {
}
}//package
Section 715
//vo_laser (vo_laser)
package {
import flash.media.*;
public dynamic class vo_laser extends Sound {
}
}//package
Section 716
//vo_laser_ant (vo_laser_ant)
package {
import flash.media.*;
public dynamic class vo_laser_ant extends Sound {
}
}//package
Section 717
//vo_letsgo (vo_letsgo)
package {
import flash.media.*;
public dynamic class vo_letsgo extends Sound {
}
}//package
Section 718
//vo_letsgo_ant (vo_letsgo_ant)
package {
import flash.media.*;
public dynamic class vo_letsgo_ant extends Sound {
}
}//package
Section 719
//vo_menu (vo_menu)
package {
import flash.media.*;
public dynamic class vo_menu extends Sound {
}
}//package
Section 720
//vo_mgun1 (vo_mgun1)
package {
import flash.media.*;
public dynamic class vo_mgun1 extends Sound {
}
}//package
Section 721
//vo_mgun1_ant (vo_mgun1_ant)
package {
import flash.media.*;
public dynamic class vo_mgun1_ant extends Sound {
}
}//package
Section 722
//vo_mgun2 (vo_mgun2)
package {
import flash.media.*;
public dynamic class vo_mgun2 extends Sound {
}
}//package
Section 723
//vo_mgun2_ant (vo_mgun2_ant)
package {
import flash.media.*;
public dynamic class vo_mgun2_ant extends Sound {
}
}//package
Section 724
//vo_moreammo (vo_moreammo)
package {
import flash.media.*;
public dynamic class vo_moreammo extends Sound {
}
}//package
Section 725
//vo_moreammo_ant (vo_moreammo_ant)
package {
import flash.media.*;
public dynamic class vo_moreammo_ant extends Sound {
}
}//package
Section 726
//vo_morecash (vo_morecash)
package {
import flash.media.*;
public dynamic class vo_morecash extends Sound {
}
}//package
Section 727
//vo_morecash_ant (vo_morecash_ant)
package {
import flash.media.*;
public dynamic class vo_morecash_ant extends Sound {
}
}//package
Section 728
//vo_morehealth (vo_morehealth)
package {
import flash.media.*;
public dynamic class vo_morehealth extends Sound {
}
}//package
Section 729
//vo_morehealth_ant (vo_morehealth_ant)
package {
import flash.media.*;
public dynamic class vo_morehealth_ant extends Sound {
}
}//package
Section 730
//vo_rocket (vo_rocket)
package {
import flash.media.*;
public dynamic class vo_rocket extends Sound {
}
}//package
Section 731
//vo_rocket_ant (vo_rocket_ant)
package {
import flash.media.*;
public dynamic class vo_rocket_ant extends Sound {
}
}//package
Section 732
//vo_sgun1 (vo_sgun1)
package {
import flash.media.*;
public dynamic class vo_sgun1 extends Sound {
}
}//package
Section 733
//vo_sgun1_ant (vo_sgun1_ant)
package {
import flash.media.*;
public dynamic class vo_sgun1_ant extends Sound {
}
}//package
Section 734
//vo_sgun2 (vo_sgun2)
package {
import flash.media.*;
public dynamic class vo_sgun2 extends Sound {
}
}//package
Section 735
//vo_sgun2_ant (vo_sgun2_ant)
package {
import flash.media.*;
public dynamic class vo_sgun2_ant extends Sound {
}
}//package
Section 736
//vo_whoopsie (vo_whoopsie)
package {
import flash.media.*;
public dynamic class vo_whoopsie extends Sound {
}
}//package
Section 737
//Web (Web)
package {
public class Web {
public static const FROM_MOCHI:int = 0;
public static const FROM_DISTRIBUTION:int = 1;
public static const FROM_KONG:int = 2;
public static const FROM_OTHERS:int = 3;
public static const FROM_ADDICTINGGAMES:int = 4;
public static const FROM_ARMORGAMES:int = 5;
public static var loadedFromExternalPreloader:Boolean = false;
private static var _fromSite:int = FROM_KONG;
private static var _mochiDisabled:Boolean = true;
private static var _mochiCoinDisabled:Boolean = true;
public static var disableDatabase:Boolean = true;
public static function get fromSite():int{
return (_fromSite);
}
public static function set fromSite(_arg1:int):void{
_fromSite = _arg1;
if (_arg1 == FROM_MOCHI){
mochiDisabled = false;
mochiCoinDisabled = false;
} else {
if (_arg1 == FROM_DISTRIBUTION){
mochiDisabled = false;
mochiCoinDisabled = true;
} else {
if (_arg1 == FROM_KONG){
mochiDisabled = true;
mochiCoinDisabled = true;
} else {
if (_arg1 == FROM_ADDICTINGGAMES){
mochiDisabled = true;
mochiCoinDisabled = true;
} else {
if (_arg1 == FROM_ARMORGAMES){
mochiDisabled = true;
mochiCoinDisabled = true;
} else {
if (_arg1 == FROM_OTHERS){
mochiDisabled = true;
mochiCoinDisabled = true;
};
};
};
};
};
};
}
public static function get mochiDisabled():Boolean{
return (_mochiDisabled);
}
public static function set mochiDisabled(_arg1:Boolean):void{
_mochiDisabled = _arg1;
}
public static function get mochiCoinDisabled():Boolean{
return (_mochiCoinDisabled);
}
public static function set mochiCoinDisabled(_arg1:Boolean):void{
_mochiCoinDisabled = _arg1;
}
}
}//package
Section 738
//wheelChair (wheelChair)
package {
import flash.display.*;
public dynamic class wheelChair extends MovieClip {
}
}//package
Section 739
//woodstripe1PH (woodstripe1PH)
package {
import flash.display.*;
public dynamic class woodstripe1PH extends MovieClip {
}
}//package
Section 740
//woodstripe2PH (woodstripe2PH)
package {
import flash.display.*;
public dynamic class woodstripe2PH extends MovieClip {
}
}//package
Section 741
//yesbutton (yesbutton)
package {
import flash.media.*;
public dynamic class yesbutton extends Sound {
}
}//package
Section 742
//yesbutton2 (yesbutton2)
package {
import flash.media.*;
public dynamic class yesbutton2 extends Sound {
}
}//package
Section 743
//Zombie_armless (Zombie_armless)
package {
import flash.display.*;
public dynamic class Zombie_armless extends BitmapData {
public function Zombie_armless(_arg1:int=448, _arg2:int=384){
super(_arg1, _arg2);
}
}
}//package
Section 744
//Zombie_cvamp (Zombie_cvamp)
package {
import flash.display.*;
public dynamic class Zombie_cvamp extends BitmapData {
public function Zombie_cvamp(_arg1:int=612, _arg2:int=408){
super(_arg1, _arg2);
}
}
}//package
Section 745
//Zombie_death (Zombie_death)
package {
import flash.display.*;
public dynamic class Zombie_death extends BitmapData {
public function Zombie_death(_arg1:int=828, _arg2:int=92){
super(_arg1, _arg2);
}
}
}//package
Section 746
//Zombie_fat (Zombie_fat)
package {
import flash.display.*;
public dynamic class Zombie_fat extends BitmapData {
public function Zombie_fat(_arg1:int=672, _arg2:int=576){
super(_arg1, _arg2);
}
}
}//package
Section 747
//Zombie_girl (Zombie_girl)
package {
import flash.display.*;
public dynamic class Zombie_girl extends BitmapData {
public function Zombie_girl(_arg1:int=448, _arg2:int=384){
super(_arg1, _arg2);
}
}
}//package
Section 748
//Zombie_meat (Zombie_meat)
package {
import flash.display.*;
public dynamic class Zombie_meat extends BitmapData {
public function Zombie_meat(_arg1:int=504, _arg2:int=432){
super(_arg1, _arg2);
}
}
}//package
Section 749
//Zombie_onehand (Zombie_onehand)
package {
import flash.display.*;
public dynamic class Zombie_onehand extends BitmapData {
public function Zombie_onehand(_arg1:int=448, _arg2:int=384){
super(_arg1, _arg2);
}
}
}//package
Section 750
//Zombie_trap (Zombie_trap)
package {
import flash.display.*;
public dynamic class Zombie_trap extends BitmapData {
public function Zombie_trap(_arg1:int=0x0300, _arg2:int=384){
super(_arg1, _arg2);
}
}
}//package
Section 751
//Zombie_ufo (Zombie_ufo)
package {
import flash.display.*;
public dynamic class Zombie_ufo extends BitmapData {
public function Zombie_ufo(_arg1:int=864, _arg2:int=288){
super(_arg1, _arg2);
}
}
}//package
Section 752
//zombie_ufo_explode (zombie_ufo_explode)
package {
import flash.display.*;
public dynamic class zombie_ufo_explode extends BitmapData {
public function zombie_ufo_explode(_arg1:int=640, _arg2:int=640){
super(_arg1, _arg2);
}
}
}//package
Section 753
//zombieCollisionBox (zombieCollisionBox)
package {
import flash.display.*;
public dynamic class zombieCollisionBox extends MovieClip {
}
}//package