Section 1
//DepthSorter (com.urbansquall.graphics.DepthSorter)
package com.urbansquall.graphics {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class DepthSorter {
var m_items:Array;
var m_container:DisplayObjectContainer;
public function DepthSorter(_arg1:DisplayObjectContainer){
m_items = new Array();
m_container = _arg1;
}
public function addItem(_arg1:DisplayObject){
m_items.push(_arg1);
}
public function removeItem(_arg1:DisplayObject){
var _local2:int;
var _local3:DisplayObject;
_local2 = 0;
while (_local2 < m_items.length) {
_local3 = m_items[_local2];
if (_local3 == _arg1){
m_items.splice(_local2, 1);
return;
};
_local2++;
};
}
public function updateDepths():void{
var _local1:int;
var _local2:DisplayObject;
m_items.sortOn("y", Array.NUMERIC);
_local1 = m_items.length;
while (--_local1 >= 0) {
_local2 = m_items[_local1];
if (m_container.getChildAt(_local1) != _local2){
m_container.setChildIndex(_local2, _local1);
};
};
}
public function dispose():void{
m_items.splice();
m_container = null;
}
}
}//package com.urbansquall.graphics
Section 2
//TileSheetAnimation (com.urbansquall.graphics.TileSheetAnimation)
package com.urbansquall.graphics {
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class TileSheetAnimation extends Sprite {
var m_activeFrame:int;
var m_completeCallback:Function;// = null
var m_activeAnimation:String;
var m_paused:Boolean;
var m_timeUntilNextFrame:int;
var m_animationMap:Dictionary;
var m_display:Bitmap;
var m_tileSheet:BitmapData;
public function TileSheetAnimation(_arg1:BitmapData){
m_animationMap = new Dictionary(false);
m_completeCallback = null;
super();
m_paused = false;
m_tileSheet = _arg1;
m_display = new Bitmap(m_tileSheet);
addChild(m_display);
m_timeUntilNextFrame = 0;
m_activeFrame = 0;
m_activeAnimation = "";
}
public function unpause(){
m_paused = false;
}
public function hasAnimation(_arg1:String):Boolean{
return (!((m_animationMap[_arg1] == null)));
}
public function dispose(){
m_animationMap = null;
m_tileSheet = null;
removeChild(m_display);
m_display = null;
}
function updateFrame(){
var _local1:AnimationInfo;
if (m_paused){
return;
};
_local1 = m_animationMap[m_activeAnimation];
m_timeUntilNextFrame = _local1.timeBetweenFrames;
if (m_activeFrame >= _local1.rectangles.length){
m_activeFrame = 0;
};
m_display.scrollRect = _local1.rectangles[m_activeFrame];
}
public function onComplete(_arg1:Function){
m_completeCallback = _arg1;
}
function registerAnimation(_arg1:String, _arg2:Array, _arg3:int, _arg4:int, _arg5:int){
m_animationMap[_arg1] = new AnimationInfo(_arg2, _arg3, _arg4, _arg5);
}
public function getActiveAnimationName():String{
return (m_activeAnimation);
}
public function playAnimation(_arg1:String){
var _local2:AnimationInfo;
if (_arg1 == m_activeAnimation){
return;
};
_local2 = m_animationMap[_arg1];
if (_local2 == null){
trace(("TileSheetAnimation.playAnimation: Animation not found: " + _arg1));
return;
};
m_activeAnimation = _arg1;
m_activeFrame = 0;
m_display.x = (-(_local2.width) / 2);
m_display.y = (-(_local2.height) / 2);
updateFrame();
}
public function update(_arg1:int){
var _local2:AnimationInfo;
if (m_activeAnimation == ""){
return;
};
if (m_paused){
return;
};
m_timeUntilNextFrame = (m_timeUntilNextFrame - _arg1);
if (m_timeUntilNextFrame <= 0){
m_activeFrame++;
if (m_completeCallback != null){
_local2 = m_animationMap[m_activeAnimation];
if (m_activeFrame >= _local2.rectangles.length){
m_completeCallback.call();
if (m_animationMap == null){
return;
};
};
};
updateFrame();
};
}
public function gotoFrame(_arg1:int){
m_activeFrame = _arg1;
updateFrame();
}
public function pause(){
m_paused = true;
}
}
}//package com.urbansquall.graphics
class AnimationInfo {
private var timeBetweenFrames:int;
private var rectangles:Array;
private var width:int;
private var height:int;
private function AnimationInfo(_arg1:Array, _arg2:int, _arg3:int, _arg4:int){
rectangles = _arg1;
timeBetweenFrames = _arg2;
width = _arg3;
height = _arg4;
}
}
Section 3
//TileSheetLoader (com.urbansquall.graphics.TileSheetLoader)
package com.urbansquall.graphics {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
public class TileSheetLoader {
var m_typeMap:Dictionary;
var m_defaultFrameCount:int;
var m_defaultHeight:int;
var m_defaultWidth:int;
public function TileSheetLoader(){
m_typeMap = new Dictionary(false);
}
public function loadFromXML(_arg1:XML){
var _local2:XMLList;
var _local3:*;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:String;
var _local9:XMLList;
var _local10:int;
var _local11:Dictionary;
var _local12:*;
var _local13:String;
var _local14:int;
var _local15:String;
var _local16:int;
var _local17:String;
var _local18:int;
var _local19:String;
var _local20:int;
var _local21:String;
var _local22:int;
var _local23:String;
var _local24:Array;
var _local25:int;
var _local26:int;
var _local27:int;
var _local28:int;
var _local29:Rectangle;
_local2 = _arg1.descendants("sheetloader");
for each (_local3 in _local2) {
_local4 = _local3.attribute("defaultFrameCount");
_local5 = _local3.attribute("defaultWidth");
_local6 = _local3.attribute("defaultHeight");
_local7 = _local3.attribute("defaultTimeBetweenFrames");
_local8 = _local3.attribute("type");
_local9 = _local3.descendants("animation");
_local10 = 0;
_local11 = new Dictionary(false);
for each (_local12 in _local9) {
_local13 = _local12.attribute("name");
_local14 = _local5;
_local15 = _local12.attribute("width");
if (_local15 != ""){
_local14 = Number(_local15);
};
_local16 = _local4;
_local17 = _local12.attribute("frameCount");
if (_local17 != ""){
_local16 = Number(_local17);
};
_local18 = _local6;
_local19 = _local12.attribute("height");
if (_local19 != ""){
_local18 = Number(_local19);
};
_local20 = _local7;
_local21 = _local12.attribute("timeBetweenFrames");
if (_local21 != ""){
_local20 = Number(_local21);
};
_local22 = 1;
_local23 = _local12.attribute("rowCount");
if (_local23 != ""){
_local22 = int(_local23);
};
_local24 = new Array();
_local25 = 0;
while (_local25 < _local22) {
_local26 = 0;
while (_local26 < _local16) {
_local27 = (_local26 * _local14);
_local28 = _local10;
_local29 = new Rectangle(_local27, _local10, _local14, _local18);
_local24.push(_local29);
_local26++;
};
_local10 = (_local10 + _local18);
_local25++;
};
_local11[_local13] = new AnimationInfo(_local24, _local20, _local14, _local18);
};
m_typeMap[_local8] = _local11;
};
}
function handleFileLoad(_arg1:Event){
loadFromXML(new XML(_arg1.target.data));
}
public function createTileSheetAnimation(_arg1:String, _arg2:BitmapData):TileSheetAnimation{
var _local3:Dictionary;
var _local4:TileSheetAnimation;
var _local5:String;
var _local6:AnimationInfo;
_local3 = m_typeMap[_arg1];
if (_local3 == null){
trace(("TileSheetLoader.createTileSheetAnimation: No tilesheet loader with type: " + _arg1));
return (null);
};
_local4 = new TileSheetAnimation(_arg2);
for (_local5 in _local3) {
_local6 = _local3[_local5];
_local4.registerAnimation(_local5, _local6.rectangles, _local6.timeBetweenFrames, _local6.width, _local6.height);
};
return (_local4);
}
public function dispose(){
var _local1:Object;
for (_local1 in m_typeMap) {
m_typeMap[_local1] = null;
};
m_typeMap = null;
}
public static function createTileSheetLoader(_arg1:String):TileSheetLoader{
var _local2:TileSheetLoader;
var _local3:URLLoader;
var _local4:URLRequest;
_local2 = new (TileSheetLoader);
_local3 = new URLLoader();
_local4 = new URLRequest(_arg1);
_local3.load(_local4);
_local3.addEventListener(Event.COMPLETE, _local2.handleFileLoad);
return (_local2);
}
}
}//package com.urbansquall.graphics
class AnimationInfo {
private var timeBetweenFrames:int;
private var rectangles:Array;
private var width:int;
private var height:int;
private function AnimationInfo(_arg1:Array, _arg2:int, _arg3:int, _arg4:int){
rectangles = _arg1;
timeBetweenFrames = _arg2;
width = _arg3;
height = _arg4;
}
}
Section 4
//Random (com.urbansquall.math.Random)
package com.urbansquall.math {
import flash.utils.*;
public class Random {
var seed:Number;// = 0
var time:Number;// = 0
static var A = 2.86293355577794E18;
static var C = 3037000493;
static var M = Math.pow(2.8, 14);
public function Random(_arg1:Number){
time = 0;
seed = 0;
super();
time = _arg1;
seed = (time & M);
}
public function random():Number{
return (randomReal48());
}
public function randomReal48(){
seed = (((seed * A) + C) % M);
return ((seed / M));
}
public function getSeed():Number{
return (time);
}
}
}//package com.urbansquall.math
Section 5
//Vector2 (com.urbansquall.math.Vector2)
package com.urbansquall.math {
public class Vector2 {
public var x:Number;
public var y:Number;
public function Vector2(_arg1:Number=0, _arg2:Number=0){
x = _arg1;
y = _arg2;
}
public function isApproximatelyEqualToZero(_arg1:Number){
return ((((Math.abs(x) <= _arg1)) && ((Math.abs(y) <= _arg1))));
}
public function dividedBy(_arg1:Number):Vector2{
return (new Vector2((x / _arg1), (y / _arg1)));
}
public function projectedAlong(_arg1:Vector2):Vector2{
var _local2:Vector2;
var _local3:Number;
_local2 = _arg1.getUnitVector();
_local3 = this.dot(_local2);
return (new Vector2((_local3 * _local2.x), (_local3 * _local2.y)));
}
public function dot(_arg1:Vector2):Number{
return (((x * _arg1.x) + (y * _arg1.y)));
}
public function normalize(_arg1:Number=1){
var _local2:Number;
_local2 = (_arg1 / this.length());
x = (x * _local2);
y = (y * _local2);
}
public function minimum(_arg1:Vector2):Vector2{
var _local2:Vector2;
_local2 = new Vector2();
_local2.x = ((x < _arg1.x)) ? x : _arg1.x;
_local2.y = ((y < _arg1.y)) ? y : _arg1.y;
return (_local2);
}
public function isApproximatelyEqualTo(_arg1:Vector2, _arg2:Number){
return ((((Math.abs((x - _arg1.x)) <= _arg2)) && ((Math.abs((y - _arg1.y)) <= _arg2))));
}
public function setAngle(_arg1){
var _local2:*;
_local2 = ((_arg1 / 180) * Math.PI);
x = Math.cos(_local2);
y = Math.sin(_local2);
}
public function setEqualTo(_arg1:Vector2){
x = _arg1.x;
y = _arg1.y;
}
public function greaterThanOrEqual(_arg1:Vector2):Boolean{
return ((((x >= _arg1.x)) && ((y >= _arg1.y))));
}
public function lessThanOrEqual(_arg1:Vector2):Boolean{
return ((((x <= _arg1.x)) && ((y <= _arg1.y))));
}
public function plus(_arg1:Vector2):Vector2{
return (new Vector2((x + _arg1.x), (y + _arg1.y)));
}
public function multiplyBy(_arg1:Number){
this.x = (this.x * _arg1);
this.y = (this.y * _arg1);
}
public function getUnitVector():Vector2{
var _local1:Vector2;
_local1 = new Vector2(x, y);
_local1.normalize();
return (_local1);
}
public function equalTo(_arg1:Vector2):Boolean{
return ((((x == _arg1.x)) && ((y == _arg1.y))));
}
public function maximum(_arg1:Vector2):Vector2{
var _local2:Vector2;
_local2 = new Vector2();
_local2.x = ((x > _arg1.x)) ? x : _arg1.x;
_local2.y = ((y > _arg1.y)) ? y : _arg1.y;
return (_local2);
}
public function lengthSquared():Number{
return (((x * x) + (y * y)));
}
public function clone():Vector2{
return (new Vector2(x, y));
}
public function length():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function lessThan(_arg1:Vector2):Boolean{
return ((((x < _arg1.x)) && ((y < _arg1.y))));
}
public function multipliedBy(_arg1:Number):Vector2{
return (new Vector2((x * _arg1), (y * _arg1)));
}
public function toString():String{
return ((((("<" + x) + ",") + y) + ">"));
}
public function angleTo(_arg1:Vector2):Number{
var _local2:Number;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local2 = 0;
_local3 = (this.x - _arg1.x);
_local4 = (this.y - _arg1.y);
_local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
_local6 = (_local4 / _local5);
_local7 = Math.asin(_local6);
if ((((this.x < _arg1.x)) && ((this.y < _arg1.y)))){
_local2 = (270 - (_local7 / (Math.PI / 180)));
} else {
if ((((this.x > _arg1.x)) && ((this.y < _arg1.y)))){
_local2 = (90 + (_local7 / (Math.PI / 180)));
};
};
return (_local2);
}
public function getAngle():Number{
return (((Math.atan2(y, x) * 180) / Math.PI));
}
public function minus(_arg1:Vector2):Vector2{
return (new Vector2((x - _arg1.x), (y - _arg1.y)));
}
public function greaterThan(_arg1:Vector2):Boolean{
return ((((x > _arg1.x)) && ((y > _arg1.y))));
}
public function notEqualTo(_arg1:Vector2):Boolean{
return (((!((x == _arg1.x))) && (!((y == _arg1.y)))));
}
public function equals(_arg1:Vector2):Boolean{
return ((((x == _arg1.x)) && ((y == _arg1.y))));
}
}
}//package com.urbansquall.math
Section 6
//WeightedRandom (com.urbansquall.math.WeightedRandom)
package com.urbansquall.math {
import flash.utils.*;
public class WeightedRandom {
var m_random:Random;
var m_totalWeight:Number;
var m_options:Dictionary;
public function WeightedRandom(_arg1:Random=null){
if (_arg1 == null){
_arg1 = new Random(getTimer());
};
m_random = _arg1;
m_options = new Dictionary(false);
m_totalWeight = 0;
}
public function registerOption(_arg1:Object, _arg2:Number){
if (_arg2 < 0){
trace(("WeightedRandom: Bad weight for " + _arg1));
return;
};
m_totalWeight = (m_totalWeight + _arg2);
m_options[_arg1] = _arg2;
}
public function grabOption():Object{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:Number;
_local1 = m_random.random();
_local2 = (m_totalWeight * _local1);
_local3 = 0;
for (_local4 in m_options) {
_local5 = m_options[_local4];
_local3 = (_local3 + _local5);
if (_local3 >= _local2){
return (_local4);
};
};
trace("WeightedRandom: grabOption, error.");
return (null);
}
}
}//package com.urbansquall.math
Section 7
//ModeData (com.urbansquall.ui.modes.ModeData)
package com.urbansquall.ui.modes {
public class ModeData {
}
}//package com.urbansquall.ui.modes
Section 8
//ModeInterface (com.urbansquall.ui.modes.ModeInterface)
package com.urbansquall.ui.modes {
import flash.display.*;
public interface ModeInterface {
function pushed(_arg1:DisplayObjectContainer, _arg2:ModeData);
function loseFocus();
function gainFocus();
function popped();
}
}//package com.urbansquall.ui.modes
Section 9
//ModeStack (com.urbansquall.ui.modes.ModeStack)
package com.urbansquall.ui.modes {
import flash.display.*;
import flash.utils.*;
public class ModeStack {
var m_modeLookup:Dictionary;
var m_modeStack:Array;
var m_container:DisplayObjectContainer;
public function ModeStack(_arg1:DisplayObjectContainer){
m_modeLookup = new Dictionary(false);
m_modeStack = new Array();
super();
m_container = _arg1;
}
public function registerMode(_arg1:String, _arg2:ModeInterface){
if (m_modeLookup[_arg1] != null){
trace(("ModeStack.registerMode: There already is a mode with " + _arg1));
return;
};
m_modeLookup[_arg1] = _arg2;
}
function getTop():ModeInterface{
if (m_modeStack.length == 0){
return (null);
};
return (m_modeStack[(m_modeStack.length - 1)]);
}
public function popMode(){
var _local1:ModeInterface;
var _local2:ModeInterface;
_local1 = getTop();
if (_local1 == null){
return;
};
m_modeStack.splice((m_modeStack.length - 1), 1);
_local1.popped();
_local2 = getTop();
if (_local2 != null){
_local2.gainFocus();
};
}
public function switchMode(_arg1:String, _arg2:ModeData){
popMode();
pushMode(_arg1, _arg2);
}
public function clear(){
var _local1:int;
var _local2:ModeInterface;
_local1 = (m_modeStack.length - 1);
while (_local1 >= 0) {
_local2 = m_modeStack[_local1];
_local2.popped();
_local1--;
};
m_modeStack.splice(0);
}
public function pushMode(_arg1:String, _arg2:ModeData){
var _local3:ModeInterface;
var _local4:ModeInterface;
var _local5:int;
var _local6:ModeInterface;
var _local7:ModeInterface;
_local3 = m_modeLookup[_arg1];
if (_local3 == null){
trace(("ModeManager.pushMode: There is no mode with the key " + _arg1));
return;
};
_local4 = getTop();
if (_local4 == _local3){
_local3.loseFocus();
_local3.pushed(m_container, _arg2);
_local3.gainFocus();
return;
};
if (_local4 != null){
_local4.loseFocus();
};
_local5 = 0;
while (_local5 < m_modeStack.length) {
_local7 = m_modeStack[_local5];
if (_local7 == _local3){
m_modeStack.splice(_local5);
};
_local5++;
};
m_modeStack.push(_local3);
_local3.pushed(m_container, _arg2);
_local6 = getTop();
_local6.gainFocus();
}
public function dispose(){
m_modeLookup = null;
m_modeStack.splice(0);
m_container = null;
}
}
}//package com.urbansquall.ui.modes
Section 10
//Console (com.urbansquall.utils.Console)
package com.urbansquall.utils {
public class Console {
public static function error(_arg1:String){
trace(_arg1);
}
public static function out(_arg1:String){
trace(_arg1);
}
}
}//package com.urbansquall.utils
Section 11
//Delegate (com.urbansquall.utils.Delegate)
package com.urbansquall.utils {
public class Delegate {
public static function create(_arg1, _arg2:Function, ... _args):Function{
var delegate:Function;
var target = _arg1;
var handler = _arg2;
var rest = _args;
delegate = function (... _args){
var _local2:Array;
_local2 = _args.concat(rest);
return (handler.apply(target, _local2));
};
return (delegate);
}
}
}//package com.urbansquall.utils
Section 12
//ResourceManager (com.urbansquall.utils.ResourceManager)
package com.urbansquall.utils {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.net.*;
public class ResourceManager {
var m_resourcesMap:Dictionary;
public function ResourceManager(){
m_resourcesMap = new Dictionary(false);
}
public function createEmbeddedBitmapResource(_arg1:String, _arg2:String){
var _local3:Resource;
var _local4:Class;
var _local5:BitmapData;
_local3 = new Resource();
_local4 = (getDefinitionByName(_arg2) as Class);
_local5 = (new _local4(0, 0) as BitmapData);
if (_local5 == null){
Console.error((("ResourceManager:createEmbeddedBitmapResource. No bitmap class with name " + _arg2) + ". Resource was not created. "));
return;
};
_local3.bitmapData = _local5;
if (m_resourcesMap[_arg1] != null){
Console.error((("ResourceManager:createEmbeddedResourceFromClassName. Already a resource with name " + _arg1) + ". Resource was not created. "));
return;
};
m_resourcesMap[_arg1] = _local3;
}
public function createExternalBitmapResource(_arg1:String, _arg2:String){
var _local3:Loader;
var _local4:URLRequest;
var _local5:Resource;
_local3 = new Loader();
_local4 = new URLRequest(_arg2);
_local3.load(_local4);
_local3.contentLoaderInfo.addEventListener(Event.COMPLETE, loadBitmapResource);
_local5 = new Resource();
_local5.loaderInfo = _local3.contentLoaderInfo;
if (m_resourcesMap[_arg1] != null){
Console.error((("ResourceManager:createExternalBitmapResource. Already a resource with name " + _arg1) + ". Resource was not created. "));
return;
};
m_resourcesMap[_arg1] = _local5;
}
function error(_arg1:String){
Console.error(("ResourceManager. " + _arg1));
}
function handleFileLoad(_arg1:Event){
loadFromXML(new XML(_arg1.target.data));
}
public function loadFromXML(_arg1:XML){
var _local2:String;
var _local3:XMLList;
var _local4:*;
var _local5:XMLList;
var _local6:Boolean;
var _local7:*;
var _local8:String;
var _local9:XMLList;
var _local10:*;
var _local11:String;
var _local12:String;
var _local13:String;
var _local14:String;
_local2 = "";
_local3 = _arg1.descendants("use");
for each (_local4 in _local3) {
_local2 = _local4.attribute("profile");
break;
};
_local5 = _arg1.descendants("profile");
_local6 = false;
for each (_local7 in _local5) {
_local8 = _local7.attribute("name");
if (_local8 != _local2){
} else {
_local6 = true;
_local9 = _local7.descendants("resource");
for each (_local10 in _local9) {
_local11 = _local10.attribute("type");
_local12 = _local10.attribute("name");
_local13 = _local10.attribute("external");
_local14 = _local10.attribute("internal");
if (_local11 == ""){
error(("Ignoring invalid resource: " + _local10));
} else {
if (_local12 == ""){
error(("Ignoring invalid resource: " + _local10));
} else {
if ((((_local13 == "")) && ((_local14 == "")))){
error(("Ignoring invalid resource: " + _local10));
} else {
if (((!((_local13 == ""))) && (!((_local14 == ""))))){
error(("Ignoring invalid resource: " + _local10));
} else {
if (_local11 == "bitmap"){
if (_local13 == ""){
createEmbeddedBitmapResource(_local12, _local14);
} else {
createExternalBitmapResource(_local12, _local13);
};
} else {
if (_local11 == "sound"){
if (_local13 == ""){
createEmbeddedSoundResource(_local12, _local14);
} else {
createExternalSoundResource(_local12, _local13);
};
};
};
};
};
};
};
};
};
};
if (!_local6){
trace(("ResourceManager. Error! Could not find matching profile: " + _local2));
};
}
public function getSoundResource(_arg1:String):Sound{
var _local2:Resource;
_local2 = m_resourcesMap[_arg1];
if (_local2 == null){
Console.error((("ResourceManager.getSoundResource: Unknown resource: [" + _arg1) + "]"));
return (null);
};
if (_local2.isLoading()){
Console.error((("ResourceManager.getSoundResource: Preemptive grab of resource [" + _arg1) + "]"));
return (null);
};
return (_local2.sound);
}
public function createExternalSoundResource(_arg1:String, _arg2:String){
var _local3:URLRequest;
var _local4:Sound;
var _local5:Resource;
_local3 = new URLRequest(_arg2);
_local4 = new Sound();
_local4.load(_local3);
if (m_resourcesMap[_arg1] != null){
Console.error((("ResourceManager:createExternalSoundResource. Already a resource with name " + _arg1) + ". Resource was not created. "));
return;
};
_local5 = new Resource();
_local5.sound = _local4;
m_resourcesMap[_arg1] = _local5;
}
public function createEmbeddedSoundResource(_arg1:String, _arg2:String){
var _local3:Resource;
var _local4:Class;
var _local5:Sound;
_local3 = new Resource();
_local4 = (getDefinitionByName(_arg2) as Class);
_local5 = (new (_local4) as Sound);
if (_local5 == null){
Console.error((("ResourceManager:createEmbeddedSoundResource. No sound class with name " + _arg2) + ". Resource was not created. "));
return;
};
_local3.sound = _local5;
if (m_resourcesMap[_arg1] != null){
Console.error((("ResourceManager:createEmbeddedResourceFromClassName. Already a resource with name " + _arg1) + ". Resource was not created. "));
return;
};
m_resourcesMap[_arg1] = _local3;
}
public function isLoading():Boolean{
var _local1:Boolean;
var _local2:Object;
var _local3:Resource;
_local1 = false;
for (_local2 in m_resourcesMap) {
_local1 = true;
_local3 = m_resourcesMap[_local2];
if (_local3.isLoading()){
return (true);
};
};
if (!_local1){
return (true);
};
return (false);
}
public function getBitmapResource(_arg1:String):BitmapData{
var _local2:Resource;
_local2 = m_resourcesMap[_arg1];
if (_local2 == null){
Console.error((("ResourceManager.getBitmapResource: Unknown resource: [" + _arg1) + "]"));
return (null);
};
if (_local2.isLoading()){
Console.error((("ResourceManager.getBitmapResource: Preemptive grab of resource [" + _arg1) + "]"));
return (null);
};
return (_local2.bitmapData);
}
public function loadBitmapResource(_arg1:Event){
var _local2:BitmapData;
var _local3:Object;
var _local4:Resource;
_local2 = _arg1.target.content.bitmapData;
for (_local3 in m_resourcesMap) {
_local4 = m_resourcesMap[_local3];
if (_local4.loaderInfo == _arg1.target){
_local4.bitmapData = _local2;
};
};
}
public function dispose(){
var _local1:Object;
for (_local1 in m_resourcesMap) {
m_resourcesMap[_local1] = null;
};
m_resourcesMap = null;
}
public static function createResourceManager(_arg1:String):ResourceManager{
var _local2:ResourceManager;
var _local3:URLLoader;
var _local4:URLRequest;
_local2 = new (ResourceManager);
_local3 = new URLLoader();
_local4 = new URLRequest(_arg1);
_local3.load(_local4);
_local3.addEventListener(Event.COMPLETE, _local2.handleFileLoad);
return (_local2);
}
}
}//package com.urbansquall.utils
import flash.display.*;
import flash.media.*;
class Resource {
private var loaderInfo:LoaderInfo;// = null
private var bitmapData:BitmapData;// = null
private var sound:Sound;// = null
private function Resource(){
bitmapData = null;
sound = null;
loaderInfo = null;
super();
}
private function isLoading():Boolean{
var _local1:Boolean;
_local1 = (((bitmapData == null)) && ((sound == null)));
return (_local1);
}
}
Section 13
//heart_mc_20 (zombieland_fla.heart_mc_20)
package zombieland_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.ui.*;
import flash.text.*;
import flash.net.*;
import flash.filters.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
public dynamic class heart_mc_20 extends MovieClip {
public function heart_mc_20(){
addFrameScript(0, frame1, 59, frame60);
}
function frame1(){
stop();
}
function frame60(){
gotoAndStop(1);
}
}
}//package zombieland_fla
Section 14
//music_preloader_2 (zombieland_fla.music_preloader_2)
package zombieland_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.ui.*;
import flash.text.*;
import flash.net.*;
import flash.filters.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
public dynamic class music_preloader_2 extends MovieClip {
public function music_preloader_2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package zombieland_fla
Section 15
//TileHouse_31 (zombieland_fla.TileHouse_31)
package zombieland_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.ui.*;
import flash.text.*;
import flash.net.*;
import flash.filters.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
public dynamic class TileHouse_31 extends MovieClip {
public var randomIndex:int;
public function TileHouse_31(){
addFrameScript(0, frame1);
}
function frame1(){
randomIndex = Math.floor((this.totalFrames * Math.random()));
randomIndex++;
gotoAndStop(randomIndex);
}
}
}//package zombieland_fla
Section 16
//TileRoad_27 (zombieland_fla.TileRoad_27)
package zombieland_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.ui.*;
import flash.text.*;
import flash.net.*;
import flash.filters.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
public dynamic class TileRoad_27 extends MovieClip {
public var randomIndex:int;
public function TileRoad_27(){
addFrameScript(0, frame1);
}
function frame1(){
randomIndex = Math.floor((this.totalFrames * Math.random()));
randomIndex++;
gotoAndStop(randomIndex);
}
}
}//package zombieland_fla
Section 17
//weapon_collection_21 (zombieland_fla.weapon_collection_21)
package zombieland_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.ui.*;
import flash.text.*;
import flash.net.*;
import flash.filters.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
public dynamic class weapon_collection_21 extends MovieClip {
public function weapon_collection_21(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package zombieland_fla
Section 18
//AdBlock (AdBlock)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.ui.*;
import flash.text.*;
import flash.net.*;
import flash.filters.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
public dynamic class AdBlock extends MovieClip {
public var modeAd:ModeAd;
public var _BGA;
public function AdBlock(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
_BGA = new BGA_adLoader(89, this);
this.addChild(_BGA);
}
function frame2(){
stop();
modeAd = (this.parent as ModeAd);
modeAd.finishLoading();
}
}
}//package
Section 19
//BackgroundTiler (BackgroundTiler)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
public class BackgroundTiler {
var m_game:ModeGame;
var m_scrollerWidth:int;
var m_container:DisplayObjectContainer;
var m_tiles:Array;
public function BackgroundTiler(_arg1:ModeGame, _arg2:DisplayObjectContainer, _arg3:int){
m_game = _arg1;
m_container = _arg2;
m_scrollerWidth = _arg3;
m_tiles = new Array();
}
function createTile():DisplayObject{
var _local1:DisplayObject;
var _local2:GHockeyRinkBackground;
if (m_game.isZamboniMode()){
_local2 = new GHockeyRinkBackground();
m_game.attachBackgroundSprite(_local2);
return (_local2);
};
_local1 = new TileBuilding1MC();
m_game.attachBackgroundSprite(_local1);
return (_local1);
}
function buildInitialDisplay(){
var _local1:int;
var _local2:DisplayObject;
_local1 = 0;
while (_local1 < m_scrollerWidth) {
_local2 = createTile();
_local2.x = _local1;
_local1 = (_local1 + _local2.width);
m_tiles.push(_local2);
};
}
function clear(){
var _local1:int;
var _local2:DisplayObject;
_local1 = (m_tiles.length - 1);
while (_local1 >= 0) {
_local2 = m_tiles[_local1];
m_game.detachBackgroundSprite(_local2);
_local1--;
};
m_tiles.splice(0);
}
function gotoZamboniMode(){
clear();
buildInitialDisplay();
}
function update(){
var _local1:Number;
var _local2:int;
var _local3:int;
var _local4:DisplayObject;
var _local5:DisplayObject;
var _local6:DisplayObject;
_local1 = m_game.getScrollPosition();
_local2 = (m_tiles.length - 1);
while (_local2 >= 0) {
_local4 = m_tiles[_local2];
if (-(_local1) > (_local4.x + _local4.width)){
m_tiles.splice(_local2, 1);
m_game.detachBackgroundSprite(_local4);
};
_local2--;
};
if (m_tiles.length > 0){
_local5 = m_tiles[(m_tiles.length - 1)];
_local3 = (_local5.x + _local5.width);
} else {
_local3 = _local1;
};
while (_local3 < (-(_local1) + m_scrollerWidth)) {
_local6 = createTile();
_local6.x = _local3;
_local3 = (_local3 + _local6.width);
m_tiles.push(_local6);
};
}
function returnToDefaultMode(){
clear();
buildInitialDisplay();
}
function dispose():void{
m_game = null;
m_tiles.splice(0);
m_container = null;
}
}
}//package
Section 20
//BarrelExplode (BarrelExplode)
package {
import flash.media.*;
public dynamic class BarrelExplode extends Sound {
}
}//package
Section 21
//BehaviorBoss (BehaviorBoss)
package {
import com.urbansquall.math.*;
public class BehaviorBoss implements BehaviorInterface {
var m_timeBetweenFires:Number;// = 1580
var m_timeBeforeNextFire:Number;
var m_mover:Entity;
var m_absoluteY:Number;
var m_speed:Number;
var m_absoluteX:Number;
public function BehaviorBoss(_arg1:Number, _arg2:Number, _arg3:Number){
m_timeBetweenFires = 1580;
super();
m_mover = null;
m_absoluteX = _arg1;
m_absoluteY = _arg2;
m_speed = _arg3;
m_timeBeforeNextFire = (m_timeBetweenFires - 400);
}
function calculateTimeOfNextFire(){
m_timeBeforeNextFire = m_timeBetweenFires;
}
function calculateDesiredX():Number{
return (((-1 * m_mover.getGame().getScrollPosition()) + m_absoluteX));
}
public function attachEntity(_arg1:Entity){
m_mover = _arg1;
calculateTimeOfNextFire();
}
public function update(_arg1:Number){
if (m_mover == null){
return;
};
updateFiring(_arg1);
updateMoving(_arg1);
updateBoss(_arg1);
}
function updateBoss(_arg1:Number){
}
public function updateFiring(_arg1:Number){
m_timeBeforeNextFire = (m_timeBeforeNextFire - _arg1);
if (m_timeBeforeNextFire <= 0){
calculateTimeOfNextFire();
fire();
};
}
public function dispose(){
m_mover = null;
}
function updateMoving(_arg1:Number){
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = calculateDesiredX();
_local3 = (_local2 - m_mover.x);
_local4 = (_arg1 * m_speed);
if (Math.abs(_local4) > Math.abs(_local3)){
_local4 = _local3;
};
m_mover.x = (m_mover.x + _local4);
m_mover.y = m_absoluteY;
if (m_mover.x < _local2){
m_mover.x = _local2;
};
}
function fire(){
var _local1:Number;
var _local2:int;
var _local3:int;
var _local4:Number;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:Entity;
if (m_mover.x > calculateDesiredX()){
return;
};
SoundSystem.getSingleton().playSound("TurtleVomit");
_local1 = 48;
_local2 = (480 - 240);
_local3 = Math.floor((_local2 / _local1));
_local4 = (_local2 / _local3);
_local5 = Math.floor((Math.random() * _local3));
_local6 = Math.floor((Math.random() * _local3));
_local7 = Math.floor((Math.random() * _local3));
_local8 = 0;
while (_local8 < _local3) {
if ((((((_local5 == _local8)) || ((_local6 == _local8)))) || ((_local7 == _local8)))){
} else {
_local9 = EntityFactory.create(EntityFactory.k_lichSpooge, m_mover.getGame());
_local9.x = (m_mover.x - (m_mover.getGameplayWidth() / 2));
_local9.y = ((240 + (_local4 * _local8)) + (_local4 / 2));
};
_local8++;
};
}
}
}//package
Section 22
//BehaviorFactory (BehaviorFactory)
package {
public class BehaviorFactory {
static const k_shooter:String = "Shooter";
static const k_lich:String = "Lich";
static function create(_arg1:String):BehaviorInterface{
switch (_arg1){
case k_shooter:
return (new BehaviorShooter(EntityFactory.k_porcupineProjectile, 1300));
case k_lich:
return (new BehaviorBoss(580, 360, 0.05));
};
trace(("BehaviorFactory: Unknown behavior. " + _arg1));
return (null);
}
}
}//package
Section 23
//BehaviorInterface (BehaviorInterface)
package {
public interface BehaviorInterface {
function attachEntity(_arg1:Entity);
function update(_arg1:Number);
function dispose();
}
}//package
Section 24
//BehaviorShooter (BehaviorShooter)
package {
public class BehaviorShooter implements BehaviorInterface {
var m_shotType:String;
var m_timeBetweenFires:Number;// = 2000
var m_timeBeforeNextFire:Number;
var m_shooter:Entity;
public function BehaviorShooter(_arg1:String, _arg2:Number){
m_timeBetweenFires = 2000;
super();
m_shotType = _arg1;
m_timeBetweenFires = _arg2;
m_timeBeforeNextFire = 0;
}
public function attachEntity(_arg1:Entity){
m_shooter = _arg1;
calculateTimeOfNextFire();
}
public function update(_arg1:Number){
m_timeBeforeNextFire = (m_timeBeforeNextFire - _arg1);
if (m_timeBeforeNextFire <= 0){
calculateTimeOfNextFire();
fire();
};
}
function calculateTimeOfNextFire(){
m_timeBeforeNextFire = (m_timeBeforeNextFire + m_timeBetweenFires);
}
function fire(){
var _local1:Entity;
SoundSystem.getSingleton().playSound("PorcupineQuillTake");
_local1 = EntityFactory.create(m_shotType, m_shooter.getGame());
_local1.x = ((m_shooter.x - (m_shooter.getGameplayWidth() / 2)) - (_local1.getGameplayWidth() / 2));
_local1.y = m_shooter.y;
}
public function dispose(){
m_shooter = null;
}
}
}//package
Section 25
//BGA_adLoader (BGA_adLoader)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
public class BGA_adLoader extends Sprite {
var _BGA_back;
var _BGA_gameId:Number;// = 0
var _BGA_swfVersion:Number;// = 0
var _BGA_loader:Loader;
var _BGA_gameURL:String;// = ""
var _BGA_height:Number;// = 0
var _BGA_externalLoaderTimeout:Timer;
var _BGA_width:Number;// = 0
public function BGA_adLoader(_arg1:Number, _arg2){
_BGA_gameURL = "";
_BGA_swfVersion = 0;
_BGA_gameId = 0;
_BGA_width = 0;
_BGA_height = 0;
_BGA_loader = new Loader();
_BGA_externalLoaderTimeout = new Timer(3000, 1);
super();
_BGA_gameId = _arg1;
_arg2.stop();
Security.allowDomain("*");
Security.allowDomain("localhost");
Security.allowDomain("www.bestgameads.com");
Security.allowInsecureDomain("*");
Security.allowInsecureDomain("localhost");
Security.allowInsecureDomain("www.bestgameads.com");
_BGA_loader.contentLoaderInfo.addEventListener(Event.INIT, initAd);
_BGA_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadBackupCode);
_BGA_loader.load(new URLRequest("http://www.bestgameads.com/ads/BGA_adLoader-as3.swf"));
_BGA_externalLoaderTimeout.addEventListener(TimerEvent.TIMER, loadBackupCode);
_BGA_externalLoaderTimeout.start();
addChild(_BGA_loader);
}
function placeInMiddle(_arg1){
_arg1.x = ((_BGA_width - _arg1.width) / 2);
_arg1.y = ((_BGA_height - _arg1.height) / 2);
}
function initAd(_arg1){
_BGA_gameURL = this.loaderInfo.url;
_BGA_back = this.parent;
_BGA_width = stage.stageWidth;
_BGA_height = stage.stageHeight;
_BGA_externalLoaderTimeout.stop();
}
function loadBackupCode(_arg1){
if (_BGA_gameURL == ""){
initAd(_arg1);
};
_BGA_removeAll();
}
function _BGA_removeAll(){
this.removeChild(_BGA_loader);
_BGA_loader.unload();
_BGA_back.play();
delete ??getglobalscope
[this];
}
function resetGame(_arg1){
_BGA_loader.unload();
}
}
}//package
Section 26
//Blood_Splatter_1 (Blood_Splatter_1)
package {
import flash.display.*;
public dynamic class Blood_Splatter_1 extends BitmapData {
public function Blood_Splatter_1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 27
//Blood_Splatter_2 (Blood_Splatter_2)
package {
import flash.display.*;
public dynamic class Blood_Splatter_2 extends BitmapData {
public function Blood_Splatter_2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 28
//Blood_Splatter_3 (Blood_Splatter_3)
package {
import flash.display.*;
public dynamic class Blood_Splatter_3 extends BitmapData {
public function Blood_Splatter_3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 29
//CarAppear (CarAppear)
package {
import flash.media.*;
public dynamic class CarAppear extends Sound {
}
}//package
Section 30
//CrateSmash (CrateSmash)
package {
import flash.media.*;
public dynamic class CrateSmash extends Sound {
}
}//package
Section 31
//Entity (Entity)
package {
import flash.display.*;
import flash.events.*;
import com.urbansquall.graphics.*;
import flash.geom.*;
import com.urbansquall.math.*;
import flash.filters.*;
public class Entity {
var m_game:ModeGame;
var m_behaviors:Array;
var m_markedForDeletion:Boolean;
var m_collisionShape:Rectangle;
var m_livingTime:int;
var m_container:Sprite;
var m_animation:TileSheetAnimation;
var m_data:EntityData;
var m_isDead:Boolean;
var m_health:int;
var m_velocity:Vector2;
public function Entity(_arg1:ModeGame, _arg2:EntityData){
m_game = _arg1;
m_markedForDeletion = false;
m_data = _arg2;
m_animation = null;
m_isDead = false;
m_velocity = new Vector2();
m_behaviors = null;
_arg2.attachBehaviors(this);
initialize();
}
function getCollisionShape():Rectangle{
return (m_collisionShape);
}
function getGameplayWidth():int{
return (m_data.width);
}
function initialize(){
var _local1:int;
var _local2:int;
var _local3:Graphics;
m_container = new Sprite();
m_game.attachGameDisplay(m_container);
m_animation = m_data.createAnimation();
if (m_animation != null){
m_container.addChild(m_animation);
m_animation.scaleX = 2;
m_animation.scaleY = 2;
m_animation.x = m_data.resourceX;
m_animation.y = m_data.resourceY;
m_animation.playAnimation("idle");
};
_local1 = m_data.width;
_local2 = m_data.height;
if (m_data.showCollisionShape){
_local3 = m_container.graphics;
_local3.beginFill(m_data.color);
_local3.drawRect((-(_local1) / 2), (-(_local2) / 2), _local1, _local2);
_local3.endFill();
};
if (m_data.createSound != ""){
SoundSystem.getSingleton().playSound(m_data.createSound);
};
m_collisionShape = new Rectangle((-(_local1) / 2), (-(_local2) / 2), _local1, _local2);
m_game.addEntity(this);
m_livingTime = m_data.livingTime;
m_health = m_data.health;
m_velocity.x = m_data.velocityX;
m_velocity.y = m_data.velocityY;
attachShadow();
}
function addBehavior(_arg1:BehaviorInterface){
if (m_behaviors == null){
m_behaviors = new Array();
};
_arg1.attachEntity(this);
m_behaviors.push(_arg1);
}
public function set y(_arg1:Number):void{
this.m_container.y = _arg1;
this.m_collisionShape.y = (_arg1 - (this.m_collisionShape.height / 2));
}
function onDeathAnimationComplete(){
m_animation.pause();
if (m_data.removeOnDeath){
markForDeletion();
};
}
function die(){
if (m_markedForDeletion){
return;
};
m_isDead = true;
if (((!((m_animation == null))) && (m_animation.hasAnimation("death")))){
m_animation.playAnimation("death");
m_animation.onComplete(onDeathAnimationComplete);
} else {
markForDeletion();
};
m_data.killInstance(m_game, this);
m_velocity.x = 0;
}
function dispose(){
var _local1:int;
var _local2:BehaviorInterface;
if (m_behaviors != null){
_local1 = 0;
while (_local1 < m_behaviors.length) {
_local2 = m_behaviors[_local1];
_local2.dispose();
_local1++;
};
};
m_game.detachGameDisplay(m_container);
m_container = null;
m_game = null;
}
function markForDeletion(){
m_markedForDeletion = true;
}
function isDead():Boolean{
return ((m_health <= 0));
}
function getType():String{
return (m_data.type);
}
function intersects(_arg1:Rectangle){
return (m_collisionShape.intersects(_arg1));
}
function getSprite():Sprite{
return (m_container);
}
public function get depth():Number{
return ((y + (getGameplayHeight() / 2)));
}
function attachShadow(){
var _local1:Bitmap;
if (!ModeGame.lowQuality){
if (m_data.shadowResource != ""){
_local1 = ResourceLoader.getBitmap(m_data.shadowResource);
m_container.addChildAt(_local1, 0);
_local1.scaleX = 2;
_local1.scaleY = 2;
_local1.x = (_local1.x - (_local1.width / 2));
_local1.y = (_local1.y + m_data.shadowResourceY);
};
};
}
function finishTakingDamage(){
m_animation.playAnimation("idle");
}
function update(_arg1:Number){
var _local2:Number;
var _local3:Player;
var _local4:Rectangle;
var _local5:Rectangle;
var _local6:Rectangle;
var _local7:Number;
var _local8:Number;
var _local9:Array;
var _local10:int;
var _local11:int;
var _local12:Entity;
var _local13:Boolean;
var _local14:BehaviorInterface;
if (m_animation != null){
_local2 = _arg1;
if (ModeGame.lowQuality){
_local2 = (0.3 * _local2);
};
m_animation.update(_local2);
};
this.x = (this.x + (m_velocity.x * _arg1));
if (this.m_collisionShape.right < (-(this.m_container.width) + (-1 * m_game.getScrollPosition()))){
markForDeletion();
};
if (m_isDead){
return;
};
if (m_data.hurtsPlayer){
_local3 = m_game.getLocalPlayer();
if (_local3.canBeHit()){
_local4 = _local3.getCollisionShape();
if (intersects(_local4)){
_local3.takeDamage(1, this);
markForDeletion();
};
} else {
if (_local3.isZamboni()){
_local5 = _local3.getZamboniCollisionShape();
if (intersects(_local5)){
if ((((_local5.y < this.m_collisionShape.y)) && ((_local5.bottom > this.m_collisionShape.top)))){
this.y = (this.y - (_local5.bottom - this.m_collisionShape.top));
this.y = Math.max(this.y, 240);
} else {
if ((((_local5.y > this.m_collisionShape.y)) && ((_local5.top < this.m_collisionShape.bottom)))){
this.y = (this.y + (this.m_collisionShape.bottom - _local5.top));
};
};
takeDamage(10);
};
};
};
};
if (m_data.blocksPlayer){
_local3 = m_game.getLocalPlayer();
_local6 = _local3.getCollisionShape();
if (((!(_local3.isZamboni())) && (intersects(_local6)))){
_local7 = 15;
_local8 = (_local6.right - this.m_collisionShape.left);
if ((((((_local8 > 0)) && ((_local8 < _local7)))) && ((((_local6.bottom > this.m_collisionShape.top)) || ((_local6.top < this.m_collisionShape.bottom)))))){
_local3.changeXOffset((this.m_collisionShape.left - _local6.right));
} else {
if ((((_local6.y < this.m_collisionShape.y)) && ((_local6.bottom > this.m_collisionShape.top)))){
_local3.y = (_local3.y - (_local6.bottom - this.m_collisionShape.top));
} else {
if ((((_local6.y > this.m_collisionShape.y)) && ((_local6.top < this.m_collisionShape.bottom)))){
_local3.y = (_local3.y + (this.m_collisionShape.bottom - _local6.top));
};
};
};
};
};
if (m_data.powerupType != ""){
_local3 = m_game.getLocalPlayer();
if (_local3.canBeHit()){
_local4 = _local3.getCollisionShape();
if (intersects(_local4)){
_local3.collectPowerup(m_data.powerupType);
die();
};
};
};
if (m_data.hurtsEntities){
_local9 = m_game.getEntities();
_local10 = _local9.length;
_local11 = 0;
while (_local11 < _local10) {
_local12 = _local9[_local11];
if (_local12 == this){
} else {
if (_local12.isDead()){
} else {
_local6 = _local12.getCollisionShape();
if (intersects(_local6)){
_local13 = true;
if (m_data.blocksPlayer){
_local7 = 15;
if ((((_local6.y < this.m_collisionShape.y)) && ((_local6.bottom > this.m_collisionShape.top)))){
_local12.y = (_local12.y - (_local6.bottom - this.m_collisionShape.top));
this.y = Math.max(this.y, 240);
} else {
if ((((_local6.y > this.m_collisionShape.y)) && ((_local6.top < this.m_collisionShape.bottom)))){
_local12.y = (_local12.y + (this.m_collisionShape.bottom - _local6.top));
};
};
_local13 = false;
};
_local12.takeDamage(m_data.damage, _local13);
if (m_data.dieOnTouchEntity){
die();
};
};
};
};
_local11++;
};
};
if (m_behaviors != null){
_local11 = 0;
while (_local11 < m_behaviors.length) {
_local14 = m_behaviors[_local11];
_local14.update(_arg1);
_local11++;
};
};
if (m_livingTime > 0){
m_livingTime = (m_livingTime - _arg1);
if (m_livingTime <= 0){
die();
};
};
}
function takeDamage(_arg1:int, _arg2:Boolean=true){
if (m_health <= 0){
return;
};
m_health = (m_health - _arg1);
if (m_health <= 0){
if (m_data.dieSound != ""){
SoundSystem.getSingleton().playSound(m_data.dieSound);
};
if (_arg2){
m_game.registerKill(m_data.killValue);
};
die();
} else {
if (m_data.hurtSound != ""){
SoundSystem.getSingleton().playSound(m_data.hurtSound);
};
if (((!((m_animation == null))) && (m_animation.hasAnimation("hit")))){
m_animation.onComplete(finishTakingDamage);
m_animation.playAnimation("hit");
};
};
}
function isMarkedForDeletion():Boolean{
return (m_markedForDeletion);
}
function getGameplayHeight():int{
return (m_data.height);
}
function getGame():ModeGame{
return (m_game);
}
function getHurtPlayerSound():String{
return (m_data.hurtPlayerSound);
}
public function set visible(_arg1:Boolean):void{
this.m_container.visible = _arg1;
}
public function set x(_arg1:Number):void{
this.m_container.x = _arg1;
this.m_collisionShape.x = (_arg1 - (this.m_collisionShape.width / 2));
}
public function get visible():Boolean{
return (this.m_container.visible);
}
public function get y():Number{
return (this.m_container.y);
}
public function set rotation(_arg1:Number):void{
this.m_container.rotation = _arg1;
}
public function get rotation():Number{
return (this.m_container.rotation);
}
public function get x():Number{
return (this.m_container.x);
}
}
}//package
Section 32
//EntityData (EntityData)
package {
import flash.display.*;
import flash.events.*;
import com.urbansquall.graphics.*;
import flash.geom.*;
import flash.utils.*;
public class EntityData {
public var dieOnTouchEntity:Boolean;// = true
public var resourceY:int;// = 0
public var resourceX:int;// = 0
public var resource:String;// = ""
public var velocityX:Number;// = 0
public var blocksPlayer:Boolean;// = false
public var hurtsEntities:Boolean;// = false
public var hurtPlayerSound:String;// = ""
public var height:int;// = 20
public var velocityY:Number;// = 0
public var livingTime:int;// = -1
public var removeOnDeath:Boolean;// = false
public var killValue:int;// = 0
public var powerupType:String;// = ""
public var hurtSound:String;// = ""
public var type;
public var hurtsPlayer:Boolean;// = true
public var width:int;// = 20
public var shadowResourceY:int;// = 0
public var tileSheet:String;// = ""
public var shadowResource:String;// = ""
public var spawnOnDeath:String;// = ""
public var health:int;// = -1
public var behaviors:Array;
public var color:uint;// = 0xFF0000
public var showCollisionShape:Boolean;// = true
public var damage:int;// = 0
public var createSound:String;// = ""
public var dieSound:String;// = ""
public function EntityData(_arg1:String){
hurtsPlayer = true;
hurtsEntities = false;
blocksPlayer = false;
width = 20;
height = 20;
color = 0xFF0000;
livingTime = -1;
damage = 0;
health = -1;
resource = "";
resourceX = 0;
resourceY = 0;
tileSheet = "";
showCollisionShape = true;
velocityX = 0;
velocityY = 0;
powerupType = "";
spawnOnDeath = "";
behaviors = new Array();
dieOnTouchEntity = true;
shadowResource = "";
killValue = 0;
shadowResourceY = 0;
dieSound = "";
hurtSound = "";
createSound = "";
hurtPlayerSound = "";
removeOnDeath = false;
super();
type = _arg1;
}
function killInstance(_arg1:ModeGame, _arg2:Entity){
var _local3:Entity;
var _local4:int;
var _local5:int;
if (spawnOnDeath != ""){
_local3 = EntityFactory.create(spawnOnDeath, _arg1);
_local4 = _arg2.x;
_local5 = _arg2.y;
_local3.x = _local4;
_local3.y = _local5;
};
}
function attachBehaviors(_arg1:Entity){
var _local2:int;
_local2 = 0;
while (_local2 < behaviors.length) {
_arg1.addBehavior(BehaviorFactory.create(behaviors[_local2]));
_local2++;
};
}
function createAnimation():TileSheetAnimation{
if ((((resource == "")) || ((tileSheet == "")))){
return (null);
};
return (ResourceLoader.createTileSheetAnimation(tileSheet, ResourceLoader.getBitmapData(resource)));
}
}
}//package
Section 33
//EntityFactory (EntityFactory)
package {
import flash.display.*;
import com.urbansquall.ui.modes.*;
import flash.events.*;
import flash.utils.*;
public class EntityFactory {
static const k_car:String = "car";
static const k_barrel:String = "barrel";
static const k_tankZombie:String = "Zombie_Tank";
static const k_crossbowCrate:String = "crossbowCrate";
static const k_zombieCorpse:String = "Zombie_Generic_Corpse";
static const k_nerfShot:String = "nerf";
static const k_shooterZombieCorpse:String = "Zombie_Shooter_Corpse";
static const k_usedRailgun:String = "usedrailgun";
static const k_tankZombieCorpse:String = "Zombie_Tank_Corpse";
static const k_railgunShotAnimation:String = "railgunShotAnimation";
static const k_shotgunCrate:String = "shotgunCrate";
static const k_railgunShot:String = "railgunShot";
static const k_usedShotgun:String = "usedshotgun";
static const k_lichSpooge:String = "Lich_Spooge";
static const k_usedChainsaw:String = "usedchainsaw";
static const k_usedCrossbow:String = "usedcrossbow";
static const k_explosion:String = "explosion";
static const k_explosionAnimation:String = "explosionAnimation";
static const k_chainsawCrate:String = "chainsawCrate";
static const k_railgunCrate:String = "railgunCrate";
static const k_shotgunShot:String = "shotgunShot";
static const k_wheelchairZombie:String = "Zombie_Wheelchair";
static const k_zamboniKey:String = "zamboniKey";
static const k_wheelChairZombieCorpse:String = "Zombie_Wheelchair_Corpse";
static const k_porcupineProjectile:String = "Zombie_Shooter_Projectile";
static const k_healthCrate:String = "healthCrate";
static const k_zombie:String = "Zombie_Generic";
static const k_chainsawBlast:String = "chainsawBlast";
static const k_lich:String = "Zombie_Lich";
static const k_shooterZombie:String = "Zombie_Shooter";
static const k_crossbowShot:String = "crossbowShot";
static var s_entityDataMap:Dictionary = null;
static function create(_arg1:String, _arg2:ModeGame):Entity{
var _local3:EntityData;
var _local4:Entity;
initialize();
_local3 = s_entityDataMap[_arg1];
if (_local3 != null){
_local4 = new Entity(_arg2, _local3);
return (_local4);
};
trace(("EntityFactory: Unknown entity type. " + _arg1));
return (null);
}
private static function initialize(){
if (s_entityDataMap != null){
return;
};
s_entityDataMap = new Dictionary(false);
initializeDatas();
}
private static function createData(_arg1:String){
var _local2:EntityData;
_local2 = new EntityData(_arg1);
s_entityDataMap[_arg1] = _local2;
return (_local2);
}
private static function initializeDatas(){
var _local1:EntityData;
var _local2:EntityData;
var _local3:EntityData;
var _local4:EntityData;
var _local5:EntityData;
var _local6:EntityData;
var _local7:EntityData;
var _local8:EntityData;
var _local9:EntityData;
var _local10:EntityData;
var _local11:EntityData;
var _local12:EntityData;
var _local13:EntityData;
var _local14:EntityData;
var _local15:EntityData;
var _local16:EntityData;
var _local17:EntityData;
var _local18:EntityData;
var _local19:EntityData;
var _local20:EntityData;
var _local21:EntityData;
var _local22:EntityData;
var _local23:EntityData;
var _local24:EntityData;
var _local25:EntityData;
var _local26:EntityData;
var _local27:EntityData;
var _local28:EntityData;
var _local29:EntityData;
var _local30:EntityData;
var _local31:EntityData;
_local1 = createData(k_zombie);
_local1.hurtsPlayer = true;
_local1.hurtsEntities = false;
_local1.killValue = 2;
_local1.health = 2;
_local1.width = 36;
_local1.height = 20;
_local1.showCollisionShape = false;
_local1.resource = "Zombie_Generic";
_local1.tileSheet = "Zombie_Generic";
_local1.resourceX = -10;
_local1.resourceY = -60;
_local1.shadowResource = "Shadow_ZombiesAndHeroes";
_local1.dieSound = "ZombieDie";
_local1.hurtSound = "ZombieHurt";
_local2 = createData(k_lichSpooge);
_local2.hurtsPlayer = true;
_local2.hurtsEntities = false;
_local2.killValue = 0;
_local2.health = -1;
_local2.color = 16777088;
_local2.width = 40;
_local2.height = 40;
_local2.showCollisionShape = false;
_local2.resource = "Lich_Spooge";
_local2.tileSheet = "Lich_Spooge";
_local2.hurtPlayerSound = "VomitSplash";
_local3 = createData(k_zombieCorpse);
_local3.hurtsPlayer = false;
_local3.hurtsEntities = false;
_local3.showCollisionShape = false;
_local3.resource = "Zombie_Generic_Corpse";
_local3.tileSheet = "Zombie_Generic_Corpse";
_local3.resourceX = -88;
_local3.resourceY = -16;
_local4 = createData(k_wheelchairZombie);
_local4.hurtsPlayer = true;
_local4.hurtsEntities = false;
_local4.killValue = 3;
_local4.health = 2;
_local4.width = 36;
_local4.height = 20;
_local4.showCollisionShape = false;
_local4.velocityX = -0.11;
_local4.resource = "Zombie_Wheelchair";
_local4.tileSheet = "Zombie_Wheelchair";
_local4.resourceX = -10;
_local4.resourceY = -60;
_local4.shadowResource = "Shadow_ZombiesAndHeroes";
_local4.createSound = "RollingZombieAppear";
_local4.dieSound = "ZombieDie";
_local4.hurtSound = "ZombieHurt";
_local5 = createData(k_wheelChairZombieCorpse);
_local5.hurtsPlayer = false;
_local5.hurtsEntities = false;
_local5.showCollisionShape = false;
_local5.resource = "Zombie_Wheelchair_Corpse";
_local5.tileSheet = "Zombie_Wheelchair_Corpse";
_local5.resourceX = -88;
_local5.resourceY = -18;
_local6 = createData(k_shooterZombie);
_local6.hurtsPlayer = true;
_local6.killValue = 4;
_local6.hurtsEntities = false;
_local6.health = 2;
_local6.width = 60;
_local6.height = 30;
_local6.color = 0xFF8000;
_local6.showCollisionShape = false;
_local6.behaviors.push(BehaviorFactory.k_shooter);
_local6.resource = "Zombie_Shooter";
_local6.tileSheet = "Zombie_Shooter";
_local6.resourceX = -25;
_local6.resourceY = -52;
_local6.shadowResource = "Shadow_ZombiesAndHeroes";
_local6.dieSound = "ShooterDie";
_local6.hurtSound = "ShooterHurt";
_local7 = createData(k_porcupineProjectile);
_local7.hurtsPlayer = true;
_local7.hurtsEntities = false;
_local7.health = 1;
_local7.width = 36;
_local7.height = 20;
_local7.showCollisionShape = false;
_local7.velocityX = -0.11;
_local7.resource = "Zombie_Shooter_Projectile";
_local7.tileSheet = "Zombie_Shooter_Projectile";
_local7.resourceX = -10;
_local7.resourceY = -60;
_local7.shadowResource = "Shadow_ZombiesAndHeroes";
_local7.hurtPlayerSound = "QuillsHit";
_local7.removeOnDeath = true;
_local8 = createData(k_shooterZombieCorpse);
_local8.hurtsPlayer = false;
_local8.hurtsEntities = false;
_local8.showCollisionShape = false;
_local8.resource = "Zombie_Shooter_Corpse";
_local8.tileSheet = "Zombie_Shooter_Corpse";
_local9 = createData(k_lich);
_local9.hurtsPlayer = false;
_local9.hurtsEntities = true;
_local9.blocksPlayer = true;
_local9.killValue = 100;
_local9.health = 21;
_local9.damage = 50;
_local9.width = 276;
_local9.height = 240;
_local9.color = 0;
_local9.showCollisionShape = false;
_local9.resourceX = -50;
_local9.resourceY = -220;
_local9.resource = "Zombie_Lich";
_local9.tileSheet = "Zombie_Lich";
_local9.behaviors.push(BehaviorFactory.k_lich);
_local9.shadowResource = "Shadow_Zamboni";
_local9.shadowResourceY = -60;
_local9.dieSound = "KingDie";
_local9.hurtSound = "KingHurt";
_local9.createSound = "KingAppears";
_local10 = createData(k_tankZombie);
_local10.hurtsPlayer = true;
_local10.killValue = 5;
_local10.hurtsEntities = false;
_local10.health = 4;
_local10.width = 60;
_local10.height = 36;
_local10.showCollisionShape = false;
_local10.resource = "Zombie_Tank";
_local10.tileSheet = "Zombie_Tank";
_local10.resourceX = -14;
_local10.resourceY = -50;
_local10.shadowResource = "Shadow_ZombiesAndHeroes";
_local10.dieSound = "GiantZombieDie";
_local10.hurtSound = "GiantZombieHurt";
_local10.createSound = "GiantZombieAppear";
_local10.hurtPlayerSound = "GiantZombieEatPlayer";
_local11 = createData(k_tankZombieCorpse);
_local11.hurtsPlayer = false;
_local11.hurtsEntities = false;
_local11.showCollisionShape = false;
_local11.color = 0xFFFF00;
_local11.resource = "Zombie_Tank_Corpse";
_local11.tileSheet = "Zombie_Tank_Corpse";
_local11.resourceY = -40;
_local12 = createData(k_chainsawBlast);
_local12.hurtsPlayer = false;
_local12.hurtsEntities = true;
_local12.color = 0xFF00;
_local12.livingTime = 1;
_local12.damage = 3;
_local12.width = 100;
_local12.height = 72;
_local12.showCollisionShape = false;
_local13 = createData(k_nerfShot);
_local13.hurtsPlayer = false;
_local13.hurtsEntities = true;
_local13.livingTime = 1000;
_local13.damage = 1;
_local13.width = 25;
_local13.height = 10;
_local13.velocityX = 0.5;
_local13.color = 4227200;
_local13.showCollisionShape = false;
_local13.resource = "Projectile_Nerf";
_local13.tileSheet = "Projectile_Nerf";
_local13.resourceY = -45;
_local14 = createData(k_crossbowShot);
_local14.hurtsPlayer = false;
_local14.hurtsEntities = true;
_local14.livingTime = 1000;
_local14.damage = 1;
_local14.width = 25;
_local14.height = 10;
_local14.velocityX = 0.5;
_local14.color = 4227200;
_local14.showCollisionShape = false;
_local14.resource = "Projectile_Crossbow";
_local14.tileSheet = "Projectile_Crossbow";
_local14.resourceY = -45;
_local14.spawnOnDeath = k_explosion;
_local15 = createData(k_barrel);
_local15.blocksPlayer = true;
_local15.hurtsPlayer = false;
_local15.hurtsEntities = false;
_local15.health = 3;
_local15.width = 32;
_local15.height = 32;
_local15.color = 4227200;
_local15.showCollisionShape = false;
_local15.resource = "Object_Barrel";
_local15.resourceY = -48;
_local15.tileSheet = "Object_Barrel";
_local15.spawnOnDeath = k_explosion;
_local15.shadowResource = "Shadow_ZombiesAndHeroes";
_local16 = createData(k_shotgunShot);
_local16.hurtsPlayer = false;
_local16.hurtsEntities = true;
_local16.color = 4227200;
_local16.livingTime = 1000;
_local16.damage = 3;
_local16.width = 150;
_local16.height = 60;
_local16.showCollisionShape = false;
_local17 = createData(k_shotgunCrate);
_local17.powerupType = Player.k_shotgun;
_local17.hurtsPlayer = false;
_local17.hurtsEntities = false;
_local17.color = 0xFF00;
_local17.width = 48;
_local17.height = 32;
_local17.resourceX = -12;
_local17.resourceY = -26;
_local17.resource = "Object_Crate";
_local17.tileSheet = "Object_Crate";
_local17.showCollisionShape = false;
_local17.shadowResource = "Shadow_ZombiesAndHeroes";
_local18 = createData(k_healthCrate);
_local18.powerupType = Player.k_health;
_local18.hurtsPlayer = false;
_local18.hurtsEntities = false;
_local18.color = 0xFF0080;
_local18.width = 48;
_local18.height = 32;
_local18.resourceX = -12;
_local18.resourceY = -26;
_local18.resource = "Object_FirstAid";
_local18.tileSheet = "Object_FirstAid";
_local18.showCollisionShape = false;
_local18.shadowResource = "Shadow_ZombiesAndHeroes";
_local19 = createData(k_zamboniKey);
_local19.powerupType = Player.k_zamboni;
_local19.hurtsPlayer = false;
_local19.hurtsEntities = false;
_local19.color = 0xFFFF00;
_local19.width = 48;
_local19.height = 32;
_local19.resourceX = -12;
_local19.resource = "Object_ZamboniKey";
_local19.tileSheet = "Object_ZamboniKey";
_local19.showCollisionShape = false;
_local20 = createData(k_crossbowCrate);
_local20.powerupType = Player.k_crossbow;
_local20.hurtsPlayer = false;
_local20.hurtsEntities = false;
_local20.color = 0xFFFF;
_local20.width = 48;
_local20.height = 32;
_local20.resourceX = -12;
_local20.resourceY = -26;
_local20.resource = "Object_Crate";
_local20.tileSheet = "Object_Crate";
_local20.showCollisionShape = false;
_local20.shadowResource = "Shadow_ZombiesAndHeroes";
_local21 = createData(k_explosion);
_local21.hurtsPlayer = true;
_local21.hurtsEntities = true;
_local21.color = 16464292;
_local21.livingTime = 1;
_local21.damage = 4;
_local21.width = 100;
_local21.height = 160;
_local21.showCollisionShape = false;
_local21.spawnOnDeath = k_explosionAnimation;
_local21.createSound = "BarrelExplode";
_local22 = createData(k_explosionAnimation);
_local22.hurtsPlayer = false;
_local22.hurtsEntities = false;
_local22.color = 16464292;
_local22.livingTime = (8 * 65);
_local22.width = 100;
_local22.height = 160;
_local22.resource = "Projectile_Explosion";
_local22.tileSheet = "Projectile_Explosion";
_local22.resourceY = -80;
_local22.showCollisionShape = false;
_local23 = createData(k_railgunShot);
_local23.hurtsPlayer = false;
_local23.hurtsEntities = true;
_local23.color = 4227200;
_local23.livingTime = 1;
_local23.damage = 3;
_local23.width = 640;
_local23.height = 32;
_local23.showCollisionShape = false;
_local23.dieOnTouchEntity = false;
_local23.spawnOnDeath = k_railgunShotAnimation;
_local24 = createData(k_railgunShotAnimation);
_local24.hurtsPlayer = false;
_local24.hurtsEntities = false;
_local24.color = 4227200;
_local24.livingTime = (4 * 65);
_local24.width = 640;
_local24.height = 32;
_local24.resource = "Projectile_Railgun";
_local24.resourceY = -24;
_local24.tileSheet = "Projectile_Railgun";
_local24.showCollisionShape = false;
_local24.dieOnTouchEntity = false;
_local25 = createData(k_railgunCrate);
_local25.powerupType = Player.k_railgun;
_local25.hurtsPlayer = false;
_local25.hurtsEntities = false;
_local25.color = 4227200;
_local25.width = 48;
_local25.height = 32;
_local25.resourceX = -12;
_local25.resourceY = -26;
_local25.resource = "Object_Crate";
_local25.tileSheet = "Object_Crate";
_local25.showCollisionShape = false;
_local25.shadowResource = "Shadow_ZombiesAndHeroes";
_local26 = createData(k_chainsawCrate);
_local26.powerupType = Player.k_chainsaw;
_local26.hurtsPlayer = false;
_local26.hurtsEntities = false;
_local26.color = 4227200;
_local26.width = 48;
_local26.height = 32;
_local26.resourceX = -12;
_local26.resourceY = -26;
_local26.resource = "Object_Crate";
_local26.tileSheet = "Object_Crate";
_local26.showCollisionShape = false;
_local26.shadowResource = "Shadow_ZombiesAndHeroes";
_local27 = createData(k_car);
_local27.blocksPlayer = true;
_local27.hurtsPlayer = false;
_local27.hurtsEntities = true;
_local27.health = -1;
_local27.dieOnTouchEntity = false;
_local27.damage = 99999999999;
_local27.color = 4227200;
_local27.width = 220;
_local27.height = 80;
_local27.resource = "Object_Car";
_local27.tileSheet = "Object_Car";
_local27.resourceY = -35;
_local27.velocityX = -0.15;
_local27.showCollisionShape = false;
_local27.createSound = "CarAppear";
_local28 = createData(k_usedCrossbow);
_local28.hurtsPlayer = false;
_local28.hurtsEntities = false;
_local28.color = 4227200;
_local28.resource = "Weapon_Crossbow";
_local28.tileSheet = "Weapon_Crossbow";
_local28.showCollisionShape = false;
_local28.shadowResource = "Shadow_ZombiesAndHeroes";
_local29 = createData(k_usedRailgun);
_local29.hurtsPlayer = false;
_local29.hurtsEntities = false;
_local29.color = 4227200;
_local29.resource = "Weapon_Railgun";
_local29.tileSheet = "Weapon_Railgun";
_local29.showCollisionShape = false;
_local29.shadowResource = "Shadow_ZombiesAndHeroes";
_local30 = createData(k_usedChainsaw);
_local30.hurtsPlayer = false;
_local30.hurtsEntities = false;
_local30.color = 4227200;
_local30.resource = "Weapon_Chainsaw";
_local30.tileSheet = "Weapon_Chainsaw";
_local30.showCollisionShape = false;
_local30.shadowResource = "Shadow_ZombiesAndHeroes";
_local31 = createData(k_usedShotgun);
_local31.hurtsPlayer = false;
_local31.hurtsEntities = false;
_local31.color = 4227200;
_local31.resource = "Weapon_Shotgun";
_local31.tileSheet = "Weapon_Shotgun";
_local31.showCollisionShape = false;
_local31.shadowResource = "Shadow_ZombiesAndHeroes";
}
}
}//package
Section 34
//Fader (Fader)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public class Fader extends MovieClip {
var m_timer:Timer;
var m_delay:Number;
var m_fadeTime:Number;
var m_accruedTime:Number;
var m_callback:Function;// = null
var m_display:DisplayObject;
static const k_tickTime:Number = 100;
public function Fader(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Function=null){
m_callback = null;
super();
addChild(_arg1);
m_accruedTime = 0;
m_delay = _arg2;
m_fadeTime = _arg3;
m_callback = _arg4;
m_display = _arg1;
m_timer = new Timer(k_tickTime);
m_timer.addEventListener(TimerEvent.TIMER, updateTimer, false, 0, true);
m_timer.start();
}
function updateTimer(_arg1:Event){
var _local2:Number;
m_accruedTime = (m_accruedTime + k_tickTime);
if (m_accruedTime < m_delay){
return;
};
if (m_accruedTime >= (m_delay + m_fadeTime)){
dispose();
return;
};
_local2 = (1 - ((m_accruedTime - m_delay) / m_fadeTime));
m_display.alpha = _local2;
}
function dispose(){
m_timer.stop();
m_timer = null;
if (m_callback != null){
m_callback.call();
};
this.parent.removeChild(this);
m_display = null;
m_callback = null;
}
}
}//package
Section 35
//FlamethrowerShoot (FlamethrowerShoot)
package {
import flash.media.*;
public dynamic class FlamethrowerShoot extends Sound {
}
}//package
Section 36
//GameScroller (GameScroller)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
public class GameScroller {
var m_scrollSpeed:Number;
var m_scrollTarget:DisplayObject;
var m_scrollerPosition:Number;
var m_accruedTime:Number;
public function GameScroller(_arg1:DisplayObject, _arg2:Number){
m_scrollSpeed = _arg2;
m_scrollTarget = _arg1;
m_accruedTime = 0;
m_scrollerPosition = 0;
}
function update(_arg1:Number){
var _local2:Number;
_local2 = Math.floor((_arg1 * m_scrollSpeed));
m_scrollTarget.x = (m_scrollTarget.x + _local2);
m_scrollerPosition = m_scrollTarget.x;
}
function getScrollPosition():Number{
return (m_scrollerPosition);
}
function setScrollSpeed(_arg1:Number){
m_scrollSpeed = _arg1;
}
function dispose():void{
m_scrollTarget = null;
}
}
}//package
Section 37
//GHockeyRinkBackground (GHockeyRinkBackground)
package {
import flash.display.*;
import flash.events.*;
import com.urbansquall.graphics.*;
import com.urbansquall.utils.*;
import flash.geom.*;
import flash.utils.*;
public class GHockeyRinkBackground extends Sprite {
var k_animationUpdateTime:int;// = 30
var k_width:int;// = 120
var m_timer:Timer;
var k_bgCount:int;// = 1
public function GHockeyRinkBackground(){
var _local1:int;
var _local2:TileSheetAnimation;
k_bgCount = 1;
k_width = 120;
k_animationUpdateTime = 30;
super();
_local1 = 0;
while (_local1 < k_bgCount) {
_local2 = ResourceLoader.createTileSheetAnimation("HockeyRink", ResourceLoader.getBitmapData(ResourceLoader.k_HockeyRink));
_local2.scaleX = 2;
_local2.scaleY = 2;
_local2.x = ((_local1 * k_width) + (k_width / 2));
_local2.y = 240;
_local2.playAnimation("idle");
addChild(_local2);
_local1++;
};
m_timer = new Timer(k_animationUpdateTime);
m_timer.addEventListener(TimerEvent.TIMER, update, false, 0, true);
m_timer.start();
}
function dispose(){
m_timer.stop();
m_timer = null;
}
override public function get width():Number{
return ((k_bgCount * k_width));
}
function update(_arg1:Event){
var _local2:int;
var _local3:TileSheetAnimation;
if (this.stage == null){
dispose();
return;
};
_local2 = 0;
while (_local2 < this.numChildren) {
_local3 = (this.getChildAt(_local2) as TileSheetAnimation);
_local3.update(k_animationUpdateTime);
_local2++;
};
}
}
}//package
Section 38
//GiantZombieAppear (GiantZombieAppear)
package {
import flash.media.*;
public dynamic class GiantZombieAppear extends Sound {
}
}//package
Section 39
//GiantZombieDie (GiantZombieDie)
package {
import flash.media.*;
public dynamic class GiantZombieDie extends Sound {
}
}//package
Section 40
//GiantZombieEatPlayer (GiantZombieEatPlayer)
package {
import flash.media.*;
public dynamic class GiantZombieEatPlayer extends Sound {
}
}//package
Section 41
//GiantZombieHurt (GiantZombieHurt)
package {
import flash.media.*;
public dynamic class GiantZombieHurt extends Sound {
}
}//package
Section 42
//HealthPickup (HealthPickup)
package {
import flash.media.*;
public dynamic class HealthPickup extends Sound {
}
}//package
Section 43
//Hero (Hero)
package {
import flash.display.*;
public dynamic class Hero extends BitmapData {
public function Hero(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 44
//Hero_Hit (Hero_Hit)
package {
import flash.display.*;
public dynamic class Hero_Hit extends BitmapData {
public function Hero_Hit(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 45
//HockeyRink (HockeyRink)
package {
import flash.display.*;
public dynamic class HockeyRink extends BitmapData {
public function HockeyRink(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 46
//Hud (Hud)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class Hud extends MovieClip {
public var level_progress_bar:MovieClip;
var m_initialized:Boolean;
public var quota_txt:TextField;
public var weapon_selection:MovieClip;
public var level_txt:TextField;
public var mute_btn:MovieClip;
public var lowquality_btn:MovieClip;
public var hiquality_btn:MovieClip;
public var weapon_left_txt:TextField;
public var active_weapon_txt:TextField;
public var heart2:MovieClip;
public var heart3:MovieClip;
public var heart5:MovieClip;
public var heart4:MovieClip;
public var heart1:MovieClip;
public var unmute_btn:MovieClip;
public var weapon_left_bar:MovieClip;
public var hitpoints_txt:TextField;
public function Hud(){
setupHudButtons();
m_initialized = false;
}
function updateWeaponTimer(_arg1:Number, _arg2:Number){
var _local3:Number;
_local3 = (_arg1 / _arg2);
weapon_left_bar.scaleX = _local3;
}
function activateHeart(_arg1:MovieClip){
if (!_arg1.visible){
_arg1.play();
_arg1.visible = true;
};
}
function updateActiveWeapon(_arg1:String){
weapon_selection.gotoAndStop(_arg1);
}
function dispose():void{
}
function mute(_arg1:Event){
unmute_btn.visible = true;
mute_btn.visible = false;
SoundSystem.getSingleton().mute();
}
function unmute(_arg1:Event){
unmute_btn.visible = false;
mute_btn.visible = true;
SoundSystem.getSingleton().unmute();
}
function updateLevel(_arg1:int){
level_txt.text = String(_arg1);
}
function updateQuota(_arg1:int, _arg2:int){
var _local3:Number;
_local3 = (_arg1 / _arg2);
level_progress_bar.scaleX = (1 - _local3);
}
function updateHitpoints(_arg1:int){
initialize();
if (_arg1 >= 5){
activateHeart(heart5);
} else {
heart5.visible = false;
};
if (_arg1 >= 4){
activateHeart(heart4);
} else {
heart4.visible = false;
};
if (_arg1 >= 3){
activateHeart(heart3);
} else {
heart3.visible = false;
};
if (_arg1 >= 2){
activateHeart(heart2);
} else {
heart2.visible = false;
};
if (_arg1 >= 1){
activateHeart(heart1);
} else {
heart1.visible = false;
};
}
function showLevelUp(){
var _local1:Bitmap;
var _local2:Fader;
_local1 = new Bitmap(new Level_Up(0, 0));
_local2 = new Fader(_local1, 500, 500);
addChild(_local2);
}
function initialize(){
if (m_initialized){
return;
};
m_initialized = true;
if (SoundSystem.getSingleton().isMuted()){
mute(null);
} else {
unmute(null);
};
if (this.stage.quality == StageQuality.LOW){
changeToLowQuality(null);
} else {
changeToHighQuality(null);
};
}
function showTakingDamage(_arg1:int){
var _local2:Bitmap;
var _local3:Fader;
if (_arg1 > 3){
return;
};
if (_arg1 == 0){
return;
};
if (_arg1 == 1){
_local2 = new Bitmap(new Blood_Splatter_3(0, 0));
};
if (_arg1 == 2){
_local2 = new Bitmap(new Blood_Splatter_2(0, 0));
};
if (_arg1 == 3){
_local2 = new Bitmap(new Blood_Splatter_1(0, 0));
};
_local2.scaleX = 2;
_local2.scaleY = 2;
_local3 = new Fader(_local2, 500, 500);
addChild(_local3);
}
function changeToHighQuality(_arg1:Event){
lowquality_btn.visible = true;
hiquality_btn.visible = false;
if (this.stage != null){
this.stage.quality = StageQuality.HIGH;
};
ModeGame.lowQuality = false;
}
function changeToLowQuality(_arg1:Event){
lowquality_btn.visible = false;
hiquality_btn.visible = true;
if (this.stage != null){
this.stage.quality = StageQuality.LOW;
};
ModeGame.lowQuality = true;
}
function showZamboniWamboni(){
var _local1:MovieClip;
var _local2:Fader;
_local1 = new ZamboniWamboniSymbol();
_local1.scaleX = 1.5;
_local1.scaleY = 1.5;
_local1.x = 320;
_local1.y = 240;
_local2 = new Fader(_local1, 2000, 500);
addChild(_local2);
}
function setupHudButtons(){
mute_btn.addEventListener(MouseEvent.CLICK, mute);
unmute_btn.addEventListener(MouseEvent.CLICK, unmute);
lowquality_btn.addEventListener(MouseEvent.CLICK, changeToLowQuality);
hiquality_btn.addEventListener(MouseEvent.CLICK, changeToHighQuality);
}
}
}//package
Section 47
//InputKeyboard (InputKeyboard)
package {
import flash.events.*;
public class InputKeyboard {
protected static var keys:Array;
protected static var dispatcher:EventDispatcher;
public function InputKeyboard(_arg1:EventDispatcher){
setDispatcher(_arg1);
}
private static function keyDownHandler(_arg1:KeyboardEvent):void{
keys[_arg1.keyCode] = true;
}
public static function setDispatcher(_arg1:EventDispatcher){
if (dispatcher == null){
keys = new Array();
} else {
dispatcher.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
dispatcher.removeEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
dispatcher = _arg1;
dispatcher.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
dispatcher.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
}
public static function isDown(_arg1:uint):Boolean{
return ((keys[_arg1] == true));
}
private static function keyUpHandler(_arg1:KeyboardEvent):void{
keys[_arg1.keyCode] = false;
}
}
}//package
Section 48
//KingAppears (KingAppears)
package {
import flash.media.*;
public dynamic class KingAppears extends Sound {
}
}//package
Section 49
//KingDie (KingDie)
package {
import flash.media.*;
public dynamic class KingDie extends Sound {
}
}//package
Section 50
//KingHurt (KingHurt)
package {
import flash.media.*;
public dynamic class KingHurt extends Sound {
}
}//package
Section 51
//Level_Up (Level_Up)
package {
import flash.display.*;
public dynamic class Level_Up extends BitmapData {
public function Level_Up(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 52
//LevelUp (LevelUp)
package {
import flash.media.*;
public dynamic class LevelUp extends Sound {
}
}//package
Section 53
//Lich_Spooge (Lich_Spooge)
package {
import flash.display.*;
public dynamic class Lich_Spooge extends BitmapData {
public function Lich_Spooge(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 54
//ModeAd (ModeAd)
package {
import flash.display.*;
import com.urbansquall.ui.modes.*;
import flash.events.*;
public class ModeAd extends MovieClip implements ModeInterface {
var m_adblock:AdBlock;
public function loadGame(){
ModeManager.switchMode(ModeManager.k_gameMode);
}
public function popped(){
this.removeChild(m_adblock);
this.parent.removeChild(this);
}
public function finishLoading(){
loadGame();
}
public function pushed(_arg1:DisplayObjectContainer, _arg2:ModeData){
_arg1.addChild(this);
m_adblock = new AdBlock();
addChild(m_adblock);
}
public function gainFocus(){
}
public function loseFocus(){
}
}
}//package
Section 55
//ModeCredits (ModeCredits)
package {
import flash.display.*;
import com.urbansquall.ui.modes.*;
import flash.events.*;
import flash.net.*;
public class ModeCredits extends MovieClip implements ModeInterface {
public var backToTitle_btn:SimpleButton;
public var urbansquall_logo:SimpleButton;
public function ModeCredits(){
var _local1:MovieClip;
super();
urbansquall_logo.addEventListener(MouseEvent.CLICK, loadUrbansquallWebsite);
backToTitle_btn.addEventListener(MouseEvent.CLICK, goBack);
_local1 = new ModeHowTo();
_local1.alpha = 0;
this.addChildAt(_local1, 0);
}
public function popped(){
this.parent.removeChild(this);
}
public function loadUrbansquallWebsite(_arg1:Event){
var url:String;
var request:URLRequest;
var a_event = _arg1;
url = "http://www.urbansquall.com/index.php?gameid=zombieland_b_b";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
public function pushed(_arg1:DisplayObjectContainer, _arg2:ModeData){
_arg1.addChild(this);
}
public function gainFocus(){
}
public function loseFocus(){
}
public function goBack(_arg1:Event){
ModeManager.switchMode(ModeManager.k_mainMode);
}
}
}//package
Section 56
//ModeGame (ModeGame)
package {
import flash.display.*;
import com.urbansquall.ui.modes.*;
import flash.events.*;
import com.urbansquall.graphics.*;
import flash.geom.*;
import flash.utils.*;
import flash.ui.*;
public class ModeGame extends Sprite implements ModeInterface {
var m_hud:Hud;
var m_level:int;
var m_timeOfLastUpdate:Number;
var m_container:DisplayObjectContainer;
var m_backgroundContainer:Sprite;
var m_gameContainer:Sprite;
var m_entities:Array;
var m_localPlayer:Player;
var m_killQuota:int;
var m_spawner:Spawner;
var m_originalKillQuota:int;
var m_buildingScroller:BackgroundTiler;
var m_HACK:Boolean;// = false
var m_endGame:Boolean;
var m_depthSorter:DepthSorter;
var m_scroller:GameScroller;
var m_gameObjectContainer:Sprite;
var m_accruedDelta:Number;
static const k_basicScrollSpeed:Number = -0.07;
public static const k_bossInterval:Number = 8;
static const k_zamboniScrollSpeed:Number = -0.42;
static const k_mainThemeVolume:Number = 1;
public static var lowQuality:Boolean = false;
public function ModeGame(){
m_HACK = false;
super();
}
function calculateQuotaPercentage():Number{
return ((m_killQuota / m_originalKillQuota));
}
function isBossLevel():Boolean{
return (((m_level % k_bossInterval) == 0));
}
function getScrollPosition():Number{
return (m_scroller.getScrollPosition());
}
public function popped(){
}
function handleFrame(_arg1:Event){
var _local2:Number;
var _local3:Number;
if (m_endGame){
return;
};
_local2 = calculateDeltaTime();
_local3 = _local2;
updateKeyboard();
m_localPlayer.update(_local3);
updateEntities(_local3);
m_spawner.update(_local3);
m_scroller.update(_local3);
m_buildingScroller.update();
if (m_endGame){
endGame();
};
}
function getEntities():Array{
return (m_entities);
}
function isZamboniMode():Boolean{
if (m_localPlayer == null){
return (false);
};
return (m_localPlayer.isZamboni());
}
public function pushed(_arg1:DisplayObjectContainer, _arg2:ModeData){
m_container = _arg1;
initialize();
}
function createPlayer(){
m_localPlayer = new Player(this);
}
private function endGame(){
var _local1:Results;
_local1 = new Results();
m_container.addChild(_local1);
_local1.addEventListener(MouseEvent.CLICK, cleanup);
}
function showEscapeMenu(){
}
function updateDepths(){
m_depthSorter.updateDepths();
}
function incrementLevel(){
SoundSystem.getSingleton().playSound("LevelUp");
if (isBossLevel()){
SoundSystem.getSingleton().playLoop("Zombieland_Normal_Theme", k_mainThemeVolume);
};
m_level++;
if (isBossLevel()){
SoundSystem.getSingleton().playLoop("Zombieland_Boss_Theme", ModeGame.k_mainThemeVolume);
};
if (m_level == 2){
m_killQuota = 14;
} else {
m_killQuota = (10 + (m_level * m_level));
};
m_originalKillQuota = m_killQuota;
m_hud.showLevelUp();
m_hud.updateLevel(m_level);
if (m_level <= 10){
m_spawner.spawnHealthCrate();
};
}
function initialize(){
m_endGame = false;
m_accruedDelta = 0;
m_timeOfLastUpdate = getTimer();
m_entities = new Array();
m_level = 1;
m_killQuota = 10;
m_originalKillQuota = m_killQuota;
this.addEventListener(Event.ENTER_FRAME, handleFrame);
m_gameContainer = new Sprite();
m_container.addChild(m_gameContainer);
m_gameContainer.stage.focus = m_gameContainer;
m_hud = new Hud();
m_container.addChild(m_hud);
m_hud.updateQuota(m_killQuota, m_originalKillQuota);
m_hud.updateLevel(m_level);
m_backgroundContainer = new Sprite();
m_gameContainer.addChild(m_backgroundContainer);
m_gameObjectContainer = new Sprite();
m_gameContainer.addChild(m_gameObjectContainer);
m_depthSorter = new DepthSorter(m_gameObjectContainer);
m_scroller = new GameScroller(m_gameContainer, k_basicScrollSpeed);
m_buildingScroller = new BackgroundTiler(this, m_backgroundContainer, 640);
createPlayer();
m_spawner = new Spawner(this);
SoundSystem.getSingleton().playLoop("Zombieland_Normal_Theme", ModeGame.k_mainThemeVolume);
}
public function gainFocus(){
}
function endGameSafe(){
m_endGame = true;
}
function registerKill(_arg1:int){
var _local2:int;
var _local3:int;
var _local4:Entity;
if (_arg1 <= 0){
return;
};
if (isBossLevel()){
if (_arg1 > 20){
_local2 = m_entities.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = m_entities[_local3];
_local4.die();
_local3++;
};
incrementLevel();
};
return;
};
m_killQuota = (m_killQuota - _arg1);
if (m_killQuota <= 0){
if (((m_localPlayer.isZamboni()) && ((((m_level + 1) % k_bossInterval) == 0)))){
m_killQuota = 1;
} else {
incrementLevel();
};
};
m_hud.updateQuota(m_killQuota, m_originalKillQuota);
}
function cleanup(_arg1:Event){
uninitialize();
ModeManager.switchMode(ModeManager.k_mainMode);
SoundSystem.getSingleton().playLoop("Zombieland_Zamboni_Theme", ModeGame.k_mainThemeVolume);
}
function detachBackgroundSprite(_arg1:DisplayObject){
m_backgroundContainer.removeChild(_arg1);
}
function updateEntities(_arg1:Number){
var _local2:int;
var _local3:int;
var _local4:Entity;
_local2 = m_entities.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = m_entities[_local3];
_local4.update(_arg1);
_local3++;
};
_local3 = (_local2 - 1);
while (_local3 >= 0) {
_local4 = m_entities[_local3];
if (_local4.isMarkedForDeletion()){
_local4.dispose();
m_entities.splice(_local3, 1);
};
_local3--;
};
updateDepths();
}
function enterZamboniMode(){
m_scroller.setScrollSpeed(k_zamboniScrollSpeed);
m_buildingScroller.gotoZamboniMode();
}
function getHud():Hud{
return (m_hud);
}
function exitZamboniMode(){
m_scroller.setScrollSpeed(k_basicScrollSpeed);
m_buildingScroller.returnToDefaultMode();
}
public function loseFocus(){
}
function getLevel(){
return (m_level);
}
function updateKeyboard(){
var _local1:Boolean;
var _local2:Boolean;
var _local3:Boolean;
var _local4:Boolean;
var _local5:Boolean;
var _local6:Boolean;
_local1 = InputKeyboard.isDown(Keyboard.ESCAPE);
if (_local1){
showEscapeMenu();
return;
};
_local2 = ((InputKeyboard.isDown(Keyboard.LEFT)) || (InputKeyboard.isDown(65)));
_local3 = ((InputKeyboard.isDown(Keyboard.RIGHT)) || (InputKeyboard.isDown(68)));
if (((((_local2) && (_local3))) || (((!(_local2)) && (!(_local3)))))){
m_localPlayer.stopHorizontalMovement();
} else {
if (_local2){
m_localPlayer.moveLeft();
} else {
if (_local3){
m_localPlayer.moveRight();
};
};
};
_local4 = ((InputKeyboard.isDown(Keyboard.UP)) || (InputKeyboard.isDown(87)));
_local5 = ((InputKeyboard.isDown(Keyboard.DOWN)) || (InputKeyboard.isDown(83)));
if (((((_local4) && (_local5))) || (((!(_local4)) && (!(_local5)))))){
m_localPlayer.stopVerticalMovement();
} else {
if (_local4){
m_localPlayer.moveUp();
} else {
if (_local5){
m_localPlayer.moveDown();
};
};
};
_local6 = InputKeyboard.isDown(Keyboard.SPACE);
if (_local6){
m_localPlayer.attemptFire();
};
}
function detachGameDisplay(_arg1:DisplayObject){
m_depthSorter.removeItem(_arg1);
m_gameObjectContainer.removeChild(_arg1);
}
function calculateDeltaTime():Number{
var _local1:Number;
var _local2:Number;
_local1 = getTimer();
_local2 = (_local1 - m_timeOfLastUpdate);
m_timeOfLastUpdate = _local1;
return (_local2);
}
function uninitialize(){
var _local1:int;
var _local2:Entity;
_local1 = 0;
while (_local1 < m_entities.length) {
_local2 = m_entities[_local1];
_local2.dispose();
_local1++;
};
m_localPlayer.dispose();
m_localPlayer = null;
m_gameObjectContainer = null;
m_backgroundContainer = null;
m_gameContainer = null;
m_container = null;
m_entities.splice();
m_entities = null;
m_spawner.dispose();
m_spawner = null;
m_depthSorter.dispose();
m_depthSorter = null;
m_scroller.dispose();
m_scroller = null;
m_buildingScroller.dispose();
m_buildingScroller = null;
m_hud.dispose();
m_hud = null;
}
function addEntity(_arg1:Entity){
m_entities.push(_arg1);
updateDepths();
}
function attachGameDisplay(_arg1:DisplayObject){
m_depthSorter.addItem(_arg1);
m_gameObjectContainer.addChild(_arg1);
}
function getLocalPlayer():Player{
return (m_localPlayer);
}
function attachBackgroundSprite(_arg1:DisplayObject){
m_backgroundContainer.addChild(_arg1);
}
}
}//package
Section 57
//ModeHowTo (ModeHowTo)
package {
import flash.display.*;
import com.urbansquall.ui.modes.*;
import flash.events.*;
public class ModeHowTo extends MovieClip implements ModeInterface {
public function ModeHowTo(){
this.addEventListener(MouseEvent.CLICK, goBack);
}
public function popped(){
this.parent.removeChild(this);
}
public function pushed(_arg1:DisplayObjectContainer, _arg2:ModeData){
_arg1.addChild(this);
}
public function gainFocus(){
}
public function loseFocus(){
}
public function goBack(_arg1:Event){
ModeManager.switchMode(ModeManager.k_mainMode);
}
}
}//package
Section 58
//ModeMain (ModeMain)
package {
import flash.display.*;
import com.urbansquall.ui.modes.*;
import flash.events.*;
import flash.net.*;
public class ModeMain extends MovieClip implements ModeInterface {
public var credits_btn:SimpleButton;
public var playmore_btn:SimpleButton;
public var putthisgame_btn:SimpleButton;
public var play_btn:SimpleButton;
public var fukgames_logo:SimpleButton;
public var howto_btn:SimpleButton;
public function ModeMain(){
play_btn.addEventListener(MouseEvent.CLICK, playGame);
play_btn.addEventListener(MouseEvent.ROLL_OVER, rolloverPlayGame);
howto_btn.addEventListener(MouseEvent.CLICK, showInstructions);
howto_btn.addEventListener(MouseEvent.ROLL_OVER, rolloverShowInstructions);
credits_btn.addEventListener(MouseEvent.CLICK, showCredits);
credits_btn.addEventListener(MouseEvent.ROLL_OVER, rolloverShowCredits);
playmore_btn.addEventListener(MouseEvent.CLICK, gotoFukGames);
playmore_btn.addEventListener(MouseEvent.ROLL_OVER, rolloverGotoFukGames);
fukgames_logo.addEventListener(MouseEvent.CLICK, gotoFukGames);
fukgames_logo.addEventListener(MouseEvent.ROLL_OVER, rolloverGotoFukGames);
putthisgame_btn.addEventListener(MouseEvent.CLICK, gotoFreeContent);
}
public function popped(){
this.parent.removeChild(this);
}
public function gotoFreeContent(_arg1:Event){
var url:String;
var request:URLRequest;
var a_event = _arg1;
url = "http://www.fukgames.com/free_content.html";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
public function pushed(_arg1:DisplayObjectContainer, _arg2:ModeData){
_arg1.addChild(this);
}
public function rolloverPlayGame(_arg1:Event){
SoundSystem.getSingleton().playSound("ZombieIdle2");
}
public function showInstructions(_arg1:Event){
ModeManager.switchMode(ModeManager.k_howToMode);
}
public function gotoFukGames(_arg1:Event){
var url:String;
var request:URLRequest;
var a_event = _arg1;
url = "http://www.fukgames.com/";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
public function gainFocus(){
}
public function playGame(_arg1:Event){
ModeManager.switchMode(ModeManager.k_adMode);
}
public function rolloverShowCredits(_arg1:Event){
SoundSystem.getSingleton().playSound("ZombieIdle1");
}
public function rolloverGotoFukGames(_arg1:Event){
SoundSystem.getSingleton().playSound("ZombieDie");
}
public function rolloverShowInstructions(_arg1:Event){
SoundSystem.getSingleton().playSound("ZombieIdle3");
}
public function loseFocus(){
}
public function showCredits(_arg1:Event){
ModeManager.switchMode(ModeManager.k_creditsMode);
}
}
}//package
Section 59
//ModeManager (ModeManager)
package {
import flash.display.*;
import com.urbansquall.ui.modes.*;
class ModeManager {
static const k_gameMode:String = "Game";
static const k_mainMode:String = "Main";
static const k_creditsMode:String = "Credits";
static const k_howToMode:String = "HowTo";
static const k_adMode:String = "Ad";
static var m_initialized:Boolean = false;
static var m_manager:ModeStack;
static function createModes(){
m_manager.registerMode(k_mainMode, new ModeMain());
m_manager.registerMode(k_gameMode, new ModeGame());
m_manager.registerMode(k_howToMode, new ModeHowTo());
m_manager.registerMode(k_creditsMode, new ModeCredits());
m_manager.registerMode(k_adMode, new ModeAd());
}
static function popMode(){
m_manager.popMode();
}
static function initialize(_arg1:DisplayObjectContainer){
if (m_initialized){
return;
};
m_initialized = true;
m_manager = new ModeStack(_arg1);
createModes();
}
static function pushMode(_arg1:String, _arg2:ModeData=null){
m_manager.pushMode(_arg1, _arg2);
}
static function switchMode(_arg1:String, _arg2:ModeData=null){
m_manager.switchMode(_arg1, _arg2);
}
}
}//package
Section 60
//Object_Barrel (Object_Barrel)
package {
import flash.display.*;
public dynamic class Object_Barrel extends BitmapData {
public function Object_Barrel(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 61
//Object_Car (Object_Car)
package {
import flash.display.*;
public dynamic class Object_Car extends BitmapData {
public function Object_Car(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 62
//Object_Crate (Object_Crate)
package {
import flash.display.*;
public dynamic class Object_Crate extends BitmapData {
public function Object_Crate(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 63
//Object_FirstAid (Object_FirstAid)
package {
import flash.display.*;
public dynamic class Object_FirstAid extends BitmapData {
public function Object_FirstAid(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 64
//Object_ZamboniKey (Object_ZamboniKey)
package {
import flash.display.*;
public dynamic class Object_ZamboniKey extends BitmapData {
public function Object_ZamboniKey(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 65
//Player (Player)
package {
import flash.display.*;
import flash.events.*;
import com.urbansquall.graphics.*;
import com.urbansquall.utils.*;
import flash.geom.*;
public class Player {
var m_game:ModeGame;
var m_zamboniTimer:Number;
var m_collisionShape:Rectangle;
var xOffset:Number;
var m_container:Sprite;
var m_animation:TileSheetAnimation;
var m_canBeHit:Boolean;
var m_hitAnimation:TileSheetAnimation;
var m_originalWeaponTime:Number;
var m_activeWeapon:String;
var m_verticalMovementDirection:int;
var m_health:int;
var m_timeLeftOnCurrentWeapon:Number;
var m_horizontalMovementDirection:int;
static const k_gameplayHeight:int = 32;
static const k_zamboniTime:Number = 10000;
static const k_maximumHealth:int = 5;
static const k_moveLeft:int = 1;
static const k_moveStop:int = 0;
static const k_fireDelay:Number = 180;
static const k_railgun:String = "railgun";
static const k_crossbow:String = "crossbow";
static const k_nerfgun:String = "nerfgun";
static const k_chainsaw:String = "chainsaw";
static const k_moveUp:int = -1;
static const k_zamboni:String = "zamboni";
static const k_gameplayWidth:int = 32;
static const k_verticalMovementSpeed:Number = 0.09;
static const k_rightMovementSpeed:Number = 0.09;
static const k_moveDown:int = 1;
static const k_moveRight:int = -1;
static const k_shotgun:String = "shotgun";
static const k_leftMovementSpeed:Number = 0.11;
static const k_health:String = "health";
public function Player(_arg1:ModeGame){
m_game = _arg1;
initialize();
}
function fireCrossbow(){
var _local1:Entity;
var _local2:int;
var _local3:int;
SoundSystem.getSingleton().playSound("FlamethrowerShoot");
_local1 = EntityFactory.create(EntityFactory.k_crossbowShot, m_game);
_local2 = ((this.x + (this.m_collisionShape.width / 2)) + (_local1.m_collisionShape.width / 2));
_local3 = this.y;
_local1.x = _local2;
_local1.y = _local3;
}
function collectPowerup(_arg1:String){
if (isZamboni()){
return;
};
if (_arg1 == k_zamboni){
if (m_game.isBossLevel()){
return;
};
playKeyGrabAnimation();
} else {
if (_arg1 == k_health){
SoundSystem.getSingleton().playSound("HealthPickup");
collectHealth();
} else {
SoundSystem.getSingleton().playSound("CrateSmash");
dropUsedWeapon();
setActiveWeapon(_arg1);
m_timeLeftOnCurrentWeapon = 8000;
m_originalWeaponTime = m_timeLeftOnCurrentWeapon;
playIdleAnimation();
};
};
}
function getCollisionShape():Rectangle{
return (m_collisionShape);
}
function getGameplayWidth():int{
return (k_gameplayWidth);
}
function stopZamboni(){
m_canBeHit = true;
m_zamboniTimer = 0;
m_game.exitZamboniMode();
playIdleAnimation();
SoundSystem.getSingleton().playLoop("Zombieland_Normal_Theme", ModeGame.k_mainThemeVolume);
}
function initialize(){
var _local1:Bitmap;
var _local2:int;
var _local3:int;
var _local4:Hud;
m_canBeHit = true;
m_zamboniTimer = 0;
m_timeLeftOnCurrentWeapon = 0;
m_originalWeaponTime = m_timeLeftOnCurrentWeapon;
m_horizontalMovementDirection = k_moveStop;
m_verticalMovementDirection = k_moveStop;
m_container = new Sprite();
setActiveWeapon(k_nerfgun);
_local1 = ResourceLoader.getBitmap("Shadow_ZombiesAndHeroes");
m_container.addChildAt(_local1, 0);
_local1.scaleX = 2;
_local1.scaleY = 2;
_local1.x = (_local1.x - (_local1.width / 2));
m_animation = ResourceLoader.createTileSheetAnimation("Hero", ResourceLoader.getBitmapData(ResourceLoader.k_Hero));
m_container.addChild(m_animation);
playIdleAnimation();
m_animation.scaleX = 2;
m_animation.scaleY = 2;
m_animation.y = (m_animation.y - 58);
m_hitAnimation = ResourceLoader.createTileSheetAnimation("Hero_Hit", ResourceLoader.getBitmapData(ResourceLoader.k_Hero_Hit));
m_container.addChild(m_hitAnimation);
m_hitAnimation.scaleX = 2;
m_hitAnimation.scaleY = 2;
m_hitAnimation.x = (m_hitAnimation.x + 24);
m_hitAnimation.y = (m_hitAnimation.y - 106);
m_hitAnimation.visible = false;
m_game.attachGameDisplay(m_container);
_local2 = 50;
_local3 = 18;
m_collisionShape = new Rectangle(0, (-(_local3) / 2), _local2, _local3);
xOffset = 300;
this.x = xOffset;
this.y = 300;
m_health = 3;
_local4 = m_game.getHud();
_local4.updateHitpoints(m_health);
}
function isZamboni():Boolean{
return ((m_zamboniTimer > 0));
}
function moveDown(){
m_verticalMovementDirection = k_moveDown;
}
public function get visible():Boolean{
return (this.m_container.visible);
}
function stopHorizontalMovement(){
m_horizontalMovementDirection = k_moveStop;
}
function dropUsedWeapon(){
var _local1:Entity;
if (m_activeWeapon == k_nerfgun){
return;
};
_local1 = EntityFactory.create(("used" + m_activeWeapon), m_game);
_local1.x = this.x;
_local1.y = this.y;
setActiveWeapon(k_nerfgun);
}
function fireNerf(){
var _local1:Entity;
var _local2:int;
var _local3:int;
SoundSystem.getSingleton().playSound("PopgunShoot");
_local1 = EntityFactory.create(EntityFactory.k_nerfShot, m_game);
_local2 = ((this.x + (this.m_collisionShape.width / 2)) + (_local1.m_collisionShape.width / 2));
_local3 = this.y;
_local1.x = _local2;
_local1.y = _local3;
}
function fireShotgun(){
var _local1:Entity;
var _local2:int;
var _local3:int;
SoundSystem.getSingleton().playSound("RifleShoot", 0.5);
_local1 = EntityFactory.create(EntityFactory.k_shotgunShot, m_game);
_local2 = ((this.x + (this.m_collisionShape.width / 2)) + (_local1.m_collisionShape.width / 2));
_local3 = (this.y - 10);
_local1.x = _local2;
_local1.y = _local3;
}
function dispose(){
m_collisionShape = null;
m_container = null;
m_game = null;
m_animation.dispose();
m_animation = null;
m_hitAnimation.dispose();
m_hitAnimation = null;
}
function attemptFire(){
if (!isIdling()){
return;
};
if (!m_canBeHit){
return;
};
m_animation.playAnimation((m_activeWeapon + "_fire"));
m_animation.onComplete(playIdleAnimation);
if (m_activeWeapon == k_shotgun){
fireShotgun();
} else {
if (m_activeWeapon == k_crossbow){
fireCrossbow();
} else {
if (m_activeWeapon == k_railgun){
fireRailgun();
} else {
if (m_activeWeapon == k_chainsaw){
fireChainsaw();
} else {
fireNerf();
};
};
};
};
}
function collectHealth(){
if (m_health < k_maximumHealth){
changeHealth(1);
};
}
function updateMovement(_arg1:Number){
var _local2:Number;
var _local3:Number;
var _local4:Number;
if (!m_canBeHit){
};
_local2 = 0;
if (m_horizontalMovementDirection == k_moveRight){
_local2 = k_rightMovementSpeed;
} else {
if (m_horizontalMovementDirection == k_moveLeft){
_local2 = -(k_leftMovementSpeed);
};
};
_local3 = (_local2 * _arg1);
xOffset = (xOffset + _local3);
xOffset = Math.max(xOffset, (this.getGameplayWidth() / 2));
xOffset = Math.min(xOffset, (640 - (this.getGameplayWidth() / 2)));
_local4 = ((m_verticalMovementDirection * k_verticalMovementSpeed) * _arg1);
this.x = (-(m_game.getScrollPosition()) + xOffset);
this.y = (this.y + _local4);
this.y = Math.max(this.y, (240 + (this.getGameplayHeight() / 2)));
this.y = Math.min(this.y, (480 - (this.getGameplayHeight() / 2)));
}
function changeHealth(_arg1:int){
var _local2:Hud;
m_health = (m_health + _arg1);
_local2 = m_game.getHud();
_local2.updateHitpoints(m_health);
if (_arg1 < 0){
_local2.showTakingDamage(m_health);
};
}
function isDead(){
return ((m_health <= 0));
}
function getSprite():Sprite{
return (m_container);
}
function playIdleAnimation(){
m_animation.playAnimation((m_activeWeapon + "_idle"));
m_animation.onComplete(null);
}
function startZamboni(){
var _local1:Hud;
m_zamboniTimer = k_zamboniTime;
m_game.enterZamboniMode();
m_animation.onComplete(null);
m_animation.playAnimation("zamboni");
SoundSystem.getSingleton().playLoop("Zombieland_Zamboni_Theme", ModeGame.k_mainThemeVolume);
_local1 = m_game.getHud();
_local1.showZamboniWamboni();
}
function updateWeapon(_arg1:Number){
var _local2:Hud;
m_timeLeftOnCurrentWeapon = (m_timeLeftOnCurrentWeapon - _arg1);
_local2 = m_game.getHud();
if (m_timeLeftOnCurrentWeapon > 0){
_local2.updateWeaponTimer(m_timeLeftOnCurrentWeapon, m_originalWeaponTime);
} else {
_local2.updateWeaponTimer(1, 1);
};
if ((((m_timeLeftOnCurrentWeapon < 0)) && (((m_timeLeftOnCurrentWeapon + _arg1) >= 0)))){
dropUsedWeapon();
if (isIdling()){
playIdleAnimation();
};
};
}
function finishTakingDamage(_arg1:String){
if (_arg1.indexOf("Zombie") == 0){
dropZombie(_arg1);
};
m_animation.visible = true;
m_hitAnimation.visible = false;
m_canBeHit = true;
playIdleAnimation();
}
function update(_arg1:Number){
if (m_zamboniTimer > 0){
updateZamboni(_arg1);
} else {
updateWeapon(_arg1);
};
updateMovement(_arg1);
if (m_animation.visible){
m_animation.update(_arg1);
};
if (m_hitAnimation.visible){
m_hitAnimation.update(_arg1);
};
}
public function get depth():Number{
return ((y + (getGameplayHeight() / 2)));
}
function moveRight(){
m_horizontalMovementDirection = k_moveRight;
}
function playKeyGrabAnimation(){
m_canBeHit = false;
dropUsedWeapon();
m_animation.onComplete(startZamboni);
m_animation.playAnimation("key");
}
function moveUp(){
m_verticalMovementDirection = k_moveUp;
}
function fireRailgun(){
var _local1:Entity;
var _local2:int;
var _local3:int;
SoundSystem.getSingleton().playSound("RailgunShoot");
_local1 = EntityFactory.create(EntityFactory.k_railgunShot, m_game);
_local2 = (this.x + (_local1.m_collisionShape.width / 2));
_local3 = this.y;
_local1.x = _local2;
_local1.y = _local3;
}
function isIdling():Boolean{
var _local1:String;
_local1 = m_animation.getActiveAnimationName();
if (_local1.indexOf("idle") > 0){
return (true);
};
return (false);
}
function takeDamage(_arg1:int, _arg2:Entity){
if (isDead()){
return;
};
changeHealth(-(_arg1));
m_canBeHit = false;
if (_arg2.getHurtPlayerSound() != ""){
SoundSystem.getSingleton().playSound(_arg2.getHurtPlayerSound());
};
if (isDead()){
SoundSystem.getSingleton().playSound("PlayerDie");
m_game.endGameSafe();
return;
};
SoundSystem.getSingleton().playSound("PlayerHurt");
m_animation.visible = false;
m_hitAnimation.visible = true;
m_hitAnimation.playAnimation(_arg2.getType());
m_hitAnimation.onComplete(Delegate.create(this, finishTakingDamage, _arg2.getType()));
}
function changeXOffset(_arg1:Number){
xOffset = (xOffset + _arg1);
if (xOffset < (this.getGameplayWidth() / 2)){
m_game.endGameSafe();
};
}
function getGameplayHeight():int{
return (k_gameplayHeight);
}
function updateZamboni(_arg1:Number){
if (m_zamboniTimer <= 0){
return;
};
m_zamboniTimer = (m_zamboniTimer - _arg1);
if (m_zamboniTimer <= 0){
stopZamboni();
};
}
function setActiveWeapon(_arg1:String){
var _local2:Hud;
m_activeWeapon = _arg1;
_local2 = m_game.getHud();
_local2.updateActiveWeapon(_arg1);
}
function stopVerticalMovement(){
m_verticalMovementDirection = k_moveStop;
}
function fireChainsaw(){
var _local1:Entity;
SoundSystem.getSingleton().playSound("SawLoop");
_local1 = EntityFactory.create(EntityFactory.k_chainsawBlast, m_game);
_local1.x = ((this.x + (this.m_collisionShape.width / 2)) + (_local1.m_collisionShape.width / 2));
_local1.y = this.y;
}
function canBeHit():Boolean{
return (m_canBeHit);
}
public function set y(_arg1:Number):void{
this.m_container.y = _arg1;
this.m_collisionShape.y = (_arg1 - (this.m_collisionShape.height / 2));
}
public function set visible(_arg1:Boolean):void{
this.m_container.visible = _arg1;
}
function dropZombie(_arg1:String){
var _local2:Entity;
if (_arg1.indexOf("Projectile") != -1){
return;
};
_local2 = EntityFactory.create((_arg1 + "_Corpse"), m_game);
_local2.x = this.x;
_local2.y = this.y;
}
function getZamboniCollisionShape():Rectangle{
var _local1:Rectangle;
_local1 = new Rectangle();
_local1.width = 144;
_local1.height = 90;
_local1.x = (this.x - (_local1.width / 2));
_local1.y = ((this.y - (_local1.height / 2)) - 10);
return (_local1);
}
public function set x(_arg1:Number):void{
this.m_container.x = _arg1;
this.m_collisionShape.x = _arg1;
}
public function get x():Number{
return (this.m_container.x);
}
public function get y():Number{
return (this.m_container.y);
}
public function set rotation(_arg1:Number):void{
this.m_container.rotation = _arg1;
}
public function get rotation():Number{
return (this.m_container.rotation);
}
function moveLeft(){
m_horizontalMovementDirection = k_moveLeft;
}
}
}//package
Section 66
//PlayerDie (PlayerDie)
package {
import flash.media.*;
public dynamic class PlayerDie extends Sound {
}
}//package
Section 67
//PlayerGasp (PlayerGasp)
package {
import flash.media.*;
public dynamic class PlayerGasp extends Sound {
}
}//package
Section 68
//PlayerHurt (PlayerHurt)
package {
import flash.media.*;
public dynamic class PlayerHurt extends Sound {
}
}//package
Section 69
//PopgunShoot (PopgunShoot)
package {
import flash.media.*;
public dynamic class PopgunShoot extends Sound {
}
}//package
Section 70
//PorcupineQuillTake (PorcupineQuillTake)
package {
import flash.media.*;
public dynamic class PorcupineQuillTake extends Sound {
}
}//package
Section 71
//Projecile_New_Railgun (Projecile_New_Railgun)
package {
import flash.display.*;
public dynamic class Projecile_New_Railgun extends BitmapData {
public function Projecile_New_Railgun(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 72
//Projectile_Crossbow (Projectile_Crossbow)
package {
import flash.display.*;
public dynamic class Projectile_Crossbow extends BitmapData {
public function Projectile_Crossbow(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 73
//Projectile_Explosion (Projectile_Explosion)
package {
import flash.display.*;
public dynamic class Projectile_Explosion extends BitmapData {
public function Projectile_Explosion(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 74
//Projectile_Nerf (Projectile_Nerf)
package {
import flash.display.*;
public dynamic class Projectile_Nerf extends BitmapData {
public function Projectile_Nerf(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 75
//Projectile_ShotgunShell (Projectile_ShotgunShell)
package {
import flash.display.*;
public dynamic class Projectile_ShotgunShell extends BitmapData {
public function Projectile_ShotgunShell(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 76
//QuillsHit (QuillsHit)
package {
import flash.media.*;
public dynamic class QuillsHit extends Sound {
}
}//package
Section 77
//QuillThrow (QuillThrow)
package {
import flash.media.*;
public dynamic class QuillThrow extends Sound {
}
}//package
Section 78
//RailgunShoot (RailgunShoot)
package {
import flash.media.*;
public dynamic class RailgunShoot extends Sound {
}
}//package
Section 79
//ResourceLoader (ResourceLoader)
package {
import flash.display.*;
import flash.media.*;
import com.urbansquall.graphics.*;
import com.urbansquall.utils.*;
class ResourceLoader {
static const k_Hero_Hit:String = "Hero_Hit";
static const k_HockeyRink:String = "HockeyRink";
static const k_Hero:String = "Hero";
static var m_sheetLoader:TileSheetLoader;
static var m_resourceManager:ResourceManager;
static function getBitmap(_arg1:String):Bitmap{
return (new Bitmap(m_resourceManager.getBitmapResource(_arg1)));
}
static function getBitmapData(_arg1:String):BitmapData{
return (m_resourceManager.getBitmapResource(_arg1));
}
static function isLoading():Boolean{
return (m_resourceManager.isLoading());
}
static function getSound(_arg1:String):Sound{
return (m_resourceManager.getSoundResource(_arg1));
}
static function preloadResources(){
var _local1:XML;
var _local2:XML;
_local1 = <resources>
<use profile="internal"/>
<profile name="internal">
<resource type="bitmap" name="Hero" internal="Hero"/>
<resource type="bitmap" name="Hero_Hit" internal="Hero_Hit"/>
<resource type="bitmap" name="Zombie_Generic" internal="Zombie_Generic"/>
<resource type="bitmap" name="Zombie_Generic_Corpse" internal="Zombie_Generic_Corpse"/>
<resource type="bitmap" name="Zombie_Wheelchair" internal="Zombie_Wheelchair"/>
<resource type="bitmap" name="Zombie_Wheelchair_Corpse" internal="Zombie_Wheelchair_Corpse"/>
<resource type="bitmap" name="Zombie_Tank" internal="Zombie_Tank"/>
<resource type="bitmap" name="Zombie_Tank_Corpse" internal="Zombie_Tank_Corpse"/>
<resource type="bitmap" name="Zombie_Shooter" internal="Zombie_Shooter"/>
<resource type="bitmap" name="Zombie_Shooter_Corpse" internal="Zombie_Shooter_Corpse"/>
<resource type="bitmap" name="Zombie_Shooter_Projectile" internal="Zombie_Shooter_Projectile"/>
<resource type="bitmap" name="Zombie_Lich" internal="Zombie_Lich"/>
<resource type="bitmap" name="Zombie_Lich_Corpse" internal="Zombie_Lich_Corpse"/>
<resource type="bitmap" name="Lich_Spooge" internal="Lich_Spooge"/>
<resource type="bitmap" name="Projectile_Nerf" internal="Projectile_Nerf"/>
<resource type="bitmap" name="Projectile_Crossbow" internal="Projectile_Crossbow"/>
<resource type="bitmap" name="Projectile_Railgun" internal="Projecile_New_Railgun"/>
<resource type="bitmap" name="Projectile_Explosion" internal="Projectile_Explosion"/>
<resource type="bitmap" name="Weapon_Chainsaw" internal="Weapon_Chainsaw"/>
<resource type="bitmap" name="Weapon_Crossbow" internal="Weapon_Crossbow"/>
<resource type="bitmap" name="Weapon_Railgun" internal="Weapon_Railgun"/>
<resource type="bitmap" name="Weapon_Shotgun" internal="Weapon_Shotgun"/>
<resource type="bitmap" name="Object_Crate" internal="Object_Crate"/>
<resource type="bitmap" name="Object_FirstAid" internal="Object_FirstAid"/>
<resource type="bitmap" name="Object_Barrel" internal="Object_Barrel"/>
<resource type="bitmap" name="Object_Car" internal="Object_Car"/>
<resource type="bitmap" name="Object_ZamboniKey" internal="Object_ZamboniKey"/>
<resource type="bitmap" name="Shadow_ZombiesAndHeroes" internal="Shadow_ZombiesAndHeroes"/>
<resource type="bitmap" name="Shadow_CrateAndBarrel" internal="Shadow_CrateAndBarrel"/>
<resource type="bitmap" name="Shadow_Zamboni" internal="Shadow_Zamboni"/>
<resource type="bitmap" name="HockeyRink" internal="HockeyRink"/>
</profile>
</resources>
;
m_resourceManager = new ResourceManager();
m_resourceManager.loadFromXML(_local1);
_local2 = <sheetloaders>
<sheetloader type="Hero" defaultWidth="72" defaultHeight="72" defaultFrameCount="4" defaultTimeBetweenFrames="80">
<animation name="nerfgun_idle"/>
<animation name="nerfgun_fire" rowCount="2"/>
<animation name="shotgun_idle"/>
<animation name="shotgun_fire" rowCount="2"/>
<animation name="chainsaw_idle"/>
<animation name="chainsaw_fire"/>
<animation name="crossbow_idle"/>
<animation name="crossbow_fire" rowCount="4"/>
<animation name="railgun_idle"/>
<animation name="railgun_fire" rowCount="4"/>
<animation name="key" rowCount="2"/>
<animation name="zamboni" width="144" height="102" frameCount="2" rowCount="2"/>
</sheetloader>
<sheetloader type="Hero_Hit" defaultWidth="144" defaultHeight="120" defaultFrameCount="4" defaultTimeBetweenFrames="80">
<animation name="Zombie_Generic" rowCount="2"/>
<animation name="Zombie_Wheelchair" rowCount="2"/>
<animation name="Zombie_Tank" rowCount="2"/>
<animation name="Zombie_Shooter_Projectile" rowCount="2"/>
<animation name="Lich_Spooge" rowCount="2"/>
<animation name="explosion" rowCount="2"/>
<animation name="Zombie_Shooter" rowCount="2"/>
</sheetloader>
<sheetloader type="Lich_Spooge" defaultWidth="24" defaultHeight="24" defaultFrameCount="4" defaultTimeBetweenFrames="100">
<animation name="idle"/>
<animation name="die"/>
</sheetloader>
<sheetloader type="Object_ZamboniKey" defaultWidth="29" defaultHeight="14" defaultFrameCount="1" defaultTimeBetweenFrames="100">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Zombie_Lich" defaultWidth="192" defaultHeight="264" defaultFrameCount="4" defaultTimeBetweenFrames="100">
<animation name="idle" rowCount="4"/>
<animation name="hit"/>
<animation name="death" rowCount="4" timeBetweenFrames="65"/>
</sheetloader>
<sheetloader type="Zombie_Lich_Corpse" defaultWidth="192" defaultHeight="192" defaultFrameCount="1" defaultTimeBetweenFrames="200">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Zombie_Generic" defaultWidth="72" defaultHeight="72" defaultFrameCount="4" defaultTimeBetweenFrames="100">
<animation name="idle"/>
<animation name="hit"/>
<animation name="death" rowCount="3" timeBetweenFrames="65"/>
</sheetloader>
<sheetloader type="Zombie_Generic_Corpse" defaultWidth="40" defaultHeight="30" defaultFrameCount="1" defaultTimeBetweenFrames="200">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Zombie_Wheelchair" defaultWidth="72" defaultHeight="72" defaultFrameCount="4" defaultTimeBetweenFrames="100">
<animation name="idle"/>
<animation name="hit"/>
<animation name="death" rowCount="4" timeBetweenFrames="65"/>
</sheetloader>
<sheetloader type="Zombie_Wheelchair_Corpse" defaultWidth="42" defaultHeight="34" defaultFrameCount="1" defaultTimeBetweenFrames="80">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Zombie_Tank" defaultWidth="72" defaultHeight="72" defaultFrameCount="4" defaultTimeBetweenFrames="100">
<animation name="idle"/>
<animation name="hit"/>
<animation name="death" rowCount="2" timeBetweenFrames="65"/>
</sheetloader>
<sheetloader type="Zombie_Tank_Corpse" defaultWidth="72" defaultHeight="72" defaultFrameCount="1" defaultTimeBetweenFrames="80">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Zombie_Shooter" defaultWidth="72" defaultHeight="72" defaultFrameCount="4" defaultTimeBetweenFrames="100">
<animation name="idle" rowCount="3"/>
<animation name="hit"/>
<animation name="death" rowCount="2" timeBetweenFrames="65"/>
</sheetloader>
<sheetloader type="Zombie_Shooter_Corpse" defaultWidth="72" defaultHeight="72" defaultFrameCount="1" defaultTimeBetweenFrames="80">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Zombie_Shooter_Projectile" defaultWidth="48" defaultHeight="48" defaultFrameCount="4" defaultTimeBetweenFrames="65">
<animation name="idle"/>
<animation name="death"/>
</sheetloader>
<sheetloader type="Object_Crate" defaultWidth="72" defaultHeight="72" defaultFrameCount="4" defaultTimeBetweenFrames="200">
<animation name="idle"/>
<animation name="death" timeBetweenFrames="65"/>
</sheetloader>
<sheetloader type="Object_FirstAid" defaultWidth="48" defaultHeight="48" defaultFrameCount="4" defaultTimeBetweenFrames="200">
<animation name="idle"/>
<animation name="death" timeBetweenFrames="65"/>
</sheetloader>
<sheetloader type="Projectile_Nerf" defaultWidth="9" defaultHeight="9" defaultFrameCount="1" defaultTimeBetweenFrames="200">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Projectile_Crossbow" defaultWidth="60" defaultHeight="36" defaultFrameCount="4" defaultTimeBetweenFrames="65">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Projectile_Railgun" defaultWidth="320" defaultHeight="12" defaultFrameCount="1" defaultTimeBetweenFrames="80">
<animation name="idle" rowCount="4"/>
</sheetloader>
<sheetloader type="Projectile_Explosion" defaultWidth="72" defaultHeight="72" defaultFrameCount="4" defaultTimeBetweenFrames="65">
<animation name="idle" rowCount="2"/>
</sheetloader>
<sheetloader type="Weapon_Chainsaw" defaultWidth="37" defaultHeight="25" defaultFrameCount="1" defaultTimeBetweenFrames="65">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Weapon_Crossbow" defaultWidth="32" defaultHeight="9" defaultFrameCount="1" defaultTimeBetweenFrames="65">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Weapon_Railgun" defaultWidth="37" defaultHeight="22" defaultFrameCount="1" defaultTimeBetweenFrames="65">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Weapon_Shotgun" defaultWidth="37" defaultHeight="11" defaultFrameCount="1" defaultTimeBetweenFrames="65">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Object_Car" defaultWidth="144" defaultHeight="120" defaultFrameCount="2" defaultTimeBetweenFrames="65">
<animation name="idle"/>
</sheetloader>
<sheetloader type="Object_Barrel" defaultWidth="72" defaultHeight="72" defaultFrameCount="4" defaultTimeBetweenFrames="65">
<animation name="idle"/>
<animation name="death" rowCount="2"/>
</sheetloader>
<sheetloader type="HockeyRink" defaultWidth="60" defaultHeight="240" defaultFrameCount="4" defaultTimeBetweenFrames="65">
<animation name="idle"/>
</sheetloader>
</sheetloaders>
;
m_sheetLoader = new TileSheetLoader();
m_sheetLoader.loadFromXML(_local2);
}
static function createTileSheetAnimation(_arg1:String, _arg2:BitmapData):TileSheetAnimation{
return (m_sheetLoader.createTileSheetAnimation(_arg1, _arg2));
}
}
}//package
Section 80
//Results (Results)
package {
import flash.display.*;
public class Results extends MovieClip {
}
}//package
Section 81
//RifleShoot (RifleShoot)
package {
import flash.media.*;
public dynamic class RifleShoot extends Sound {
}
}//package
Section 82
//RollingZombieAppear (RollingZombieAppear)
package {
import flash.media.*;
public dynamic class RollingZombieAppear extends Sound {
}
}//package
Section 83
//SawLoop (SawLoop)
package {
import flash.media.*;
public dynamic class SawLoop extends Sound {
}
}//package
Section 84
//Shadow_CrateAndBarrel (Shadow_CrateAndBarrel)
package {
import flash.display.*;
public dynamic class Shadow_CrateAndBarrel extends BitmapData {
public function Shadow_CrateAndBarrel(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 85
//Shadow_Zamboni (Shadow_Zamboni)
package {
import flash.display.*;
public dynamic class Shadow_Zamboni extends BitmapData {
public function Shadow_Zamboni(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 86
//Shadow_ZombiesAndHeroes (Shadow_ZombiesAndHeroes)
package {
import flash.display.*;
public dynamic class Shadow_ZombiesAndHeroes extends BitmapData {
public function Shadow_ZombiesAndHeroes(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 87
//ShooterDie (ShooterDie)
package {
import flash.media.*;
public dynamic class ShooterDie extends Sound {
}
}//package
Section 88
//ShooterHurt (ShooterHurt)
package {
import flash.media.*;
public dynamic class ShooterHurt extends Sound {
}
}//package
Section 89
//SoundSystem (SoundSystem)
package {
import flash.media.*;
import flash.utils.*;
public class SoundSystem {
var m_volume:Number;// = 1
var m_loopChannel:SoundChannel;// = null
var m_isMuted:Boolean;// = false
static var s_singleton:SoundSystem = null;
public function SoundSystem(){
m_loopChannel = null;
m_isMuted = false;
m_volume = 1;
super();
s_singleton = this;
}
public function isMuted():Boolean{
return (m_isMuted);
}
function updateMute(){
if (m_isMuted){
changeVolume(0);
} else {
changeVolume(m_volume);
};
}
public function stopLoop(){
m_loopChannel.stop();
m_loopChannel = null;
}
public function changeVolume(_arg1:Number){
var _local2:SoundTransform;
_local2 = new SoundTransform();
_local2.volume = _arg1;
SoundMixer.soundTransform = _local2;
}
public function unmute(){
m_isMuted = false;
updateMute();
}
public function toggleMute(){
m_isMuted = !(m_isMuted);
updateMute();
}
public function mute(){
m_isMuted = true;
updateMute();
}
public function playSound(_arg1:String, _arg2:Number=1){
var _local3:Class;
var _local4:Sound;
var _local5:SoundTransform;
_local3 = (getDefinitionByName(_arg1) as Class);
_local4 = (new (_local3) as Sound);
_local5 = new SoundTransform();
_local5.volume = _arg2;
_local4.play(0, 1, _local5);
}
public function setMaxVolume(_arg1:Number){
m_volume = _arg1;
}
public function playLoop(_arg1:String, _arg2:Number=1){
var _local3:SoundTransform;
var _local4:Class;
var _local5:Sound;
if (m_loopChannel != null){
m_loopChannel.stop();
};
_local3 = new SoundTransform();
_local3.volume = _arg2;
_local4 = (getDefinitionByName(_arg1) as Class);
_local5 = (new (_local4) as Sound);
m_loopChannel = _local5.play(0, 999999999, _local3);
}
public static function getSingleton():SoundSystem{
if (s_singleton == null){
return (new (SoundSystem));
};
return (s_singleton);
}
}
}//package
Section 90
//Spawner (Spawner)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import com.urbansquall.math.*;
import flash.utils.*;
public class Spawner {
var m_game:ModeGame;
var m_timeTillNextZombie:Number;// = 0
var m_random:Random;
var m_timeTillNextCrate:Number;// = 0
var m_generatedLich:Boolean;// = false
static const k_levelHandicapUntil:int = 10;
static const k_randomTimeBetweenZombies:Number = 750;
static const k_minimumTimeBetweenZombies:Number = 250;
static const k_timeBetweenZombiesIncreaseDueToHandicap:Number = 25;
public function Spawner(_arg1:ModeGame){
m_timeTillNextZombie = 0;
m_timeTillNextCrate = 0;
m_generatedLich = false;
super();
m_game = _arg1;
m_random = new Random(getTimer());
}
function getRandomY(_arg1:Entity):Number{
return (((240 + (_arg1.getGameplayHeight() / 2)) + Math.floor((Math.random() * (240 - _arg1.getGameplayHeight())))));
}
private function createLich(){
var _local1:Entity;
_local1 = EntityFactory.create(EntityFactory.k_lich, m_game);
_local1.x = getXRight(_local1);
_local1.y = getRandomY(_local1);
}
function dispose(){
m_random = null;
m_game = null;
}
function update(_arg1:Number){
var _local2:int;
var _local3:Number;
_local2 = m_game.getLevel();
m_timeTillNextZombie = (m_timeTillNextZombie - _arg1);
m_timeTillNextCrate = (m_timeTillNextCrate - _arg1);
if (m_timeTillNextZombie <= 0){
_local3 = ((k_levelHandicapUntil - _local2) * k_timeBetweenZombiesIncreaseDueToHandicap);
if (_local3 < 0){
_local3 = 0;
};
m_timeTillNextZombie = ((k_minimumTimeBetweenZombies + (Math.random() * k_randomTimeBetweenZombies)) + _local3);
spawnZombie();
};
if (m_timeTillNextCrate <= 0){
m_timeTillNextCrate = (3000 + (Math.random() * 5000));
spawnCrate();
};
}
function getRandomCrateType():String{
var _local1:String;
var _local2:int;
var _local3:WeightedRandom;
_local1 = EntityFactory.k_shotgunCrate;
if (m_game.isBossLevel()){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_shotgunCrate, 0.3);
_local3.registerOption(EntityFactory.k_chainsawCrate, 0.3);
_local3.registerOption(EntityFactory.k_crossbowCrate, 0.3);
_local3.registerOption(EntityFactory.k_railgunCrate, 0.3);
_local1 = String(_local3.grabOption());
return (_local1);
};
_local2 = m_game.getLevel();
if (_local2 == 1){
_local1 = EntityFactory.k_shotgunCrate;
};
if (_local2 == 2){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_shotgunCrate, 0.8);
_local3.registerOption(EntityFactory.k_barrel, 0.2);
_local1 = String(_local3.grabOption());
};
if (_local2 == 3){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_shotgunCrate, 0.8);
_local3.registerOption(EntityFactory.k_chainsawCrate, 0.2);
_local3.registerOption(EntityFactory.k_zamboniKey, 0.025);
_local3.registerOption(EntityFactory.k_barrel, 0.2);
_local1 = String(_local3.grabOption());
};
if (_local2 == 3){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_shotgunCrate, 0.4);
_local3.registerOption(EntityFactory.k_chainsawCrate, 0.3);
_local3.registerOption(EntityFactory.k_crossbowCrate, 0.1);
_local3.registerOption(EntityFactory.k_zamboniKey, 0.05);
_local3.registerOption(EntityFactory.k_barrel, 0.2);
_local3.registerOption(EntityFactory.k_car, 0.1);
_local1 = String(_local3.grabOption());
};
if (_local2 == 4){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_shotgunCrate, 0.3);
_local3.registerOption(EntityFactory.k_chainsawCrate, 0.3);
_local3.registerOption(EntityFactory.k_crossbowCrate, 0.3);
_local3.registerOption(EntityFactory.k_railgunCrate, 0.1);
_local3.registerOption(EntityFactory.k_zamboniKey, 0.05);
_local3.registerOption(EntityFactory.k_barrel, 0.2);
_local3.registerOption(EntityFactory.k_car, 0.2);
_local1 = String(_local3.grabOption());
};
if (_local2 >= 6){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_shotgunCrate, 0.3);
_local3.registerOption(EntityFactory.k_chainsawCrate, 0.3);
_local3.registerOption(EntityFactory.k_crossbowCrate, 0.3);
_local3.registerOption(EntityFactory.k_railgunCrate, 0.3);
_local3.registerOption(EntityFactory.k_zamboniKey, 0.3);
_local3.registerOption(EntityFactory.k_barrel, 0.3);
_local3.registerOption(EntityFactory.k_car, 0.3);
_local1 = String(_local3.grabOption());
};
return (_local1);
}
function spawnHealthCrate(){
var _local1:Entity;
_local1 = EntityFactory.create(EntityFactory.k_healthCrate, m_game);
_local1.x = getXRight(_local1);
_local1.y = getRandomY(_local1);
}
private function spawnZombie(){
var _local1:String;
var _local2:Entity;
_local1 = getRandomZombieType();
if (_local1 == ""){
return;
};
_local2 = EntityFactory.create(_local1, m_game);
_local2.x = getXRight(_local2);
_local2.y = getRandomY(_local2);
}
function getXRight(_arg1:Entity):Number{
return ((((-1 * m_game.getScrollPosition()) + 640) + _arg1.getGameplayWidth()));
}
function spawnCrate(){
var _local1:String;
var _local2:String;
var _local3:Entity;
if (m_game.isZamboniMode()){
return;
};
if (Math.random() < 0.33){
_local1 = "ZombieIdle1";
} else {
if (Math.random() < 0.33){
_local1 = "ZombieIdle2";
} else {
_local1 = "ZombieIdle3";
};
};
SoundSystem.getSingleton().playSound(_local1);
_local2 = getRandomCrateType();
if (_local2 == ""){
return;
};
_local3 = EntityFactory.create(_local2, m_game);
_local3.x = getXRight(_local3);
_local3.y = getRandomY(_local3);
}
function getRandomZombieType():String{
var _local1:String;
var _local2:int;
var _local3:WeightedRandom;
_local1 = EntityFactory.k_zombie;
_local2 = m_game.getLevel();
if (_local2 <= 2){
_local1 = EntityFactory.k_zombie;
};
if (_local2 == 3){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_wheelchairZombie, 0.3);
_local3.registerOption(EntityFactory.k_zombie, 0.7);
_local1 = String(_local3.grabOption());
};
if (_local2 == 3){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_tankZombie, 0.08);
_local3.registerOption(EntityFactory.k_wheelchairZombie, 0.3);
_local3.registerOption(EntityFactory.k_zombie, 0.5);
_local1 = String(_local3.grabOption());
};
if (_local2 == 4){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_tankZombie, 0.15);
_local3.registerOption(EntityFactory.k_wheelchairZombie, 0.3);
_local3.registerOption(EntityFactory.k_zombie, 0.4);
_local1 = String(_local3.grabOption());
};
if (_local2 == 5){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_shooterZombie, 0.1);
_local3.registerOption(EntityFactory.k_tankZombie, 0.15);
_local3.registerOption(EntityFactory.k_wheelchairZombie, 0.3);
_local3.registerOption(EntityFactory.k_zombie, 0.4);
_local1 = String(_local3.grabOption());
};
if (_local2 == 6){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_shooterZombie, 0.15);
_local3.registerOption(EntityFactory.k_tankZombie, 0.15);
_local3.registerOption(EntityFactory.k_wheelchairZombie, 0.2);
_local3.registerOption(EntityFactory.k_zombie, 0.2);
_local1 = String(_local3.grabOption());
};
if (_local2 >= 7){
_local3 = new WeightedRandom(m_random);
_local3.registerOption(EntityFactory.k_shooterZombie, 0.15);
_local3.registerOption(EntityFactory.k_tankZombie, 0.15);
_local3.registerOption(EntityFactory.k_wheelchairZombie, 0.15);
_local3.registerOption(EntityFactory.k_zombie, 0.15);
_local1 = String(_local3.grabOption());
};
if (m_game.isBossLevel()){
_local1 = "";
if (!m_generatedLich){
createLich();
m_generatedLich = true;
};
} else {
m_generatedLich = false;
};
return (_local1);
}
}
}//package
Section 91
//SponsorSplashSymbol (SponsorSplashSymbol)
package {
import flash.display.*;
public dynamic class SponsorSplashSymbol extends SimpleButton {
}
}//package
Section 92
//TileBuilding1MC (TileBuilding1MC)
package {
import flash.display.*;
public dynamic class TileBuilding1MC extends MovieClip {
}
}//package
Section 93
//TileBuilding2MC (TileBuilding2MC)
package {
import flash.display.*;
public dynamic class TileBuilding2MC extends MovieClip {
}
}//package
Section 94
//TileStreet1MC (TileStreet1MC)
package {
import flash.display.*;
public dynamic class TileStreet1MC extends MovieClip {
}
}//package
Section 95
//TileStreet2MC (TileStreet2MC)
package {
import flash.display.*;
public dynamic class TileStreet2MC extends MovieClip {
}
}//package
Section 96
//TurtleVomit (TurtleVomit)
package {
import flash.media.*;
public dynamic class TurtleVomit extends Sound {
}
}//package
Section 97
//Urbansquall_Full_Logo (Urbansquall_Full_Logo)
package {
import flash.display.*;
public dynamic class Urbansquall_Full_Logo extends MovieClip {
}
}//package
Section 98
//Weapon_Chainsaw (Weapon_Chainsaw)
package {
import flash.display.*;
public dynamic class Weapon_Chainsaw extends BitmapData {
public function Weapon_Chainsaw(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 99
//Weapon_Crossbow (Weapon_Crossbow)
package {
import flash.display.*;
public dynamic class Weapon_Crossbow extends BitmapData {
public function Weapon_Crossbow(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 100
//Weapon_Nerfgun (Weapon_Nerfgun)
package {
import flash.display.*;
public dynamic class Weapon_Nerfgun extends BitmapData {
public function Weapon_Nerfgun(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 101
//Weapon_Railgun (Weapon_Railgun)
package {
import flash.display.*;
public dynamic class Weapon_Railgun extends BitmapData {
public function Weapon_Railgun(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 102
//Weapon_Shotgun (Weapon_Shotgun)
package {
import flash.display.*;
public dynamic class Weapon_Shotgun extends BitmapData {
public function Weapon_Shotgun(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 103
//VomitSplash (VomitSplash)
package {
import flash.media.*;
public dynamic class VomitSplash extends Sound {
}
}//package
Section 104
//ZamboniWamboniSymbol (ZamboniWamboniSymbol)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.ui.*;
import flash.text.*;
import flash.net.*;
import flash.filters.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
public dynamic class ZamboniWamboniSymbol extends MovieClip {
public function ZamboniWamboniSymbol(){
addFrameScript(179, frame180);
}
function frame180(){
gotoAndPlay(1);
}
}
}//package
Section 105
//ZLApplication (ZLApplication)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.net.*;
public class ZLApplication extends MovieClip {
public var timer:Timer;
public function ZLApplication(){
addFrameScript(1, frame2, 2, frame3, 3, frame4);
new InputKeyboard(this.stage);
}
function doSponsor(){
var _local1:SimpleButton;
var _local2:Fader;
_local1 = new SponsorSplashSymbol();
_local1.x = (320 - (_local1.width / 2));
_local1.y = (240 - (_local1.height / 2));
_local1.addEventListener(MouseEvent.CLICK, gotoFukGames);
_local2 = new Fader(_local1, 5000, 2500, doUrbansquall);
addChild(_local2);
}
public function timerHandler(_arg1:TimerEvent){
var _local2:Number;
var _local3:Number;
_local2 = root.loaderInfo.bytesLoaded;
_local3 = root.loaderInfo.bytesTotal;
if ((((((_local2 >= _local3)) && ((_local3 > 0)))) || ((((_local3 == 0)) && ((_local2 > 0)))))){
doneLoading();
};
}
function onPreloadFinish(){
ResourceLoader.preloadResources();
this.addEventListener(Event.ENTER_FRAME, checkResources);
}
function frame3(){
nextFrame();
}
public function doneLoading(){
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
play();
}
function doSplashScreens(){
doSponsor();
}
function start(){
ModeManager.initialize(this.stage);
this.stage.focus = this.stage;
this.stage.stageFocusRect = false;
ModeManager.switchMode(ModeManager.k_mainMode);
}
function frame4(){
changeVolume(1);
this.onPreloadFinish();
stop();
}
public function gotoFukGames(_arg1:Event){
var url:String;
var request:URLRequest;
var a_event = _arg1;
url = "http://www.fukgames.com/";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
function doUrbansquall(){
var _local1:DisplayObject;
var _local2:Fader;
_local1 = new Urbansquall_Full_Logo();
_local1.x = (320 - (_local1.width / 2));
_local1.y = (240 - (_local1.height / 2));
_local2 = new Fader(_local1, 2000, 500, start);
addChild(_local2);
}
function frame2(){
stop();
timer = new Timer(10);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
changeVolume(0);
}
public function changeVolume(_arg1:Number){
var _local2:SoundTransform;
_local2 = new SoundTransform();
_local2.volume = _arg1;
SoundMixer.soundTransform = _local2;
}
function checkResources(_arg1:Event){
if (ResourceLoader.isLoading()){
return;
};
this.removeEventListener(Event.ENTER_FRAME, checkResources);
SoundSystem.getSingleton().playLoop("Zombieland_Zamboni_Theme", ModeGame.k_mainThemeVolume);
doSplashScreens();
}
}
}//package
Section 106
//Zombie_Generic (Zombie_Generic)
package {
import flash.display.*;
public dynamic class Zombie_Generic extends BitmapData {
public function Zombie_Generic(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 107
//Zombie_Generic_Corpse (Zombie_Generic_Corpse)
package {
import flash.display.*;
public dynamic class Zombie_Generic_Corpse extends BitmapData {
public function Zombie_Generic_Corpse(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 108
//Zombie_Lich (Zombie_Lich)
package {
import flash.display.*;
public dynamic class Zombie_Lich extends BitmapData {
public function Zombie_Lich(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 109
//Zombie_Lich_Corpse (Zombie_Lich_Corpse)
package {
import flash.display.*;
public dynamic class Zombie_Lich_Corpse extends BitmapData {
public function Zombie_Lich_Corpse(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 110
//Zombie_Shooter (Zombie_Shooter)
package {
import flash.display.*;
public dynamic class Zombie_Shooter extends BitmapData {
public function Zombie_Shooter(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 111
//Zombie_Shooter_Corpse (Zombie_Shooter_Corpse)
package {
import flash.display.*;
public dynamic class Zombie_Shooter_Corpse extends BitmapData {
public function Zombie_Shooter_Corpse(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 112
//Zombie_Shooter_Projectile (Zombie_Shooter_Projectile)
package {
import flash.display.*;
public dynamic class Zombie_Shooter_Projectile extends BitmapData {
public function Zombie_Shooter_Projectile(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 113
//Zombie_Tank (Zombie_Tank)
package {
import flash.display.*;
public dynamic class Zombie_Tank extends BitmapData {
public function Zombie_Tank(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 114
//Zombie_Tank_Corpse (Zombie_Tank_Corpse)
package {
import flash.display.*;
public dynamic class Zombie_Tank_Corpse extends BitmapData {
public function Zombie_Tank_Corpse(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 115
//Zombie_Wheelchair (Zombie_Wheelchair)
package {
import flash.display.*;
public dynamic class Zombie_Wheelchair extends BitmapData {
public function Zombie_Wheelchair(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 116
//Zombie_Wheelchair_Corpse (Zombie_Wheelchair_Corpse)
package {
import flash.display.*;
public dynamic class Zombie_Wheelchair_Corpse extends BitmapData {
public function Zombie_Wheelchair_Corpse(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 117
//ZombieDie (ZombieDie)
package {
import flash.media.*;
public dynamic class ZombieDie extends Sound {
}
}//package
Section 118
//ZombieHurt (ZombieHurt)
package {
import flash.media.*;
public dynamic class ZombieHurt extends Sound {
}
}//package
Section 119
//ZombieIdle1 (ZombieIdle1)
package {
import flash.media.*;
public dynamic class ZombieIdle1 extends Sound {
}
}//package
Section 120
//ZombieIdle2 (ZombieIdle2)
package {
import flash.media.*;
public dynamic class ZombieIdle2 extends Sound {
}
}//package
Section 121
//ZombieIdle3 (ZombieIdle3)
package {
import flash.media.*;
public dynamic class ZombieIdle3 extends Sound {
}
}//package
Section 122
//Zombieland_Boss_Theme (Zombieland_Boss_Theme)
package {
import flash.media.*;
public dynamic class Zombieland_Boss_Theme extends Sound {
}
}//package
Section 123
//Zombieland_Normal_Theme (Zombieland_Normal_Theme)
package {
import flash.media.*;
public dynamic class Zombieland_Normal_Theme extends Sound {
}
}//package
Section 124
//Zombieland_Zamboni_Theme (Zombieland_Zamboni_Theme)
package {
import flash.media.*;
public dynamic class Zombieland_Zamboni_Theme extends Sound {
}
}//package