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

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

Luncheon of the Dead.swf

This is the info page for
Flash #30024

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


Text
Casual Games for Hardcore Gamers

Skip >

Skip >

Skip >

Click here to visit headmeatgames.com

Click here to visit headmeatgames.com

Click here to visit headmeatgames.com

Head

Meat

Games

Produced By:

ActionScript [AS3]

Section 1
//MD5 (com.adobe.crypto.MD5) package com.adobe.crypto { import com.adobe.utils.*; public class MD5 { private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function createBlocks(_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; _local2 = new Array(); _local3 = (_arg1.length * 8); _local4 = 0xFF; _local5 = 0; while (_local5 < _local3) { _local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32))); _local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3; return (_local2); } private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function f(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private static function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private static function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private static function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int; _local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hash(_arg1:String):String{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Array; var _local11:int; var _local12:int; _local2 = 1732584193; _local3 = -271733879; _local4 = -1732584194; _local5 = 271733878; _local10 = createBlocks(_arg1); _local11 = _local10.length; _local12 = 0; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } } }//package com.adobe.crypto
Section 2
//IntUtil (com.adobe.utils.IntUtil) package com.adobe.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local3:String; var _local4:int; var _local5:int; _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int; _local3 = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.adobe.utils
Section 3
//Bounce (fl.transitions.easing.Bounce) package fl.transitions.easing { public class Bounce { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 - easeOut((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeIn((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOut(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } } }//package fl.transitions.easing
Section 4
//Strong (fl.transitions.easing.Strong) package fl.transitions.easing { public class Strong { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } } }//package fl.transitions.easing
Section 5
//Tween (fl.transitions.Tween) package fl.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tween extends EventDispatcher { private var _position:Number;// = NAN public var prevTime:Number;// = NAN public var prevPos:Number;// = NAN public var isPlaying:Boolean;// = false public var begin:Number;// = NAN private var _fps:Number;// = NAN private var _time:Number;// = NAN public var change:Number;// = NAN private var _finish:Number;// = NAN public var looping:Boolean;// = false private var _intervalID:uint;// = 0 public var func:Function; private var _timer:Timer;// = null private var _startTime:Number;// = NAN public var prop:String;// = "" private var _duration:Number;// = NAN public var obj:Object;// = null public var useSeconds:Boolean;// = false protected static var _mc:MovieClip = new MovieClip(); public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){ isPlaying = false; obj = null; prop = ""; func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); }; begin = NaN; change = NaN; useSeconds = false; prevTime = NaN; prevPos = NaN; looping = false; _duration = NaN; _time = NaN; _fps = NaN; _position = NaN; _startTime = NaN; _intervalID = 0; _finish = NaN; _timer = null; super(); if (!arguments.length){ return; }; this.obj = _arg1; this.prop = _arg2; this.begin = _arg4; this.position = _arg4; this.duration = _arg6; this.useSeconds = _arg7; if ((_arg3 is Function)){ this.func = _arg3; }; this.finish = _arg5; this._timer = new Timer(100); this.start(); } public function continueTo(_arg1:Number, _arg2:Number):void{ this.begin = this.position; this.finish = _arg1; if (!isNaN(_arg2)){ this.duration = _arg2; }; this.start(); } public function stop():void{ this.stopEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position)); } private function fixTime():void{ if (this.useSeconds){ this._startTime = (getTimer() - (this._time * 1000)); }; } public function set FPS(_arg1:Number):void{ var _local2:Boolean; _local2 = this.isPlaying; this.stopEnterFrame(); this._fps = _arg1; if (_local2){ this.startEnterFrame(); }; } public function get finish():Number{ return ((this.begin + this.change)); } public function get duration():Number{ return (this._duration); } protected function startEnterFrame():void{ var _local1:Number; if (isNaN(this._fps)){ _mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true); } else { _local1 = (1000 / this._fps); this._timer.delay = _local1; this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true); this._timer.start(); }; this.isPlaying = true; } public function set time(_arg1:Number):void{ this.prevTime = this._time; if (_arg1 > this.duration){ if (this.looping){ this.rewind((_arg1 - this._duration)); this.update(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position)); } else { if (this.useSeconds){ this._time = this._duration; this.update(); }; this.stop(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position)); }; } else { if (_arg1 < 0){ this.rewind(); this.update(); } else { this._time = _arg1; this.update(); }; }; } protected function stopEnterFrame():void{ if (isNaN(this._fps)){ _mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } else { this._timer.stop(); }; this.isPlaying = false; } public function getPosition(_arg1:Number=NaN):Number{ if (isNaN(_arg1)){ _arg1 = this._time; }; return (this.func(_arg1, this.begin, this.change, this._duration)); } public function set finish(_arg1:Number):void{ this.change = (_arg1 - this.begin); } public function set duration(_arg1:Number):void{ this._duration = ((_arg1)<=0) ? Infinity : _arg1; } public function setPosition(_arg1:Number):void{ this.prevPos = this._position; if (this.prop.length){ this.obj[this.prop] = (this._position = _arg1); }; this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position)); } public function resume():void{ this.fixTime(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position)); } public function fforward():void{ this.time = this._duration; this.fixTime(); } protected function onEnterFrame(_arg1:Event):void{ this.nextFrame(); } public function get position():Number{ return (this.getPosition(this._time)); } public function yoyo():void{ this.continueTo(this.begin, this.time); } public function nextFrame():void{ if (this.useSeconds){ this.time = ((getTimer() - this._startTime) / 1000); } else { this.time = (this._time + 1); }; } protected function timerHandler(_arg1:TimerEvent):void{ this.nextFrame(); _arg1.updateAfterEvent(); } public function get FPS():Number{ return (this._fps); } public function rewind(_arg1:Number=0):void{ this._time = _arg1; this.fixTime(); this.update(); } public function set position(_arg1:Number):void{ this.setPosition(_arg1); } public function get time():Number{ return (this._time); } private function update():void{ this.setPosition(this.getPosition(this._time)); } public function start():void{ this.rewind(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position)); } public function prevFrame():void{ if (!this.useSeconds){ this.time = (this._time - 1); }; } } }//package fl.transitions
Section 6
//TweenEvent (fl.transitions.TweenEvent) package fl.transitions { import flash.events.*; public class TweenEvent extends Event { public var time:Number;// = NAN public var position:Number;// = NAN public static const MOTION_START:String = "motionStart"; public static const MOTION_STOP:String = "motionStop"; public static const MOTION_LOOP:String = "motionLoop"; public static const MOTION_CHANGE:String = "motionChange"; public static const MOTION_FINISH:String = "motionFinish"; public static const MOTION_RESUME:String = "motionResume"; public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){ time = NaN; position = NaN; super(_arg1, _arg4, _arg5); this.time = _arg2; this.position = _arg3; } override public function clone():Event{ return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable)); } } }//package fl.transitions
Section 7
//BitmapAsset (mx.core.BitmapAsset) package mx.core { import flash.display.*; public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject { mx_internal static const VERSION:String = "2.0.1.0"; public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } public function get measuredWidth():Number{ if (bitmapData){ return (bitmapData.width); }; return (0); } public function get measuredHeight():Number{ if (bitmapData){ return (bitmapData.height); }; return (0); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } } }//package mx.core
Section 8
//ByteArrayAsset (mx.core.ByteArrayAsset) package mx.core { import flash.utils.*; public class ByteArrayAsset extends ByteArray implements IFlexAsset { mx_internal static const VERSION:String = "2.0.1.0"; } }//package mx.core
Section 9
//FlexBitmap (mx.core.FlexBitmap) package mx.core { import flash.display.*; import mx.utils.*; public class FlexBitmap extends Bitmap { mx_internal static const VERSION:String = "2.0.1.0"; public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ var bitmapData = _arg1; var pixelSnapping = _arg2; var smoothing = _arg3; super(bitmapData, pixelSnapping, smoothing); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 10
//FlexMovieClip (mx.core.FlexMovieClip) package mx.core { import flash.display.*; import mx.utils.*; public class FlexMovieClip extends MovieClip { mx_internal static const VERSION:String = "2.0.1.0"; public function FlexMovieClip(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 11
//FontAsset (mx.core.FontAsset) package mx.core { import flash.text.*; public class FontAsset extends Font implements IFlexAsset { mx_internal static const VERSION:String = "2.0.1.0"; } }//package mx.core
Section 12
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 13
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get name():String; function set width(_arg1:Number):void; function get measuredHeight():Number; function set height(_arg1:Number):void; function get scaleY():Number; function move(_arg1:Number, _arg2:Number):void; function get scaleX():Number; function set mask(_arg1:DisplayObject):void; function set scaleX(_arg1:Number):void; function set name(_arg1:String):void; function set scaleY(_arg1:Number):void; function get visible():Boolean; function get measuredWidth():Number; function set visible(_arg1:Boolean):void; function get alpha():Number; function get height():Number; function get width():Number; function get parent():DisplayObjectContainer; function get mask():DisplayObject; function set x(_arg1:Number):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set y(_arg1:Number):void; function get x():Number; function get y():Number; function set alpha(_arg1:Number):void; } }//package mx.core
Section 14
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function set instanceIndices(_arg1:Array):void; function get isDocument():Boolean; function get repeaters():Array; function get instanceIndices():Array; function set repeaters(_arg1:Array):void; function initializeRepeaterArrays(_arg1:IRepeaterClient):void; function set repeaterIndices(_arg1:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 15
//MovieClipAsset (mx.core.MovieClipAsset) package mx.core { public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject { private var _measuredWidth:Number; private var _measuredHeight:Number; mx_internal static const VERSION:String = "2.0.1.0"; public function MovieClipAsset(){ _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } } }//package mx.core
Section 16
//MovieClipLoaderAsset (mx.core.MovieClipLoaderAsset) package mx.core { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.system.*; public class MovieClipLoaderAsset extends MovieClipAsset implements IFlexAsset, IFlexDisplayObject { private var requestedWidth:Number; private var loader:Loader;// = null private var requestedHeight:Number; private var initialized:Boolean;// = false protected var initialWidth:Number;// = 0 protected var initialHeight:Number;// = 0 mx_internal static const VERSION:String = "2.0.1.0"; public function MovieClipLoaderAsset(){ var _local1:LoaderContext; loader = null; initialized = false; initialWidth = 0; initialHeight = 0; super(); _local1 = new LoaderContext(); _local1.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.loadBytes(movieClipData, _local1); addChild(loader); } private function completeHandler(_arg1:Event):void{ initialized = true; initialWidth = loader.width; initialHeight = loader.height; if (!isNaN(requestedWidth)){ loader.width = requestedWidth; }; if (!isNaN(requestedHeight)){ loader.height = requestedHeight; }; dispatchEvent(_arg1); } override public function get height():Number{ if (!initialized){ return (initialHeight); }; return (super.height); } override public function set height(_arg1:Number):void{ if (!initialized){ requestedHeight = _arg1; } else { loader.height = _arg1; }; } public function get movieClipData():ByteArray{ return (null); } override public function set width(_arg1:Number):void{ if (!initialized){ requestedWidth = _arg1; } else { loader.width = _arg1; }; } override public function get measuredWidth():Number{ return (initialWidth); } override public function get measuredHeight():Number{ return (initialHeight); } override public function get width():Number{ if (!initialized){ return (initialWidth); }; return (super.width); } } }//package mx.core
Section 17
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 18
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "2.0.1.0"; } }//package mx.core
Section 19
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import flash.utils.*; import mx.core.*; public class NameUtil { mx_internal static const VERSION:String = "2.0.1.0"; private static var counter:int = 0; public static function displayObjectToString(_arg1:DisplayObject):String{ var _local2:String; var _local3:DisplayObject; var _local4:String; var _local5:Array; _local3 = _arg1; while (_local3 != null) { if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){ break; }; _local4 = _local3.name; if ((_local3 is IRepeaterClient)){ _local5 = IRepeaterClient(_local3).instanceIndices; if (_local5){ _local4 = (_local4 + (("[" + _local5.join("][")) + "]")); }; }; _local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2); _local3 = _local3.parent; }; return (_local2); } public static function createUniqueName(_arg1:Object):String{ var _local2:String; var _local3:int; var _local4:int; if (!_arg1){ return (null); }; _local2 = getQualifiedClassName(_arg1); _local3 = _local2.indexOf("::"); if (_local3 != -1){ _local2 = _local2.substr((_local3 + 2)); }; _local4 = _local2.charCodeAt((_local2.length - 1)); if ((((_local4 >= 48)) && ((_local4 <= 57)))){ _local2 = (_local2 + "_"); }; return ((_local2 + counter++)); } } }//package mx.utils
Section 20
//AnimatedSprite (AnimatedSprite) package { import flash.display.*; public class AnimatedSprite extends Sprite { private var _currentFrameIndex:int; private var _frameBuffer:Array; private var _completed:Boolean; public function AnimatedSprite(_arg1:Array){ var _local2:Bitmap; super(); _currentFrameIndex = 0; _frameBuffer = new Array(); _completed = false; for each (_local2 in _arg1) { _frameBuffer.push(_local2); addChild(_local2); _local2.visible = false; _local2.smoothing = false; }; _frameBuffer[_currentFrameIndex].visible = true; } public function MovePlayhead(_arg1:int=1):Bitmap{ _frameBuffer[_currentFrameIndex].visible = false; _currentFrameIndex = (_currentFrameIndex + _arg1); if (_currentFrameIndex < 0){ _currentFrameIndex = 0; } else { if (_currentFrameIndex >= this.NumFrames){ _currentFrameIndex = 0; _completed = true; }; }; _frameBuffer[_currentFrameIndex].visible = true; return (_frameBuffer[_currentFrameIndex]); } public function set Width(_arg1:Number):void{ var _local2:Bitmap; for each (_local2 in _frameBuffer) { _local2.width = _arg1; }; } public function set Height(_arg1:Number):void{ var _local2:Bitmap; for each (_local2 in _frameBuffer) { _local2.height = _arg1; }; } public function get NumFrames():int{ return (_frameBuffer.length); } public function get CurrentFrameIndex():int{ return (_currentFrameIndex); } public function set X(_arg1:Number):void{ var _local2:Bitmap; for each (_local2 in _frameBuffer) { _local2.x = _arg1; }; } public function set Y(_arg1:Number):void{ var _local2:Bitmap; for each (_local2 in _frameBuffer) { _local2.y = _arg1; }; } public function get CurrentFrame():Sprite{ return (_frameBuffer[_currentFrameIndex]); } public function Rewind():void{ _currentFrameIndex = 0; _completed = false; } public function IsFinished():Boolean{ return (_completed); } public function get FrameBuffer():Array{ return (_frameBuffer); } } }//package
Section 21
//AnimatedSpriteBuffer (AnimatedSpriteBuffer) package { import flash.display.*; public class AnimatedSpriteBuffer extends Sprite { public var _attackSprite:AnimatedSprite; public var _damagedSprite:AnimatedSprite; public var _nextSprite:AnimatedSprite; public var _idleSprite:AnimatedSprite; public var _miscSprite:AnimatedSprite; public var _moveSprite:AnimatedSprite; public var _currentSprite:AnimatedSprite; public function AnimatedSpriteBuffer(_arg1:AnimatedSprite, _arg2:AnimatedSprite, _arg3:AnimatedSprite, _arg4:AnimatedSprite, _arg5:AnimatedSprite){ _idleSprite = _arg1; _idleSprite.visible = false; _attackSprite = _arg2; _attackSprite.visible = false; _moveSprite = _arg3; _moveSprite.visible = false; _damagedSprite = _arg4; _damagedSprite.visible = false; _miscSprite = _arg5; if (_miscSprite != null){ _miscSprite.visible = false; }; _currentSprite = _arg1; _currentSprite.visible = true; _nextSprite = null; addChild(_idleSprite); addChild(_attackSprite); addChild(_moveSprite); addChild(_damagedSprite); if (_miscSprite != null){ addChild(_miscSprite); }; } public function set CurrentSprite(_arg1:AnimatedSprite):void{ if (_arg1 != _currentSprite){ _currentSprite.visible = false; _currentSprite.Rewind(); _currentSprite = _arg1; _currentSprite.Rewind(); _currentSprite.visible = true; }; } public function get MoveSprite():AnimatedSprite{ return (this._moveSprite); } public function get AttackSprite():AnimatedSprite{ return (this._attackSprite); } public function set NextSprite(_arg1:AnimatedSprite):void{ _nextSprite = _arg1; } public function SetNextFrameBuffer(_arg1:AnimatedSprite, _arg2:Boolean=false):void{ if (_arg2){ this.CurrentSprite = _arg1; } else { this.NextSprite = _arg1; }; } public function ShowNextFrame():void{ _currentSprite.MovePlayhead(1); if (((_currentSprite.IsFinished()) && (!((_nextSprite == null))))){ CurrentSprite = _nextSprite; _nextSprite = null; }; } public function get IdleSprite():AnimatedSprite{ return (this._idleSprite); } public function get DamagedSprite():AnimatedSprite{ return (this._damagedSprite); } public function get MiscSprite():AnimatedSprite{ return (this._miscSprite); } } }//package
Section 22
//ApplicationManager (ApplicationManager) package { import flash.display.*; public class ApplicationManager extends Sprite { private var _instructionScreen:InstructionScreen; private var _gameOverScreen:GameOverScreen; private var _menuScreen:MainMenuScreen; public var _chillerEmbed:String;// = "ApplicationManager__chillerEmbed" public var _verdanaEmbed:String;// = "ApplicationManager__verdanaEmbed" private var _difficultySelectionScreen:DifficultySelectionScreen; private var _creditsScreen:CreditsScreen; private var _game:BrunchOfTheDead; private static var _Instance:ApplicationManager; public function ApplicationManager(){ _chillerEmbed = "ApplicationManager__chillerEmbed"; _verdanaEmbed = "ApplicationManager__verdanaEmbed"; super(); _difficultySelectionScreen = new DifficultySelectionScreen(); _menuScreen = new MainMenuScreen(this); _gameOverScreen = new GameOverScreen(); _instructionScreen = new InstructionScreen(); _creditsScreen = new CreditsScreen(); } public function ShowInstructions():void{ this.stage.quality = "HIGH"; if (stage.contains(_menuScreen)){ stage.removeChild(_menuScreen); }; stage.addChild(_instructionScreen); } public function ShowCreditsScreen():void{ this.stage.quality = "HIGH"; if (stage.contains(_menuScreen)){ stage.removeChild(_menuScreen); }; _creditsScreen.show(); stage.addChild(_creditsScreen); } public function ShowMenuScreen():void{ this.stage.quality = "HIGH"; trace((((("LOADED! (" + stage.width) + ",") + stage.height) + ")")); if (((!((_game == null))) && (stage.contains(_game)))){ stage.removeChild(_game); _game = null; }; if (stage.contains(_creditsScreen)){ _creditsScreen.hide(); stage.removeChild(_creditsScreen); }; stage.addChild(_menuScreen); } public function ShowGame(_arg1:String="NORMAL"):void{ trace("starting game..."); if (stage.contains(_menuScreen)){ stage.removeChild(_menuScreen); }; if (stage.contains(_instructionScreen)){ stage.removeChild(_instructionScreen); }; if (stage.contains(_difficultySelectionScreen)){ stage.removeChild(_difficultySelectionScreen); }; if (((!((_game == null))) && (stage.contains(_game)))){ stage.removeChild(_game); }; _game = BrunchOfTheDead.Reset(); stage.addChild(_game); _game.Init(_arg1); this.stage.quality = "LOW"; } public function ShowDifficultySelection():void{ trace("select difficulty"); if (stage.contains(_menuScreen)){ stage.removeChild(_menuScreen); }; if (stage.contains(_instructionScreen)){ stage.removeChild(_instructionScreen); }; stage.addChild(_difficultySelectionScreen); } public function ShowLoadScreen():void{ trace("Loading..."); } public static function Instance():ApplicationManager{ if (_Instance == null){ _Instance = new (ApplicationManager); }; return (_Instance); } } }//package
Section 23
//ApplicationManager__chillerEmbed (ApplicationManager__chillerEmbed) package { import mx.core.*; public class ApplicationManager__chillerEmbed extends FontAsset { } }//package
Section 24
//ApplicationManager__verdanaEmbed (ApplicationManager__verdanaEmbed) package { import mx.core.*; public class ApplicationManager__verdanaEmbed extends FontAsset { } }//package
Section 25
//AttackBehaviourEnum (AttackBehaviourEnum) package { public final class AttackBehaviourEnum { public static const DONOTATTACK:int = 2; public static const ATTACKDEFENSIVELY:int = 1; public static const ATTACKAGGRESSIVELY:int = 0; } }//package
Section 26
//BrunchOfTheDead (BrunchOfTheDead) package { import flash.events.*; import flash.text.*; import flash.display.*; import flash.geom.*; import flash.utils.*; import flash.media.*; import flash.ui.*; public class BrunchOfTheDead extends Sprite { private var _gameOverScreen:GameOverScreen; public var _MouseMoveActionEnum:int;// = 0 public var _zombieToughnessUpgradeLevel:int;// = 4 private var _zombieGrowthSpeed:int;// = 500 public var _timeStack:Array; public var _difficultyLevel:String; public var sc:SoundChannel; public var _isPaused:Boolean;// = false private var _splode:MovieClip; public var _debrisBaseToughness:int;// = 10 private var _zombieGrowthRate:int;// = 10 private var _selectionBox:Sprite; public var _debrisUpgradeLevel:int;// = 0 private var _zombiePopulation:int;// = 0 private var _worldGrid:WorldGrid; private var _configView:ConfigView; public var _MouseDownWorldPoint:Point; private var _zombieGrowthFired:TextField; private var _zombieGrowthCounter:int;// = 0 public var _zombieUpgradeMetrognome:int;// = 0 public var _debrisBonusPerLevel:int;// = 5 public var _frameRateField:TextField; public var UIFrame:Class; public var _zombiePopulationHardLimit:int;// = 100 public var Splode:Class; public var _pausedOverlay:PauseMenuScreen; private var _zombiePump:Boolean;// = false public var snd:Sound; private var _engine:Engine; public var _molotovBaseRadius:int;// = 3 private var _pumpToggle:Boolean;// = true public var _molotovBonusPerLevel:int;// = 1 private var _UserInterface:Sprite; public var _zombiePowerUpgradeLevel:int;// = 4 private var _lastLoop:Number; private var _PlayFieldView:Sprite; public var _molotovUpgradeLevel:int;// = 0 public var _MouseDownActionEnum:int;// = 0 private var _pathFindQueueLimit:int;// = 4 public var _zombieSpeedUpgradeLevel:int;// = 4 public static var _globalMolotovHarvestRate:Number = 0.0025; public static var _globalUpgradeBaseCost:int = 50; public static var _globalFibSeed:int = 50; public static var GameMajorVersion:int = 0; private static var _Instance:BrunchOfTheDead; public static var GameMinorVersion:int = 9; public static var _globalUpgradeHardLimit:int = 10; public static var _molotovSound:Sound = new MolotovSound(); public static var MolotovSound:Class = BrunchOfTheDead_MolotovSound; public static var _globalSoundTransform:SoundTransform = new SoundTransform(0.5); public function BrunchOfTheDead(){ UIFrame = BrunchOfTheDead_UIFrame; Splode = BrunchOfTheDead_Splode; _debrisUpgradeLevel = 0; _debrisBonusPerLevel = 5; _debrisBaseToughness = 10; _molotovUpgradeLevel = 0; _molotovBonusPerLevel = 1; _molotovBaseRadius = 3; _zombieToughnessUpgradeLevel = 4; _zombieSpeedUpgradeLevel = 4; _zombiePowerUpgradeLevel = 4; _zombieUpgradeMetrognome = 0; _zombiePopulationHardLimit = 100; _zombiePopulation = 0; _zombieGrowthRate = 10; _zombieGrowthSpeed = 500; _zombieGrowthFired = new TextField(); _isPaused = false; _MouseMoveActionEnum = 0; _MouseDownActionEnum = 0; _zombieGrowthCounter = 0; _zombiePump = false; _pumpToggle = true; _pathFindQueueLimit = 4; super(); this.focusRect = false; } public function RegisterHandlers():void{ _PlayFieldView.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); addEventListener(MouseEvent.MOUSE_UP, onMouseUp); _PlayFieldView.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); addEventListener(Event.ENTER_FRAME, onEnterFrame); addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); } public function get MolotovUpgradeLevel():int{ return (_molotovUpgradeLevel); } public function AddZombieAt(_arg1:Number, _arg2:Number):Zombie{ var _local3:Zombie; var _local4:Boolean; var _local5:Boolean; var _local6:int; var _local7:int; var _local8:int; _local3 = null; _local4 = Engine.Instance().GetWorldGrid().GetTileOccupied(_arg1, _arg2); if (!_local4){ _local3 = new Zombie(); _local3.EngineX = _arg1; _local3.EngineY = _arg2; _local3.moveAngle = (Math.random() * 360); _local5 = Engine.Instance().InsertEngineObject(_local3); if (_local5){ _local6 = (Math.random() * this._zombieToughnessUpgradeLevel); _local7 = (Math.random() * this._zombieSpeedUpgradeLevel); _local8 = (Math.random() * this._zombiePowerUpgradeLevel); _local3.toughnessUpgradeLevel = _local6; _local3.attackPowerUpgradeLevel = _local7; _local3.attackSpeedUpgradeLevel = _local8; _local3.moveSpeedUpgradeLevel = _local8; }; }; return (_local3); } public function get MolotovRadius():int{ return ((this._molotovBaseRadius + (this._molotovUpgradeLevel * this._molotovBonusPerLevel))); } public function AddDebrisAt(_arg1:Number, _arg2:Number):Debris{ var _local3:Debris; var _local4:Boolean; var _local5:Boolean; _local3 = null; if ((((_arg1 >= 0)) && ((_arg2 >= 0)))){ _local4 = Engine.Instance().GetWorldGrid().GetTileOccupied(_arg1, _arg2); if (!_local4){ _local3 = new Debris(this._debrisBaseToughness, this._debrisBonusPerLevel); _local3.EngineX = _arg1; _local3.EngineY = _arg2; if (Inventory.GetInstance().Debris() >= 1){ _local5 = Engine.Instance().InsertEngineObject(_local3); if (_local5){ Inventory.GetInstance().GetDebris(); _local3.toughnessUpgradeLevel = _debrisUpgradeLevel; }; }; }; }; return (_local3); } private function onEnterFrame(_arg1:Event):void{ var _local2:CommandQueue; var _local3:Array; var _local4:int; var _local5:uint; var _local6:Point; var _local7:Point; var _local8:Point; var _local9:Point; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; if (Engine.Instance().GetWorldGrid().Defenders.length == 0){ this.UnregisterHandlers(); this._timeStack.push(new Date()); CommandQueue.Instance().Cursor.visible = false; Mouse.show(); this._pausedOverlay._floatingMenu.visible = false; this._pausedOverlay.visible = true; stage.focus = this._pausedOverlay; _gameOverScreen.Show(); stage.focus = this._gameOverScreen; return; }; _local2 = CommandQueue.Instance(); if (((!((_local2.Cursor.x == mouseX))) || (!((_local2.Cursor.y == mouseY))))){ _local6 = Engine.Instance().GetWorldGrid().GlobalPixelToEngine(this.localToGlobal(new Point(_local2.Cursor.x, _local2.Cursor.y))); _local2.Cursor.x = mouseX; _local2.Cursor.y = mouseY; _local7 = Engine.Instance().GetWorldGrid().GlobalPixelToEngine(this.localToGlobal(new Point(mouseX, mouseY))); switch (_local2.Command){ case CommandQueue.SELECTBOX: _local8 = Engine.Instance().GetWorldGrid().EngineToGlobalPixel(this._MouseDownWorldPoint); _local9 = Engine.Instance().GetWorldGrid().EngineToGlobalPixel(_local7); _selectionBox.x = _local8.x; _selectionBox.y = _local8.y; _selectionBox.graphics.clear(); _selectionBox.graphics.beginFill(0xFF00, 0.8); _selectionBox.graphics.drawRect(0, 0, (_local9.x - _local8.x), (_local9.y - _local8.y)); _selectionBox.graphics.drawRect(1, 1, ((_local9.x - _local8.x) - 2), ((_local9.y - _local8.y) - 2)); _selectionBox.graphics.endFill(); _selectionBox.visible = true; break; case CommandQueue.PLACEDEBRIS: while (((!((_local6.x == _local7.x))) || (!((_local6.y == _local7.y))))) { this.AddDebrisAt(_local6.x, _local6.y); if (_local6.x < _local7.x){ _local6.x++; } else { if (_local6.x > _local7.x){ _local6.x--; }; }; this.AddDebrisAt(_local6.x, _local6.y); if (_local6.y < _local7.y){ _local6.y++; } else { if (_local6.y > _local7.y){ _local6.y--; }; }; this.AddDebrisAt(_local6.x, _local6.y); }; break; }; }; if (this._frameRateField.visible){ _local10 = getTimer(); _local11 = (_local10 - _lastLoop); _lastLoop = _local10; _local12 = _local11; _local13 = (1000 / stage.frameRate); _frameRateField.text = ((stage.frameRate / (_local12 / _local13)).toFixed(0) + "fps"); }; if (_zombiePump == true){ if (_pumpToggle){ this.AddZombieAt(25, 62); } else { this.AddZombieAt(40, 62); }; _pumpToggle = !(_pumpToggle); }; _local3 = Engine.Instance().GetWorldGrid().GetAllEngineObjectsOfType(CombatObject); _local4 = 0; _local5 = 0; while (_local5 < _local3.length) { if (_local3[_local5].ParentGrid != null){ if ((_local3[_local5] is Defender)){ _local3[_local5].ScroungeEvent(); _local3[_local5].AttackEvent(); _local3[_local5].MoveEvent(); if ((_local3[_local5] as Defender).DamagedThisTick){ (_local3[_local5] as Defender).currentAnimation.CurrentSprite = (_local3[_local5] as Defender).currentAnimation.DamagedSprite; (_local3[_local5] as Defender).DamagedThisTick = false; } else { if ((_local3[_local5] as Defender).AttackedThisTick){ (_local3[_local5] as Defender).currentAnimation.NextSprite = (_local3[_local5] as Defender).currentAnimation.AttackSprite; (_local3[_local5] as Defender).AttackedThisTick = false; } else { if ((_local3[_local5] as Defender).MovedThisTick){ (_local3[_local5] as Defender).currentAnimation.NextSprite = (_local3[_local5] as Defender).currentAnimation.MoveSprite; (_local3[_local5] as Defender).MovedThisTick = false; } else { if ((_local3[_local5] as Defender).ScroungedThisTick){ (_local3[_local5] as Defender).currentAnimation.NextSprite = (_local3[_local5] as Defender).currentAnimation.MiscSprite; (_local3[_local5] as Defender).ScroungedThisTick = false; } else { (_local3[_local5] as Defender).currentAnimation.NextSprite = (_local3[_local5] as Defender).currentAnimation.IdleSprite; }; }; }; }; (_local3[_local5] as Defender).currentAnimation.ShowNextFrame(); } else { if ((_local3[_local5] is Zombie)){ _local3[_local5].AttackEvent(); _local3[_local5].MoveEvent(); _local4++; if ((_local3[_local5] as Zombie).DamagedThisTick){ (_local3[_local5] as Zombie).currentAnimation.CurrentSprite = (_local3[_local5] as Zombie).currentAnimation.DamagedSprite; (_local3[_local5] as Zombie).DamagedThisTick = false; } else { if ((_local3[_local5] as Zombie).AttackedThisTick){ (_local3[_local5] as Zombie).currentAnimation.NextSprite = (_local3[_local5] as Zombie).currentAnimation.AttackSprite; (_local3[_local5] as Zombie).AttackedThisTick = false; } else { if ((_local3[_local5] as Zombie).MovedThisTick){ (_local3[_local5] as Zombie).currentAnimation.NextSprite = (_local3[_local5] as Zombie).currentAnimation.MoveSprite; (_local3[_local5] as Zombie).MovedThisTick = false; } else { (_local3[_local5] as Zombie).currentAnimation.NextSprite = (_local3[_local5] as Zombie).currentAnimation.IdleSprite; }; }; }; (_local3[_local5] as Zombie).currentAnimation.ShowNextFrame(); }; }; }; _local5++; }; _zombieGrowthCounter++; if (_zombieGrowthCounter > this._zombieGrowthSpeed){ _zombieGrowthCounter = 0; _zombiePopulation = (_zombiePopulation + this._zombieGrowthRate); if (_zombiePopulation > _zombiePopulationHardLimit){ _zombiePopulation = _zombiePopulationHardLimit; switch (_zombieUpgradeMetrognome){ case 0: this._zombiePowerUpgradeLevel++; _zombieUpgradeMetrognome++; _zombieGrowthFired.text = "Stronger Zombies!"; break; case 1: this._zombieSpeedUpgradeLevel++; _zombieUpgradeMetrognome++; _zombieGrowthFired.text = "Faster Zombies!"; break; case 2: this._zombieToughnessUpgradeLevel++; _zombieUpgradeMetrognome = 0; _zombieGrowthFired.text = "Tougher Zombies!"; break; default: _zombieUpgradeMetrognome = 0; break; }; } else { _zombieGrowthFired.text = "More Zombies!"; }; _zombieGrowthFired.alpha = 1; _zombieGrowthFired.visible = true; } else { if (_zombieGrowthFired.alpha > 0){ _zombieGrowthFired.alpha = (_zombieGrowthFired.alpha - 0.0125); if (_zombieGrowthFired.alpha < 0){ _zombieGrowthFired.visible = false; _zombieGrowthFired.alpha = 0; }; }; }; Engine.Instance().GetWorldGrid().ProcessPathfindQueue(_pathFindQueueLimit); _zombiePump = (_local4 < _zombiePopulation); Engine.Instance().GetWorldGrid()._pathfindCount = 0; SelectedView.Instance().UpdateUI(); } public function UnPause():void{ if (stage != null){ if (_isPaused){ this.RegisterHandlers(); CommandQueue.Instance().Cursor.visible = true; Mouse.hide(); this._timeStack.push(new Date()); this._pausedOverlay.Dismiss(); stage.focus = this._PlayFieldView; _isPaused = false; }; }; } public function set MolotovUpgradeLevel(_arg1:int):void{ var _local2:int; this._molotovUpgradeLevel = _arg1; _local2 = ((MolotovRadius * 2) * 10); CommandQueue.Instance()._molotovCursor.width = _local2; CommandQueue.Instance()._molotovCursor.height = _local2; } private function onKeyDown(_arg1:KeyboardEvent):void{ trace(("key down: " + _arg1.keyCode)); CommandView.Instance().keyDownHandler(_arg1); } public function AddDefenderAt(_arg1:Number, _arg2:Number):Defender{ var _local3:Defender; var _local4:Boolean; var _local5:Boolean; _local3 = null; _local4 = Engine.Instance().GetWorldGrid().GetTileOccupied(_arg1, _arg2); if (!_local4){ _local3 = new Defender(); _local3.EngineX = _arg1; _local3.EngineY = _arg2; _local3.moveAngle = (Math.random() * 360); _local5 = Engine.Instance().InsertEngineObject(_local3); }; return (_local3); } public function UnregisterHandlers():void{ removeEventListener(Event.ENTER_FRAME, onEnterFrame); removeEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); _PlayFieldView.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); _PlayFieldView.removeEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public function Init(_arg1:String="NORMAL"):void{ var _local2:Bitmap; var _local3:int; var _local4:Number; var _local5:int; _difficultyLevel = _arg1; if (_arg1 == "EASY"){ _globalUpgradeBaseCost = 25; _zombieToughnessUpgradeLevel = 2; _zombieSpeedUpgradeLevel = 2; _zombiePowerUpgradeLevel = 2; _zombiePopulation = 0; _zombieGrowthRate = 10; _zombieGrowthSpeed = 500; _zombiePopulationHardLimit = 150; _globalMolotovHarvestRate = 0.005; } else { if (_arg1 == "NORMAL"){ _globalUpgradeBaseCost = 50; _zombieToughnessUpgradeLevel = 4; _zombieSpeedUpgradeLevel = 4; _zombiePowerUpgradeLevel = 4; _zombiePopulation = 0; _zombieGrowthRate = 10; _zombieGrowthSpeed = 500; _zombiePopulationHardLimit = 150; _globalMolotovHarvestRate = 0.0025; } else { if (_arg1 == "HARD"){ _globalUpgradeBaseCost = 75; _zombieToughnessUpgradeLevel = 8; _zombieSpeedUpgradeLevel = 8; _zombiePowerUpgradeLevel = 8; _zombiePopulation = 10; _zombieGrowthRate = 20; _zombieGrowthSpeed = 250; _zombiePopulationHardLimit = 150; _globalMolotovHarvestRate = 0.00125; } else { if (_arg1 == "VERYHARD"){ _globalUpgradeBaseCost = 100; _zombieToughnessUpgradeLevel = 12; _zombieSpeedUpgradeLevel = 12; _zombiePowerUpgradeLevel = 12; _zombiePopulation = 100; _zombieGrowthRate = 50; _zombieGrowthSpeed = 125; _zombiePopulationHardLimit = 150; _globalMolotovHarvestRate = 0.000625; }; }; }; }; this.MolotovUpgradeLevel = 0; _timeStack = new Array(); _timeStack.push(new Date()); Mouse.hide(); _lastLoop = getTimer(); _PlayFieldView = new Sprite(); _PlayFieldView.mouseEnabled = true; _PlayFieldView.mouseChildren = false; _PlayFieldView.focusRect = false; addChild(_PlayFieldView); _UserInterface = new Sprite(); _UserInterface.mouseEnabled = true; _UserInterface.mouseChildren = false; _UserInterface.focusRect = false; addChild(_UserInterface); _UserInterface.graphics.clear(); _local2 = new UIFrame(); _UserInterface.graphics.beginBitmapFill(_local2.bitmapData); _UserInterface.graphics.drawRect(600, 0, 200, 640); _UserInterface.graphics.drawRect(0, 0, 50, 640); _UserInterface.graphics.drawRect(50, 0, 550, 55); _UserInterface.graphics.drawRect(50, 590, 550, 50); _UserInterface.graphics.endFill(); _UserInterface.graphics.beginFill(0x880000); _UserInterface.graphics.drawRect(0, 0, 800, 640); _UserInterface.graphics.drawRect(1, 1, 798, 638); _UserInterface.graphics.endFill(); _UserInterface.graphics.beginFill(0x770000); _UserInterface.graphics.drawRect(1, 1, 798, 638); _UserInterface.graphics.drawRect(2, 2, 796, 636); _UserInterface.graphics.endFill(); _UserInterface.graphics.beginFill(0x660000); _UserInterface.graphics.drawRect(2, 2, 796, 636); _UserInterface.graphics.drawRect(3, 3, 794, 634); _UserInterface.graphics.endFill(); _UserInterface.graphics.beginFill(0x550000); _UserInterface.graphics.drawRect(3, 3, 794, 634); _UserInterface.graphics.drawRect(4, 4, 792, 632); _UserInterface.graphics.endFill(); _UserInterface.graphics.beginFill(0x440000); _UserInterface.graphics.drawRect(4, 4, 792, 632); _UserInterface.graphics.drawRect(5, 5, 790, 630); _UserInterface.graphics.endFill(); _frameRateField = new TextField(); _frameRateField.defaultTextFormat = new TextFormat("Verdana", 18, 0xFFFFFF); _frameRateField.x = 10; _frameRateField.y = 600; _frameRateField.text = "999fps"; _frameRateField.visible = false; _UserInterface.addChild(this._frameRateField); addChild(CommandView.Instance()); CommandView.Instance().x = 605; CommandView.Instance().y = 275; addChild(InventoryView.Instance()); InventoryView.Instance().x = 50; InventoryView.Instance().y = 5; Inventory.Reset(InventoryView.Instance()); InventoryView.Instance().UpdateUI(); addChild(ScoreView.Instance()); ScoreView.Instance().Score = 0; ScoreView.Instance().ZombiePopulation = this._zombiePopulation; ScoreView.Instance().x = 605; ScoreView.Instance().y = 5; ScoreView.Instance().UpdateUI(); addChild(SelectedView.Instance()); SelectedView.Instance().x = 605; SelectedView.Instance().y = 55; this._configView = new ConfigView(); _configView.x = 605; _configView.y = 595; this.addChild(_configView); _PlayFieldView.graphics.clear(); _PlayFieldView.graphics.beginFill(0); _PlayFieldView.graphics.drawRect(0, 0, 640, 640); _PlayFieldView.graphics.endFill(); _selectionBox = new Sprite(); _selectionBox.mouseEnabled = false; _selectionBox.visible = false; _selectionBox.graphics.clear(); _selectionBox.graphics.beginFill(0xFF00, 0.5); _selectionBox.graphics.drawRect(0, 0, 10, 10); _selectionBox.graphics.endFill(); this.RegisterHandlers(); addChild(_selectionBox); _local3 = 64; _local4 = 64; _local5 = 10; _engine = Engine.Reset(this._PlayFieldView); _engine.GenerateWorldGrid(_local3, _local4, _local5); _worldGrid = _engine.GetWorldGrid(); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(1, 1, 4, 62, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(1, 1, 62, 4, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(59, 0, 4, 62, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(0, 59, 62, 4, 1); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(0, 0, 1, 64, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(0, 0, 64, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(0, 63, 64, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(63, 0, 1, 64, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(5, 5, 50, 15, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(5, 5, 15, 50, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(45, 5, 15, 55, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(5, 45, 55, 15, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(6, 20, 13, 25, 0); Engine.Instance().GetWorldGrid().SetRectangleScroungable(6, 20, 13, 25, true, 0.01, 0.5, 0.01); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(6, 20, 4, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(6, 20, 1, 7, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(6, 26, 6, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(11, 23, 1, 3, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(9, 30, 1, 5, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(12, 30, 1, 5, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(7, 37, 6, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(7, 41, 6, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(15, 27, 1, 4, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(18, 27, 1, 11, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(15, 34, 1, 4, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(46, 20, 13, 25, 0); Engine.Instance().GetWorldGrid().SetRectangleScroungable(46, 20, 13, 25, true, 0.01, 0.01, 0.5); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(51, 24, 6, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(52, 28, 5, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(52, 32, 5, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(52, 36, 5, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(51, 40, 6, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(49, 27, 1, 4, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(46, 27, 1, 11, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(49, 34, 1, 4, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(20, 6, 25, 13, 0); Engine.Instance().GetWorldGrid().SetRectangleScroungable(20, 6, 25, 13, true, 0.9, 0.01, 0.01); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(20, 6, 6, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(21, 10, 5, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(21, 14, 3, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(29, 7, 1, 6, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(33, 7, 1, 6, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(37, 7, 1, 6, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(41, 7, 1, 6, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(27, 15, 4, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(27, 18, 11, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(34, 15, 4, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(21, 46, 23, 14, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(23, 49, 2, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(23, 51, 2, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(23, 53, 2, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(24, 49, 1, 7, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(23, 55, 2, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(31, 51, 3, 3, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(39, 46, 5, 4, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(30, 30, 5, 5, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(30, 30, 1, 1, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(34, 30, 1, 1, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(30, 34, 1, 1, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(34, 34, 1, 1, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(27, 31, 1, 3, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(31, 27, 3, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(37, 31, 1, 3, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(31, 37, 3, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(19, 22, 1, 5, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(20, 27, 1, 11, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(19, 38, 1, 5, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(45, 22, 1, 5, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(44, 27, 1, 11, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(45, 38, 1, 5, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(22, 19, 5, 1, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(27, 20, 11, 1, 2); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(38, 19, 5, 1, 0); Engine.Instance().GetWorldGrid().SetRectanglePassLevel(27, 45, 11, 1, 0); this.AddDefenderAt(30, 22).CommandScroungeAtPoint(new Point(13, 22)); this.AddDefenderAt(32, 22).CommandScroungeAtPoint(new Point(32, 14)); this.AddDefenderAt(34, 22).CommandScroungeAtPoint(new Point(49, 22)); this.AddDefenderAt(30, 24); this.AddDefenderAt(32, 24); this.AddDefenderAt(34, 24); this.AddDefenderAt(30, 26); this.AddDefenderAt(32, 26); this.AddDefenderAt(34, 26); _pausedOverlay = new PauseMenuScreen(); addChild(_pausedOverlay); _gameOverScreen = new GameOverScreen(); addChild(_gameOverScreen); _zombieGrowthFired.defaultTextFormat = new TextFormat("Chiller", 35, 0xFFFFFF, true, null, null, null, null, TextFormatAlign.CENTER); _zombieGrowthFired.selectable = false; _zombieGrowthFired.embedFonts = true; _zombieGrowthFired.antiAliasType = AntiAliasType.ADVANCED; _zombieGrowthFired.tabEnabled = false; _zombieGrowthFired.text = "ZOMBIES UPGRADED!"; _zombieGrowthFired.x = 80; _zombieGrowthFired.y = 595; _zombieGrowthFired.width = 490; _zombieGrowthFired.height = (_zombieGrowthFired.textHeight + 10); _zombieGrowthFired.visible = false; _zombieGrowthFired.alpha = 1; addChild(_zombieGrowthFired); CommandQueue.Instance().Command = CommandQueue.NOCOMMAND; stage.focus = this._PlayFieldView; } private function onMouseUp(_arg1:MouseEvent):void{ var _local2:Point; var _local3:Point; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:EngineObject; var _local10:Array; var _local11:int; var _local12:SelectableObject; var _local13:SelectableObject; _selectionBox.visible = false; switch (CommandQueue.Instance().Command){ case CommandQueue.SELECTBOX: _local2 = Engine.Instance().GetWorldGrid().GlobalPixelToEngine(this.localToGlobal(new Point(mouseX, mouseY))); _local3 = _MouseDownWorldPoint; _local4 = ((_local2.x)<_local3.x) ? _local2.x : _local3.x; _local5 = ((_local2.x)>_local3.x) ? _local2.x : _local3.x; _local6 = ((_local2.y)<_local3.y) ? _local2.y : _local3.y; _local7 = ((_local2.y)>_local3.y) ? _local2.y : _local3.y; if ((((_local2.x == _local3.x)) && ((_local2.y == _local3.y)))){ _local9 = Engine.Instance().GetWorldGrid().GetEngineObjectAtPoint(_local2.x, _local2.y, 0); if (_local9 == null){ _local9 = Engine.Instance().GetWorldGrid().GetClosestEngineObjectOfType(SelectableObject, _local2.x, _local2.y, 2); }; if ((_local9 is SelectableObject)){ if (((((_arg1.ctrlKey) || (_arg1.shiftKey))) && ((SelectedView.Instance().ViewedLength() > 0)))){ if (SelectedView.Instance().ViewedIndex((_local9 as SelectableObject)) != -1){ if (_arg1.ctrlKey){ SelectedView.Instance().RemoveViewed((_local9 as SelectableObject)); }; } else { SelectedView.Instance().AddViewed((_local9 as SelectableObject)); }; } else { SelectedView.Instance().Viewed = new Array(); if (((!((_local9 == null))) && ((_local9 is SelectableObject)))){ SelectedView.Instance().AddViewed((_local9 as SelectableObject)); }; }; }; } else { _local10 = Engine.Instance().GetWorldGrid().GetAllEngineObjectsOfTypeInRectangle(SelectableObject, _local4, _local6, ((_local5 - _local4) + 1), ((_local7 - _local6) + 1)); if (((((_arg1.ctrlKey) || (_arg1.shiftKey))) && ((SelectedView.Instance().ViewedLength() > 0)))){ _local11 = 0; while (_local11 < _local10.length) { _local12 = _local10[_local11]; if (((!((SelectedView.Instance().ViewedIndex(_local12) == -1))) && (_arg1.ctrlKey))){ SelectedView.Instance().RemoveViewed(_local12); } else { SelectedView.Instance().AddViewed(_local12); }; _local11++; }; } else { SelectedView.Instance().Viewed = new Array(); for each (_local13 in _local10) { if ((_local13 is Defender)){ SelectedView.Instance().AddViewed(_local13); break; }; }; for each (_local13 in _local10) { SelectedView.Instance().AddViewed(_local13); }; }; }; if ((((SelectedView.Instance().Viewed.length > 0)) && ((SelectedView.Instance().Viewed[0] is Defender)))){ if ((SelectedView.Instance().Viewed[0] as Defender).isScrounging){ CommandQueue.Instance().Command = CommandQueue.SETSCROUNGETARGET; } else { CommandQueue.Instance().Command = CommandQueue.SETMOVETARGET; }; } else { CommandQueue.Instance().Command = CommandQueue.NOCOMMAND; }; break; default: CommandQueue.Instance().Command = CommandQueue.NOCOMMAND; break; }; stage.focus = this; } private function onMouseOut(_arg1:MouseEvent):void{ _selectionBox.visible = false; stage.focus = this; } private function onMouseDown(_arg1:MouseEvent):void{ var _local2:Point; var _local3:Point; var _local4:Number; var _local5:Number; var _local6:Array; var _local7:Defender; var _local8:Number; var _local9:KillableObject; _local2 = new Point(_arg1.stageX, _arg1.stageY); _local3 = Engine.Instance().GetWorldGrid().GlobalPixelToEngine(_local2); _local4 = _local3.x; _local5 = _local3.y; this._MouseDownWorldPoint = _local3; _local6 = SelectedView.Instance().Viewed; trace((((((((("mouseDown Mouse(" + _local4) + ",") + _local5) + ") World(") + _local3.x) + ",") + _local3.y) + ")")); _local7 = null; switch (CommandQueue.Instance().Command){ case CommandQueue.NOCOMMAND: if (((!(_arg1.ctrlKey)) && (!(_arg1.shiftKey)))){ SelectedView.Instance().Viewed = new Array(); }; CommandQueue.Instance().Command = CommandQueue.SELECTBOX; break; case CommandQueue.TARGETDEBRIS: AddDebrisAt(_local4, _local5); CommandQueue.Instance().Command = CommandQueue.PLACEDEBRIS; break; case CommandQueue.SETATTACKTARGET: for each (_local7 in _local6) { _local7.CommandScrounge(false); _local7.CommandAttackUnitAtPoint(_local3); }; break; case CommandQueue.SETMOVETARGET: for each (_local7 in _local6) { _local7.CommandScrounge(false); _local7.CommandMoveToPoint(_local3); }; break; case CommandQueue.SETSCROUNGETARGET: for each (_local7 in _local6) { _local7.CommandMoveToPoint(_local3); _local7.CommandScrounge(Engine.Instance().GetWorldGrid().GetTileScroungable(_local3.x, _local3.y)); }; break; case CommandQueue.THROWMOLOTOV: if (Inventory.GetInstance().Molotovs() >= 1){ if (((!((_splode == null))) && (this.contains(_splode)))){ this.removeChild(_splode); }; _splode = new Splode(); _splode.rotation = (Math.random() * 360); _splode.x = mouseX; _splode.y = mouseY; _local8 = (this.MolotovRadius / 6); _splode.width = _local8; _splode.height = _local8; _splode.mouseEnabled = false; addChild(_splode); _molotovSound.play(0, 0, BrunchOfTheDead._globalSoundTransform); Inventory.GetInstance().GetAMolotov(); for each (_local9 in Engine.Instance().GetWorldGrid().GetAllEngineObjectsOfTypeInArea(KillableObject, _local3.x, _local3.y, this.MolotovRadius)) { if ((((_local9 is Zombie)) || ((_local9 is Debris)))){ _local9.healthCurrent = (_local9.healthCurrent - 1000); }; }; }; CommandQueue.Instance().Command = CommandQueue.NOCOMMAND; break; }; stage.focus = this; } public function Pause():void{ if (stage != null){ if (_isPaused){ } else { this.UnregisterHandlers(); CommandQueue.Instance().Cursor.visible = false; Mouse.show(); this._timeStack.push(new Date()); this._pausedOverlay.Show(); stage.focus = this._pausedOverlay; _isPaused = true; }; }; } public static function GetCost(_arg1:int):int{ return ((_arg1 * _globalUpgradeBaseCost)); } public static function FibSum(_arg1:int, _arg2:int, _arg3:int):int{ var _local4:int; _local4 = (_arg1 + _arg2); if (_arg3 > 0){ --_arg3; _local4 = FibSum(_arg2, _local4, _arg3); }; return (_local4); } public static function Reset():BrunchOfTheDead{ _Instance = null; SelectedView.Instance().Viewed = new Array(); return (BrunchOfTheDead.Instance()); } public static function Instance():BrunchOfTheDead{ if (_Instance == null){ _Instance = new (BrunchOfTheDead); }; return (_Instance); } } }//package
Section 27
//BrunchOfTheDead_MolotovSound (BrunchOfTheDead_MolotovSound) package { import mx.core.*; public class BrunchOfTheDead_MolotovSound extends SoundAsset { } }//package
Section 28
//BrunchOfTheDead_Splode (BrunchOfTheDead_Splode) package { import flash.utils.*; import mx.core.*; public class BrunchOfTheDead_Splode extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function BrunchOfTheDead_Splode(){ dataClass = BrunchOfTheDead_Splode_dataClass; super(); initialWidth = (20 / 20); initialHeight = (20 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 29
//BrunchOfTheDead_Splode_dataClass (BrunchOfTheDead_Splode_dataClass) package { import mx.core.*; public class BrunchOfTheDead_Splode_dataClass extends ByteArrayAsset { } }//package
Section 30
//BrunchOfTheDead_UIFrame (BrunchOfTheDead_UIFrame) package { import mx.core.*; public class BrunchOfTheDead_UIFrame extends BitmapAsset { } }//package
Section 31
//ButtonCommand (ButtonCommand) package { import flash.events.*; import flash.text.*; import flash.display.*; public class ButtonCommand extends SoundButton { protected var _mouseClickHandler:Function; public function ButtonCommand(_arg1:Number, _arg2:Number, _arg3:Function, _arg4:String="", _arg5:TextFormat=null, _arg6:Bitmap=null){ super(_arg1, _arg2, _arg4, _arg5, _arg6); _mouseClickHandler = _arg3; this.addEventListener(MouseEvent.CLICK, _mouseEventDispatcher); } protected function _mouseEventDispatcher(_arg1:MouseEvent):void{ if (this.enabled){ _mouseClickHandler(_arg1); }; } } }//package
Section 32
//CombatObject (CombatObject) package { import flash.display.*; import flash.geom.*; public class CombatObject extends MobileObject { protected var _attackSpeedTotal:Number;// = 0 protected var _attackSpeedUpgradeLevel:int;// = 0 protected var _attackRange:Number; protected var _attackPowerTotal:Number;// = 0 protected var _sightIconVisible:Boolean; protected var _sightIcon:Sprite; protected var _attackSpeedBonusPerLevel:Number;// = 1 protected var _targetedAllySecondary:KillableObject; protected var _attackPowerBonusPerLevel:Number;// = 1 protected var _attackIcon:Sprite; protected var _attackCounter:int;// = 0 protected var _targetSecondary:KillableObject; protected var _targetedAllyPrimary:KillableObject; protected var _baseAttackSpeed:Number;// = 20 protected var _targetPrimary:KillableObject; protected var _sightRange:Number; protected var _attackedThisTick:Boolean; protected var _attackPowerUpgradeLevel:int;// = 0 protected var _baseAttackPower:Number;// = 1 protected var _attackIconVisible:Boolean; public function CombatObject(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:int=0){ _attackCounter = 0; _attackPowerTotal = 0; _attackPowerUpgradeLevel = 0; _attackPowerBonusPerLevel = 1; _baseAttackPower = 1; _attackSpeedTotal = 0; _attackSpeedUpgradeLevel = 0; _attackSpeedBonusPerLevel = 1; _baseAttackSpeed = 20; super(_arg1, _arg2, _arg3, 0, _arg8); _sightRange = _arg4; _sightIcon = new Sprite(); _sightIcon.graphics.beginFill(0, 0.1); _sightIcon.graphics.drawCircle(0, 0, _sightRange); _sightIcon.graphics.endFill(); _sightIcon.visible = false; _attackRange = _arg5; baseAttackPower = _arg6; baseAttackSpeed = _arg7; _attackIcon = new Sprite(); _attackIcon.graphics.beginFill(0xFF0000, 0.3); _attackIcon.graphics.drawCircle(0, 0, _attackRange); _attackIcon.graphics.endFill(); _attackIcon.visible = false; _attackCounter = (Math.random() * this.attackSpeed); _icon.addChild(_attackIcon); } public function get SecondaryTarget():KillableObject{ return (_targetSecondary); } public function set SecondaryTarget(_arg1:KillableObject):void{ _targetSecondary = _arg1; } public function set attackSpeedBonusPerLevel(_arg1:Number):void{ _attackSpeedBonusPerLevel = _arg1; _attackSpeedTotal = (_baseAttackSpeed - attackSpeedBonus); } public function set attackPowerBonusPerLevel(_arg1:Number):void{ _attackPowerBonusPerLevel = _arg1; _attackPowerTotal = (_baseAttackPower + attackPowerBonus); } public function get PrimaryTarget():KillableObject{ return (_targetPrimary); } public function set baseAttackPower(_arg1:Number):void{ _baseAttackPower = _arg1; _attackPowerTotal = (_baseAttackPower + attackPowerBonus); } public function set attackPowerUpgradeLevel(_arg1:int):void{ this._attackPowerUpgradeLevel = _arg1; _attackPowerTotal = (_baseAttackPower + attackPowerBonus); } public function get baseAttackPower():Number{ return (this._baseAttackPower); } public function set PrimaryTarget(_arg1:KillableObject):void{ _targetPrimary = _arg1; } public function get SightIconVisible():Boolean{ return (this._sightIcon.visible); } public function get AttackIconVisible():Boolean{ return (this._attackIcon.visible); } public function set AttackIconVisible(_arg1:Boolean):void{ this._attackIcon.visible = _arg1; } public function get attackPowerBonus():Number{ return ((this.attackPowerUpgradeLevel * _attackPowerBonusPerLevel)); } public function TargetNearestSecondary(_arg1:Array):void{ _targetSecondary = TargetNearest(_arg1); } public function get attackSpeedBonus():Number{ return ((this.attackSpeedUpgradeLevel * _attackSpeedBonusPerLevel)); } public function get attackCounter():Number{ return (_attackCounter); } public function AttackSecondaryTarget():Boolean{ var _local1:Boolean; var _local2:Point; _local1 = false; if (_targetSecondary != null){ _local2 = Geometry.GetAngleAndDistanceToPoint(x, y, _targetSecondary.x, _targetSecondary.y); if (_local2.y <= _attackRange){ _icon.rotation = _local2.x; _local1 = true; _targetSecondary.healthCurrent = (_targetSecondary.healthCurrent - attackPower); }; }; this._attackedThisTick = _local1; return (_local1); } public function set baseAttackSpeed(_arg1:Number):void{ _baseAttackSpeed = _arg1; _attackSpeedTotal = (_baseAttackSpeed - attackSpeedBonus); } public function AttackPrimaryTarget():Boolean{ var _local1:Boolean; var _local2:Point; _local1 = false; if (_targetPrimary != null){ _local2 = Geometry.GetAngleAndDistanceToPoint(x, y, _targetPrimary.x, _targetPrimary.y); if (_local2.y <= _attackRange){ _local1 = true; _icon.rotation = _local2.x; _targetPrimary.healthCurrent = (_targetPrimary.healthCurrent - attackPower); _targetPrimary.LastAttacker = this; if (_targetPrimary.healthCurrent <= 0){ _targetPrimary = null; }; }; }; this._attackedThisTick = _local1; return (_local1); } public function set attackSpeedUpgradeLevel(_arg1:int):void{ this._attackSpeedUpgradeLevel = _arg1; _attackSpeedTotal = (_baseAttackSpeed - attackSpeedBonus); } public function get attackSpeed():Number{ return (_attackSpeedTotal); } public function get attackPowerBonusPerLevel():Number{ return (_attackPowerBonusPerLevel); } public function AttackEvent():void{ } public function set AttackedThisTick(_arg1:Boolean):void{ _attackedThisTick = _arg1; } public function get attackSpeedBonusPerLevel():Number{ return (_attackSpeedBonusPerLevel); } public function DistanceToTarget(_arg1:KillableObject):Number{ return (Geometry.DistanceOfVector((_arg1.x - x), (_arg1.y - y))); } public function set attackCounter(_arg1:Number):void{ _attackCounter = _arg1; } public function get attackSpeedUpgradeLevel():int{ return (this._attackSpeedUpgradeLevel); } public function get attackPowerUpgradeLevel():int{ return (this._attackPowerUpgradeLevel); } public function get baseAttackSpeed():Number{ return (this._baseAttackSpeed); } private function TargetNearest(_arg1:Array):KillableObject{ var _local2:KillableObject; var _local3:Number; var _local4:uint; var _local5:Number; _local3 = 9999; _local4 = 0; while (_local4 < _arg1.length) { _local5 = Geometry.GetDistanceToPoint(x, y, _arg1[_local4].x, _arg1[_local4].y); if ((((_local5 < _local3)) && ((_local5 <= _sightRange)))){ _local3 = _local5; _local2 = _arg1[_local4]; }; _local4++; }; return (_local2); } public function set sightRange(_arg1:Number):void{ _sightRange = _arg1; } public function get attackPower():Number{ return (_attackPowerTotal); } public function get sightRange():Number{ return (_sightRange); } public function get AttackedThisTick():Boolean{ return (_attackedThisTick); } public function AngleToTarget(_arg1:KillableObject):Number{ return (Geometry.AngleOfVector((_arg1.x - x), (_arg1.y - y))); } public function TargetNearestPrimary(_arg1:Array):void{ _targetPrimary = TargetNearest(_arg1); } public function get attackRange():Number{ return (_attackRange); } public function set SightIconVisible(_arg1:Boolean):void{ this._sightIcon.visible = _arg1; } } }//package
Section 33
//CommandQueue (CommandQueue) package { import flash.display.*; public class CommandQueue { private var _moveCursor:Sprite; private var _queuedCommand:int; public var _molotovCursor:Sprite; private var _debrisCursor:Sprite; private var _currentCursor:Sprite; private var _scroungeCursor:Sprite; private var _attackCursor:Sprite; private var _neutralCursor:Sprite; public static const SETMOVETARGET:int = 2; public static const PLACEDEBRIS:int = 8; public static const NOCOMMAND:int = 0; public static const TARGETDEBRIS:int = 7; public static const SELECTBOX:int = 1; public static const THROWMOLOTOV:int = 6; public static const SETSCROUNGETARGET:int = 3; public static const SETATTACKTARGET:int = 4; private static var _Instance:CommandQueue; public function CommandQueue(){ _neutralCursor = new Sprite(); _moveCursor = new Sprite(); _attackCursor = new Sprite(); _molotovCursor = new Sprite(); _debrisCursor = new Sprite(); _scroungeCursor = new Sprite(); _neutralCursor.mouseEnabled = false; _moveCursor.mouseEnabled = false; _attackCursor.mouseEnabled = false; _molotovCursor.mouseEnabled = false; _debrisCursor.mouseEnabled = false; _scroungeCursor.mouseEnabled = false; _neutralCursor.graphics.clear(); _neutralCursor.graphics.beginFill(0x5500); _neutralCursor.graphics.drawCircle(0, 0, 4); _neutralCursor.graphics.drawCircle(0, 0, 3); _neutralCursor.graphics.drawCircle(0, 0, 2); _neutralCursor.graphics.drawCircle(0, 0, 1); _neutralCursor.graphics.endFill(); _neutralCursor.graphics.beginFill(0xFF00); _neutralCursor.graphics.drawRect(-10, -1, 6, 2); _neutralCursor.graphics.drawRect(4, -1, 6, 2); _neutralCursor.graphics.drawRect(-1, -10, 2, 6); _neutralCursor.graphics.drawRect(-1, 4, 2, 6); _neutralCursor.graphics.drawRect(-1, -1, 2, 2); _neutralCursor.graphics.endFill(); _molotovCursor.graphics.clear(); _molotovCursor.graphics.beginFill(0xDD0000); _molotovCursor.graphics.drawCircle(0, 0, 60); _molotovCursor.graphics.drawCircle(0, 0, 59); _molotovCursor.graphics.endFill(); _molotovCursor.graphics.beginFill(0xAA0000); _molotovCursor.graphics.drawCircle(0, 0, 58); _molotovCursor.graphics.drawCircle(0, 0, 57); _molotovCursor.graphics.endFill(); _molotovCursor.graphics.beginFill(0x770000); _molotovCursor.graphics.drawCircle(0, 0, 56); _molotovCursor.graphics.drawCircle(0, 0, 55); _molotovCursor.graphics.endFill(); _molotovCursor.graphics.beginFill(0xDD0000); _molotovCursor.graphics.drawRect(-50, -2, 15, 4); _molotovCursor.graphics.drawRect(-25, -2, 15, 4); _molotovCursor.graphics.drawRect(35, -2, 15, 4); _molotovCursor.graphics.drawRect(10, -2, 15, 4); _molotovCursor.graphics.drawRect(-2, -50, 4, 15); _molotovCursor.graphics.drawRect(-2, -25, 4, 15); _molotovCursor.graphics.drawRect(-2, 35, 4, 15); _molotovCursor.graphics.drawRect(-2, 10, 4, 15); _molotovCursor.graphics.endFill(); _molotovCursor.graphics.beginFill(0x770000); _molotovCursor.graphics.drawRect(-50, -1, 15, 2); _molotovCursor.graphics.drawRect(-25, -1, 15, 2); _molotovCursor.graphics.drawRect(35, -1, 15, 2); _molotovCursor.graphics.drawRect(10, -1, 15, 2); _molotovCursor.graphics.drawRect(-1, -50, 2, 15); _molotovCursor.graphics.drawRect(-1, -25, 2, 15); _molotovCursor.graphics.drawRect(-1, 35, 2, 15); _molotovCursor.graphics.drawRect(-1, 10, 2, 15); _molotovCursor.graphics.endFill(); _molotovCursor.graphics.beginFill(0x440000); _molotovCursor.graphics.drawRect(-1, -1, 2, 2); _molotovCursor.graphics.endFill(); _moveCursor.graphics.clear(); _moveCursor.graphics.beginFill(0xDD00); _moveCursor.graphics.lineStyle(1, 0xFF00); _moveCursor.graphics.moveTo(-4, 0); _moveCursor.graphics.lineTo(-16, -4); _moveCursor.graphics.lineTo(-12, 0); _moveCursor.graphics.lineTo(-16, 4); _moveCursor.graphics.moveTo(4, 0); _moveCursor.graphics.lineTo(16, -4); _moveCursor.graphics.lineTo(12, 0); _moveCursor.graphics.lineTo(16, 4); _moveCursor.graphics.moveTo(0, -4); _moveCursor.graphics.lineTo(-4, -16); _moveCursor.graphics.lineTo(0, -12); _moveCursor.graphics.lineTo(4, -16); _moveCursor.graphics.moveTo(0, 4); _moveCursor.graphics.lineTo(-4, 16); _moveCursor.graphics.lineTo(0, 12); _moveCursor.graphics.lineTo(4, 16); _moveCursor.graphics.drawRect(-1, -1, 2, 2); _moveCursor.graphics.endFill(); _attackCursor.graphics.clear(); _attackCursor.graphics.beginFill(0x770000); _attackCursor.graphics.lineStyle(1, 0xDD0000); _attackCursor.graphics.moveTo(-4, 0); _attackCursor.graphics.lineTo(-16, -4); _attackCursor.graphics.lineTo(-12, 0); _attackCursor.graphics.lineTo(-16, 4); _attackCursor.graphics.moveTo(4, 0); _attackCursor.graphics.lineTo(16, -4); _attackCursor.graphics.lineTo(12, 0); _attackCursor.graphics.lineTo(16, 4); _attackCursor.graphics.moveTo(0, -4); _attackCursor.graphics.lineTo(-4, -16); _attackCursor.graphics.lineTo(0, -12); _attackCursor.graphics.lineTo(4, -16); _attackCursor.graphics.moveTo(0, 4); _attackCursor.graphics.lineTo(-4, 16); _attackCursor.graphics.lineTo(0, 12); _attackCursor.graphics.lineTo(4, 16); _attackCursor.graphics.drawRect(-1, -1, 2, 2); _attackCursor.graphics.endFill(); _scroungeCursor.graphics.clear(); _scroungeCursor.graphics.beginFill(119); _scroungeCursor.graphics.lineStyle(1, 221); _scroungeCursor.graphics.moveTo(-4, 0); _scroungeCursor.graphics.lineTo(-16, -4); _scroungeCursor.graphics.lineTo(-12, 0); _scroungeCursor.graphics.lineTo(-16, 4); _scroungeCursor.graphics.moveTo(4, 0); _scroungeCursor.graphics.lineTo(16, -4); _scroungeCursor.graphics.lineTo(12, 0); _scroungeCursor.graphics.lineTo(16, 4); _scroungeCursor.graphics.moveTo(0, -4); _scroungeCursor.graphics.lineTo(-4, -16); _scroungeCursor.graphics.lineTo(0, -12); _scroungeCursor.graphics.lineTo(4, -16); _scroungeCursor.graphics.moveTo(0, 4); _scroungeCursor.graphics.lineTo(-4, 16); _scroungeCursor.graphics.lineTo(0, 12); _scroungeCursor.graphics.lineTo(4, 16); _scroungeCursor.graphics.drawRect(-1, -1, 2, 2); _scroungeCursor.graphics.endFill(); _debrisCursor.graphics.clear(); _debrisCursor.graphics.beginFill(0x555555); _debrisCursor.graphics.drawCircle(0, 0, 16); _debrisCursor.graphics.drawCircle(0, 0, 15); _debrisCursor.graphics.drawCircle(0, 0, 14); _debrisCursor.graphics.drawCircle(0, 0, 13); _debrisCursor.graphics.endFill(); _debrisCursor.graphics.beginFill(0xAA0000); _debrisCursor.graphics.drawRect(-10, -1, 6, 2); _debrisCursor.graphics.drawRect(4, -1, 6, 2); _debrisCursor.graphics.drawRect(-1, -10, 2, 6); _debrisCursor.graphics.drawRect(-1, 4, 2, 6); _debrisCursor.graphics.drawRect(-1, -1, 2, 2); _debrisCursor.graphics.endFill(); this._attackCursor.cacheAsBitmap = true; this._debrisCursor.cacheAsBitmap = true; this._molotovCursor.cacheAsBitmap = true; this._moveCursor.cacheAsBitmap = true; this._neutralCursor.cacheAsBitmap = true; this._scroungeCursor.cacheAsBitmap = true; this.Command = CommandQueue.NOCOMMAND; } public function get Cursor():Sprite{ return (_currentCursor); } public function get Command():int{ return (_queuedCommand); } public function set Command(_arg1:int):void{ _queuedCommand = _arg1; if (((!((_currentCursor == null))) && (BrunchOfTheDead.Instance().contains(_currentCursor)))){ BrunchOfTheDead.Instance().removeChild(_currentCursor); }; switch (_queuedCommand){ case NOCOMMAND: _currentCursor = _neutralCursor; break; case CommandQueue.TARGETDEBRIS: case CommandQueue.PLACEDEBRIS: _currentCursor = _debrisCursor; break; case CommandQueue.SETATTACKTARGET: _currentCursor = _attackCursor; break; case CommandQueue.SETSCROUNGETARGET: _currentCursor = _scroungeCursor; break; case CommandQueue.SETMOVETARGET: _currentCursor = _moveCursor; break; case CommandQueue.THROWMOLOTOV: _currentCursor = _molotovCursor; break; }; _currentCursor.x = BrunchOfTheDead.Instance().mouseX; _currentCursor.y = BrunchOfTheDead.Instance().mouseY; _currentCursor.visible = true; BrunchOfTheDead.Instance().addChild(_currentCursor); } public static function Instance():CommandQueue{ if (_Instance == null){ _Instance = new (CommandQueue); }; return (_Instance); } } }//package
Section 34
//CommandView (CommandView) package { import flash.events.*; import flash.text.*; import flash.display.*; public class CommandView extends Sprite { private var _textFormat:TextFormat; private var button3:ButtonCommand; private var button6:ButtonCommand; private var button7:ButtonCommand; private var button5:ButtonCommand; private var button1:ButtonCommand; private var button9:ButtonCommand; private var button2:ButtonCommand; private var _paused:Boolean; private var button4:ButtonCommand; private var button8:ButtonCommand; private var _buttonTextFormat:TextFormat; private var pauseButton:ButtonCommand; private static var _Instance:CommandView; public function CommandView(){ var _local1:Bitmap; super(); _textFormat = new TextFormat("Chiller", 20, 0xFFFFFF); _buttonTextFormat = new TextFormat("Verdana", 11, 0xBBBBBB, null, null, null, null, null, TextFormatAlign.CENTER); this.graphics.clear(); this.graphics.beginFill(0, 0.5); this.graphics.drawRect(0, 0, 190, 350); this.graphics.endFill(); this.graphics.beginFill(0xAAAAAA, 0.5); this.graphics.drawRect(0, 115, 190, 8); this.graphics.endFill(); this.graphics.beginFill(0xBBBBBB, 0.5); this.graphics.drawRect(1, 116, 188, 6); this.graphics.endFill(); this.graphics.beginFill(0xCCCCCC, 0.5); this.graphics.drawRect(2, 117, 186, 4); this.graphics.endFill(); this.graphics.beginFill(0xAAAAAA, 0.5); this.graphics.drawRect(0, 240, 190, 8); this.graphics.endFill(); this.graphics.beginFill(0xBBBBBB, 0.5); this.graphics.drawRect(1, 241, 188, 6); this.graphics.endFill(); this.graphics.beginFill(0xCCCCCC, 0.5); this.graphics.drawRect(2, 242, 186, 4); this.graphics.endFill(); _local1 = new ResourceManager.MolotovIcon(); _local1.width = 30; _local1.height = 30; _local1.x = 10; _local1.y = 10; button1 = new ButtonCommand(60, 50, button1Clicked, "Attack\n(A)", this._buttonTextFormat); button2 = new ButtonCommand(60, 50, button2Clicked, "Move\n(M)", this._buttonTextFormat); button3 = new ButtonCommand(60, 50, button3Clicked, "Scrounge\n(G)", this._buttonTextFormat); button5 = new ButtonCommand(60, 50, button5Clicked, "Stop\n(S)", this._buttonTextFormat); button4 = new ButtonCommand(50, 50, button4Clicked, "Stand\nGround", this._buttonTextFormat); button6 = new ButtonCommand(50, 50, button6Clicked, "Patrol\nTo", this._buttonTextFormat); button7 = new ButtonCommand(50, 50, button7Clicked, "Run Away", this._buttonTextFormat); button8 = new ButtonCommand(80, 80, button8Clicked, "Throw\nMoltov\n(V)", this._buttonTextFormat); button9 = new ButtonCommand(80, 80, button9Clicked, "Place\nDebris\n(D)", this._buttonTextFormat); pauseButton = new ButtonCommand(170, 30, pauseButtonClicked, "Pause / Menu (ESC)", this._buttonTextFormat); button1.tabEnabled = false; button2.tabEnabled = false; button3.tabEnabled = false; button4.tabEnabled = false; button5.tabEnabled = false; button6.tabEnabled = false; button7.tabEnabled = false; button8.tabEnabled = false; button9.tabEnabled = false; pauseButton.tabEnabled = false; button4.visible = false; button6.visible = false; button7.visible = false; button1.x = 1; button1.y = 0; button2.x = 65; button2.y = 0; button3.x = 129; button3.y = 0; button4.x = 0; button4.y = 80; button5.x = 65; button5.y = 60; button6.x = 130; button6.y = 80; button7.x = 0; button7.y = 130; button8.x = 10; button8.y = 140; button9.x = 100; button9.y = 140; pauseButton.x = 10; pauseButton.y = 290; this.addChild(button1); this.addChild(button2); this.addChild(button3); this.addChild(button4); this.addChild(button5); this.addChild(button6); this.addChild(button7); this.addChild(button8); this.addChild(button9); this.addChild(pauseButton); } public function button8Clicked(_arg1:MouseEvent=null):void{ if (button8.enabled){ CommandQueue.Instance().Command = CommandQueue.THROWMOLOTOV; }; } public function button7Clicked(_arg1:MouseEvent=null):void{ var _local2:Defender; if (button7.enabled){ for each (_local2 in SelectedView.Instance().Viewed) { _local2.CommandKeepAttackDistance(); }; }; } public function pauseButtonClicked(_arg1:MouseEvent=null):void{ if (pauseButton.enabled){ if (BrunchOfTheDead.Instance()._isPaused){ BrunchOfTheDead.Instance().UnPause(); } else { BrunchOfTheDead.Instance().Pause(); }; }; } public function button6Clicked(_arg1:MouseEvent=null):void{ if (button6.enabled){ }; } public function set Enabled(_arg1:Boolean):void{ button1.enabled = _arg1; button2.enabled = _arg1; button3.enabled = _arg1; button4.enabled = _arg1; button5.enabled = _arg1; button6.enabled = _arg1; button7.enabled = _arg1; } public function get Enabled():Boolean{ return (button1.enabled); } public function keyDownHandler(_arg1:KeyboardEvent):void{ switch (_arg1.keyCode){ case 27: if (CommandQueue.Instance().Command != CommandQueue.NOCOMMAND){ CommandQueue.Instance().Command = CommandQueue.NOCOMMAND; } else { this.pauseButtonClicked(); _arg1.stopPropagation(); }; break; case 37: break; case 39: break; case 38: break; case 40: break; case 75: break; case 77: this.button2Clicked(); break; case 65: this.button1Clicked(); break; case 68: this.button9Clicked(); break; case 70: BrunchOfTheDead.Instance()._frameRateField.visible = !(BrunchOfTheDead.Instance()._frameRateField.visible); break; case 71: this.button3Clicked(); break; case 80: this.button6Clicked(); break; case 82: break; case 83: this.button5Clicked(); break; case 84: break; case 86: this.button8Clicked(); break; case 90: break; }; } public function button5Clicked(_arg1:MouseEvent=null):void{ var _local2:Defender; if (button5.enabled){ for each (_local2 in SelectedView.Instance().Viewed) { _local2.ClearMoveTarget(); _local2.PrimaryTarget = null; _local2.CommandScrounge(false); }; CommandQueue.Instance().Command = CommandQueue.NOCOMMAND; }; } public function button4Clicked(_arg1:MouseEvent=null):void{ var _local2:Defender; if (button4.enabled){ for each (_local2 in SelectedView.Instance().Viewed) { _local2.ClearMoveTarget(); _local2.CommandStandGround(); }; }; } public function button3Clicked(_arg1:MouseEvent=null):void{ if (button3.enabled){ CommandQueue.Instance().Command = CommandQueue.SETSCROUNGETARGET; }; } public function button2Clicked(_arg1:MouseEvent=null):void{ if (button2.enabled){ CommandQueue.Instance().Command = CommandQueue.SETMOVETARGET; }; } public function button9Clicked(_arg1:MouseEvent=null):void{ if (((button9.enabled) && (!((CommandQueue.Instance().Command == CommandQueue.PLACEDEBRIS))))){ CommandQueue.Instance().Command = CommandQueue.TARGETDEBRIS; }; } public function button1Clicked(_arg1:MouseEvent=null):void{ if (button1.enabled){ CommandQueue.Instance().Command = CommandQueue.SETATTACKTARGET; }; } public static function Instance():CommandView{ if (_Instance == null){ _Instance = new (CommandView); }; return (_Instance); } } }//package
Section 35
//ConfigView (ConfigView) package { import flash.events.*; import flash.text.*; import flash.display.*; public class ConfigView extends Sprite { private var _textFormat:TextFormat; private var _soundMedIcon:Bitmap; private var _highQuality:ButtonCommand; private var _soundOffIcon:Bitmap; private var _soundHighIcon:Bitmap; private var _soundToggle:ButtonCommand; private var _lowQuality:ButtonCommand; private var _soundLowIcon:Bitmap; private var _background:Sprite; private var _mediumQuality:ButtonCommand; public static var SoundMedIcon:Class = ConfigView_SoundMedIcon; public static var SoundOffIcon:Class = ConfigView_SoundOffIcon; public static var SoundHighIcon:Class = ConfigView_SoundHighIcon; public static var SoundLowIcon:Class = ConfigView_SoundLowIcon; public function ConfigView(){ _soundOffIcon = new SoundOffIcon(); _soundLowIcon = new SoundLowIcon(); _soundMedIcon = new SoundMedIcon(); _soundHighIcon = new SoundHighIcon(); _soundOffIcon.width = 14; _soundOffIcon.height = 14; _soundOffIcon.x = 3; _soundOffIcon.y = 3; _soundLowIcon.width = 14; _soundLowIcon.height = 14; _soundLowIcon.x = 3; _soundLowIcon.y = 3; _soundMedIcon.width = 14; _soundMedIcon.height = 14; _soundMedIcon.x = 3; _soundMedIcon.y = 3; _soundHighIcon.width = 14; _soundHighIcon.height = 14; _soundHighIcon.x = 3; _soundHighIcon.y = 3; _textFormat = new TextFormat("Verdana", 10, 0xFFFFFF, true, null, null, null, null, TextFormatAlign.CENTER); _background = new Sprite(); _background.graphics.beginFill(0, 0.5); _background.graphics.drawRect(0, 0, 190, 40); _background.graphics.endFill(); _lowQuality = new ButtonCommand(50, 20, lowQuality, "Low", _textFormat, null); _mediumQuality = new ButtonCommand(50, 20, mediumQuality, "Medium", _textFormat, null); _highQuality = new ButtonCommand(50, 20, highQuality, "High", _textFormat, null); _soundToggle = new ButtonCommand(20, 20, soundToggle, "", _textFormat, _soundMedIcon); BrunchOfTheDead._globalSoundTransform.volume = 0.5; _soundToggle.x = -20; _soundToggle.y = 10; _lowQuality.x = 10; _lowQuality.y = 10; _mediumQuality.x = 70; _mediumQuality.y = 10; _highQuality.x = 130; _highQuality.y = 10; this.addChild(_background); _background.addChild(_soundToggle); _background.addChild(_lowQuality); _background.addChild(_mediumQuality); _background.addChild(_highQuality); } public function lowQuality(_arg1:MouseEvent):void{ trace("low"); this.stage.quality = "LOW"; this.stage.invalidate(); } public function soundToggle(_arg1:MouseEvent):void{ if (BrunchOfTheDead._globalSoundTransform.volume == 0){ BrunchOfTheDead._globalSoundTransform.volume = 0.1; this._soundToggle.Icon = this._soundLowIcon; } else { if (BrunchOfTheDead._globalSoundTransform.volume == 0.1){ BrunchOfTheDead._globalSoundTransform.volume = 0.5; this._soundToggle.Icon = this._soundMedIcon; } else { if (BrunchOfTheDead._globalSoundTransform.volume == 0.5){ BrunchOfTheDead._globalSoundTransform.volume = 1; this._soundToggle.Icon = this._soundHighIcon; } else { if (BrunchOfTheDead._globalSoundTransform.volume == 1){ BrunchOfTheDead._globalSoundTransform.volume = 0; this._soundToggle.Icon = this._soundOffIcon; }; }; }; }; } public function mediumQuality(_arg1:MouseEvent):void{ trace("medium"); this.stage.quality = "MEDIUM"; BrunchOfTheDead._globalSoundTransform.volume = 0.5; this.stage.invalidate(); } public function highQuality(_arg1:MouseEvent):void{ trace("high"); this.stage.quality = "HIGH"; this.stage.invalidate(); } } }//package
Section 36
//ConfigView_SoundHighIcon (ConfigView_SoundHighIcon) package { import mx.core.*; public class ConfigView_SoundHighIcon extends BitmapAsset { } }//package
Section 37
//ConfigView_SoundLowIcon (ConfigView_SoundLowIcon) package { import mx.core.*; public class ConfigView_SoundLowIcon extends BitmapAsset { } }//package
Section 38
//ConfigView_SoundMedIcon (ConfigView_SoundMedIcon) package { import mx.core.*; public class ConfigView_SoundMedIcon extends BitmapAsset { } }//package
Section 39
//ConfigView_SoundOffIcon (ConfigView_SoundOffIcon) package { import mx.core.*; public class ConfigView_SoundOffIcon extends BitmapAsset { } }//package
Section 40
//CreditsScreen (CreditsScreen) package { import flash.events.*; import flash.text.*; import flash.display.*; public class CreditsScreen extends Sprite { public var MainMenuBg:Class; private var _credits:TextField; private var _backButton:ButtonCommand; private var _licenseInfo:TextField; private var _backDrop:Sprite; private var _scrollFrame:Sprite; private var _contact:TextField; public function CreditsScreen(){ var _local1:TextFormat; var _local2:TextFormat; var _local3:Sprite; MainMenuBg = CreditsScreen_MainMenuBg; super(); _backDrop = new Sprite(); _scrollFrame = new Sprite(); _local1 = new TextFormat("Verdana", 30, 0xCCCCCC, null, null, null, null, null, TextFormatAlign.CENTER); _local2 = new TextFormat("Verdana", 40, 0xFFFFFF, null, null, null, null, null, TextFormatAlign.CENTER); _credits = new TextField(); _credits.defaultTextFormat = _local1; _credits.x = 20; _credits.y = 320; _credits.width = 760; _credits.height = 700; _credits.selectable = false; _credits.text = ((("Game Design & Programming\nJoe Striedl" + "\n\nArt & Sound\nJoe Striedl") + "\n\nLead Coffee Drinker\nJoe Striedl") + "\n\n\n\n\n\nDude who made this game\nJoe Striedl"); _credits.setTextFormat(_local2, 26, 37); _credits.setTextFormat(_local2, 51, 62); _credits.setTextFormat(_local2, 84, 95); _credits.setTextFormat(_local2, 125, 136); _licenseInfo = new TextField(); _licenseInfo.defaultTextFormat = new TextFormat("Verdana", 15, 0xFFFFFF, true, null, null, null, null, TextFormatAlign.CENTER); _licenseInfo.x = 20; _licenseInfo.y = 340; _licenseInfo.width = 760; _licenseInfo.height = 150; _licenseInfo.selectable = false; _licenseInfo.text = "HEY FLASH GAME PORTALS!!\n\nIf you would like to purchase a non-exclusive license\nfor a customized/branded version of this\nor any other game produced by Head Meat Games\n\n please contact me at:"; _licenseInfo.setTextFormat(new TextFormat("Verdana", 20, 0xFFFFFF, true, null, null, null, null, TextFormatAlign.CENTER), 0, 23); _contact = new TextField(); _contact.defaultTextFormat = new TextFormat("Verdana", 15, 0xFFFFFF, true, null, null, null, null, TextFormatAlign.CENTER); _contact.multiline = true; _contact.x = 20; _contact.y = 510; _contact.width = 760; _contact.height = 70; _contact.text = "www.headmeatgames.com\nEmail:theman@headmeatgames.com"; _contact.setTextFormat(new TextFormat("Verdana", 18, 221, true, null, null, "http://www.headmeatgames.com", "_blank", TextFormatAlign.CENTER), 0, 21); _contact.setTextFormat(new TextFormat("Verdana", 18, 221, true, null, null, "mailto:theman@headmeatgames.com", "_blank", TextFormatAlign.CENTER), 28, 52); _contact.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverContact); _contact.addEventListener(MouseEvent.MOUSE_OUT, onMouseOutContact); _backButton = new ButtonCommand(200, 40, onClickBackButton, "Back", new TextFormat("Chiller", 40, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER)); _backButton.x = 300; _backButton.y = 580; _backDrop.graphics.beginFill(657930); _backDrop.graphics.drawRect(0, 0, 800, 640); _backDrop.graphics.endFill(); addChild(_backDrop); _scrollFrame.graphics.beginBitmapFill(new MainMenuBg().bitmapData); _scrollFrame.graphics.drawRect(0, 0, 800, 640); _scrollFrame.graphics.drawRect(20, 20, 760, 300); _scrollFrame.graphics.endFill(); _backDrop.addChild(_credits); _backDrop.addChild(_scrollFrame); _local3 = SpriteFactory.makeBorder(760, 300); _local3.x = 20; _local3.y = 20; _backDrop.addChild(_local3); _backDrop.addChild(_licenseInfo); _backDrop.addChild(_contact); _backDrop.addChild(_backButton); this.addChild(SpriteFactory.makeBorder(800, 640)); } public function hide():void{ this.removeEventListener(Event.ENTER_FRAME, onEnterFrame); } public function onMouseOutContact(_arg1:MouseEvent):void{ _contact.defaultTextFormat.color = 221; } public function onEnterFrame(_arg1:Event):void{ if (_credits.y > -((_credits.height - 320))){ _credits.y = (_credits.y - 3); }; } public function onMouseOverContact(_arg1:MouseEvent):void{ _contact.defaultTextFormat.color = 170; } public function onClickBackButton(_arg1:MouseEvent):void{ ApplicationManager.Instance().ShowMenuScreen(); } public function show():void{ this.addEventListener(Event.ENTER_FRAME, onEnterFrame); _credits.y = 320; } } }//package
Section 41
//CreditsScreen_MainMenuBg (CreditsScreen_MainMenuBg) package { import mx.core.*; public class CreditsScreen_MainMenuBg extends BitmapAsset { } }//package
Section 42
//Debris (Debris) package { import flash.display.*; public class Debris extends KillableObject { public static var debrisIcon:Bitmap = new Debris.DebrisIcon(); public static var DebrisIcon:Class = Debris_DebrisIcon; public function Debris(_arg1:Number, _arg2:Number){ var _local3:Sprite; var _local4:Bitmap; _local3 = new Sprite(); _local4 = new Bitmap(debrisIcon.bitmapData); _local4.x = -15; _local4.y = -15; _local4.width = 30; _local4.height = 30; _local3.addChild(_local4); _local3.rotation = (Math.random() * 360); _local3.graphics.endFill(); super(_local3, _arg1, 0); _toughnessBonusPerLevel = _arg2; this._icon.cacheAsBitmap = true; } } }//package
Section 43
//Debris_DebrisIcon (Debris_DebrisIcon) package { import mx.core.*; public class Debris_DebrisIcon extends BitmapAsset { } }//package
Section 44
//Defender (Defender) package { import flash.display.*; import flash.geom.*; import flash.media.*; public class Defender extends SelectableObject { public var currentAnimation:AnimatedSpriteBuffer; private var _behaviourMovePrevious:int; private var _behaviourMoveCurrent:int; private var _behaviourAttackPrevious:int; private var _behaviourScrounge:Boolean; protected var _scroungeSkillTotal:Number;// = 0 private var _scroungedThisTick:Boolean; protected var _scroungeUpgradeLevel:int;// = 0 protected var _baseScrounge:Number;// = 1 private var _scroungeSpeed:Number; private var _scroungeSkill:Number; private var _behaviourAttackCurrent:int; private var _scroungeIcon:Sprite; protected var _scroungeBonusPerLevel:Number;// = 0.5 private var _scroungeCounter:int; public static var DefenderDamaged0:Class = Defender_DefenderDamaged0; public static var DefenderDamaged1:Class = Defender_DefenderDamaged1; public static var DefenderDamaged2:Class = Defender_DefenderDamaged2; public static var DefenderDamaged3:Class = Defender_DefenderDamaged3; public static var DefenderDamaged4:Class = Defender_DefenderDamaged4; public static var DefenderMove0:Class = Defender_DefenderMove0; public static var DefenderMove1:Class = Defender_DefenderMove1; public static var DefenderMove2:Class = Defender_DefenderMove2; public static var DefenderMove3:Class = Defender_DefenderMove3; public static var DefenderMove4:Class = Defender_DefenderMove4; public static var DefenderMove5:Class = Defender_DefenderMove5; public static var DefenderMove6:Class = Defender_DefenderMove6; public static var DefenderMove7:Class = Defender_DefenderMove7; public static var DefenderMove8:Class = Defender_DefenderMove8; public static var DefenderMove9:Class = Defender_DefenderMove9; public static var idleFrame0:Bitmap = new Defender.DefenderIdle0(); public static var DefenderAttack0:Class = Defender_DefenderAttack0; public static var DefenderAttack1:Class = Defender_DefenderAttack1; public static var DefenderAttack2:Class = Defender_DefenderAttack2; public static var DefenderAttack3:Class = Defender_DefenderAttack3; public static var DefenderAttack4:Class = Defender_DefenderAttack4; public static var DefenderAttack5:Class = Defender_DefenderAttack5; public static var DefenderAttack6:Class = Defender_DefenderAttack6; public static var DefenderAttack7:Class = Defender_DefenderAttack7; public static var DefenderAttack8:Class = Defender_DefenderAttack8; public static var DefenderAttack9:Class = Defender_DefenderAttack9; public static var moveFrame1:Bitmap = new Defender.DefenderMove1(); public static var moveFrame3:Bitmap = new Defender.DefenderMove3(); public static var DefenderIdle0:Class = Defender_DefenderIdle0; public static var moveFrame0:Bitmap = new Defender.DefenderMove0(); public static var moveFrame2:Bitmap = new Defender.DefenderMove2(); public static var moveFrame4:Bitmap = new Defender.DefenderMove4(); public static var moveFrame6:Bitmap = new Defender.DefenderMove6(); public static var moveFrame7:Bitmap = new Defender.DefenderMove7(); public static var moveFrame8:Bitmap = new Defender.DefenderMove8(); public static var DefenderAttackSound:Class = Defender_DefenderAttackSound; public static var moveFrame5:Bitmap = new Defender.DefenderMove5(); public static var DefenderScrounge0:Class = Defender_DefenderScrounge0; public static var DefenderScrounge1:Class = Defender_DefenderScrounge1; public static var DefenderScrounge2:Class = Defender_DefenderScrounge2; public static var DefenderScrounge3:Class = Defender_DefenderScrounge3; public static var DefenderScrounge4:Class = Defender_DefenderScrounge4; public static var DefenderScrounge5:Class = Defender_DefenderScrounge5; public static var DefenderScrounge6:Class = Defender_DefenderScrounge6; public static var DefenderScrounge7:Class = Defender_DefenderScrounge7; public static var DefenderScrounge8:Class = Defender_DefenderScrounge8; public static var DefenderScrounge9:Class = Defender_DefenderScrounge9; public static var moveFrame9:Bitmap = new Defender.DefenderMove9(); public static var damagedFrame1:Bitmap = new Defender.DefenderDamaged1(); public static var DefenderPortrait:Class = Defender_DefenderPortrait; public static var damagedFrame0:Bitmap = new Defender.DefenderDamaged0(); public static var scroungeFrame0:Bitmap = new Defender.DefenderScrounge0(); public static var scroungeFrame1:Bitmap = new Defender.DefenderScrounge1(); public static var scroungeFrame2:Bitmap = new Defender.DefenderScrounge2(); public static var scroungeFrame4:Bitmap = new Defender.DefenderScrounge4(); public static var scroungeFrame6:Bitmap = new Defender.DefenderScrounge6(); public static var scroungeFrame8:Bitmap = new Defender.DefenderScrounge8(); public static var scroungeFrame3:Bitmap = new Defender.DefenderScrounge3(); public static var scroungeFrame5:Bitmap = new Defender.DefenderScrounge5(); public static var scroungeFrame7:Bitmap = new Defender.DefenderScrounge7(); public static var attackFrame7:Bitmap = new Defender.DefenderAttack7(); public static var attackFrame1:Bitmap = new Defender.DefenderAttack1(); public static var attackFrame3:Bitmap = new Defender.DefenderAttack3(); public static var attackFrame4:Bitmap = new Defender.DefenderAttack4(); public static var scroungeFrame9:Bitmap = new Defender.DefenderScrounge9(); public static var attackFrame6:Bitmap = new Defender.DefenderAttack6(); public static var damagedFrame3:Bitmap = new Defender.DefenderDamaged3(); public static var attackFrame8:Bitmap = new Defender.DefenderAttack8(); public static var attackFrame0:Bitmap = new Defender.DefenderAttack0(); public static var attackFrame2:Bitmap = new Defender.DefenderAttack2(); public static var _attackSound:Sound = new DefenderAttackSound(); public static var attackFrame9:Bitmap = new Defender.DefenderAttack9(); public static var damagedFrame2:Bitmap = new Defender.DefenderDamaged2(); public static var damagedFrame4:Bitmap = new Defender.DefenderDamaged4(); public static var attackFrame5:Bitmap = new Defender.DefenderAttack5(); public function Defender(){ var _local1:int; var _local2:int; var _local3:Array; var _local4:AnimatedSprite; var _local5:Array; var _local6:AnimatedSprite; var _local7:Array; var _local8:AnimatedSprite; var _local9:Array; var _local10:AnimatedSprite; var _local11:Array; var _local12:AnimatedSprite; _scroungeSkillTotal = 0; _scroungeUpgradeLevel = 0; _scroungeBonusPerLevel = 0.5; _baseScrounge = 1; _local1 = 36; _local2 = 36; _local3 = new Array(); _local3.push(new Bitmap(scroungeFrame0.bitmapData)); _local3.push(new Bitmap(scroungeFrame1.bitmapData)); _local3.push(new Bitmap(scroungeFrame2.bitmapData)); _local3.push(new Bitmap(scroungeFrame3.bitmapData)); _local3.push(new Bitmap(scroungeFrame4.bitmapData)); _local3.push(new Bitmap(scroungeFrame5.bitmapData)); _local3.push(new Bitmap(scroungeFrame6.bitmapData)); _local3.push(new Bitmap(scroungeFrame7.bitmapData)); _local3.push(new Bitmap(scroungeFrame8.bitmapData)); _local3.push(new Bitmap(scroungeFrame9.bitmapData)); _local4 = new AnimatedSprite(_local3); _local4.Width = _local1; _local4.Height = _local2; _local4.X = (-(_local1) / 2); _local4.Y = (-(_local2) / 2); _local5 = new Array(); _local5.push(new Bitmap(moveFrame0.bitmapData)); _local5.push(new Bitmap(moveFrame1.bitmapData)); _local5.push(new Bitmap(moveFrame2.bitmapData)); _local5.push(new Bitmap(moveFrame3.bitmapData)); _local5.push(new Bitmap(moveFrame4.bitmapData)); _local5.push(new Bitmap(moveFrame5.bitmapData)); _local5.push(new Bitmap(moveFrame6.bitmapData)); _local5.push(new Bitmap(moveFrame7.bitmapData)); _local5.push(new Bitmap(moveFrame8.bitmapData)); _local5.push(new Bitmap(moveFrame9.bitmapData)); _local6 = new AnimatedSprite(_local5); _local6.Width = _local1; _local6.Height = _local2; _local6.X = (-(_local1) / 2); _local6.Y = (-(_local2) / 2); _local7 = new Array(); _local7.push(new Bitmap(attackFrame0.bitmapData)); _local7.push(new Bitmap(attackFrame1.bitmapData)); _local7.push(new Bitmap(attackFrame2.bitmapData)); _local7.push(new Bitmap(attackFrame3.bitmapData)); _local7.push(new Bitmap(attackFrame4.bitmapData)); _local7.push(new Bitmap(attackFrame5.bitmapData)); _local7.push(new Bitmap(attackFrame6.bitmapData)); _local7.push(new Bitmap(attackFrame7.bitmapData)); _local7.push(new Bitmap(attackFrame8.bitmapData)); _local7.push(new Bitmap(attackFrame9.bitmapData)); _local8 = new AnimatedSprite(_local7); _local8.Width = _local1; _local8.Height = _local2; _local8.X = (-(_local1) / 2); _local8.Y = (-(_local2) / 2); _local9 = new Array(); _local9.push(new Bitmap(idleFrame0.bitmapData)); _local10 = new AnimatedSprite(_local9); _local10.Width = _local1; _local10.Height = _local2; _local10.X = (-(_local1) / 2); _local10.Y = (-(_local2) / 2); _local11 = new Array(); _local11.push(new Bitmap(damagedFrame0.bitmapData)); _local11.push(new Bitmap(damagedFrame1.bitmapData)); _local11.push(new Bitmap(damagedFrame2.bitmapData)); _local11.push(new Bitmap(damagedFrame3.bitmapData)); _local11.push(new Bitmap(damagedFrame4.bitmapData)); _local12 = new AnimatedSprite(_local11); _local12.Width = _local1; _local12.Height = _local2; _local12.X = (-(_local1) / 2); _local12.Y = (-(_local2) / 2); currentAnimation = new AnimatedSpriteBuffer(_local10, _local8, _local6, _local12, _local4); this._scroungeSpeed = 10; this._scroungeSkill = 2; this._baseScrounge = _scroungeSkill; currentAnimation.SetNextFrameBuffer(currentAnimation.IdleSprite, true); super(currentAnimation, 4, 1.8, 70, 70, 3, 30, new Defender.DefenderPortrait(), 0); this.toughnessBonusPerLevel = 2; this.attackPowerBonusPerLevel = 2; this.attackSpeedBonusPerLevel = 2; this.scroungeBonusPerLevel = 1; this.CommandAggressiveMode(); this.CommandKeepAttackDistance(); } public function set ScroungedThisTick(_arg1:Boolean):void{ this._scroungedThisTick = _arg1; } public function set AttackBehaviour(_arg1:int):void{ if (_arg1 != _behaviourAttackCurrent){ _behaviourAttackPrevious = _behaviourAttackCurrent; _behaviourAttackCurrent = _arg1; }; } public function set baseScrounge(_arg1:Number):void{ _baseScrounge = _arg1; _scroungeSkillTotal = (_baseScrounge + scroungeBonus); } public function set scroungeUpgradeLevel(_arg1:int):void{ if (_arg1 != this._scroungeUpgradeLevel){ this._scroungeUpgradeLevel = _arg1; _scroungeSkillTotal = (_baseScrounge + scroungeBonus); }; } public function CommandMoveToPoint(_arg1:Point):void{ MoveBehaviour = MoveBehaviourEnum.MOVETOPOINT; AttackBehaviour = AttackBehaviourEnum.ATTACKAGGRESSIVELY; this.ClearPath(); this.GeneratePath(_arg1); } public function CommandPatrolToPoint(_arg1:Point):void{ this.stuckCounter = 0; _movePreviousTargetPoint = new Point(EngineX, EngineY); _moveCurrentTargetPoint = _arg1; MoveBehaviour = MoveBehaviourEnum.PATROLBETWEENPOINTS; } public function CommandScroungeAtPoint(_arg1:Point):void{ CommandMoveToPoint(_arg1); CommandScrounge(true); } public function CommandDefensiveMode():void{ AttackBehaviour = AttackBehaviourEnum.ATTACKDEFENSIVELY; } public function CommandStandGround():void{ MoveBehaviour = MoveBehaviourEnum.STANDGROUND; } public function get scroungeUpgradeLevel():int{ return (this._scroungeUpgradeLevel); } public function get scroungeBonusPerLevel():Number{ return (_scroungeBonusPerLevel); } override public function set healthCurrent(_arg1:Number):void{ super.healthCurrent = _arg1; if ((((healthCurrent < healthTotal)) && ((healthCurrent > 0)))){ super.healthCurrent = (super.healthCurrent + Inventory.GetInstance().GetAMedkit((healthTotal - _arg1))); }; } override public function AttackEvent():void{ var _local1:Boolean; this._attackedThisTick = false; _attackCounter++; if (_attackCounter >= attackSpeed){ switch (_behaviourAttackCurrent){ case AttackBehaviourEnum.DONOTATTACK: _targetPrimary = null; break; case AttackBehaviourEnum.ATTACKDEFENSIVELY: if (_targetPrimary == null){ _targetPrimary = this._lastAttacker; this._lastAttacker = null; }; break; case AttackBehaviourEnum.ATTACKAGGRESSIVELY: if (_targetPrimary == null){ _targetPrimary = (Engine.Instance().GetWorldGrid().GetClosestEngineObjectOfType(Zombie, EngineX, EngineY, (_attackRange / this.ParentGrid.PixelsPerUnit)) as KillableObject); }; break; }; if (Inventory.GetInstance().Ammo() > 1){ _local1 = AttackPrimaryTarget(); if (_local1){ Defender._attackSound.play(0, 0, BrunchOfTheDead._globalSoundTransform); Inventory.GetInstance().GetABullet(); _attackCounter = 0; } else { _targetPrimary = null; _attackCounter = attackSpeed; }; }; }; } public function get ScroungedThisTick():Boolean{ return (this._scroungedThisTick); } override public function MoveEvent():void{ var _local1:Point; var _local2:Boolean; switch (_behaviourMoveCurrent){ case MoveBehaviourEnum.STANDGROUND: break; case MoveBehaviourEnum.KEEPATTACKDISTANCE: if (_targetPrimary != null){ }; break; case MoveBehaviourEnum.KEEPSIGHTDISTANCE: if (_targetPrimary != null){ }; break; case MoveBehaviourEnum.MOVETOTARGET: break; case MoveBehaviourEnum.MOVETOPOINT: break; case MoveBehaviourEnum.PATROLBETWEENPOINTS: break; case MoveBehaviourEnum.FOLLOWFRIENDLYTARGET: break; }; if (_stuckCounter > 5){ if (this.regenStuckCount > 20){ this.regenStuckCount = 0; this.ClearMoveTarget(); } else { this.GeneratePath(this._moveTarget); }; return; }; super.MoveEvent(); } public function get scroungeBonus():Number{ return ((this._scroungeUpgradeLevel * _scroungeBonusPerLevel)); } public function get AttackBehaviour():int{ return (_behaviourAttackCurrent); } public function get baseScrounge():Number{ return (this._baseScrounge); } public function get scroungeSpeed():Number{ return (_scroungeSpeed); } public function get scroungeSkill():Number{ return (_scroungeSkillTotal); } public function set scroungeBonusPerLevel(_arg1:Number):void{ _scroungeBonusPerLevel = _arg1; _scroungeSkillTotal = (_baseScrounge + scroungeBonus); } public function CommandScrounge(_arg1:Boolean=true):void{ if (_arg1){ this.CommandDefensiveMode(); this._behaviourScrounge = true; } else { this.CommandAggressiveMode(); this._behaviourScrounge = false; }; } public function set MoveBehaviour(_arg1:int):void{ if (_arg1 != _behaviourMoveCurrent){ _behaviourMovePrevious = _behaviourMoveCurrent; _behaviourMoveCurrent = _arg1; }; } public function CommandAttackUnitAtPoint(_arg1:Point):void{ var _local2:EngineObject; _local2 = Engine.Instance().GetWorldGrid().GetEngineObjectAtPoint(_arg1.x, _arg1.y); if ((_local2 is Zombie)){ _targetPrimary = (_local2 as Zombie); }; } public function get MoveBehaviour():int{ return (_behaviourMoveCurrent); } public function ScroungeEvent():void{ var _local1:WorldTile; var _local2:Boolean; this._scroungedThisTick = false; if (_behaviourScrounge){ _scroungeCounter++; if (_scroungeCounter >= _scroungeSpeed){ _local1 = Engine.Instance().GetWorldGrid().GetWorldTile(EngineX, EngineY); _local2 = _local1.isScroungable; if (_local2){ this._scroungedThisTick = true; Inventory.GetInstance().AddAmmo((_local1.ScroungeAmmoValue * this._scroungeSkill)); Inventory.GetInstance().AddDebris((_local1.ScroungeDebrisValue * this._scroungeSkill)); Inventory.GetInstance().AddMedikits((_local1.ScroungeMedikitValue * this._scroungeSkill)); Inventory.GetInstance().AddMolotovs(BrunchOfTheDead._globalMolotovHarvestRate); Inventory.GetInstance().UpdateUI(); }; _scroungeCounter = 0; }; }; } public function CommandKeepAttackDistance():void{ MoveBehaviour = MoveBehaviourEnum.KEEPATTACKDISTANCE; } public function CommandAggressiveMode():void{ AttackBehaviour = AttackBehaviourEnum.ATTACKAGGRESSIVELY; } public function get isScrounging():Boolean{ return (this._behaviourScrounge); } } }//package
Section 45
//Defender_DefenderAttack0 (Defender_DefenderAttack0) package { import mx.core.*; public class Defender_DefenderAttack0 extends BitmapAsset { } }//package
Section 46
//Defender_DefenderAttack1 (Defender_DefenderAttack1) package { import mx.core.*; public class Defender_DefenderAttack1 extends BitmapAsset { } }//package
Section 47
//Defender_DefenderAttack2 (Defender_DefenderAttack2) package { import mx.core.*; public class Defender_DefenderAttack2 extends BitmapAsset { } }//package
Section 48
//Defender_DefenderAttack3 (Defender_DefenderAttack3) package { import mx.core.*; public class Defender_DefenderAttack3 extends BitmapAsset { } }//package
Section 49
//Defender_DefenderAttack4 (Defender_DefenderAttack4) package { import mx.core.*; public class Defender_DefenderAttack4 extends BitmapAsset { } }//package
Section 50
//Defender_DefenderAttack5 (Defender_DefenderAttack5) package { import mx.core.*; public class Defender_DefenderAttack5 extends BitmapAsset { } }//package
Section 51
//Defender_DefenderAttack6 (Defender_DefenderAttack6) package { import mx.core.*; public class Defender_DefenderAttack6 extends BitmapAsset { } }//package
Section 52
//Defender_DefenderAttack7 (Defender_DefenderAttack7) package { import mx.core.*; public class Defender_DefenderAttack7 extends BitmapAsset { } }//package
Section 53
//Defender_DefenderAttack8 (Defender_DefenderAttack8) package { import mx.core.*; public class Defender_DefenderAttack8 extends BitmapAsset { } }//package
Section 54
//Defender_DefenderAttack9 (Defender_DefenderAttack9) package { import mx.core.*; public class Defender_DefenderAttack9 extends BitmapAsset { } }//package
Section 55
//Defender_DefenderAttackSound (Defender_DefenderAttackSound) package { import mx.core.*; public class Defender_DefenderAttackSound extends SoundAsset { } }//package
Section 56
//Defender_DefenderDamaged0 (Defender_DefenderDamaged0) package { import mx.core.*; public class Defender_DefenderDamaged0 extends BitmapAsset { } }//package
Section 57
//Defender_DefenderDamaged1 (Defender_DefenderDamaged1) package { import mx.core.*; public class Defender_DefenderDamaged1 extends BitmapAsset { } }//package
Section 58
//Defender_DefenderDamaged2 (Defender_DefenderDamaged2) package { import mx.core.*; public class Defender_DefenderDamaged2 extends BitmapAsset { } }//package
Section 59
//Defender_DefenderDamaged3 (Defender_DefenderDamaged3) package { import mx.core.*; public class Defender_DefenderDamaged3 extends BitmapAsset { } }//package
Section 60
//Defender_DefenderDamaged4 (Defender_DefenderDamaged4) package { import mx.core.*; public class Defender_DefenderDamaged4 extends BitmapAsset { } }//package
Section 61
//Defender_DefenderIdle0 (Defender_DefenderIdle0) package { import mx.core.*; public class Defender_DefenderIdle0 extends BitmapAsset { } }//package
Section 62
//Defender_DefenderMove0 (Defender_DefenderMove0) package { import mx.core.*; public class Defender_DefenderMove0 extends BitmapAsset { } }//package
Section 63
//Defender_DefenderMove1 (Defender_DefenderMove1) package { import mx.core.*; public class Defender_DefenderMove1 extends BitmapAsset { } }//package
Section 64
//Defender_DefenderMove2 (Defender_DefenderMove2) package { import mx.core.*; public class Defender_DefenderMove2 extends BitmapAsset { } }//package
Section 65
//Defender_DefenderMove3 (Defender_DefenderMove3) package { import mx.core.*; public class Defender_DefenderMove3 extends BitmapAsset { } }//package
Section 66
//Defender_DefenderMove4 (Defender_DefenderMove4) package { import mx.core.*; public class Defender_DefenderMove4 extends BitmapAsset { } }//package
Section 67
//Defender_DefenderMove5 (Defender_DefenderMove5) package { import mx.core.*; public class Defender_DefenderMove5 extends BitmapAsset { } }//package
Section 68
//Defender_DefenderMove6 (Defender_DefenderMove6) package { import mx.core.*; public class Defender_DefenderMove6 extends BitmapAsset { } }//package
Section 69
//Defender_DefenderMove7 (Defender_DefenderMove7) package { import mx.core.*; public class Defender_DefenderMove7 extends BitmapAsset { } }//package
Section 70
//Defender_DefenderMove8 (Defender_DefenderMove8) package { import mx.core.*; public class Defender_DefenderMove8 extends BitmapAsset { } }//package
Section 71
//Defender_DefenderMove9 (Defender_DefenderMove9) package { import mx.core.*; public class Defender_DefenderMove9 extends BitmapAsset { } }//package
Section 72
//Defender_DefenderPortrait (Defender_DefenderPortrait) package { import mx.core.*; public class Defender_DefenderPortrait extends BitmapAsset { } }//package
Section 73
//Defender_DefenderScrounge0 (Defender_DefenderScrounge0) package { import mx.core.*; public class Defender_DefenderScrounge0 extends BitmapAsset { } }//package
Section 74
//Defender_DefenderScrounge1 (Defender_DefenderScrounge1) package { import mx.core.*; public class Defender_DefenderScrounge1 extends BitmapAsset { } }//package
Section 75
//Defender_DefenderScrounge2 (Defender_DefenderScrounge2) package { import mx.core.*; public class Defender_DefenderScrounge2 extends BitmapAsset { } }//package
Section 76
//Defender_DefenderScrounge3 (Defender_DefenderScrounge3) package { import mx.core.*; public class Defender_DefenderScrounge3 extends BitmapAsset { } }//package
Section 77
//Defender_DefenderScrounge4 (Defender_DefenderScrounge4) package { import mx.core.*; public class Defender_DefenderScrounge4 extends BitmapAsset { } }//package
Section 78
//Defender_DefenderScrounge5 (Defender_DefenderScrounge5) package { import mx.core.*; public class Defender_DefenderScrounge5 extends BitmapAsset { } }//package
Section 79
//Defender_DefenderScrounge6 (Defender_DefenderScrounge6) package { import mx.core.*; public class Defender_DefenderScrounge6 extends BitmapAsset { } }//package
Section 80
//Defender_DefenderScrounge7 (Defender_DefenderScrounge7) package { import mx.core.*; public class Defender_DefenderScrounge7 extends BitmapAsset { } }//package
Section 81
//Defender_DefenderScrounge8 (Defender_DefenderScrounge8) package { import mx.core.*; public class Defender_DefenderScrounge8 extends BitmapAsset { } }//package
Section 82
//Defender_DefenderScrounge9 (Defender_DefenderScrounge9) package { import mx.core.*; public class Defender_DefenderScrounge9 extends BitmapAsset { } }//package
Section 83
//DifficultySelectionScreen (DifficultySelectionScreen) package { import flash.events.*; import flash.text.*; import flash.display.*; public class DifficultySelectionScreen extends Sprite { private var _headline:TextField; public var MainMenuBg:Class; private var _headerTextFormat:TextFormat; private var _floatingMenu:Sprite; private var _quickStartText:TextField; private var _easyButton:ButtonCommand; private var _buttonTextFormat:TextFormat; private var _floatingQuickStart:Sprite; private var _hardButton:ButtonCommand; private var _quickStartHeader:TextField; private var _floatingHotKeys:Sprite; private var _veryhardButton:ButtonCommand; private var _backDrop:Sprite; private var _mediumButton:ButtonCommand; private var _hotKeysText:TextField; public function DifficultySelectionScreen(){ var _local1:int; var _local2:int; MainMenuBg = DifficultySelectionScreen_MainMenuBg; super(); _buttonTextFormat = new TextFormat("Chiller", 30, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER); _headerTextFormat = new TextFormat("Chiller", 30, 0xEEEEEE, null, null, null, null, null, TextFormatAlign.CENTER); _headline = new TextField(); _headline.defaultTextFormat = _headerTextFormat; _headline.embedFonts = true; _headline.antiAliasType = AntiAliasType.ADVANCED; _headline.text = "Choose Difficulty Level"; _headline.x = 10; _headline.y = 10; _headline.width = 270; _headline.height = (_headline.textHeight + 5); _backDrop = new Sprite(); _backDrop.graphics.beginBitmapFill(new MainMenuBg().bitmapData); _backDrop.graphics.drawRect(0, 0, 800, 640); _backDrop.graphics.endFill(); _floatingMenu = SpriteFactory.makeBorderedFrame(290, 250, 20, 0x110000, 0xFFFFFF); _floatingMenu.x = 15; _floatingMenu.y = 15; _floatingHotKeys = SpriteFactory.makeBorderedFrame(470, 250); _floatingHotKeys.x = 315; _floatingHotKeys.y = 15; _floatingQuickStart = SpriteFactory.makeBorderedFrame(770, 350); _floatingQuickStart.x = 15; _floatingQuickStart.y = 275; _local1 = 250; _local2 = 40; _easyButton = new ButtonCommand(_local1, _local2, clickEasy, "Easy", _buttonTextFormat); _mediumButton = new ButtonCommand(_local1, _local2, clickMedium, "Normal", _buttonTextFormat); _hardButton = new ButtonCommand(_local1, _local2, clickHard, "Hard", _buttonTextFormat); _veryhardButton = new ButtonCommand(_local1, _local2, clickVeryHard, "Apocalypse", _buttonTextFormat); _easyButton.x = 20; _easyButton.y = 55; _mediumButton.x = 20; _mediumButton.y = 100; _hardButton.x = 20; _hardButton.y = 145; _veryhardButton.x = 20; _veryhardButton.y = 190; _floatingQuickStart.tabEnabled = false; _floatingQuickStart.tabChildren = false; _floatingQuickStart.mouseEnabled = false; _floatingQuickStart.mouseChildren = false; _floatingHotKeys.tabEnabled = false; _floatingHotKeys.tabChildren = false; _floatingHotKeys.mouseEnabled = false; _floatingHotKeys.mouseChildren = false; _quickStartText = new TextField(); _quickStartText.defaultTextFormat = new TextFormat("Verdana", 15, 0xAAAAAA, null, null, null, null, null, TextFormatAlign.LEFT); _quickStartText.embedFonts = true; _quickStartText.antiAliasType = AntiAliasType.ADVANCED; _quickStartText.wordWrap = true; _quickStartHeader = new TextField(); _quickStartHeader.defaultTextFormat = new TextFormat("Verdana", 25, 0xAAAAAA, null, null, null, null, null, TextFormatAlign.LEFT); _quickStartHeader.embedFonts = true; _quickStartHeader.antiAliasType = AntiAliasType.ADVANCED; _quickStartHeader.wordWrap = true; _hotKeysText = new TextField(); _hotKeysText.defaultTextFormat = new TextFormat("Verdana", 23, 0xAAAAAA, true, true, null, null, null, TextFormatAlign.LEFT); _hotKeysText.embedFonts = true; _hotKeysText.antiAliasType = AntiAliasType.ADVANCED; _hotKeysText.wordWrap = true; addChild(_backDrop); _backDrop.addChild(_floatingQuickStart); _floatingQuickStart.addChild(_quickStartHeader); _floatingQuickStart.addChild(_quickStartText); _backDrop.addChild(_floatingHotKeys); _floatingHotKeys.addChild(_hotKeysText); _backDrop.addChild(_floatingMenu); _floatingMenu.addChild(_headline); _floatingMenu.addChild(_easyButton); _floatingMenu.addChild(_mediumButton); _floatingMenu.addChild(_hardButton); _floatingMenu.addChild(_veryhardButton); _backDrop.addChild(SpriteFactory.makeBorder(800, 640, 0xAA0000)); _hotKeysText.text = ((((((("COMMAND HOTKEYS:" + "\n 'A' = Attack") + "\n 'M' = Move") + "\n 'G' = Scrounge") + "\n 'S' = Stop") + "\n 'D' = Place Debris") + "\n 'V' = Throw Molotov Cocktail") + "\n 'ESC' = Cancel / Pause"); _hotKeysText.x = 30; _hotKeysText.y = 10; _hotKeysText.width = 750; _hotKeysText.height = (_hotKeysText.textHeight + 10); _quickStartText.text = ((((((((((((((("TO ISSUE COMMANDS:" + "\n - Click to select a unit (or click-drag to select multiples)") + "\n - Choose command (Move is default)") + "\n - Click on playfield to issue command (’esc’ cancels)") + "\n") + "\nKEEP AN EYE ON YOUR INVENTORY! (Top of the screen)") + "\n - No Ammo = Guns No Worky!") + "\n - No Medikits = No Healing!") + "\n - No Debris = No more Barriers!") + "\n - No Molotovs = No BOOM!") + "\n - Scrounge in Sportmart for Ammo, Pharmacy for Medikits and $1 Store for Debris") + "\n - Molotovs can be found in any store, but they are rare so use them wisely!") + "\n") + "\nDON’T FORGET TO UPGRADE! (Red Buttons with Up-Arrow)") + "\n - Upgrades increase the toughness of your debris, the size of you Molotovs and the skills") + "\n of your individual Defenders. Without Upgrades, you’ll be overrun in short order!"); _quickStartText.x = 35; _quickStartText.y = 45; _quickStartText.width = 750; _quickStartText.height = (_quickStartText.textHeight + 10); _quickStartHeader.text = "Quick Start Tips:"; _quickStartHeader.x = 35; _quickStartHeader.y = 10; _quickStartHeader.width = 750; _quickStartHeader.height = (_quickStartHeader.textHeight + 10); } public function clickMedium(_arg1:MouseEvent):void{ ApplicationManager.Instance().ShowGame("NORMAL"); } public function clickHard(_arg1:MouseEvent):void{ ApplicationManager.Instance().ShowGame("HARD"); } public function clickEasy(_arg1:MouseEvent):void{ ApplicationManager.Instance().ShowGame("EASY"); } public function clickVeryHard(_arg1:MouseEvent):void{ ApplicationManager.Instance().ShowGame("VERYHARD"); } } }//package
Section 84
//DifficultySelectionScreen_MainMenuBg (DifficultySelectionScreen_MainMenuBg) package { import mx.core.*; public class DifficultySelectionScreen_MainMenuBg extends BitmapAsset { } }//package
Section 85
//Engine (Engine) package { import flash.display.*; import flash.geom.*; public class Engine { private var _GraphicsRootObject:DisplayObjectContainer; private var _WorldGrid:WorldGrid; private static var _Engine:Engine; public function Engine(_arg1:DisplayObjectContainer){ _GraphicsRootObject = _arg1; } public function GetWorldGrid():WorldGrid{ return (this._WorldGrid); } public function GenerateWorldGrid(_arg1:int=64, _arg2:int=64, _arg3:int=10):void{ _WorldGrid = new WorldGrid(_arg1, _arg2, _arg3, _GraphicsRootObject, true); } public function RemoveEngineObject(_arg1:EngineObject):Boolean{ return (this._WorldGrid.RemoveEngineObject(_arg1)); } public function MoveEngineObjectByVelocity(_arg1:EngineObject, _arg2:Number, _arg3:Number):void{ MoveEngineObjectToPoint(_arg1, (_arg1.x + _arg2), (_arg1.y + _arg3)); } public function MoveEngineObjectToPoint(_arg1:EngineObject, _arg2:Number, _arg3:Number):void{ _arg1.x = _arg2; _arg1.y = _arg3; } public function SetEngineObjectDestination(_arg1:EngineObject, _arg2:int, _arg3:int):Boolean{ return (this._WorldGrid.SetEngineObjectDestination(_arg1, _arg2, _arg3)); } public function MoveEngineObjectAlongVector(_arg1:EngineObject, _arg2:Number, _arg3:Number):void{ var _local4:Point; _local4 = Geometry.AngleAndSpeedToVelocity(_arg2, _arg3); MoveEngineObjectToPoint(_arg1, (_arg1.x + _local4.x), (_arg1.y + _local4.y)); } public function AverageAngleFromObjects(_arg1:EngineObject, _arg2:Array):Number{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:uint; _local3 = _arg1.EngineAngle; if (_arg2.length > 0){ _local4 = 0; _local5 = 0; _local6 = 0; while (_local6 < _arg2.length) { _local4 = (_local4 + _arg2.EngineX); _local5 = (_local5 + _arg2.EngineY); _local6++; }; _local4 = (_local4 / _arg2.length); _local5 = (_local5 / _arg2.length); _local3 = Geometry.GetAngleToPoint(_local4, _local5, _arg1.EngineX, _arg1.EngineY); }; return (_local3); } public function InsertEngineObject(_arg1:EngineObject):Boolean{ return (this._WorldGrid.InsertEngineObject(_arg1)); } public static function Instance(_arg1:DisplayObjectContainer=null):Engine{ if (_Engine == null){ _Engine = new Engine(_arg1); }; return (_Engine); } public static function Reset(_arg1:DisplayObjectContainer):Engine{ _Engine = null; return (Engine.Instance(_arg1)); } } }//package
Section 86
//EngineObject (EngineObject) package { import flash.display.*; public class EngineObject extends Sprite { protected var _PassLevel:int; protected var _ParentGrid:WorldGrid; protected var _EngineAngle:Number; protected var _EngineX:Number; protected var _EngineY:Number; public function EngineObject(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:int=0){ EngineAngle = _arg3; EngineX = _arg1; EngineY = _arg2; PassLevel = _arg4; } public function set EngineAngle(_arg1:Number):void{ _EngineAngle = _arg1; this.rotation = _EngineAngle; } public function get EngineX():Number{ return (_EngineX); } public function get EngineY():Number{ return (_EngineY); } public function get ParentGrid():WorldGrid{ return (_ParentGrid); } public function set ParentGrid(_arg1:WorldGrid):void{ _ParentGrid = _arg1; } public function set EngineY(_arg1:Number):void{ _EngineY = _arg1; } public function set EngineX(_arg1:Number):void{ _EngineX = _arg1; } public function get EngineAngle():Number{ return (_EngineAngle); } public function set PassLevel(_arg1:int):void{ _PassLevel = _arg1; } public function get PassLevel():int{ return (_PassLevel); } } }//package
Section 87
//EntryPoint (EntryPoint) package { import flash.display.*; public class EntryPoint extends Sprite { public function init(_arg1:Boolean=false):void{ stage.addChild(ApplicationManager.Instance()); ApplicationManager.Instance().ShowMenuScreen(); } } }//package
Section 88
//GameOverScreen (GameOverScreen) package { import flash.events.*; import flash.text.*; import flash.display.*; import com.adobe.crypto.*; import flash.net.*; public class GameOverScreen extends Sprite { private var _goHome:ButtonCommand; private var _submitStatus:TextField; private var _playAgain:ButtonCommand; private var _textFormat:TextFormat; private var _submit:ButtonCommand; private var _scoreLabel:TextField; private var _buttonTextFormatSmall:TextFormat; private var _floatingMenu:Sprite; private var _namePrompt:TextField; private var _timePlayedText:TextField; private var _statusTextFormat:TextFormat; private var _viewScore:ButtonCommand; private var _timePlayedLabel:TextField; private var _score:int; private var _timePlayed:int; private var _nameLabel:TextField; private var _buttonTextFormat:TextFormat; private var _restart:ButtonCommand; public function GameOverScreen(){ var _local1:int; var _local2:int; super(); _textFormat = new TextFormat("Chiller", 40, 0xFFFFFF); _statusTextFormat = new TextFormat("Chiller", 30, 0xEEEEEE, null, null, null, null, null, TextFormatAlign.CENTER); _buttonTextFormat = new TextFormat("Chiller", 40, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER); _buttonTextFormatSmall = new TextFormat("Chiller", 30, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER); _floatingMenu = new Sprite(); _floatingMenu.x = 250; _floatingMenu.y = 150; _submitStatus = new TextField(); _submitStatus.defaultTextFormat = _statusTextFormat; _submitStatus.embedFonts = true; _submitStatus.antiAliasType = AntiAliasType.ADVANCED; _submitStatus.selectable = false; _submitStatus.tabEnabled = false; _submitStatus.text = "STATUS MESSAGE"; _submitStatus.width = 300; _submitStatus.height = 270; _local1 = 250; _local2 = 50; _submit = new ButtonCommand(_local1, _local2, clickSubmit, "Submit Score", _buttonTextFormat); _restart = new ButtonCommand(_local1, _local2, clickRestart, "Play Again", _buttonTextFormat); _playAgain = new ButtonCommand(_local1, 40, clickRestart, "Play Again", _buttonTextFormatSmall); _viewScore = new ButtonCommand(_local1, 40, clickViewScores, "View Scores", _buttonTextFormatSmall); _goHome = new ButtonCommand(_local1, 40, clickGoHome, "Go to HeadMeatGames", _buttonTextFormatSmall); _submitStatus.x = 10; _submitStatus.y = 10; _playAgain.x = 35; _playAgain.y = 120; _viewScore.x = 35; _viewScore.y = 170; _goHome.x = 35; _goHome.y = 220; _nameLabel = new TextField(); _namePrompt = new TextField(); _timePlayedLabel = new TextField(); _timePlayedText = new TextField(); _scoreLabel = new TextField(); addChild(_floatingMenu); if (Preloader.IN_SPONSOR_DOMAIN){ _floatingMenu.addChild(SpriteFactory.makeBorderedFrame(320, 170)); } else { _floatingMenu.addChild(SpriteFactory.makeBorderedFrame(320, 290)); }; _floatingMenu.addChild(_nameLabel); _floatingMenu.addChild(_namePrompt); _floatingMenu.addChild(_timePlayedLabel); _floatingMenu.addChild(_timePlayedText); _floatingMenu.addChild(_scoreLabel); _floatingMenu.addChild(_submit); _floatingMenu.addChild(_restart); _floatingMenu.addChild(_submitStatus); _floatingMenu.addChild(_playAgain); _floatingMenu.addChild(_viewScore); _floatingMenu.addChild(_goHome); _scoreLabel.defaultTextFormat = _textFormat; _scoreLabel.text = "Score:00000000"; _scoreLabel.embedFonts = true; _scoreLabel.height = _scoreLabel.textHeight; _scoreLabel.antiAliasType = AntiAliasType.ADVANCED; _nameLabel.defaultTextFormat = _textFormat; _nameLabel.text = "Name:"; _nameLabel.height = _nameLabel.textHeight; _nameLabel.embedFonts = true; _nameLabel.antiAliasType = AntiAliasType.ADVANCED; _namePrompt.defaultTextFormat = _textFormat; _namePrompt.text = "Anonymous"; _namePrompt.embedFonts = true; _namePrompt.antiAliasType = AntiAliasType.ADVANCED; _namePrompt.mouseEnabled = true; _namePrompt.background = true; _namePrompt.backgroundColor = 0x555555; _namePrompt.border = true; _namePrompt.borderColor = 0; _namePrompt.height = _namePrompt.textHeight; _namePrompt.type = TextFieldType.INPUT; _namePrompt.maxChars = 16; _timePlayedLabel.defaultTextFormat = _textFormat; _timePlayedLabel.text = "Time:"; _timePlayedLabel.height = _timePlayedLabel.textHeight; _timePlayedLabel.embedFonts = true; _timePlayedLabel.antiAliasType = AntiAliasType.ADVANCED; _timePlayedText.defaultTextFormat = _textFormat; _timePlayedText.text = "HH:MM:SS"; _timePlayedText.height = _timePlayedText.textHeight; _timePlayedText.width = (_timePlayedText.textWidth + 20); _timePlayedText.embedFonts = true; _timePlayedText.antiAliasType = AntiAliasType.ADVANCED; _timePlayedLabel.x = 20; _timePlayedLabel.y = 10; _timePlayedText.x = 100; _timePlayedText.y = _timePlayedLabel.y; _scoreLabel.x = 20; _scoreLabel.y = (_timePlayedLabel.y + _timePlayedLabel.textHeight); _scoreLabel.width = (_scoreLabel.width + (_floatingMenu.width / 2)); _nameLabel.x = 20; _nameLabel.y = (_scoreLabel.y + _scoreLabel.textHeight); _namePrompt.x = ((_nameLabel.x + _nameLabel.textWidth) + 5); _namePrompt.y = (_scoreLabel.y + _scoreLabel.textHeight); _namePrompt.width = ((_floatingMenu.width - _namePrompt.x) - 35); _namePrompt.restrict = "a-zA-Z0-9_ "; _submit.x = ((_floatingMenu.width / 2) - (_local1 / 2)); _submit.y = ((_nameLabel.y + _nameLabel.textHeight) + 10); if (Preloader.IN_SPONSOR_DOMAIN){ _restart.x = ((_floatingMenu.width / 2) - (_local1 / 2)); _restart.y = (_scoreLabel.y + _scoreLabel.textHeight); _nameLabel.visible = false; _namePrompt.visible = false; _submit.visible = false; } else { _restart.x = _submit.x; _restart.y = ((_submit.y + _local2) + 10); }; this.focusRect = false; this.visible = false; } private function ShowSubmitting():void{ this._nameLabel.visible = false; this._namePrompt.visible = false; this._restart.visible = false; this._submit.visible = false; this._scoreLabel.visible = false; this._timePlayedLabel.visible = false; this._timePlayedText.visible = false; this._submitStatus.visible = true; this._playAgain.visible = true; this._viewScore.visible = true; this._goHome.visible = true; this._playAgain.enabled = false; this._viewScore.enabled = false; this._goHome.enabled = false; this._submitStatus.text = "Submitting..."; } public function SubmittedScoreIOError(_arg1:Event):void{ trace("Submit IO Error!"); this._submitStatus.text = "Error Submitting!"; this.ShowSubmitted(); } public function Show():void{ var _local1:Array; var _local2:int; var _local3:Number; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:String; this._submitStatus.visible = false; this._playAgain.visible = false; this._viewScore.visible = false; this._goHome.visible = false; _score = ScoreView.Instance().Score; _scoreLabel.text = ("Score: " + _score.toString()); _scoreLabel.setTextFormat(_textFormat); _local1 = BrunchOfTheDead.Instance()._timeStack; _local2 = _local1.length; _local3 = 0; _local4 = 0; while (_local4 < (_local2 - 1)) { _local3 = (_local3 + ((_local1[(_local4 + 1)] as Date).time - _local1[_local4].time)); _local4 = (_local4 + 2); }; trace((("timePlayed(" + _local3) + ")")); _local5 = (_local3 / 3600000); _local3 = (_local3 - (_local5 * 3600000)); _local6 = (_local3 / 60000); _local3 = (_local3 - (_local6 * 60000)); _local7 = (_local3 / 1000); _local8 = ""; if (_local5 < 10){ _local8 = (_local8 + "0"); }; _local8 = (_local8 + (_local5.toString() + ":")); if (_local6 < 10){ _local8 = (_local8 + "0"); }; _local8 = (_local8 + (_local6.toString() + ":")); if (_local7 < 10){ _local8 = (_local8 + "0"); }; _local8 = (_local8 + _local7.toString()); this._timePlayedText.text = _local8; _namePrompt.setSelection(0, _namePrompt.text.length); stage.focus = _namePrompt; this.visible = true; } public function clickRestart(_arg1:MouseEvent):void{ ApplicationManager.Instance().ShowMenuScreen(); } private function ShowSubmitted():void{ this._playAgain.enabled = true; this._viewScore.enabled = true; this._goHome.enabled = true; } public function clickGoHome(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://www.headmeatgames.com"); navigateToURL(_local2, "_self"); ApplicationManager.Instance().ShowMenuScreen(); } public function clickSubmit(_arg1:MouseEvent):void{ var majorVersion:String; var minorVersion:String; var difficulty:String; var hash:String; var variables:URLVariables; var request:URLRequest; var loader:URLLoader; var pirateMessage:String; var event = _arg1; if (((LoadScreen.IllegalCopy) || (LoadScreen.LocalCopy))){ pirateMessage = "You must play at\nwww.headmeatgames.com\nto submit scores!"; this.ShowSubmitting(); this._submitStatus.text = pirateMessage; this.ShowSubmitted(); return; }; majorVersion = BrunchOfTheDead.GameMajorVersion.toString(); minorVersion = BrunchOfTheDead.GameMinorVersion.toString(); difficulty = BrunchOfTheDead.Instance()._difficultyLevel; hash = MD5.hash((((((((_namePrompt.text + _score.toString()) + _timePlayedText.text) + difficulty) + majorVersion) + ".") + minorVersion) + "BoogaBoogaBooga")); variables = new URLVariables(((((((((((((("name=" + _namePrompt.text) + "&score=") + _score.toString()) + "&time=") + _timePlayedText.text) + "&difficulty=") + difficulty) + "&gameMajorVersion=") + majorVersion) + "&gameMinorVersion=") + minorVersion) + "&check=") + hash)); request = new URLRequest(); request.url = "http://www.headmeatgames.com/LuncheonOfTheDead/content/SubmitScore.php"; request.method = URLRequestMethod.POST; request.data = variables; loader = new URLLoader(); try { this.ShowSubmitting(); loader.addEventListener(Event.COMPLETE, SubmittedScoreComplete); loader.addEventListener(IOErrorEvent.IO_ERROR, SubmittedScoreIOError); loader.load(request); trace("Sent score..."); } catch(error:Error) { trace("Unable to load URL"); this._submitStatus.text = "\nError Submitting!"; this.ShowSubmitted(); }; } public function clickViewScores(_arg1:MouseEvent):void{ var _local2:int; var _local3:String; var _local4:URLRequest; _local2 = 1; _local3 = BrunchOfTheDead.Instance()._difficultyLevel; if (_local3 == "EASY"){ _local2 = 2; } else { if (_local3 == "NORMAL"){ _local2 = 1; } else { if (_local3 == "HARD"){ _local2 = 3; } else { if (_local3 == "VERYHARD"){ _local2 = 4; }; }; }; }; _local4 = new URLRequest((("http://www.headmeatgames.com/LuncheonOfTheDead/?gameContent=scores&difficultyLevel=" + _local2.toString()) + "#scoreboard")); navigateToURL(_local4, "_self"); ApplicationManager.Instance().ShowMenuScreen(); } public function SubmittedScoreComplete(_arg1:Event):void{ trace("Submit Result Loaded!"); if (_arg1.target.data == "SUCCESS"){ trace("Score Submitted SUCCESSFULLY!"); this._submitStatus.text = "\nSubmitted!"; } else { trace("Score Not Submitted!"); this._submitStatus.text = "\nError Submitting!"; }; this.ShowSubmitted(); } } }//package
Section 89
//Geometry (Geometry) package { import flash.geom.*; public class Geometry { public static function NormalForVectorLH(_arg1:Number, _arg2:Number):Point{ var _local3:Point; _local3 = new Point(); _local3.x = _arg2; _local3.y = -(_arg1); return (_local3); } public static function DotProduct(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1 * _arg3) + (_arg2 * _arg4))); } public static function AngleAndSpeedToVelocity(_arg1:Number, _arg2:Number):Point{ var _local3:Point; var _local4:Number; _local3 = new Point(); _local4 = DegreesToRadians(_arg1); _local3.x = (Math.cos(_local4) * _arg2); _local3.y = (Math.sin(_local4) * _arg2); return (_local3); } public static function VelocityToAngleAndSpeed(_arg1:Number, _arg2:Number):Point{ var _local3:Point; _local3 = new Point(); _local3.x = AngleOfVector(_arg1, _arg2); _local3.y = DistanceOfVector(_arg1, _arg2); return (_local3); } public static function AngleOfVector(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = Geometry.RadiansToDegrees(Math.atan2(_arg2, _arg1)); return (_local3); } public static function DistanceOfVector(_arg1:Number, _arg2:Number):Number{ return (Math.sqrt(((_arg1 * _arg1) + (_arg2 * _arg2)))); } public static function DegreesToRadians(_arg1:Number):Number{ return (((_arg1 * Math.PI) / 180)); } public static function GetDistanceToPoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (DistanceOfVector((_arg3 - _arg1), (_arg4 - _arg2))); } public static function DifferenceOfAngles(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = (_arg1 - _arg2); if (_local3 > 180){ _local3 = (_local3 - 360); }; if (_local3 < -180){ _local3 = (_local3 + 360); }; return (Math.abs(_local3)); } public static function GetAngleAndDistanceToPoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Point{ var _local5:Point; _local5 = VelocityToAngleAndSpeed((_arg3 - _arg1), (_arg4 - _arg2)); return (_local5); } public static function NormalizeVector(_arg1:Number, _arg2:Number):Point{ var _local3:Point; var _local4:Number; _local3 = new Point(); _local4 = DistanceOfVector(_arg1, _arg2); if (_local4 != 0){ _local3.x = (_local3.x / _local4); _local3.y = (_local3.y / _local4); }; return (_local3); } public static function GetAngleToPoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (AngleOfVector((_arg3 - _arg1), (_arg4 - _arg2))); } public static function RadiansToDegrees(_arg1:Number):Number{ return (((_arg1 * 180) / Math.PI)); } public static function NormalForVectorRH(_arg1:Number, _arg2:Number):Point{ var _local3:Point; _local3 = new Point(); _local3.x = -(_arg2); _local3.y = _arg1; return (_local3); } } }//package
Section 90
//Heartbeat (Heartbeat) package { import flash.media.*; public dynamic class Heartbeat extends Sound { } }//package
Section 91
//HMGSplashScreen (HMGSplashScreen) package { import flash.events.*; import fl.transitions.*; import flash.text.*; import flash.display.*; import flash.geom.*; import flash.utils.*; import flash.media.*; import fl.transitions.easing.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.net.*; import flash.system.*; import flash.ui.*; public dynamic class HMGSplashScreen extends MovieClip { public var heartbeat:Heartbeat; public var doneFlag:Boolean; public var Games_mc:MovieClip; public var Head_mc:MovieClip; public var slam:Slam; public var timer:Timer; public var Meat_mc:MovieClip; public var GoToHMG_btn:SimpleButton; public var ProducedBy_mc:MovieClip; public var Brain_mc:MovieClip; public var heartbeatTimer:Timer; public var Skip_btn:SimpleButton; public var _doneCallback:Function; public var producedBy_in; public var TagLine_mc:MovieClip; public function HMGSplashScreen(){ addFrameScript(0, frame1); } public function gamesDone(_arg1:TweenEvent):void{ var _local2:*; if (!doneFlag){ slam.play(); _local2 = new Tween(TagLine_mc, "y", Bounce.easeOut, 660, 505, 6, false); _local2.addEventListener(TweenEvent.MOTION_FINISH, taglineDone); }; } public function heartBeat(_arg1:TimerEvent){ if (!doneFlag){ heartbeat.play(); new Tween(Brain_mc, "alpha", Bounce.easeIn, 0.1, 1, 10, false); new Tween(Brain_mc, "scaleX", Bounce.easeIn, 0.8, 1, 10, false); new Tween(Brain_mc, "scaleY", Bounce.easeIn, 0.8, 1, 10, false); }; } public function taglineDone(_arg1:TweenEvent):void{ if (!doneFlag){ slam.play(); GoToHMG_btn.visible = true; new Tween(GoToHMG_btn, "y", Bounce.easeOut, 660, 605, 6, false); }; } public function loadHMG(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://www.headmeatgames.com"); navigateToURL(_local2, "_blank"); } function frame1(){ stop(); heartbeat = new Heartbeat(); slam = new Slam(); GoToHMG_btn.y = 700; Head_mc.x = -200; Meat_mc.y = -175; Games_mc.x = 820; TagLine_mc.y = 660; ProducedBy_mc.alpha = 0; Brain_mc.alpha = 0.1; Brain_mc.scaleX = 0.8; Brain_mc.scaleY = 0.8; timer = new Timer(5000); timer.addEventListener(TimerEvent.TIMER, done); timer.start(); heartbeatTimer = new Timer(3000, 1); heartbeatTimer.addEventListener(TimerEvent.TIMER, heartBeat); heartbeatTimer.start(); doneFlag = false; producedBy_in = new Tween(ProducedBy_mc, "alpha", Strong.easeIn, 0, 100, 10, false); producedBy_in.addEventListener(TweenEvent.MOTION_FINISH, producedbyDone); Skip_btn.addEventListener(MouseEvent.CLICK, done); GoToHMG_btn.addEventListener(MouseEvent.CLICK, loadHMG); } public function done(_arg1:Event){ timer.stop(); doneFlag = true; if (_doneCallback != null){ _doneCallback(_arg1); } else { this.parent.removeChild(this); }; } public function headDone(_arg1:TweenEvent):void{ var _local2:*; if (!doneFlag){ slam.play(); _local2 = new Tween(Meat_mc, "y", Bounce.easeOut, -175, 20, 6, false); _local2.addEventListener(TweenEvent.MOTION_FINISH, meatDone); }; } public function meatDone(_arg1:TweenEvent):void{ var _local2:*; if (!doneFlag){ slam.play(); _local2 = new Tween(Games_mc, "x", Bounce.easeOut, 820, 515, 6, false); _local2.addEventListener(TweenEvent.MOTION_FINISH, gamesDone); }; } public function producedbyDone(_arg1:TweenEvent):void{ var _local2:*; var _local3:*; var _local4:*; if (!doneFlag){ _local2 = new Tween(Head_mc, "x", Bounce.easeOut, -200, 50, 6, false); _local3 = new Tween(Meat_mc, "y", Bounce.easeOut, -175, 20, 6, false); _local4 = new Tween(Games_mc, "x", Bounce.easeOut, 820, 515, 6, false); _local4.addEventListener(TweenEvent.MOTION_FINISH, gamesDone); slam.play(); }; } } }//package
Section 92
//InstructionPage (InstructionPage) package { public class InstructionPage { public var Instructions:String; public var Header:String; } }//package
Section 93
//InstructionScreen (InstructionScreen) package { import flash.events.*; import flash.text.*; import flash.display.*; public class InstructionScreen extends Sprite { private var _playButton:ButtonCommand; private var _pageList:Array; private var _instructionsTextFormat:TextFormat; public var MainMenuBg:Class; private var _headerTextFormat:TextFormat; private var _previousButton:ButtonCommand; private var _viewedIndex:int;// = 0 private var _headerTextField:TextField; private var _nextButton:ButtonCommand; private var _instructionsTextField:TextField; private var _buttonTextFormat:TextFormat; private var _viewingPageTextField:TextField; private var _background:Sprite; private var _viewingPageTextFormat:TextFormat; public function InstructionScreen(){ var _local1:InstructionPage; var _local2:InstructionPage; var _local3:InstructionPage; var _local4:InstructionPage; var _local5:InstructionPage; var _local6:InstructionPage; var _local7:InstructionPage; var _local8:InstructionPage; MainMenuBg = InstructionScreen_MainMenuBg; _viewedIndex = 0; super(); _headerTextFormat = new TextFormat("Chiller", 80, 0xAA0000, true, null, null, null, null, TextFormatAlign.CENTER); _instructionsTextFormat = new TextFormat("Verdana", 18, 0xBBBBBB); _viewingPageTextFormat = new TextFormat("Chiller", 30, 0xAA0000); _buttonTextFormat = new TextFormat("Chiller", 50, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER); _headerTextField = new TextField(); _headerTextField.defaultTextFormat = _headerTextFormat; _headerTextField.x = 10; _headerTextField.y = 20; _headerTextField.width = 790; _headerTextField.height = 75; _headerTextField.embedFonts = true; _instructionsTextField = new TextField(); _instructionsTextField.defaultTextFormat = _instructionsTextFormat; _instructionsTextField.x = 20; _instructionsTextField.y = 110; _instructionsTextField.width = 760; _instructionsTextField.height = 430; _instructionsTextField.embedFonts = true; _instructionsTextField.wordWrap = true; _instructionsTextField.mouseEnabled = false; _viewingPageTextField = new TextField(); _viewingPageTextField.defaultTextFormat = _viewingPageTextFormat; _viewingPageTextField.x = 160; _viewingPageTextField.y = 540; _viewingPageTextField.width = 50; _viewingPageTextField.height = 50; _viewingPageTextField.embedFonts = true; _viewingPageTextField.mouseEnabled = false; _playButton = new ButtonCommand(300, 60, StartGame, "Play Game", _buttonTextFormat); _previousButton = new ButtonCommand(100, 60, ShowPreviousPage, "Prev", _buttonTextFormat); _nextButton = new ButtonCommand(100, 60, ShowNextPage, "Next", _buttonTextFormat); _previousButton.x = 50; _previousButton.y = 540; _nextButton.x = 220; _nextButton.y = 540; _playButton.x = 450; _playButton.y = 540; _background = new Sprite(); _background.graphics.beginBitmapFill(new MainMenuBg().bitmapData); _background.graphics.drawRect(0, 0, 800, 640); _background.graphics.endFill(); addChild(_background); _background.addChild(_headerTextField); _background.addChild(_viewingPageTextField); _background.addChild(_instructionsTextField); _background.addChild(SpriteFactory.makeBorder(800, 640, 0xAA0000)); addChild(_playButton); addChild(_previousButton); addChild(_nextButton); _local1 = new InstructionPage(); _local1.Header = "Introduction"; _local1.Instructions = (((((((("The Dead have risen from the grave, and all they want to do is eat your brains. " + "They're not unreasonable, I mean, no ones gonna eat your eyes.") + "\n\nYou're in charge of a small group of survivors trapped in a mall. ") + "As luck would have it, they all have guns. ") + "Command them to scrounge for supplies (such as shells for said guns) ") + "and as long as the shells and medicine hold out, they will continue to survive. ") + "\n\nPile debris in doorways to hold the shambling hordes at bay, and ") + "when the situation gets too hairy, lob a Molotov Cocktail at the smelly bastards.") + "\n\n\nHappy Hunting."); _local2 = new InstructionPage(); _local2.Header = "Unit Selection"; _local2.Instructions = (((((((("The first thing you need to know how to do is select units. This way you can tell individuals or small groups what to do. " + "\n\n - To select a single unit, simply click on it, you will see the unit's health bar appear over its head, and its information and portrait will display on the sidebar. ") + "\n - To select multiple units, click and drag to capture the desired units in a selection box, their health bars will appear over their heads, and the unit portraits will display on the sidebar.") + "\n - To deselect all units, click on an empty area of the map ") + "\n - You can also toggle selected units by clicking on their portrait on the sidebar ") + "\n\nMODIFIER KEYS:") + "\n - Ctrl key: hold down while selecting units to toggle their selection. ") + "\n - Shift key: hold down while selecting units to add those units to the group. ") + "\n The easiest way to understand these modifiers is to play around with them. "); _local3 = new InstructionPage(); _local3.Header = "Issuing Commands"; _local3.Instructions = (((((("You have some basic commands at your disposal, that allow you to tell your Defenders how not to die. " + "\n\nTo issue these commands, first select friendly unit(s), then click on the command button on the sidebar and then click on the playfield to issue the command. ") + "\n\nSo to tell a Defender to scrounge for Ammo (at the SportMart), select the Defender, click Scrounge button (or use the hotkey 'G') and click with in the Sportmart. ") + "The Defender will move to the location, and begin scrounging as soon as he enters the store. ") + "\n\nA detailed description of individual Commands can be found on the next page.") + "\n\nNOTE: When you select a Defender, the 'Scrounge' command is auto-queued if scrounging, ") + "otherwise the 'Move' command is queued by default."); _local4 = new InstructionPage(); _local4.Header = "Command Details"; _local4.Instructions = ((((("The basic commands available to you are as follows:" + "\n\nMOVE - Move to point clicked. ") + "\n\nATTACK - Stay in place, but target the Zombie clicked. (Defenders will normally auto target the closest Zombie, this allows you to tell them to focus on a specific Zombie, even if it's not the nearest)") + "\n\nSCROUNGE - Move to point and scrounge for supplies there. (When Scrounging, Defenders will not auto target Zombies, and will defend themselves only when attacked first)") + "\n\nSTOP ALL - Stop moving and scrounging. (Defenders then resume auto-targeting and attacking as normal.) ") + "\n\nThe cursor will change to indicate what command you have selected (blue arrows for SCROUNGE, green arrows for MOVE, red arrows for ATTACK) "); _local5 = new InstructionPage(); _local5.Header = "Resource Management"; _local5.Instructions = ((((((("The Inventory is displayed at the top of the screen, and will show how many Shells, Medikits, Debris and Molotov Cocktails you have at your disposal. Running out of anything is bad. " + "\n - When a Defender fires his shotgun, a shell is consumed. ") + "\n - When a Defender takes damage and survives, a Medikit is consumed to heal it. ") + "\n - When a piece of Debris is placed, a Debris is consumed. ") + "\n - When you drop a Moltov, a Molotov is consumed.") + "\n\nYou must Scrounge to get more supplies, and to do so you can go North (SportMart) for Shells, East (Dollar Store) for Debris, and West (Pharmacy) for Medikits. ") + "\n\nEach store yields mainly the supply type it specializes in, but you will get trace amounts of the others from any store. ") + "If you're really lucky, your Scrounging Defenders might turn up an extra Molotov Cocktail from time to time, regardless of which store they are in. "); _local6 = new InstructionPage(); _local6.Header = "Upgrades!"; _local6.Instructions = ((((((((((("Upgrading your Defenders, Debris and Molotovs is critical to survival. " + "\nLook for the 'Upgrade' buttons on the Inventory bar at the top of the screen, and on the unit properties when you have a single Defender selected.") + "\n\nEach Upgrade level has a cost of Ammo, Medikits and/or Debris. The cost and benefits of the upgrade are displayed when you mouse over the upgrade button.") + "\nUpgrades to Defenders are done on an individual basis, so you can make super soldiers or scrounge specialist as needed.") + "\nUpgrades to Molotovs and Debris effect all Debris placed/Molotovs thrown after the upgrade is purchased.") + "\n\nYou can upgrade:") + "\n - the 'Toughness' of your Debris (making it harder for zombies to break through)") + "\n - the 'Area of Effect' of your Molotovs (BBQ larger groups of Zombies)") + "\n - the 'Toughness' of a Defender (helping them survive more massive damage)") + "\n - the 'Damage' of a Defender (does more damage per shot fired)") + "\n - the 'Speed' of a Defender (increases their rate of fire and movement speed)") + "\n - the 'Scrounge' skill of a Defender (increases the amount of supplies found)"); _local7 = new InstructionPage(); _local7.Header = "Debris And Bombs"; _local7.Instructions = (((((((((("To place Debris: " + "\n- Select 'Place Debris' command by clicking the command button or using the hotkey('D')") + "\n- The cursor will change to a gray circle ") + "\n- Now simply click and drag to place a line of Debris") + "\n- Debris will only be placed if a piece is available in the Inventory!") + "\n\nTo throw a Molotov Cocktail: ") + "\n- Select 'Throw Molotov' command by clicking the command button or using the hotkey('V')") + "\n- The cursor will change to a large red targeting reticle ") + "\n- click to drop a bomb on the targeted area ") + "\n- Defenders are immune to damage from friendly fire(heh), but debris will be destroyed") + "\n- Molotov Cocktails can only be thrown if one is available in the Inventory!"); _local8 = new InstructionPage(); _local8.Header = "HotKeys"; _local8.Instructions = ((((((("Like shortcuts? yeah, so do I. Here's a list of all the hotkeys, they save the trouble of clicking all the time." + "\n\n\t'A' = Attack") + "\n\t'M' = Move") + "\n\t'G' = Scrounge") + "\n\t'S' = Stop") + "\n\t'D' = Place Debris (click and drag to spread debris around)") + "\n\t'V' = Throw Molotov Cocktail") + "\n\t'ESC' = Cancel Queued Command -OR- Pause/Show Menu"); _pageList = new Array(); _pageList.push(_local1); _pageList.push(_local2); _pageList.push(_local3); _pageList.push(_local4); _pageList.push(_local5); _pageList.push(_local6); _pageList.push(_local7); _pageList.push(_local8); ShowPage(0); } public function ShowPreviousPage(_arg1:MouseEvent):void{ ShowPage((_viewedIndex - 1)); } public function ShowPage(_arg1:int):void{ if (((!((_pageList == null))) && ((_pageList.length > 0)))){ if (_arg1 >= this._pageList.length){ _arg1 = (_pageList.length - 1); }; if (_arg1 < 0){ _arg1 = 0; }; _viewedIndex = _arg1; this._headerTextField.text = (_pageList[_viewedIndex] as InstructionPage).Header; this._instructionsTextField.text = (_pageList[_viewedIndex] as InstructionPage).Instructions; this._viewingPageTextField.text = (_viewedIndex + 1).toString(); this._viewingPageTextField.appendText(("/" + _pageList.length)); }; } public function StartGame(_arg1:MouseEvent):void{ ApplicationManager.Instance().ShowDifficultySelection(); } public function ShowNextPage(_arg1:MouseEvent):void{ ShowPage((_viewedIndex + 1)); } } }//package
Section 94
//InstructionScreen_MainMenuBg (InstructionScreen_MainMenuBg) package { import mx.core.*; public class InstructionScreen_MainMenuBg extends BitmapAsset { } }//package
Section 95
//Inventory (Inventory) package { public class Inventory { private var _Debris:Number; private var _Molotovs:Number; private var _Ammo:Number; private var _Medikits:Number; private static var _Instance:Inventory; public function Inventory(_arg1:Number=100, _arg2:Number=100, _arg3:Number=100, _arg4:Number=10){ _Ammo = _arg1; _Debris = _arg2; _Medikits = _arg3; _Molotovs = _arg4; } public function AddMedikits(_arg1:Number):void{ _Medikits = (_Medikits + _arg1); if (_Medikits > 9999){ _Medikits = 9999; }; UpdateUI(); } public function UpdateUI():void{ InventoryView.Instance().UpdateUI(); } public function GetAMolotov(_arg1:int=1):int{ if (_Molotovs >= _arg1){ _Molotovs = (_Molotovs - _arg1); UpdateUI(); return (_arg1); }; return (0); } public function GetABullet(_arg1:int=1):int{ if (_Ammo >= _arg1){ _Ammo = (_Ammo - _arg1); UpdateUI(); return (_arg1); }; return (0); } public function Ammo():Number{ return (_Ammo); } public function AddAmmo(_arg1:Number):void{ _Ammo = (_Ammo + _arg1); if (_Ammo > 9999){ _Ammo = 9999; }; UpdateUI(); } public function GetDebris(_arg1:int=1):int{ if (_Debris >= _arg1){ _Debris = (_Debris - _arg1); UpdateUI(); return (_arg1); }; return (0); } public function GetAMedkit(_arg1:int=1):int{ if (_Medikits >= _arg1){ _Medikits = (_Medikits - _arg1); UpdateUI(); return (_arg1); }; return (0); } public function Medikits():Number{ return (_Medikits); } public function Debris():Number{ return (_Debris); } public function AddDebris(_arg1:Number):void{ _Debris = (_Debris + _arg1); if (_Debris > 9999){ _Debris = 9999; }; UpdateUI(); } public function Molotovs():Number{ return (_Molotovs); } public function AddMolotovs(_arg1:Number):void{ _Molotovs = (_Molotovs + _arg1); if (_Molotovs > 9999){ _Molotovs = 9999; }; UpdateUI(); } public static function GetInstance(_arg1:InventoryView=null):Inventory{ if (_Instance == null){ _Instance = new (Inventory); }; return (_Instance); } public static function Reset(_arg1:InventoryView):Inventory{ _Instance = null; return (GetInstance()); } } }//package
Section 96
//InventoryView (InventoryView) package { import flash.events.*; import flash.text.*; import flash.display.*; public class InventoryView extends Sprite { private var _MolotovField:TextField; public var MolotovIcon:Class; private var _textFormat:TextFormat; private var _AmmoField:TextField; private var _MolotovIcon:Sprite; private var _DebrisIcon:Sprite; private var _DebrisField:TextField; public var UpgradeArrow:Class; public var AmmoIcon:Class; public var MedikitIcon:Class; private var _UpgradeMolotovButton:ButtonCommand; public var DebrisIcon:Class; private var _MedikitIcon:Sprite; private var _MedikitField:TextField; private var _AmmoIcon:Sprite; public var _UpgradeCostView:UpgradeCostview; private var _UpgradeDebrisButton:ButtonCommand; private static var _Instance:InventoryView; public function InventoryView(){ var _local1:Bitmap; var _local2:Bitmap; var _local3:Bitmap; var _local4:Bitmap; var _local5:Bitmap; AmmoIcon = InventoryView_AmmoIcon; MedikitIcon = InventoryView_MedikitIcon; DebrisIcon = InventoryView_DebrisIcon; MolotovIcon = InventoryView_MolotovIcon; UpgradeArrow = InventoryView_UpgradeArrow; super(); _textFormat = new TextFormat("Verdana", 15, 0xFFFFFF); this.graphics.clear(); this.graphics.beginFill(0, 0.5); this.graphics.drawRect(0, 0, 550, 45); this.graphics.endFill(); this._AmmoIcon = new Sprite(); this._MedikitIcon = new Sprite(); this._DebrisIcon = new Sprite(); this._MolotovIcon = new Sprite(); _local1 = new UpgradeArrow(); _local1.x = 4; _local1.y = 2; this._UpgradeDebrisButton = new ButtonCommand(24, 24, UpgradeDebrisHandler, "", null, _local1); this._UpgradeMolotovButton = new ButtonCommand(24, 24, UpgradeMolotovHandler, "", null, _local1); this._UpgradeDebrisButton.addEventListener(MouseEvent.MOUSE_OVER, UpgradeDebrisOverHandler); this._UpgradeMolotovButton.addEventListener(MouseEvent.MOUSE_OVER, UpgradeMolotovOverHandler); this._UpgradeDebrisButton.addEventListener(MouseEvent.MOUSE_OUT, MouseOutHandler); this._UpgradeMolotovButton.addEventListener(MouseEvent.MOUSE_OUT, MouseOutHandler); this._AmmoField = new TextField(); this._MedikitField = new TextField(); this._DebrisField = new TextField(); this._MolotovField = new TextField(); _AmmoField.defaultTextFormat = _textFormat; _MedikitField.defaultTextFormat = _textFormat; _DebrisField.defaultTextFormat = _textFormat; _MolotovField.defaultTextFormat = _textFormat; _AmmoField.embedFonts = true; _MedikitField.embedFonts = true; _DebrisField.embedFonts = true; _MolotovField.embedFonts = true; _AmmoField.antiAliasType = AntiAliasType.ADVANCED; _MedikitField.antiAliasType = AntiAliasType.ADVANCED; _DebrisField.antiAliasType = AntiAliasType.ADVANCED; _MolotovField.antiAliasType = AntiAliasType.ADVANCED; this.addChild(this._AmmoIcon); this.addChild(this._AmmoField); this.addChild(this._MedikitIcon); this.addChild(this._MedikitField); this.addChild(this._DebrisIcon); this.addChild(this._DebrisField); this.addChild(this._MolotovIcon); this.addChild(this._MolotovField); this.addChild(this._UpgradeDebrisButton); this.addChild(this._UpgradeMolotovButton); _AmmoIcon.graphics.clear(); _local2 = new AmmoIcon(); _local2.width = 35; _local2.height = 35; _AmmoIcon.addChild(_local2); _MedikitIcon.graphics.clear(); _local3 = new MedikitIcon(); _local3.width = 35; _local3.height = 35; _MedikitIcon.addChild(_local3); _DebrisIcon.graphics.clear(); _local4 = new DebrisIcon(); _local4.width = 70; _local4.height = 70; _DebrisIcon.addChild(_local4); _MolotovIcon.graphics.clear(); _local5 = new MolotovIcon(); _local5.width = 35; _local5.height = 35; _MolotovIcon.addChild(_local5); _AmmoIcon.x = 10; _AmmoIcon.y = 5; _MedikitIcon.x = 110; _MedikitIcon.y = 5; _DebrisIcon.x = 195; _DebrisIcon.y = -10; _MolotovIcon.x = 320; _MolotovIcon.y = 5; _AmmoField.x = 50; _AmmoField.y = 10; _AmmoField.height = 35; _MedikitField.x = 150; _MedikitField.y = 10; _MedikitField.height = 35; _DebrisField.x = 250; _DebrisField.y = 10; _DebrisField.height = 35; _MolotovField.x = 355; _MolotovField.y = 10; _MolotovField.height = 35; this._UpgradeDebrisButton.x = 295; this._UpgradeDebrisButton.y = 14; this._UpgradeMolotovButton.x = 400; this._UpgradeMolotovButton.y = 14; Inventory.GetInstance(this); _UpgradeCostView = new UpgradeCostview(); this.addChild(this._UpgradeCostView); this._UpgradeCostView.x = 430; UpdateUI(); } public function UpdateUI():void{ var _local1:Inventory; var _local2:int; var _local3:int; var _local4:int; var _local5:int; _local1 = Inventory.GetInstance(); _local2 = _local1.Ammo(); _local3 = _local1.Medikits(); _local4 = _local1.Debris(); _local5 = _local1.Molotovs(); _AmmoField.text = _local2.toString(); _MedikitField.text = _local3.toString(); _DebrisField.text = _local4.toString(); _MolotovField.text = _local5.toString(); } public function UpgradeMolotovOverHandler(_arg1:MouseEvent):void{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:int; if (BrunchOfTheDead.Instance().MolotovUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = BrunchOfTheDead.Instance().MolotovUpgradeLevel; _local3 = BrunchOfTheDead.Instance()._molotovBaseRadius; _local4 = BrunchOfTheDead.Instance()._molotovBonusPerLevel; _local5 = (((_local2 + 1) * _local4) + _local3); _local6 = BrunchOfTheDead.GetCost((_local2 + 1)); this._UpgradeCostView.ShowInfo(("Upgrades\nRadius of\nMolotovs\nto " + _local5), _local6, _local6, 0); } else { this._UpgradeCostView.ResetUI(); }; } public function MouseOutHandler(_arg1:MouseEvent):void{ this._UpgradeCostView.ResetUI(); } public function UpgradeDebrisHandler(_arg1:MouseEvent):void{ var _local2:int; trace("Debris Upgrade!"); if (BrunchOfTheDead.Instance()._debrisUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = BrunchOfTheDead.GetCost((BrunchOfTheDead.Instance()._debrisUpgradeLevel + 1)); if (Inventory.GetInstance().Debris() >= _local2){ Inventory.GetInstance().GetDebris(_local2); BrunchOfTheDead.Instance()._debrisUpgradeLevel++; }; }; UpgradeDebrisOverHandler(null); } public function UpgradeDebrisOverHandler(_arg1:MouseEvent):void{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:int; if (BrunchOfTheDead.Instance()._debrisUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = BrunchOfTheDead.Instance()._debrisUpgradeLevel; _local3 = BrunchOfTheDead.Instance()._debrisBaseToughness; _local4 = BrunchOfTheDead.Instance()._debrisBonusPerLevel; _local5 = (((_local2 + 1) * _local4) + _local3); _local6 = BrunchOfTheDead.GetCost((_local2 + 1)); this._UpgradeCostView.ShowInfo(("Upgrades\nToughness\nof Debris\nto " + _local5), _local6, 0, 0); } else { this._UpgradeCostView.ResetUI(); }; } public function UpgradeMolotovHandler(_arg1:MouseEvent):void{ var _local2:int; trace((("Molotov Upgrade(" + BrunchOfTheDead.Instance().MolotovUpgradeLevel) + ")!")); if (BrunchOfTheDead.Instance().MolotovUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = BrunchOfTheDead.GetCost((BrunchOfTheDead.Instance().MolotovUpgradeLevel + 1)); if ((((Inventory.GetInstance().Debris() >= _local2)) && ((Inventory.GetInstance().Ammo() >= _local2)))){ Inventory.GetInstance().GetDebris(_local2); Inventory.GetInstance().GetABullet(_local2); BrunchOfTheDead.Instance().MolotovUpgradeLevel++; }; }; UpgradeMolotovOverHandler(null); } public static function Instance():InventoryView{ if (_Instance == null){ _Instance = new (InventoryView); }; return (_Instance); } } }//package
Section 97
//InventoryView_AmmoIcon (InventoryView_AmmoIcon) package { import mx.core.*; public class InventoryView_AmmoIcon extends BitmapAsset { } }//package
Section 98
//InventoryView_DebrisIcon (InventoryView_DebrisIcon) package { import mx.core.*; public class InventoryView_DebrisIcon extends BitmapAsset { } }//package
Section 99
//InventoryView_MedikitIcon (InventoryView_MedikitIcon) package { import mx.core.*; public class InventoryView_MedikitIcon extends BitmapAsset { } }//package
Section 100
//InventoryView_MolotovIcon (InventoryView_MolotovIcon) package { import mx.core.*; public class InventoryView_MolotovIcon extends BitmapAsset { } }//package
Section 101
//InventoryView_UpgradeArrow (InventoryView_UpgradeArrow) package { import mx.core.*; public class InventoryView_UpgradeArrow extends BitmapAsset { } }//package
Section 102
//KillableObject (KillableObject) package { import flash.display.*; public class KillableObject extends EngineObject { protected var _damagedThisTick:Boolean; protected var _damageIcon:Sprite; protected var _icon:Sprite; protected var _toughnessBonusPerLevel:Number;// = 1 protected var _toughnessUpgradeLevel:int;// = 0 protected var _lastAttacker:KillableObject;// = null protected var _healthCurrent:Number; protected var _healthBar:Sprite; protected var _showHealthBar:Boolean; protected var _baseToughness:Number;// = 5 protected var _toughnessTotal:Number;// = 0 public function KillableObject(_arg1:Sprite, _arg2:Number, _arg3:int=0){ _toughnessTotal = 0; _toughnessUpgradeLevel = 0; _baseToughness = 5; _toughnessBonusPerLevel = 1; _lastAttacker = null; super(); _icon = _arg1; this.PassLevel = _arg3; baseToughness = _arg2; _healthCurrent = this.healthTotal; _healthBar = new Sprite(); _showHealthBar = false; addChild(_icon); addChild(_healthBar); RedrawHealthBar(); } public function set toughnessUpgradeLevel(_arg1:int):void{ if (_arg1 != this._toughnessUpgradeLevel){ this._toughnessUpgradeLevel = _arg1; _toughnessTotal = (_baseToughness + toughnessBonus); healthCurrent = _toughnessTotal; }; } public function get toughnessBonusPerLevel():Number{ return (_toughnessBonusPerLevel); } public function get healthTotal():Number{ return (_toughnessTotal); } public function get DamagedThisTick():Boolean{ return (_damagedThisTick); } public function set toughnessBonusPerLevel(_arg1:Number):void{ _toughnessBonusPerLevel = _arg1; _toughnessTotal = (_baseToughness + toughnessBonus); } public function get healthCurrent():Number{ return (_healthCurrent); } public function set DamagedThisTick(_arg1:Boolean):void{ _damagedThisTick = _arg1; } public function set baseToughness(_arg1:Number):void{ _baseToughness = _arg1; _toughnessTotal = (_baseToughness + toughnessBonus); } public function set LastAttacker(_arg1:KillableObject):void{ this._lastAttacker = _arg1; } public function get toughnessUpgradeLevel():int{ return (this._toughnessUpgradeLevel); } public function get baseToughness():Number{ return (this._baseToughness); } public function get toughnessBonus():Number{ return ((this._toughnessUpgradeLevel * _toughnessBonusPerLevel)); } public function RedrawHealthBar():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; _healthBar.graphics.clear(); if (_showHealthBar){ _local1 = 20; _local2 = 20; _local3 = -((_local1 / 2)); _local4 = (-((_local2 / 2)) - 2); _healthBar.graphics.beginFill(0xFF0000); _healthBar.graphics.drawRect(_local3, _local4, _local1, 2); _healthBar.graphics.endFill(); _healthBar.graphics.beginFill(0xFF00); _healthBar.graphics.drawRect(_local3, _local4, (_local1 * (healthCurrent / healthTotal)), 2); _healthBar.graphics.endFill(); }; } public function get LastAttacker():KillableObject{ return (this._lastAttacker); } public function set healthCurrent(_arg1:Number):void{ var _local2:Boolean; _damagedThisTick = false; if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > healthTotal){ _arg1 = healthTotal; }; if (_healthCurrent != _arg1){ if (_arg1 < _healthCurrent){ _damagedThisTick = true; }; _healthCurrent = _arg1; RedrawHealthBar(); if (_healthCurrent <= 0){ _local2 = Engine.Instance().RemoveEngineObject(this); if ((this is Zombie)){ ScoreView.Instance().Score++; }; }; }; } } }//package
Section 103
//LoadScreen (LoadScreen) package { import flash.events.*; import flash.display.*; import flash.utils.*; public class LoadScreen extends MovieClip { private var _splashScreenDone:Boolean;// = false private var _loadBackDrop:Sprite; private var _splashScreen:HMGSplashScreen; private var _loadFrame:Sprite; public static const siteLocked:Boolean = false; public static const fileLocked:Boolean = false; public static var LocalCopy:Boolean = false; public static var IllegalCopy:Boolean = false; public function LoadScreen(){ _splashScreenDone = false; super(); stop(); _loadBackDrop = new Sprite(); _loadFrame = SpriteFactory.makeBorder(800, 640, 0xAA0000); _splashScreen = new HMGSplashScreen(); _loadBackDrop.addChild(_splashScreen); _loadBackDrop.addChild(_loadFrame); _splashScreen._doneCallback = function (_arg1:Event):void{ trace("done"); _splashScreenDone = true; }; addChild(_loadBackDrop); addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function init(_arg1:Boolean=false):void{ var _local2:Class; var _local3:RegExp; var _local4:String; var _local5:Boolean; var _local6:SiteLockScreen; var _local7:Object; trace((("loader URL(" + this.root.loaderInfo.loaderURL) + ")")); if (this.root.loaderInfo.loaderURL.indexOf("http") != 0){ trace("From Local Copy!"); LoadScreen.LocalCopy = true; } else { _local3 = new RegExp("^http://((www.){0,1}headmeatgames.com|(www.){0,1}flashgamelicense.com)", "i"); _local4 = this.root.loaderInfo.loaderURL; _local5 = (_local4.search(_local3) == 0); if (!_local5){ trace("NOT FROM APPROVED SITE!"); LoadScreen.IllegalCopy = true; } else { trace("FROM APPROVED SITE...hooray!"); }; }; if (((((LoadScreen.IllegalCopy) && (LoadScreen.siteLocked))) || (((LoadScreen.LocalCopy) && (LoadScreen.fileLocked))))){ trace("Illegal or Local Copy. Stopping..."); _local6 = new SiteLockScreen(); this.addChild(_local6); this.stop(); return; }; _local2 = Class(getDefinitionByName("EntryPoint")); if (_local2){ _local7 = new (_local2); stage.addChild((_local7 as DisplayObject)); _local7.init(); }; this.removeChild(this._loadBackDrop); this._loadBackDrop = null; this._loadFrame = null; } private function onEnterFrame(_arg1:Event):void{ if (((_splashScreenDone) && ((this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal)))){ this.removeEventListener(Event.ENTER_FRAME, onEnterFrame); nextFrame(); init(); }; } } }//package
Section 104
//MainMenuScreen (MainMenuScreen) package { import flash.events.*; import flash.text.*; import flash.display.*; public class MainMenuScreen extends Sprite { private var _gameTitle:TextField; public var MainMenuBg:Class; private var _copyright:TextField; private var _headerTextFormat:TextFormat; private var _creditsButton:ButtonCommand; private var _startButton:ButtonCommand; private var _buttonTextFormat:TextFormat; private var _backDrop:Sprite; public var GameLogo:Class; private var _instructionButton:ButtonCommand; public function MainMenuScreen(_arg1:ApplicationManager){ var _local2:Bitmap; GameLogo = MainMenuScreen_GameLogo; MainMenuBg = MainMenuScreen_MainMenuBg; super(); _buttonTextFormat = new TextFormat("Chiller", 50, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER); _headerTextFormat = new TextFormat("Chiller", 100, 0xBF0000, null, null, null, null, null, null, null, null, null, -20); _gameTitle = new TextField(); _gameTitle.defaultTextFormat = _headerTextFormat; _gameTitle.x = 50; _gameTitle.y = 25; _gameTitle.width = 700; _gameTitle.height = 475; _gameTitle.embedFonts = true; _gameTitle.text = "Luncheon\n Of The\n Dead"; _gameTitle.mouseEnabled = false; _copyright = new TextField(); _copyright.defaultTextFormat = new TextFormat("Verdana", 10, 0xFFFFFF, true, null, null, "http://www.headmeatgames.com", "_blank"); _copyright.x = 20; _copyright.y = 615; _copyright.width = 790; _copyright.height = 20; _copyright.text = "© 2007 HeadMeatGames"; _backDrop = new Sprite(); _backDrop.graphics.beginBitmapFill(new MainMenuBg().bitmapData); _backDrop.graphics.drawRect(0, 0, 800, 640); _backDrop.graphics.endFill(); _local2 = new GameLogo(); _local2.width = 500; _local2.height = 450; _local2.x = 350; _local2.y = 300; _local2.alpha = 0.25; _backDrop.addChild(_local2); _instructionButton = new ButtonCommand(300, 40, Instructions, "Instructions", new TextFormat("Chiller", 30, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER)); _instructionButton.x = 40; _instructionButton.y = 475; _startButton = new ButtonCommand(400, 100, StartGame, "Play", new TextFormat("Chiller", 70, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER)); _startButton.x = 40; _startButton.y = 340; _creditsButton = new ButtonCommand(200, 30, Credits, "Credits", new TextFormat("Chiller", 30, 0xAAAAAA, null, null, null, null, null, TextFormatAlign.CENTER)); _creditsButton.x = 40; _creditsButton.y = 550; addChild(_backDrop); _backDrop.addChild(_gameTitle); _backDrop.addChild(_startButton); _backDrop.addChild(_instructionButton); _backDrop.addChild(_creditsButton); _backDrop.addChild(_copyright); _backDrop.addChild(SpriteFactory.makeBorder(800, 640, 0xAA0000)); } public function StartGame(_arg1:MouseEvent):void{ ApplicationManager.Instance().ShowDifficultySelection(); } public function Credits(_arg1:MouseEvent):void{ ApplicationManager.Instance().ShowCreditsScreen(); } public function Instructions(_arg1:MouseEvent):void{ ApplicationManager.Instance().ShowInstructions(); } } }//package
Section 105
//MainMenuScreen_GameLogo (MainMenuScreen_GameLogo) package { import mx.core.*; public class MainMenuScreen_GameLogo extends BitmapAsset { } }//package
Section 106
//MainMenuScreen_MainMenuBg (MainMenuScreen_MainMenuBg) package { import mx.core.*; public class MainMenuScreen_MainMenuBg extends BitmapAsset { } }//package
Section 107
//MobileObject (MobileObject) package { import flash.display.*; import flash.geom.*; public class MobileObject extends KillableObject { protected var _moveSpeedCurrent:Number; protected var _moveAngle:Number; protected var _moveSpeedTotal:Number; protected var _moveCurrentTargetPoint:Point;// = null protected var _movePreviousTargetPoint:Point;// = null protected var _moveTarget:Point;// = null protected var _stuckCounter:int;// = 0 protected var _regenStuckCount:int;// = 0 protected var _movePath:Array;// = null protected var _baseMoveSpeed:Number;// = 1 protected var _movedThisTick:Boolean; protected var _moveSpeedBonusPerLevel:Number;// = 0.05 protected var _waitingForPath:Boolean; protected var _moveSpeedUpgradeLevel:int;// = 0 public function MobileObject(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number=0, _arg5:int=0){ _stuckCounter = 0; _regenStuckCount = 0; _moveCurrentTargetPoint = null; _movePreviousTargetPoint = null; _movePath = null; _moveTarget = null; _moveSpeedUpgradeLevel = 0; _moveSpeedBonusPerLevel = 0.05; _baseMoveSpeed = 1; baseMoveSpeed = _arg3; _moveAngle = _arg4; _movePath = new Array(); _moveTarget = new Point(this.EngineX, this.EngineY); _waitingForPath = false; super(_arg1, _arg2, _arg5); } public function set MovedThisTick(_arg1:Boolean):void{ _movedThisTick = _arg1; } public function set CurrentTargetMovePoint(_arg1:Point):void{ _moveCurrentTargetPoint = _arg1; } public function set baseMoveSpeed(_arg1:Number):void{ _baseMoveSpeed = _arg1; _moveSpeedTotal = (_baseMoveSpeed + moveSpeedBonus); } public function get moveSpeedBonusPerLevel():Number{ return (_moveSpeedBonusPerLevel); } protected function MoveAwayFromPoint(_arg1:Point):void{ var _local2:Point; _local2 = Geometry.GetAngleAndDistanceToPoint(_arg1.x, _arg1.y, this.EngineX, this.EngineY); _moveAngle = _local2.x; _icon.rotation = _moveAngle; Engine.Instance().MoveEngineObjectAlongVector(this, _moveAngle, moveSpeedCurrent); } public function set moveSpeedBonusPerLevel(_arg1:Number):void{ _moveSpeedBonusPerLevel = _arg1; _moveSpeedTotal = (_baseMoveSpeed + moveSpeedBonus); } public function get stuckCounter():int{ return (_stuckCounter); } public function get moveSpeedBonus():Number{ return ((this._moveSpeedUpgradeLevel * _moveSpeedBonusPerLevel)); } public function ClearMoveTarget():void{ ClearPath(); this._moveTarget = new Point(EngineX, EngineY); } public function get moveSpeedUpgradeLevel():int{ return (this._moveSpeedUpgradeLevel); } public function get MoveTarget():Point{ return (this._moveTarget); } public function set moveAngle(_arg1:Number):void{ _moveAngle = _arg1; } public function get regenStuckCount():int{ return (_regenStuckCount); } public function get MovedThisTick():Boolean{ return (_movedThisTick); } public function get CurrentTargetMovePoint():Point{ return (_moveCurrentTargetPoint); } public function get baseMoveSpeed():Number{ return (this._baseMoveSpeed); } public function MoveEvent():void{ var _local1:Point; var _local2:Point; var _local3:Point; var _local4:Number; this._movedThisTick = false; if (this.ParentGrid != null){ _local1 = this.parent.localToGlobal(new Point(this.x, this.y)); _local2 = new Point(this.EngineX, this.EngineY); _local3 = Engine.Instance().GetWorldGrid().EngineToGlobalPixel(_local2); _local4 = 0; if (((!((_local1.x == _local3.x))) || (!((_local1.y == _local3.y))))){ _local4 = (_local4 + this.MoveTowardPoint(_local3)); while ((((((_local4 < this.moveSpeedCurrent)) && ((_stuckCounter == 0)))) && (!((_moveTarget == null))))) { this.walkPathStack(); _local2 = new Point(this.EngineX, this.EngineY); _local3 = Engine.Instance().GetWorldGrid().EngineToGlobalPixel(_local2); if ((((_local3.x == this.x)) && ((_local3.y == this.y)))){ break; }; _local4 = (_local4 + this.MoveTowardPoint(_local3)); }; } else { this.walkPathStack(); }; }; } public function set PreviousTargetMovePoint(_arg1:Point):void{ _movePreviousTargetPoint = _arg1; } public function set WaitingForPath(_arg1:Boolean):void{ this._waitingForPath = _arg1; } protected function MoveAlongVector(_arg1:Number, _arg2:Number):void{ Engine.Instance().MoveEngineObjectAlongVector(this, _arg1, _arg2); } public function GeneratePath(_arg1:Point):void{ this._moveTarget = _arg1; if (((!((this._ParentGrid == null))) && (!((((this._moveTarget.x == this.EngineX)) && ((this._moveTarget.y == this.EngineY))))))){ Engine.Instance().GetWorldGrid().AddToPathFindQueue(this); }; } public function set MovePath(_arg1:Array):void{ _movePath = _arg1; } public function set stuckCounter(_arg1:int):void{ _stuckCounter = _arg1; } public function get moveAngle():Number{ return (_moveAngle); } public function get PreviousTargetMovePoint():Point{ return (_movePreviousTargetPoint); } private function walkPathStack():void{ var _local1:Point; if (_movePath.length > 0){ _local1 = _movePath.pop(); if (!Engine.Instance().SetEngineObjectDestination(this, _local1.x, _local1.y)){ this._stuckCounter++; _movePath.push(_local1); } else { this._stuckCounter = 0; this._regenStuckCount = 0; }; }; } public function get WaitingForPath():Boolean{ return (this._waitingForPath); } protected function MoveTowardPoint(_arg1:Point):Number{ var _local2:Number; var _local3:Point; var _local4:Point; _local2 = this.moveSpeedCurrent; _local3 = this.parent.localToGlobal(new Point(this.x, this.y)); _local4 = Geometry.GetAngleAndDistanceToPoint(_local3.x, _local3.y, _arg1.x, _arg1.y); _moveAngle = _local4.x; if (_local4.y < _local2){ _local2 = _local4.y; }; if (_local2 > 0){ _icon.rotation = _moveAngle; this._movedThisTick = true; }; Engine.Instance().MoveEngineObjectAlongVector(this, _moveAngle, _local2); return (_local2); } public function get moveSpeedCurrent():Number{ return (_moveSpeedTotal); } public function get MovePath():Array{ return (this._movePath); } public function set moveSpeedUpgradeLevel(_arg1:int):void{ this._moveSpeedUpgradeLevel = _arg1; _moveSpeedTotal = (_baseMoveSpeed + moveSpeedBonus); } public function set MoveTarget(_arg1:Point):void{ this._moveTarget = _arg1; } public function set regenStuckCount(_arg1:int):void{ _regenStuckCount = _arg1; } public function get moveSpeedTotal():Number{ return (_moveSpeedTotal); } public function ClearPath():void{ _movePath = new Array(); } } }//package
Section 108
//MochiAd (MochiAd) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiAd { public static function getVersion():String{ return ("2.0"); } public static function showTimedAd(_arg1:Object):void{ MochiAd.showInterLevelAd(_arg1); } public static function _allowDomains(_arg1:String):String{ var _local2:String; _local2 = _arg1.split("/")[2].split(":")[0]; Security.allowDomain("*"); Security.allowDomain(_local2); Security.allowInsecureDomain("*"); Security.allowInsecureDomain(_local2); return (_local2); } public static function load(_arg1:Object):MovieClip{ var DEFAULTS:Object; var clip:Object; var depth:Number; var mc:MovieClip; var wh:Array; var lv:URLVariables; var k:String; var server:String; var hostname:String; var lc:LocalConnection; var name:String; var loader:Loader; var f:Function; var g:Function; var req:URLRequest; var v:Object; var options = _arg1; DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; if (!MochiAd._isNetworkAvailable()){ return (null); }; if (clip._mochiad_loaded){ return (null); }; depth = options.depth; delete options.depth; mc = createEmptyMovieClip(clip, "_mochiad", depth); wh = MochiAd._getRes(options, clip); options.res = ((wh[0] + "x") + wh[1]); options.server = (options.server + options.id); delete options.id; clip._mochiad_loaded = true; if (clip.loaderInfo.loaderURL.indexOf("http") == 0){ options.as3_swf = clip.loaderInfo.loaderURL; }; lv = new URLVariables(); for (k in options) { v = options[k]; if (!(v is Function)){ lv[k] = v; }; }; server = lv.server; delete lv.server; hostname = _allowDomains(server); lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.lc = lc; lv.lc = name; lv.st = getTimer(); loader = new Loader(); f = function (_arg1:Object):void{ mc._mochiad_ctr_failed = true; }; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); g = function (_arg1:Object):void{ MochiAd.unload(clip); }; loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g); req = new URLRequest((server + ".swf")); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader.load(req); mc.addChild(loader); mc._mochiad_ctr = loader; return (mc); } public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{ var _local4:MovieClip; _local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id}); if (!_local4){ return (false); }; _local4.doSend(["sendHighScore", _arg1], _arg2, _arg3); return (true); } public static function _parseOptions(_arg1:Object, _arg2:Object):Object{ var _local3:Object; var _local4:String; var _local5:Array; var _local6:Number; var _local7:Array; _local3 = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; if (_arg1){ for (_local4 in _arg1) { _local3[_local4] = _arg1[_local4]; }; }; _arg1 = _local3.clip.loaderInfo.parameters.mochiad_options; if (_arg1){ _local5 = _arg1.split("&"); _local6 = 0; while (_local6 < _local5.length) { _local7 = _local5[_local6].split("="); _local3[unescape(_local7[0])] = unescape(_local7[1]); _local6++; }; }; return (_local3); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function unload(_arg1:Object):Boolean{ if (((_arg1.clip) && (_arg1.clip._mochiad))){ _arg1 = _arg1.clip; }; if (!_arg1._mochiad){ return (false); }; if (_arg1._mochiad.onUnload){ _arg1._mochiad.onUnload(); }; _arg1.removeChild(_arg1._mochiad); delete _arg1._mochiad_loaded; delete _arg1._mochiad; return (true); } public static function showInterLevelAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var options = _arg1; DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{ this.clip.stop(); }, ad_finished:function ():void{ this.clip.play(); }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ options.ad_finished(); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number; _local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object; _local2 = mc._mochiad_wait; _local2.server_control = true; _local2.started = getTimer(); _local2.ad_msec = (_arg1 - 250); }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Number; var _local3:Boolean; var _local4:Number; _local1 = this.parent._mochiad_ctr; _local2 = (getTimer() - this.started); _local3 = false; if (!chk.showing){ _local4 = _local1.loaderInfo.bytesTotal; if ((((_local4 > 0)) || (("number" == "undefined")))){ chk.showing = true; chk.started = getTimer(); } else { if (_local2 > chk.ad_timeout){ _local3 = true; }; }; }; if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){ _local3 = true; }; if (_local3){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function _getRes(_arg1:Object, _arg2:Object):Array{ var _local3:Object; var _local4:Number; var _local5:Number; var _local6:Array; _local3 = _arg2.getBounds(_arg2.root); _local4 = 0; _local5 = 0; if (typeof(_arg1.res) != "undefined"){ _local6 = _arg1.res.split("x"); _local4 = parseFloat(_local6[0]); _local5 = parseFloat(_local6[1]); } else { _local4 = (_local3.xMax - _local3.xMin); _local5 = (_local3.yMax - _local3.yMin); }; if ((((_local4 == 0)) || ((_local5 == 0)))){ _local4 = _arg2.stage.stageWidth; _local5 = _arg2.stage.stageHeight; }; return ([_local4, _local5]); } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{ var _local4:MovieClip; _local4 = new MovieClip(); if (((false) && (_arg3))){ _arg1.addChildAt(_local4, _arg3); } else { _arg1.addChild(_local4); }; _arg1[_arg2] = _local4; _local4["_name"] = _arg2; return (_local4); } public static function _loadCommunicator(_arg1:Object):MovieClip{ var DEFAULTS:Object; var clip:Object; var clipname:String; var server:String; var depth:Number; var mc:MovieClip; var lv:URLVariables; var k:String; var lc:LocalConnection; var name:String; var req:URLRequest; var loader:Loader; var options = _arg1; DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; clipname = ("_mochiad_com_" + options.id); if (!MochiAd._isNetworkAvailable()){ return (null); }; if (clip[clipname]){ return (clip[clipname]); }; server = (options.com_server + options.id); MochiAd._allowDomains(server); delete options.id; delete options.com_server; depth = options.depth; delete options.depth; mc = createEmptyMovieClip(clip, clipname, depth); lv = new URLVariables(); for (k in options) { lv[k] = options[k]; }; lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.name = name; mc.lc = lc; lv.lc = name; mc._id = 0; mc._queue = []; mc.rpcResult = function (_arg1:Object):void{ var _local3:Array; var _local4:Array; var _local5:Number; var _local6:Object; var _local7:Object; _arg1 = parseInt(_arg1.toString()); _local3 = mc._callbacks[_arg1]; if (typeof(_local3) == "undefined"){ return; }; delete mc._callbacks[_arg1]; _local4 = []; _local5 = 2; while (_local5 < _local3.length) { _local4.push(_local3[_local5]); _local5++; }; _local5 = 1; while (_local5 < arguments.length) { _local4.push(arguments[_local5]); _local5++; }; _local6 = _local3[1]; _local7 = _local3[0]; if (((_local7) && ((typeof(_local6) == "string")))){ _local6 = _local7[_local6]; }; if (typeof(_local6) == "function"){ _local6.apply(_local7, _local4); }; }; mc._didConnect = function (_arg1:String):void{ var _local2:Array; var _local3:Function; var _local4:Number; var _local5:Array; mc._endpoint = _arg1; _local2 = mc._queue; delete mc._queue; _local3 = mc.doSend; _local4 = 0; while (_local4 < _local2.length) { _local5 = _local2[_local4]; _local3.apply(this, _local5); _local4++; }; }; mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{ var _local5:Number; var _local6:LocalConnection; var _local7:Array; var _local8:Number; if (mc._endpoint == null){ _local7 = []; _local8 = 0; while (_local8 < arguments.length) { _local7.push(arguments[_local8]); _local8++; }; mc._queue.push(_local7); return; }; mc._id = (mc._id + 1); _local5 = mc._id; mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))]; _local6 = new LocalConnection(); _local6.send(mc._endpoint, "rpc", _local5, _arg1); }; mc._callbacks = {}; mc._callbacks[0] = [mc, "_didConnect"]; lv.st = getTimer(); req = new URLRequest((server + ".swf")); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader = new Loader(); loader.load(req); mc.addChild(loader); mc._mochiad_com = loader; return (mc); } public static function showPreGameAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var bar:MovieClip; var bar_color:Number; var bar_background:Number; var bar_outline:Number; var backing_mc:MovieClip; var backing:Object; var inside_mc:MovieClip; var inside:Object; var outline_mc:MovieClip; var outline:Object; var complete:Boolean; var unloaded:Boolean; var f:Function; var r:MovieClip; var options = _arg1; DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{ this.clip.stop(); }, ad_finished:function ():void{ this.clip.play(); }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ var fn:Function; fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.x = (w * -0.5); chk.y = (h * -0.5); bar = createEmptyMovieClip(chk, "_mochiad_bar", 4); bar.x = 10; bar.y = (h - 20); bar_color = options.color; delete options.color; bar_background = options.background; delete options.background; bar_outline = options.outline; delete options.outline; backing_mc = createEmptyMovieClip(bar, "_outline", 1); backing = backing_mc.graphics; backing.beginFill(bar_background); backing.moveTo(0, 0); backing.lineTo((w - 20), 0); backing.lineTo((w - 20), 10); backing.lineTo(0, 10); backing.lineTo(0, 0); backing.endFill(); inside_mc = createEmptyMovieClip(bar, "_inside", 2); inside = inside_mc.graphics; inside.beginFill(bar_color); inside.moveTo(0, 0); inside.lineTo((w - 20), 0); inside.lineTo((w - 20), 10); inside.lineTo(0, 10); inside.lineTo(0, 0); inside.endFill(); inside_mc.scaleX = 0; outline_mc = createEmptyMovieClip(bar, "_outline", 3); outline = outline_mc.graphics; outline.lineStyle(0, bar_outline, 100); outline.moveTo(0, 0); outline.lineTo((w - 20), 0); outline.lineTo((w - 20), 10); outline.lineTo(0, 10); outline.lineTo(0, 0); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number; _local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; complete = false; unloaded = false; f = function (_arg1:Event):void{ complete = true; if (unloaded){ MochiAd.unload(clip); }; }; clip.loaderInfo.addEventListener(Event.COMPLETE, f); if ((clip.root is MovieClip)){ r = (clip.root as MovieClip); if (r.framesLoaded >= r.totalFrames){ complete = true; }; }; mc.unloadAd = function ():void{ unloaded = true; if (complete){ MochiAd.unload(clip); }; }; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object; _local2 = mc._mochiad_wait; _local2.server_control = true; _local2.started = getTimer(); _local2.ad_msec = _arg1; }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Object; var _local3:Number; var _local4:Boolean; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Object; var _local10:Number; var _local11:Number; if (!this.parent.parent){ delete this["onEnterFrame"]; return; }; _local1 = this.parent.parent.root; _local2 = this.parent._mochiad_ctr; _local3 = (getTimer() - this.started); _local4 = false; _local5 = _local1.loaderInfo.bytesTotal; _local6 = _local1.loaderInfo.bytesLoaded; _local7 = ((100 * _local6) / _local5); _local8 = ((100 * _local3) / chk.ad_msec); _local9 = this._mochiad_bar._inside; _local10 = Math.min(100, Math.min(((_local7) || (0)), _local8)); _local10 = Math.max(this.last_pcnt, _local10); this.last_pcnt = _local10; _local9.scaleX = (_local10 * 0.01); if (!chk.showing){ _local11 = _local2.loaderInfo.bytesTotal; if ((((_local11 > 0)) || (("number" == "undefined")))){ chk.showing = true; chk.started = getTimer(); } else { if (_local3 > chk.ad_timeout){ _local4 = true; }; }; }; if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){ _local4 = true; }; if (((complete) && (_local4))){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function showPreloaderAd(_arg1:Object):void{ MochiAd.showPreGameAd(_arg1); } public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{ var _local4:MovieClip; _local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id}); if (!_local4){ return (false); }; _local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3); return (true); } public static function doOnEnterFrame(_arg1:MovieClip):void{ var f:Function; var mc = _arg1; f = function (_arg1:Object):void{ if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){ mc.onEnterFrame(); } else { mc.removeEventListener(Event.ENTER_FRAME, f); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//package
Section 109
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 110
//MoveBehaviourEnum (MoveBehaviourEnum) package { public final class MoveBehaviourEnum { public static const KEEPATTACKDISTANCE:int = 1; public static const MOVETOPOINT:int = 8; public static const STANDGROUND:int = 0; public static const KEEPSIGHTDISTANCE:int = 2; public static const FOLLOWFRIENDLYTARGET:int = 32; public static const MOVETOTARGET:int = 4; public static const PATROLBETWEENPOINTS:int = 16; } }//package
Section 111
//PauseMenuScreen (PauseMenuScreen) package { import flash.events.*; import flash.text.*; import flash.display.*; import flash.ui.*; public class PauseMenuScreen extends Sprite { private var _returnToGame:ButtonCommand; private var _suicideCancel:ButtonCommand; private var _confirmTextField:TextField; private var _menuTextFormat:TextFormat; public var _floatingMenu:Sprite; private var _restartCancel:ButtonCommand; private var _titleTextField:TextField; private var _suicideGame:ButtonCommand; private var _buttonTextFormat:TextFormat; private var _restartConfirm:ButtonCommand; private var _suicideConfirm:ButtonCommand; private var _backDrop:Sprite; private var _restartGame:ButtonCommand; public function PauseMenuScreen(){ _menuTextFormat = new TextFormat("Chiller", 30, 0xFFFFFF, null, null, null, null, null, TextFormatAlign.CENTER); _buttonTextFormat = new TextFormat("Chiller", 40, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER); _titleTextField = new TextField(); _confirmTextField = new TextField(); _titleTextField.defaultTextFormat = _menuTextFormat; _titleTextField.embedFonts = true; _titleTextField.antiAliasType = AntiAliasType.ADVANCED; _confirmTextField.defaultTextFormat = _menuTextFormat; _confirmTextField.embedFonts = true; _confirmTextField.antiAliasType = AntiAliasType.ADVANCED; _titleTextField.text = "Main Menu"; _confirmTextField.text = "Are you sure?"; _titleTextField.x = 60; _titleTextField.y = 20; _titleTextField.width = 150; _titleTextField.height = 50; _titleTextField.visible = false; _titleTextField.mouseEnabled = false; _confirmTextField.x = 20; _confirmTextField.y = 20; _confirmTextField.visible = false; _confirmTextField.width = 150; _confirmTextField.height = 50; _confirmTextField.mouseEnabled = false; _backDrop = new Sprite(); _floatingMenu = new Sprite(); _returnToGame = new ButtonCommand(250, 50, clickReturnToGame, "Return To Game", _buttonTextFormat); _restartGame = new ButtonCommand(250, 50, clickRestart, "Quit To Menu", _buttonTextFormat); _restartConfirm = new ButtonCommand(50, 50, clickRestartConfirm, "Yes", _buttonTextFormat); _restartCancel = new ButtonCommand(50, 50, clickRestartCancel, "No", _buttonTextFormat); _suicideGame = new ButtonCommand(250, 50, clickSuicide, "Quit & Score", _buttonTextFormat); _suicideConfirm = new ButtonCommand(50, 50, clickSuicideConfirm, "Yes", _buttonTextFormat); _suicideCancel = new ButtonCommand(50, 50, clickSuicideCancel, "No", _buttonTextFormat); _returnToGame.x = 20; _returnToGame.y = 30; _restartGame.x = 20; _restartGame.y = 100; _restartConfirm.x = 20; _restartConfirm.y = 100; _restartConfirm.visible = false; _restartCancel.x = 220; _restartCancel.y = 100; _restartCancel.visible = false; _suicideGame.x = 20; _suicideGame.y = 170; _suicideConfirm.x = 20; _suicideConfirm.y = 170; _suicideConfirm.visible = false; _suicideCancel.x = 220; _suicideCancel.y = 170; _suicideCancel.visible = false; addChild(_backDrop); addChild(_floatingMenu); _backDrop.graphics.beginFill(0, 0.5); _backDrop.graphics.drawRect(0, 0, 800, 640); _backDrop.graphics.endFill(); _backDrop.focusRect = false; _floatingMenu.addChild(SpriteFactory.makeBorderedFrame(290, 250)); _floatingMenu.addChild(this._titleTextField); _floatingMenu.addChild(this._confirmTextField); _floatingMenu.addChild(this._returnToGame); _floatingMenu.addChild(this._restartGame); _floatingMenu.addChild(this._restartConfirm); _floatingMenu.addChild(this._restartCancel); _floatingMenu.addChild(this._suicideGame); _floatingMenu.addChild(this._suicideConfirm); _floatingMenu.addChild(this._suicideCancel); _floatingMenu.x = 0xFF; _floatingMenu.y = 155; this.focusRect = false; this.visible = false; this.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); } public function clickReturnToGame(_arg1:MouseEvent):void{ this.ResetUI(); BrunchOfTheDead.Instance().UnPause(); } public function ResetUI():void{ this._restartGame.visible = true; this._restartConfirm.visible = false; this._restartCancel.visible = false; this._suicideGame.visible = true; this._suicideConfirm.visible = false; this._suicideCancel.visible = false; this._titleTextField.visible = false; this._confirmTextField.visible = false; this._restartGame.enabled = true; this._suicideGame.enabled = true; this._returnToGame.enabled = true; } public function Show():void{ this.ResetUI(); this.visible = true; stage.focus = this._returnToGame; } public function clickRestart(_arg1:MouseEvent):void{ this.ResetUI(); this._restartGame.visible = false; this._confirmTextField.x = (this._restartConfirm.x + 50); this._confirmTextField.y = (this._restartConfirm.y + 10); this._confirmTextField.text = "Quit to Menu?"; this._confirmTextField.visible = true; this._restartConfirm.visible = true; this._restartCancel.visible = true; this._restartGame.enabled = false; this._suicideGame.enabled = false; this._returnToGame.enabled = false; } public function clickSuicideConfirm(_arg1:MouseEvent):void{ var _local2:Array; var _local3:int; this.ResetUI(); _local2 = Engine.Instance().GetWorldGrid().Defenders; Inventory.GetInstance().GetAMedkit(Inventory.GetInstance().Medikits()); _local3 = (_local2.length - 1); while (_local3 >= 0) { (_local2[_local3] as Defender).healthCurrent = 0; _local3--; }; BrunchOfTheDead.Instance().UnPause(); } public function clickRestartConfirm(_arg1:MouseEvent):void{ this.ResetUI(); BrunchOfTheDead.Instance().UnregisterHandlers(); Mouse.show(); ApplicationManager.Instance().ShowMenuScreen(); } public function Dismiss():void{ this.ResetUI(); this.visible = false; } public function clickSuicide(_arg1:MouseEvent):void{ this.ResetUI(); this._suicideGame.visible = false; this._confirmTextField.x = (this._suicideConfirm.x + 50); this._confirmTextField.y = (this._suicideConfirm.y + 10); this._confirmTextField.visible = true; this._confirmTextField.text = "Quit & Score?"; this._suicideConfirm.visible = true; this._suicideCancel.visible = true; this._restartGame.enabled = false; this._suicideGame.enabled = false; this._returnToGame.enabled = false; } public function clickSuicideCancel(_arg1:MouseEvent):void{ this.ResetUI(); this._suicideConfirm.visible = false; this._suicideCancel.visible = false; this._confirmTextField.visible = false; this._suicideGame.visible = true; } public function clickRestartCancel(_arg1:MouseEvent):void{ this.ResetUI(); this._restartConfirm.visible = false; this._restartCancel.visible = false; this._confirmTextField.visible = false; this._restartGame.visible = true; } public function onKeyDown(_arg1:KeyboardEvent):void{ CommandView.Instance().keyDownHandler(_arg1); } } }//package
Section 112
//Preloader (Preloader) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.geom.*; import flash.utils.*; public dynamic class Preloader extends MovieClip { private var spinner:Sprite; private var loadText:TextField; private var backdrop:Sprite; public var _chillerEmbed:String;// = "Preloader__chillerEmbed" private var waitText:TextField; public var _verdanaEmbed:String;// = "Preloader__verdanaEmbed" private var progressBar:ProgressBar; private var did_load:Boolean; public static var IN_SPONSOR_DOMAIN:Boolean = false; public static var isAdFinished:Boolean = false; public static var GAME_OPTIONS:Object = {id:"68d9334aa16dd83c", res:"800x640"}; public static var MAIN_CLASS:String = "LoadScreen"; private static var alphaScaleStep:Number = -0.025; private static var dropStep:uint = 0; private static var angleStep:Number = 6; public function Preloader(){ var f:Function; var opts:Object; var k:String; var ctrl:Point; var anchor:Point; var degreeIncrement:Number; var degrees:Number; var radIncrement:Number; var sMatrix:Matrix; _chillerEmbed = "Preloader__chillerEmbed"; _verdanaEmbed = "Preloader__verdanaEmbed"; super(); f = function (_arg1:IOErrorEvent):void{ }; loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); MochiBot.track(this, "7839c420"); opts = {}; for (k in GAME_OPTIONS) { opts[k] = GAME_OPTIONS[k]; }; opts.ad_started = function ():void{ did_load = true; }; opts.ad_finished = function ():void{ Preloader.isAdFinished = true; }; opts.clip = this; opts.color = 0x660000; opts.background = 0x330000; opts.outline = 0x990000; opts.no_bg = true; this.stage.showDefaultContextMenu = false; progressBar = new ProgressBar(700, 15, 0, 0, 0x111111, 0x660000, -1, -1, -1, 5, 5, 5); progressBar.x = 50; progressBar.y = 600; loadText = new TextField(); loadText.selectable = false; loadText.tabEnabled = false; loadText.defaultTextFormat = new TextFormat("Verdana", 10, 0xEEEEEE, null, null, null, null, null, TextFormatAlign.CENTER); loadText.text = "0%"; loadText.width = 700; loadText.height = 20; loadText.x = 50; loadText.y = 600; Preloader.IN_SPONSOR_DOMAIN = false; if (!Preloader.IN_SPONSOR_DOMAIN){ MochiAd.showPreGameAd(opts); } else { Preloader.isAdFinished = true; this.addChild(progressBar); this.addChild(loadText); }; backdrop = new Sprite(); backdrop.graphics.beginFill(0); backdrop.graphics.drawRect(0, 0, 800, 640); backdrop.graphics.endFill(); this.addChildAt(backdrop, 0); spinner = new Sprite(); degreeIncrement = 40; degrees = 0; while (degrees < 360) { spinner.graphics.beginFill(0x660000, 0.25); spinner.graphics.lineStyle(5, 0x330000, 0.25); radIncrement = (degrees * 0.0174532925); sMatrix = spinner.transform.matrix; sMatrix.rotate(radIncrement); degrees = (degrees + degreeIncrement); anchor = sMatrix.transformPoint(new Point(-160, -10)); spinner.graphics.moveTo(anchor.x, anchor.y); ctrl = sMatrix.transformPoint(new Point(45, -225)); anchor = sMatrix.transformPoint(new Point(250, -10)); spinner.graphics.curveTo(ctrl.x, ctrl.y, anchor.x, anchor.y); ctrl = sMatrix.transformPoint(new Point(45, -250)); anchor = sMatrix.transformPoint(new Point(-160, -10)); spinner.graphics.curveTo(ctrl.x, ctrl.y, anchor.x, anchor.y); spinner.graphics.endFill(); }; spinner.x = 400; spinner.y = 300; backdrop.addChild(this.spinner); this.addChild(SpriteFactory.makeBorder(800, 640)); this.addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function init(_arg1:Boolean=false):void{ var _local2:Class; var _local3:Object; _local2 = Class(getDefinitionByName(MAIN_CLASS)); _local3 = new (_local2); parent.addChild((_local3 as DisplayObject)); } public function onEnterFrame(_arg1:Event):void{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Sprite; var _local6:Sprite; var _local7:Sprite; var _local8:Sprite; if ((((loaderInfo.bytesLoaded >= loaderInfo.bytesTotal)) && (Preloader.isAdFinished))){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); nextFrame(); init(); } else { progressBar.Percentage = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal); _local2 = (progressBar.Percentage * 100); this.loadText.text = (_local2.toString() + "%"); this.spinner.rotation = (this.spinner.rotation + angleStep); this.spinner.alpha = (this.spinner.alpha + alphaScaleStep); if ((((this.spinner.alpha <= 0.25)) || ((this.spinner.alpha >= 1)))){ alphaScaleStep = (alphaScaleStep * -1); }; dropStep++; if (dropStep >= 6){ dropStep = 0; _local3 = ((Math.random() * 700) + 50); _local4 = ((Math.random() * 540) + 50); _local5 = SpriteFactory.makeBlob(((Math.random() * 5) + 15), 20, 0x220000, 1, 3); _local6 = SpriteFactory.makeBlob(((Math.random() * 5) + 10), 50, 0x220000, 1, 3); _local7 = SpriteFactory.makeBlob(((Math.random() * 5) + 5), 80, 0x220000, 1, 3); _local8 = SpriteFactory.makeBlob((Math.random() * 5), 110, 0x220000, 1, 3); _local5.x = _local3; _local5.y = _local4; _local6.x = _local3; _local6.y = _local4; _local7.x = _local3; _local7.y = _local4; _local8.x = _local3; _local8.y = _local4; this.backdrop.addChildAt(_local5, 0); this.backdrop.addChildAt(_local6, 0); this.backdrop.addChildAt(_local7, 0); this.backdrop.addChildAt(_local8, 0); }; this.spinner.x = (390 + (Math.random() * 20)); this.spinner.y = (310 + (Math.random() * 20)); }; } } }//package
Section 113
//Preloader__chillerEmbed (Preloader__chillerEmbed) package { import mx.core.*; public class Preloader__chillerEmbed extends FontAsset { } }//package
Section 114
//Preloader__verdanaEmbed (Preloader__verdanaEmbed) package { import mx.core.*; public class Preloader__verdanaEmbed extends FontAsset { } }//package
Section 115
//ProgressBar (ProgressBar) package { import flash.display.*; public class ProgressBar extends Sprite { private var _cr:Number; private var _percentage:Number; private var _bar:Sprite; private var _bgGStep:int; private var _barBStep:int; private var _barRStep:int; private var _barColor:uint; private var _backdrop:Sprite; private var _bgBStep:int; private var _bgRStep:int; private var _bgColor:uint; private var _h:Number; private var _barGStep:int; private var _w:Number; public function ProgressBar(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:uint=0xFF0000, _arg6:uint=0xFF00, _arg7:int=-17, _arg8:int=-17, _arg9:int=-17, _arg10:int=17, _arg11:int=17, _arg12:int=17){ _bgColor = _arg5; _bgRStep = _arg7; _bgGStep = _arg8; _bgBStep = _arg9; _barColor = _arg6; _barRStep = _arg10; _barGStep = _arg11; _barBStep = _arg12; _w = _arg1; _h = _arg2; _cr = _arg3; _backdrop = SpriteFactory.makeGradientBar(_w, _h, _cr, _arg5, _arg7, _arg8, _arg9); _bar = SpriteFactory.makeGradientBar(_w, _h, _cr, _barColor, _barRStep, _barGStep, _barBStep); this.addChild(_backdrop); this.addChild(_bar); Percentage = _arg4; _bar.scaleX = _percentage; _bar.cacheAsBitmap = true; _backdrop.cacheAsBitmap = true; } public function set Percentage(_arg1:Number):void{ if (_arg1 > 1){ _arg1 = 1; } else { if (_arg1 < 0){ _arg1 = 0; }; }; _percentage = _arg1; _bar.scaleX = _percentage; } public function get Percentage():Number{ return (_percentage); } } }//package
Section 116
//ResourceManager (ResourceManager) package { public class ResourceManager { public static var AmmoIcon:Class = ResourceManager_AmmoIcon; public static var MedikitIcon:Class = ResourceManager_MedikitIcon; public static var DebrisIcon:Class = ResourceManager_DebrisIcon; public static var MolotovIcon:Class = ResourceManager_MolotovIcon; } }//package
Section 117
//ResourceManager_AmmoIcon (ResourceManager_AmmoIcon) package { import mx.core.*; public class ResourceManager_AmmoIcon extends BitmapAsset { } }//package
Section 118
//ResourceManager_DebrisIcon (ResourceManager_DebrisIcon) package { import mx.core.*; public class ResourceManager_DebrisIcon extends BitmapAsset { } }//package
Section 119
//ResourceManager_MedikitIcon (ResourceManager_MedikitIcon) package { import mx.core.*; public class ResourceManager_MedikitIcon extends BitmapAsset { } }//package
Section 120
//ResourceManager_MolotovIcon (ResourceManager_MolotovIcon) package { import mx.core.*; public class ResourceManager_MolotovIcon extends BitmapAsset { } }//package
Section 121
//ScoreView (ScoreView) package { import flash.text.*; import flash.display.*; public class ScoreView extends Sprite { private var _textFormat:TextFormat; private var _ScoreField:TextField; private var _Score:int; private var _ZombiePopulation:int; private var _ScoreIcon:Sprite; private var _ZombiePopField:TextField; public var ZombieIcon:Class; private static var _Instance:ScoreView; public function ScoreView(){ var _local1:Bitmap; ZombieIcon = ScoreView_ZombieIcon; super(); _textFormat = new TextFormat("Verdana", 18, 0xFFFFFF); this.graphics.clear(); this.graphics.beginFill(0, 0.5); this.graphics.drawRect(0, 0, 190, 45); this.graphics.endFill(); this._ScoreIcon = new Sprite(); this._ScoreField = new TextField(); _ScoreField.embedFonts = true; _ScoreField.antiAliasType = AntiAliasType.ADVANCED; _ScoreField.defaultTextFormat = _textFormat; this._ZombiePopField = new TextField(); _ZombiePopField.embedFonts = true; _ZombiePopField.antiAliasType = AntiAliasType.ADVANCED; _ZombiePopField.defaultTextFormat = _textFormat; this.addChild(this._ScoreIcon); this.addChild(this._ScoreField); _local1 = new ZombieIcon(); _local1.width = 40; _local1.height = 40; _ScoreIcon.addChild(_local1); _ScoreIcon.x = 33; _ScoreIcon.y = 2; _ScoreField.x = 65; _ScoreField.y = 10; _ScoreField.height = 40; _ZombiePopField.x = 150; _ZombiePopField.y = 10; _ZombiePopField.height = 40; Score = 0; ZombiePopulation = 0; UpdateUI(); } public function UpdateUI():void{ _ScoreField.text = _Score.toString(); while (_ScoreField.text.length < 7) { _ScoreField.text = ("0" + _ScoreField.text); }; } public function set ZombiePopulation(_arg1:int):void{ _ZombiePopulation = _arg1; UpdateUI(); } public function get ZombiePopulation():int{ return (_ZombiePopulation); } public function get Score():int{ return (_Score); } public function set Score(_arg1:int):void{ _Score = _arg1; UpdateUI(); } public static function Instance():ScoreView{ if (_Instance == null){ _Instance = new (ScoreView); }; return (_Instance); } } }//package
Section 122
//ScoreView_ZombieIcon (ScoreView_ZombieIcon) package { import mx.core.*; public class ScoreView_ZombieIcon extends BitmapAsset { } }//package
Section 123
//SelectableObject (SelectableObject) package { import flash.display.*; public class SelectableObject extends CombatObject { protected var _portrait:Sprite; protected var _selectionAura:Sprite; protected var _IsSelected:Boolean; public function SelectableObject(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Bitmap, _arg9:int=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg9); IsSelected = false; _portrait = new Sprite(); _portrait.addChild(new Bitmap(_arg8.bitmapData)); } public function get IsSelected():Boolean{ return (_IsSelected); } public function set IsSelected(_arg1:Boolean):void{ _IsSelected = _arg1; this._showHealthBar = _arg1; this.RedrawHealthBar(); } public function get Portrait():Sprite{ return (_portrait); } } }//package
Section 124
//SelectedView (SelectedView) package { import flash.events.*; import flash.text.*; import flash.display.*; import flash.utils.*; public class SelectedView extends Sprite { private var _damageLabel:TextField; private var _UpgradeToughnessButton:ButtonCommand; private var _tooltipSpeed:TextField; private var _scroungeField:TextField; private var _damageField:TextField; private var _scroungeLabel:TextField; private var _viewed:Array; private var _tooltipToughness:TextField; private var _textFormat:TextFormat; private var _tooltipScrounge:TextField; private var _healthField:TextField; private var _tooltipDamage:TextField; private var _UpgradeSpeedButton:ButtonCommand; public var UpgradeArrow:Class; private var _portrait1:Sprite; private var _portrait5:Sprite; private var _portrait6:Sprite; private var _portrait7:Sprite; private var _portrait2:Sprite; private var _portrait3:Sprite; private var _portrait8:Sprite; private var _portraitArray:Array; private var _speedField:TextField; private var _portrait9:Sprite; private var _speedLabel:TextField; private var _portrait4:Sprite; private var _toughnessLabel:TextField; private var _UpgradeScroungeButton:ButtonCommand; private var _buttonTextFormat:TextFormat; private var _toughnessField:TextField; private var _tooltip:Sprite; private var _UpgradeDamageButton:ButtonCommand; public var _UpgradeCostView:UpgradeCostview; private var _textSprite:Sprite; private static var _Instance:SelectedView; public function SelectedView(){ var _local1:Bitmap; var _local2:Sprite; var _local3:TextFormat; var _local4:Sprite; var _local5:Sprite; UpgradeArrow = SelectedView_UpgradeArrow; super(); _textFormat = new TextFormat("Verdana", 18, 0xFFFFFF); _buttonTextFormat = new TextFormat("Chiller", 18, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER); this.graphics.clear(); this.graphics.beginFill(0, 0.5); this.graphics.drawRect(0, 0, 190, 220); this.graphics.endFill(); this.graphics.beginFill(0xAAAAAA, 0.5); this.graphics.drawRect(0, 210, 190, 8); this.graphics.endFill(); this.graphics.beginFill(0xBBBBBB, 0.5); this.graphics.drawRect(1, 211, 188, 6); this.graphics.endFill(); this.graphics.beginFill(0xCCCCCC, 0.5); this.graphics.drawRect(2, 212, 186, 4); this.graphics.endFill(); this._textSprite = new Sprite(); this._portrait1 = new Sprite(); this._portrait2 = new Sprite(); this._portrait3 = new Sprite(); this._portrait4 = new Sprite(); this._portrait5 = new Sprite(); this._portrait6 = new Sprite(); this._portrait7 = new Sprite(); this._portrait8 = new Sprite(); this._portrait9 = new Sprite(); this._healthField = new TextField(); this._toughnessField = new TextField(); this._toughnessLabel = new TextField(); this._damageField = new TextField(); this._damageLabel = new TextField(); this._speedLabel = new TextField(); this._speedField = new TextField(); this._scroungeLabel = new TextField(); this._scroungeField = new TextField(); _local1 = new UpgradeArrow(); _local1.x = 4; _local1.y = 2; this._UpgradeToughnessButton = new ButtonCommand(24, 24, UpgradeToughnessHandler, "", null, _local1); this._UpgradeDamageButton = new ButtonCommand(24, 24, UpgradeDamageHandler, "", null, _local1); this._UpgradeSpeedButton = new ButtonCommand(24, 24, UpgradeSpeedHandler, "", null, _local1); this._UpgradeScroungeButton = new ButtonCommand(24, 24, UpgradeScroungeHandler, "", null, _local1); this._UpgradeToughnessButton.addEventListener(MouseEvent.MOUSE_OVER, UpgradeToughnessOverHandler); this._UpgradeDamageButton.addEventListener(MouseEvent.MOUSE_OVER, UpgradeDamageOverHandler); this._UpgradeSpeedButton.addEventListener(MouseEvent.MOUSE_OVER, UpgradeSpeedOverHandler); this._UpgradeScroungeButton.addEventListener(MouseEvent.MOUSE_OVER, UpgradeScroungeOverHandler); this._UpgradeToughnessButton.addEventListener(MouseEvent.MOUSE_OUT, MouseOutHandler); this._UpgradeDamageButton.addEventListener(MouseEvent.MOUSE_OUT, MouseOutHandler); this._UpgradeSpeedButton.addEventListener(MouseEvent.MOUSE_OUT, MouseOutHandler); this._UpgradeScroungeButton.addEventListener(MouseEvent.MOUSE_OUT, MouseOutHandler); this.addChild(this._textSprite); _textSprite.mouseEnabled = false; _textSprite.tabEnabled = false; _textSprite.tabChildren = false; _textSprite.addChild(this._healthField); _textSprite.addChild(this._toughnessLabel); _textSprite.addChild(this._toughnessField); _textSprite.addChild(this._damageLabel); _textSprite.addChild(this._damageField); _textSprite.addChild(this._speedLabel); _textSprite.addChild(this._speedField); _textSprite.addChild(this._scroungeLabel); _textSprite.addChild(this._scroungeField); _textSprite.addChild(this._UpgradeToughnessButton); _textSprite.addChild(this._UpgradeDamageButton); _textSprite.addChild(this._UpgradeSpeedButton); _textSprite.addChild(this._UpgradeScroungeButton); this.addChild(this._portrait1); this.addChild(this._portrait2); this.addChild(this._portrait3); this.addChild(this._portrait4); this.addChild(this._portrait5); this.addChild(this._portrait6); this.addChild(this._portrait7); this.addChild(this._portrait8); this.addChild(this._portrait9); _portraitArray = new Array(); _portraitArray.push(_portrait1); _portraitArray.push(_portrait2); _portraitArray.push(_portrait3); _portraitArray.push(_portrait4); _portraitArray.push(_portrait5); _portraitArray.push(_portrait6); _portraitArray.push(_portrait7); _portraitArray.push(_portrait8); _portraitArray.push(_portrait9); _portrait1.x = 10; _portrait1.y = 10; _portrait2.x = 70; _portrait2.y = 10; _portrait3.x = 130; _portrait3.y = 10; _portrait4.x = 10; _portrait4.y = 70; _portrait5.x = 70; _portrait5.y = 70; _portrait6.x = 130; _portrait6.y = 70; _portrait7.x = 10; _portrait7.y = 130; _portrait8.x = 70; _portrait8.y = 130; _portrait9.x = 130; _portrait9.y = 130; for each (_local2 in _portraitArray) { _local4 = new Sprite(); _local4.graphics.beginFill(85); _local4.graphics.drawRect(-1, -1, 52, 52); _local4.graphics.drawRect(0, 0, 50, 50); _local4.graphics.endFill(); _local4.graphics.beginFill(102); _local4.graphics.drawRect(0, 0, 50, 50); _local4.graphics.drawRect(1, 1, 48, 48); _local4.graphics.endFill(); _local4.graphics.beginFill(119); _local4.graphics.drawRect(1, 1, 48, 48); _local4.graphics.drawRect(2, 2, 46, 46); _local4.graphics.endFill(); _local4.graphics.beginFill(136); _local4.graphics.drawRect(2, 2, 46, 46); _local4.graphics.drawRect(3, 3, 44, 44); _local4.graphics.endFill(); _local4.graphics.beginFill(153); _local4.graphics.drawRect(3, 3, 44, 44); _local4.graphics.drawRect(4, 4, 42, 42); _local4.graphics.endFill(); _local4.graphics.beginFill(0xAA0000); _local4.graphics.drawRect(4, 42, 42, 4); _local4.cacheAsBitmap = true; _local5 = new Sprite(); _local5.graphics.beginFill(0xFF00); _local5.graphics.drawRect(0, 0, 42, 4); _local5.graphics.endFill(); _local5.x = 4; _local5.y = 42; _local5.cacheAsBitmap = true; _local2.addChild(_local4); _local2.addChild(_local5); _local2.addEventListener(MouseEvent.CLICK, ClickPortrait); _local2.addEventListener(MouseEvent.ROLL_OVER, HoverPortrait); _local2.addEventListener(MouseEvent.ROLL_OUT, ExitPortrait); _local2.addEventListener(MouseEvent.MOUSE_MOVE, MovePortrait); }; _healthField.x = 10; _healthField.y = 60; _healthField.width = 130; _healthField.height = 30; _healthField.mouseEnabled = false; _healthField.embedFonts = true; _healthField.antiAliasType = AntiAliasType.ADVANCED; _toughnessLabel.x = 10; _toughnessLabel.y = 90; _toughnessLabel.width = 200; _toughnessLabel.height = 30; _toughnessLabel.mouseEnabled = false; _toughnessLabel.embedFonts = true; _toughnessLabel.antiAliasType = AntiAliasType.ADVANCED; _damageLabel.x = 10; _damageLabel.y = 120; _damageLabel.width = 200; _damageLabel.height = 30; _damageLabel.mouseEnabled = false; _damageLabel.embedFonts = true; _damageLabel.antiAliasType = AntiAliasType.ADVANCED; _speedLabel.x = 10; _speedLabel.y = 150; _speedLabel.width = 200; _speedLabel.height = 30; _speedLabel.mouseEnabled = false; _speedLabel.embedFonts = true; _speedLabel.antiAliasType = AntiAliasType.ADVANCED; _scroungeLabel.x = 10; _scroungeLabel.y = 180; _scroungeLabel.width = 200; _scroungeLabel.height = 30; _scroungeLabel.mouseEnabled = false; _scroungeLabel.embedFonts = true; _scroungeLabel.antiAliasType = AntiAliasType.ADVANCED; _toughnessField.x = 120; _toughnessField.y = 90; _toughnessField.width = 200; _toughnessField.height = 30; _toughnessField.mouseEnabled = false; _toughnessField.embedFonts = true; _toughnessField.antiAliasType = AntiAliasType.ADVANCED; _damageField.x = 120; _damageField.y = 120; _damageField.width = 200; _damageField.height = 30; _damageField.mouseEnabled = false; _damageField.embedFonts = true; _damageField.antiAliasType = AntiAliasType.ADVANCED; _speedField.x = 120; _speedField.y = 150; _speedField.width = 200; _speedField.height = 30; _speedField.mouseEnabled = false; _speedField.embedFonts = true; _speedField.antiAliasType = AntiAliasType.ADVANCED; _scroungeField.x = 120; _scroungeField.y = 180; _scroungeField.width = 200; _scroungeField.height = 30; _scroungeField.mouseEnabled = false; _scroungeField.embedFonts = true; _scroungeField.antiAliasType = AntiAliasType.ADVANCED; _healthField.defaultTextFormat = _textFormat; _toughnessField.defaultTextFormat = _textFormat; _damageField.defaultTextFormat = _textFormat; _speedField.defaultTextFormat = _textFormat; _scroungeField.defaultTextFormat = _textFormat; _toughnessLabel.defaultTextFormat = _textFormat; _damageLabel.defaultTextFormat = _textFormat; _speedLabel.defaultTextFormat = _textFormat; _scroungeLabel.defaultTextFormat = _textFormat; _UpgradeToughnessButton.x = 160; _UpgradeToughnessButton.y = 90; _UpgradeDamageButton.x = 160; _UpgradeDamageButton.y = 120; _UpgradeSpeedButton.x = 160; _UpgradeSpeedButton.y = 150; _UpgradeScroungeButton.x = 160; _UpgradeScroungeButton.y = 180; _viewed = new Array(); this._UpgradeCostView = new UpgradeCostview(); this._UpgradeCostView.x = 70; this._UpgradeCostView.y = 10; this.addChild(this._UpgradeCostView); _tooltip = new Sprite(); _tooltipToughness = new TextField(); _tooltipDamage = new TextField(); _tooltipSpeed = new TextField(); _tooltipScrounge = new TextField(); _tooltip.tabEnabled = false; _tooltip.tabChildren = false; _tooltip.mouseEnabled = false; _tooltip.mouseChildren = false; _local3 = new TextFormat("Verdana", 10, 0xFFFFFF); _tooltipToughness.defaultTextFormat = _local3; _tooltipDamage.defaultTextFormat = _local3; _tooltipSpeed.defaultTextFormat = _local3; _tooltipScrounge.defaultTextFormat = _local3; _tooltipToughness.embedFonts = true; _tooltipDamage.embedFonts = true; _tooltipSpeed.embedFonts = true; _tooltipScrounge.embedFonts = true; _tooltipToughness.antiAliasType = AntiAliasType.ADVANCED; _tooltipDamage.antiAliasType = AntiAliasType.ADVANCED; _tooltipSpeed.antiAliasType = AntiAliasType.ADVANCED; _tooltipScrounge.antiAliasType = AntiAliasType.ADVANCED; _tooltip.visible = false; addChild(_tooltip); _tooltip.addChild(_tooltipToughness); _tooltip.addChild(_tooltipDamage); _tooltip.addChild(_tooltipSpeed); _tooltip.addChild(_tooltipScrounge); _tooltip.graphics.beginFill(0, 0.75); _tooltip.graphics.drawRoundRect(0, 0, 110, 110, 5, 5); _tooltip.graphics.drawRoundRect(1, 1, 108, 108, 5, 5); _tooltip.graphics.endFill(); _tooltip.graphics.beginFill(0, 0.8); _tooltip.graphics.drawRoundRect(1, 1, 108, 108, 5, 5); _tooltip.graphics.drawRoundRect(2, 2, 106, 106, 5, 5); _tooltip.graphics.endFill(); _tooltip.graphics.beginFill(0, 0.85); _tooltip.graphics.drawRoundRect(2, 2, 106, 106, 5, 5); _tooltip.graphics.drawRoundRect(3, 3, 104, 104, 5, 5); _tooltip.graphics.endFill(); _tooltip.graphics.beginFill(0, 0.9); _tooltip.graphics.drawRoundRect(3, 3, 104, 104, 5, 5); _tooltip.graphics.drawRoundRect(4, 4, 102, 102, 5, 5); _tooltip.graphics.endFill(); _tooltip.graphics.beginFill(0, 0.95); _tooltip.graphics.drawRoundRect(4, 4, 102, 102, 5, 5); _tooltip.graphics.drawRoundRect(5, 5, 100, 100, 5, 5); _tooltip.graphics.endFill(); _tooltip.graphics.beginFill(0, 1); _tooltip.graphics.drawRoundRect(5, 5, 100, 100, 5, 5); _tooltip.graphics.endFill(); _tooltipToughness.x = 10; _tooltipToughness.y = 10; _tooltipDamage.x = 10; _tooltipDamage.y = 35; _tooltipSpeed.x = 10; _tooltipSpeed.y = 60; _tooltipScrounge.x = 10; _tooltipScrounge.y = 85; _tooltipToughness.width = 90; _tooltipToughness.height = 20; _tooltipDamage.width = 90; _tooltipDamage.height = 20; _tooltipSpeed.width = 90; _tooltipSpeed.height = 20; _tooltipScrounge.width = 90; _tooltipScrounge.height = 20; ResetUI(); } public function UpgradeToughnessOverHandler(_arg1:MouseEvent):void{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:int; if ((_viewed[0] as Defender).toughnessUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = (_viewed[0] as Defender).toughnessUpgradeLevel; _local3 = (_viewed[0] as Defender).baseToughness; _local4 = (_viewed[0] as Defender).toughnessBonusPerLevel; _local5 = (((_local2 + 1) * _local4) + _local3); _local6 = BrunchOfTheDead.GetCost((_local2 + 1)); this._UpgradeCostView.ShowInfo(("Upgrades\nTotal\nHealth\nto " + _local5), 0, 0, _local6); } else { this._UpgradeCostView.ResetUI(); }; } public function ExitPortrait(_arg1:MouseEvent):void{ this._tooltip.visible = false; } public function ViewedIndex(_arg1:SelectableObject):int{ return (_viewed.indexOf(_arg1)); } public function ResetUI():void{ var _local1:Sprite; var _local2:int; var _local3:Boolean; this._UpgradeCostView.visible = false; for each (_local1 in this._portraitArray) { while (_local1.numChildren > 2) { _local1.removeChildAt(0); }; _local1.visible = false; }; _local2 = (this._viewed.length - 1); while (_local2 >= 0) { if (this._viewed[_local2].healthCurrent <= 0){ this._viewed.splice(_local2, 1); }; _local2--; }; _local3 = false; if (this._viewed.length > 0){ _local3 = (this._viewed[0] is Defender); }; CommandView.Instance().Enabled = _local3; this._textSprite.visible = false; _healthField.text = "0 / 0"; _toughnessField.text = "0"; _damageField.text = "0"; _speedField.text = "0"; _scroungeField.text = "0"; _toughnessLabel.text = "Toughness:"; _damageLabel.text = "Damage:"; _speedLabel.text = "Speed:"; _scroungeLabel.text = "Scrounge:"; } public function AddViewed(_arg1:SelectableObject):void{ if ((((_viewed.indexOf(_arg1) == -1)) && ((((_viewed.length == 0)) || ((((((_viewed.length > 0)) && ((_viewed.length < 9)))) && ((getQualifiedClassName(_arg1) == getQualifiedClassName(_viewed[0]))))))))){ _arg1.IsSelected = true; _viewed.push(_arg1); }; } public function UpgradeSpeedHandler(_arg1:MouseEvent):void{ var _local2:int; trace("Speed Upgrade!"); if ((_viewed[0] as Defender).attackSpeedUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = BrunchOfTheDead.GetCost(((_viewed[0] as Defender).attackSpeedUpgradeLevel + 1)); if ((((Inventory.GetInstance().Ammo() >= _local2)) && ((Inventory.GetInstance().Medikits() >= _local2)))){ Inventory.GetInstance().GetABullet(_local2); Inventory.GetInstance().GetAMedkit(_local2); (_viewed[0] as Defender).attackSpeedUpgradeLevel++; (_viewed[0] as Defender).moveSpeedUpgradeLevel++; }; }; UpgradeSpeedOverHandler(null); } public function ViewedLength():int{ return (_viewed.length); } public function ClickPortrait(_arg1:MouseEvent):void{ var _local2:int; var _local3:SelectableObject; _local2 = this._portraitArray.indexOf((_arg1.currentTarget as Sprite)); if (_local2 != -1){ _tooltip.visible = false; if ((_viewed[_local2] is Defender)){ if ((_viewed[_local2] as Defender).isScrounging){ CommandQueue.Instance().Command = CommandQueue.SETSCROUNGETARGET; } else { CommandQueue.Instance().Command = CommandQueue.SETMOVETARGET; }; }; if (_arg1.ctrlKey){ this.RemoveViewed(this._viewed[_local2]); } else { _local3 = _viewed[_local2]; this.Viewed = new Array(); this.AddViewed(_local3); }; }; } public function get Viewed():Array{ return (_viewed); } public function UpgradeSpeedOverHandler(_arg1:MouseEvent):void{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:int; var _local6:int; if ((_viewed[0] as Defender).attackSpeedUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = (_viewed[0] as Defender).attackSpeedUpgradeLevel; _local3 = (_viewed[0] as Defender).baseAttackSpeed; _local4 = (_viewed[0] as Defender).attackSpeedBonusPerLevel; _local5 = ((_local3 / (_local3 - ((_local2 + 1) * _local4))) * 100); _local6 = BrunchOfTheDead.GetCost((_local2 + 1)); this._UpgradeCostView.ShowInfo((("Upgrades\nAttack Speed\n& Move Speed\nto " + _local5) + "%"), 0, _local6, _local6); } else { this._UpgradeCostView.ResetUI(); }; } public function UpdateUI():void{ var _local1:int; ResetUI(); if (this._viewed.length == 1){ _portrait1.getChildAt(1).width = (42 * (_viewed[0].healthCurrent / _viewed[0].healthTotal)); _portrait1.addChildAt(_viewed[0].Portrait, 0); _portrait1.visible = true; _viewed[0].RedrawHealthBar(); this._UpgradeCostView.visible = true; this._textSprite.visible = true; _healthField.text = ((_viewed[0].healthCurrent.toFixed(2) + " / ") + _viewed[0].healthTotal.toFixed(2)); _toughnessField.text = _viewed[0].toughnessUpgradeLevel.toString(); _damageField.text = _viewed[0].attackPowerUpgradeLevel.toString(); _speedField.text = _viewed[0].attackSpeedUpgradeLevel.toString(); if ((_viewed[0] is Defender)){ _scroungeField.text = (_viewed[0] as Defender).scroungeUpgradeLevel.toString(); _scroungeField.visible = true; _scroungeLabel.visible = true; this._UpgradeToughnessButton.visible = true; this._UpgradeDamageButton.visible = true; this._UpgradeSpeedButton.visible = true; this._UpgradeScroungeButton.visible = true; } else { _scroungeField.visible = false; _scroungeLabel.visible = false; this._UpgradeToughnessButton.visible = false; this._UpgradeDamageButton.visible = false; this._UpgradeSpeedButton.visible = false; this._UpgradeScroungeButton.visible = false; }; } else { if (this._viewed.length > 1){ this._textSprite.visible = false; _local1 = 0; while ((((_local1 < this._viewed.length)) && ((_local1 < this._portraitArray.length)))) { _portraitArray[_local1].getChildAt(1).width = (42 * (_viewed[_local1].healthCurrent / _viewed[_local1].healthTotal)); _viewed[_local1].RedrawHealthBar(); _portraitArray[_local1].addChildAt(_viewed[_local1].Portrait, 0); _portraitArray[_local1].visible = true; _local1++; }; }; }; } public function set Viewed(_arg1:Array):void{ var _local2:SelectableObject; var _local3:SelectableObject; for each (_local2 in _viewed) { _local2.IsSelected = false; }; _viewed = new Array(); for each (_local3 in _arg1) { _viewed.push(_local3); _local3.IsSelected = true; }; UpdateUI(); } public function UpgradeDamageOverHandler(_arg1:MouseEvent):void{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:int; if ((_viewed[0] as Defender).attackPowerUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = (_viewed[0] as Defender).attackPowerUpgradeLevel; _local3 = (_viewed[0] as Defender).baseAttackPower; _local4 = (_viewed[0] as Defender).attackPowerBonusPerLevel; _local5 = (((_local2 + 1) * _local4) + _local3); _local6 = BrunchOfTheDead.GetCost((_local2 + 1)); this._UpgradeCostView.ShowInfo(("Upgrades\nDamage\nPer Shot\nto " + _local5), 0, _local6, 0); } else { this._UpgradeCostView.ResetUI(); }; } public function UpgradeDamageHandler(_arg1:MouseEvent):void{ var _local2:int; trace("Damage Upgrade!"); if ((_viewed[0] as Defender).attackPowerUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = BrunchOfTheDead.GetCost(((_viewed[0] as Defender).attackPowerUpgradeLevel + 1)); if (Inventory.GetInstance().Ammo() >= _local2){ Inventory.GetInstance().GetABullet(_local2); (_viewed[0] as Defender).attackPowerUpgradeLevel++; }; }; UpgradeDamageOverHandler(null); } public function UpgradeScroungeOverHandler(_arg1:MouseEvent):void{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:int; var _local6:int; if ((_viewed[0] as Defender).scroungeUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = (_viewed[0] as Defender).scroungeUpgradeLevel; _local3 = (_viewed[0] as Defender).baseScrounge; _local4 = (_viewed[0] as Defender).scroungeBonusPerLevel; _local5 = ((((_local2 + 1) * _local4) / _local3) * 100); _local6 = BrunchOfTheDead.GetCost((_local2 + 1)); this._UpgradeCostView.ShowInfo((("Upgrades\nSupplies\nScrounged\nto " + (100 + _local5)) + "%"), _local6, _local6, _local6); } else { this._UpgradeCostView.ResetUI(); }; } public function UpgradeToughnessHandler(_arg1:MouseEvent):void{ var _local2:int; trace("Toughness Upgrade!"); if ((_viewed[0] as Defender).toughnessUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = BrunchOfTheDead.GetCost(((_viewed[0] as Defender).toughnessUpgradeLevel + 1)); if (Inventory.GetInstance().Medikits() >= _local2){ Inventory.GetInstance().GetAMedkit(_local2); (_viewed[0] as Defender).toughnessUpgradeLevel++; }; }; UpgradeToughnessOverHandler(null); } public function MouseOutHandler(_arg1:MouseEvent):void{ this._UpgradeCostView.ResetUI(); } public function MovePortrait(_arg1:MouseEvent):void{ this._tooltip.x = (mouseX - this._tooltip.width); this._tooltip.y = mouseY; } public function ViewedAtIndex(_arg1:int):SelectableObject{ return (_viewed[_arg1]); } public function RemoveViewed(_arg1:SelectableObject):void{ var _local2:int; _local2 = _viewed.indexOf(_arg1); if (_local2 != -1){ _arg1.IsSelected = false; _viewed.splice(_local2, 1); }; } public function UpgradeScroungeHandler(_arg1:MouseEvent):void{ var _local2:int; trace("Scrounge Upgrade!"); if ((_viewed[0] as Defender).scroungeUpgradeLevel < BrunchOfTheDead._globalUpgradeHardLimit){ _local2 = BrunchOfTheDead.GetCost(((_viewed[0] as Defender).scroungeUpgradeLevel + 1)); if ((((((Inventory.GetInstance().Ammo() >= _local2)) && ((Inventory.GetInstance().Medikits() >= _local2)))) && ((Inventory.GetInstance().Debris() >= _local2)))){ Inventory.GetInstance().GetABullet(_local2); Inventory.GetInstance().GetAMedkit(_local2); Inventory.GetInstance().GetDebris(_local2); (_viewed[0] as Defender).scroungeUpgradeLevel++; }; }; UpgradeScroungeOverHandler(null); } public function HoverPortrait(_arg1:MouseEvent):void{ var _local2:int; _tooltip.x = (mouseX - this._tooltip.width); _tooltip.y = mouseY; _tooltip.alpha = 0.7; _local2 = this._portraitArray.indexOf((_arg1.currentTarget as Sprite)); if (((!((_local2 == -1))) && ((this._viewed.length > 1)))){ if ((_viewed[_local2] is Defender)){ _tooltipToughness.text = ("TOUGHNESS: " + (_viewed[_local2] as Defender).toughnessUpgradeLevel.toString()); _tooltipDamage.text = ("DAMAGE: " + (_viewed[_local2] as Defender).attackPowerUpgradeLevel.toString()); _tooltipSpeed.text = ("SPEED: " + (_viewed[_local2] as Defender).attackSpeedUpgradeLevel.toString()); _tooltipScrounge.text = ("SCROUNGE: " + (_viewed[_local2] as Defender).scroungeUpgradeLevel.toString()); _tooltipScrounge.visible = true; } else { _tooltipToughness.text = ("TOUGHNESS: " + (_viewed[_local2] as Zombie).toughnessUpgradeLevel.toString()); _tooltipDamage.text = ("DAMAGE: " + (_viewed[_local2] as Zombie).attackPowerUpgradeLevel.toString()); _tooltipSpeed.text = ("SPEED: " + (_viewed[_local2] as Zombie).attackSpeedUpgradeLevel.toString()); _tooltipScrounge.visible = false; }; this._tooltip.visible = true; }; } public static function Instance():SelectedView{ if (_Instance == null){ _Instance = new (SelectedView); }; return (_Instance); } } }//package
Section 125
//SelectedView_UpgradeArrow (SelectedView_UpgradeArrow) package { import mx.core.*; public class SelectedView_UpgradeArrow extends BitmapAsset { } }//package
Section 126
//SiteLockScreen (SiteLockScreen) package { import flash.events.*; import flash.text.*; import flash.display.*; import flash.net.*; public class SiteLockScreen extends Sprite { private var _goHome2:ButtonCommand; private var _headline:TextField; private var _backdrop:Sprite; private var _message:TextField; private var _goHome1:ButtonCommand; public function SiteLockScreen(){ var _local1:TextFormat; var _local2:TextFormat; var _local3:TextFormat; super(); _backdrop = new Sprite(); _headline = new TextField(); _message = new TextField(); _local1 = new TextFormat("Verdana", 30, 0xAA0000, null, null, null, null, null, TextFormatAlign.CENTER); _local2 = new TextFormat("Verdana", 60, 0xDDDDDD, null, null, null, null, null, TextFormatAlign.CENTER); _local3 = new TextFormat("Verdana", 16, 0xDDDDDD, null, null, null, null, null, TextFormatAlign.LEFT); _goHome1 = new ButtonCommand(700, 50, clickGoHome, "Go to www.headmeatgames.com", _local1, null); _goHome2 = new ButtonCommand(700, 50, clickGoHome, "Go to www.headmeatgames.com", _local1, null); _headline.defaultTextFormat = _local2; _message.defaultTextFormat = _local3; _headline.embedFonts = true; _message.embedFonts = true; _headline.antiAliasType = AntiAliasType.ADVANCED; _message.antiAliasType = AntiAliasType.ADVANCED; _message.wordWrap = true; _backdrop.graphics.beginFill(0); _backdrop.graphics.drawRect(0, 0, 800, 640); _backdrop.graphics.endFill(); _headline.x = 0; _headline.y = 70; _headline.width = 800; _headline.height = 70; _message.x = 30; _message.y = 140; _message.width = 740; _message.height = 430; _goHome1.x = 50; _goHome1.y = 20; _goHome2.x = 50; _goHome2.y = 570; addChild(_backdrop); _backdrop.addChild(_headline); _backdrop.addChild(_message); _backdrop.addChild(_goHome1); _backdrop.addChild(_goHome2); _backdrop.addChild(SpriteFactory.makeBorder(800, 640)); _headline.text = "I'M SORRY!"; _message.text = "\nI truly am."; _message.appendText("\nIt appears that this copy of the game has been taken without permission from www.headmeatgames.com"); _message.appendText("\n\nYou're just looking to have some fun, and instead you get met with this irritation, and for that I truly apologize."); _message.appendText("\n\nIf you would kindly direct your browser to www.headmeatgames.com (either manually or by clicking one of the buttons above and below this message) you will find the actual legit version of this game, and you can play to your heart's content."); _message.appendText("\n\nPlaying a legitimate version of my game supports me as the author, and makes it possible for me to continue to create games."); _message.appendText("\n\nThank you for your support and understanding."); _message.appendText("\nAgain, I apologize for the inconvenience."); _message.appendText("\n\n-Joe"); } public function clickGoHome(_arg1:MouseEvent):void{ var _local2:URLRequest; trace("GO HOME!"); _local2 = new URLRequest("http://www.headmeatgames.com/"); navigateToURL(_local2, "_self"); } } }//package
Section 127
//Slam (Slam) package { import flash.media.*; public dynamic class Slam extends Sound { } }//package
Section 128
//SoundButton (SoundButton) package { import flash.events.*; import flash.text.*; import flash.display.*; import flash.media.*; public class SoundButton extends SimpleButton { private var _clickSound:Sound; private var _disabledShade:Sprite; private var _iconUp:Bitmap; private var _iconDown:Bitmap; private var _leaveSound:Sound; public var BaseClickSound:Class; private var _labelFormat:TextFormat; private var _labelFieldDown:TextField; private var _iconOver:Bitmap; private var _height:Number; private var _labelFieldUp:TextField; private var _labelFieldOver:TextField; private var _enterSound:Sound; private var _width:Number; public var SharpClickSound:Class; public static var ButtonBaseDown:Class = SoundButton_ButtonBaseDown; public static var ButtonBaseOver:Class = SoundButton_ButtonBaseOver; public static var ButtonBaseUp:Class = SoundButton_ButtonBaseUp; public function SoundButton(_arg1:Number, _arg2:Number, _arg3:String, _arg4:TextFormat, _arg5:Bitmap=null){ var _local6:Graphics; var _local7:Bitmap; var _local8:Graphics; var _local9:Bitmap; var _local10:Graphics; var _local11:Bitmap; BaseClickSound = SoundButton_BaseClickSound; SharpClickSound = SoundButton_SharpClickSound; super(); upState = new Sprite(); overState = new Sprite(); downState = new Sprite(); _disabledShade = new Sprite(); _local6 = (upState as Sprite).graphics; _local7 = new ButtonBaseUp(); _local7.width = _arg1; _local7.height = _arg2; (upState as Sprite).addChild(_local7); _local8 = (overState as Sprite).graphics; _local9 = new ButtonBaseOver(); _local9.width = _arg1; _local9.height = _arg2; (overState as Sprite).addChild(_local9); _local10 = (downState as Sprite).graphics; _local11 = new ButtonBaseDown(); _local11.width = _arg1; _local11.height = _arg2; (downState as Sprite).addChild(_local11); _enterSound = new BaseClickSound(); _leaveSound = new BaseClickSound(); _clickSound = new SharpClickSound(); this.addEventListener(MouseEvent.CLICK, playClickSound); this.addEventListener(MouseEvent.MOUSE_OVER, playEnterSound); this.addEventListener(MouseEvent.MOUSE_OUT, playLeaveSound); if (((!((_arg3 == null))) && (!((_arg4 == null))))){ _labelFieldUp = new TextField(); _labelFieldOver = new TextField(); _labelFormat = _arg4; _labelFieldDown = new TextField(); if (_arg4 != null){ _labelFieldUp.defaultTextFormat = _arg4; _labelFieldOver.defaultTextFormat = _arg4; _labelFieldDown.defaultTextFormat = _arg4; }; _labelFieldUp.width = _arg1; _labelFieldUp.height = _arg2; _labelFieldUp.multiline = true; _labelFieldUp.wordWrap = true; _labelFieldUp.text = _arg3; _labelFieldUp.embedFonts = true; _labelFieldOver.width = _arg1; _labelFieldOver.height = _arg2; _labelFieldOver.multiline = true; _labelFieldOver.wordWrap = true; _labelFieldOver.text = _arg3; _labelFieldOver.embedFonts = true; _labelFieldDown.width = _arg1; _labelFieldDown.height = _arg2; _labelFieldDown.multiline = true; _labelFieldDown.wordWrap = true; _labelFieldDown.text = _arg3; _labelFieldDown.embedFonts = true; _labelFieldUp.antiAliasType = AntiAliasType.ADVANCED; _labelFieldDown.antiAliasType = AntiAliasType.ADVANCED; _labelFieldOver.antiAliasType = AntiAliasType.ADVANCED; _labelFieldUp.y = ((_labelFieldUp.height - _labelFieldUp.textHeight) / 2); _labelFieldOver.y = ((_labelFieldOver.height - _labelFieldOver.textHeight) / 2); _labelFieldDown.y = ((_labelFieldDown.height - _labelFieldDown.textHeight) / 2); (upState as DisplayObjectContainer).addChild(_labelFieldUp); (overState as DisplayObjectContainer).addChild(_labelFieldOver); (downState as DisplayObjectContainer).addChild(_labelFieldDown); }; this.Icon = _arg5; _disabledShade.graphics.beginFill(0, 0.5); _disabledShade.graphics.drawRect(0, 0, _arg1, _arg2); _disabledShade.graphics.endFill(); _disabledShade.visible = false; (upState as DisplayObjectContainer).addChild(_disabledShade); hitTestState = overState; } private function playLeaveSound(_arg1:MouseEvent):void{ if (((!((_leaveSound == null))) && (this.enabled))){ _leaveSound.play(0, 0, BrunchOfTheDead._globalSoundTransform); }; } override public function get height():Number{ return (_height); } public function set Icon(_arg1:Bitmap):void{ if (((!((_arg1 == null))) && (!((_arg1.bitmapData == null))))){ if (((((!((_iconUp == null))) && (!((_iconOver == null))))) && (!((_iconDown == null))))){ (upState as DisplayObjectContainer).removeChild(_iconUp); (overState as DisplayObjectContainer).removeChild(_iconOver); (downState as DisplayObjectContainer).removeChild(_iconDown); }; _iconUp = new Bitmap(_arg1.bitmapData); _iconUp.width = _arg1.width; _iconUp.height = _arg1.height; _iconUp.x = _arg1.x; _iconUp.y = _arg1.y; _iconDown = new Bitmap(_arg1.bitmapData); _iconDown.width = _arg1.width; _iconDown.height = _arg1.height; _iconDown.x = _arg1.x; _iconDown.y = _arg1.y; _iconOver = new Bitmap(_arg1.bitmapData); _iconOver.width = _arg1.width; _iconOver.height = _arg1.height; _iconOver.x = _arg1.x; _iconOver.y = _arg1.y; (upState as DisplayObjectContainer).addChild(_iconUp); (overState as DisplayObjectContainer).addChild(_iconOver); (downState as DisplayObjectContainer).addChild(_iconDown); }; } override public function set height(_arg1:Number):void{ _height = _arg1; upState.height = _height; downState.height = _height; overState.height = _height; hitTestState.height = _height; } private function playEnterSound(_arg1:MouseEvent):void{ if (((!((_enterSound == null))) && (this.enabled))){ _enterSound.play(0, 0, BrunchOfTheDead._globalSoundTransform); }; } override public function set enabled(_arg1:Boolean):void{ _disabledShade.visible = !(_arg1); super.enabled = _arg1; } override public function set width(_arg1:Number):void{ _width = _arg1; upState.width = _width; downState.width = _width; overState.width = _width; hitTestState.width = _width; } private function playClickSound(_arg1:MouseEvent):void{ if (((!((_clickSound == null))) && (this.enabled))){ _clickSound.play(0, 0, BrunchOfTheDead._globalSoundTransform); }; } override public function get width():Number{ return (_width); } } }//package
Section 129
//SoundButton_BaseClickSound (SoundButton_BaseClickSound) package { import mx.core.*; public class SoundButton_BaseClickSound extends SoundAsset { } }//package
Section 130
//SoundButton_ButtonBaseDown (SoundButton_ButtonBaseDown) package { import mx.core.*; public class SoundButton_ButtonBaseDown extends BitmapAsset { } }//package
Section 131
//SoundButton_ButtonBaseOver (SoundButton_ButtonBaseOver) package { import mx.core.*; public class SoundButton_ButtonBaseOver extends BitmapAsset { } }//package
Section 132
//SoundButton_ButtonBaseUp (SoundButton_ButtonBaseUp) package { import mx.core.*; public class SoundButton_ButtonBaseUp extends BitmapAsset { } }//package
Section 133
//SoundButton_SharpClickSound (SoundButton_SharpClickSound) package { import mx.core.*; public class SoundButton_SharpClickSound extends SoundAsset { } }//package
Section 134
//SpriteFactory (SpriteFactory) package { import flash.display.*; import flash.geom.*; public class SpriteFactory { public static function makeBorderedFrameAlpha(_arg1:Number, _arg2:Number, _arg3:Number=20, _arg4:uint=0x111111, _arg5:uint=0xFFFFFF, _arg6:Number=0.55, _arg7:Number=0.95):Sprite{ var _local8:Sprite; _local8 = new Sprite(); _local8.graphics.beginFill(_arg5, _arg6); _local8.graphics.drawRoundRect(0, 0, _arg1, _arg2, _arg3, _arg3); _local8.graphics.drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _arg3, _arg3); _local8.graphics.endFill(); _local8.graphics.beginFill(_arg5, (_arg6 + 0.05)); _local8.graphics.drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _arg3, _arg3); _local8.graphics.drawRoundRect(2, 2, (_arg1 - 4), (_arg2 - 4), _arg3, _arg3); _local8.graphics.endFill(); _local8.graphics.beginFill(_arg5, (_arg6 + 0.1)); _local8.graphics.drawRoundRect(2, 2, (_arg1 - 4), (_arg2 - 4), _arg3, _arg3); _local8.graphics.drawRoundRect(3, 3, (_arg1 - 6), (_arg2 - 6), _arg3, _arg3); _local8.graphics.endFill(); _local8.graphics.beginFill(_arg5, (_arg6 + 0.15)); _local8.graphics.drawRoundRect(3, 3, (_arg1 - 6), (_arg2 - 6), _arg3, _arg3); _local8.graphics.drawRoundRect(4, 4, (_arg1 - 8), (_arg2 - 8), _arg3, _arg3); _local8.graphics.endFill(); _local8.graphics.beginFill(_arg5, (_arg6 + 0.2)); _local8.graphics.drawRoundRect(4, 4, (_arg1 - 8), (_arg2 - 8), _arg3, _arg3); _local8.graphics.drawRoundRect(5, 5, (_arg1 - 10), (_arg2 - 10), _arg3, _arg3); _local8.graphics.endFill(); _local8.graphics.beginFill(_arg5, (_arg6 + 0.22)); _local8.graphics.drawRoundRect(5, 5, (_arg1 - 10), (_arg2 - 10), _arg3, _arg3); _local8.graphics.drawRoundRect(6, 6, (_arg1 - 12), (_arg2 - 12), _arg3, _arg3); _local8.graphics.endFill(); _local8.graphics.beginFill(_arg5, (_arg6 + 0.2)); _local8.graphics.drawRoundRect(6, 6, (_arg1 - 12), (_arg2 - 12), _arg3, _arg3); _local8.graphics.drawRoundRect(7, 7, (_arg1 - 14), (_arg2 - 14), _arg3, _arg3); _local8.graphics.endFill(); _local8.graphics.beginFill(_arg5, (_arg6 + 0.15)); _local8.graphics.drawRoundRect(7, 7, (_arg1 - 14), (_arg2 - 14), _arg3, _arg3); _local8.graphics.drawRoundRect(8, 8, (_arg1 - 16), (_arg2 - 16), _arg3, _arg3); _local8.graphics.endFill(); _local8.graphics.beginFill(_arg5, (_arg6 + 0.1)); _local8.graphics.drawRoundRect(8, 8, (_arg1 - 16), (_arg2 - 16), _arg3, _arg3); _local8.graphics.drawRoundRect(9, 9, (_arg1 - 18), (_arg2 - 18), _arg3, _arg3); _local8.graphics.endFill(); _local8.graphics.beginFill(_arg5, (_arg6 + 0.05)); _local8.graphics.drawRoundRect(9, 9, (_arg1 - 18), (_arg2 - 18), _arg3, _arg3); _local8.graphics.drawRoundRect(10, 10, (_arg1 - 20), (_arg2 - 20), _arg3, _arg3); _local8.graphics.endFill(); _local8.graphics.beginFill(_arg4, _arg7); _local8.graphics.drawRoundRect(10, 10, (_arg1 - 20), (_arg2 - 20), _arg3, _arg3); _local8.graphics.endFill(); return (_local8); } public static function makeBorderedFrame(_arg1:Number, _arg2:Number, _arg3:Number=20, _arg4:uint=0x111111, _arg5:uint=0xFFFFFF, _arg6:Number=1):Sprite{ var _local7:Sprite; _local7 = new Sprite(); _local7.graphics.beginFill(colorSum(_arg5, -85, -85, -85)); _local7.graphics.drawRoundRect(0, 0, _arg1, _arg2, _arg3, _arg3); _local7.graphics.drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _arg3, _arg3); _local7.graphics.endFill(); _local7.graphics.beginFill(colorSum(_arg5, -68, -68, -68)); _local7.graphics.drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _arg3, _arg3); _local7.graphics.drawRoundRect(2, 2, (_arg1 - 4), (_arg2 - 4), _arg3, _arg3); _local7.graphics.endFill(); _local7.graphics.beginFill(colorSum(_arg5, -51, -51, -51)); _local7.graphics.drawRoundRect(2, 2, (_arg1 - 4), (_arg2 - 4), _arg3, _arg3); _local7.graphics.drawRoundRect(3, 3, (_arg1 - 6), (_arg2 - 6), _arg3, _arg3); _local7.graphics.endFill(); _local7.graphics.beginFill(colorSum(_arg5, -34, -34, -34)); _local7.graphics.drawRoundRect(3, 3, (_arg1 - 6), (_arg2 - 6), _arg3, _arg3); _local7.graphics.drawRoundRect(4, 4, (_arg1 - 8), (_arg2 - 8), _arg3, _arg3); _local7.graphics.endFill(); _local7.graphics.beginFill(colorSum(_arg5, -17, -17, -17)); _local7.graphics.drawRoundRect(4, 4, (_arg1 - 8), (_arg2 - 8), _arg3, _arg3); _local7.graphics.drawRoundRect(5, 5, (_arg1 - 10), (_arg2 - 10), _arg3, _arg3); _local7.graphics.endFill(); _local7.graphics.beginFill(_arg5); _local7.graphics.drawRoundRect(5, 5, (_arg1 - 10), (_arg2 - 10), _arg3, _arg3); _local7.graphics.drawRoundRect(6, 6, (_arg1 - 12), (_arg2 - 12), _arg3, _arg3); _local7.graphics.endFill(); _local7.graphics.beginFill(colorSum(_arg5, -17, -17, -17)); _local7.graphics.drawRoundRect(6, 6, (_arg1 - 12), (_arg2 - 12), _arg3, _arg3); _local7.graphics.drawRoundRect(7, 7, (_arg1 - 14), (_arg2 - 14), _arg3, _arg3); _local7.graphics.endFill(); _local7.graphics.beginFill(colorSum(_arg5, -34, -34, -34)); _local7.graphics.drawRoundRect(7, 7, (_arg1 - 14), (_arg2 - 14), _arg3, _arg3); _local7.graphics.drawRoundRect(8, 8, (_arg1 - 16), (_arg2 - 16), _arg3, _arg3); _local7.graphics.endFill(); _local7.graphics.beginFill(colorSum(_arg5, -51, -51, -51)); _local7.graphics.drawRoundRect(8, 8, (_arg1 - 16), (_arg2 - 16), _arg3, _arg3); _local7.graphics.drawRoundRect(9, 9, (_arg1 - 18), (_arg2 - 18), _arg3, _arg3); _local7.graphics.endFill(); _local7.graphics.beginFill(colorSum(_arg5, -68, -68, -68)); _local7.graphics.drawRoundRect(9, 9, (_arg1 - 18), (_arg2 - 18), _arg3, _arg3); _local7.graphics.drawRoundRect(10, 10, (_arg1 - 20), (_arg2 - 20), _arg3, _arg3); _local7.graphics.endFill(); _local7.graphics.beginFill(_arg4, _arg6); _local7.graphics.drawRoundRect(10, 10, (_arg1 - 20), (_arg2 - 20), _arg3, _arg3); _local7.graphics.endFill(); return (_local7); } public static function makeGradientBar(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint, _arg5:int, _arg6:int, _arg7:int):Sprite{ var _local8:Sprite; var _local9:int; _local8 = new Sprite(); _local9 = 0; while ((((_arg1 > 0)) && ((_arg2 > 0)))) { _local8.graphics.beginFill(_slot1.colorSum(_arg4, (_arg5 * _local9), (_arg6 * _local9), (_arg7 * _local9))); _local8.graphics.drawRoundRect(_local9, _local9, _arg1, _arg2, _arg3, _arg3); _local8.graphics.endFill(); _arg1 = (_arg1 - 2); _arg2 = (_arg2 - 2); _local9++; }; return (_local8); } private static function colorSum(_arg1:uint, _arg2:int, _arg3:int, _arg4:int):uint{ var _local5:ColorTransform; _local5 = new ColorTransform(); _local5.color = _arg1; _local5.redOffset = (_local5.redOffset + _arg2); _local5.greenOffset = (_local5.greenOffset + _arg3); _local5.blueOffset = (_local5.blueOffset + _arg4); if (_local5.redOffset < 0){ _local5.redOffset = 0; } else { if (_local5.redOffset > 0xFF){ _local5.redOffset = 0xFF; }; }; if (_local5.greenOffset < 0){ _local5.greenOffset = 0; } else { if (_local5.greenOffset > 0xFF){ _local5.greenOffset = 0xFF; }; }; if (_local5.blueOffset < 0){ _local5.blueOffset = 0; } else { if (_local5.blueOffset > 0xFF){ _local5.blueOffset = 0xFF; }; }; return (_local5.color); } public static function makeBorder(_arg1:Number, _arg2:Number, _arg3:uint=0xAA0000):Sprite{ var _local4:Sprite; _local4 = new Sprite(); _local4.graphics.beginFill(_arg3, 1); _local4.graphics.drawRect(0, 0, _arg1, _arg2); _local4.graphics.drawRect(1, 1, (_arg1 - 2), (_arg2 - 2)); _local4.graphics.endFill(); _local4.graphics.beginFill(_arg3, 0.9); _local4.graphics.drawRect(1, 1, (_arg1 - 2), (_arg2 - 2)); _local4.graphics.drawRect(2, 2, (_arg1 - 4), (_arg2 - 4)); _local4.graphics.endFill(); _local4.graphics.beginFill(_arg3, 0.8); _local4.graphics.drawRect(2, 2, (_arg1 - 4), (_arg2 - 4)); _local4.graphics.drawRect(3, 3, (_arg1 - 6), (_arg2 - 6)); _local4.graphics.endFill(); _local4.graphics.beginFill(_arg3, 0.7); _local4.graphics.drawRect(3, 3, (_arg1 - 6), (_arg2 - 6)); _local4.graphics.drawRect(4, 4, (_arg1 - 8), (_arg2 - 8)); _local4.graphics.endFill(); _local4.graphics.beginFill(_arg3, 0.6); _local4.graphics.drawRect(4, 4, (_arg1 - 8), (_arg2 - 8)); _local4.graphics.drawRect(5, 5, (_arg1 - 10), (_arg2 - 10)); _local4.graphics.endFill(); _local4.graphics.beginFill(_arg3, 0.5); _local4.graphics.drawRect(5, 5, (_arg1 - 10), (_arg2 - 10)); _local4.graphics.drawRect(6, 6, (_arg1 - 12), (_arg2 - 12)); _local4.graphics.endFill(); _local4.graphics.beginFill(_arg3, 0.4); _local4.graphics.drawRect(6, 6, (_arg1 - 12), (_arg2 - 12)); _local4.graphics.drawRect(7, 7, (_arg1 - 14), (_arg2 - 14)); _local4.graphics.endFill(); _local4.graphics.beginFill(_arg3, 0.3); _local4.graphics.drawRect(7, 7, (_arg1 - 14), (_arg2 - 14)); _local4.graphics.drawRect(8, 8, (_arg1 - 16), (_arg2 - 16)); _local4.graphics.endFill(); _local4.graphics.beginFill(_arg3, 0.2); _local4.graphics.drawRect(8, 8, (_arg1 - 16), (_arg2 - 16)); _local4.graphics.drawRect(9, 9, (_arg1 - 18), (_arg2 - 18)); _local4.graphics.endFill(); _local4.graphics.beginFill(_arg3, 0.1); _local4.graphics.drawRect(9, 9, (_arg1 - 18), (_arg2 - 18)); _local4.graphics.drawRect(10, 10, (_arg1 - 20), (_arg2 - 20)); _local4.graphics.endFill(); _local4.graphics.beginFill(_arg3, 0.01); _local4.graphics.drawRect(10, 10, (_arg1 - 20), (_arg2 - 20)); _local4.graphics.drawRect(11, 11, (_arg1 - 22), (_arg2 - 22)); _local4.graphics.endFill(); _local4.mouseEnabled = false; return (_local4); } public static function makeBlob(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:Number, _arg5:uint):Sprite{ var _local6:Sprite; var _local7:uint; var _local8:Number; var _local9:Number; _local6 = new Sprite(); _local7 = 0; while (_local7 < _arg5) { _local8 = ((Math.random() * _arg2) - (_arg2 * 0.5)); _local9 = ((Math.random() * _arg2) - (_arg2 * 0.5)); _local6.graphics.beginFill(_arg3, _arg4); _local6.graphics.drawCircle(_local8, _local9, _arg1); _local6.graphics.endFill(); _local7++; }; return (_local6); } public static function drawGradientBar(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:uint, _arg6:int, _arg7:int, _arg8:int):void{ var _local9:int; _arg1.graphics.clear(); _local9 = 0; while ((((_arg2 > 0)) && ((_arg3 > 0)))) { _arg1.graphics.beginFill(_slot1.colorSum(_arg5, (_arg6 * _local9), (_arg7 * _local9), (_arg8 * _local9))); _arg1.graphics.drawRoundRect(_local9, _local9, _arg2, _arg3, _arg4, _arg4); _arg1.graphics.endFill(); _arg2 = (_arg2 - 2); _arg3 = (_arg3 - 2); _local9++; }; } } }//package
Section 135
//UpgradeCostview (UpgradeCostview) package { import flash.text.*; import flash.display.*; public class UpgradeCostview extends Sprite { private var _ammoCostField:TextField; private var _medikitIcon:Sprite; private var _textFormat:TextFormat; private var _debrisIcon:Sprite; private var _upgradeDetailsField:TextField; private var _costLabel:TextField; private var _debrisCostField:TextField; private var _ammoIcon:Sprite; private var _background:Sprite; private var _medikitCostField:TextField; public static var MedikitIcon:Class = UpgradeCostview_MedikitIcon; public static var DebrisIcon:Class = UpgradeCostview_DebrisIcon; public static var AmmoIcon:Class = UpgradeCostview_AmmoIcon; public function UpgradeCostview(){ this.mouseEnabled = false; this.mouseChildren = false; this.tabEnabled = false; this.tabChildren = false; _textFormat = new TextFormat("Verdana", 10, 0xFFFFFF, true, null, null, null, null, TextFormatAlign.CENTER); _background = new Sprite(); _costLabel = new TextField(); _debrisCostField = new TextField(); _ammoCostField = new TextField(); _medikitCostField = new TextField(); _upgradeDetailsField = new TextField(); _upgradeDetailsField.defaultTextFormat = _textFormat; _upgradeDetailsField.defaultTextFormat.align = TextFormatAlign.CENTER; _upgradeDetailsField.embedFonts = true; _upgradeDetailsField.antiAliasType = AntiAliasType.ADVANCED; _costLabel.defaultTextFormat = _textFormat; _costLabel.embedFonts = true; _costLabel.antiAliasType = AntiAliasType.ADVANCED; _debrisCostField.defaultTextFormat = _textFormat; _debrisCostField.embedFonts = true; _debrisCostField.antiAliasType = AntiAliasType.ADVANCED; _ammoCostField.defaultTextFormat = _textFormat; _ammoCostField.embedFonts = true; _ammoCostField.antiAliasType = AntiAliasType.ADVANCED; _medikitCostField.defaultTextFormat = _textFormat; _medikitCostField.embedFonts = true; _medikitCostField.antiAliasType = AntiAliasType.ADVANCED; _ammoIcon = new Sprite(); _debrisIcon = new Sprite(); _medikitIcon = new Sprite(); _background.graphics.beginFill(0x440000, 0.5); _background.graphics.drawRect(0, 0, 120, 45); _background.graphics.endFill(); _ammoIcon.addChild(new AmmoIcon()); _ammoIcon.width = 7.5; _ammoIcon.height = 7.5; _debrisIcon.addChild(new DebrisIcon()); _debrisIcon.width = 15; _debrisIcon.height = 15; _medikitIcon.addChild(new MedikitIcon()); _medikitIcon.width = 7.5; _medikitIcon.height = 7.5; _upgradeDetailsField.x = 0; _upgradeDetailsField.y = -4; _upgradeDetailsField.width = 80; _upgradeDetailsField.height = 100; _ammoIcon.x = 80; _ammoIcon.y = 14; _medikitIcon.x = 80; _medikitIcon.y = 24; _debrisIcon.x = 76; _debrisIcon.y = 30; _costLabel.x = 88; _costLabel.y = -2; _costLabel.width = 30; _ammoCostField.x = 90; _ammoCostField.y = 8; _ammoCostField.width = 30; _medikitCostField.x = 90; _medikitCostField.y = 19; _medikitCostField.width = 30; _debrisCostField.x = 90; _debrisCostField.y = 30; _debrisCostField.width = 30; this.addChild(_background); _background.addChild(_costLabel); _background.addChild(_debrisCostField); _background.addChild(_ammoCostField); _background.addChild(_medikitCostField); _background.addChild(_upgradeDetailsField); _background.addChild(_ammoIcon); _background.addChild(_debrisIcon); _background.addChild(_medikitIcon); this.ShowInfo("Upgrades\nToughness\nof Debris\nto 9", 9999, 9999, 9999); _costLabel.text = "Cost:"; _costLabel.height = (_costLabel.textHeight + 2); _ammoCostField.height = (_ammoCostField.textHeight + 2); _debrisCostField.height = (_debrisCostField.textHeight + 2); _medikitCostField.height = (_medikitCostField.textHeight + 2); this.ResetUI(); } public function ResetUI():void{ _ammoIcon.visible = false; _debrisIcon.visible = false; _medikitIcon.visible = false; _costLabel.visible = false; _upgradeDetailsField.visible = false; _ammoCostField.visible = false; _debrisCostField.visible = false; _medikitCostField.visible = false; _upgradeDetailsField.text = ""; _ammoCostField.text = "0"; _debrisCostField.text = "0"; _medikitCostField.text = "0"; } public function ShowInfo(_arg1:String, _arg2:int, _arg3:int, _arg4:int):void{ _upgradeDetailsField.text = _arg1; _ammoCostField.text = _arg3.toString(); _debrisCostField.text = _arg2.toString(); _medikitCostField.text = _arg4.toString(); _ammoIcon.visible = true; _debrisIcon.visible = true; _medikitIcon.visible = true; _costLabel.visible = true; _upgradeDetailsField.visible = true; _ammoCostField.visible = true; _debrisCostField.visible = true; _medikitCostField.visible = true; } } }//package
Section 136
//UpgradeCostview_AmmoIcon (UpgradeCostview_AmmoIcon) package { import mx.core.*; public class UpgradeCostview_AmmoIcon extends BitmapAsset { } }//package
Section 137
//UpgradeCostview_DebrisIcon (UpgradeCostview_DebrisIcon) package { import mx.core.*; public class UpgradeCostview_DebrisIcon extends BitmapAsset { } }//package
Section 138
//UpgradeCostview_MedikitIcon (UpgradeCostview_MedikitIcon) package { import mx.core.*; public class UpgradeCostview_MedikitIcon extends BitmapAsset { } }//package
Section 139
//WorldGrid (WorldGrid) package { import flash.display.*; import flash.geom.*; public class WorldGrid { public var PlayField:Class; private var _gridRows:int; private var _grid:Array; private var _macroGrid:WorldGrid; private var _unitLayer:Sprite; private var _worldSprite:Sprite; private var _graphicRootObject:DisplayObjectContainer; public var _pathfindCount:int; private var _pixelsPerUnit:int; private var _debrisLayer:Sprite; public var _pathfindQueue:Array; private var _defenders:Array; private var _gridColumns:int; public function WorldGrid(_arg1:int, _arg2:int, _arg3:int, _arg4:DisplayObjectContainer, _arg5:Boolean=true){ var _local6:Bitmap; PlayField = WorldGrid_PlayField; super(); _gridColumns = _arg1; _gridRows = _arg2; _grid = new Array(); _defenders = new Array(); _pixelsPerUnit = _arg3; _graphicRootObject = _arg4; if (_arg5){ this._macroGrid = new WorldGrid((_arg1 / 2), (_arg2 / 2), (_arg3 * 2), null, false); }; if (_graphicRootObject != null){ _worldSprite = new Sprite(); _local6 = new PlayField(); _debrisLayer = new Sprite(); _unitLayer = new Sprite(); _local6.x = 10; _worldSprite.addChild(_local6); _worldSprite.addChild(_debrisLayer); _worldSprite.addChild(_unitLayer); _graphicRootObject.addChild(_worldSprite); }; _pathfindQueue = new Array(); this._resetGrid(); } public function get GridWidth():int{ return (_gridColumns); } public function pathFind(_arg1:Point, _arg2:Point, _arg3:int, _arg4:Boolean=false):Array{ var _local5:Array; var _local6:Array; var _local7:Array; var _local8:WorldGrid; var _local9:WorldTile; var _local10:WorldTile; var _local11:WorldTile; var _local12:int; var _local13:int; var _local14:int; var _local15:int; var _local16:int; var _local17:int; var _local18:int; var _local19:Array; var _local20:Boolean; var _local21:Boolean; var _local22:Boolean; var _local23:Boolean; var _local24:String; var _local25:String; var _local26:WorldTile; var _local27:WorldTile; var _local28:int; var _local29:int; var _local30:Boolean; _pathfindCount++; _local5 = new Array(); _local6 = new Array(); _local7 = new Array(); _local8 = this; _local10 = _local8.GetWorldTile(_arg1.x, _arg1.y); _local11 = _local8.GetWorldTile(_arg2.x, _arg2.y); _local9 = _local10; _local12 = 0; if (!_local11.isPassableByPassLevel(_arg3)){ return (_local5); }; while (((!((_local9 == null))) && (!((_local9 == _local11))))) { _local13 = _local9.WorldX; _local14 = (_local9.WorldX - 1); _local15 = (_local9.WorldX + 1); _local16 = _local9.WorldY; _local17 = (_local9.WorldY - 1); _local18 = (_local9.WorldY + 1); _local19 = new Array(); _local20 = (_local14 > -1); _local21 = (_local15 < _local8._gridColumns); _local22 = (_local17 > -1); _local23 = (_local18 < _local8._gridColumns); if (_local20){ if (_local22){ _local19.push(_local8.GetWorldTile(_local14, _local17)); }; _local19.push(_local8.GetWorldTile(_local14, _local16)); if (_local23){ _local19.push(_local8.GetWorldTile(_local14, _local18)); }; }; if (_local22){ _local19.push(_local8.GetWorldTile(_local13, _local17)); }; if (_local23){ _local19.push(_local8.GetWorldTile(_local13, _local18)); }; if (_local21){ if (_local22){ _local19.push(_local8.GetWorldTile(_local15, _local17)); }; _local19.push(_local8.GetWorldTile(_local15, _local16)); if (_local23){ _local19.push(_local8.GetWorldTile(_local15, _local18)); }; }; for each (_local26 in _local19) { _local24 = ((_local26.WorldX.toString() + ",") + _local26.WorldY.toString()); if (((_arg4) || (_local26.isPassableByPassLevel(_arg3)))){ if (_local7[_local24] == null){ if (_local6[_local24] != null){ if (_local26.GFrom(_local9) <= _local26.G){ _local26.ChangeParent(_local9, _local11); if ((((_local26 == _local11)) && (_local26.isOccupied))){ _local26.G = (_local26.G - 15); }; }; } else { _local26.ChangeParent(_local9, _local11); if ((((_local26 == _local11)) && (_local26.isOccupied))){ _local26.G = (_local26.G - 15); }; _local6[_local24] = _local26; }; }; }; }; _local29 = 214748364; _local27 = null; _local25 = ""; for each (_local26 in _local6) { _local28 = _local26.F; if (_local28 <= _local29){ _local29 = _local28; _local27 = _local26; _local25 = ((_local26.WorldX + ",") + _local26.WorldY); }; }; if (_local27 != null){ _local9 = _local27; _local7[_local25] = _local6[_local25]; _local6[_local25] = null; delete _local6[_local25]; } else { _local9 = null; break; }; }; _local30 = !((_local9 == null)); if (_local30){ while (_local9 != _local10) { _local5.push(new Point(_local9.WorldX, _local9.WorldY)); _local9 = _local9.ParentTile; }; }; return (_local5); } public function SetEngineObjectDestination(_arg1:EngineObject, _arg2:int, _arg3:int):Boolean{ var _local4:Boolean; var _local5:WorldTile; var _local6:WorldTile; var _local7:WorldTile; var _local8:WorldTile; _local4 = false; _local5 = (_grid[_arg1.EngineX][_arg1.EngineY] as WorldTile); _local6 = (_grid[_arg2][_arg3] as WorldTile); if (((!(_local6.isOccupied)) && (_local6.isPassableByObject(_arg1)))){ _local7 = this.GetMacroTileAtPoint(_arg1.EngineX, _arg1.EngineY); _local8 = this.GetMacroTileAtPoint(_arg2, _arg3); if (_local7 != _local8){ _local7.MacroOccupiedCount--; _local8.MacroOccupiedCount++; }; _arg1.EngineX = _arg2; _arg1.EngineY = _arg3; _local5.Occupant = null; _local6.Occupant = _arg1; _local4 = true; }; return (_local4); } public function SetRectangleScroungable(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Boolean, _arg6:Number, _arg7:Number, _arg8:Number):void{ var _local9:int; var _local10:int; var _local11:int; var _local12:int; _local9 = (_arg1 + _arg3); _local10 = (_arg2 + _arg4); _local11 = _arg2; while (_local11 < _local10) { _local12 = _arg1; while (_local12 < _local9) { this.SetTileScroungable(_local12, _local11, _arg5, _arg6, _arg7, _arg8); _local12++; }; _local11++; }; } public function InsertEngineObject(_arg1:EngineObject):Boolean{ var _local2:Boolean; var _local3:WorldTile; _local2 = false; _local3 = (_grid[_arg1.EngineX][_arg1.EngineY] as WorldTile); if (((!(_local3.isOccupied)) && (_local3.isPassableByObject(_arg1)))){ _local3.Occupant = _arg1; if ((((_arg1 is Defender)) && ((this._defenders.indexOf(_arg1) == -1)))){ this._defenders.push(_arg1); }; _local3.Occupant.x = ((_local3.Occupant.EngineX * this._pixelsPerUnit) + (this._pixelsPerUnit * 0.5)); _local3.Occupant.y = ((_local3.Occupant.EngineY * this._pixelsPerUnit) + (this._pixelsPerUnit * 0.5)); if ((_arg1 is Debris)){ this._debrisLayer.addChild(_local3.Occupant); } else { this._unitLayer.addChild(_local3.Occupant); }; _local2 = true; }; return (_local2); } public function cacheAsBitmap(_arg1:Boolean):void{ this._worldSprite.cacheAsBitmap = _arg1; } public function GetEngineObjectAtPoint(_arg1:int, _arg2:int, _arg3:int=3):EngineObject{ var _local4:EngineObject; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; _local4 = (_grid[_arg1][_arg2] as WorldTile).Occupant; if ((((_local4 == null)) && (!((_arg3 == 0))))){ _local5 = (_arg1 - _arg3); _local6 = (_arg1 + _arg3); _local7 = (_arg2 - _arg3); _local8 = (_arg2 + _arg3); if (_local5 < 0){ _local5 = 0; }; if (_local6 >= _gridColumns){ _local6 = (_gridColumns - 1); }; if (_local7 < 0){ _local7 = 0; }; if (_local8 >= _gridRows){ _local8 = (_gridRows - 1); }; _local9 = _local5; while (_local9 <= _local6) { _local10 = _local7; while (_local10 <= _local8) { _local4 = (_grid[_local9][_local10] as WorldTile).Occupant; if (_local4 != null){ return (_local4); }; _local10++; }; _local9++; }; }; return (_local4); } public function GetAllEngineObjectsOfTypeInArea(_arg1:Class, _arg2:int, _arg3:int, _arg4:Number):Array{ var _local5:Array; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:EngineObject; _local5 = new Array(); if ((_arg1 is Defender)){ _local6 = 0; while (_local6 < _defenders.length) { if (Geometry.GetDistanceToPoint(_arg2, _arg3, _defenders[_local6].EngineX, _defenders[_local6].EngineY) <= _arg4){ _local5.push(_defenders[_local6]); }; _local6++; }; } else { _local7 = (_arg2 - _arg4); _local8 = (_arg2 + _arg4); _local9 = (_arg3 - _arg4); _local10 = (_arg3 + _arg4); if (_local7 < 0){ _local7 = 0; }; if (_local8 >= _gridColumns){ _local8 = (_gridColumns - 1); }; if (_local9 < 0){ _local9 = 0; }; if (_local10 >= _gridRows){ _local10 = (_gridRows - 1); }; _local11 = _local7; while (_local11 <= _local8) { _local12 = _local9; while (_local12 <= _local10) { if (Math.sqrt((((_local11 - _arg2) * (_local11 - _arg2)) + ((_local12 - _arg3) * (_local12 - _arg3)))) > _arg4){ } else { _local13 = (_grid[_local11][_local12] as WorldTile).Occupant; if (((!((_local13 == null))) && ((_local13 is _arg1)))){ _local5.push(_local13); }; }; _local12++; }; _local11++; }; }; return (_local5); } public function SetRectanglePassLevel(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int):void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; _local6 = (_arg1 + _arg3); _local7 = (_arg2 + _arg4); _local8 = _arg2; while (_local8 < _local7) { _local9 = _arg1; while (_local9 < _local6) { this.SetTilePassLevel(_local9, _local8, _arg5); _local9++; }; _local8++; }; } public function get GridHeight():int{ return (_gridRows); } public function _resetGrid():void{ var _local1:int; var _local2:int; _grid.clear; _local1 = 0; while (_local1 < _gridColumns) { _grid.push(new Array()); _local2 = 0; while (_local2 < _gridRows) { _grid[_local1].push(new WorldTile(this, _local1, _local2)); _local2++; }; _local1++; }; } public function AddToPathFindQueue(_arg1:MobileObject):void{ if (_arg1.WaitingForPath){ } else { _arg1.WaitingForPath = true; if ((_arg1 is Defender)){ _pathfindQueue.unshift(_arg1); } else { _pathfindQueue.push(_arg1); }; }; } public function GetAllEngineObjectsOfType(_arg1:Class):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:EngineObject; _local2 = new Array(); _local3 = 0; while (_local3 < _gridColumns) { _local4 = 0; while (_local4 < _gridRows) { _local5 = (_grid[_local3][_local4] as WorldTile).Occupant; if (((!((_local5 == null))) && ((_local5 is _arg1)))){ _local2.push(_local5); }; _local4++; }; _local3++; }; return (_local2); } public function get PixelsPerUnit():int{ return (_pixelsPerUnit); } public function GlobalPixelToEngine(_arg1:Point):Point{ var _local2:Point; _local2 = this._worldSprite.globalToLocal(_arg1); return (this.LocalPixelToEngine(_local2)); } public function GetTileOccupied(_arg1:int, _arg2:int):Boolean{ return ((_grid[_arg1][_arg2] as WorldTile).isOccupied); } public function SetTilePassLevel(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:WorldTile; var _local5:uint; var _local6:WorldTile; _local4 = _grid[_arg1][_arg2]; if (_local4.PassLevel != _arg3){ _local4.PassLevel = _arg3; _local6 = this.GetMacroTileAtPoint(_arg1, _arg2); if (_arg3 == 0){ _local5 = 0xFFFFFF; if (_local6 != null){ _local6.MacroOccupiedCount--; if (_local6.MacroOccupiedCount <= 1){ _local6.PassLevel = _arg3; }; }; } else { _local5 = 0x100000; if (_local6 != null){ _local6.MacroOccupiedCount++; if (_local6.MacroOccupiedCount > 1){ _local6.PassLevel = _arg3; }; }; }; }; } public function ProcessPathfindQueue(_arg1:int=5):void{ var _local2:MobileObject; var _local3:Number; var _local4:int; var _local5:Point; _local3 = 0; while ((((_local3 < _arg1)) && ((_pathfindQueue.length > 0)))) { _local2 = (_pathfindQueue.shift() as MobileObject); if (((_local2.WaitingForPath) && (!((_local2.MoveTarget == null))))){ if (_local2.stuckCounter > 0){ if (_local2.MovePath.length > 3){ _local4 = (_local2.MovePath.length - 3); _local2.MovePath.splice(_local4, 3); _local5 = _local2.MovePath.pop(); if (_local5 != null){ _local2.MovePath = _local2.MovePath.concat(this.pathFind(new Point(_local2.EngineX, _local2.EngineY), _local5, _local2.PassLevel, false)); }; _local2.WaitingForPath = false; _local3 = (_local3 + 0.3); } else { _local2.MovePath = this.pathFind(new Point(_local2.EngineX, _local2.EngineY), _local2.MoveTarget, _local2.PassLevel, false); _local2.WaitingForPath = false; _local3 = (_local3 + 0.3); }; _local2.stuckCounter = 0; _local2.regenStuckCount++; } else { _local2.MovePath = this.pathFind(new Point(_local2.EngineX, _local2.EngineY), _local2.MoveTarget, _local2.PassLevel, false); _local2.WaitingForPath = false; _local3 = (_local3 + 1); }; }; }; } public function LocalPixelToEngine(_arg1:Point):Point{ var _local2:Point; var _local3:int; var _local4:int; _local2 = _arg1; _local3 = (_local2.x / this._pixelsPerUnit); _local4 = (_local2.y / this._pixelsPerUnit); if (_local3 >= this._gridColumns){ _local3 = (this._gridColumns - 1); }; if (_local4 >= this._gridRows){ _local4 = (this._gridRows - 1); }; _local2.x = _local3; _local2.y = _local4; return (_local2); } public function GetTileMacroOccupiedCount(_arg1:int, _arg2:int):int{ return ((_grid[_arg1][_arg2] as WorldTile).MacroOccupiedCount); } public function GetTilePassableByPassLevel(_arg1:int, _arg2:int, _arg3:int):Boolean{ return ((_grid[_arg1][_arg2] as WorldTile).isPassableByPassLevel(_arg3)); } public function GetTilePassLevel(_arg1:int, _arg2:int):int{ return ((_grid[_arg1][_arg2] as WorldTile).PassLevel); } private function sortOnF(_arg1:WorldTile, _arg2:WorldTile):int{ if (_arg1.F > _arg2.F){ return (1); }; if (_arg1.F < _arg2.F){ return (-1); }; return (0); } public function pathFindMacroGrid(_arg1:Point, _arg2:Point, _arg3:int):Array{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:Array; var _local9:int; var _local10:Point; var _local11:int; var _local12:int; var _local13:Boolean; var _local14:int; var _local15:int; _local4 = (_arg1.x / 2); _local5 = (_arg1.y / 2); _local6 = (_arg2.x / 2); _local7 = (_arg2.y / 2); _local8 = this._macroGrid.pathFind(new Point(_local4, _local5), new Point(_local6, _local7), _arg3); _local9 = 0; while (_local9 < _local8.length) { _local11 = (_local8[_local9].x * 2); _local12 = (_local8[_local9].y * 2); _local13 = false; _local14 = _local12; while ((((_local14 < (_local12 + 2))) && (!(_local13)))) { _local15 = _local11; while ((((_local15 < (_local11 + 2))) && (!(_local13)))) { if (((!(this.GetTileOccupied(_local15, _local14))) && (this.GetTilePassableByPassLevel(_local15, _local14, _arg3)))){ _local8[_local9] = new Point(_local15, _local14); _local13 = true; }; _local15++; }; _local14++; }; _local9++; }; return (_local8); } public function GetWorldTile(_arg1:int, _arg2:int):WorldTile{ return ((_grid[_arg1][_arg2] as WorldTile)); } public function EngineToLocalPixel(_arg1:Point):Point{ var _local2:Point; _local2 = new Point(); _local2.x = ((_arg1.x * this._pixelsPerUnit) + (this._pixelsPerUnit * 0.5)); _local2.y = ((_arg1.y * this._pixelsPerUnit) + (this._pixelsPerUnit * 0.5)); return (_local2); } public function get Defenders():Array{ return (_defenders); } public function GetClosestEngineObjectOfType(_arg1:Class, _arg2:int, _arg3:int, _arg4:Number):EngineObject{ var _local5:EngineObject; var _local6:Array; var _local7:int; var _local8:int; var _local9:int; var _local10:Number; _local6 = GetAllEngineObjectsOfTypeInArea(_arg1, _arg2, _arg3, _arg4); _local7 = 999999; _local8 = _local6.length; _local9 = 0; while (_local9 < _local8) { _local10 = Geometry.DistanceOfVector((_arg2 - _local6[_local9].EngineX), (_arg3 - _local6[_local9].EngineY)); if (_local10 < _local7){ _local7 = _local10; _local5 = _local6[_local9]; }; _local9++; }; return (_local5); } public function RemoveEngineObject(_arg1:EngineObject):Boolean{ var _local2:Boolean; var _local3:WorldTile; var _local4:int; _local2 = false; _local3 = (_grid[_arg1.EngineX][_arg1.EngineY] as WorldTile); if (((_local3.isOccupied) && ((_local3.Occupant == _arg1)))){ if ((_arg1 is Debris)){ this._debrisLayer.removeChild(_local3.Occupant); } else { this._unitLayer.removeChild(_local3.Occupant); }; _local3.Occupant = null; _arg1.ParentGrid = null; if ((((_arg1 is Defender)) && (!((this._defenders.indexOf(_arg1) == -1))))){ this._defenders.splice(_local4, 1); }; _local2 = true; }; return (_local2); } public function GetRectanglePassable(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int):Boolean{ var _local6:Boolean; var _local7:int; var _local8:int; var _local9:int; var _local10:int; _local6 = true; _local7 = (_arg1 + _arg3); _local8 = (_arg2 + _arg4); _local9 = _arg2; while (_local9 < _local8) { _local10 = _arg1; while (_local10 < _local7) { if (!(_grid[_local10][_local9] as WorldTile).isPassableByPassLevel(_arg5)){ return (false); }; _local10++; }; _local9++; }; return (_local6); } public function EngineToGlobalPixel(_arg1:Point):Point{ return (this._worldSprite.localToGlobal(this.EngineToLocalPixel(_arg1))); } public function GetAllEngineObjectsOfTypeInRectangle(_arg1:Class, _arg2:int, _arg3:int, _arg4:int, _arg5:int):Array{ var _local6:Array; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:EngineObject; _local6 = new Array(); _local7 = _arg2; _local8 = (_arg2 + _arg4); _local9 = _arg3; _local10 = (_arg3 + _arg5); if (_local7 < 0){ _local7 = 0; }; if (_local8 > _gridColumns){ _local8 = _gridColumns; }; if (_local9 < 0){ _local9 = 0; }; if (_local10 > _gridRows){ _local10 = _gridRows; }; _local11 = _local7; while (_local11 < _local8) { _local12 = _local9; while (_local12 < _local10) { _local13 = (_grid[_local11][_local12] as WorldTile).Occupant; if (((!((_local13 == null))) && ((_local13 is _arg1)))){ _local6.push(_local13); }; _local12++; }; _local11++; }; return (_local6); } public function GetMacroTileAtPoint(_arg1:int, _arg2:int):WorldTile{ var _local3:int; var _local4:int; var _local5:WorldTile; _local3 = (_arg1 / 2); _local4 = (_arg2 / 2); _local5 = null; if (this._macroGrid != null){ _local5 = _macroGrid.GetWorldTile(_local3, _local4); }; return (_local5); } public function SetTileScroungable(_arg1:int, _arg2:int, _arg3:Boolean, _arg4:Number, _arg5:Number, _arg6:Number):void{ var _local7:WorldTile; _local7 = _grid[_arg1][_arg2]; _local7.isScroungable = _arg3; _local7.ScroungeAmmoValue = _arg4; _local7.ScroungeDebrisValue = _arg6; _local7.ScroungeMedikitValue = _arg5; if (_arg3){ }; } public function GetNextWorldTileInDirection(_arg1:int, _arg2:int, _arg3:Number):WorldTile{ var _local4:int; var _local5:int; _local4 = _arg1; _local5 = _arg2; return (GetWorldTile(_local4, _local5)); } public function GetTileScroungable(_arg1:int, _arg2:int):Boolean{ return ((_grid[_arg1][_arg2] as WorldTile).isScroungable); } } }//package
Section 140
//WorldGrid_PlayField (WorldGrid_PlayField) package { import mx.core.*; public class WorldGrid_PlayField extends BitmapAsset { } }//package
Section 141
//WorldTile (WorldTile) package { public class WorldTile { private var _isScroungable:Boolean; private var _isOccupied:Boolean; private var _occupant:EngineObject; private var _parentTile:WorldTile; private var _worldX:int; private var _parentGrid:WorldGrid; private var _worldY:int; private var _ScroungeMedikitValue:Number; private var _ScroungeAmmoValue:Number; private var _macroOccupiedCount:int; private var _H:int; private var _G:int; private var _F:int; private var _ScroungeDebrisValue:Number; private var _passLevel:int; public function WorldTile(_arg1:WorldGrid, _arg2:int, _arg3:int){ _parentGrid = _arg1; this._worldX = _arg2; this._worldY = _arg3; this.PassLevel = 0; this._macroOccupiedCount = 0; } public function set MacroOccupiedCount(_arg1:int):void{ _macroOccupiedCount = _arg1; } public function set F(_arg1:int):void{ _F = _arg1; } public function set G(_arg1:int):void{ _G = _arg1; } public function set H(_arg1:int):void{ _H = _arg1; } public function GFrom(_arg1:WorldTile):int{ var _local2:int; var _local3:int; var _local4:int; _local2 = _arg1.G; _local3 = Math.abs((_arg1.WorldX - _worldX)); _local4 = Math.abs((_arg1.WorldY - _worldY)); if (_local3 != _local4){ _local2 = (_local2 + 10); } else { _local2 = (_local2 + 14); }; if (this.isOccupied){ _local2 = (_local2 + 15); }; return (_local2); } public function get isScroungable():Boolean{ return (_isScroungable); } public function ChangeParent(_arg1:WorldTile, _arg2:WorldTile):void{ _parentTile = _arg1; _G = GFrom(_arg1); _H = ((Math.abs((_arg2.WorldX - _worldX)) + Math.abs((_arg2.WorldY - _worldY))) * 10); _F = (_G + _H); } public function get ParentTile():WorldTile{ return (_parentTile); } public function set isScroungable(_arg1:Boolean):void{ _isScroungable = _arg1; } public function set PassLevel(_arg1:int):void{ _passLevel = _arg1; } public function get WorldY():int{ return (_worldY); } public function get WorldX():int{ return (_worldX); } public function get ScroungeDebrisValue():Number{ return (_ScroungeDebrisValue); } public function set Occupant(_arg1:EngineObject):void{ _occupant = _arg1; _isOccupied = !((_occupant == null)); if (_isOccupied){ _occupant.EngineX = _worldX; _occupant.EngineY = _worldY; _occupant.ParentGrid = this._parentGrid; }; } public function set ScroungeMedikitValue(_arg1:Number):void{ _ScroungeMedikitValue = _arg1; } public function get MacroOccupiedCount():int{ return (_macroOccupiedCount); } public function get F():int{ return (_F); } public function get G():int{ return (_G); } public function get H():int{ return (_H); } public function isPassableByObject(_arg1:EngineObject):Boolean{ return (isPassableByPassLevel(_arg1.PassLevel)); } public function set WorldX(_arg1:int):void{ _worldX = _arg1; } public function set WorldY(_arg1:int):void{ _worldY = _arg1; } public function set isOccupied(_arg1:Boolean):void{ _isOccupied = _arg1; } public function get PassLevel():int{ return (_passLevel); } public function get ScroungeAmmoValue():Number{ return (_ScroungeAmmoValue); } public function get ScroungeMedikitValue():Number{ return (_ScroungeMedikitValue); } public function get Occupant():EngineObject{ return (_occupant); } public function set ScroungeDebrisValue(_arg1:Number):void{ _ScroungeDebrisValue = _arg1; } public function isPassableByPassLevel(_arg1:int):Boolean{ return ((_arg1 >= PassLevel)); } public function get isOccupied():Boolean{ return (_isOccupied); } public function set ScroungeAmmoValue(_arg1:Number):void{ _ScroungeAmmoValue = _arg1; } } }//package
Section 142
//Zombie (Zombie) package { import flash.display.*; import flash.geom.*; import flash.media.*; public class Zombie extends SelectableObject { public var currentAnimation:AnimatedSpriteBuffer; public static var ZombiePortrait:Class = Zombie_ZombiePortrait; public static var ZombieIdle0:Class = Zombie_ZombieIdle0; public static var idleFrame0:Bitmap = new Zombie.ZombieIdle0(); public static var ZombieDamaged0:Class = Zombie_ZombieDamaged0; public static var ZombieDamaged1:Class = Zombie_ZombieDamaged1; public static var ZombieDamaged2:Class = Zombie_ZombieDamaged2; public static var ZombieDamaged3:Class = Zombie_ZombieDamaged3; public static var ZombieDamaged4:Class = Zombie_ZombieDamaged4; public static var ZombieAttackSound:Class = Zombie_ZombieAttackSound; public static var moveFrame1:Bitmap = new Zombie.ZombieMove1(); public static var moveFrame3:Bitmap = new Zombie.ZombieMove3(); public static var moveFrame4:Bitmap = new Zombie.ZombieMove4(); public static var moveFrame5:Bitmap = new Zombie.ZombieMove5(); public static var moveFrame6:Bitmap = new Zombie.ZombieMove6(); public static var moveFrame0:Bitmap = new Zombie.ZombieMove0(); public static var moveFrame8:Bitmap = new Zombie.ZombieMove8(); public static var moveFrame2:Bitmap = new Zombie.ZombieMove2(); public static var moveFrame9:Bitmap = new Zombie.ZombieMove9(); public static var damagedFrame0:Bitmap = new Zombie.ZombieDamaged0(); public static var damagedFrame2:Bitmap = new Zombie.ZombieDamaged2(); public static var moveFrame7:Bitmap = new Zombie.ZombieMove7(); public static var damagedFrame1:Bitmap = new Zombie.ZombieDamaged1(); public static var damagedFrame3:Bitmap = new Zombie.ZombieDamaged3(); public static var ZombieAttack1:Class = Zombie_ZombieAttack1; public static var ZombieAttack3:Class = Zombie_ZombieAttack3; public static var ZombieAttack4:Class = Zombie_ZombieAttack4; public static var ZombieAttack5:Class = Zombie_ZombieAttack5; public static var ZombieAttack6:Class = Zombie_ZombieAttack6; public static var ZombieAttack7:Class = Zombie_ZombieAttack7; public static var ZombieAttack8:Class = Zombie_ZombieAttack8; public static var ZombieAttack2:Class = Zombie_ZombieAttack2; public static var attackFrame1:Bitmap = new Zombie.ZombieAttack1(); public static var attackFrame3:Bitmap = new Zombie.ZombieAttack3(); public static var ZombieAttack0:Class = Zombie_ZombieAttack0; public static var ZombieAttack9:Class = Zombie_ZombieAttack9; public static var attackFrame2:Bitmap = new Zombie.ZombieAttack2(); public static var damagedFrame4:Bitmap = new Zombie.ZombieDamaged4(); public static var attackFrame4:Bitmap = new Zombie.ZombieAttack4(); public static var attackFrame5:Bitmap = new Zombie.ZombieAttack5(); public static var attackFrame6:Bitmap = new Zombie.ZombieAttack6(); public static var ZombieMove0:Class = Zombie_ZombieMove0; public static var ZombieMove1:Class = Zombie_ZombieMove1; public static var ZombieMove2:Class = Zombie_ZombieMove2; public static var ZombieMove3:Class = Zombie_ZombieMove3; public static var ZombieMove4:Class = Zombie_ZombieMove4; public static var ZombieMove5:Class = Zombie_ZombieMove5; public static var ZombieMove6:Class = Zombie_ZombieMove6; public static var ZombieMove7:Class = Zombie_ZombieMove7; public static var ZombieMove8:Class = Zombie_ZombieMove8; public static var ZombieMove9:Class = Zombie_ZombieMove9; public static var attackFrame0:Bitmap = new Zombie.ZombieAttack0(); public static var _attackSound:Sound = new ZombieAttackSound(); public static var attackFrame7:Bitmap = new Zombie.ZombieAttack7(); public static var attackFrame8:Bitmap = new Zombie.ZombieAttack8(); public static var attackFrame9:Bitmap = new Zombie.ZombieAttack9(); public function Zombie(){ var _local1:int; var _local2:int; var _local3:Array; var _local4:AnimatedSprite; var _local5:Array; var _local6:AnimatedSprite; var _local7:Array; var _local8:AnimatedSprite; var _local9:Array; var _local10:AnimatedSprite; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local1 = 36; _local2 = 36; _local3 = new Array(); _local3.push(new Bitmap(moveFrame0.bitmapData)); _local3.push(new Bitmap(moveFrame1.bitmapData)); _local3.push(new Bitmap(moveFrame2.bitmapData)); _local3.push(new Bitmap(moveFrame3.bitmapData)); _local3.push(new Bitmap(moveFrame4.bitmapData)); _local3.push(new Bitmap(moveFrame5.bitmapData)); _local3.push(new Bitmap(moveFrame6.bitmapData)); _local3.push(new Bitmap(moveFrame7.bitmapData)); _local3.push(new Bitmap(moveFrame8.bitmapData)); _local3.push(new Bitmap(moveFrame9.bitmapData)); _local4 = new AnimatedSprite(_local3); _local4.Width = _local1; _local4.Height = _local2; _local4.X = (-(_local1) / 2); _local4.Y = (-(_local2) / 2); _local5 = new Array(); _local5.push(new Bitmap(attackFrame0.bitmapData)); _local5.push(new Bitmap(attackFrame1.bitmapData)); _local5.push(new Bitmap(attackFrame2.bitmapData)); _local5.push(new Bitmap(attackFrame3.bitmapData)); _local5.push(new Bitmap(attackFrame4.bitmapData)); _local5.push(new Bitmap(attackFrame5.bitmapData)); _local5.push(new Bitmap(attackFrame6.bitmapData)); _local5.push(new Bitmap(attackFrame7.bitmapData)); _local5.push(new Bitmap(attackFrame8.bitmapData)); _local5.push(new Bitmap(attackFrame9.bitmapData)); _local6 = new AnimatedSprite(_local5); _local6.Width = _local1; _local6.Height = _local2; _local6.X = (-(_local1) / 2); _local6.Y = (-(_local2) / 2); _local7 = new Array(); _local7.push(new Bitmap(idleFrame0.bitmapData)); _local8 = new AnimatedSprite(_local7); _local8.Width = _local1; _local8.Height = _local2; _local8.X = (-(_local1) / 2); _local8.Y = (-(_local2) / 2); _local9 = new Array(); _local9.push(new Bitmap(damagedFrame0.bitmapData)); _local9.push(new Bitmap(damagedFrame1.bitmapData)); _local9.push(new Bitmap(damagedFrame2.bitmapData)); _local9.push(new Bitmap(damagedFrame3.bitmapData)); _local9.push(new Bitmap(damagedFrame4.bitmapData)); _local10 = new AnimatedSprite(_local9); _local10.Width = _local1; _local10.Height = _local2; _local10.X = (-(_local1) / 2); _local10.Y = (-(_local2) / 2); currentAnimation = new AnimatedSpriteBuffer(_local8, _local6, _local4, _local10, null); _local11 = 1; _local12 = 0.5; _local13 = 1; _local14 = 30; currentAnimation.SetNextFrameBuffer(currentAnimation.IdleSprite, true); super(currentAnimation, _local11, _local12, 250, 16, _local13, _local14, new Zombie.ZombiePortrait(), 1); } public function isAggressive():Boolean{ return ((_targetPrimary == null)); } override public function AttackEvent():void{ var _local1:KillableObject; this._attackedThisTick = false; _attackCounter++; if (_attackCounter >= attackSpeed){ if (!AttackPrimaryTarget()){ _attackCounter = attackSpeed; _local1 = _targetPrimary; this.TargetNearestPrimary(Engine.Instance().GetWorldGrid().Defenders); if (((!((_targetPrimary == null))) && (!((_local1 == _targetPrimary))))){ this._moveTarget = new Point(_targetPrimary.EngineX, _targetPrimary.EngineY); this._movePath = new Array(); }; if ((((_stuckCounter >= 2)) || (((!((_targetPrimary == null))) && ((DistanceToTarget(_targetPrimary) > _attackRange)))))){ _targetSecondary = (Engine.Instance().GetWorldGrid().GetClosestEngineObjectOfType(Debris, EngineX, EngineY, (_attackRange / this.ParentGrid.PixelsPerUnit)) as KillableObject); if (AttackSecondaryTarget()){ _attackCounter = 0; Zombie._attackSound.play(0, 0, BrunchOfTheDead._globalSoundTransform); } else { _attackCounter = attackSpeed; }; }; } else { _attackCounter = 0; Zombie._attackSound.play(0, 0, BrunchOfTheDead._globalSoundTransform); }; }; } override public function MoveEvent():void{ var _local1:int; var _local2:int; if (_stuckCounter > 10){ if (this._regenStuckCount > 10){ this.regenStuckCount = 0; this.ClearMoveTarget(); } else { this.GeneratePath(this._moveTarget); return; }; }; if (_targetPrimary != null){ if (_movePath.length == 0){ this.GeneratePath(new Point(_targetPrimary.EngineX, _targetPrimary.EngineY)); }; } else { if (_movePath.length == 0){ _local1 = ((Math.random() * 51) + 6); _local2 = ((Math.random() * 38) + 6); while (!(ParentGrid.GetTilePassableByPassLevel(_local1, _local2, this.PassLevel))) { _local1 = ((Math.random() * 24) + 20); _local2 = ((Math.random() * 24) + 20); }; this.GeneratePath(new Point(_local1, _local2)); }; }; super.MoveEvent(); } } }//package
Section 143
//Zombie_ZombieAttack0 (Zombie_ZombieAttack0) package { import mx.core.*; public class Zombie_ZombieAttack0 extends BitmapAsset { } }//package
Section 144
//Zombie_ZombieAttack1 (Zombie_ZombieAttack1) package { import mx.core.*; public class Zombie_ZombieAttack1 extends BitmapAsset { } }//package
Section 145
//Zombie_ZombieAttack2 (Zombie_ZombieAttack2) package { import mx.core.*; public class Zombie_ZombieAttack2 extends BitmapAsset { } }//package
Section 146
//Zombie_ZombieAttack3 (Zombie_ZombieAttack3) package { import mx.core.*; public class Zombie_ZombieAttack3 extends BitmapAsset { } }//package
Section 147
//Zombie_ZombieAttack4 (Zombie_ZombieAttack4) package { import mx.core.*; public class Zombie_ZombieAttack4 extends BitmapAsset { } }//package
Section 148
//Zombie_ZombieAttack5 (Zombie_ZombieAttack5) package { import mx.core.*; public class Zombie_ZombieAttack5 extends BitmapAsset { } }//package
Section 149
//Zombie_ZombieAttack6 (Zombie_ZombieAttack6) package { import mx.core.*; public class Zombie_ZombieAttack6 extends BitmapAsset { } }//package
Section 150
//Zombie_ZombieAttack7 (Zombie_ZombieAttack7) package { import mx.core.*; public class Zombie_ZombieAttack7 extends BitmapAsset { } }//package
Section 151
//Zombie_ZombieAttack8 (Zombie_ZombieAttack8) package { import mx.core.*; public class Zombie_ZombieAttack8 extends BitmapAsset { } }//package
Section 152
//Zombie_ZombieAttack9 (Zombie_ZombieAttack9) package { import mx.core.*; public class Zombie_ZombieAttack9 extends BitmapAsset { } }//package
Section 153
//Zombie_ZombieAttackSound (Zombie_ZombieAttackSound) package { import mx.core.*; public class Zombie_ZombieAttackSound extends SoundAsset { } }//package
Section 154
//Zombie_ZombieDamaged0 (Zombie_ZombieDamaged0) package { import mx.core.*; public class Zombie_ZombieDamaged0 extends BitmapAsset { } }//package
Section 155
//Zombie_ZombieDamaged1 (Zombie_ZombieDamaged1) package { import mx.core.*; public class Zombie_ZombieDamaged1 extends BitmapAsset { } }//package
Section 156
//Zombie_ZombieDamaged2 (Zombie_ZombieDamaged2) package { import mx.core.*; public class Zombie_ZombieDamaged2 extends BitmapAsset { } }//package
Section 157
//Zombie_ZombieDamaged3 (Zombie_ZombieDamaged3) package { import mx.core.*; public class Zombie_ZombieDamaged3 extends BitmapAsset { } }//package
Section 158
//Zombie_ZombieDamaged4 (Zombie_ZombieDamaged4) package { import mx.core.*; public class Zombie_ZombieDamaged4 extends BitmapAsset { } }//package
Section 159
//Zombie_ZombieIdle0 (Zombie_ZombieIdle0) package { import mx.core.*; public class Zombie_ZombieIdle0 extends BitmapAsset { } }//package
Section 160
//Zombie_ZombieMove0 (Zombie_ZombieMove0) package { import mx.core.*; public class Zombie_ZombieMove0 extends BitmapAsset { } }//package
Section 161
//Zombie_ZombieMove1 (Zombie_ZombieMove1) package { import mx.core.*; public class Zombie_ZombieMove1 extends BitmapAsset { } }//package
Section 162
//Zombie_ZombieMove2 (Zombie_ZombieMove2) package { import mx.core.*; public class Zombie_ZombieMove2 extends BitmapAsset { } }//package
Section 163
//Zombie_ZombieMove3 (Zombie_ZombieMove3) package { import mx.core.*; public class Zombie_ZombieMove3 extends BitmapAsset { } }//package
Section 164
//Zombie_ZombieMove4 (Zombie_ZombieMove4) package { import mx.core.*; public class Zombie_ZombieMove4 extends BitmapAsset { } }//package
Section 165
//Zombie_ZombieMove5 (Zombie_ZombieMove5) package { import mx.core.*; public class Zombie_ZombieMove5 extends BitmapAsset { } }//package
Section 166
//Zombie_ZombieMove6 (Zombie_ZombieMove6) package { import mx.core.*; public class Zombie_ZombieMove6 extends BitmapAsset { } }//package
Section 167
//Zombie_ZombieMove7 (Zombie_ZombieMove7) package { import mx.core.*; public class Zombie_ZombieMove7 extends BitmapAsset { } }//package
Section 168
//Zombie_ZombieMove8 (Zombie_ZombieMove8) package { import mx.core.*; public class Zombie_ZombieMove8 extends BitmapAsset { } }//package
Section 169
//Zombie_ZombieMove9 (Zombie_ZombieMove9) package { import mx.core.*; public class Zombie_ZombieMove9 extends BitmapAsset { } }//package
Section 170
//Zombie_ZombiePortrait (Zombie_ZombiePortrait) package { import mx.core.*; public class Zombie_ZombiePortrait extends BitmapAsset { } }//package

Library Items

Symbol 1 Font {Preloader__verdanaEmbed} [Preloader__verdanaEmbed]
Symbol 2 Font {Preloader__chillerEmbed} [Preloader__chillerEmbed]
Symbol 3 GraphicUsed by:31
Symbol 4 BitmapUsed by:5
Symbol 5 GraphicUses:4Used by:6
Symbol 6 MovieClipUses:5Used by:31
Symbol 7 FontUsed by:8 20 21
Symbol 8 TextUses:7Used by:9
Symbol 9 MovieClipUses:8Used by:31
Symbol 10 GraphicUsed by:17
Symbol 11 FontUsed by:12 14 16
Symbol 12 TextUses:11Used by:17
Symbol 13 GraphicUsed by:17
Symbol 14 TextUses:11Used by:17
Symbol 15 GraphicUsed by:17
Symbol 16 TextUses:11Used by:17
Symbol 17 ButtonUses:10 12 13 14 15 16Used by:31
Symbol 18 FontUsed by:19 23 25 27 29
Symbol 19 TextUses:18Used by:22
Symbol 20 TextUses:7Used by:22
Symbol 21 TextUses:7Used by:22
Symbol 22 ButtonUses:19 20 21Used by:31
Symbol 23 TextUses:18Used by:24
Symbol 24 MovieClipUses:23Used by:31
Symbol 25 TextUses:18Used by:26
Symbol 26 MovieClipUses:25Used by:31
Symbol 27 TextUses:18Used by:28
Symbol 28 MovieClipUses:27Used by:31
Symbol 29 TextUses:18Used by:30
Symbol 30 MovieClipUses:29Used by:31
Symbol 31 MovieClip {HMGSplashScreen} [HMGSplashScreen]Uses:3 6 9 17 22 24 26 28 30
Symbol 32 Sound {Heartbeat} [Heartbeat]
Symbol 33 Sound {Slam} [Slam]
Symbol 34 Bitmap {SoundButton_ButtonBaseDown} [SoundButton_ButtonBaseDown]
Symbol 35 Bitmap {SoundButton_ButtonBaseOver} [SoundButton_ButtonBaseOver]
Symbol 36 Sound {SoundButton_BaseClickSound} [SoundButton_BaseClickSound]
Symbol 37 Bitmap {SoundButton_ButtonBaseUp} [SoundButton_ButtonBaseUp]
Symbol 38 Sound {SoundButton_SharpClickSound} [SoundButton_SharpClickSound]
Symbol 39 Sound {BrunchOfTheDead_MolotovSound} [BrunchOfTheDead_MolotovSound]
Symbol 40 Bitmap {BrunchOfTheDead_UIFrame} [BrunchOfTheDead_UIFrame]
Symbol 41 Bitmap {SelectedView_UpgradeArrow} [SelectedView_UpgradeArrow]
Symbol 42 Bitmap {WorldGrid_PlayField} [WorldGrid_PlayField]
Symbol 43 Bitmap {InventoryView_MedikitIcon} [InventoryView_MedikitIcon]
Symbol 44 Bitmap {InventoryView_AmmoIcon} [InventoryView_AmmoIcon]
Symbol 45 Bitmap {InventoryView_DebrisIcon} [InventoryView_DebrisIcon]
Symbol 46 Bitmap {InventoryView_MolotovIcon} [InventoryView_MolotovIcon]
Symbol 47 Bitmap {InventoryView_UpgradeArrow} [InventoryView_UpgradeArrow]
Symbol 48 Bitmap {Zombie_ZombieDamaged4} [Zombie_ZombieDamaged4]
Symbol 49 Bitmap {Zombie_ZombieAttack3} [Zombie_ZombieAttack3]
Symbol 50 Bitmap {Zombie_ZombieIdle0} [Zombie_ZombieIdle0]
Symbol 51 Bitmap {Zombie_ZombieMove8} [Zombie_ZombieMove8]
Symbol 52 Bitmap {Zombie_ZombieMove5} [Zombie_ZombieMove5]
Symbol 53 Bitmap {Zombie_ZombieAttack4} [Zombie_ZombieAttack4]
Symbol 54 Bitmap {Zombie_ZombieMove6} [Zombie_ZombieMove6]
Symbol 55 Bitmap {Zombie_ZombieAttack2} [Zombie_ZombieAttack2]
Symbol 56 Bitmap {Zombie_ZombieMove0} [Zombie_ZombieMove0]
Symbol 57 Bitmap {Zombie_ZombieMove7} [Zombie_ZombieMove7]
Symbol 58 Bitmap {Zombie_ZombieAttack6} [Zombie_ZombieAttack6]
Symbol 59 Bitmap {Zombie_ZombieMove9} [Zombie_ZombieMove9]
Symbol 60 Bitmap {Zombie_ZombieDamaged0} [Zombie_ZombieDamaged0]
Symbol 61 Bitmap {Zombie_ZombieAttack7} [Zombie_ZombieAttack7]
Symbol 62 Bitmap {Zombie_ZombieMove4} [Zombie_ZombieMove4]
Symbol 63 Bitmap {Zombie_ZombieAttack0} [Zombie_ZombieAttack0]
Symbol 64 Bitmap {Zombie_ZombieDamaged3} [Zombie_ZombieDamaged3]
Symbol 65 Bitmap {Zombie_ZombieAttack9} [Zombie_ZombieAttack9]
Symbol 66 Bitmap {Zombie_ZombieMove1} [Zombie_ZombieMove1]
Symbol 67 Bitmap {Zombie_ZombieAttack1} [Zombie_ZombieAttack1]
Symbol 68 Bitmap {Zombie_ZombieAttack8} [Zombie_ZombieAttack8]
Symbol 69 Bitmap {Zombie_ZombieAttack5} [Zombie_ZombieAttack5]
Symbol 70 Bitmap {Zombie_ZombieMove2} [Zombie_ZombieMove2]
Symbol 71 Bitmap {Zombie_ZombieDamaged2} [Zombie_ZombieDamaged2]
Symbol 72 Bitmap {Zombie_ZombieDamaged1} [Zombie_ZombieDamaged1]
Symbol 73 Bitmap {Zombie_ZombieMove3} [Zombie_ZombieMove3]
Symbol 74 Bitmap {Zombie_ZombiePortrait} [Zombie_ZombiePortrait]
Symbol 75 Sound {Zombie_ZombieAttackSound} [Zombie_ZombieAttackSound]
Symbol 76 Bitmap {Debris_DebrisIcon} [Debris_DebrisIcon]
Symbol 77 Bitmap {Defender_DefenderAttack2} [Defender_DefenderAttack2]
Symbol 78 Bitmap {Defender_DefenderScrounge3} [Defender_DefenderScrounge3]
Symbol 79 Bitmap {Defender_DefenderScrounge2} [Defender_DefenderScrounge2]
Symbol 80 Bitmap {Defender_DefenderScrounge7} [Defender_DefenderScrounge7]
Symbol 81 Bitmap {Defender_DefenderIdle0} [Defender_DefenderIdle0]
Symbol 82 Bitmap {Defender_DefenderMove9} [Defender_DefenderMove9]
Symbol 83 Bitmap {Defender_DefenderAttack1} [Defender_DefenderAttack1]
Symbol 84 Bitmap {Defender_DefenderAttack6} [Defender_DefenderAttack6]
Symbol 85 Bitmap {Defender_DefenderMove5} [Defender_DefenderMove5]
Symbol 86 Bitmap {Defender_DefenderMove0} [Defender_DefenderMove0]
Symbol 87 Sound {Defender_DefenderAttackSound} [Defender_DefenderAttackSound]
Symbol 88 Bitmap {Defender_DefenderAttack4} [Defender_DefenderAttack4]
Symbol 89 Bitmap {Defender_DefenderAttack3} [Defender_DefenderAttack3]
Symbol 90 Bitmap {Defender_DefenderMove3} [Defender_DefenderMove3]
Symbol 91 Bitmap {Defender_DefenderDamaged3} [Defender_DefenderDamaged3]
Symbol 92 Bitmap {Defender_DefenderPortrait} [Defender_DefenderPortrait]
Symbol 93 Bitmap {Defender_DefenderScrounge0} [Defender_DefenderScrounge0]
Symbol 94 Bitmap {Defender_DefenderMove4} [Defender_DefenderMove4]
Symbol 95 Bitmap {Defender_DefenderScrounge5} [Defender_DefenderScrounge5]
Symbol 96 Bitmap {Defender_DefenderAttack0} [Defender_DefenderAttack0]
Symbol 97 Bitmap {Defender_DefenderMove1} [Defender_DefenderMove1]
Symbol 98 Bitmap {Defender_DefenderAttack5} [Defender_DefenderAttack5]
Symbol 99 Bitmap {Defender_DefenderMove6} [Defender_DefenderMove6]
Symbol 100 Bitmap {Defender_DefenderDamaged4} [Defender_DefenderDamaged4]
Symbol 101 Bitmap {Defender_DefenderScrounge1} [Defender_DefenderScrounge1]
Symbol 102 Bitmap {Defender_DefenderAttack7} [Defender_DefenderAttack7]
Symbol 103 Bitmap {Defender_DefenderScrounge8} [Defender_DefenderScrounge8]
Symbol 104 Bitmap {Defender_DefenderMove7} [Defender_DefenderMove7]
Symbol 105 Bitmap {Defender_DefenderAttack8} [Defender_DefenderAttack8]
Symbol 106 Bitmap {Defender_DefenderScrounge9} [Defender_DefenderScrounge9]
Symbol 107 Bitmap {Defender_DefenderMove8} [Defender_DefenderMove8]
Symbol 108 Bitmap {Defender_DefenderDamaged2} [Defender_DefenderDamaged2]
Symbol 109 Bitmap {Defender_DefenderAttack9} [Defender_DefenderAttack9]
Symbol 110 Bitmap {Defender_DefenderScrounge6} [Defender_DefenderScrounge6]
Symbol 111 Bitmap {Defender_DefenderDamaged1} [Defender_DefenderDamaged1]
Symbol 112 Bitmap {Defender_DefenderScrounge4} [Defender_DefenderScrounge4]
Symbol 113 Bitmap {Defender_DefenderDamaged0} [Defender_DefenderDamaged0]
Symbol 114 Bitmap {Defender_DefenderMove2} [Defender_DefenderMove2]
Symbol 115 Bitmap {ConfigView_SoundHighIcon} [ConfigView_SoundHighIcon]
Symbol 116 Bitmap {ConfigView_SoundMedIcon} [ConfigView_SoundMedIcon]
Symbol 117 Bitmap {ConfigView_SoundOffIcon} [ConfigView_SoundOffIcon]
Symbol 118 Bitmap {ConfigView_SoundLowIcon} [ConfigView_SoundLowIcon]
Symbol 119 Bitmap {ScoreView_ZombieIcon} [ScoreView_ZombieIcon]
Symbol 120 BinaryData {BrunchOfTheDead_Splode_dataClass} [BrunchOfTheDead_Splode_dataClass]
Symbol 121 Bitmap {UpgradeCostview_MedikitIcon} [UpgradeCostview_MedikitIcon]
Symbol 122 Bitmap {UpgradeCostview_DebrisIcon} [UpgradeCostview_DebrisIcon]
Symbol 123 Bitmap {UpgradeCostview_AmmoIcon} [UpgradeCostview_AmmoIcon]
Symbol 124 Font {ApplicationManager__verdanaEmbed} [ApplicationManager__verdanaEmbed]
Symbol 125 Font {ApplicationManager__chillerEmbed} [ApplicationManager__chillerEmbed]
Symbol 126 Bitmap {ResourceManager_MolotovIcon} [ResourceManager_MolotovIcon]
Symbol 127 Bitmap {ResourceManager_AmmoIcon} [ResourceManager_AmmoIcon]
Symbol 128 Bitmap {ResourceManager_MedikitIcon} [ResourceManager_MedikitIcon]
Symbol 129 Bitmap {ResourceManager_DebrisIcon} [ResourceManager_DebrisIcon]
Symbol 130 Bitmap {MainMenuScreen_GameLogo} [MainMenuScreen_GameLogo]
Symbol 131 Bitmap {MainMenuScreen_MainMenuBg} [MainMenuScreen_MainMenuBg]
Symbol 132 Bitmap {DifficultySelectionScreen_MainMenuBg} [DifficultySelectionScreen_MainMenuBg]
Symbol 133 Bitmap {CreditsScreen_MainMenuBg} [CreditsScreen_MainMenuBg]
Symbol 134 Bitmap {InstructionScreen_MainMenuBg} [InstructionScreen_MainMenuBg]
Symbol 135 MovieClip {BrunchOfTheDead_Splode}
Symbol 136 Font
Symbol 137 Font

Instance Names

"Brain_mc"Symbol 31 MovieClip {HMGSplashScreen} [HMGSplashScreen] Frame 1Symbol 6 MovieClip
"TagLine_mc"Symbol 31 MovieClip {HMGSplashScreen} [HMGSplashScreen] Frame 1Symbol 9 MovieClip
"Skip_btn"Symbol 31 MovieClip {HMGSplashScreen} [HMGSplashScreen] Frame 1Symbol 17 Button
"GoToHMG_btn"Symbol 31 MovieClip {HMGSplashScreen} [HMGSplashScreen] Frame 1Symbol 22 Button
"Head_mc"Symbol 31 MovieClip {HMGSplashScreen} [HMGSplashScreen] Frame 1Symbol 24 MovieClip
"Meat_mc"Symbol 31 MovieClip {HMGSplashScreen} [HMGSplashScreen] Frame 1Symbol 26 MovieClip
"Games_mc"Symbol 31 MovieClip {HMGSplashScreen} [HMGSplashScreen] Frame 1Symbol 28 MovieClip
"ProducedBy_mc"Symbol 31 MovieClip {HMGSplashScreen} [HMGSplashScreen] Frame 1Symbol 30 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1458 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 1 as "Preloader__verdanaEmbed"
ExportAssets (56)Timeline Frame 1Symbol 2 as "Preloader__chillerEmbed"
ExportAssets (56)Timeline Frame 2Symbol 31 as "HMGSplashScreen"
ExportAssets (56)Timeline Frame 2Symbol 32 as "Heartbeat"
ExportAssets (56)Timeline Frame 2Symbol 33 as "Slam"
ExportAssets (56)Timeline Frame 2Symbol 34 as "SoundButton_ButtonBaseDown"
ExportAssets (56)Timeline Frame 2Symbol 35 as "SoundButton_ButtonBaseOver"
ExportAssets (56)Timeline Frame 2Symbol 36 as "SoundButton_BaseClickSound"
ExportAssets (56)Timeline Frame 2Symbol 37 as "SoundButton_ButtonBaseUp"
ExportAssets (56)Timeline Frame 2Symbol 38 as "SoundButton_SharpClickSound"
ExportAssets (56)Timeline Frame 2Symbol 39 as "BrunchOfTheDead_MolotovSound"
ExportAssets (56)Timeline Frame 2Symbol 40 as "BrunchOfTheDead_UIFrame"
ExportAssets (56)Timeline Frame 2Symbol 41 as "SelectedView_UpgradeArrow"
ExportAssets (56)Timeline Frame 2Symbol 42 as "WorldGrid_PlayField"
ExportAssets (56)Timeline Frame 2Symbol 43 as "InventoryView_MedikitIcon"
ExportAssets (56)Timeline Frame 2Symbol 44 as "InventoryView_AmmoIcon"
ExportAssets (56)Timeline Frame 2Symbol 45 as "InventoryView_DebrisIcon"
ExportAssets (56)Timeline Frame 2Symbol 46 as "InventoryView_MolotovIcon"
ExportAssets (56)Timeline Frame 2Symbol 47 as "InventoryView_UpgradeArrow"
ExportAssets (56)Timeline Frame 2Symbol 48 as "Zombie_ZombieDamaged4"
ExportAssets (56)Timeline Frame 2Symbol 49 as "Zombie_ZombieAttack3"
ExportAssets (56)Timeline Frame 2Symbol 50 as "Zombie_ZombieIdle0"
ExportAssets (56)Timeline Frame 2Symbol 51 as "Zombie_ZombieMove8"
ExportAssets (56)Timeline Frame 2Symbol 52 as "Zombie_ZombieMove5"
ExportAssets (56)Timeline Frame 2Symbol 53 as "Zombie_ZombieAttack4"
ExportAssets (56)Timeline Frame 2Symbol 54 as "Zombie_ZombieMove6"
ExportAssets (56)Timeline Frame 2Symbol 55 as "Zombie_ZombieAttack2"
ExportAssets (56)Timeline Frame 2Symbol 56 as "Zombie_ZombieMove0"
ExportAssets (56)Timeline Frame 2Symbol 57 as "Zombie_ZombieMove7"
ExportAssets (56)Timeline Frame 2Symbol 58 as "Zombie_ZombieAttack6"
ExportAssets (56)Timeline Frame 2Symbol 59 as "Zombie_ZombieMove9"
ExportAssets (56)Timeline Frame 2Symbol 60 as "Zombie_ZombieDamaged0"
ExportAssets (56)Timeline Frame 2Symbol 61 as "Zombie_ZombieAttack7"
ExportAssets (56)Timeline Frame 2Symbol 62 as "Zombie_ZombieMove4"
ExportAssets (56)Timeline Frame 2Symbol 63 as "Zombie_ZombieAttack0"
ExportAssets (56)Timeline Frame 2Symbol 64 as "Zombie_ZombieDamaged3"
ExportAssets (56)Timeline Frame 2Symbol 65 as "Zombie_ZombieAttack9"
ExportAssets (56)Timeline Frame 2Symbol 66 as "Zombie_ZombieMove1"
ExportAssets (56)Timeline Frame 2Symbol 67 as "Zombie_ZombieAttack1"
ExportAssets (56)Timeline Frame 2Symbol 68 as "Zombie_ZombieAttack8"
ExportAssets (56)Timeline Frame 2Symbol 69 as "Zombie_ZombieAttack5"
ExportAssets (56)Timeline Frame 2Symbol 70 as "Zombie_ZombieMove2"
ExportAssets (56)Timeline Frame 2Symbol 71 as "Zombie_ZombieDamaged2"
ExportAssets (56)Timeline Frame 2Symbol 72 as "Zombie_ZombieDamaged1"
ExportAssets (56)Timeline Frame 2Symbol 73 as "Zombie_ZombieMove3"
ExportAssets (56)Timeline Frame 2Symbol 74 as "Zombie_ZombiePortrait"
ExportAssets (56)Timeline Frame 2Symbol 75 as "Zombie_ZombieAttackSound"
ExportAssets (56)Timeline Frame 2Symbol 76 as "Debris_DebrisIcon"
ExportAssets (56)Timeline Frame 2Symbol 77 as "Defender_DefenderAttack2"
ExportAssets (56)Timeline Frame 2Symbol 78 as "Defender_DefenderScrounge3"
ExportAssets (56)Timeline Frame 2Symbol 79 as "Defender_DefenderScrounge2"
ExportAssets (56)Timeline Frame 2Symbol 80 as "Defender_DefenderScrounge7"
ExportAssets (56)Timeline Frame 2Symbol 81 as "Defender_DefenderIdle0"
ExportAssets (56)Timeline Frame 2Symbol 82 as "Defender_DefenderMove9"
ExportAssets (56)Timeline Frame 2Symbol 83 as "Defender_DefenderAttack1"
ExportAssets (56)Timeline Frame 2Symbol 84 as "Defender_DefenderAttack6"
ExportAssets (56)Timeline Frame 2Symbol 85 as "Defender_DefenderMove5"
ExportAssets (56)Timeline Frame 2Symbol 86 as "Defender_DefenderMove0"
ExportAssets (56)Timeline Frame 2Symbol 87 as "Defender_DefenderAttackSound"
ExportAssets (56)Timeline Frame 2Symbol 88 as "Defender_DefenderAttack4"
ExportAssets (56)Timeline Frame 2Symbol 89 as "Defender_DefenderAttack3"
ExportAssets (56)Timeline Frame 2Symbol 90 as "Defender_DefenderMove3"
ExportAssets (56)Timeline Frame 2Symbol 91 as "Defender_DefenderDamaged3"
ExportAssets (56)Timeline Frame 2Symbol 92 as "Defender_DefenderPortrait"
ExportAssets (56)Timeline Frame 2Symbol 93 as "Defender_DefenderScrounge0"
ExportAssets (56)Timeline Frame 2Symbol 94 as "Defender_DefenderMove4"
ExportAssets (56)Timeline Frame 2Symbol 95 as "Defender_DefenderScrounge5"
ExportAssets (56)Timeline Frame 2Symbol 96 as "Defender_DefenderAttack0"
ExportAssets (56)Timeline Frame 2Symbol 97 as "Defender_DefenderMove1"
ExportAssets (56)Timeline Frame 2Symbol 98 as "Defender_DefenderAttack5"
ExportAssets (56)Timeline Frame 2Symbol 99 as "Defender_DefenderMove6"
ExportAssets (56)Timeline Frame 2Symbol 100 as "Defender_DefenderDamaged4"
ExportAssets (56)Timeline Frame 2Symbol 101 as "Defender_DefenderScrounge1"
ExportAssets (56)Timeline Frame 2Symbol 102 as "Defender_DefenderAttack7"
ExportAssets (56)Timeline Frame 2Symbol 103 as "Defender_DefenderScrounge8"
ExportAssets (56)Timeline Frame 2Symbol 104 as "Defender_DefenderMove7"
ExportAssets (56)Timeline Frame 2Symbol 105 as "Defender_DefenderAttack8"
ExportAssets (56)Timeline Frame 2Symbol 106 as "Defender_DefenderScrounge9"
ExportAssets (56)Timeline Frame 2Symbol 107 as "Defender_DefenderMove8"
ExportAssets (56)Timeline Frame 2Symbol 108 as "Defender_DefenderDamaged2"
ExportAssets (56)Timeline Frame 2Symbol 109 as "Defender_DefenderAttack9"
ExportAssets (56)Timeline Frame 2Symbol 110 as "Defender_DefenderScrounge6"
ExportAssets (56)Timeline Frame 2Symbol 111 as "Defender_DefenderDamaged1"
ExportAssets (56)Timeline Frame 2Symbol 112 as "Defender_DefenderScrounge4"
ExportAssets (56)Timeline Frame 2Symbol 113 as "Defender_DefenderDamaged0"
ExportAssets (56)Timeline Frame 2Symbol 114 as "Defender_DefenderMove2"
ExportAssets (56)Timeline Frame 2Symbol 115 as "ConfigView_SoundHighIcon"
ExportAssets (56)Timeline Frame 2Symbol 116 as "ConfigView_SoundMedIcon"
ExportAssets (56)Timeline Frame 2Symbol 117 as "ConfigView_SoundOffIcon"
ExportAssets (56)Timeline Frame 2Symbol 118 as "ConfigView_SoundLowIcon"
ExportAssets (56)Timeline Frame 2Symbol 119 as "ScoreView_ZombieIcon"
ExportAssets (56)Timeline Frame 2Symbol 120 as "BrunchOfTheDead_Splode_dataClass"
ExportAssets (56)Timeline Frame 2Symbol 121 as "UpgradeCostview_MedikitIcon"
ExportAssets (56)Timeline Frame 2Symbol 122 as "UpgradeCostview_DebrisIcon"
ExportAssets (56)Timeline Frame 2Symbol 123 as "UpgradeCostview_AmmoIcon"
ExportAssets (56)Timeline Frame 2Symbol 124 as "ApplicationManager__verdanaEmbed"
ExportAssets (56)Timeline Frame 2Symbol 125 as "ApplicationManager__chillerEmbed"
ExportAssets (56)Timeline Frame 2Symbol 126 as "ResourceManager_MolotovIcon"
ExportAssets (56)Timeline Frame 2Symbol 127 as "ResourceManager_AmmoIcon"
ExportAssets (56)Timeline Frame 2Symbol 128 as "ResourceManager_MedikitIcon"
ExportAssets (56)Timeline Frame 2Symbol 129 as "ResourceManager_DebrisIcon"
ExportAssets (56)Timeline Frame 2Symbol 130 as "MainMenuScreen_GameLogo"
ExportAssets (56)Timeline Frame 2Symbol 131 as "MainMenuScreen_MainMenuBg"
ExportAssets (56)Timeline Frame 2Symbol 132 as "DifficultySelectionScreen_MainMenuBg"
ExportAssets (56)Timeline Frame 2Symbol 133 as "CreditsScreen_MainMenuBg"
ExportAssets (56)Timeline Frame 2Symbol 134 as "InstructionScreen_MainMenuBg"
SerialNumber (41)Timeline Frame 1

Labels

"Preloader"Frame 1
"LoadScreen"Frame 2
"EntryPoint"Frame 3




http://swfchan.com/7/30024/info.shtml
Created: 19/5 -2019 14:25:05 Last modified: 19/5 -2019 14:25:05 Server time: 11/05 -2024 23:58:52