Section 1
//hitArea_63 (Barber_fla.hitArea_63)
package Barber_fla {
import flash.display.*;
public dynamic class hitArea_63 extends MovieClip {
public function hitArea_63(){
addFrameScript(0, frame1);
}
function frame1(){
alpha = 0;
}
}
}//package Barber_fla
Section 2
//hitAreacopy2_75 (Barber_fla.hitAreacopy2_75)
package Barber_fla {
import flash.display.*;
public dynamic class hitAreacopy2_75 extends MovieClip {
public function hitAreacopy2_75(){
addFrameScript(0, frame1);
}
function frame1(){
alpha = 0;
}
}
}//package Barber_fla
Section 3
//mc_barber_howto2_165 (Barber_fla.mc_barber_howto2_165)
package Barber_fla {
import flash.display.*;
public dynamic class mc_barber_howto2_165 extends MovieClip {
public function mc_barber_howto2_165(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Barber_fla
Section 4
//mc_bigpapa_cut_top_2_80 (Barber_fla.mc_bigpapa_cut_top_2_80)
package Barber_fla {
import flash.display.*;
public dynamic class mc_bigpapa_cut_top_2_80 extends MovieClip {
public function mc_bigpapa_cut_top_2_80(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package Barber_fla
Section 5
//mc_bird_cut_top_2_126 (Barber_fla.mc_bird_cut_top_2_126)
package Barber_fla {
import flash.display.*;
public dynamic class mc_bird_cut_top_2_126 extends MovieClip {
public function mc_bird_cut_top_2_126(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package Barber_fla
Section 6
//mc_blood_drips_31 (Barber_fla.mc_blood_drips_31)
package Barber_fla {
import flash.display.*;
public dynamic class mc_blood_drips_31 extends MovieClip {
public function mc_blood_drips_31(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package Barber_fla
Section 7
//mc_blood_drips_77 (Barber_fla.mc_blood_drips_77)
package Barber_fla {
import flash.display.*;
public dynamic class mc_blood_drips_77 extends MovieClip {
public function mc_blood_drips_77(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package Barber_fla
Section 8
//mc_bloodfx3_32 (Barber_fla.mc_bloodfx3_32)
package Barber_fla {
import flash.display.*;
public dynamic class mc_bloodfx3_32 extends MovieClip {
public function mc_bloodfx3_32(){
addFrameScript(6, frame7);
}
function frame7(){
stop();
}
}
}//package Barber_fla
Section 9
//MC_BloodTrail_33 (Barber_fla.MC_BloodTrail_33)
package Barber_fla {
import flash.display.*;
public dynamic class MC_BloodTrail_33 extends MovieClip {
public function MC_BloodTrail_33(){
addFrameScript(94, frame95);
}
function frame95(){
stop();
}
}
}//package Barber_fla
Section 10
//mc_combover_171 (Barber_fla.mc_combover_171)
package Barber_fla {
import flash.display.*;
public dynamic class mc_combover_171 extends MovieClip {
public function mc_combover_171(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package Barber_fla
Section 11
//mc_cueball_170 (Barber_fla.mc_cueball_170)
package Barber_fla {
import flash.display.*;
public dynamic class mc_cueball_170 extends MovieClip {
public function mc_cueball_170(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package Barber_fla
Section 12
//mc_flower_cut_top_2_84 (Barber_fla.mc_flower_cut_top_2_84)
package Barber_fla {
import flash.display.*;
public dynamic class mc_flower_cut_top_2_84 extends MovieClip {
public function mc_flower_cut_top_2_84(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package Barber_fla
Section 13
//mc_flowinglocks_172 (Barber_fla.mc_flowinglocks_172)
package Barber_fla {
import flash.display.*;
public dynamic class mc_flowinglocks_172 extends MovieClip {
public function mc_flowinglocks_172(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package Barber_fla
Section 14
//mc_generic_cut_top2_111 (Barber_fla.mc_generic_cut_top2_111)
package Barber_fla {
import flash.display.*;
public dynamic class mc_generic_cut_top2_111 extends MovieClip {
public function mc_generic_cut_top2_111(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package Barber_fla
Section 15
//mc_generic_shaved_159 (Barber_fla.mc_generic_shaved_159)
package Barber_fla {
import flash.display.*;
public dynamic class mc_generic_shaved_159 extends MovieClip {
public function mc_generic_shaved_159(){
addFrameScript(34, frame35);
}
function frame35(){
stop();
}
}
}//package Barber_fla
Section 16
//mc_goldenweave_174 (Barber_fla.mc_goldenweave_174)
package Barber_fla {
import flash.display.*;
public dynamic class mc_goldenweave_174 extends MovieClip {
public function mc_goldenweave_174(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package Barber_fla
Section 17
//mc_logo_10 (Barber_fla.mc_logo_10)
package Barber_fla {
import flash.display.*;
public dynamic class mc_logo_10 extends MovieClip {
public function mc_logo_10(){
addFrameScript(11, frame12, 82, frame83);
}
function frame83(){
gotoAndPlay("stripe1");
}
function frame12(){
gotoAndPlay("stripe2");
}
}
}//package Barber_fla
Section 18
//mc_preloader_4 (Barber_fla.mc_preloader_4)
package Barber_fla {
import flash.display.*;
public dynamic class mc_preloader_4 extends MovieClip {
public function mc_preloader_4(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Barber_fla
Section 19
//mc_scissors_169 (Barber_fla.mc_scissors_169)
package Barber_fla {
import flash.display.*;
public dynamic class mc_scissors_169 extends MovieClip {
public function mc_scissors_169(){
addFrameScript(10, frame11, 29, frame30, 57, frame58, 94, frame95, 140, frame141);
}
function frame58(){
stop();
}
function frame141(){
stop();
}
function frame95(){
stop();
}
function frame30(){
stop();
}
function frame11(){
stop();
}
}
}//package Barber_fla
Section 20
//mc_shaving_effect2_161 (Barber_fla.mc_shaving_effect2_161)
package Barber_fla {
import flash.display.*;
public dynamic class mc_shaving_effect2_161 extends MovieClip {
public function mc_shaving_effect2_161(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package Barber_fla
Section 21
//MC_Stage0to1_72 (Barber_fla.MC_Stage0to1_72)
package Barber_fla {
import flash.display.*;
public dynamic class MC_Stage0to1_72 extends MovieClip {
public function MC_Stage0to1_72(){
addFrameScript(35, frame36);
}
function frame36(){
stop();
}
}
}//package Barber_fla
Section 22
//MC_Stage1to2b_69 (Barber_fla.MC_Stage1to2b_69)
package Barber_fla {
import flash.display.*;
public dynamic class MC_Stage1to2b_69 extends MovieClip {
public function MC_Stage1to2b_69(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package Barber_fla
Section 23
//mc_sun_cut_top_2_120 (Barber_fla.mc_sun_cut_top_2_120)
package Barber_fla {
import flash.display.*;
public dynamic class mc_sun_cut_top_2_120 extends MovieClip {
public function mc_sun_cut_top_2_120(){
addFrameScript(16, frame17);
}
function frame17(){
stop();
}
}
}//package Barber_fla
Section 24
//MC_TinyHeadFlying_141 (Barber_fla.MC_TinyHeadFlying_141)
package Barber_fla {
import flash.display.*;
public dynamic class MC_TinyHeadFlying_141 extends MovieClip {
public function MC_TinyHeadFlying_141(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package Barber_fla
Section 25
//mc_wolfman_173 (Barber_fla.mc_wolfman_173)
package Barber_fla {
import flash.display.*;
public dynamic class mc_wolfman_173 extends MovieClip {
public function mc_wolfman_173(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package Barber_fla
Section 26
//plo_179 (Barber_fla.plo_179)
package Barber_fla {
import flash.display.*;
public dynamic class plo_179 extends MovieClip {
public function plo_179(){
addFrameScript(0, frame1);
}
function frame1(){
alpha = 0;
}
}
}//package Barber_fla
Section 27
//ColourPack (Bulletproofbaby.utils.ColourPack)
package Bulletproofbaby.utils {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.geom.*;
public class ColourPack extends Sprite {
private var screenObject:Object;
private var startCount:Number;
private var blinkSpeed:uint;// = 8
private var filterName:String;
private var steps:Number;
private var parameters:Object;
public function ColourPack():void{
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function applyRed():void{
var _local1:Array = new Array();
_local1 = _local1.concat([1, 0, 0, 0, 0]);
_local1 = _local1.concat([0, 0, 0, 0, 0]);
_local1 = _local1.concat([0, 0, 0, 0, 0]);
_local1 = _local1.concat([0, 0, 0, 1, 0]);
applyFilter(_local1);
}
private function removeTransform():void{
var _local1:ColorTransform = screenObject.transform.colorTransform;
_local1.redOffset = 0;
_local1.greenOffset = 0;
_local1.blueOffset = 0;
screenObject.transform.colorTransform = _local1;
_local1 = null;
}
private function setRed():void{
var _local1:ColorTransform = screenObject.transform.colorTransform;
_local1.redOffset = 0xFF;
_local1.greenOffset = 0;
_local1.blueOffset = 0;
screenObject.transform.colorTransform = _local1;
_local1 = null;
}
public function init(_arg1:Object, _arg2:Object):void{
screenObject = _arg1;
parameters = _arg2;
switch (parameters.type){
case "brightness":
setBrightness(parameters.frames);
filterName = "applyWhite";
break;
};
}
private function setBrightness(_arg1:uint):void{
startCount = 0xFF;
steps = (0xFF / _arg1);
startCount = (startCount + steps);
}
private function applyFilter(_arg1:Array):void{
var _local2:ColorMatrixFilter = new ColorMatrixFilter(_arg1);
var _local3:Array = new Array();
_local3.push(_local2);
screenObject.filters = _local3;
}
private function applyWhite(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
filterName = null;
};
var _local2:Array = new Array();
_local2 = _local2.concat([1, 0, 0, 0, _arg1]);
_local2 = _local2.concat([0, 1, 0, 0, _arg1]);
_local2 = _local2.concat([0, 0, 1, 0, _arg1]);
_local2 = _local2.concat([0, 0, 0, 1, 0]);
applyFilter(_local2);
}
public function blink(_arg1:Sprite):void{
this.screenObject = _arg1;
filterName = "blink";
steps = 0;
}
private function applyBlue():void{
var _local1:Array = new Array();
_local1 = _local1.concat([0, 0, 0, 0, 0]);
_local1 = _local1.concat([0, 0, 0, 0, 0]);
_local1 = _local1.concat([0, 0, 1, 0, 0]);
_local1 = _local1.concat([0, 0, 0, 1, 0]);
applyFilter(_local1);
}
private function removeFilter():void{
var _local1:Array = new Array();
_local1 = _local1.concat([0, 0, 0, 0, 0]);
_local1 = _local1.concat([0, 0, 0, 0, 0]);
_local1 = _local1.concat([0, 0, 0, 0, 0]);
_local1 = _local1.concat([0, 0, 0, 0, 0]);
applyFilter(_local1);
}
public function dealloc():void{
removeTransform();
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(_arg1:Event):void{
switch (filterName){
case "blink":
if (!steps){
setRed();
} else {
if (steps == int((blinkSpeed / 2))){
removeTransform();
};
};
steps++;
steps = (steps % blinkSpeed);
break;
};
}
private function applyGreen():void{
var _local1:Array = new Array();
_local1 = _local1.concat([0, 0, 0, 0, 0]);
_local1 = _local1.concat([0, 1, 0, 0, 0]);
_local1 = _local1.concat([0, 0, 0, 0, 0]);
_local1 = _local1.concat([0, 0, 0, 1, 0]);
applyFilter(_local1);
}
}
}//package Bulletproofbaby.utils
Section 28
//FrameListener (Bulletproofbaby.utils.FrameListener)
package Bulletproofbaby.utils {
import flash.events.*;
import flash.display.*;
public class FrameListener extends Sprite {
private var onFrameObserver:Array;
public function FrameListener():void{
onFrameObserver = new Array();
addEventListener(Event.ENTER_FRAME, enterFrame);
}
public function destroy():void{
removeEventListener(Event.ENTER_FRAME, enterFrame);
}
private function enterFrame(_arg1:Event):void{
var _local2:String;
for (_local2 in onFrameObserver) {
if (!onFrameObserver[_local2].hold){
onFrameObserver[_local2].object.enterFrame();
};
};
}
public function pause(_arg1:Array=null):void{
var _local2:String;
var _local3:Boolean;
var _local4:String;
var _local5:String;
for (_local2 in onFrameObserver) {
_local3 = true;
for (_local4 in _arg1) {
_local5 = _arg1[_local4];
if (_local5 == onFrameObserver[_local2].object){
_local3 = false;
};
};
onFrameObserver[_local2].hold = _local3;
};
}
public function addObserver(_arg1:Object):void{
onFrameObserver.push({object:_arg1, hold:false});
}
public function removeObserver(_arg1:Object):void{
var _local2:String;
for (_local2 in onFrameObserver) {
if (onFrameObserver[_local2].object == _arg1){
onFrameObserver.splice(_local2, 1);
break;
};
};
}
public function play():void{
var _local1:String;
for (_local1 in onFrameObserver) {
onFrameObserver[_local1].hold = false;
};
}
}
}//package Bulletproofbaby.utils
Section 29
//KeyListener (Bulletproofbaby.utils.KeyListener)
package Bulletproofbaby.utils {
import flash.events.*;
import flash.display.*;
public class KeyListener extends Sprite {
private var keyCode:uint;
private var focus:Object;
private var observers:Array;
public function KeyListener(_arg1:Object){
focus = _arg1;
observers = new Array();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
}
private function onKeyDown(_arg1:KeyboardEvent):void{
var _local2:*;
var _local3:Object;
for (_local2 in observers) {
_local3 = observers[_local2];
_local3.keyDown = _arg1.keyCode;
};
}
public function destroy():void{
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
removeEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
removeEventListener(KeyboardEvent.KEY_UP, onKeyUp);
}
private function keepFocus():void{
focus.focus = this;
}
public function onEnterFrame(_arg1:Event):void{
keepFocus();
}
public function addObserver(_arg1:Object):void{
observers.push(_arg1);
}
public function removeObserver(_arg1:Object):void{
var _local2:String;
for (_local2 in observers) {
if (observers[_local2] == _arg1){
observers.splice(_local2, 1);
break;
};
};
}
private function onKeyUp(_arg1:KeyboardEvent):void{
var _local2:*;
var _local3:Object;
for (_local2 in observers) {
_local3 = observers[_local2];
_local3.keyUp = _arg1.keyCode;
};
}
}
}//package Bulletproofbaby.utils
Section 30
//Library (Bulletproofbaby.utils.Library)
package Bulletproofbaby.utils {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class Library extends Sprite {
private var loadList:Array;
private var callBack:String;
private var libraryCount:uint;
private var libraries:Array;
private var loadInfo:String;
private var objectList:Array;
public static const LOADED:String = "loaded";
public function Library(_arg1:Array, _arg2:String=null, _arg3:String=null, _arg4:Object=null, _arg5:uint=0):void{
var _local6:String;
var _local7:String;
var _local8:Loader;
var _local9:LoaderContext;
loadList = new Array();
objectList = new Array();
super();
_arg4 = null;
this.callBack = _arg2;
this.libraries = _arg1;
this.loadInfo = _arg3;
libraryCount = _arg1.length;
for each (_local6 in _arg1) {
if (_arg4){
_local7 = ((_arg4.LIBRARY_PATH + "") + _local6);
Security.allowDomain(_arg4.ALLOW_DOMAIN);
Security.loadPolicyFile(_arg4.DOMAIN_POLICY);
} else {
_local7 = _local6;
};
_local8 = new Loader();
_local8.contentLoaderInfo.addEventListener(Event.INIT, loaded);
_local9 = new LoaderContext(true);
_local8.load(new URLRequest(_local7), _local9);
loadList.push(_local8);
};
}
public function get method():String{
return (callBack);
}
public function get id():String{
return (loadInfo);
}
public function dealloc():void{
}
private function loaded(_arg1:Event):void{
var _local3:*;
var _local4:String;
var _local2:Array = _arg1.target.content.assetList;
for (_local3 in _local2) {
_local4 = _local2[_local3];
objectList.push(_local4);
this[_local4] = (_arg1.target.applicationDomain.getDefinition(_local4) as Class);
};
dispatchEvent(new Event(LOADED));
}
public function get info():Object{
var _local7:Loader;
var _local1:int;
var _local2:int;
var _local3:uint;
var _local4:uint;
while (_local4 < loadList.length) {
_local7 = loadList[_local4];
if (_local7.contentLoaderInfo.bytesTotal){
_local1 = (_local1 + _local7.contentLoaderInfo.bytesTotal);
_local2 = (_local2 + _local7.contentLoaderInfo.bytesLoaded);
} else {
_local3++;
};
_local4++;
};
var _local5:Number = 0;
var _local6:uint = ((100 / loadList.length) * (loadList.length - _local3));
if (_local1){
_local5 = ((_local6 / _local1) * _local2);
};
return ({bytesTotal:_local1, bytesLoaded:_local2, percent:_local5, id:loadInfo});
}
public function get list():Array{
return (objectList);
}
}
}//package Bulletproofbaby.utils
Section 31
//LibraryLoader (Bulletproofbaby.utils.LibraryLoader)
package Bulletproofbaby.utils {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.utils.*;
public dynamic class LibraryLoader {
private var libraries:Array;
private var delegate;
public function LibraryLoader():void{
libraries = new Array();
super();
}
private function getLibraryInfo(_arg1:Library):Object{
return (_arg1.info);
}
public function load(_arg1:Array, _arg2=null, _arg3:String=null, _arg4:String=null, _arg5:Object=null):void{
var _local6:String;
var _local7:Library;
this.delegate = _arg2;
for each (_local6 in _arg1) {
_local7 = new Library([_local6], _arg3, _arg4, _arg5, _arg1.length);
if (_arg3){
_local7.addEventListener(Library.LOADED, callBackEvent);
};
libraries.push({asset:_local7, loadInfo:_arg4, amount:_arg1.length, loadedNum:0});
};
}
public function getMovieClip(_arg1:String):MovieClip{
var _local2:Class = (getDefinitionByName(_arg1) as Class);
var _local3:MovieClip = new (_local2);
return (_local3);
}
public function dealloc():void{
}
public function getObject(_arg1:String):MovieClip{
return (getMovieClip(_arg1));
}
public function getInfoByID(_arg1:String):Object{
var _local6:Object;
var _local2:Number = 0;
var _local3:Number = 0;
var _local4:Number = 0;
var _local5:uint;
for each (_local6 in libraries) {
if (_local6.asset.id == _arg1){
_local5++;
_local2 = (_local2 + getLibraryInfo(_local6.asset).bytesTotal);
_local3 = (_local3 + getLibraryInfo(_local6.asset).bytesLoaded);
_local4 = (_local4 + getLibraryInfo(_local6.asset).percent);
_arg1 = _local6.asset.id;
};
};
if (_local5){
return ({bytesTotal:_local2, bytesLoaded:_local3, percent:(_local4 / _local5), id:_arg1});
};
trace((("error: [getInfoByID] -no Library linked to (" + _arg1) + ") @ LibraryLoader"));
return (null);
}
public function getSound(_arg1:String):Sound{
var _local2:Class = (getDefinitionByName(_arg1) as Class);
var _local3:Sound = new (_local2);
return (_local3);
}
public function getSimpleButton(_arg1:String):SimpleButton{
var _local2:Object;
var _local3:String;
for each (_local2 in libraries) {
for each (_local3 in _local2.asset.list) {
if (_local3 == _arg1){
return ((new (_local2.asset[_arg1]) as SimpleButton));
};
};
};
trace((("error: [getSprite] -no Sprite linked to (" + _arg1) + ") @ LibraryLoader"));
return (null);
}
public function getSprite(_arg1:String):Sprite{
var _local2:Object;
var _local3:String;
for each (_local2 in libraries) {
for each (_local3 in _local2.asset.list) {
if (_local3 == _arg1){
return ((new (_local2.asset[_arg1]) as Sprite));
};
};
};
trace((("error: [getSprite] -no Sprite linked to (" + _arg1) + ") @ LibraryLoader"));
return (null);
}
private function callBackEvent(_arg1:Event):void{
var _local2:Object;
for each (_local2 in libraries) {
if (_local2.asset.id == _arg1.target.id){
_local2.loadedNum++;
if (_local2.loadedNum == _local2.amount){
var _local5 = delegate;
_local5[_arg1.target.method]();
break;
};
};
};
_arg1.target.removeEventListener(Library.LOADED, callBackEvent);
}
}
}//package Bulletproofbaby.utils
Section 32
//Speedo (Bulletproofbaby.utils.Speedo)
package Bulletproofbaby.utils {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.filters.*;
import flash.utils.*;
public class Speedo extends MovieClip {
private var elapsedSeconds:Number;
private var recentFPSoutput:String;
private var numFrames:Number;
private var startTime:Number;
private var recentNumFrames:Number;
private var fontFormat:TextFormat;
private var recentStartTime:Number;
private var recentSetting:Number;
private var displayText:TextField;
private var glowFilter:GlowFilter;
public function Speedo(){
glowFilter = new GlowFilter();
glowFilter.color = 0xFFFFFF;
glowFilter.blurX = 4;
glowFilter.blurY = 4;
glowFilter.strength = 10;
glowFilter.quality = 1;
fontFormat = new TextFormat();
fontFormat.font = "Helvetica";
fontFormat.size = 14;
fontFormat.bold = true;
displayText = new TextField();
displayText.width = 250;
displayText.height = 20;
displayText.filters = [glowFilter];
addChild(displayText);
numFrames = 0;
recentSetting = 10;
recentNumFrames = 0;
startTime = getTimer();
recentStartTime = startTime;
y = 0;
x = 0;
alpha = 0.9;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(_arg1:Event):void{
var _local3:*;
numFrames++;
var _local2:* = getTimer();
elapsedSeconds = ((_local2 - startTime) / 1000);
recentNumFrames++;
if (recentNumFrames == recentSetting){
_local3 = ((_local2 - recentStartTime) / 1000);
recentFPSoutput = (Math.round((recentNumFrames / _local3)) + " FPS, version:b22");
recentStartTime = _local2;
recentNumFrames = 0;
displayText.text = recentFPSoutput;
};
displayText.setTextFormat(fontFormat);
}
}
}//package Bulletproofbaby.utils
Section 33
//Tape (Bulletproofbaby.utils.Tape)
package Bulletproofbaby.utils {
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class Tape extends Sprite {
private var audioTransform:SoundTransform;
private var audioChannel:SoundChannel;
private var trackName:String;
private var clip:Object;
private var volume:uint;
private var repeat:uint;
private var tapePlayer:Object;
private var loop:uint;
private var position:Number;// = 0
public static const COMPLETE:String = "complete";
public function Tape(_arg1:Object, _arg2:Object, _arg3:Boolean, _arg4:uint, _arg5:uint, _arg6:String):void{
clip = _arg2;
tapePlayer = _arg1;
volume = _arg4;
repeat = _arg5;
loop = 0;
trackName = _arg6;
init();
}
public function get track():String{
return (trackName);
}
public function init():void{
playClip(0);
}
public function setVolume():void{
if (((!(audioChannel)) || (!(audioTransform)))){
return;
};
audioTransform.volume = (((volume / 100) * (tapePlayer.volume / 100)) * int(!(tapePlayer.muted)));
audioChannel.soundTransform = audioTransform;
}
private function soundComplete(_arg1:Event):void{
if (loop++ >= repeat){
dispatchEvent(new Event(COMPLETE));
} else {
audioChannel.removeEventListener(Event.SOUND_COMPLETE, soundComplete);
playClip(0);
};
}
private function playClip(_arg1:Number):void{
audioTransform = new SoundTransform();
audioChannel = new SoundChannel();
audioChannel = clip.play(_arg1, 0);
audioTransform.volume = (((volume / 100) * (tapePlayer.volume / 100)) * int(!(tapePlayer.muted)));
audioChannel.soundTransform = audioTransform;
audioChannel.addEventListener(Event.SOUND_COMPLETE, soundComplete);
}
public function stopClip():void{
audioChannel.removeEventListener(Event.SOUND_COMPLETE, soundComplete);
audioChannel.stop();
audioChannel = null;
audioTransform = null;
}
public function play():void{
playClip(position);
}
public function destroy():void{
stopClip();
clip = null;
}
public function pause():void{
position = audioChannel.position;
stopClip();
}
}
}//package Bulletproofbaby.utils
Section 34
//TapePlayer (Bulletproofbaby.utils.TapePlayer)
package Bulletproofbaby.utils {
import flash.events.*;
import flash.display.*;
public class TapePlayer extends Sprite {
private var tapeList:Array;
public var muted:Boolean;
private var potentialVolume:uint;
public var volume:uint;
private var library:LibraryLoader;
public function TapePlayer(_arg1:LibraryLoader):void{
tapeList = new Array();
super();
library = _arg1;
volume = 100;
potentialVolume = volume;
addEventListener(Event.ENTER_FRAME, enterFrame);
}
public function stop(_arg1:String):void{
var _local2:String;
var _local3:Tape;
for (_local2 in tapeList) {
_local3 = tapeList[_local2];
if (_local3.track == _arg1){
_local3.destroy();
tapeList.splice(_local2, 1);
break;
};
};
}
public function play(_arg1:String, _arg2:Boolean=false, _arg3:uint=100, _arg4:uint=0):void{
var tape:Tape;
var _track = _arg1;
var _music = _arg2;
var _volume = _arg3;
var _loop = _arg4;
tape = new Tape(this, library.getSound(_track), _music, _volume, _loop, _track);
tape.addEventListener(Tape.COMPLETE, function (_arg1:Event):void{
destroyTape(tape);
});
tapeList.push(tape);
}
public function playTape():void{
var _local1:String;
var _local2:Tape;
for (_local1 in tapeList) {
_local2 = tapeList[_local1];
_local2.play();
};
}
public function fade(_arg1:uint):void{
this.potentialVolume = _arg1;
}
public function stopAllSounds():void{
var _local1:String;
var _local2:Tape;
for (_local1 in tapeList) {
_local2 = tapeList[_local1];
_local2.destroy();
};
tapeList = new Array();
}
private function enterFrame(_arg1:Event):void{
var _local2:uint = 5;
if (potentialVolume != volume){
volume = (volume + (_local2 * int((potentialVolume > volume))));
volume = (volume - (_local2 * int((potentialVolume < volume))));
if (Math.abs((potentialVolume - volume)) < _local2){
volume = potentialVolume;
};
setVolume(volume);
};
}
public function mute(_arg1:Boolean):void{
this.muted = _arg1;
setVolume(volume);
}
public function setVolume(_arg1:uint):void{
var _local2:String;
var _local3:Tape;
volume = _arg1;
for (_local2 in tapeList) {
_local3 = tapeList[_local2];
_local3.setVolume();
};
}
private function destroyTape(_arg1:Tape):void{
var _local2:String;
for (_local2 in tapeList) {
if (_arg1 == tapeList[_local2]){
tapeList.splice(_local2, 1);
_arg1.destroy();
break;
};
};
}
public function pauseTape():void{
var _local1:String;
var _local2:Tape;
for (_local1 in tapeList) {
_local2 = tapeList[_local1];
_local2.pause();
};
}
}
}//package Bulletproofbaby.utils
Section 35
//XMLLoader (Bulletproofbaby.utils.XMLLoader)
package Bulletproofbaby.utils {
import flash.events.*;
import flash.net.*;
public class XMLLoader {
private var elementChild:XML;
private var string:String;
private var xml:Object;
private var xmlPathSplit:Array;
private var urlRequest:URLRequest;
private var callBackMethod:String;
private var shell:Object;
private var pathRef:Object;
private var elementName:String;
private var xmlCount:uint;
private var internal:Object;
private var filePath:String;
private var pathName:String;
private var loaderList:Array;
private var objectRef:Object;
private var xmlList:Array;
private var urlLoader:URLLoader;
private var internalName:String;
private var currentLoader:URLLoader;
private var xmlLoaded:XML;
private var tempEntry:Array;
public static const BLANK:String = "blank";
private function loadFile():void{
filePath = xmlList[(xmlList.length - xmlCount)];
xmlCount--;
objectRef = objectFromFileName(filePath);
urlRequest = new URLRequest(filePath);
urlLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, completeListener);
urlLoader.load(urlRequest);
loaderList.push(urlLoader);
}
private function completeListener(_arg1:Event):void{
var _local2:Boolean;
var _local3:*;
var _local4:uint;
var _local5:*;
if (_arg1.target == null){
_local2 = true;
xmlLoaded = internal[internalName];
} else {
xmlLoaded = new XML(_arg1.target.data);
};
for (_local3 in xmlLoaded.*) {
elementName = xmlLoaded.*[_local3].name();
objectRef[elementName] = new Object();
elementChild = new XML(xmlLoaded.*[_local3]);
string = ((string + ".") + elementName);
_local4 = 0;
for (_local5 in elementChild.*) {
objectRef[elementName][elementChild.*[_local5].name()] = findValueType(elementChild.*[_local5]);
if (elementName == "script"){
var _temp1 = _local4;
_local4 = (_local4 + 1);
objectRef[elementName][elementChild.*[_local5].name()].push(_temp1);
};
};
};
if (xmlCount > 0){
if (_local2){
loadInternalFile();
} else {
loadFile();
};
} else {
if (callBackMethod != null){
clearListeners();
var _local6 = shell;
_local6[callBackMethod]();
};
};
}
private function findValueType(_arg1){
var _local2:*;
var _local3:String;
if (!isNaN(_arg1)){
return (Number(_arg1));
};
if (_arg1.split(",").length > 1){
tempEntry = [];
for (_local2 in _arg1.split(",")) {
tempEntry.push(findValueType(_arg1.split(",")[_local2]));
};
return (tempEntry);
} else {
_local3 = _arg1.toString();
if (_local3 == "true"){
return (true);
};
//unresolved if
};
return (!NULL!);
return (_local3);
}
private function findValueTypePrint(_arg1){
var _local2:String;
var _local3:String;
var _local4:*;
var _local5:String;
if (!isNaN(_arg1)){
return (Number(_arg1));
};
if (_arg1.split(",").length > 1){
tempEntry = [];
for (_local4 in _arg1.split(",")) {
_local3 = "";
_local2 = "";
if (_local4 == 0){
_local2 = "[";
};
if (_local4 == (_arg1.split(",").length - 1)){
_local3 = "]";
};
if (isNaN(findValueType(_arg1.split(",")[_local4]))){
tempEntry.push(((((_local2 + "\"") + findValueType(_arg1.split(",")[_local4])) + "\"") + _local3));
} else {
tempEntry.push(((_local2 + findValueType(_arg1.split(",")[_local4])) + _local3));
};
};
return (tempEntry);
//unresolved jump
};
_local5 = _arg1.toString();
if (_local5 == "true"){
return (true);
};
if (_local5 == "false"){
return (false);
};
return ((("\"" + _local5) + "\""));
}
public function set callBack(_arg1:String):void{
callBackMethod = _arg1;
}
public function loadInternalXML(_arg1:Array, _arg2:Object, _arg3:Object, _arg4:Object):void{
internal = _arg4;
shell = _arg2;
xmlList = _arg1;
xml = _arg3;
xmlCount = xmlList.length;
loaderList = new Array();
loadInternalFile();
}
private function loadInternalFile():void{
filePath = xmlList[(xmlList.length - xmlCount)];
xmlCount--;
objectRef = objectFromFileName(filePath);
var _local1:Event = new Event(BLANK);
completeListener(_local1);
}
public function loadXML(_arg1:Array, _arg2:Object, _arg3:Object):void{
shell = _arg2;
xmlList = _arg1;
xml = _arg3;
xmlCount = xmlList.length;
loaderList = new Array();
loadFile();
}
private function objectFromFileName(_arg1:String):Object{
var _local2:*;
xmlPathSplit = _arg1.split("/");
string = null;
for (_local2 in xmlPathSplit) {
if (_local2 == (xmlPathSplit.length - 1)){
pathName = xmlPathSplit[_local2].split(".")[0];
} else {
pathName = xmlPathSplit[_local2];
};
if (_local2 == 0){
if (xml[pathName] == null){
xml[pathName] = new Object();
};
string = ("xml." + pathName);
pathRef = xml[pathName];
} else {
if (pathRef[pathName] == null){
pathRef[pathName] = new Object();
string = ((string + ".") + pathName);
};
pathRef = pathRef[pathName];
internalName = pathName;
};
};
return (pathRef);
}
private function clearListeners():void{
var _local1:*;
for (_local1 in loaderList) {
currentLoader = loaderList[_local1];
currentLoader.removeEventListener(Event.COMPLETE, completeListener);
};
}
}
}//package Bulletproofbaby.utils
Section 36
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local4:int;
var _local5:int;
var _local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package com.adobe.utils
Section 37
//ArcPattern (Enemies.ArcPattern)
package Enemies {
public class ArcPattern {
private var descent:Boolean;
private var start:uint;
private var delay:uint;
private var speed:Number;
private var acc:Number;
private var yLimit:uint;
private var arrived:Boolean;
private var startX:uint;
private var startY:uint;
private var velocity:int;// = 0
public function ArcPattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
startX = _arg2;
this.start = _arg4.start;
this.delay = _arg3;
yLimit = _arg4.stageDimensions.height;
descent = _arg4.descent;
speed = _arg4.speed;
acc = (int(descent) - int(!(descent)));
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
if (((!(arrived)) && (((((((_arg1.py + (_arg1.spriteHeight / 4)) > 0)) && ((_arg1.py < 0)))) || (((((_arg1.py - (_arg1.spriteHeight / 4)) < yLimit)) && ((_arg1.py > yLimit)))))))){
arrived = true;
};
_arg1.x = _arg2;
_arg1.y = _arg3;
if ((_arg1.px - _arg5) > (startX - delay)){
return;
};
if ((_arg1.px - _arg5) <= start){
velocity = (velocity + acc);
_arg1.py = (_arg1.py + Math.max(Math.min(velocity, speed), -(speed)));
};
if (((arrived) && (((((((_arg1.x - _arg5) < ((-(_arg1.spriteWidth) / 2) + 20))) || (((_arg1.py - (_arg1.spriteHeight / 4)) > yLimit)))) || (((_arg1.py + (_arg1.spriteHeight / 4)) < 0)))))){
_arg1.remove();
};
}
}
}//package Enemies
Section 38
//Enemy (Enemies.Enemy)
package Enemies {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
public class Enemy extends Sprite {
public var spriteWidth:uint;
public var sprite;
protected var speed:Number;
public var px:Number;
public var py:Number;
public var spriteHeight:uint;
public var holdSpeed:Boolean;
public var state:String;// = "Beard"
public var safety:Boolean;
protected var patternReference;
protected var invincible:Boolean;
public var layer:String;
protected var view:CharacterView;
public var fly:Boolean;// = false
protected var reversible:Boolean;
private var guides:Boolean;
public var type:String;
private var library:LibraryLoader;
public static const BAD_SHAVE:String = "badShave";
public static const REMOVE:String = "remove";
public static const STUBBLED:String = "stubbled";
public static const MISSED:String = "missed";
public static const SHAVE:String = "shave";
public function Enemy(_arg1:LibraryLoader, _arg2:Boolean):void{
this.guides = _arg2;
this.library = _arg1;
sprite = _arg1.getObject((("mc" + type) + state));
addChild(sprite);
spriteWidth = sprite.width;
spriteHeight = sprite.height;
}
public function remove():void{
if (state == "Beard"){
dispatchEvent(new Event(MISSED));
};
dispatchEvent(new Event(REMOVE));
}
protected function updateAnimation(_arg1:String):void{
while (numChildren) {
removeChildAt(0);
};
state = _arg1;
sprite = library.getObject((("mc" + type) + state));
addChild(sprite);
}
public function dealloc():void{
patternReference = null;
while (numChildren) {
removeChildAt(0);
};
sprite = null;
}
public function get coords():Object{
return ({x:x, y:y, width:spriteHeight});
}
public function updatePosition(_arg1:Number, _arg2:Number):void{
px = (px - (_arg1 * int(!(holdSpeed))));
py = (py - _arg2);
px = (px - speed);
if (patternReference){
patternReference.update(this, px, py, _arg1, view.distance);
};
if (sprite){
if (sprite.hitBox){
sprite.hitBox.alpha = guides;
};
};
}
public function init(_arg1, _arg2:Number, _arg3:uint, _arg4:Object, _arg5:CharacterView):void{
invincible = _arg4.invincible;
this.speed = _arg2;
this.patternReference = new _arg1(py, px, _arg3, _arg4, this);
this.view = _arg5;
}
public function reverse():void{
if (reversible){
scaleX = -1;
};
}
public function hitWith(_arg1:String):void{
switch (state){
case "Beard":
safety = true;
updateAnimation("Shave");
dispatchEvent(new Event(SHAVE));
break;
case "Bald":
case "Shave":
if (((((((safety) || ((_arg1 == "powerup")))) || (invincible))) || (view.invincible))){
return;
};
updateAnimation("Kill");
dispatchEvent(new Event(BAD_SHAVE));
break;
};
}
}
}//package Enemies
Section 39
//Enemy1 (Enemies.Enemy1)
package Enemies {
import Bulletproofbaby.utils.*;
public class Enemy1 extends Enemy {
public function Enemy1(_arg1:LibraryLoader, _arg2:Boolean):void{
fly = true;
type = "Enemy1";
super(_arg1, _arg2);
}
}
}//package Enemies
Section 40
//Enemy2 (Enemies.Enemy2)
package Enemies {
import Bulletproofbaby.utils.*;
public class Enemy2 extends Enemy {
public function Enemy2(_arg1:LibraryLoader, _arg2:Boolean):void{
fly = true;
type = "Enemy2";
super(_arg1, _arg2);
}
}
}//package Enemies
Section 41
//Enemy3 (Enemies.Enemy3)
package Enemies {
import flash.events.*;
import Bulletproofbaby.utils.*;
public class Enemy3 extends Enemy {
public function Enemy3(_arg1:LibraryLoader, _arg2:Boolean):void{
fly = true;
type = "Enemy3";
super(_arg1, _arg2);
}
override public function hitWith(_arg1:String):void{
switch (state){
case "Beard":
safety = true;
updateAnimation("Shave");
dispatchEvent(new Event(SHAVE));
break;
case "Shave":
if (safety){
return;
};
safety = true;
updateAnimation("Stubble");
dispatchEvent(new Event(STUBBLED));
break;
case "Bald":
case "Stubble":
if (((((((safety) || ((_arg1 == "powerup")))) || (invincible))) || (view.invincible))){
return;
};
updateAnimation("Kill");
dispatchEvent(new Event(BAD_SHAVE));
break;
};
}
override public function remove():void{
if ((((state == "Beard")) || ((state == "Shave")))){
dispatchEvent(new Event(MISSED));
};
dispatchEvent(new Event(REMOVE));
}
}
}//package Enemies
Section 42
//Enemy4 (Enemies.Enemy4)
package Enemies {
import Bulletproofbaby.utils.*;
public class Enemy4 extends Enemy {
private var yLimit:uint;
private var frame:uint;
private var fallY:Number;// = 1
public function Enemy4(_arg1:LibraryLoader, _arg2:Boolean):void{
reversible = true;
fly = true;
type = "Enemy4";
super(_arg1, _arg2);
}
override public function init(_arg1, _arg2:Number, _arg3:uint, _arg4:Object, _arg5:CharacterView):void{
yLimit = _arg4.stageDimensions.height;
super.init(_arg1, _arg2, _arg3, _arg4, _arg5);
}
override public function updatePosition(_arg1:Number, _arg2:Number):void{
if (state == "Kill"){
updateAnimation("Fall");
patternReference = new FallPattern(py, px, 0, {yLimit:yLimit}, this);
};
super.updatePosition(_arg1, _arg2);
}
}
}//package Enemies
Section 43
//Enemy5 (Enemies.Enemy5)
package Enemies {
import Bulletproofbaby.utils.*;
public class Enemy5 extends Enemy {
public function Enemy5(_arg1:LibraryLoader, _arg2:Boolean):void{
fly = true;
type = "Enemy5";
super(_arg1, _arg2);
}
}
}//package Enemies
Section 44
//Enemy6 (Enemies.Enemy6)
package Enemies {
import Bulletproofbaby.utils.*;
public class Enemy6 extends Enemy {
public function Enemy6(_arg1:LibraryLoader, _arg2:Boolean):void{
fly = true;
type = "Enemy6";
super(_arg1, _arg2);
}
}
}//package Enemies
Section 45
//Enemy7 (Enemies.Enemy7)
package Enemies {
import Bulletproofbaby.utils.*;
public class Enemy7 extends Enemy {
private var yLimit:uint;
private var time:uint;// = 0
private var frame:uint;
private var startX:uint;
private var fallY:Number;// = 1
public function Enemy7(_arg1:LibraryLoader, _arg2:Boolean):void{
reversible = true;
fly = true;
type = "Enemy7";
super(_arg1, _arg2);
}
override public function init(_arg1, _arg2:Number, _arg3:uint, _arg4:Object, _arg5:CharacterView):void{
yLimit = _arg4.stageDimensions.height;
startX = (_arg4.stageDimensions.width + spriteWidth);
super.init(_arg1, _arg2, _arg3, _arg4, _arg5);
}
override public function updatePosition(_arg1:Number, _arg2:Number):void{
if (state == "Kill"){
updateAnimation("Fall");
patternReference = new FallPattern(py, px, 0, {yLimit:yLimit}, this);
};
super.updatePosition(_arg1, _arg2);
}
}
}//package Enemies
Section 46
//FallPattern (Enemies.FallPattern)
package Enemies {
public class FallPattern {
private var yLimit:uint;
private var delay:uint;
private var startX:uint;
private var force:Number;// = 1
private var startY:uint;
private var velocity:Number;// = 10
public function FallPattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
startX = _arg2;
this.delay = _arg3;
yLimit = _arg4.yLimit;
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
_arg1.py = (_arg1.py - (velocity - force++));
_arg1.x = _arg2;
_arg1.y = _arg3;
if ((_arg1.py - (_arg1.spriteHeight / 2)) >= yLimit){
_arg1.remove();
};
}
}
}//package Enemies
Section 47
//FallWalkPattern (Enemies.FallWalkPattern)
package Enemies {
public class FallWalkPattern {
private var yLimit:uint;
private var speed:Number;// = 0
private var bounce:int;// = 3
private var fallAtX:uint;
private var step:Number;// = 0
private var time:uint;
private var gravity:Number;// = 2.5
private var velocity:Number;// = 0
private var fps:uint;
private var restitution:Number;// = 0.2
private var wait:uint;
private var startX:uint;
private var startY:uint;
private var walkSpeed:uint;
public function FallWalkPattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
startX = _arg2;
_arg5.py = (-((_arg5.spriteHeight / 2)) - 20);
_arg5.px = (startX + (_arg3 * (_arg5.spriteWidth + 20)));
wait = _arg4.wait;
fps = _arg4.fps;
walkSpeed = _arg4.walkSpeed;
yLimit = _arg4.stageDimensions.height;
fallAtX = _arg4.fallAtX;
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
if ((((bounce > 0)) && (((_arg1.px - _arg5) <= fallAtX)))){
_arg1.py = (_arg1.py + velocity);
if (_arg1.py > startY){
_arg1.py = startY;
velocity = (velocity * -(restitution));
bounce--;
} else {
velocity = (velocity + gravity);
};
};
if ((time = (time + int((bounce <= 0)))) >= (wait * fps)){
speed++;
_arg1.py = (_arg1.py + Math.min(speed, walkSpeed));
};
_arg1.x = _arg2;
_arg1.y = _arg3;
if (((((_arg1.py - (_arg1.spriteHeight / 2)) >= yLimit)) || (((_arg1.x - _arg5) < ((-(_arg1.spriteWidth) / 2) + 20))))){
_arg1.remove();
};
}
}
}//package Enemies
Section 48
//FloatAcrossPattern (Enemies.FloatAcrossPattern)
package Enemies {
public class FloatAcrossPattern {
private var delay:uint;
private var speed:Number;
private var maxSpeed:Number;
private var minSpeed:Number;
private var startX:uint;
private var startY:uint;
public function FloatAcrossPattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
startX = _arg2;
_arg5.x = startX;
_arg5.holdSpeed = true;
this.delay = _arg3;
maxSpeed = _arg4.speed;
minSpeed = _arg4.minSpeed;
speed = maxSpeed;
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
_arg1.x = (_arg1.x - maxSpeed);
_arg1.y = _arg3;
_arg1.px = _arg1.x;
if ((_arg1.x - _arg5) < ((-(_arg1.spriteWidth) / 2) + 20)){
_arg1.remove();
};
}
}
}//package Enemies
Section 49
//FloatInPattern (Enemies.FloatInPattern)
package Enemies {
public class FloatInPattern {
private var delay:uint;
private var minSpeed:Number;
private var view;
private var speed:Number;
private var fps:uint;
private var maxSpeed:Number;
private var state:String;// = "in"
private var time:uint;// = 0
private var startX:uint;
private var startY:uint;
private var wait:uint;
public function FloatInPattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
_arg5.x = _arg2;
startX = _arg4.changeAtX;
_arg5.holdSpeed = true;
this.delay = _arg3;
fps = _arg4.fps;
wait = _arg4.wait;
maxSpeed = _arg4.speed;
minSpeed = _arg4.minSpeed;
view = _arg4.view;
speed = maxSpeed;
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
if (((((_arg1.x - _arg5) <= startX)) && ((state == "in")))){
state = "slowDown";
};
if (state == "in"){
_arg1.x = (_arg1.x - speed);
} else {
if (state == "slowDown"){
speed = (speed * 0.925);
_arg1.x = (_arg1.x - speed);
_arg1.x = (_arg1.x + view.speed);
if (speed < 0.2){
speed = 0;
state = "wait";
};
} else {
if (state == "wait"){
_arg1.x = (_arg1.x + view.speed);
time = (time + ((view.speed - minSpeed) / minSpeed));
if (time++ >= (wait * fps)){
state = "out";
};
} else {
if (state == "out"){
_arg1.x = (_arg1.x + view.speed);
speed = (speed + 0.25);
_arg1.x = (_arg1.x - speed);
};
};
};
};
_arg1.y = _arg3;
_arg1.px = _arg1.x;
if ((_arg1.x - _arg5) < ((-(_arg1.spriteWidth) / 2) + 20)){
_arg1.remove();
};
}
}
}//package Enemies
Section 50
//GrowClusterPattern (Enemies.GrowClusterPattern)
package Enemies {
public class GrowClusterPattern {
private var stopLooking:Boolean;
private var delay:uint;
private var view:CharacterView;
private var grounded:Boolean;
private var groundTop:uint;
private var groundBottom:uint;
private var startX:uint;
private var startY:uint;
public function GrowClusterPattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
startX = _arg2;
this.delay = _arg3;
view = _arg4.view;
groundBottom = (_arg4.stageDimensions.height - 20);
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
_arg1.x = _arg2;
_arg1.y = _arg3;
if (((_arg1.px - _arg1.spriteWidth) - _arg5) > (startX - delay)){
return;
};
checkPlace(_arg1);
if ((_arg1.x - _arg5) < ((-(_arg1.spriteWidth) / 2) + 20)){
_arg1.remove();
};
}
private function checkPlace(_arg1:Enemy):void{
var _local2:*;
var _local3:*;
if (!stopLooking){
_local2 = _arg1.px;
_local3 = _arg1.py;
view.checkOverlap(_arg1);
if (_local2 != _arg1.px){
grounded = false;
};
if (!grounded){
groundTop = (view.getGroundTop(_arg1) + _arg1.spriteHeight);
_arg1.py = (int((Math.random() * (groundBottom - groundTop))) + groundTop);
grounded = true;
};
if ((((_local2 == _arg1.px)) && ((_local3 == _arg1.py)))){
stopLooking = true;
};
};
}
}
}//package Enemies
Section 51
//GrowOnCurvePattern (Enemies.GrowOnCurvePattern)
package Enemies {
public class GrowOnCurvePattern {
private var delay:uint;
private var view:CharacterView;
private var startY:uint;
private var grounded:Boolean;
private var startX:uint;
public function GrowOnCurvePattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
startX = _arg4.stageWidth;
this.delay = _arg3;
view = _arg4.view;
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
_arg1.x = _arg2;
_arg1.y = _arg3;
if (((_arg1.px - _arg5) - _arg1.spriteWidth) > startX){
return;
};
if (!grounded){
if (view.setToCurve(_arg1)){
grounded = true;
};
};
if ((_arg1.x - _arg5) < ((-(_arg1.spriteWidth) / 2) + 20)){
_arg1.remove();
};
}
}
}//package Enemies
Section 52
//LaneChangePattern (Enemies.LaneChangePattern)
package Enemies {
public class LaneChangePattern {
private var direction:int;
private var start:uint;
private var delay:uint;
private var speed:Number;
private var done:Boolean;
private var step:Number;// = 0
private var yLimit:uint;
private var startX:uint;
private var startY:uint;
private var descent:Boolean;
private var height:uint;
public function LaneChangePattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
startX = _arg2;
this.start = _arg4.start;
height = _arg4.height;
speed = _arg4.speed;
this.delay = _arg3;
descent = _arg4.descent;
direction = (int(descent) - int(!(descent)));
yLimit = _arg4.stageDimensions.height;
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local6:*;
_arg1.x = _arg2;
_arg1.y = _arg3;
if ((_arg1.px - _arg5) > (startX - delay)){
return;
};
if (((((_arg1.px - _arg5) <= start)) && (!(done)))){
_local6 = (Math.sin((step = (step + speed))) * ((height / 2) * speed));
if (_local6 > 0){
_arg1.py = (_arg1.py + (_local6 * direction));
} else {
done = true;
};
};
if (((((((_arg1.x - _arg5) < ((-(_arg1.spriteWidth) / 2) + 20))) || (((_arg1.py - (_arg1.spriteHeight / 4)) > yLimit)))) || (((_arg1.py + (_arg1.spriteHeight / 4)) < 0)))){
_arg1.remove();
};
}
}
}//package Enemies
Section 53
//OrbitPattern (Enemies.OrbitPattern)
package Enemies {
public class OrbitPattern {
private var delay:uint;
private var speed:Number;
private var xSpeed:Number;
private var radius:uint;
private var step:Number;// = 0
private var startX:uint;
private var startY:uint;
public function OrbitPattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
startX = _arg2;
radius = _arg4.radius;
speed = _arg4.speed;
this.delay = _arg3;
var _local6:Number = ((Math.PI * 2) / _arg4.amount);
step = (_arg3 * _local6);
xSpeed = _arg4.xSpeed;
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
_arg1.x = _arg2;
_arg1.y = _arg3;
step = (step - speed);
var _local6:* = (Math.cos(step) * radius);
var _local7:* = (Math.sin(step) * radius);
_arg1.py = (startY + _local6);
_arg1.px = (startX + _local7);
startX = (startX - xSpeed);
if ((_arg1.x - _arg5) < ((-(_arg1.spriteWidth) / 2) + 20)){
_arg1.remove();
};
}
}
}//package Enemies
Section 54
//SinePattern (Enemies.SinePattern)
package Enemies {
public class SinePattern {
private var delay:uint;
private var height:uint;
private var step:Number;// = 0
private var startX:uint;
private var startY:uint;
private var speed:Number;
public function SinePattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
startX = _arg2;
height = _arg4.height;
speed = _arg4.speed;
this.delay = _arg3;
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
_arg1.x = _arg2;
_arg1.y = _arg3;
if ((_arg1.px - _arg5) > 728){
return;
};
var _local6:* = (Math.sin((step = (step + speed))) * height);
_arg1.py = (startY + _local6);
if ((_arg1.x - _arg5) < ((-(_arg1.spriteWidth) / 2) + 20)){
_arg1.remove();
};
}
}
}//package Enemies
Section 55
//SunrisePattern (Enemies.SunrisePattern)
package Enemies {
public class SunrisePattern {
private var delay:uint;
private var height:uint;// = 10
private var fps:uint;
private var time:uint;
private var stageBottom:uint;
var state:String;// = "up"
private var step:Number;// = 5
private var wait:uint;
private var startX:uint;
private var startY:uint;
private var speed:Number;// = 0.1
public function SunrisePattern(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Object, _arg5:Enemy):void{
startY = _arg1;
startX = _arg4.sunrise;
stageBottom = (_arg4.stageDimensions.height + (_arg5.spriteHeight / 2));
_arg5.py = stageBottom;
wait = _arg4.wait;
fps = _arg4.fps;
this.delay = _arg3;
}
public function update(_arg1:Enemy, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local6:int;
var _local7:*;
_arg1.x = _arg2;
_arg1.y = _arg3;
if ((_arg1.x - _arg5) > (startX - delay)){
return;
};
if (state == "up"){
_local6 = (startY - _arg1.py);
_arg1.py = (_arg1.py + Math.max((_local6 * 0.25), -10));
if (!_arg5){
state = "bob";
};
} else {
if (state == "bob"){
_local7 = (Math.sin((step = (step + speed))) * height);
_arg1.py = ((startY + _local7) + height);
if (time++ == (wait * fps)){
state = "down";
};
} else {
if (state == "down"){
_local6 = (stageBottom - _arg1.py);
_arg1.py = (_arg1.py + Math.min((_local6 * 0.25), 10));
if (Math.abs((_arg1.py - stageBottom)) < 1){
_arg1.remove();
};
};
};
};
if ((_arg1.x - _arg5) < ((-(_arg1.spriteWidth) / 2) + 20)){
_arg1.remove();
};
}
}
}//package Enemies
Section 56
//ArcFormation (Formations.ArcFormation)
package Formations {
import Bulletproofbaby.utils.*;
public class ArcFormation extends Formation {
public function ArcFormation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
}
}
}//package Formations
Section 57
//FallWalkFormation (Formations.FallWalkFormation)
package Formations {
import Bulletproofbaby.utils.*;
import Enemies.*;
public class FallWalkFormation extends Formation {
public function FallWalkFormation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
}
override protected function setEnemies(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:Boolean):void{
var _local13:Enemy;
_arg10.fallAtX = _arg6;
var _local12:uint;
while (_local12 < _arg7) {
_local13 = new EnemyReference(_arg3, _arg11);
_local13.px = (_arg6 + _arg2.distance);
_local13.py = (_arg5 - (_local13.spriteHeight / 2));
_local13.init(PatternReference, _arg4, _local12, _arg10, _arg2);
if (_arg10.reverseAsset){
_local13.reverse();
};
_local13.layer = _arg9;
_arg2.placeEnemy(_local13);
_local13 = null;
_local12++;
};
}
}
}//package Formations
Section 58
//FloatAcrossFormation (Formations.FloatAcrossFormation)
package Formations {
import Bulletproofbaby.utils.*;
import Enemies.*;
public class FloatAcrossFormation extends Formation {
public function FloatAcrossFormation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, 1, _arg8, _arg9, _arg10, _arg11, _arg12);
}
override protected function setEnemies(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:Boolean):void{
var _local13:Enemy;
_arg10.speed = _arg4;
var _local12:uint;
while (_local12 < _arg7) {
_local13 = new EnemyReference(_arg3, _arg11);
_local13.px = (((_arg1.width + (_local13.spriteWidth / 2)) + (_local12 * (_local13.spriteWidth + 20))) + _arg2.distance);
_local13.py = (_arg5 - (_local13.spriteHeight / 2));
_local13.init(PatternReference, _arg4, ((_local13.spriteWidth / 2) + (_local12 * (_local13.spriteWidth + 20))), _arg10, _arg2);
if (_arg10.reverseAsset){
_local13.reverse();
};
_local13.layer = _arg9;
_arg2.placeEnemy(_local13);
_local13 = null;
_local12++;
};
}
}
}//package Formations
Section 59
//FloatInFormation (Formations.FloatInFormation)
package Formations {
import Bulletproofbaby.utils.*;
import Enemies.*;
public class FloatInFormation extends Formation {
public function FloatInFormation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, 1, _arg8, _arg9, _arg10, _arg11, _arg12);
}
override protected function setEnemies(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:Boolean):void{
var _local13:Enemy;
_arg10.speed = _arg4;
_arg10.view = _arg2;
_arg10.changeAtX = _arg6;
var _local12:uint;
while (_local12 < _arg7) {
_local13 = new EnemyReference(_arg3, _arg11);
_local13.px = (((_arg1.width + (_local13.spriteWidth / 2)) + (_local12 * (_local13.spriteWidth + 20))) + _arg2.distance);
_local13.py = (_arg5 - (_local13.spriteHeight / 2));
_local13.init(PatternReference, _arg4, ((_local13.spriteWidth / 2) + (_local12 * (_local13.spriteWidth + 20))), _arg10, _arg2);
if (_arg10.reverseAsset){
_local13.reverse();
};
_local13.layer = _arg9;
_arg2.placeEnemy(_local13);
_local13 = null;
_local12++;
};
}
}
}//package Formations
Section 60
//Formation (Formations.Formation)
package Formations {
import Bulletproofbaby.utils.*;
import Enemies.*;
import flash.utils.*;
public class Formation {
protected var PatternReference:Class;
private var sinePattern:SinePattern;
protected var EnemyReference:Class;
private var fallWalkPattern:FallWalkPattern;
private var growOnCurvePattern:GrowOnCurvePattern;
private var floatAcrossPattern:FloatAcrossPattern;
private var arcPattern:ArcPattern;
private var orbitPattern:OrbitPattern;
private var enemy1:Enemy1;
private var enemy2:Enemy2;
private var enemy3:Enemy3;
private var enemy4:Enemy4;
private var enemy5:Enemy5;
private var enemy6:Enemy6;
private var enemy7:Enemy7;
private var growClusterPattern:GrowClusterPattern;
private var laneChangePattern:LaneChangePattern;
private var sunrisePattern:SunrisePattern;
private var floatInPattern:FloatInPattern;
public function Formation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
EnemyReference = (getDefinitionByName(("Enemies." + _arg10.id)) as Class);
PatternReference = (getDefinitionByName((("Enemies." + _arg11) + "Pattern")) as Class);
_arg10.stageDimensions = _arg1;
setEnemies(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg12);
}
protected function setEnemies(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:Boolean):void{
var _local13:Enemy;
var _local12:uint;
while (_local12 < _arg7) {
_local13 = new EnemyReference(_arg3, _arg11);
_local13.px = (((_arg1.width + (_local13.spriteWidth / 2)) + (_local12 * (_local13.spriteWidth + 20))) + _arg2.distance);
_local13.py = (_arg5 - (_local13.spriteHeight / 2));
_local13.init(PatternReference, _arg4, ((_local13.spriteWidth / 2) + (_local12 * (_local13.spriteWidth + 20))), _arg10, _arg2);
if (_arg10.reverseAsset){
_local13.reverse();
};
_local13.layer = _arg9;
_arg2.placeEnemy(_local13);
_local13 = null;
_local12++;
};
}
}
}//package Formations
Section 61
//GrowClusterFormation (Formations.GrowClusterFormation)
package Formations {
import Bulletproofbaby.utils.*;
import Enemies.*;
public class GrowClusterFormation extends Formation {
public function GrowClusterFormation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
_arg10.view = _arg2;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
}
override protected function setEnemies(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:Boolean):void{
var _local13:Enemy;
var _local14:uint;
var _local12:uint;
while (_local12 < _arg7) {
_local13 = new EnemyReference(_arg3, _arg11);
_local14 = int(((Math.random() * _arg7) * _arg10.density));
_local13.px = (((_arg1.width + (_local13.spriteWidth / 2)) + _local14) + _arg2.distance);
_local13.py = (_arg5 - (_local13.spriteHeight / 2));
_local13.init(PatternReference, _arg4, _local14, _arg10, _arg2);
if (_arg10.reverseAsset){
_local13.reverse();
};
_local13.layer = _arg9;
_arg2.placeEnemy(_local13);
_local13 = null;
_local12++;
};
}
}
}//package Formations
Section 62
//GrowOnCurveFormation (Formations.GrowOnCurveFormation)
package Formations {
import Bulletproofbaby.utils.*;
import Enemies.*;
public class GrowOnCurveFormation extends Formation {
public function GrowOnCurveFormation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
_arg10.view = _arg2;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
}
override protected function setEnemies(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:Boolean):void{
var _local13:Enemy;
_arg10.stageWidth = _arg1.width;
var _local12:uint;
while (_local12 < _arg7) {
_local13 = new EnemyReference(_arg3, _arg11);
_local13.px = (((_arg1.width + (_local13.spriteWidth / 2)) + (_local12 * (_local13.spriteWidth + 20))) + _arg2.distance);
_local13.py = (_arg5 - (_local13.spriteHeight / 2));
_local13.init(PatternReference, _arg4, ((_local13.spriteWidth / 2) + (_local12 * (_local13.spriteWidth + 20))), _arg10, _arg2);
if (_arg10.reverseAsset){
_local13.reverse();
};
_local13.layer = _arg9;
_arg2.placeEnemy(_local13);
_local13 = null;
_local12++;
};
}
}
}//package Formations
Section 63
//LaneChangeFormation (Formations.LaneChangeFormation)
package Formations {
import Bulletproofbaby.utils.*;
public class LaneChangeFormation extends Formation {
public function LaneChangeFormation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
}
}
}//package Formations
Section 64
//OrbitFormation (Formations.OrbitFormation)
package Formations {
import Bulletproofbaby.utils.*;
import Enemies.*;
public class OrbitFormation extends Formation {
public function OrbitFormation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
}
override protected function setEnemies(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:Boolean):void{
var _local13:Enemy;
_arg10.amount = _arg7;
_arg10.xSpeed = _arg4;
var _local12:uint;
while (_local12 < _arg7) {
_local13 = new EnemyReference(_arg3, _arg11);
_local13.px = (((_arg10.radius + _arg1.width) + (_local13.spriteWidth / 2)) + _arg2.distance);
_local13.py = (_arg5 - (_local13.spriteHeight / 2));
_local13.init(PatternReference, _arg4, _local12, _arg10, _arg2);
if (_arg10.reverseAsset){
_local13.reverse();
};
_local13.layer = _arg9;
_arg2.placeEnemy(_local13);
_local13 = null;
_local12++;
};
}
}
}//package Formations
Section 65
//SineFormation (Formations.SineFormation)
package Formations {
import Bulletproofbaby.utils.*;
public class SineFormation extends Formation {
public function SineFormation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
}
}
}//package Formations
Section 66
//SunriseFormation (Formations.SunriseFormation)
package Formations {
import Bulletproofbaby.utils.*;
import Enemies.*;
public class SunriseFormation extends Formation {
public function SunriseFormation(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:String, _arg12:Boolean):void{
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
}
override protected function setEnemies(_arg1:Object, _arg2:CharacterView, _arg3:LibraryLoader, _arg4:Number, _arg5:int, _arg6:int, _arg7:uint, _arg8:Boolean, _arg9:String, _arg10:Object, _arg11:Boolean):void{
var _local13:Enemy;
_arg10.sunrise = _arg6;
var _local12:uint;
while (_local12 < _arg7) {
_local13 = new EnemyReference(_arg3, _arg11);
_local13.px = ((_arg6 + (_local12 * (_local13.spriteWidth + 20))) + _arg2.distance);
_local13.py = (_arg5 - (_local13.spriteHeight / 2));
_local13.init(PatternReference, _arg4, (_local12 * (_local13.spriteWidth + 20)), _arg10, _arg2);
if (_arg10.reverseAsset){
_local13.reverse();
};
_local13.layer = _arg9;
_arg2.placeEnemy(_local13);
_local13 = null;
_local12++;
};
}
}
}//package Formations
Section 67
//ClickHandler (Preroll.ClickHandler)
package Preroll {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class ClickHandler extends Sprite {
private var stream:Object;
private var stageHeight:Number;
private var playGame:Function;
private var oStage:Object;
private var strDomain:String;
private var gameName:String;
private var mcLogo:Object;
private var blackBg:Object;
private var stageWidth:Number;
private var mcPlay:Object;
private var oRoot:Object;
private var video:Object;
public function ClickHandler(){
mcPlay = GlobalVarContainer.vars.mcPlay;
mcLogo = GlobalVarContainer.vars.mcLogo;
oStage = GlobalVarContainer.vars.stage;
oRoot = GlobalVarContainer.vars.root;
stageWidth = GlobalVarContainer.vars.stageWidth;
stageHeight = GlobalVarContainer.vars.stageHeight;
stream = GlobalVarContainer.vars.stream;
video = GlobalVarContainer.vars.video;
blackBg = GlobalVarContainer.vars.blackBg;
gameName = GlobalVarContainer.vars.gameName;
strDomain = GlobalVarContainer.vars.strDomain;
playGame = GlobalVarContainer.vars.playGame;
super();
trace("ClickHandler initiated");
oStage.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(_arg1:MouseEvent):void{
switch (true){
case mcPlay.hitTestPoint(oStage.mouseX, oStage.mouseY, true):
trace("mcPlay", this, this["parent"]);
oStage.removeChild(mcPlay);
oStage.removeChild(mcLogo);
oStage.removeChild(video);
oStage.removeChild(blackBg);
oStage.removeEventListener(MouseEvent.CLICK, clickHandler);
playGame();
break;
case mcLogo.hitTestPoint(oStage.mouseX, oStage.mouseY, true):
goToURL(true);
trace("mcLogo");
break;
default:
goToURL(GlobalVarContainer.vars.bReady);
trace("clickHandler activated");
break;
};
GlobalVarContainer.vars.stream.resume();
}
private function goToURL(_arg1:Boolean=false):void{
var _local2 = "http://games.adultswim.com";
var _local3 = "";
switch (_arg1){
case true:
_local3 = "_end";
break;
default:
break;
};
var _local4:URLVariables = new URLVariables();
_local4.cid = ((((("GAME_Ext_" + gameName) + "_") + strDomain) + "_preroll") + _local3);
trace("variables.cid", _local4.cid);
var _local5:URLRequest = new URLRequest(_local2);
_local5.data = _local4;
navigateToURL(_local5, "_blank");
}
}
}//package Preroll
Section 68
//GetVars (Preroll.GetVars)
package Preroll {
import flash.display.*;
import flash.net.*;
public class GetVars extends Sprite {
private var oRoot:Object;
private var my_lc:LocalConnection;
public function GetVars(){
oRoot = GlobalVarContainer.vars.root;
my_lc = new LocalConnection();
super();
trace("~~~~", oRoot, GlobalVarContainer.vars.strBase);
switch (oRoot.loaderInfo.parameters.strBase){
case undefined:
case null:
case "":
GlobalVarContainer.vars.strBase = (("http://i.cdn.turner.com/adultswim/games/hs/" + GlobalVarContainer.vars.gameName) + "/");
break;
default:
try {
GlobalVarContainer.vars.strBase = oRoot.loaderInfo.parameters.strBase;
} catch(e:Error) {
};
break;
};
switch (oRoot.loaderInfo.parameters.strDomain){
case undefined:
case null:
case "":
GlobalVarContainer.vars.strDomain = my_lc.domain;
break;
default:
try {
GlobalVarContainer.vars.strDomain = oRoot.loaderInfo.parameters.strDomain;
} catch(e:Error) {
};
break;
};
}
}
}//package Preroll
Section 69
//GlobalVarContainer (Preroll.GlobalVarContainer)
package Preroll {
public class GlobalVarContainer {
public static var vars:Object = [];
}
}//package Preroll
Section 70
//Navigation (Preroll.Navigation)
package Preroll {
import flash.events.*;
import flash.display.*;
public class Navigation extends Sprite {
private var stream:Object;
private var mcLogo:Object;
private var stageHeight:Number;
private var stageWidth:Number;
private var oStage:Object;
private var mcPlay:Object;
public function Navigation(){
mcPlay = GlobalVarContainer.vars.mcPlay;
mcLogo = GlobalVarContainer.vars.mcLogo;
oStage = GlobalVarContainer.vars.stage;
stageWidth = GlobalVarContainer.vars.stageWidth;
stageHeight = GlobalVarContainer.vars.stageHeight;
stream = GlobalVarContainer.vars.stream;
super();
trace("Navigation initiated");
mcPlay.x = ((stageWidth / 2) - (mcPlay.width / 2));
mcLogo.x = ((stageWidth / 2) - (mcLogo.width / 2));
mcPlay.y = ((stageHeight / 2) - (mcPlay.height / 2));
mcLogo.y = (mcPlay.y - 70);
mcPlay.buttonMode = true;
mcLogo.buttonMode = true;
oStage.addChild(mcPlay);
oStage.addChild(mcLogo);
mcPlay.addEventListener(MouseEvent.MOUSE_OVER, mouseover);
mcPlay.addEventListener(MouseEvent.MOUSE_OUT, mouseout);
mcLogo.addEventListener(MouseEvent.MOUSE_OVER, mouseover);
mcLogo.addEventListener(MouseEvent.MOUSE_OUT, mouseout);
}
private function mouseout(_arg1:MouseEvent):void{
_arg1.target.gotoAndPlay(1);
}
private function mouseover(_arg1:MouseEvent):void{
_arg1.target.gotoAndPlay(2);
}
}
}//package Preroll
Section 71
//NetStreamer (Preroll.NetStreamer)
package Preroll {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.net.*;
public class NetStreamer extends Sprite {
public var nav:Navigation;
private var stageHeight:Number;
private var stream:NetStream;
private var stageWidth:Number;
private var connection:NetConnection;
private var oStage:Object;
private var oVideo:Object;
private var videoURL:String;
private var flvWidth:Number;
private var flvHeight:Number;
public function NetStreamer(){
flvHeight = GlobalVarContainer.vars.flvHeight;
flvWidth = GlobalVarContainer.vars.flvWidth;
oStage = GlobalVarContainer.vars.stage;
stageHeight = GlobalVarContainer.vars.stageHeight;
stageWidth = GlobalVarContainer.vars.stageWidth;
videoURL = GlobalVarContainer.vars.flvPath;
super();
connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
connection.connect(null);
}
private function securityErrorHandler(_arg1:SecurityErrorEvent):void{
trace(("securityErrorHandler: " + _arg1));
}
private function connectStream():void{
stream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
stream.client = new CustomClient();
var _local1:Sprite = new Sprite();
_local1.graphics.beginFill(0);
_local1.graphics.drawRect(0, 0, stageWidth, stageHeight);
oStage.addChild(_local1);
GlobalVarContainer.vars.blackBg = _local1;
var _local2:Video = new Video();
GlobalVarContainer.vars.video = _local2;
trace(((("!!!!!!!! width: " + flvWidth) + " : ") + flvHeight));
_local2.x = ((stageWidth - flvWidth) / 2);
_local2.y = ((stageHeight - flvHeight) / 2);
_local2.width = flvWidth;
_local2.height = flvHeight;
_local2.attachNetStream(stream);
stream.play(videoURL);
GlobalVarContainer.vars.stream = stream;
oStage.addChild(_local2);
var _local3:MovieClip = new MovieClip();
}
private function netStatusHandler(_arg1:NetStatusEvent):void{
switch (_arg1.info.code){
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace(("Stream not found: " + videoURL));
break;
case "NetStream.Play.Stop":
trace("All Stop, Aye");
GlobalVarContainer.vars.bReady = true;
nav = new Navigation();
break;
default:
break;
};
}
}
}//package Preroll
class CustomClient {
private function CustomClient(){
}
public function onCuePoint(_arg1:Object):void{
trace(((((("cuepoint: time=" + _arg1.time) + " name=") + _arg1.name) + " type=") + _arg1.type));
}
public function onXMPData(_arg1:Object):void{
}
public function onMetaData(_arg1:Object):void{
trace(((((((("metadata: duration=" + _arg1.duration) + " width=") + _arg1.width) + " height=") + _arg1.height) + " framerate=") + _arg1.framerate));
}
}
Section 72
//Preroller (Preroll.Preroller)
package Preroll {
import flash.display.*;
import flash.net.*;
public class Preroller extends Sprite {
private var clickHandler:ClickHandler;
private var myVid:NetStreamer;
private var oStage:Object;
private var oRoot:Object;
private var my_lc:LocalConnection;
private var getVars:GetVars;
public function Preroller(){
my_lc = new LocalConnection();
super();
trace("!@", my_lc.domain);
switch (stage){
case null:
case undefined:
case "":
oStage = GlobalVarContainer.vars.stage;
trace("@@@@stage is null. Now set to object: ", oStage);
break;
default:
oStage = stage;
trace("@@@@stage is available!");
break;
};
switch (root){
case null:
case undefined:
case "":
oRoot = GlobalVarContainer.vars.root;
trace("####root is null. Now set to object: ", oStage);
break;
default:
oRoot = root;
trace("####root is available!");
break;
};
trace("$$$$jumbotron", oStage, oRoot, "::", GlobalVarContainer.vars.root);
getVars = new GetVars();
myVid = new NetStreamer();
clickHandler = new ClickHandler();
}
}
}//package Preroll
Section 73
//adultswimLink (adultswimLink)
package {
import flash.display.*;
public dynamic class adultswimLink extends MovieClip {
}
}//package
Section 74
//BackPanel (BackPanel)
package {
import flash.events.*;
import flash.display.*;
public class BackPanel extends Sprite {
private var fadeDuration:Number;
private var state:String;
private var sprite:MovieClip;
public static const REMOVE:String = "remove";
public function BackPanel(_arg1, _arg2:Number):void{
this.fadeDuration = _arg2;
this.sprite = _arg1;
addChild(_arg1);
}
public function dealloc():void{
removeChild(sprite);
sprite = null;
}
public function effect(_arg1:String):void{
if (_arg1 == "fadeIN"){
alpha = 0;
state = "fadeIN";
} else {
if (_arg1 == "fadeOUT"){
state = "fadeOUT";
};
};
}
public function update():void{
if (state == "fadeIN"){
alpha = (alpha + (1 / fadeDuration));
if (alpha >= 1){
alpha = 1;
state = null;
};
} else {
if (state == "fadeOUT"){
alpha = (alpha - (1 / fadeDuration));
if (alpha <= 0){
alpha = 0;
state = null;
dispatchEvent(new Event(REMOVE));
};
};
};
}
}
}//package
Section 75
//BackView (BackView)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
public class BackView extends Sprite {
private var changeState:String;
private var landOnScreen:Array;
public var speed:Number;// = 0
private var time:uint;
private var backName:Array;
private var landName:Array;
private var xml:Object;
private var landNum:uint;
private var backNum:uint;
private var landLayer:Sprite;
private var backLayer:Sprite;
private var stageDimensions:Object;
private var backOnScreen:Array;
private var library:LibraryLoader;
public static const NEW_LEVEL:String = "newLevel";
public function BackView(_arg1:LibraryLoader, _arg2:Object, _arg3:Object):void{
landLayer = new Sprite();
backLayer = new Sprite();
super();
this.xml = _arg3;
landName = _arg3.config.game.landOrder;
backName = _arg3.config.game.backOrder;
this.library = _arg1;
this.stageDimensions = _arg2;
}
public function removeBacks():void{
var _local1:String;
var _local2:String;
while (landLayer.numChildren) {
landLayer.removeChildAt(0);
};
for (_local1 in landOnScreen) {
landOnScreen[_local1].dealloc();
};
landOnScreen = new Array();
while (backLayer.numChildren) {
backLayer.removeChildAt(0);
};
for (_local2 in backOnScreen) {
backOnScreen[_local2].dealloc();
};
backOnScreen = new Array();
}
private function removeBack(_arg1:BackPanel):void{
var _local2:String;
for (_local2 in backOnScreen) {
if (backOnScreen[_local2] == _arg1){
backOnScreen.splice(_local2, 1);
break;
};
};
_arg1.dealloc();
backLayer.removeChild(_arg1);
}
public function reset():void{
time = 0;
landNum = 0;
backNum = 0;
changeState = null;
removeBacks();
addPanel();
setBack();
}
private function addPanel():void{
var _local1:LandPanel = new LandPanel(library.getObject(("mcBack" + landName[landNum])));
landLayer.addChild(_local1);
if (!landOnScreen.length){
_local1.x = 0;
} else {
_local1.x = (landOnScreen[(landOnScreen.length - 1)].x + landOnScreen[(landOnScreen.length - 1)].width);
if (changeState == "wait"){
changeState = "on";
};
};
landOnScreen.push(_local1);
_local1 = null;
}
private function setBack():void{
var backPanel:BackPanel;
backPanel = new BackPanel(library.getObject(("mcBack" + backName[backNum])), (xml.config.game.crossFadeDuration * xml.config.game.fps));
backLayer.addChild(backPanel);
if (backOnScreen.length){
backPanel.effect("fadeIN");
};
backPanel.addEventListener(BackPanel.REMOVE, function (_arg1:Event){
removeBack(backPanel);
});
backOnScreen.push(backPanel);
if (backOnScreen.length > 1){
backOnScreen[0].effect("fadeOUT");
};
}
public function checkGround(_arg1:uint, _arg2:uint):Boolean{
var _local3:String;
for (_local3 in landOnScreen) {
if (landOnScreen[_local3].pixel(_arg1, _arg2)){
return (true);
};
};
return (false);
}
public function enterFrame():void{
var _local1:String;
var _local2:String;
time++;
time = (time + (Number((speed - xml.config.game.minSpeed)) / xml.config.game.minSpeed));
if (time >= (xml.config.game.changeInterval * xml.config.game.fps)){
landNum++;
landNum = (landNum % landName.length);
changeState = "wait";
time = 0;
};
if (changeState == "on"){
if (landOnScreen[(landOnScreen.length - 1)].x <= stageDimensions.width){
backNum++;
backNum = (backNum % backName.length);
setBack();
changeState = "done";
dispatchEvent(new Event(NEW_LEVEL));
};
};
for (_local1 in landOnScreen) {
landOnScreen[_local1].x = (landOnScreen[_local1].x - speed);
};
if (landOnScreen.length){
if (landOnScreen[(landOnScreen.length - 1)].x <= (-((landOnScreen[(landOnScreen.length - 1)].width - stageDimensions.width)) + 50)){
addPanel();
};
if ((landOnScreen[0].x + landOnScreen[0].width) < 0){
landOnScreen[0].dealloc();
landLayer.removeChild(landOnScreen[0]);
landOnScreen.shift();
};
};
for (_local2 in backOnScreen) {
backOnScreen[_local2].update();
};
}
public function getLayers():Array{
return ([landLayer, backLayer]);
}
}
}//package
Section 76
//Barber (Barber)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
public class Barber extends Sprite {
public var sprite;
private var minX:uint;// = 0
private var minY:uint;// = 0
private var dotty;
private var powerup:Powerup;
private var hair;
private var view:CharacterView;
private var fileName:String;// = "mcBarberHair"
private var frame:uint;
private var hairPX:int;// = 0
private var maxX:uint;
private var maxY:uint;
private var guides:Boolean;
private var library:LibraryLoader;
public function Barber(_arg1:LibraryLoader, _arg2:Object, _arg3:Boolean, _arg4:CharacterView):void{
this.view = _arg4;
this.guides = _arg3;
this.library = _arg1;
maxX = _arg2.width;
maxY = _arg2.height;
hair = _arg1.getObject("mcHair");
addChild(hair);
var _local5:* = _arg1.getObject("mcHairMask");
addChild(_local5);
hair.mask = _local5;
sprite = _arg1.getObject("mcBarberBald");
addChild(sprite);
stopHair();
sprite.clipper.gotoAndStop(1);
dotty = _arg1.getObject("mcDotty");
addChild(dotty);
dotty.alpha = 0;
}
private function stopHair():void{
var _local1:uint;
while (_local1 < hair.numChildren) {
hair.getChildAt(_local1).gotoAndStop(1);
_local1++;
};
}
public function updatePosition(_arg1:uint, _arg2:uint):void{
this.y = (_arg2 - 24);
this.x = (_arg1 - 50);
hairPX = Math.max(-680, hairPX);
if (hair.x > hairPX){
hair.x = (hair.x + ((hairPX - hair.x) * 0.5));
};
if (sprite){
if (sprite.attackBox){
sprite.attackBox.alpha = guides;
};
};
if (powerup){
powerup.update();
};
frame = hair.hair1.currentFrame;
frame = (frame % hair.hair1.totalFrames);
var _local3:uint;
while (_local3 < hair.numChildren) {
hair.getChildAt(_local3).gotoAndStop((frame + 1));
_local3++;
};
frame = sprite.clipper.currentFrame;
frame = (frame % sprite.clipper.totalFrames);
sprite.clipper.gotoAndStop((frame + 1));
}
public function getState():Object{
return ({fileName:fileName, hairX:hair.x});
}
public function addHair(_arg1:uint, _arg2:uint):void{
if (_arg1 == 0){
removeChild(sprite);
sprite = library.getObject("mcBarberHair");
addChildAt(sprite, (getChildIndex(dotty) - 1));
} else {
if (_arg1 == 1){
removeChild(sprite);
sprite = library.getObject("mcBarberFullHeadOfHair");
fileName = "mcBarberFullHeadOfHair";
addChildAt(sprite, (getChildIndex(dotty) - 1));
hairPX = (hairPX - (_arg2 * 2));
} else {
hairPX = (hairPX - _arg2);
};
};
}
public function dealloc():void{
while (numChildren) {
removeChildAt(0);
};
removePowerup();
powerup = null;
sprite = null;
hair = null;
dotty = null;
}
public function getPowerup():Object{
if (powerup){
return (powerup.getCoords(x, y));
};
return (null);
}
private function removePowerup():void{
if (powerup){
removeChild(powerup);
powerup.dealloc();
powerup.removeEventListener(Powerup.REMOVE, function (_arg1:Event){
removePowerup();
});
powerup = null;
};
}
public function addPowerup(_arg1:uint, _arg2:uint):void{
var duration = _arg1;
var warning = _arg2;
if (!powerup){
powerup = new Powerup(library, duration, warning, this);
powerup.addEventListener(Powerup.REMOVE, function (_arg1:Event){
removePowerup();
});
addChild(powerup);
} else {
powerup.resetTime(duration);
};
}
}
}//package
Section 77
//BlackBars (BlackBars)
package {
import flash.events.*;
import flash.display.*;
public class BlackBars extends Sprite {
var sprite;
public static const COMPLETE:String = "complete";
public function BlackBars(_arg1):void{
addEventListener(Event.ENTER_FRAME, enterFrame);
this.sprite = _arg1;
addChild(_arg1);
}
public function close():void{
sprite.gotoAndPlay("close");
}
public function enterFrame(_arg1:Event):void{
if (sprite.currentFrame == sprite.totalFrames){
dispatchEvent(new Event(COMPLETE));
};
}
public function dealloc():void{
removeEventListener(Event.ENTER_FRAME, enterFrame);
while (numChildren) {
removeChildAt(0);
};
sprite = null;
}
}
}//package
Section 78
//BonusDisplay (BonusDisplay)
package {
import Bulletproofbaby.utils.*;
public class BonusDisplay extends OnScreenDisplay {
public function BonusDisplay(_arg1:LibraryLoader):void{
sprite = _arg1.getObject("mcInARow");
sprite.inARow.field.text = "BONUS!";
addChild(sprite);
}
}
}//package
Section 79
//CharacterView (CharacterView)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
import Enemies.*;
import Formations.*;
import flash.utils.*;
public class CharacterView extends Sprite {
private var orbitFormation:OrbitFormation;
private var floatInFormation:FloatInFormation;
private var growClusterFormation:GrowClusterFormation;
public var barberLayer:Sprite;
private var xml:Object;
public var barber:Barber;
public var invincible:Boolean;
private var tapePlayer:TapePlayer;
private var sineFormation:SineFormation;
public var enemies:Array;
public var frontLayer:Sprite;
private var waves:Array;
private var sunriseFormation:SunriseFormation;
private var fallWalkFormation:FallWalkFormation;
private var keyListener:KeyListener;
private var gameView:GameView;
public var backLayer:Sprite;
private var library:LibraryLoader;
private var stageHeight:uint;
public var speed:Number;// = 0
private var time:Number;
private var laneChangeFormation:LaneChangeFormation;
private var waveNum:uint;
private var enemyHold:Boolean;
private var stageWidth:uint;
private var stageDimensions:Object;
private var damage:Boolean;
private var growOnCurveFormation:GrowOnCurveFormation;
public var distance:Number;
private var floatAcrossFormation:FloatAcrossFormation;
private var arcFormation:ArcFormation;
public static const TOGGLE_INVINCIBLE:String = "toggleInvincible";
public function CharacterView(_arg1:LibraryLoader, _arg2:Object, _arg3:GameView, _arg4:Object, _arg5:KeyListener, _arg6:TapePlayer):void{
var _local7:String;
enemies = new Array();
barberLayer = new Sprite();
frontLayer = new Sprite();
backLayer = new Sprite();
waves = new Array();
super();
this.tapePlayer = _arg6;
this.xml = _arg4;
for (_local7 in _arg4.level.script) {
waves.push({index:_arg4.level.script[_local7][(_arg4.level.script[_local7].length - 1)], array:_arg4.level.script[_local7]});
};
waves.sortOn("index", Array.NUMERIC);
this.gameView = _arg3;
this.stageDimensions = _arg2;
this.library = _arg1;
_arg5.addObserver(this);
}
public function removeEnemies():void{
var e:String;
for (e in enemies) {
enemies[e].dealloc();
switch (enemies[e].layer){
case "front":
frontLayer.removeChild(enemies[e]);
break;
case "back":
backLayer.removeChild(enemies[e]);
break;
};
enemies[e].removeEventListener(Enemy.BAD_SHAVE, function (_arg1:Event){
gameView.enemyChanged("badShave", enemies[e].type, enemies[e].coords);
});
enemies[e].removeEventListener(Enemy.SHAVE, function (_arg1:Event){
gameView.enemyChanged("shave", enemies[e].type, enemies[e].coords);
});
enemies[e].removeEventListener(Enemy.STUBBLED, function (_arg1:Event){
gameView.enemyChanged("stubbled", enemies[e].type, enemies[e].coords);
});
enemies[e].removeEventListener(Enemy.REMOVE, function (_arg1:Event){
removeEnemy(enemies[e]);
});
enemies[e].removeEventListener(Enemy.MISSED, function (_arg1:Event){
gameView.enemyChanged("missed", enemies[e].type, enemies[e].coords);
});
};
enemies = new Array();
}
private function updateTimer():void{
if (enemyHold){
return;
};
frontLayer.x = (frontLayer.x - speed);
backLayer.x = (backLayer.x - speed);
distance = (distance + speed);
time++;
time = (time + (Number((speed - xml.config.game.minSpeed)) / xml.config.game.minSpeed));
var _local1:* = waves[waveNum].array;
while (_local1[1] == 0) {
releaseWave(_local1);
time = 0;
waveNum++;
if (waveNum >= waves.length){
waveNum = 1;
time = 0;
};
_local1 = waves[waveNum].array;
};
if (time >= (_local1[1] * xml.config.game.fps)){
releaseWave(_local1);
time = 0;
waveNum++;
};
if (waveNum >= waves.length){
waveNum = 1;
time = 0;
};
}
private function collectedPowerup(_arg1:PowerupPill):void{
barber.addPowerup((xml.config.game.powerupDuration * xml.config.game.fps), (xml.config.game.powerupWarningTime * xml.config.game.fps));
}
public function hideBarber():void{
if (!barber.parent){
return;
};
barberLayer.removeChild(barber);
}
public function getGroundTop(_arg1:Enemy):uint{
return (gameView.getGroundTop(_arg1));
}
public function set noDamage(_arg1:Boolean):void{
damage = _arg1;
}
private function updateEnemies():void{
var _local1:String;
if (enemies.length){
for (_local1 in enemies) {
enemies[_local1].updatePosition(0, 0);
};
};
}
private function releaseWave(_arg1:Array):void{
var _local12:String;
var _local13:String;
var _local2:Object = xml[_arg1[0]].config;
var _local3:Number = _arg1[2];
var _local4:int = _arg1[3];
var _local5:int = _arg1[4];
var _local6:uint = _arg1[5];
var _local7:Boolean = _arg1[6];
var _local8:String = _arg1[7];
var _local9:String = _local2.id;
var _local10:Boolean = _local2.reverseAsset;
var _local11:Object = new Object();
for (_local12 in _local2) {
_local11[_local12] = _local2[_local12];
};
_local13 = _local2.pattern;
_local11.fps = xml.config.game.fps;
_local11.invincible = xml.config.game.invincible;
_local11.minSpeed = xml.config.game.minSpeed;
if (_local2.id == "Enemy7"){
tapePlayer.play("sndHonk", false, 140, 2);
};
var _local14:Class = (getDefinitionByName((("Formations." + _local13) + "Formation")) as Class);
var _local15:Formation = new _local14(stageDimensions, this, library, _local3, _local4, _local5, _local6, _local7, _local8, _local11, _local13, xml.config.game.guides);
}
public function get noDamage():Boolean{
return (damage);
}
private function removePowerup(_arg1:PowerupPill):void{
var e:String;
var powerupPill = _arg1;
for (e in enemies) {
if (enemies[e] == powerupPill){
switch (powerupPill.layer){
case "front":
frontLayer.removeChild(powerupPill);
break;
case "back":
backLayer.removeChild(powerupPill);
break;
};
powerupPill.dealloc();
enemies.splice(e, 1);
powerupPill.removeEventListener(PowerupPill.REMOVE, function (_arg1:Event){
removePowerup(powerupPill);
});
powerupPill.removeEventListener(PowerupPill.COLLECTED, function (_arg1:Event){
collectedPowerup(powerupPill);
});
};
};
}
public function removeBarber():Object{
var state:Object = barber.getState();
barberLayer.removeChild(barber);
barber.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
gameView.barberPressed(true);
});
barber.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
gameView.barberPressed(false);
});
barber.dealloc();
barber = null;
return (state);
}
public function checkOverlap(_arg1:Enemy):void{
gameView.checkOverlap(_arg1, enemies);
}
public function set keyDown(_arg1:uint):void{
}
public function set keyUp(_arg1:uint):void{
if (_arg1 == 73){
};
}
public function reset():void{
time = 0;
distance = 0;
waveNum = 1;
frontLayer.x = 0;
backLayer.x = 0;
if (!barber){
barber = new Barber(library, stageDimensions, xml.config.game.guides, this);
barber.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
gameView.barberPressed(true);
});
barber.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
gameView.barberPressed(false);
});
barber.addEventListener(MouseEvent.MOUSE_OUT, function (_arg1:Event){
gameView.barberPressed(false);
});
barber.x = (((stageDimensions.width / 2) + 25) + 49);
barber.y = (((stageDimensions.height / 2) + 19) + 21);
barberLayer.addChild(barber);
};
damage = false;
}
public function placeEnemy(_arg1:Enemy):void{
var enemy = _arg1;
enemies.push(enemy);
switch (enemy.layer){
case "front":
if (enemy.type == "Enemy5"){
frontLayer.addChildAt(enemy, Math.max((frontLayer.numChildren - 1), 0));
} else {
frontLayer.addChildAt(enemy, 0);
};
break;
case "back":
backLayer.addChildAt(enemy, 0);
break;
};
enemy.addEventListener(Enemy.BAD_SHAVE, function (_arg1:Event){
gameView.enemyChanged("badShave", enemy.type, enemy.coords);
});
enemy.addEventListener(Enemy.SHAVE, function (_arg1:Event){
gameView.enemyChanged("shave", enemy.type, enemy.coords);
});
enemy.addEventListener(Enemy.STUBBLED, function (_arg1:Event){
gameView.enemyChanged("stubbled", enemy.type, enemy.coords);
});
enemy.addEventListener(Enemy.REMOVE, function (_arg1:Event){
removeEnemy(enemy);
});
enemy.addEventListener(Enemy.MISSED, function (_arg1:Event){
gameView.enemyChanged("missed", enemy.type, enemy.coords);
});
}
public function set holdEnemies(_arg1:Boolean):void{
enemyHold = _arg1;
}
private function removeEnemy(_arg1:Enemy):void{
var e:String;
var enemy = _arg1;
for (e in enemies) {
if (enemies[e] == enemy){
enemy.dealloc();
enemies.splice(e, 1);
switch (enemy.layer){
case "front":
frontLayer.removeChild(enemy);
break;
case "back":
backLayer.removeChild(enemy);
break;
};
break;
};
};
}
public function getLayers():Array{
return ([barberLayer, frontLayer, backLayer]);
}
public function addHair(_arg1:uint, _arg2:uint):void{
barber.addHair(_arg1, _arg2);
}
public function dropPowerup():void{
var powerupPill:PowerupPill;
powerupPill = new PowerupPill(library, xml.config.game.guides);
frontLayer.addChild(powerupPill);
powerupPill.layer = "front";
var range:uint = ((stageDimensions.height - powerupPill.spriteHeight) - 100);
powerupPill.y = ((Math.round((Math.random() * range)) + (powerupPill.spriteHeight / 2)) + 50);
powerupPill.x = (stageDimensions.width + (powerupPill.spriteWidth / 2));
enemies.push(powerupPill);
powerupPill.addEventListener(PowerupPill.REMOVE, function (_arg1:Event){
removePowerup(powerupPill);
});
powerupPill.addEventListener(PowerupPill.COLLECTED, function (_arg1:Event){
collectedPowerup(powerupPill);
});
}
public function setToCurve(_arg1:Enemy):Boolean{
return (gameView.setToCurve(_arg1));
}
public function showBarber():void{
if (barber.parent){
return;
};
barberLayer.addChild(barber);
}
public function enterFrame():void{
barber.updatePosition(Math.max(mouseX, 0), Math.max(mouseY, 0));
updateTimer();
updateEnemies();
}
}
}//package
Section 80
//CollisionDetection (CollisionDetection)
package {
import Enemies.*;
public class CollisionDetection {
private var enemiesOver:Array;
private var lastY:uint;
public function CollisionDetection():void{
enemiesOver = new Array();
super();
}
public function getGroundTop(_arg1:Enemy, _arg2:BackView, _arg3:Number):uint{
var _local4:Boolean;
var _local5:* = 0;
while (!(_arg2.checkGround((_arg1.px - _arg3), _local5))) {
_local5 = (_local5 + 10);
_local4 = true;
if (_local5 >= 500){
return (lastY);
};
};
if (_local4){
while (_arg2.checkGround((_arg1.px - _arg3), _local5)) {
_local5--;
_local4 = true;
};
};
lastY = _local5;
return (_local5);
}
public function setToCurve(_arg1:Enemy, _arg2:BackView, _arg3:Number):Boolean{
var _local4:Boolean;
var _local5:uint = _arg1.py;
var _local6:uint = 50;
while (((!(_arg2.checkGround((_arg1.px - _arg3), ((_local5 + (_arg1.spriteHeight / 2)) - 10)))) && (_local6))) {
_local6--;
_local5 = (_local5 + 10);
_local4 = true;
};
if (_local4){
while (_arg2.checkGround((_arg1.px - _arg3), ((_local5 + (_arg1.spriteHeight / 2)) - 10))) {
_local5--;
_local4 = true;
};
};
_arg1.py = _local5;
return (_local4);
}
public function checkCollision(_arg1:Barber, _arg2:Array, _arg3:BackView, _arg4:Number):void{
var _local7:String;
var _local8:String;
var _local9:*;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:uint;
var _local17:uint;
var _local18:Object;
var _local19:uint;
var _local20:uint;
var _local21:uint;
var _local22:uint;
var _local23:String;
var _local24:Enemy;
var _local25:Boolean;
var _local26:String;
var _local27:Enemy;
var _local28:String;
var _local5:Array = new Array();
var _local6:Array = new Array();
for (_local7 in enemiesOver) {
_local6.push(enemiesOver[_local7]);
};
enemiesOver = new Array();
for (_local8 in _arg2) {
_local9 = _arg2[_local8];
if (((_local9.sprite.hitBox) && (_arg1.sprite.attackBox))){
_local10 = (_arg1.x + _arg1.sprite.attackBox.x);
_local11 = (_arg1.y + _arg1.sprite.attackBox.y);
_local12 = ((_local9.x + (_local9.sprite.hitBox.x * _local9.scaleX)) - _arg4);
_local13 = (_local9.y + _local9.sprite.hitBox.y);
_local14 = Math.abs((_local10 - _local12));
_local15 = Math.abs((_local11 - _local13));
_local16 = ((_local9.sprite.hitBox.width + _arg1.sprite.attackBox.width) / 2);
_local17 = ((_local9.sprite.hitBox.height + _arg1.sprite.attackBox.height) / 2);
_local18 = _arg1.getPowerup();
if (_local18){
_local19 = Math.abs((_local18.x - _local9.x));
_local20 = Math.abs((_local18.y - _local9.y));
_local21 = ((_local9.sprite.hitBox.width + _local18.width) / 2);
_local22 = ((_local9.sprite.hitBox.height + _local18.height) / 2);
};
if ((((((_local15 <= _local17)) && ((_local14 <= _local16)))) || (((((_local18) && ((_local19 <= _local21)))) && ((_local20 <= _local22)))))){
if ((((((_local9.layer == "back")) && (clipperInSky(_arg1, _arg3)))) || ((_local9.layer == "front")))){
if (_local9.type != "powerup"){
enemiesOver.push(_local9);
};
if (_local18){
_local9.hitWith("powerup");
} else {
_local9.hitWith("clipper");
};
};
};
};
};
if (((_local6.length) || (!(enemiesOver.length)))){
for (_local23 in _local6) {
_local24 = _local6[_local23];
_local25 = true;
for (_local26 in enemiesOver) {
_local27 = enemiesOver[_local26];
if (_local27 == _local24){
_local25 = false;
};
};
if (_local25){
_local5.push(_local24);
};
};
if (_local5.length){
for (_local28 in _local5) {
_local5[_local28].safety = false;
};
};
};
}
public function clipperInSky(_arg1:Barber, _arg2:BackView):Boolean{
return (!(_arg2.checkGround((_arg1.x + _arg1.sprite.attackBox.x), (_arg1.y + _arg1.sprite.attackBox.y))));
}
public function checkOverlap(_arg1:Enemy, _arg2:Array):void{
var _local3:String;
var _local4:Enemy;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
for (_local3 in _arg2) {
_local4 = _arg2[_local3];
if (_local4 != _arg1){
if (_local4.type == _arg1.type){
_local5 = ((_arg1.spriteWidth + _local4.spriteWidth) / 2);
_local6 = ((_arg1.spriteHeight + _local4.spriteHeight) / 2);
_local7 = Math.abs((_arg1.px - _local4.x));
_local8 = Math.abs((_arg1.py - _local4.y));
if ((((_local7 < _local5)) && ((_local8 < _local6)))){
_arg1.px = (_arg1.px + _local5);
checkOverlap(_arg1, _arg2);
};
};
};
};
}
}
}//package
Section 81
//Delegate (Delegate)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
import flash.net.*;
import Preroll.*;
public class Delegate extends MovieClip {
private var level:uint;
private var xmlLoader:XMLLoader;
private var fromHelp:Boolean;
private var speedo:Speedo;
private var _play;
private var xml:Object;
public var cmpSetObj:mcClip;
private var gameName:String;
private var strLinkLocation:String;
private var tapePlayer:TapePlayer;
private var menuView:MenuView;
private var logo;
private var Preroller:Preroller;
private var bitmap:Bitmap;
private var re:RegExp;
private var publicVars:PublicVars;
private var gameView:GameView;
private var keyListener:KeyListener;
private var firstRun:Boolean;// = true
private var frameListener:FrameListener;
private var library:LibraryLoader;
private var messageList:Array;
private var oStage:Object;
private var help:Help;
private var strDomain:String;
private var xmlGubbins:XMLGubbins;
private var my_lc:LocalConnection;
private var oRoot:Object;
private var bitmapData:BitmapData;
private var link:MovieClip;
private var pause:Boolean;
public function Delegate():void{
library = new LibraryLoader();
xmlLoader = new XMLLoader();
xml = new Object();
speedo = new Speedo();
frameListener = new FrameListener();
messageList = new Array();
xmlGubbins = new XMLGubbins();
publicVars = new PublicVars();
re = new RegExp("http://i.cdn.turner.com/adultswim/games/game/tools/swf/wsg-(\\d+)x(\\d+).flv", "i");
my_lc = new LocalConnection();
logo = new mc_preroll_logo();
_play = new mc_preroll_play();
super();
tabChildren = false;
stage.quality = "HIGH";
gotoAndStop(1);
switch (stage){
case null:
oStage = GlobalVarContainer.vars.stage;
trace("@@@@stage is null. Now set to object: ", oStage);
break;
default:
oStage = stage;
GlobalVarContainer.vars.stage = oStage;
trace("@@@@stage is available!");
break;
};
switch (root){
case null:
oRoot = GlobalVarContainer.vars.root;
trace("####root is null. Now set to object: ", oRoot);
break;
default:
oRoot = root;
GlobalVarContainer.vars.root = oRoot;
trace("####root is available!");
break;
};
trace("MAIN0");
if (oStage){
init();
} else {
addEventListener(Event.ADDED_TO_STAGE, init);
};
}
public function sortLevel():void{
var _local3:String;
var _local4:Boolean;
var _local5:String;
var _local6:String;
var _local1:Title = menuView.getMenu();
_local1.fill();
var _local2:Array = new Array();
for (_local3 in xml.XML.level.script) {
if (_local3 != "example"){
_local4 = true;
_local5 = (("XML/" + xml.XML.level.script[_local3][0]) + ".xml");
for (_local6 in _local2) {
if (_local2[_local6] == _local5){
_local4 = false;
};
};
if (_local4){
_local2.push((("XML/" + xml.XML.level.script[_local3][0]) + ".xml"));
};
};
};
xmlLoader.callBack = "loaded";
xmlLoader.loadInternalXML(_local2, this, xml, xmlGubbins.xml);
_local2 = null;
}
public function hideInstructions(_arg1:uint):void{
if (!firstRun){
togglePause();
help.show("tween");
menuView.removeMenu(_arg1);
tapePlayer.fade(100);
} else {
firstRun = false;
startIntro(_arg1);
};
}
public function loaded():void{
tapePlayer = new TapePlayer(library);
var _local1:Mute = new Mute(library, tapePlayer);
addChild(_local1);
tapePlayer.play("sndMenuMusic", true, 100, 1000000);
var _local2:Title = menuView.getMenu();
_local2.toButton();
track("_startScreen_home");
}
private function removeDisplayObject(_arg1):void{
var m:String;
var displayObject = _arg1;
for (m in messageList) {
if (messageList[m] == displayObject.type){
messageList.splice(m, 1);
};
};
displayObject.removeEventListener(OnScreenDisplay.COMPLETE, function (_arg1:Event):void{
removeDisplayObject(displayObject);
});
displayObject.dealloc();
removeChild(displayObject);
displayObject = null;
}
public function togglePause():void{
if (!pause){
frameListener.pause([help]);
pause = true;
bitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
bitmapData.draw(gameView);
bitmap = new Bitmap(bitmapData);
gameView.addChild(bitmap);
} else {
if (pause){
gameView.removeChild(bitmap);
bitmapData.dispose();
bitmapData = null;
bitmap = null;
frameListener.play();
pause = false;
};
};
}
private function init(_arg1:Event=null):void{
trace("INIT0");
removeEventListener(Event.ADDED_TO_STAGE, init);
strDomain = root.loaderInfo.url;
gameName = "mr_mullet";
GlobalVarContainer.vars.flvPath = "http://i.cdn.turner.com/adultswim/games/game/tools/swf/wsg-700x500.flv";
GlobalVarContainer.vars.flvWidth = parseInt(GlobalVarContainer.vars.flvPath.replace(re, "$1"));
GlobalVarContainer.vars.flvHeight = parseInt(GlobalVarContainer.vars.flvPath.replace(re, "$2"));
GlobalVarContainer.vars.stageWidth = oStage.stageWidth;
GlobalVarContainer.vars.stageHeight = oStage.stageHeight;
GlobalVarContainer.vars.mcLogo = logo;
GlobalVarContainer.vars.mcPlay = _play;
GlobalVarContainer.vars.gameName = gameName;
GlobalVarContainer.vars.playGame = playGame;
GlobalVarContainer.vars.strLinkLocation = strLinkLocation;
GlobalVarContainer.vars.strDomain = strDomain;
Preroller = new Preroller();
}
public function startAgain(_arg1:uint):void{
level = 0;
gameView.init();
gameView.initBackView();
frameListener.addObserver(gameView);
startGame(_arg1);
}
public function getLoadInfo(_arg1:String):Object{
return (library.getInfoByID(_arg1));
}
public function toIntro(_arg1:int):void{
var menuID = _arg1;
link.gotoAndStop(2);
stage.frameRate = xml.XML.config.game.fps;
var stageDimensions:* = {width:stage.stageWidth, height:stage.stageHeight};
gameView = new GameView(library, stageDimensions, xml.XML, tapePlayer, keyListener);
gameView.addEventListener(GameView.HURRY_UP, function (_arg1:Event):void{
hurryUp();
});
gameView.addEventListener(GameView.NEW_LEVEL, function (_arg1:Event):void{
newLevel();
});
gameView.addEventListener(GameView.GAMEOVER, function (_arg1:Event){
gameOver();
});
gameView.addEventListener(GameView.GAMEOVER_COMPLETE, function (_arg1:Event){
gameOverComplete();
});
gameView.addEventListener(GameView.HELPER_KILLED, function (_arg1:Event){
helper("killed");
});
gameView.addEventListener(GameView.HELPER_MISSED, function (_arg1:Event){
helper("missed");
});
addChildAt(gameView, 0);
startIntro(menuID);
}
public function startIntro(_arg1:uint):void{
if (firstRun){
menuView.removeMenu(_arg1);
gameView.init();
gameView.initBackView();
gameView.holdForIntro();
setMenu("introInstructions");
fromHelp = true;
} else {
if (!xml.XML.config.game.skipIntro){
gameView.init();
gameView.initBackView();
gameView.holdForIntro();
menuView.removeMenu(_arg1);
if (fromHelp){
menuView.setMenu("introFrom");
} else {
menuView.setMenu("intro");
};
frameListener.addObserver(gameView);
fromHelp = false;
} else {
startGame(_arg1);
frameListener.addObserver(gameView);
};
};
}
private function helper(_arg1:String):void{
var helper:Helper;
var help = _arg1;
if (help == "missed"){
helper = new Helper(library, "SHAVE HAIR!", help);
} else {
if (help == "killed"){
helper = new Helper(library, "TRY NOT TO KILL!", help);
};
};
helper.addEventListener(OnScreenDisplay.COMPLETE, function (_arg1:Event):void{
removeDisplayObject(helper);
});
addChildAt(helper, (getChildIndex(menuView) - 1));
if (messageList.length == 1){
helper.y = (helper.y + 45);
};
messageList.push(help);
}
public function loadMain():void{
gotoAndStop(3);
menuView.removeMenu(0);
menuView.setMenu("title");
loadXML();
}
private function newLevel():void{
var m:String;
var levelDisplay:LevelDisplay;
for (m in messageList) {
if (messageList[m] == "level"){
trace("don't make level message");
return;
};
};
levelDisplay = new LevelDisplay(library, ++level);
levelDisplay.addEventListener(OnScreenDisplay.COMPLETE, function (_arg1:Event):void{
removeDisplayObject(levelDisplay);
});
addChildAt(levelDisplay, (getChildIndex(menuView) - 1));
gameView.setLevel(level);
if (messageList.length == 1){
levelDisplay.y = (levelDisplay.y + 45);
};
messageList.push("level");
}
private function hurryUp():void{
var m:String;
var hurryUpDisplay:HurryUpDisplay;
for (m in messageList) {
if (messageList[m] == "hurry"){
trace("don't make hurry message");
return;
};
};
hurryUpDisplay = new HurryUpDisplay(library);
hurryUpDisplay.addEventListener(OnScreenDisplay.COMPLETE, function (_arg1:Event):void{
removeDisplayObject(hurryUpDisplay);
});
addChildAt(hurryUpDisplay, (getChildIndex(menuView) - 1));
if (messageList.length == 1){
hurryUpDisplay.y = (hurryUpDisplay.y + 45);
};
messageList.push("hurry");
}
public function playSound(_arg1:String):void{
tapePlayer.play(_arg1, false, 100, 0);
}
public function openURL(_arg1:String, _arg2:String="_blank"):void{
var _local3:URLRequest;
var _local5:String;
var _local4:URLVariables = new URLVariables();
switch (_arg1){
case "adultswim":
_local3 = new URLRequest(PublicVars.ADULTSWIM);
track("_adultswim");
break;
case "playMoreGames":
_local3 = new URLRequest(PublicVars.PLAY_MORE_GAMES);
track("_game_more");
break;
case "openHighScores":
_local3 = new URLRequest(PublicVars.LEADERBOARD);
track("_highScores");
break;
default:
break;
};
_local4.cid = ((((("GAME_Ext_" + gameName) + "_") + strDomain) + "_") + strLinkLocation);
trace("variables.cid", _local4.cid);
_local3.data = _local4;
navigateToURL(_local3, _arg2);
}
private function playGame(){
trace("playGame!!");
menuView = new MenuView(library, this);
addChild(menuView);
setMenu("load");
keyListener = new KeyListener(stage);
addLinkButton();
}
public function gameOverComplete():void{
frameListener.removeObserver(gameView);
tapePlayer.play("sndMenuMusic", true, 100, 1000000);
setMenu("game over");
menuView.pass({score:gameView.getScore(), barberState:gameView.getBarberState(), ranks:xml.XML.config.game.rank, shorn:gameView.getShorn(), level:level, killed:gameView.getKilled()});
removeChild(help);
help = null;
}
public function loadXML():void{
xmlLoader.callBack = "sortLevel";
xmlLoader.loadInternalXML(["XML/config.xml", "XML/level.xml"], this, xml, xmlGubbins.xml);
}
private function addLinkButton():void{
link = new adultswimLink();
link.gotoAndStop(1);
addChild(link);
link.x = 298;
link.y = (447 + 8);
link.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:MouseEvent):void{
openURL("adultswim");
});
}
public function submitScore():void{
cmpSetObj.local2 = gameView.getScore();
cmpSetObj.local1 = 1853;
cmpSetObj.clearListeners();
}
private function track(_arg1:String):void{
trace("TRACK ", publicVars.getTrackingURL(_arg1));
var _local2:URLRequest = new URLRequest(publicVars.getTrackingURL(_arg1));
sendToURL(_local2);
}
public function showInstructions(_arg1:String="show"):void{
menuView.setMenu("instructions");
if (help){
help.hide("tween");
tapePlayer.fade(10);
};
}
public function setMenu(_arg1:String):void{
menuView.setMenu(_arg1);
}
public function gameOver():void{
help.hide("tween");
track("_endScreen_hs");
}
public function startGame(_arg1:uint):void{
level = 0;
gameView.init();
gameView.start();
menuView.removeMenu(_arg1);
tapePlayer.stop("sndMenuMusic");
tapePlayer.play("sndGameStart", false, 100, 0);
tapePlayer.play("sndMusic1", true, 100, 1000000);
help = new Help(library, this, tapePlayer);
frameListener.addObserver(help);
addChild(help);
help.hide("immediate");
help.show("tween");
newLevel();
track("_startGame");
}
}
}//package
Section 82
//Fader (Fader)
package {
import flash.events.*;
import flash.display.*;
public class Fader extends Sprite {
public static const COMPLETE:String = "complete";
public function Fader(_arg1):void{
addChild(_arg1);
alpha = 0;
addEventListener(Event.ENTER_FRAME, enterFrame);
}
private function enterFrame(_arg1:Event):void{
alpha = (alpha + 0.05);
if (alpha >= 1){
alpha = 1;
while (numChildren) {
removeChildAt(0);
};
dispatchEvent(new Event(COMPLETE));
removeEventListener(Event.ENTER_FRAME, enterFrame);
};
}
}
}//package
Section 83
//GameOverMenu (GameOverMenu)
package {
import flash.events.*;
import Bulletproofbaby.utils.*;
public class GameOverMenu extends Menu {
private var rankFrame:String;
private var library:LibraryLoader;
private var blackBars:BlackBars;
public function GameOverMenu(_arg1, _arg2:Delegate, _arg3:uint, _arg4:LibraryLoader, _arg5:BlackBars):void{
var sprite = _arg1;
var delegate = _arg2;
var id = _arg3;
var library = _arg4;
var blackBars = _arg5;
this.library = library;
this.blackBars = blackBars;
super(sprite, delegate, id);
addEventListener(Event.ENTER_FRAME, enterFrame);
sprite.startAgainButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
startAgain(id);
});
sprite.startAgainButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.startAgainButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.submitButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.submitScore();
});
sprite.submitButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.submitButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.moreGamesButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.openURL("playMoreGames");
});
sprite.moreGamesButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.moreGamesButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.gotoScoresButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.openURL("openHighScores");
});
sprite.gotoScoresButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.gotoScoresButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
}
override public function dealloc():void{
removeEventListener(Event.ENTER_FRAME, enterFrame);
sprite.startAgainButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
startAgain(id);
});
sprite.startAgainButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.startAgainButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.submitButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.submitScore();
});
sprite.submitButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.submitButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.moreGamesButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.openURL("playMoreGames");
});
sprite.moreGamesButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.moreGamesButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.gotoScoresButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.openURL("openHighScores");
});
sprite.gotoScoresButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.gotoScoresButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
super.dealloc();
}
private function startAgain(_arg1:uint):void{
blackBars.close();
delegate.startAgain(_arg1);
}
override public function pass(_arg1:Object):void{
sprite.score.text = _arg1.score;
sprite.shorn.text = _arg1.shorn;
sprite.level.text = _arg1.level;
sprite.killed.text = _arg1.killed;
sprite.rank.gotoAndStop(1);
var _local2:uint = _arg1.ranks.length;
while (_local2 > 0) {
if (_arg1.score >= _arg1.ranks[(_local2 - 1)]){
rankFrame = ("rank" + _local2);
break;
};
_local2--;
};
var _local3:* = library.getObject("mcHair");
sprite.barberHolder.addChild(_local3);
var _local4:* = library.getObject("mcHairMask");
sprite.barberHolder.addChild(_local4);
_local3.mask = _local4;
_local3.x = _arg1.barberState.hairX;
var _local5:* = library.getObject(_arg1.barberState.fileName);
sprite.barberHolder.addChild(_local3);
sprite.barberHolder.addChild(_local4);
sprite.barberHolder.addChild(_local5);
}
private function enterFrame(_arg1:Event):void{
if (sprite.currentFrame == 100){
sprite.rank.gotoAndPlay(rankFrame);
};
}
}
}//package
Section 84
//GameView (GameView)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
import Enemies.*;
public class GameView extends Sprite {
private var killed:uint;
private var ambientTime:uint;
private var run:Boolean;// = false
private var level:uint;
private var xml:Object;
private var missed:uint;
private var tapePlayer:TapePlayer;
private var shavedCount:uint;
private var ambientWait:uint;
private var library:LibraryLoader;
private var backView:BackView;
private var stageHeight:uint;
private var speed:Number;
private var holdSpeed:Boolean;
private var potentialSpeed:Number;
private var updaters:Array;
private var powerupTime:uint;
private var hairStep:uint;
private var barberState:Object;
private var speedObservers:Array;
private var firstChop:Boolean;// = true
private var stageWidth:uint;
private var characterView:CharacterView;
private var holdPowerups:Boolean;
private var collisionDetection:CollisionDetection;
private var powerupWait:uint;
private var shorn:uint;
private var hud:Hud;
private var holdAmbientSounds:Boolean;
private var inARow:uint;
public static const NEW_LEVEL:String = "newLevel";
public static const GAMEOVER:String = "gameOver";
public static const HELPER_MISSED:String = "helperMissed";
public static const HELPER_KILLED:String = "helperKilled";
public static const GAMEOVER_COMPLETE:String = "gameOverComplete";
public static const HURRY_UP:String = "hurryUp";
public function GameView(_arg1:LibraryLoader, _arg2:Object, _arg3:Object, _arg4:TapePlayer, _arg5:KeyListener):void{
var library = _arg1;
var stageDimensions = _arg2;
var xml = _arg3;
var tapePLayer = _arg4;
var keyListener = _arg5;
updaters = new Array();
speedObservers = new Array();
collisionDetection = new CollisionDetection();
super();
this.library = library;
this.tapePlayer = tapePLayer;
this.xml = xml;
stageWidth = stageDimensions.width;
stageHeight = stageDimensions.height;
backView = new BackView(library, stageDimensions, xml);
backView.addEventListener(BackView.NEW_LEVEL, function (_arg1:Event):void{
newLevel();
});
speedObservers.push(backView);
updaters.push(backView);
characterView = new CharacterView(library, stageDimensions, this, xml, keyListener, tapePlayer);
characterView.addEventListener(CharacterView.TOGGLE_INVINCIBLE, function (_arg1:Event){
toggleInvincible(characterView.invincible);
});
speedObservers.push(characterView);
updaters.push(characterView);
var characterlayers:Array = characterView.getLayers();
var backlayers:Array = backView.getLayers();
addChild(backlayers[1]);
addChild(characterlayers[2]);
addChild(backlayers[0]);
addChild(characterlayers[1]);
addChild(characterlayers[0]);
characterlayers = null;
backlayers = null;
hud = new Hud(library, xml);
addChild(hud);
updaters.push(hud);
speedObservers.push(hud);
hud.addEventListener(Hud.GAME_OVER, function (_arg1:Event){
gameOver();
});
hud.addEventListener(Hud.TIMER_LOW, function (_arg1:Event){
timerChange("low");
});
hud.addEventListener(Hud.TIMER_OK, function (_arg1:Event){
timerChange("ok");
});
hud.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
barberPressed(false);
});
}
public function holdForIntro():void{
hud.hide("immediate");
characterView.holdEnemies = true;
characterView.hideBarber();
holdAmbientSounds = true;
holdPowerups = true;
hud.holdMeter = true;
holdSpeed = true;
}
public function stop():void{
run = false;
}
public function enemyChanged(_arg1:String, _arg2:String, _arg3:Object):void{
var _local4:*;
var _local5:int;
var _local6:uint;
switch (_arg1){
case "shave":
case "stubbled":
if (_arg1 == "shave"){
shorn++;
if (_arg2 == "Enemy7"){
tapePlayer.play("sndTinyBirdShave", false, 100, 0);
};
};
if (_arg2 == "Enemy3"){
if (_arg1 == "stubbled"){
inARow++;
} else {
_local4 = true;
};
} else {
inARow++;
};
hud.addTime(xml.config.enemies[(_arg2 + "ShaveTimeBonus")], "shave");
hud.addScore((xml.config.enemies[(_arg2 + "ShavePoints")] * level));
if (_arg2 == "Enemy3"){
tapePlayer.play("sndPapaShave", false, 125, 0);
} else {
if (_arg2 == "Enemy7"){
addBonus(_arg3, ((!((inARow % 10))) && (inARow)));
} else {
tapePlayer.play("sndRazorShave", false, 100, 0);
};
};
shavedCount = (shavedCount + xml.config.enemies[(_arg2 + "HairWorth")]);
_local5 = hairStep;
while (_local5 < xml.config.game.hairSteps.length) {
if (shavedCount >= xml.config.game.hairSteps[_local5]){
if (firstChop){
firstChop = false;
characterView.addHair(0, 0);
hairStep++;
} else {
characterView.addHair(_local5, xml.config.game.hairGrowth);
hairStep++;
};
break;
};
_local5++;
};
if (hairStep > (xml.config.game.hairSteps.length - 1)){
_local6 = (xml.config.game.hairSteps[(xml.config.game.hairSteps.length - 1)] + (xml.config.game.thereafter * ((hairStep - xml.config.game.hairSteps.length) + 1)));
if (shavedCount >= _local6){
characterView.addHair(2, xml.config.game.hairGrowth);
hairStep++;
};
};
break;
case "badShave":
hud.addTime(xml.config.enemies[(_arg2 + "ChopTimePenalty")][Math.min((level - 1), (xml.config.enemies[(_arg2 + "ChopTimePenalty")].length - 1))], "kill");
tapePlayer.play(("sndEnemyChop" + Math.floor((Math.random() * 6))), false, 100, 0);
hud.addScore(xml.config.enemies[(_arg2 + "ChopPoints")]);
killed++;
if (killed == 1){
dispatchEvent(new Event(HELPER_KILLED));
};
inARow = 0;
break;
case "missed":
missed++;
if ((((((missed == 3)) && (!(killed)))) && (!(shorn)))){
dispatchEvent(new Event(HELPER_MISSED));
};
hud.addTime(xml.config.enemies[(_arg2 + "MissTimePenalty")][Math.min((level - 1), (xml.config.enemies[(_arg2 + "MissTimePenalty")].length - 1))], "miss");
tapePlayer.play(("sndMissed" + Math.floor((Math.random() * 6))), false, 100, 0);
hud.addScore(xml.config.enemies[(_arg2 + "MissedPoints")]);
inARow = 0;
addSplat(_arg3, _arg2);
break;
};
if (((((!((inARow % 10))) && (inARow))) && (!(_local4)))){
addInARow(_arg3, inARow);
};
}
private function addBonus(_arg1:Object, _arg2:Boolean):void{
var bonusDisplay:BonusDisplay;
var coords = _arg1;
var adjustX = _arg2;
bonusDisplay = new BonusDisplay(library);
bonusDisplay.addEventListener(OnScreenDisplay.COMPLETE, function (_arg1:Event):void{
removeDisplayObject(bonusDisplay);
});
bonusDisplay.x = Math.min(Math.max((coords.x - characterView.distance), 100), (stageWidth - 100));
bonusDisplay.y = (((coords.y - (coords.width / 2)) - 20) - (25 * int(adjustX)));
characterView.barberLayer.addChild(bonusDisplay);
}
public function barberPressed(_arg1:Boolean):void{
if (_arg1){
potentialSpeed = xml.config.game.maxSpeed;
} else {
if (!_arg1){
potentialSpeed = xml.config.game.minSpeed;
};
};
}
public function getKilled():uint{
return (killed);
}
private function addSplat(_arg1:Object, _arg2:String):void{
var splat:Splat;
var coords = _arg1;
var id = _arg2;
if (coords.y <= 0){
splat = new Splat(library, (("mcSplat" + xml.config.enemies[(id + "SplatScale")]) + "Top"));
} else {
splat = new Splat(library, ("mcSplat" + xml.config.enemies[(id + "SplatScale")]));
};
splat.addEventListener(OnScreenDisplay.COMPLETE, function (_arg1:Event):void{
removeDisplayObject(splat);
});
characterView.barberLayer.addChildAt(splat, Math.max((characterView.barberLayer.getChildIndex(characterView.barber) - 1), 0));
splat.x = Math.max((coords.x - characterView.distance), 0);
splat.y = Math.max(Math.min(coords.y, stageHeight), 0);
if (coords.y >= stageHeight){
splat.rotation = -90;
splat.x = (splat.x + (Math.floor((Math.random() * 41)) - 20));
} else {
if (coords.y < 0){
splat.x = (splat.x + (Math.floor((Math.random() * 41)) - 20));
} else {
splat.y = (splat.y + (Math.floor((Math.random() * 41)) - 20));
};
};
}
public function enterFrame():void{
var _local2:String;
if (!run){
return;
};
ambientSoundTimer();
powerupTimer();
var _local1:uint;
while (_local1 < updaters.length) {
updaters[_local1].enterFrame();
_local1++;
};
speed = (speed + (0.5 * int((potentialSpeed > speed))));
speed = (speed - (0.5 * int((potentialSpeed < speed))));
for (_local2 in speedObservers) {
if (!holdSpeed){
speedObservers[_local2].speed = speed;
};
};
if (!characterView.noDamage){
collisionDetection.checkCollision(characterView.barber, characterView.enemies, backView, characterView.distance);
};
}
public function init():void{
characterView.reset();
hud.reset();
run = true;
}
private function toggleInvincible(_arg1:Boolean):void{
hud.invincible = _arg1;
}
public function getGroundTop(_arg1:Enemy):uint{
return (collisionDetection.getGroundTop(_arg1, backView, characterView.distance));
}
private function ambientSoundTimer():void{
if (holdAmbientSounds){
return;
};
ambientTime++;
if (ambientTime >= (ambientWait * xml.config.game.fps)){
tapePlayer.stop("sndBirds");
tapePlayer.play("sndBirds", false, 125, 0);
ambientWait = makeTime(xml.config.game.ambientSoundIntervalMin, xml.config.game.ambientSoundIntervalMax);
ambientTime = 0;
};
}
public function getBarberState():Object{
return (barberState);
}
private function gameOverComplete(_arg1:Fader):void{
var fader = _arg1;
stop();
hud.hide("immediate");
characterView.removeEnemies();
barberState = characterView.removeBarber();
backView.removeBacks();
removeChild(fader);
fader.removeEventListener(Fader.COMPLETE, function (_arg1:Event){
gameOverComplete(fader);
});
fader = null;
dispatchEvent(new Event(GAMEOVER_COMPLETE));
}
public function getShorn():uint{
return (shorn);
}
public function checkOverlap(_arg1:Enemy, _arg2:Array):void{
collisionDetection.checkOverlap(_arg1, _arg2);
}
public function setLevel(_arg1:uint):void{
this.level = _arg1;
hud.setLevel(_arg1);
}
private function removeDisplayObject(_arg1):void{
var displayObject = _arg1;
displayObject.removeEventListener(OnScreenDisplay.COMPLETE, function (_arg1:Event):void{
removeDisplayObject(displayObject);
});
displayObject.dealloc();
characterView.barberLayer.removeChild(displayObject);
displayObject = null;
}
private function newLevel():void{
dispatchEvent(new Event(NEW_LEVEL));
}
private function powerupTimer():void{
if (((holdPowerups) || (!(powerupWait)))){
return;
};
powerupTime++;
if (powerupTime >= (powerupWait * xml.config.game.fps)){
powerupWait = makeTime(xml.config.game.powerupIntervalMin, xml.config.game.powerupIntervalMax);
powerupTime = 0;
characterView.dropPowerup();
};
}
private function gameOver():void{
var fader:Fader;
fader = new Fader(library.getObject("mcWhite"));
addChild(fader);
fader.addEventListener(Fader.COMPLETE, function (_arg1:Event){
gameOverComplete(fader);
});
characterView.noDamage = true;
tapePlayer.stop("sndTimer");
tapePlayer.stop("sndBirds");
tapePlayer.play("sndGameOver", false, 100, 0);
tapePlayer.stop("sndMusic1");
dispatchEvent(new Event(GAMEOVER));
}
private function makeTime(_arg1:uint, _arg2:uint):uint{
return (((Math.random() * (_arg2 - _arg1)) + _arg1));
}
public function start():void{
powerupTime = 0;
shavedCount = 0;
ambientTime = 0;
hairStep = 0;
speed = 0;
shorn = 0;
killed = 0;
inARow = 0;
missed = 0;
barberPressed(false);
firstChop = false;
ambientWait = makeTime(xml.config.game.ambientSoundIntervalMin, xml.config.game.ambientSoundIntervalMax);
powerupWait = makeTime(xml.config.game.powerupIntervalMin, xml.config.game.powerupIntervalMax);
characterView.holdEnemies = false;
characterView.showBarber();
holdAmbientSounds = false;
holdPowerups = false;
hud.holdMeter = false;
holdSpeed = false;
hud.show("tween");
}
public function initBackView():void{
backView.reset();
}
public function getScore():uint{
return (hud.getScore());
}
private function timerChange(_arg1:String):void{
if (_arg1 == "ok"){
tapePlayer.stop("sndTimer");
} else {
if (_arg1 == "low"){
tapePlayer.play("sndTimer", false, 100, 1000000);
dispatchEvent(new Event(HURRY_UP));
};
};
}
public function setToCurve(_arg1:Enemy):Boolean{
return (collisionDetection.setToCurve(_arg1, backView, characterView.distance));
}
private function addInARow(_arg1:Object, _arg2:uint):void{
var inARowDisplay:InARowDisplay;
var coords = _arg1;
var inARow = _arg2;
tapePlayer.play("sndInARow", false, 100, 0);
inARowDisplay = new InARowDisplay(library, inARow);
inARowDisplay.addEventListener(OnScreenDisplay.COMPLETE, function (_arg1:Event):void{
removeDisplayObject(inARowDisplay);
});
inARowDisplay.x = Math.min(Math.max((coords.x - characterView.distance), 100), (stageWidth - 100));
inARowDisplay.y = ((coords.y - (coords.width / 2)) - 20);
characterView.barberLayer.addChild(inARowDisplay);
if (!int((inARow % 50))){
hud.addScore(((inARow / 50) * xml.config.game.inARowBonus));
};
}
}
}//package
Section 85
//Help (Help)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
public class Help extends Sprite {
private var tapePlayer:TapePlayer;
private var sprite;
private var delegate:Delegate;
private var helpY:int;
public function Help(_arg1:LibraryLoader, _arg2:Delegate, _arg3:TapePlayer):void{
var library = _arg1;
var delegate = _arg2;
var tapePlayer = _arg3;
super();
this.tapePlayer = tapePlayer;
this.delegate = delegate;
sprite = library.getObject("mcHelp");
addChild(sprite);
sprite.helpButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event):void{
delegate.togglePause();
});
sprite.helpButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event):void{
delegate.showInstructions("show");
});
sprite.helpButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
tapePlayer.play("sndRollOver", false, 100, 0);
});
sprite.helpButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
tapePlayer.play("sndPress", false, 100, 0);
});
}
public function hide(_arg1:String):void{
if (_arg1 == "immediate"){
helpY = (y = 100);
} else {
if (_arg1 == "tween"){
helpY = 100;
};
};
}
public function dealloc():void{
sprite.helpButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event):void{
delegate.togglePause();
});
sprite.helpButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event):void{
delegate.showInstructions();
});
sprite.helpButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
tapePlayer.play("sndRollOver", false, 100, 0);
});
sprite.helpButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
tapePlayer.play("sndPress", false, 100, 0);
});
while (numChildren) {
removeChildAt(0);
};
sprite = null;
}
public function enterFrame():void{
if (helpY != y){
y = (y + ((helpY - y) * 0.5));
};
}
public function show(_arg1:String):void{
if (_arg1 == "tween"){
helpY = 0;
};
}
}
}//package
Section 86
//Helper (Helper)
package {
import Bulletproofbaby.utils.*;
public class Helper extends OnScreenDisplay {
public function Helper(_arg1:LibraryLoader, _arg2:String, _arg3:String):void{
sprite = _arg1.getObject("mcLevels");
sprite.level.field.text = _arg2;
addChild(sprite);
type = _arg3;
}
}
}//package
Section 87
//Hud (Hud)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
public class Hud extends Sprite {
private var hudY:int;
private var level:Level;
private var warned:Boolean;
public var speed:Number;// = 0
private var meter:Meter;
private var updaters:Array;
private var score:Score;
public static const GAME_OVER:String = "gameOver";
public static const TIMER_OK:String = "timerOk";
public static const TIMER_LOW:String = "timerLow";
public function Hud(_arg1:LibraryLoader, _arg2:Object):void{
var library = _arg1;
var xml = _arg2;
updaters = new Array();
super();
var hudSprite:* = library.getObject("mcHud");
addChild(hudSprite);
meter = new Meter(hudSprite.meter, xml);
meter.addEventListener(Meter.OUT_OF_TIME, function (_arg1:Event){
dispatchEvent(new Event(GAME_OVER));
});
updaters.push(meter);
score = new Score(hudSprite.score);
level = new Level(hudSprite.level);
}
public function addTime(_arg1:Number, _arg2:String):void{
meter.addTime(_arg1, _arg2);
}
public function enterFrame():void{
if (hudY != y){
y = (y + ((hudY - y) * 0.5));
};
if (((meter.timerPercent()) && (!(warned)))){
warned = true;
dispatchEvent(new Event(TIMER_LOW));
} else {
if (((!(meter.timerPercent())) && (warned))){
warned = false;
dispatchEvent(new Event(TIMER_OK));
};
};
var _local1:uint;
while (_local1 < updaters.length) {
updaters[_local1].enterFrame();
_local1++;
};
meter.speed = speed;
}
public function hide(_arg1:String):void{
if (_arg1 == "immediate"){
hudY = (y = -100);
};
}
public function setLevel(_arg1:uint):void{
this.level.setLevel(_arg1);
}
public function reset():void{
meter.reset();
score.reset();
}
public function addScore(_arg1:Number):void{
score.addPoints(_arg1);
}
public function set holdMeter(_arg1:Boolean):void{
meter.hold = _arg1;
}
public function getScore():uint{
return (score.getScore());
}
public function show(_arg1:String):void{
if (_arg1 == "tween"){
hudY = 0;
};
}
public function set invincible(_arg1:Boolean):void{
meter.invincible = _arg1;
}
}
}//package
Section 88
//HurryUpDisplay (HurryUpDisplay)
package {
import Bulletproofbaby.utils.*;
public class HurryUpDisplay extends OnScreenDisplay {
public function HurryUpDisplay(_arg1:LibraryLoader):void{
sprite = _arg1.getObject("mcLevels");
sprite.level.field.text = "HURRY UP!";
addChild(sprite);
type = "hurry";
}
}
}//package
Section 89
//InARowDisplay (InARowDisplay)
package {
import Bulletproofbaby.utils.*;
public class InARowDisplay extends OnScreenDisplay {
public function InARowDisplay(_arg1:LibraryLoader, _arg2:uint):void{
if (!int((_arg2 % 50))){
sprite = _arg1.getObject("mcInARowBig");
sprite.inARow.field.text = (_arg2 + " IN A ROW! BONUS!");
} else {
sprite = _arg1.getObject("mcInARow");
sprite.inARow.field.text = (_arg2 + " IN A ROW!");
};
addChild(sprite);
}
}
}//package
Section 90
//Instructions (Instructions)
package {
import flash.events.*;
public class Instructions extends Menu {
private var blackBars:BlackBars;
public function Instructions(_arg1, _arg2:Delegate, _arg3:uint, _arg4:BlackBars):void{
var sprite = _arg1;
var delegate = _arg2;
var id = _arg3;
var blackBars = _arg4;
this.blackBars = blackBars;
super(sprite, delegate, id);
sprite.playButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
complete(id);
});
sprite.playButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.playButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
}
private function complete(_arg1:uint):void{
blackBars.close();
delegate.hideInstructions(_arg1);
}
override public function dealloc():void{
sprite.playButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
complete(id);
});
sprite.playButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.playButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
super.dealloc();
}
}
}//package
Section 91
//Intro (Intro)
package {
import flash.events.*;
public class Intro extends Menu {
private var blackBars:BlackBars;
public function Intro(_arg1, _arg2:Delegate, _arg3:uint, _arg4:BlackBars=null):void{
var sprite = _arg1;
var delegate = _arg2;
var id = _arg3;
var blackBars = _arg4;
this.blackBars = blackBars;
super(sprite, delegate, id);
addEventListener(Event.ENTER_FRAME, enterFrame);
sprite.skipButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
skip();
});
sprite.skipButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.skipButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
}
private function skip():void{
sprite.skipButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
skip();
});
sprite.skipButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.skipButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.gotoAndStop(sprite.totalFrames);
}
override public function dealloc():void{
sprite.skipButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
skip();
});
sprite.skipButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.skipButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
removeEventListener(Event.ENTER_FRAME, enterFrame);
super.dealloc();
}
private function enterFrame(_arg1:Event):void{
if (sprite.currentFrame == 38){
delegate.playSound("sndGrabRazor");
};
if (sprite.totalFrames == sprite.currentFrame){
removeEventListener(Event.ENTER_FRAME, enterFrame);
blackBars.close();
delegate.startGame(id);
};
}
}
}//package
Section 92
//IntroInstructions (IntroInstructions)
package {
import flash.events.*;
public class IntroInstructions extends Menu {
private var blackBars:BlackBars;
public function IntroInstructions(_arg1, _arg2:Delegate, _arg3:uint, _arg4:BlackBars):void{
var sprite = _arg1;
var delegate = _arg2;
var id = _arg3;
var blackBars = _arg4;
this.blackBars = blackBars;
super(sprite, delegate, id);
sprite.playButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
complete(id);
});
sprite.playButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.playButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.moreGamesButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.openURL("playMoreGames");
});
sprite.moreGamesButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.moreGamesButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
}
private function complete(_arg1:uint):void{
delegate.hideInstructions(_arg1);
}
override public function dealloc():void{
sprite.playButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
complete(id);
});
sprite.playButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.playButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.moreGamesButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.openURL("playMoreGames");
});
sprite.moreGamesButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.moreGamesButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
super.dealloc();
}
}
}//package
Section 93
//LandPanel (LandPanel)
package {
import flash.display.*;
public class LandPanel extends Sprite {
private var sprite:MovieClip;
private var bitmapData:BitmapData;
public function LandPanel(_arg1):void{
this.sprite = _arg1;
bitmapData = new BitmapData(_arg1.ground.width, _arg1.ground.height);
bitmapData.draw(_arg1.ground);
_arg1.ground.visible = 0;
addChild(_arg1);
}
public function dealloc():void{
removeChild(sprite);
sprite = null;
bitmapData.dispose();
bitmapData = null;
}
public function pixel(_arg1:uint, _arg2:uint):Boolean{
return ((bitmapData.getPixel(((_arg1 - sprite.ground.x) - this.x), ((_arg2 - sprite.ground.y) - this.y)) == 0xFF));
}
}
}//package
Section 94
//Level (Level)
package {
import flash.text.*;
public class Level {
private var sprite:TextField;
public function Level(_arg1:TextField):void{
this.sprite = _arg1;
}
public function setLevel(_arg1:uint):void{
sprite.text = ("x" + _arg1);
}
}
}//package
Section 95
//LevelDisplay (LevelDisplay)
package {
import Bulletproofbaby.utils.*;
public class LevelDisplay extends OnScreenDisplay {
public function LevelDisplay(_arg1:LibraryLoader, _arg2:uint):void{
sprite = _arg1.getObject("mcLevels");
sprite.level.field.text = ("LEVEL " + _arg2);
addChild(sprite);
type = "level";
}
}
}//package
Section 96
//LoadMenu (LoadMenu)
package {
import flash.events.*;
public class LoadMenu extends Menu {
public function LoadMenu(_arg1, _arg2:Delegate, _arg3:uint):void{
super(_arg1, _arg2, _arg3);
addEventListener(Event.ENTER_FRAME, enterFrame);
}
override public function dealloc():void{
super.dealloc();
}
private function enterFrame(_arg1:Event):void{
var _local2:Number = ((delegate.loaderInfo.bytesLoaded / delegate.loaderInfo.bytesTotal) * 100);
if (_local2 == 0){
sprite.percent.text = "";
} else {
sprite.percent.text = int(_local2);
if (_local2 == 100){
removeEventListener(Event.ENTER_FRAME, enterFrame);
delegate.loadMain();
};
};
}
}
}//package
Section 97
//mc_preroll_logo (mc_preroll_logo)
package {
import flash.display.*;
public dynamic class mc_preroll_logo extends MovieClip {
public function mc_preroll_logo(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 98
//mc_preroll_play (mc_preroll_play)
package {
import flash.display.*;
public dynamic class mc_preroll_play extends MovieClip {
public function mc_preroll_play(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 99
//mcBackCloud (mcBackCloud)
package {
import flash.display.*;
public dynamic class mcBackCloud extends MovieClip {
public var ground:MovieClip;
}
}//package
Section 100
//mcBackCurve (mcBackCurve)
package {
import flash.display.*;
public dynamic class mcBackCurve extends MovieClip {
public var ground:MovieClip;
}
}//package
Section 101
//mcBackCurvy (mcBackCurvy)
package {
import flash.display.*;
public dynamic class mcBackCurvy extends MovieClip {
public var ground:MovieClip;
}
}//package
Section 102
//mcBackGreen (mcBackGreen)
package {
import flash.display.*;
public dynamic class mcBackGreen extends MovieClip {
}
}//package
Section 103
//mcBackGrey (mcBackGrey)
package {
import flash.display.*;
public dynamic class mcBackGrey extends MovieClip {
}
}//package
Section 104
//mcBackMagenta (mcBackMagenta)
package {
import flash.display.*;
public dynamic class mcBackMagenta extends MovieClip {
}
}//package
Section 105
//mcBackPlateau (mcBackPlateau)
package {
import flash.display.*;
public dynamic class mcBackPlateau extends MovieClip {
public var ground:MovieClip;
}
}//package
Section 106
//mcBackPointy (mcBackPointy)
package {
import flash.display.*;
public dynamic class mcBackPointy extends MovieClip {
public var ground:MovieClip;
}
}//package
Section 107
//mcBackTeal (mcBackTeal)
package {
import flash.display.*;
public dynamic class mcBackTeal extends MovieClip {
}
}//package
Section 108
//mcBackWave (mcBackWave)
package {
import flash.display.*;
public dynamic class mcBackWave extends MovieClip {
public var ground:MovieClip;
}
}//package
Section 109
//mcBackYellow (mcBackYellow)
package {
import flash.display.*;
public dynamic class mcBackYellow extends MovieClip {
}
}//package
Section 110
//mcBarberBald (mcBarberBald)
package {
import flash.display.*;
public dynamic class mcBarberBald extends MovieClip {
public var attackBox:MovieClip;
public var clipper:MovieClip;
}
}//package
Section 111
//mcBarberFullHeadOfHair (mcBarberFullHeadOfHair)
package {
import flash.display.*;
public dynamic class mcBarberFullHeadOfHair extends MovieClip {
public var attackBox:MovieClip;
public var clipper:MovieClip;
}
}//package
Section 112
//mcBarberHair (mcBarberHair)
package {
import flash.display.*;
public dynamic class mcBarberHair extends MovieClip {
public var attackBox:MovieClip;
public var clipper:MovieClip;
}
}//package
Section 113
//mcBlackBars (mcBlackBars)
package {
import flash.display.*;
public dynamic class mcBlackBars extends MovieClip {
public function mcBlackBars(){
addFrameScript(10, frame11, 21, frame22);
}
function frame22(){
stop();
}
function frame11(){
stop();
}
}
}//package
Section 114
//mcClip (mcClip)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.filters.*;
import flash.utils.*;
import flash.system.*;
import flash.geom.*;
import flash.external.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class mcClip extends MovieClip {
public function mcClip(){
addFrameScript(0, frame1);
}
public function clearListeners(){
var strURI:String = ExternalInterface.call("getLittleServer");
var local3:String = this.local1;
var local1:Number = this.local2;
var var5:Number = ExternalInterface.call("getSrvrTime");
var var1:String = var5.toString();
var strN1:String = var1.substr(-3, 3);
var strN2:String = var1.substr(-4, 3);
var n1:Number = parseInt(strN1);
var n2:Number = parseInt(strN2);
var var2:Number = (((n1 * n2) * local1) + local1);
var strToPass:String = ((((((local3 + ",") + local1) + ",") + var5) + ",") + var2);
var md5:MD5 = new MD5(strToPass);
var variables:URLVariables = new URLVariables();
variables.attr1 = ((((((("score=" + local1) + "|gameId=") + local3) + "|timestamp=") + var5) + "|key=") + md5._hash);
trace(((((((("score=" + local1) + "|gameId=") + local3) + "|timestamp=") + var5) + "|key=") + md5._hash));
var request:URLRequest = new URLRequest(strURI);
request.data = variables;
try {
navigateToURL(request, "_parent");
} catch(e:Error) {
};
}
function frame1(){
}
}
}//package
Section 115
//mcDotty (mcDotty)
package {
import flash.display.*;
public dynamic class mcDotty extends MovieClip {
}
}//package
Section 116
//mcEnemy1Beard (mcEnemy1Beard)
package {
import flash.display.*;
public dynamic class mcEnemy1Beard extends MovieClip {
public var hitBox:MovieClip;
}
}//package
Section 117
//mcEnemy1Kill (mcEnemy1Kill)
package {
import flash.display.*;
public dynamic class mcEnemy1Kill extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy1Kill(){
addFrameScript(36, frame37);
}
function frame37(){
stop();
}
}
}//package
Section 118
//mcEnemy1Shave (mcEnemy1Shave)
package {
import flash.display.*;
public dynamic class mcEnemy1Shave extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy1Shave(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package
Section 119
//mcEnemy2Beard (mcEnemy2Beard)
package {
import flash.display.*;
public dynamic class mcEnemy2Beard extends MovieClip {
public var hitBox:MovieClip;
}
}//package
Section 120
//mcEnemy2Kill (mcEnemy2Kill)
package {
import flash.display.*;
public dynamic class mcEnemy2Kill extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy2Kill(){
addFrameScript(33, frame34);
}
function frame34(){
stop();
}
}
}//package
Section 121
//mcEnemy2Shave (mcEnemy2Shave)
package {
import flash.display.*;
public dynamic class mcEnemy2Shave extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy2Shave(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package
Section 122
//mcEnemy3Beard (mcEnemy3Beard)
package {
import flash.display.*;
public dynamic class mcEnemy3Beard extends MovieClip {
public var hitBox:MovieClip;
}
}//package
Section 123
//mcEnemy3Kill (mcEnemy3Kill)
package {
import flash.display.*;
public dynamic class mcEnemy3Kill extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy3Kill(){
addFrameScript(36, frame37);
}
function frame37(){
stop();
}
}
}//package
Section 124
//mcEnemy3Shave (mcEnemy3Shave)
package {
import flash.display.*;
public dynamic class mcEnemy3Shave extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy3Shave(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package
Section 125
//mcEnemy3Stubble (mcEnemy3Stubble)
package {
import flash.display.*;
public dynamic class mcEnemy3Stubble extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy3Stubble(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package
Section 126
//mcEnemy4Beard (mcEnemy4Beard)
package {
import flash.display.*;
public dynamic class mcEnemy4Beard extends MovieClip {
public var hitBox:MovieClip;
}
}//package
Section 127
//mcEnemy4Fall (mcEnemy4Fall)
package {
import flash.display.*;
public dynamic class mcEnemy4Fall extends MovieClip {
public var blood:MovieClip;
public var spirt:MovieClip;
public function mcEnemy4Fall(){
addFrameScript(35, frame36);
}
function frame36(){
stop();
}
}
}//package
Section 128
//mcEnemy4Kill (mcEnemy4Kill)
package {
import flash.display.*;
public dynamic class mcEnemy4Kill extends MovieClip {
public var bird:MovieClip;
public var hitBox:MovieClip;
public var birdHead:MovieClip;
public var blood:MovieClip;
public function mcEnemy4Kill(){
addFrameScript(36, frame37);
}
function frame37(){
stop();
}
}
}//package
Section 129
//mcEnemy4Shave (mcEnemy4Shave)
package {
import flash.display.*;
public dynamic class mcEnemy4Shave extends MovieClip {
public var hitBox:MovieClip;
public var bird:MovieClip;
public function mcEnemy4Shave(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package
Section 130
//mcEnemy5Beard (mcEnemy5Beard)
package {
import flash.display.*;
public dynamic class mcEnemy5Beard extends MovieClip {
public var hitBox:MovieClip;
}
}//package
Section 131
//mcEnemy5Kill (mcEnemy5Kill)
package {
import flash.display.*;
public dynamic class mcEnemy5Kill extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy5Kill(){
addFrameScript(17, frame18);
}
function frame18(){
stop();
}
}
}//package
Section 132
//mcEnemy5Shave (mcEnemy5Shave)
package {
import flash.display.*;
public dynamic class mcEnemy5Shave extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy5Shave(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package
Section 133
//mcEnemy6Beard (mcEnemy6Beard)
package {
import flash.display.*;
public dynamic class mcEnemy6Beard extends MovieClip {
public var hitBox:MovieClip;
}
}//package
Section 134
//mcEnemy6Kill (mcEnemy6Kill)
package {
import flash.display.*;
public dynamic class mcEnemy6Kill extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy6Kill(){
addFrameScript(36, frame37);
}
function frame37(){
stop();
}
}
}//package
Section 135
//mcEnemy6Shave (mcEnemy6Shave)
package {
import flash.display.*;
public dynamic class mcEnemy6Shave extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy6Shave(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package
Section 136
//mcEnemy7Beard (mcEnemy7Beard)
package {
import flash.display.*;
public dynamic class mcEnemy7Beard extends MovieClip {
public var hitBox:MovieClip;
}
}//package
Section 137
//mcEnemy7Fall (mcEnemy7Fall)
package {
import flash.display.*;
public dynamic class mcEnemy7Fall extends MovieClip {
public function mcEnemy7Fall(){
addFrameScript(35, frame36);
}
function frame36(){
stop();
}
}
}//package
Section 138
//mcEnemy7Kill (mcEnemy7Kill)
package {
import flash.display.*;
public dynamic class mcEnemy7Kill extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy7Kill(){
addFrameScript(36, frame37);
}
function frame37(){
stop();
}
}
}//package
Section 139
//mcEnemy7Shave (mcEnemy7Shave)
package {
import flash.display.*;
public dynamic class mcEnemy7Shave extends MovieClip {
public var hitBox:MovieClip;
public function mcEnemy7Shave(){
addFrameScript(11, frame12);
}
function frame12(){
stop();
}
}
}//package
Section 140
//mcGameOver (mcGameOver)
package {
import flash.display.*;
import flash.text.*;
public dynamic class mcGameOver extends MovieClip {
public var submitButton:SimpleButton;
public var level:TextField;
public var barberHolder:MovieClip;
public var startAgainButton:SimpleButton;
public var score:TextField;
public var killed:TextField;
public var shorn:TextField;
public var rank:MovieClip;
public var gotoScoresButton:SimpleButton;
public var moreGamesButton:SimpleButton;
public function mcGameOver(){
addFrameScript(169, frame170);
}
function frame170(){
stop();
}
}
}//package
Section 141
//mcHair (mcHair)
package {
import flash.display.*;
public dynamic class mcHair extends MovieClip {
public var hair1:MovieClip;
public var hair2:MovieClip;
public var hair3:MovieClip;
public var hair4:MovieClip;
public var hair5:MovieClip;
public var hair6:MovieClip;
public var hair7:MovieClip;
public var hair8:MovieClip;
public var hair9:MovieClip;
}
}//package
Section 142
//mcHairMask (mcHairMask)
package {
import flash.display.*;
public dynamic class mcHairMask extends MovieClip {
}
}//package
Section 143
//mcHelp (mcHelp)
package {
import flash.display.*;
public dynamic class mcHelp extends MovieClip {
public var helpButton:SimpleButton;
}
}//package
Section 144
//mcHud (mcHud)
package {
import flash.display.*;
import flash.text.*;
public dynamic class mcHud extends MovieClip {
public var score:TextField;
public var level:TextField;
public var meter:MovieClip;
}
}//package
Section 145
//mcInARow (mcInARow)
package {
import flash.display.*;
public dynamic class mcInARow extends MovieClip {
public var inARow:MovieClip;
}
}//package
Section 146
//mcInARowBig (mcInARowBig)
package {
import flash.display.*;
public dynamic class mcInARowBig extends MovieClip {
public var inARow:MovieClip;
}
}//package
Section 147
//mcInstructions (mcInstructions)
package {
import flash.display.*;
public dynamic class mcInstructions extends MovieClip {
public var playButton:SimpleButton;
public var moreGamesButton:SimpleButton;
public function mcInstructions(){
addFrameScript(10, frame11, 21, frame22);
}
function frame11(){
stop();
}
function frame22(){
stop();
}
}
}//package
Section 148
//mcIntro (mcIntro)
package {
import flash.display.*;
public dynamic class mcIntro extends MovieClip {
public var skipButton:SimpleButton;
public function mcIntro(){
addFrameScript(74, frame75);
}
function frame75(){
stop();
}
}
}//package
Section 149
//mcLevels (mcLevels)
package {
import flash.display.*;
public dynamic class mcLevels extends MovieClip {
public var level:MovieClip;
}
}//package
Section 150
//mcLoad (mcLoad)
package {
import flash.display.*;
import flash.text.*;
public dynamic class mcLoad extends MovieClip {
public var percent:TextField;
}
}//package
Section 151
//mcMute (mcMute)
package {
import flash.display.*;
public dynamic class mcMute extends MovieClip {
public var onButton:SimpleButton;
public var offButton:SimpleButton;
}
}//package
Section 152
//mcPowerup (mcPowerup)
package {
import flash.display.*;
public dynamic class mcPowerup extends MovieClip {
public var attackBox:MovieClip;
}
}//package
Section 153
//mcPowerupOFF (mcPowerupOFF)
package {
import flash.display.*;
public dynamic class mcPowerupOFF extends MovieClip {
}
}//package
Section 154
//mcPowerupON (mcPowerupON)
package {
import flash.display.*;
public dynamic class mcPowerupON extends MovieClip {
public var hitBox:MovieClip;
}
}//package
Section 155
//mcSplatLarge (mcSplatLarge)
package {
import flash.display.*;
public dynamic class mcSplatLarge extends MovieClip {
}
}//package
Section 156
//mcSplatLargeTop (mcSplatLargeTop)
package {
import flash.display.*;
public dynamic class mcSplatLargeTop extends MovieClip {
}
}//package
Section 157
//mcSplatMedium (mcSplatMedium)
package {
import flash.display.*;
public dynamic class mcSplatMedium extends MovieClip {
}
}//package
Section 158
//mcSplatMediumTop (mcSplatMediumTop)
package {
import flash.display.*;
public dynamic class mcSplatMediumTop extends MovieClip {
}
}//package
Section 159
//mcSplatSmall (mcSplatSmall)
package {
import flash.display.*;
public dynamic class mcSplatSmall extends MovieClip {
}
}//package
Section 160
//mcSplatSmallTop (mcSplatSmallTop)
package {
import flash.display.*;
public dynamic class mcSplatSmallTop extends MovieClip {
}
}//package
Section 161
//mcStartMenu (mcStartMenu)
package {
import flash.display.*;
public dynamic class mcStartMenu extends MovieClip {
public var startButton:SimpleButton;
}
}//package
Section 162
//mcTitle (mcTitle)
package {
import flash.display.*;
public dynamic class mcTitle extends MovieClip {
public var playButton:SimpleButton;
public var loadBar:MovieClip;
public var moreGamesButton:SimpleButton;
public function mcTitle(){
addFrameScript(31, frame32);
}
function frame32(){
stop();
}
}
}//package
Section 163
//mcWhite (mcWhite)
package {
import flash.display.*;
public dynamic class mcWhite extends MovieClip {
}
}//package
Section 164
//MD5 (MD5)
package {
import com.adobe.utils.*;
public class MD5 {
public var _hash:String;
public function MD5(_arg1:String){
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
super();
var _local2 = 1732584193;
var _local3 = -271733879;
var _local4 = -1732584194;
var _local5 = 271733878;
var _local10:Array = createBlocks(_arg1);
var _local11:int = _local10.length;
var _local12:int;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
_hash = (((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5));
trace(("_hash: " + _hash));
}
public function init():String{
return (_hash);
}
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function createBlocks(_arg1:String):Array{
var _local2:Array = new Array();
var _local3:int = (_arg1.length * 8);
var _local4 = 0xFF;
var _local5:int;
while (_local5 < _local3) {
_local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
return (_local2);
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
}
}//package
Section 165
//Menu (Menu)
package {
import flash.display.*;
public class Menu extends Sprite {
protected var delegate:Delegate;
public var id:uint;
protected var sprite;
public function Menu(_arg1, _arg2:Delegate, _arg3:uint):void{
this.delegate = _arg2;
this.sprite = _arg1;
this.id = _arg3;
addChild(_arg1);
}
public function dealloc():void{
while (numChildren) {
removeChildAt(0);
};
}
public function pass(_arg1:Object):void{
}
}
}//package
Section 166
//MenuView (MenuView)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
public class MenuView extends Sprite {
private var library:LibraryLoader;
private var delegate:Delegate;
private var gameOverMenu;
private var menuID:uint;// = 0
private var menus:Array;
private var blackBars:BlackBars;
public function MenuView(_arg1:LibraryLoader, _arg2:Delegate):void{
menus = new Array();
super();
this.delegate = _arg2;
this.library = _arg1;
}
public function setMenu(_arg1:String):void{
var _local2:StartMenu;
var _local3:Title;
var _local4:Intro;
var _local5:Intro;
var _local6:GameOverMenu;
var _local7:LoadMenu;
var _local8:Instructions;
var _local9:IntroInstructions;
switch (_arg1){
case "start":
_local2 = new StartMenu(library.getObject("mcStartMenu"), delegate, menuID++);
menus.push(addChildAt(_local2, 0));
break;
case "title":
_local3 = new Title(library.getObject("mcTitle"), delegate, menuID++);
menus.push(addChildAt(_local3, 0));
break;
case "intro":
trace("INTRO");
_local4 = new Intro(library.getObject("mcIntro"), delegate, menuID++, addBlackBars());
menus.push(addChildAt(_local4, (getChildIndex(blackBars) + 1)));
break;
case "introFrom":
_local5 = new Intro(library.getObject("mcIntro"), delegate, menuID++, blackBars);
menus.push(addChildAt(_local5, (getChildIndex(blackBars) + 1)));
break;
case "game over":
_local6 = new GameOverMenu(library.getObject("mcGameOver"), delegate, menuID++, library, addBlackBars());
menus.push(addChildAt(_local6, 0));
break;
case "load":
_local7 = new LoadMenu(new mcLoad(), delegate, menuID++);
menus.push(addChildAt(_local7, 0));
break;
case "instructions":
_local8 = new Instructions(library.getObject("mcInstructions"), delegate, menuID++, addBlackBars());
menus.push(addChildAt(_local8, 0));
break;
case "introInstructions":
_local9 = new IntroInstructions(library.getObject("mcInstructions"), delegate, menuID++, addBlackBars());
menus.push(addChildAt(_local9, 0));
break;
};
}
public function removeMenu(_arg1:uint):void{
var _local2:int;
while (_local2 < menus.length) {
if (menus[_local2].id == _arg1){
menus[_local2].dealloc();
removeChild(menus[_local2]);
menus.splice(_local2, 1);
break;
};
_local2++;
};
}
public function closeBlackBars():void{
blackBars.close();
}
private function addBlackBars():BlackBars{
blackBars = new BlackBars(library.getObject("mcBlackBars"));
blackBars.addEventListener(BlackBars.COMPLETE, function (_arg1:Event):void{
removeBlackBars();
});
addChild(blackBars);
return (blackBars);
}
public function getMenu(){
return (menus[0]);
}
public function waitedForBlackBars(_arg1:String):void{
setMenu(_arg1);
}
public function pass(_arg1:Object):void{
var _local2:String;
for (_local2 in menus) {
menus[_local2].pass(_arg1);
};
}
public function holdFor(_arg1:String):void{
var type = _arg1;
blackBars.addEventListener(BlackBars.COMPLETE, function (_arg1:Event):void{
waitedForBlackBars("intro");
});
}
private function removeBlackBars():void{
blackBars.removeEventListener(BlackBars.COMPLETE, function (_arg1:Event):void{
removeBlackBars();
});
blackBars.dealloc();
removeChild(blackBars);
blackBars = null;
}
}
}//package
Section 167
//Meter (Meter)
package {
import flash.events.*;
import flash.display.*;
public class Meter extends Sprite {
private var meterAmount:Number;
private var imInvincible:Boolean;
private var sprite:MovieClip;
public var speed:Number;// = 0
private var holdMeter:Boolean;
private var frame:uint;
private var xml:Object;
private var state:String;
private var potential:Number;
public static const OUT_OF_TIME:String = "outOfTime";
public function Meter(_arg1:MovieClip, _arg2:Object):void{
this.xml = _arg2;
this.sprite = _arg1;
_arg1.gotoAndStop(1);
}
public function set invincible(_arg1:Boolean):void{
imInvincible = _arg1;
}
public function enterFrame():void{
if (((holdMeter) || (imInvincible))){
return;
};
var _local1:Number = ((sprite.totalFrames / xml.config.game.meterDuration) / xml.config.game.fps);
meterAmount = (meterAmount + _local1);
meterAmount = (meterAmount + ((_local1 * (Number((speed - xml.config.game.minSpeed)) / xml.config.game.minSpeed)) * xml.config.game.timerMultiplier));
potential = (potential + ((meterAmount - potential) * 0.2));
sprite.gotoAndStop(Math.floor(potential));
if (potential >= sprite.totalFrames){
dispatchEvent(new Event(OUT_OF_TIME));
holdMeter = true;
};
if (state == "kill"){
if ((meterAmount - potential) > 1){
sprite.solid.visible = 0;
sprite.stripes.visible = 1;
} else {
sprite.solid.visible = 1;
sprite.stripes.visible = 0;
state = null;
};
};
frame = sprite.stripes.currentFrame;
frame = (frame % sprite.stripes.totalFrames);
sprite.stripes.gotoAndStop((frame + 1));
}
public function reset():void{
meterAmount = 0;
potential = 1;
state = null;
sprite.solid.visible = 1;
sprite.stripes.visible = 0;
}
public function set hold(_arg1:Boolean):void{
holdMeter = _arg1;
}
public function timerPercent():Boolean{
return (((100 - ((100 / sprite.totalFrames) * meterAmount)) <= xml.config.game.meterWarningPecentage));
}
public function addTime(_arg1:Number, _arg2:String):void{
if (_arg2 == "kill"){
state = _arg2;
};
meterAmount = (meterAmount - ((sprite.totalFrames / xml.config.game.meterDuration) * _arg1));
meterAmount = Math.max(Math.min(meterAmount, sprite.totalFrames), 0);
}
}
}//package
Section 168
//Mute (Mute)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
public class Mute extends Sprite {
public static const MUTE:String = "mute";
public static const UNMUTE:String = "unmute";
public function Mute(_arg1:LibraryLoader, _arg2:TapePlayer):void{
var muteSprite:*;
var library = _arg1;
var tapePlayer = _arg2;
super();
muteSprite = library.getObject("mcMute");
addChild(muteSprite);
muteSprite.gotoAndStop(1);
muteSprite.onButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
mute(true, muteSprite, tapePlayer);
});
muteSprite.onButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
tapePlayer.play("sndRollOver", false, 100, 0);
});
muteSprite.offButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
mute(false, muteSprite, tapePlayer);
});
muteSprite.offButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
tapePlayer.play("sndPress", false, 100, 0);
});
}
private function mute(_arg1:Boolean, _arg2:MovieClip, _arg3:TapePlayer):void{
if (_arg1){
_arg2.gotoAndStop("off");
_arg3.mute(true);
} else {
if (!_arg1){
_arg2.gotoAndStop("on");
_arg3.mute(false);
};
};
}
}
}//package
Section 169
//OnScreenDisplay (OnScreenDisplay)
package {
import flash.events.*;
import flash.display.*;
public class OnScreenDisplay extends Sprite {
protected var sprite;
public var type:String;
public static const COMPLETE:String = "complete";
public function OnScreenDisplay():void{
addEventListener(Event.ENTER_FRAME, enterFrame);
}
public function dealloc():void{
removeEventListener(Event.ENTER_FRAME, enterFrame);
while (numChildren) {
removeChildAt(0);
};
sprite = null;
}
public function enterFrame(_arg1:Event):void{
if (sprite.currentFrame == sprite.totalFrames){
dispatchEvent(new Event(COMPLETE));
};
}
}
}//package
Section 170
//Powerup (Powerup)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
public class Powerup extends Sprite {
private var barber:Barber;
private var sprite;
private var step:Number;// = 0
private var duration:uint;
private var warning:uint;
private var colourPack:ColourPack;
public static const REMOVE:String = "remove";
public function Powerup(_arg1:LibraryLoader, _arg2:uint, _arg3:uint, _arg4:Barber):void{
this.duration = _arg2;
this.warning = _arg3;
this.barber = _arg4;
sprite = _arg1.getObject("mcPowerup");
addChild(sprite);
}
public function update():void{
if (sprite.currentFrame == 1){
step = (Math.PI * 0.5);
} else {
step = (step - 0.25);
};
var _local1:* = (Math.cos(step) * 75);
var _local2:* = (Math.sin(step) * 75);
sprite.attackBox.y = _local1;
sprite.attackBox.x = _local2;
if ((((duration <= warning)) && (!(colourPack)))){
colourPack = new ColourPack();
colourPack.blink(sprite);
} else {
if ((((duration > warning)) && (colourPack))){
colourPack.dealloc();
colourPack = null;
};
};
if (duration-- == 0){
dispatchEvent(new Event(REMOVE));
};
}
public function resetTime(_arg1:uint):void{
this.duration = _arg1;
}
public function dealloc():void{
while (numChildren) {
removeChildAt(0);
};
sprite = null;
colourPack.dealloc();
colourPack = null;
}
public function getCoords(_arg1:uint, _arg2:uint):Object{
return ({x:((_arg1 + this.x) + sprite.attackBox.x), y:((_arg2 + this.y) + sprite.attackBox.y), width:sprite.attackBox.width, height:sprite.attackBox.height});
}
}
}//package
Section 171
//PowerupPill (PowerupPill)
package {
import flash.events.*;
import flash.display.*;
import Bulletproofbaby.utils.*;
public class PowerupPill extends Sprite {
public var spriteWidth:uint;
public var sprite;
public var spriteHeight:uint;
public var layer:String;
private var guides:Boolean;
public var type:String;// = "powerup"
private var library:LibraryLoader;
public static const COLLECTED:String = "collected";
public static const REMOVE:String = "remove";
public function PowerupPill(_arg1:LibraryLoader, _arg2:Boolean):void{
this.library = _arg1;
sprite = _arg1.getObject("mcPowerupON");
addChild(sprite);
spriteWidth = sprite.width;
spriteHeight = sprite.height;
}
public function dealloc():void{
while (numChildren) {
removeChildAt(0);
};
sprite = null;
}
public function updatePosition(_arg1:Number, _arg2:Number):void{
this.x = (this.x - _arg1);
this.y = (this.y - _arg2);
if (sprite){
if (sprite.hitBox){
sprite.hitBox.alpha = guides;
};
};
if ((((this.x < (-(spriteWidth) / 2))) || ((((sprite.currentFrame > 1)) && ((sprite.currentFrame == sprite.totalFrames)))))){
dispatchEvent(new Event(REMOVE));
};
}
public function hitWith(_arg1:String):void{
while (numChildren) {
removeChildAt(0);
};
sprite = library.getObject("mcPowerupOFF");
addChild(sprite);
dispatchEvent(new Event(COLLECTED));
}
}
}//package
Section 172
//PublicVars (PublicVars)
package {
import flash.net.*;
public class PublicVars {
private var TRACK_START_GAME:String;// = "http://www.adultswim.com?cid=GAME_Ext_"
private var TRACK_STARTSCREEN_HOME:String;// = "http://www.adultswim.com?cid=GAME_Ext_"
public var strDomain:String;
private var TRACK_ADULTSWIM:String;// = "http://www.adultswim.com?cid=GAME_Ext_"
private var TRACK_HIGHSCORES:String;
private var TRACK_GAME_MORE:String;// = "http://www.adultswim.com/games/index.html?cid=GAME_Ext_"
private var TRACK_ENDSCREEN_HS:String;// = "http://www.adultswim.com?cid=GAME_Ext_"
private static const gameID:uint = 999;
public static const PLAY_MORE_GAMES:String = "http://www.adultswim.com";
public static const LEADERBOARD:String = "http://www.adultswim.com";
private static const gameName:String = "barber";
public static const ADULTSWIM:String = "http://www.adultswim.com";
public function PublicVars():void{
var _local1:LocalConnection = new LocalConnection();
strDomain = new LocalConnection().domain;
TRACK_HIGHSCORES = (("http://highscores.adultswim.com/highscores/index.jsp?game=" + gameID) + "&cid=GAME_Ext_");
}
public function getTrackingURL(_arg1:String):String{
switch (_arg1){
case "_adultswim":
return (((((TRACK_ADULTSWIM + gameName) + "_") + strDomain) + "_adultswim"));
case "_game_more":
return (((((TRACK_GAME_MORE + gameName) + "_") + strDomain) + "_game_more"));
case "_startGame":
return (((((TRACK_START_GAME + gameName) + "_") + strDomain) + "_startGame"));
case "_highScores":
return (((((TRACK_HIGHSCORES + gameName) + "_") + strDomain) + "_highScores"));
case "_endScreen_hs":
return (((((TRACK_ENDSCREEN_HS + gameName) + "_") + strDomain) + "_endScreen"));
case "_startScreen_home":
return (((((TRACK_STARTSCREEN_HOME + gameName) + "_") + strDomain) + "_startScreen_home"));
};
return (null);
}
}
}//package
Section 173
//Score (Score)
package {
import flash.text.*;
public class Score {
private var score:Number;
private var sprite:TextField;
public function Score(_arg1:TextField):void{
this.sprite = _arg1;
}
public function addPoints(_arg1:Number):void{
score = (score + _arg1);
score = Math.max(score, 0);
sprite.text = score.toString();
}
public function getScore():uint{
return (score);
}
public function reset():void{
score = 0;
addPoints(0);
}
}
}//package
Section 174
//sndBirds (sndBirds)
package {
import flash.media.*;
public dynamic class sndBirds extends Sound {
}
}//package
Section 175
//sndEnemyChop0 (sndEnemyChop0)
package {
import flash.media.*;
public dynamic class sndEnemyChop0 extends Sound {
}
}//package
Section 176
//sndEnemyChop1 (sndEnemyChop1)
package {
import flash.media.*;
public dynamic class sndEnemyChop1 extends Sound {
}
}//package
Section 177
//sndEnemyChop2 (sndEnemyChop2)
package {
import flash.media.*;
public dynamic class sndEnemyChop2 extends Sound {
}
}//package
Section 178
//sndEnemyChop3 (sndEnemyChop3)
package {
import flash.media.*;
public dynamic class sndEnemyChop3 extends Sound {
}
}//package
Section 179
//sndEnemyChop4 (sndEnemyChop4)
package {
import flash.media.*;
public dynamic class sndEnemyChop4 extends Sound {
}
}//package
Section 180
//sndEnemyChop5 (sndEnemyChop5)
package {
import flash.media.*;
public dynamic class sndEnemyChop5 extends Sound {
}
}//package
Section 181
//sndEnemyMiss (sndEnemyMiss)
package {
import flash.media.*;
public dynamic class sndEnemyMiss extends Sound {
}
}//package
Section 182
//sndGameOver (sndGameOver)
package {
import flash.media.*;
public dynamic class sndGameOver extends Sound {
}
}//package
Section 183
//sndGameStart (sndGameStart)
package {
import flash.media.*;
public dynamic class sndGameStart extends Sound {
}
}//package
Section 184
//sndGrabRazor (sndGrabRazor)
package {
import flash.media.*;
public dynamic class sndGrabRazor extends Sound {
}
}//package
Section 185
//sndHonk (sndHonk)
package {
import flash.media.*;
public dynamic class sndHonk extends Sound {
}
}//package
Section 186
//sndInARow (sndInARow)
package {
import flash.media.*;
public dynamic class sndInARow extends Sound {
}
}//package
Section 187
//sndMenuMusic (sndMenuMusic)
package {
import flash.media.*;
public dynamic class sndMenuMusic extends Sound {
}
}//package
Section 188
//sndMissed0 (sndMissed0)
package {
import flash.media.*;
public dynamic class sndMissed0 extends Sound {
}
}//package
Section 189
//sndMissed1 (sndMissed1)
package {
import flash.media.*;
public dynamic class sndMissed1 extends Sound {
}
}//package
Section 190
//sndMissed2 (sndMissed2)
package {
import flash.media.*;
public dynamic class sndMissed2 extends Sound {
}
}//package
Section 191
//sndMissed3 (sndMissed3)
package {
import flash.media.*;
public dynamic class sndMissed3 extends Sound {
}
}//package
Section 192
//sndMissed4 (sndMissed4)
package {
import flash.media.*;
public dynamic class sndMissed4 extends Sound {
}
}//package
Section 193
//sndMissed5 (sndMissed5)
package {
import flash.media.*;
public dynamic class sndMissed5 extends Sound {
}
}//package
Section 194
//sndMusic1 (sndMusic1)
package {
import flash.media.*;
public dynamic class sndMusic1 extends Sound {
}
}//package
Section 195
//sndPapaShave (sndPapaShave)
package {
import flash.media.*;
public dynamic class sndPapaShave extends Sound {
}
}//package
Section 196
//sndPress (sndPress)
package {
import flash.media.*;
public dynamic class sndPress extends Sound {
}
}//package
Section 197
//sndRazorShave (sndRazorShave)
package {
import flash.media.*;
public dynamic class sndRazorShave extends Sound {
}
}//package
Section 198
//sndRollOver (sndRollOver)
package {
import flash.media.*;
public dynamic class sndRollOver extends Sound {
}
}//package
Section 199
//sndTimer (sndTimer)
package {
import flash.media.*;
public dynamic class sndTimer extends Sound {
}
}//package
Section 200
//sndTinyBirdShave (sndTinyBirdShave)
package {
import flash.media.*;
public dynamic class sndTinyBirdShave extends Sound {
}
}//package
Section 201
//Splat (Splat)
package {
import Bulletproofbaby.utils.*;
public class Splat extends OnScreenDisplay {
public function Splat(_arg1:LibraryLoader, _arg2:String):void{
sprite = _arg1.getObject(_arg2);
addChild(sprite);
}
}
}//package
Section 202
//StartMenu (StartMenu)
package {
import flash.events.*;
public class StartMenu extends Menu {
public function StartMenu(_arg1, _arg2:Delegate, _arg3:uint):void{
var sprite = _arg1;
var delegate = _arg2;
var id = _arg3;
super(sprite, delegate, id);
sprite.startButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.startIntro(id);
});
sprite.startButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.startButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
}
override public function dealloc():void{
sprite.startButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.startIntro(id);
});
sprite.startButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.startButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
super.dealloc();
}
}
}//package
Section 203
//Title (Title)
package {
import flash.events.*;
public class Title extends Menu {
public var state:String;// = "loading"
private var blackBars:BlackBars;
public function Title(_arg1, _arg2:Delegate, _arg3:uint, _arg4:BlackBars=null):void{
var sprite = _arg1;
var delegate = _arg2;
var id = _arg3;
var blackBars = _arg4;
this.blackBars = blackBars;
super(sprite, delegate, id);
addEventListener(Event.ENTER_FRAME, enterFrame);
sprite.playButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
go();
});
sprite.playButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.playButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.moreGamesButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.openURL("playMoreGames");
});
sprite.moreGamesButton.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.moreGamesButton.addEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
}
override public function dealloc():void{
removeEventListener(Event.ENTER_FRAME, enterFrame);
super.dealloc();
}
private function enterFrame(_arg1:Event):void{
if (state == "toButton"){
sprite.gotoAndStop(33);
};
if (sprite.totalFrames == sprite.currentFrame){
delegate.toIntro(id);
};
}
private function go():void{
sprite.play();
state = null;
removeListeners();
}
public function fill():void{
sprite.loadBar.gotoAndStop(11);
}
private function removeListeners():void{
sprite.playButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.playButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.playButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
go();
});
sprite.moreGamesButton.removeEventListener(MouseEvent.MOUSE_OVER, function (_arg1:Event){
delegate.playSound("sndRollOver");
});
sprite.moreGamesButton.removeEventListener(MouseEvent.MOUSE_DOWN, function (_arg1:Event){
delegate.playSound("sndPress");
});
sprite.moreGamesButton.removeEventListener(MouseEvent.MOUSE_UP, function (_arg1:Event){
delegate.openURL("playMoreGames");
});
}
public function toButton():void{
state = "toButton";
}
}
}//package
Section 204
//XMLGubbins (XMLGubbins)
package {
public class XMLGubbins {
public var xml:Object;
public function XMLGubbins():void{
xml = new Object();
super();
xml.config = <config>
<game>
<skipIntro>false</skipIntro>
<guides>false</guides>
<fps>30</fps>
<invincible>false</invincible>
<maxSpeed>10</maxSpeed>
<minSpeed>10</minSpeed>
<meterDuration>9</meterDuration>
<hairSteps>10,20</hairSteps>
<thereafter>20</thereafter>
<hairGrowth>24</hairGrowth>
<meterWarningPecentage>25</meterWarningPecentage>
<ambientSoundIntervalMin>5</ambientSoundIntervalMin>
<ambientSoundIntervalMax>10</ambientSoundIntervalMax>
<landOrder>Curvy,Curve,Cloud,Wave,Plateau,Pointy</landOrder>
<backOrder>Teal,Magenta,Green,Yellow,Grey</backOrder>
<crossFadeDuration>2</crossFadeDuration>
<changeInterval>29</changeInterval>
<rank>0,50000,75000,150000,1000000</rank>
<powerupIntervalMin>0</powerupIntervalMin>
<powerupIntervalMax>0</powerupIntervalMax>
<powerupDuration>5</powerupDuration>
<powerupWarningTime>2</powerupWarningTime>
<timerMultiplier>0.5</timerMultiplier>
<inARowBonus>10000</inARowBonus>
</game>
<enemies>
<Enemy1SplatScale>Medium</Enemy1SplatScale>
<Enemy2SplatScale>Small</Enemy2SplatScale>
<Enemy3SplatScale>Large</Enemy3SplatScale>
<Enemy4SplatScale>Small</Enemy4SplatScale>
<Enemy5SplatScale>Medium</Enemy5SplatScale>
<Enemy6SplatScale>Large</Enemy6SplatScale>
<Enemy7SplatScale>Small</Enemy7SplatScale>
<Enemy1ShaveTimeBonus>.75</Enemy1ShaveTimeBonus> <!-- little man -->
<Enemy2ShaveTimeBonus>.75</Enemy2ShaveTimeBonus> <!-- flower -->
<Enemy3ShaveTimeBonus>.75</Enemy3ShaveTimeBonus> <!-- beard papa -->
<Enemy4ShaveTimeBonus>.75</Enemy4ShaveTimeBonus> <!-- bird -->
<Enemy5ShaveTimeBonus>1.25</Enemy5ShaveTimeBonus> <!-- cloud -->
<Enemy6ShaveTimeBonus>1.25</Enemy6ShaveTimeBonus> <!-- sun -->
<Enemy7ShaveTimeBonus>12</Enemy7ShaveTimeBonus> <!-- fastbird -->
<Enemy1ChopTimePenalty>-2,-2,-2,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-4</Enemy1ChopTimePenalty> <!-- little man -->
<Enemy2ChopTimePenalty>-1,-1,-1.5,-1.5,-1.5,-1.5,-1.5,-1.5,-1.5,-1.5,-1.5,-1.5,-3</Enemy2ChopTimePenalty> <!-- flower -->
<Enemy3ChopTimePenalty>-1,-1,-1.5,-2,-2,-2,-2,-2,-2,-2,-2,-2,-4</Enemy3ChopTimePenalty> <!-- beard papa -->
<Enemy4ChopTimePenalty>-1,-1.5,-1.5,-2,-2,-2,-2,-2,-2,-2,-2,-2,-4</Enemy4ChopTimePenalty> <!-- bird -->
<Enemy5ChopTimePenalty>-2,-2,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-4</Enemy5ChopTimePenalty> <!-- cloud -->
<Enemy6ChopTimePenalty>-2,-2,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-4</Enemy6ChopTimePenalty> <!-- sun -->
<Enemy7ChopTimePenalty>-0,-0,-0,-0</Enemy7ChopTimePenalty> <!-- fastbird -->
<Enemy1MissTimePenalty>-1,-1,-2,-2,-3,-3</Enemy1MissTimePenalty> <!-- little man -->
<Enemy2MissTimePenalty>-.5,-.5,-1,-1.5,-2,-2.5</Enemy2MissTimePenalty> <!-- flower -->
<Enemy3MissTimePenalty>-1,-1,-2,-2</Enemy3MissTimePenalty> <!-- beard papa -->
<Enemy4MissTimePenalty>-1,-1,-1,-1.5,-2,-2,-2.5</Enemy4MissTimePenalty> <!-- bird -->
<Enemy5MissTimePenalty>-1,-1,-2,-2,-2.5</Enemy5MissTimePenalty> <!-- cloud -->
<Enemy6MissTimePenalty>-1,-1,-2,-2,-2.5,-2.5</Enemy6MissTimePenalty> <!-- sun -->
<Enemy7MissTimePenalty>-0,-0</Enemy7MissTimePenalty> <!-- fastbird -->
<Enemy1HairWorth>1</Enemy1HairWorth>
<Enemy2HairWorth>.5</Enemy2HairWorth>
<Enemy3HairWorth>1</Enemy3HairWorth>
<Enemy4HairWorth>1</Enemy4HairWorth>
<Enemy5HairWorth>1</Enemy5HairWorth>
<Enemy6HairWorth>1</Enemy6HairWorth>
<Enemy7HairWorth>2</Enemy7HairWorth>
<Enemy1ShavePoints>100</Enemy1ShavePoints>
<Enemy2ShavePoints>100</Enemy2ShavePoints>
<Enemy3ShavePoints>100</Enemy3ShavePoints>
<Enemy4ShavePoints>100</Enemy4ShavePoints>
<Enemy5ShavePoints>100</Enemy5ShavePoints>
<Enemy6ShavePoints>100</Enemy6ShavePoints>
<Enemy7ShavePoints>10000</Enemy7ShavePoints>
<Enemy1ChopPoints>-50</Enemy1ChopPoints>
<Enemy2ChopPoints>-50</Enemy2ChopPoints>
<Enemy3ChopPoints>-50</Enemy3ChopPoints>
<Enemy4ChopPoints>-50</Enemy4ChopPoints>
<Enemy5ChopPoints>-50</Enemy5ChopPoints>
<Enemy6ChopPoints>-50</Enemy6ChopPoints>
<Enemy7ChopPoints>10000</Enemy7ChopPoints>
<Enemy1MissedPoints>-50</Enemy1MissedPoints>
<Enemy2MissedPoints>-50</Enemy2MissedPoints>
<Enemy3MissedPoints>-50</Enemy3MissedPoints>
<Enemy4MissedPoints>-50</Enemy4MissedPoints>
<Enemy5MissedPoints>-50</Enemy5MissedPoints>
<Enemy6MissedPoints>-50</Enemy6MissedPoints>
<Enemy7MissedPoints>0</Enemy7MissedPoints>
</enemies>
</config>
;
xml.level = <level>
<script>
<example>[name (will correspond to xml)], [time (seconds)], [speed (pixels per frame)], [y (pixel) ignored if not relevant], [x (pixel) ignored if not relevant], [amount in formation], [mirrored], [layer (back, or front)] </example>
<wave1_000>standStillMini,1,0,300,0,1,false,front</wave1_000>
<wave1_001>standStillMini,1,0,450,0,1,false,front</wave1_001>
<wave1_001c>standStillMini,.3,0,450,0,1,false,front</wave1_001c>
<wave1_013e>growOnCurveMen,1.5,0,0,0,7,false,front</wave1_013e>
<wave1_007>standStill,2,0,340,0,1,false,front</wave1_007>
<wave1_007b>standStill,.6,0,340,0,1,false,front</wave1_007b>
<wave1_007c>standStill,.6,0,340,0,1,false,front</wave1_007c>
<wave1_004b>sunrise,.5,0,150,1050,1,false,back</wave1_004b>
<wave1_009>standStillMini,.5,0,320,0,1,false,front</wave1_009>
<wave1_010>standStillMini,.5,0,400,0,1,false,front</wave1_010>
<wave1_011>standStillMini,.5,0,380,0,1,false,front</wave1_011>
<wave1_012>standStillMini,.5,0,410,0,1,false,front</wave1_012>
<wave1_014>standStillMini,.5,0,350,0,1,false,front</wave1_014>
<wave1_015>standStillMini,.5,0,420,0,1,false,front</wave1_015>
<wave1_016>standStillMini,.5,0,370,0,1,false,front</wave1_016>
<wave1_016b>floatAcross,0,12,215,0,1,false,front</wave1_016b>
<wave1_017>standStillMini,.5,0,415,0,1,false,front</wave1_017>
<wave1_014b>floatAcross,0,14,165,0,1,false,front</wave1_014b>
<wave1_018>standStillMini,.5,0,350,0,1,false,front</wave1_018>
<wave1_018a>standStillMini,.5,0,450,0,1,false,front</wave1_018a>
<wave1_018b>floatAcross,0,12,185,0,1,false,front</wave1_018b>
<wave1_003>fallNoWalk,0,0,380,880,1,false,front</wave1_003>
<wave1_004>fallNoWalk,.5,0,450,860,1,false,front</wave1_004>
<wave1_004c>fallNoWalk,.5,0,400,930,1,false,front</wave1_004c>
<wave1_018c>standStillMini,0,0,330,0,1,false,front</wave1_018c>
<wave1_004d>fallNoWalk,1,0,320,820,1,false,front</wave1_004d>
<wave1_005>standStill,.5,0,390,0,1,false,front</wave1_005>
<wave1_005c>fallNoWalk,.5,0,350,800,1,false,front</wave1_005c>
<wave1_006>standStill,1,0,440,0,1,false,front</wave1_006>
<wave1_006b>standStill,.6,0,440,0,1,false,front</wave1_006b>
<wave1_021>fallNoWalk,1.5,0,380,760,1,false,front</wave1_021>
<wave1_022>fallNoWalk,.5,0,450,860,1,false,front</wave1_022>
<wave1_023>fallNoWalk,.5,0,400,930,1,false,front</wave1_023>
<wave1_024>fallNoWalk,.5,0,320,850,1,false,front</wave1_024>
<wave1_026>fallNoWalk,.5,0,380,760,1,false,front</wave1_026>
<wave1_027>fallNoWalk,.5,0,450,860,1,false,front</wave1_027>
<wave1_028>fallNoWalk,.5,0,400,930,1,false,front</wave1_028>
<wave1_029>standStill,1.5,0,360,0,1,false,front</wave1_029>
<wave1_030>standStill,.5,0,330,0,1,false,front</wave1_030>
<wave1_031>standStill,.5,0,360,0,1,false,front</wave1_031>
<wave1_032>standStill,.5,0,390,0,1,false,front</wave1_032>
<wave1_032b>standStill,.5,0,360,0,1,false,front</wave1_032b>
<wave1_033>growOnCurveMen,1,0,0,0,7,false,front</wave1_033>
<wave1_034>standStillMini,.5,0,350,0,1,false,front</wave1_034>
<wave1_035>standStillMini,.5,0,420,0,1,false,front</wave1_035>
<wave1_036>standStillMini,.5,0,370,0,1,false,front</wave1_036>
<wave1_037>standStillMini,.5,0,415,0,1,false,front</wave1_037>
<wave1_038>standStillMini,.5,0,350,0,1,false,front</wave1_038>
<wave1_040>standStillMini,.5,0,370,0,1,false,front</wave1_040>
<wave1_041>standStillMini,.5,0,415,0,1,false,front</wave1_041>
<wave1_043>standStillMini,.5,0,370,0,1,false,front</wave1_043>
<wave1_044>standStillMini,.5,0,415,0,1,false,front</wave1_044>
<wave1_045>fallWalkBig,1.5,0,450,890,1,false,front</wave1_045>
<wave2_000>wave,2,1,190,0,3,false,front</wave2_000>
<wave2_001>wave,1,2,260,0,1,false,front</wave2_001>
<wave2_002>wave,.5,1,340,0,3,false,front</wave2_002>
<wave2_003>wave,1,2,260,0,1,false,front</wave2_003>
<wave2_003a>wave,.5,1,190,0,3,false,front</wave2_003a>
<wave2_003b>wave,1,2,260,0,1,false,front</wave2_003b>
<wave2_004>tinyFly,1,19,150,0,1,false,front</wave2_004>
<wave2_005>arcUp,1,1,400,0,4,false,front</wave2_005>
<wave2_006>arcDown,1,1,200,0,4,false,front</wave2_006>
<wave2_006a>arcUp,1,1,400,0,12,false,front</wave2_006a>
<wave2_006b>arcDown,.5,1,200,0,12,false,front</wave2_006b>
<wave2_007>wave,4,1,210,0,3,false,front</wave2_007>
<wave2_007a>wave,1,2,290,0,1,false,front</wave2_007a>
<wave2_008>wave,.5,1,350,0,3,false,front</wave2_008>
<wave2_009>orbitB,0,0,150,0,1,false,back</wave2_009>
<wave2_005b>growOnCurve,1,0,0,0,9,false,front</wave2_005b>
<wave2_010>waveFaster,2,1,360,0,3,false,front</wave2_010>
<wave2_011>waveFaster,1,1,240,0,3,false,front</wave2_011>
<wave2_013>laneChangeUp,1,1,250,0,1,false,front</wave2_013>
<wave2_014>laneChangeDown,.5,1,312,0,1,false,front</wave2_014>
<wave2_015>laneChangeUp,.5,1,312,0,1,false,front</wave2_015>
<wave2_014a>laneChangeDown,.5,1,312,0,1,false,front</wave2_014a>
<wave2_005z>arcUp,1.5,1,400,0,4,false,front</wave2_005z>
<wave2_017az>arcUp,.5,2,550,0,2,false,front</wave2_017az>
<wave2_018az>arcUp2,.5,1,550,0,2,false,front</wave2_018az>
<wave2_019az>arcUp3,1,1,550,0,2,false,front</wave2_019az>
<wave2_020az>arcUp4,.5,1,550,0,2,false,front</wave2_020az>
<wave2_023z>arcDown6,1,1,0,0,2,false,front</wave2_023z>
<wave2_022az>arcDown2,1,1,0,300,2,false,front</wave2_022az>
<wave2_023az>arcDown6,.5,1,0,120,3,false,front</wave2_023az>
<wave2_023azz>arcDown,.5,1,0,120,3,false,front</wave2_023azz>
<wave3_000>floatAcross,1,0,135,0,1,false,front</wave3_000>
<wave3_000b>floatAcross,.5,2,335,0,1,false,front</wave3_000b>
<wave3_000c>floatAcross,1,0,265,0,1,false,front</wave3_000c>
<wave3_007z>floatAcross,0,1,305,0,1,false,front</wave3_007z>
<wave3_000d>floatAcross,.5,0,400,0,1,false,front</wave3_000d>
<wave3_004>floatAcross,.5,1,325,0,1,false,front</wave3_004>
<wave3_004c>floatAcross,.5,1,135,0,1,false,front</wave3_004c>
<zwave3_018>floatAcross,0,0,265,0,1,false,front</zwave3_018>
<wave3_004b>floatAcross,0,2,450,0,1,false,front</wave3_004b>
<zwave3_015>floatAcross,.5,1,425,0,1,false,front</zwave3_015>
<wave3_006z>floatAcross,0,2,345,0,1,false,front</wave3_006z>
<wave3_000cz>floatAcross,0,1,265,0,1,false,front</wave3_000cz>
<wave3_001>floatAcross,1.5,0,375,0,1,false,front</wave3_001>
<wave3_002>floatAcross,.5,1,205,0,1,false,front</wave3_002>
<wave3_005>floatAcross,.5,2,175,0,1,false,front</wave3_005>
<wave3_006>floatAcross,.5,0,365,0,1,false,front</wave3_006>
<wave3_007>floatAcross,0,1,305,0,1,false,front</wave3_007>
<wave3_008>floatAcross,.5,0,425,0,1,false,front</wave3_008>
<wave3_009>floatAcross,.5,2,305,0,1,false,front</wave3_009>
<wave3_000dz>floatAcross,0,1,400,0,1,false,front</wave3_000dz>
<wave3_011>floatAcross,0,1,155,0,1,false,front</wave3_011>
<wave3_100>floatAcross,1,2,120,0,1,false,front</wave3_100>
<wave3_101>floatAcross,.5,3,140,0,1,false,front</wave3_101>
<wave3_103>floatAcross,.5,2,240,0,1,false,front</wave3_103>
<wave3_102>floatAcross,0,4,190,0,1,false,front</wave3_102>
<wave3_104>floatAcross,0,3,290,0,1,false,front</wave3_104>
<wave3_105>floatAcross,.3,2,90,0,1,false,front</wave3_105>
<wave3_106>floatAcross,0,4,140,0,1,false,front</wave3_106>
<wave3_107>floatAcross,0,3,240,0,1,false,front</wave3_107>
<wave3_108>floatAcross,.5,4,180,0,1,false,front</wave3_108>
<wave3_109>floatAcross,0,2,200,0,1,false,front</wave3_109>
<wave3_016>sunrise,1,0,150,1050,1,false,back</wave3_016>
<wave3_200>floatAcross,0,2,390,0,1,false,front</wave3_200>
<wave3_201>floatAcross,1,3,440,0,1,false,front</wave3_201>
<wave3_104x>floatAcross,.5,5,180,0,1,false,front</wave3_104x>
<wave3_105x>floatAcross,.4,10,210,0,1,false,front</wave3_105x>
<wave3_203>floatAcross,0,6,340,0,1,false,front</wave3_203>
<wave3_202>floatAcross,.5,5,290,0,1,false,front</wave3_202>
<wave3_204>floatAcross,0,4,450,0,1,false,front</wave3_204>
<wave3_205>floatAcross,.5,7,390,0,1,false,front</wave3_205>
<wave3_206>floatAcross,0,5,340,0,1,false,front</wave3_206>
<wave3_207>floatAcross,0,8,290,0,1,false,front</wave3_207>
<wave3_208>floatAcross,.5,7,370,0,1,false,front</wave3_208>
<wave3_209>floatAcross,0,9,400,0,1,false,front</wave3_209>
<wave3_210>floatAcross,.25,7,450,0,1,false,front</wave3_210>
<wave3_211>floatAcross,.5,10,410,0,1,false,front</wave3_211>
<wave3_014>floatAcross,1,6,385,0,1,false,front</wave3_014>
<wave3_015>floatAcross,.5,8,445,0,1,false,front</wave3_015>
<wave3_009z>floatAcross,0,5,305,0,1,false,front</wave3_009z>
<zwave3_014>floatAcross,0,7,385,0,1,false,front</zwave3_014>
<wave3_018>floatAcross,.5,10,265,0,1,false,front</wave3_018>
<wave3_019>floatAcross,.5,5,325,0,1,false,front</wave3_019>
<wave3_012z>floatAcross,0,4,145,0,1,false,front</wave3_012z>
<wave3_020>floatAcross,.5,9,375,0,1,false,front</wave3_020>
<wave3_021>floatAcross,0,7,425,0,1,false,front</wave3_021>
<wave3_000z>floatAcross,1,10,135,0,1,false,front</wave3_000z>
<wave3_010z>floatAcross,0,6,190,0,1,false,front</wave3_010z>
<wave3_004z>floatAcross,1.5,5,325,0,1,false,front</wave3_004z>
<wave3_004zz>floatAcross,.5,8,295,0,1,false,front</wave3_004zz>
<wave3_004bz>floatAcross,0,6,450,0,1,false,front</wave3_004bz>
<wave3_000bz>floatAcross,1,9,335,0,1,false,front</wave3_000bz>
<wave3_000czz>floatAcross,.5,6,195,0,1,false,front</wave3_000czz>
<wave3_008z>floatAcross,0,4,425,0,1,false,front</wave3_008z>
<wave3_001z>floatAcross,1,10,375,0,1,false,front</wave3_001z>
<wave3_011z>floatAcross,0,8,150,0,1,false,front</wave3_011z>
<wave3_002z>floatAcross,.5,7,205,0,1,false,front</wave3_002z>
<wave3_002zz>floatAcross,.5,12,305,0,1,false,front</wave3_002zz>
<wave3_005z>floatAcross,1,8,205,0,1,false,front</wave3_005z>
<wave3_011z>floatAcross,1,6,150,0,1,false,front</wave3_011z>
<wave4_000>fallWalk,2,0,450,750,1,false,front</wave4_000>
<wave4_001>fallWalk,1,0,350,800,1,false,front</wave4_001>
<wave4_003>fallWalk,1,0,450,780,1,false,front</wave4_003>
<wave4_005>fallWalk,1,0,290,820,1,false,front</wave4_005>
<wave4_006>standStill,1,0,375,0,1,false,front</wave4_006>
<wave4_007>standStill,1,0,375,0,1,false,front</wave4_007>
<wave4_009>fallWalk,0,0,385,625,1,false,front</wave4_009>
<wave4_008>standStill,1,0,375,0,1,false,front</wave4_008>
<wave4_010>fallWalk,.5,0,385,488,1,false,front</wave4_010>
<wave4_011>fallWalk,.5,0,385,650,1,false,front</wave4_011>
<wave4_012>orbit2,1,0,150,900,3,false,back</wave4_012>
<wave4_013>fallWalk,1,0,450,750,2,false,front</wave4_013>
<wave4_014>fallWalkBig,1,0,450,800,1,false,front</wave4_014>
<wave4_015>fallWalk,1,0,450,750,3,false,front</wave4_015>
<wave4_016>fallWalk,1,0,350,750,3,false,front</wave4_016>
<wave4_017>fallWalk,1,0,450,750,3,false,front</wave4_017>
<wave4_018>fallWalk,1,0,350,750,2,false,front</wave4_018>
<wave4_019>fallWalk,.66,0,450,750,2,false,front</wave4_019>
<wave4_020>fallWalk,.66,0,350,750,2,false,front</wave4_020>
<wave4_021>fallWalk,.66,0,450,750,3,false,front</wave4_021>
<wave4_022>fallWalk,1,0,350,750,6,false,front</wave4_022>
<wave4_023>fallWalk,2,0,450,750,1,false,front</wave4_023>
<wave4_024>fallWalk,.33,0,350,750,1,false,front</wave4_024>
<wave4_025>fallWalk,.33,0,450,750,2,false,front</wave4_025>
<wave4_026>fallWalk,.33,0,350,820,1,false,front</wave4_026>
<wave4_027>fallWalkBig,1,0,450,750,1,false,front</wave4_027>
<wave4_028>fallWalkBig,1,0,450,750,1,false,front</wave4_028>
<wave4_029>fallWalkBig,1,0,380,750,1,false,front</wave4_029>
<wave4_030>fallWalkBig,1,0,380,750,1,false,front</wave4_030>
<wave4_031>fallWalkBig,1,0,380,750,1,false,front</wave4_031>
<wave4_032>fallWalkBig,2,0,450,750,1,false,front</wave4_032>
<wave6_000>orbit,2,0,150,0,5,false,back</wave6_000>
<wave6_000b>orbit4,3,7,220,0,2,false,front</wave6_000b>
<wave6_000c>orbit4,1,7,450,0,2,false,front</wave6_000c>
<wave6_008>orbit4,2,10,150,0,2,false,front</wave6_008>
<wave6_009>orbit4,1,12,450,0,2,false,front</wave6_009>
<wave6_011>orbit4,1,14,300,0,2,false,front</wave6_011>
<wave6_001>orbit2,2,0,300,0,5,false,front</wave6_001>
<wave6_002>orbit3,3,0,320,0,7,false,front</wave6_002>
<wave6_003>orbit2,4,0,300,0,5,false,front</wave6_003>
<wave6_004>orbit2b,2,1,300,0,5,false,front</wave6_004>
<wave6_005>orbit2,2,2,300,0,5,false,front</wave6_005>
<wave6_006>orbit2b,2,2,300,0,5,false,front</wave6_006>
<wave6_007>orbit2,2,5,300,0,5,false,front</wave6_007>
<wave6_014>orbit2b,3.5,1,320,0,5,false,front</wave6_014>
<wave6_015>orbit4,.33,1,320,0,3,false,front</wave6_015>
<wave5_000>laneChangeUp,2,.3,250,0,3,false,front</wave5_000>
<wave5_001>laneChangeDown,1,.3,312,0,3,false,front</wave5_001>
<wave5_002>laneChangeUp,0,.3,250,0,1,false,front</wave5_002>
<wave5_003>laneChangeDown,2,.3,312,0,1,false,front</wave5_003>
<wave5_004>wave,1,1,300,0,4,false,front</wave5_004>
<wave5_004b>tinyFly,.5,19,450,0,1,false,front</wave5_004b>
<wave5_005>laneChangeDown,.5,1,100,0,4,false,front</wave5_005>
<wave5_006>orbit,1,0,150,0,5,false,back</wave5_006>
<wave5_007>arcUp,2,1,500,0,12,false,front</wave5_007>
<wave5_008>arcDown,.5,1,300,0,12,false,front</wave5_008>
<wave5_009>arcUp,4,1,350,0,12,false,front</wave5_009>
<wave5_010>arcDown,.5,1,150,0,12,false,front</wave5_010>
<wave5_011>arcUp,3,1,500,0,12,false,front</wave5_011>
<wave5_012>arcDown,.5,1,300,0,12,false,front</wave5_012>
<wave5_013>arcUp,3,1,350,0,12,false,front</wave5_013>
<wave5_014>arcDown,.5,1,150,0,12,false,front</wave5_014>
<wave5_016>arcUp,3,2,550,0,2,false,front</wave5_016>
<wave5_017>arcUp2,.5,1,550,0,2,false,front</wave5_017>
<wave5_018>arcUp3,1,1,550,0,2,false,front</wave5_018>
<wave5_019>arcUp4,.5,1,550,0,2,false,front</wave5_019>
<wave7_000>wave,3,1,220,0,3,false,front</wave7_000>
<wave7_001>wave,2,1,340,0,3,false,front</wave7_001>
<wave7_002>fallWalk,2,0,270,700,4,false,front</wave7_002>
<wave7_003>arcUp,3,1,400,0,4,false,front</wave7_003>
<wave7_004>arcDown,2,1,200,0,4,false,front</wave7_004>
<wave7_005>laneChangeUp2,3,1,250,0,5,false,front</wave7_005>
<wave7_006>laneChangeDown2,0,1,312,0,5,false,front</wave7_006>
<wave7_007>wave,3,1,220,0,3,false,front</wave7_007>
<wave7_008>wave,2,1,340,0,3,false,front</wave7_008>
<wave7_009>sunrise,1,0,150,1000,1,false,back</wave7_009>
<wave7_010>waveFaster,1,1,360,0,3,false,front</wave7_010>
<wave7_011>waveFaster,2,1,240,0,3,false,front</wave7_011>
<wave7_012>fallWalk,2,0,350,600,3,false,front</wave7_012>
<wave7_013>wave,1,1,450,0,5,false,front</wave7_013>
<wave7_014>fallWalk,1,0,320,625,4,false,front</wave7_014>
<wave7_015>waveFaster,2,1,200,0,5,false,front</wave7_015>
<wave7_016>wave,1,1,340,0,4,false,front</wave7_016>
<wave8_000>fallWalkBig,1.5,0,450,950,1,false,front</wave8_000>
<wave8_001>fallWalkBig,.5,0,380,950,1,false,front</wave8_001>
<wave8_002>fallWalkBig,.5,0,450,950,1,false,front</wave8_002>
<wave8_003>fallWalkBig,.5,0,380,950,1,false,front</wave8_003>
<wave8_004>fallWalkBig,.5,0,450,950,1,false,front</wave8_004>
<wave8_005>fallWalkBig,.5,0,380,950,1,false,front</wave8_005>
<wave8_006>fallWalkBig,.5,0,450,950,1,false,front</wave8_006>
<wave8_007>fallWalkBig,.5,0,380,950,1,false,front</wave8_007>
<wave8_008>fallWalkBig,.5,0,450,950,1,false,front</wave8_008>
<wave8_009>fallWalkBig,.5,0,380,950,1,false,front</wave8_009>
<wave8_010>fallWalkBig,.5,0,450,950,1,false,front</wave8_010>
<wave8_011>fallWalkBig,.5,0,380,950,1,false,front</wave8_011>
<wave8_012>fallWalkBig,.5,0,450,950,1,false,front</wave8_012>
<wave8_013>fallWalkBig,.5,0,380,950,1,false,front</wave8_013>
<wave8_014>fallWalkBig,.5,0,450,950,1,false,front</wave8_014>
<wave8_015>fallWalkBig,.5,0,380,950,1,false,front</wave8_015>
<wave8_015b>sunrise,1,0,150,1000,1,false,back</wave8_015b>
<wave8_016>fallWalkBig,.5,0,450,950,1,false,front</wave8_016>
<wave8_017>fallWalkBig,.5,0,380,950,1,false,front</wave8_017>
<wave8_018>fallWalkBig,.5,0,450,950,1,false,front</wave8_018>
<wave8_019>fallWalkBig,.5,0,380,950,1,false,front</wave8_019>
<wave8_020>fallWalkBig,.5,0,450,950,1,false,front</wave8_020>
<wave8_021>fallWalkBig,.5,0,380,950,1,false,front</wave8_021>
<wave8_022>fallWalkBig,.5,0,450,950,1,false,front</wave8_022>
<wave8_023>fallWalkBig,.5,0,380,950,1,false,front</wave8_023>
<wave8_023b>tinyFly,0,19,150,0,1,false,front</wave8_023b>
<wave8_024>fallWalkBig,1.5,0,450,950,1,false,front</wave8_024>
<wave8_025>fallWalkBig,.5,0,380,950,1,false,front</wave8_025>
<wave8_026>fallWalkBig,.5,0,450,950,1,false,front</wave8_026>
<wave8_027>fallWalkBig,.5,0,380,950,1,false,front</wave8_027>
<wave8_028>fallWalkBig,.5,0,450,950,1,false,front</wave8_028>
<wave8_029>fallWalkBig,.5,0,380,950,1,false,front</wave8_029>
<wave8_030>fallWalkBig,.5,0,450,950,1,false,front</wave8_030>
<wave8_031>fallWalkBig,.5,0,380,950,1,false,front</wave8_031>
<wave8_031b>wave,0,0,150,0,1,false,front</wave8_031b>
<wave8_032>fallWalkBig,.5,0,450,950,1,false,front</wave8_032>
<wave8_033>fallWalkBig,.5,0,380,950,1,false,front</wave8_033>
<wave8_034>fallWalkBig,.5,0,450,950,1,false,front</wave8_034>
<wave8_035>fallWalkBig,.5,0,380,950,1,false,front</wave8_035>
<wave8_036>fallWalkBig,.5,0,450,950,1,false,front</wave8_036>
<wave8_037>fallWalkBig,.5,0,380,950,1,false,front</wave8_037>
<wave8_038>fallWalkBig,.5,0,450,950,1,false,front</wave8_038>
<wave8_039>fallWalkBig,.5,0,380,950,1,false,front</wave8_039>
<wave8_039b>wave,0,1,150,0,3,false,front</wave8_039b>
<wave8_040>fallWalkBig,.5,0,450,950,1,false,front</wave8_040>
<wave8_041>fallWalkBig,.5,0,380,950,1,false,front</wave8_041>
<wave8_042>fallWalkBig,.5,0,450,950,1,false,front</wave8_042>
<wave8_043>fallWalkBig,.5,0,380,950,1,false,front</wave8_043>
<wave8_044>fallWalkBig,.5,0,450,950,1,false,front</wave8_044>
<wave8_045>fallWalkBig,.5,0,380,950,1,false,front</wave8_045>
<wave8_046>fallWalkBig,.5,0,450,950,1,false,front</wave8_046>
<wave8_047>fallWalkBig,.5,0,380,950,1,false,front</wave8_047>
<wave9_000>floatAcross,2,6,135,0,1,false,front</wave9_000>
<wave9_000b>floatAcross,.5,12,335,0,1,false,front</wave9_000b>
<wave9_000c>floatAcross,1,6,265,0,1,false,front</wave9_000c>
<wave9_007z>floatAcross,0,14,305,0,1,false,front</wave9_007z>
<wave9_000d>floatAcross,.5,18,400,0,1,false,front</wave9_000d>
<wave9_004>floatAcross,.5,6,325,0,1,false,front</wave9_004>
<wave9_004c>floatAcross,.5,15,135,0,1,false,front</wave9_004c>
<zwave9_018>floatAcross,0,8,265,0,1,false,front</zwave9_018>
<wave9_004b>floatAcross,0,12,450,0,1,false,front</wave9_004b>
<zwave9_015>floatAcross,.5,8,425,0,1,false,front</zwave9_015>
<wave9_006z>floatAcross,0,12,345,0,1,false,front</wave9_006z>
<wave9_000cz>floatAcross,0,8,265,0,1,false,front</wave9_000cz>
<wave9_001>floatAcross,1.5,12,375,0,1,false,front</wave9_001>
<wave9_002>floatAcross,.5,14,205,0,1,false,front</wave9_002>
<wave9_005>floatAcross,.5,8,175,0,1,false,front</wave9_005>
<wave9_006>floatAcross,.5,16,365,0,1,false,front</wave9_006>
<wave9_007>floatAcross,0,14,305,0,1,false,front</wave9_007>
<wave9_008>floatAcross,.5,8,425,0,1,false,front</wave9_008>
<wave9_009>floatAcross,.5,12,305,0,1,false,front</wave9_009>
<wave9_000dz>floatAcross,0,18,400,0,1,false,front</wave9_000dz>
<wave9_011>floatAcross,0,12,155,0,1,false,front</wave9_011>
<wave9_100>floatAcross,1,12,120,0,1,false,front</wave9_100>
<wave9_101>floatAcross,.5,12,140,0,1,false,front</wave9_101>
<wave9_103>floatAcross,.5,10,240,0,1,false,front</wave9_103>
<wave9_102>floatAcross,0,7,190,0,1,false,front</wave9_102>
<wave9_104>floatAcross,0,11,290,0,1,false,front</wave9_104>
<wave9_105>floatAcross,.3,12,90,0,1,false,front</wave9_105>
<wave9_106>floatAcross,0,10,140,0,1,false,front</wave9_106>
<wave9_107>floatAcross,0,8,240,0,1,false,front</wave9_107>
<wave9_108>floatAcross,.5,11,190,0,1,false,front</wave9_108>
<wave9_109>floatAcross,0,7,200,0,1,false,front</wave9_109>
<wave9_016>sunrise,3,0,150,1050,1,false,back</wave9_016>
<wave9_200>floatAcross,0,12,390,0,1,false,front</wave9_200>
<wave9_201>floatAcross,0,10,440,0,1,false,front</wave9_201>
<wave9_104x>floatAcross,0,11,180,0,1,false,front</wave9_104x>
<wave9_105x>floatAcross,.5,12,210,0,1,false,front</wave9_105x>
<wave9_203>floatAcross,0,8,340,0,1,false,front</wave9_203>
<wave9_202>floatAcross,0,7,290,0,1,false,front</wave9_202>
<wave9_204>floatAcross,0,9,450,0,1,false,front</wave9_204>
<wave9_205>floatAcross,.5,11,390,0,1,false,front</wave9_205>
<wave9_206>floatAcross,0,10,340,0,1,false,front</wave9_206>
<wave9_207>floatAcross,0,8,290,0,1,false,front</wave9_207>
<wave9_208>floatAcross,.5,11,370,0,1,false,front</wave9_208>
<wave9_209>floatAcross,0,10,400,0,1,false,front</wave9_209>
<wave9_210>floatAcross,.25,9,450,0,1,false,front</wave9_210>
<wave9_211>floatAcross,.5,10,410,0,1,false,front</wave9_211>
<wave9_014>floatAcross,1,12,385,0,1,false,front</wave9_014>
<wave9_015>floatAcross,.5,8,445,0,1,false,front</wave9_015>
<wave9_009z>floatAcross,0,6,305,0,1,false,front</wave9_009z>
<zwave9_014>floatAcross,0,12,385,0,1,false,front</zwave9_014>
<wave9_018>floatAcross,.5,8,265,0,1,false,front</wave9_018>
<wave9_019>floatAcross,.5,8,325,0,1,false,front</wave9_019>
<wave9_012z>floatAcross,0,6,145,0,1,false,front</wave9_012z>
<wave9_020>floatAcross,.5,12,375,0,1,false,front</wave9_020>
<wave9_021>floatAcross,0,10,425,0,1,false,front</wave9_021>
<wave9_000z>floatAcross,1,12,135,0,1,false,front</wave9_000z>
<wave9_010z>floatAcross,0,8,190,0,1,false,front</wave9_010z>
<wave9_004z>floatAcross,1.5,8,325,0,1,false,front</wave9_004z>
<wave9_004zz>floatAcross,.5,10,295,0,1,false,front</wave9_004zz>
<wave9_004bz>floatAcross,0,12,450,0,1,false,front</wave9_004bz>
<wave9_000bz>floatAcross,1,12,335,0,1,false,front</wave9_000bz>
<wave9_000czz>floatAcross,.5,15,195,0,1,false,front</wave9_000czz>
<wave9_008z>floatAcross,0,12,425,0,1,false,front</wave9_008z>
<wave9_001z>floatAcross,1,12,375,0,1,false,front</wave9_001z>
<wave9_011z>floatAcross,0,8,150,0,1,false,front</wave9_011z>
<wave9_002z>floatAcross,.5,14,205,0,1,false,front</wave9_002z>
<wave9_002zz>floatAcross,.5,20,305,0,1,false,front</wave9_002zz>
<wave9_005z>floatAcross,1,8,205,0,1,false,front</wave9_005z>
<wave9_011z>floatAcross,1,12,150,0,1,false,front</wave9_011z>
<wave10_000>manrise,2,0,320,1000,1,false,back</wave10_000>
<wave10_001>manrise,1,0,290,900,1,false,back</wave10_001>
<wave10_002>fallNoWalk,1,0,320,850,1,false,front</wave10_002>
<wave10_003>fallNoWalk,.5,0,450,760,1,false,front</wave10_003>
<wave10_004>fallNoWalk,.5,0,380,760,1,false,front</wave10_004>
<wave10_005>manrise,.5,0,320,1000,1,false,back</wave10_005>
<wave10_006>manrise,1,0,290,900,1,false,back</wave10_006>
<wave10_007>fallNoWalk,.5,0,450,1050,1,false,front</wave10_007>
<wave10_008>fallNoWalk,.5,0,320,960,1,false,front</wave10_008>
<wave10_009>fallNoWalk,.5,0,480,860,1,false,front</wave10_009>
<wave10_009b>sunrise,.5,0,150,1050,1,false,back</wave10_009b>
<wave10_010>fallWalkBig,1.5,0,350,950,1,false,front</wave10_010>
<wave10_011>fallWalkBig,1,0,400,1000,1,false,front</wave10_011>
<wave10_012>manrise,1,0,320,1000,1,false,back</wave10_012>
<wave10_013>manrise,2,0,290,900,1,false,back</wave10_013>
<wave10_015>fallWalk,1,0,450,750,6,false,front</wave10_015>
<wave10_016>fallWalk,1,0,350,750,6,false,front</wave10_016>
<wave10_017>fallWalk,2,0,450,750,1,false,front</wave10_017>
<wave10_018>fallWalk,.333,0,350,750,1,false,front</wave10_018>
<wave10_019>fallWalk,.333,0,450,750,1,false,front</wave10_019>
<wave10_020>fallWalk,.333,0,350,750,1,false,front</wave10_020>
<wave10_021>fallWalk,.333,0,450,750,1,false,front</wave10_021>
<wave10_020b>fallWalk,.333,0,350,750,1,false,front</wave10_020b>
<wave10_021b>fallWalk,.333,0,450,750,1,false,front</wave10_021b>
<wave10_022>fallWalk,1,0,350,750,6,false,front</wave10_022>
<wave10_023>fallWalk,.66,0,450,750,6,false,front</wave10_023>
<wave10_024>fallWalk,1,0,350,750,6,false,front</wave10_024>
<wave10_025>fallWalk,.66,0,450,750,6,false,front</wave10_025>
<wave10_026>fallWalk,1,0,350,820,6,false,front</wave10_026>
<wave10_027>manrise,2,0,320,1000,1,false,back</wave10_027>
<wave10_028>manrise,1,0,290,900,1,false,back</wave10_028>
<wave10_029>manrise,2,0,320,1000,1,false,back</wave10_029>
<wave10_030>manrise,1,0,290,900,1,false,back</wave10_030>
<wave12_000>orbit5,2,6,320,0,1,false,front</wave12_000>
<wave12_001>orbit4,1,6,450,0,1,false,front</wave12_001>
<wave12_002>orbit5,2,8,250,0,1,false,front</wave12_002>
<wave12_003>orbit4,1,8,450,0,1,false,front</wave12_003>
<wave12_004>orbit5,2,6,300,0,3,false,front</wave12_004>
<wave12_005>orbit4,1,6,450,0,2,false,front</wave12_005>
<wave12_006>orbit5,2,8,150,0,3,false,front</wave12_006>
<wave12_007>orbit4,1,8,450,0,1,false,front</wave12_007>
<wave12_008>orbit5,.5,6,300,0,1,false,front</wave12_008>
<wave12_007b>orbit4,.5,8,425,0,1,false,front</wave12_007b>
<wave12_008b>orbit5,.5,6,375,0,1,false,front</wave12_008b>
<wave12_009>orbit,2,0,250,0,7,false,front</wave12_009>
<wave12_010>orbit,2,0,400,0,7,false,front</wave12_010>
<wave12_011>orbit4,3,8,450,0,1,false,front</wave12_011>
<wave12_012>orbit5,.5,6,300,0,1,false,front</wave12_012>
<wave12_013>orbit4,.5,8,425,0,1,false,front</wave12_013>
<wave12_014>orbit5,.5,6,375,0,1,false,front</wave12_014>
<wave12_015>orbit4,.5,8,450,0,1,false,front</wave12_015>
<wave12_016>orbit5,.5,6,300,0,1,false,front</wave12_016>
<wave12_017>orbit4,.5,8,425,0,1,false,front</wave12_017>
<wave12_018>orbit5,.5,6,375,0,1,false,front</wave12_018>
<wave12_019>orbit,2,0,250,0,10,false,front</wave12_019>
<wave12_020>orbit,2,0,400,0,10,false,front</wave12_020>
<wave11_000>floatAcross,3,2,265,0,1,false,front</wave11_000>
<wave11_001>floatAcross,1.5,3,355,0,1,false,front</wave11_001>
<wave11_002>tinyFly,0,19,440,0,1,false,front</wave11_002>
<wave11_007>arcUp,1,1,550,0,3,false,front</wave11_007>
<wave11_008>arcUp2,1,1,550,300,1,false,front</wave11_008>
<wave11_009>arcUp3,1,1,550,0,3,false,front</wave11_009>
<wave11_010>arcUp4,0,1,550,0,1,false,front</wave11_010>
<wave11_011a>floatAcross,1,1,350,0,1,false,front</wave11_011a>
<wave11_011b>floatAcross,0,0,223,0,1,false,front</wave11_011b>
<wave11_012>arcDown2,1,1,0,0,3,false,front</wave11_012>
<wave11_013>arcDown4,1,1,0,0,4,false,front</wave11_013>
<wave11_014>arcDown5,.5,1,0,0,1,false,front</wave11_014>
<wave11_015>arcDown3,1,1,0,0,2,false,front</wave11_015>
<wave11_016>floatAcross,2,1,100,0,1,false,back</wave11_016>
<wave11_027xxx>wave,1,1,230,0,5,false,front</wave11_027xxx>
<wave11_027yyy>wave,1.5,1,370,0,5,false,front</wave11_027yyy>
<wave11_016a>floatAcross,1,1,400,0,1,false,back</wave11_016a>
<wave11_016b>orbit,0,0,180,0,2,false,back</wave11_016b>
<wave11_017>arcUp,1,1,550,0,2,false,front</wave11_017>
<wave11_018>arcUp2,.5,1,550,0,1,false,front</wave11_018>
<wave11_022>arcDown2,1,1,0,180,3,false,front</wave11_022>
<wave11_021>floatAcross,0,1,350,0,1,false,back</wave11_021>
<wave11_023>arcDown3,.5,1,0,0,1,false,front</wave11_023>
<wave11_022a>arcDown2,1,1,0,300,2,false,front</wave11_022a>
<wave11_023a>arcDown3,.5,1,0,120,3,false,front</wave11_023a>
<wave11_017a>arcUp,1.5,2,550,0,2,false,front</wave11_017a>
<wave11_018a>arcUp2,.5,1,550,0,1,false,front</wave11_018a>
<wave11_019a>arcUp3,1,1,550,0,2,false,front</wave11_019a>
<wave11_020a>arcUp4,.5,1,550,0,1,false,front</wave11_020a>
<wave11_027zzz>wave,2.5,1,370,0,5,false,front</wave11_027zzz>
<wave11_027www>wave,1,1,230,0,7,false,front</wave11_027www>
<wave11_006>wave,.5,1,430,0,9,false,front</wave11_006>
</script>
</level>
;
xml.waveFaster = <waveFaster>
<config>
<id>Enemy4</id>
<pattern>Sine</pattern>
<reverseAsset>true</reverseAsset>
<height>30</height>
<speed>0.2</speed>
</config></waveFaster>
;
xml.wave = <wave>
<config>
<id>Enemy4</id>
<pattern>Sine</pattern>
<reverseAsset>true</reverseAsset>
<height>30</height>
<speed>0.1</speed>
</config>
</wave>
;
xml.tinyFly = <tinyFly>
<config>
<id>Enemy7</id>
<pattern>Sine</pattern>
<reverseAsset>true</reverseAsset>
<height>0</height>
<speed>0</speed>
</config>
</tinyFly>
;
xml.sunrise = <sunrise>
<config>
<id>Enemy6</id>
<pattern>Sunrise</pattern>
<reverseAsset>false</reverseAsset>
<wait>2</wait>
</config>
</sunrise>
;
xml.straightWalk = <straightWalk>
<config>
<id>Enemy1</id>
<pattern>Sine</pattern>
<reverseAsset>false</reverseAsset>
<height>0</height>
<speed>0</speed>
</config>
</straightWalk>
;
xml.straightFly = <straightFly>
<config>
<id>Enemy4</id>
<pattern>Sine</pattern>
<reverseAsset>true</reverseAsset>
<height>0</height>
<speed>0</speed>
</config>
</straightFly>
;
xml.standStillMini = <standStillMini>
<config>
<id>Enemy1</id>
<pattern>Sine</pattern>
<reverseAsset>false</reverseAsset>
<height>0</height>
<speed>0</speed>
</config>
</standStillMini>
;
xml.standStill = <standStill>
<config>
<id>Enemy3</id>
<pattern>Sine</pattern>
<reverseAsset>false</reverseAsset>
<height>0</height>
<speed>0</speed>
</config>
</standStill>
;
xml.orbitB = <orbitB>
<config>
<id>Enemy6</id>
<pattern>Orbit</pattern>
<reverseAsset>false</reverseAsset>
<radius>120</radius>
<speed>-0.025</speed>
</config>
</orbitB>
;
xml.orbit5 = <orbit5>
<config>
<id>Enemy6</id>
<pattern>Orbit</pattern>
<reverseAsset>false</reverseAsset>
<radius>60</radius>
<speed>-0.15</speed>
</config>
</orbit5>
;
xml.orbit4 = <orbit4>
<config>
<id>Enemy6</id>
<pattern>Orbit</pattern>
<reverseAsset>false</reverseAsset>
<radius>60</radius>
<speed>0.15</speed>
</config>
</orbit4>
;
xml.orbit3 = <orbit3>
<config>
<id>Enemy6</id>
<pattern>Orbit</pattern>
<reverseAsset>false</reverseAsset>
<radius>220</radius>
<speed>-0.05</speed>
</config>
</orbit3>
;
xml.orbit2b = <orbit2b>
<config>
<id>Enemy6</id>
<pattern>Orbit</pattern>
<reverseAsset>false</reverseAsset>
<radius>180</radius>
<speed>-0.05</speed>
</config>
</orbit2b>
;
xml.orbit2 = <orbit2>
<config>
<id>Enemy6</id>
<pattern>Orbit</pattern>
<reverseAsset>false</reverseAsset>
<radius>180</radius>
<speed>0.05</speed>
</config>
</orbit2>
;
xml.orbit = <orbit>
<config>
<id>Enemy6</id>
<pattern>Orbit</pattern>
<reverseAsset>false</reverseAsset>
<radius>120</radius>
<speed>0.05</speed>
</config>
</orbit>
;
xml.manrise = <manrise>
<config>
<id>Enemy3</id>
<pattern>Sunrise</pattern>
<reverseAsset>false</reverseAsset>
<wait>1</wait>
</config>
</manrise>
;
xml.laneChangeUp2 = <laneChangeUp2>
<config>
<id>Enemy4</id>
<pattern>LaneChange</pattern>
<reverseAsset>true</reverseAsset>
<descent>false</descent>
<start>528</start>
<height>250</height>
<speed>0.07</speed>
</config>
</laneChangeUp2>
;
xml.laneChangeUp = <laneChangeUp>
<config>
<id>Enemy4</id>
<pattern>LaneChange</pattern>
<reverseAsset>true</reverseAsset>
<descent>false</descent>
<start>628</start>
<height>250</height>
<speed>0.07</speed>
</config>
</laneChangeUp>
;
xml.laneChangeDown2 = <laneChangeDown2>
<config>
<id>Enemy4</id>
<pattern>LaneChange</pattern>
<reverseAsset>true</reverseAsset>
<descent>true</descent>
<start>528</start>
<height>250</height>
<speed>0.07</speed>
</config>
</laneChangeDown2>
;
xml.laneChangeDown = <laneChangeDown>
<config>
<id>Enemy4</id>
<pattern>LaneChange</pattern>
<reverseAsset>true</reverseAsset>
<descent>true</descent>
<start>628</start>
<height>250</height>
<speed>0.07</speed>
</config>
</laneChangeDown>
;
xml.growSingle = <growSingle>
<config>
<id>Enemy2</id>
<pattern>Sine</pattern>
<reverseAsset>false</reverseAsset>
<height>0</height>
<speed>0</speed>
</config>
</growSingle>
;
xml.growOnCurveMen = <growOnCurveMen>
<config>
<id>Enemy1</id>
<pattern>GrowOnCurve</pattern>
<reverseAsset>false</reverseAsset>
</config>
</growOnCurveMen>
;
xml.growOnCurve = <growOnCurve>
<config>
<id>Enemy2</id>
<pattern>GrowOnCurve</pattern>
<reverseAsset>false</reverseAsset>
</config>
</growOnCurve>
;
xml.growCluster = <growCluster>
<config>
<id>Enemy2</id>
<pattern>GrowCluster</pattern>
<reverseAsset>false</reverseAsset>
<density>10</density>
</config>
</growCluster>
;
xml.floatIn = <floatIn>
<config>
<id>Enemy5</id>
<pattern>FloatIn</pattern>
<reverseAsset>false</reverseAsset>
<wait>2</wait>
</config>
</floatIn>
;
xml.floatAcross = <floatAcross>
<config>
<id>Enemy5</id>
<pattern>FloatAcross</pattern>
<reverseAsset>false</reverseAsset>
</config>
</floatAcross>
;
xml.fallWalkBig = <fallWalkBig>
<config>
<id>Enemy3</id>
<pattern>FallWalk</pattern>
<reverseAsset>false</reverseAsset>
<wait>2</wait>
<walkSpeed>8</walkSpeed>
</config>
</fallWalkBig>
;
xml.fallWalk = <fallWalk>
<config>
<id>Enemy1</id>
<pattern>FallWalk</pattern>
<reverseAsset>false</reverseAsset>
<wait>1</wait>
<walkSpeed>8</walkSpeed>
</config>
</fallWalk>
;
xml.fallNoWalkBig = <fallNoWalkBig>
<config>
<id>Enemy3</id>
<pattern>FallWalk</pattern>
<reverseAsset>false</reverseAsset>
<wait>100</wait>
<walkSpeed>8</walkSpeed>
</config>
</fallNoWalkBig>
;
xml.fallNoWalk = <fallNoWalk>
<config>
<id>Enemy1</id>
<pattern>FallWalk</pattern>
<reverseAsset>false</reverseAsset>
<wait>100</wait>
<walkSpeed>8</walkSpeed>
</config>
</fallNoWalk>
;
xml.cloudOrbit = <cloudOrbit>
<config>
<id>Enemy5</id>
<pattern>Orbit</pattern>
<reverseAsset>false</reverseAsset>
<radius>200</radius>
<speed>0.005</speed>
</config>
</cloudOrbit>
;
xml.arcUp4 = <arcUp4>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>false</descent>
<start>500</start>
<speed>15</speed>
</config>
</arcUp4>
;
xml.arcUp3 = <arcUp3>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>false</descent>
<start>730</start>
<speed>12</speed>
</config>
</arcUp3>
;
xml.arcUp2 = <arcUp2>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>false</descent>
<start>770</start>
<speed>15</speed>
</config>
</arcUp2>
;
xml.arcUp = <arcUp>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>false</descent>
<start>500</start>
<speed>11</speed>
</config>
</arcUp>
;
xml.arcDown7 = <arcDown7>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>true</descent>
<start>768</start>
<speed>9</speed>
</config>
</arcDown7>
;
xml.arcDown6 = <arcDown6>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>true</descent>
<start>700</start>
<speed>12</speed>
</config>
</arcDown6>
;
xml.arcDown5 = <arcDown5>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>true</descent>
<start>742</start>
<speed>13</speed>
</config>
</arcDown5>
;
xml.arcDown4 = <arcDown4>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>true</descent>
<start>640</start>
<speed>11</speed>
</config>
</arcDown4>
;
xml.arcDown3 = <arcDown3>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>true</descent>
<start>600</start>
<speed>12</speed>
</config>
</arcDown3>
;
xml.arcDown2 = <arcDown2>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>true</descent>
<start>568</start>
<speed>9</speed>
</config>
</arcDown2>
;
xml.arcDown = <arcDown>
<config>
<id>Enemy4</id>
<pattern>Arc</pattern>
<reverseAsset>true</reverseAsset>
<descent>true</descent>
<start>528</start>
<speed>10</speed>
</config>
</arcDown>
;
}
}
}//package