Section 1
//clip_sd88detincelle_6 (ElvIsBlack2MoreBunnies_fla.clip_sd88detincelle_6)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
import flash.accessibility.*;
public dynamic class clip_sd88detincelle_6 extends MovieClip {
public function clip_sd88detincelle_6(){
addFrameScript(13, frame14);
}
function frame14(){
stop();
}
}
}//package ElvIsBlack2MoreBunnies_fla
Section 2
//FPS_16 (ElvIsBlack2MoreBunnies_fla.FPS_16)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
import flash.accessibility.*;
public dynamic class FPS_16 extends MovieClip {
public var prevSecondTime:Number;
public var secondTime:Number;
public var tf:TextField;
public var frames:Number;
public var time:Number;
public var frameTime:Number;
public var fps:String;
public var prevFrameTime:Number;
public var iBar:MovieClip;
public function FPS_16(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
}
function frame2(){
stop();
time = 0;
frameTime = 0;
prevFrameTime = getTimer();
secondTime = 0;
prevSecondTime = getTimer();
frames = 0;
fps = "...";
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function onEnterFrame(_arg1:Event):void{
time = getTimer();
frameTime = (time - prevFrameTime);
secondTime = (time - prevSecondTime);
if (secondTime >= 1000){
fps = frames.toString();
frames = 0;
prevSecondTime = time;
} else {
frames++;
};
prevFrameTime = time;
tf.text = (((fps + " FPS / ") + frameTime) + " MS");
iBar.scaleX = (iBar.scaleX - ((iBar.scaleX - (frameTime / 10)) / 5));
}
}
}//package ElvIsBlack2MoreBunnies_fla
Section 3
//freeinternetgamesfreeinternetgames_5 (ElvIsBlack2MoreBunnies_fla.freeinternetgamesfreeinternetgames_5)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
import flash.accessibility.*;
public dynamic class freeinternetgamesfreeinternetgames_5 extends MovieClip {
public function freeinternetgamesfreeinternetgames_5(){
addFrameScript(59, frame60);
}
function frame60(){
stop();
}
}
}//package ElvIsBlack2MoreBunnies_fla
Section 4
//MainTimeline (ElvIsBlack2MoreBunnies_fla.MainTimeline)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
import flash.accessibility.*;
public dynamic class MainTimeline extends MovieClip {
public var maxBtn:SimpleButton;
public var txtField:TextField;
public var intro:MaxScreen;
public var pointerBtn:SimpleButton;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
maxBtn.addEventListener("mouseDown", launch);
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress, false, 0, true);
this.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete, false, 0, true);
}
function frame2(){
stop();
pointerBtn.addEventListener("mouseDown", launch2);
}
public function launch(_arg1){
Utils.getURL("http://www.maxgames.com");
}
public function onLoadProgress(_arg1:Event){
txtField.text = (Math.round(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100)) + "%");
}
public function onLoadComplete(_arg1){
nextFrame();
}
public function launch2(_arg1){
nextFrame();
Utils.getURL("http://www.maxgames.com");
}
}
}//package ElvIsBlack2MoreBunnies_fla
Section 5
//Symbol17copy_12 (ElvIsBlack2MoreBunnies_fla.Symbol17copy_12)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol17copy_12 extends MovieClip {
public var txtField:TextField;
public var textField:TextField;
}
}//package ElvIsBlack2MoreBunnies_fla
Section 6
//Symbol17copy3_11 (ElvIsBlack2MoreBunnies_fla.Symbol17copy3_11)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol17copy3_11 extends MovieClip {
public var txtField:TextField;
public var textField:TextField;
}
}//package ElvIsBlack2MoreBunnies_fla
Section 7
//Symbol17copy4_14 (ElvIsBlack2MoreBunnies_fla.Symbol17copy4_14)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol17copy4_14 extends MovieClip {
public var textField:TextField;
}
}//package ElvIsBlack2MoreBunnies_fla
Section 8
//Symbol20_40 (ElvIsBlack2MoreBunnies_fla.Symbol20_40)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
import flash.accessibility.*;
public dynamic class Symbol20_40 extends MovieClip {
public var preloadbarMc:MovieClip;
public function Symbol20_40(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package ElvIsBlack2MoreBunnies_fla
Section 9
//Symbol204_BACK_20 (ElvIsBlack2MoreBunnies_fla.Symbol204_BACK_20)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
public dynamic class Symbol204_BACK_20 extends MovieClip {
public var backMc:MovieClip;
}
}//package ElvIsBlack2MoreBunnies_fla
Section 10
//Symbol24_24 (ElvIsBlack2MoreBunnies_fla.Symbol24_24)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
public dynamic class Symbol24_24 extends MovieClip {
public var backMc:MovieClip;
}
}//package ElvIsBlack2MoreBunnies_fla
Section 11
//Symbol24_BACK_21 (ElvIsBlack2MoreBunnies_fla.Symbol24_BACK_21)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
public dynamic class Symbol24_BACK_21 extends MovieClip {
public var backMc:MovieClip;
}
}//package ElvIsBlack2MoreBunnies_fla
Section 12
//Symbol41copy_13 (ElvIsBlack2MoreBunnies_fla.Symbol41copy_13)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol41copy_13 extends MovieClip {
public var textFieldTitle:TextField;
public var textField:TextField;
}
}//package ElvIsBlack2MoreBunnies_fla
Section 13
//Timeline_23 (ElvIsBlack2MoreBunnies_fla.Timeline_23)
package ElvIsBlack2MoreBunnies_fla {
import flash.display.*;
public dynamic class Timeline_23 extends MovieClip {
public var backMc:MovieClip;
}
}//package ElvIsBlack2MoreBunnies_fla
Section 14
//Button (geeon.components.Button)
package geeon.components {
import flash.display.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Button extends MCWrapper {
var isDown:Boolean;
var onOff:Boolean;// = false
public var mute:Boolean;// = false
var isOver:Boolean;
var offsetX;
var offsetY;
var playing:Boolean;// = false
public var selectable:Boolean;// = false
public var center;
var frame;
var animating:Boolean;// = false
public var group:Array;
var area_mc:Sprite;
var lastClick;
var draggable;
public var selected:Boolean;// = false
public var bounds;
public var onSelect:Function;
public var unique:Boolean;
var blocked:Boolean;// = false
var thumbnail;
public function Button(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
animating = false;
selected = false;
onOff = false;
blocked = false;
selectable = false;
mute = false;
playing = false;
onSelect = function (_arg1:Button){
};
if (_arg1.linkage){
_arg1.target = Utils.attach(_arg1.linkage, _arg1.parent);
//unresolved jump
};
super(_arg1);
type = "Button";
area_mc = Utils.drawArea(target, width, height);
area_mc.buttonMode = true;
params.mouseOver = Utils.or(params.mouseOver, new Function());
params.mouseOut = Utils.or(params.mouseOut, new Function());
params.mouseUp = Utils.or(params.mouseUp, new Function());
params.mouseDown = Utils.or(params.mouseDown, new Function());
params.doubleClick = Utils.or(params.doubleClick, new Function());
onSelect = Utils.or(params.onSelect, onSelect);
mute = Utils.or(params.mute, mute);
target.ref = this;
group = Index.add(this, params.group);
update(_arg1);
center = params.center;
if (center){
Utils.autoCenter(area_mc);
//unresolved jump
};
target.stop();
labels = [];
_local2 = target.currentScene.labels;
for (_local3 in _local2) {
_local4 = _local2[_local3].name;
labels[_local4] = _local2[_local3].frame;
};
area_mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, true);
area_mc.addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true);
area_mc.addEventListener(MouseEvent.MOUSE_OUT, mouseOut, false, 0, true);
labels.Up = Utils.or(labels.Up, Utils.or(labels.OverIn, 1));
labels.Over = Utils.or(labels.Over, 2);
labels.Down = Utils.or(labels.Down, 3);
labels.Selected = Utils.or(labels.Selected, (labels.OverIn) ? labels.Down : 4);
labels.loopFrame = (labels.OverOut) ? Utils.or(labels.Outro, target.totalFrames) : null;
labels.OverIn = Utils.or(labels.OverIn, labels.Over);
labels.OverOut = Utils.or(labels.OverOut, labels.Up);
if (!labels.Intro){
target.gotoAndStop(labels.Up);
//unresolved jump
};
Thread.add(animation);
}
public function select(){
if (((!(isDown)) && (!(selected)))){
mouseDown();
//unresolved jump
};
selected = true;
Index.select(this);
}
public function mouseOver(_arg1=null){
if (blocked){
return;
};
if (!mute){
Mixer.playFX("buttonOverSound");
//unresolved jump
};
isOver = true;
if (!selected){
params.mouseOver();
handleButton(labels.OverIn);
};
}
public function mouseUp(_arg1=null){
handleButton((selected) ? labels.Selected : (isOver) ? labels.OverIn : (isDown) ? labels.Down : labels.OverOut);
params.mouseUp();
Thread.remove(drag);
isDown = false;
if ((((lastClick - (lastClick = getTimer())) + 500) > 0)){
params.doubleClick(this);
//unresolved jump
};
Thread.remove(mouseUp);
}
public function drag(){
if (bounds.horizontal != false){
x = (parent.mouseX + offsetX);
//unresolved jump
};
if (bounds.vertical != false){
y = (parent.mouseY + offsetY);
//unresolved jump
};
Utils.boundaries(target, bounds);
}
public function mouseOut(_arg1=null){
if (blocked){
return;
};
isOver = false;
if (!selected){
handleButton((isDown) ? labels.Down : labels.OverOut);
params.mouseOut();
};
}
public function enable(){
alpha = 1;
unBlock();
}
public function animation(){
if ((((currentFrame == labels.Selected)) || ((currentLabel == "Selected")))){
if (selected){
playing = false;
} else {
playing = true;
target.gotoAndStop(labels.OverOut);
};
};
if (currentFrame == labels.Down){
if (isDown){
playing = false;
} else {
playing = true;
target.gotoAndStop(labels.OverOut);
};
};
if (currentFrame == labels.loopFrame){
playing = true;
target.gotoAndStop(labels.Up);
};
if (currentFrame == labels.Up){
if (((!(isOver)) && (!(selected)))){
playing = false;
} else {
playing = true;
target.gotoAndStop(labels.OverIn);
};
};
if (currentFrame == labels.Over){
if (((isOver) || (selected))){
playing = false;
} else {
playing = true;
target.gotoAndStop(labels.OverOut);
};
};
if (playing){
target.nextFrame();
//unresolved jump
};
}
public function handleButton(_arg1){
if ((((_arg1 == labels.Selected)) || ((_arg1 == labels.Down)))){
playing = false;
target.gotoAndStop(_arg1);
} else {
playing = true;
};
animation();
}
public function unBlock(){
area_mc.buttonMode = true;
blocked = false;
}
public function block(){
area_mc.buttonMode = false;
blocked = true;
}
public function update(_arg1){
Utils.extract(_arg1, params);
draggable = params.draggable;
unique = params.unique;
selectable = params.selectable;
onOff = params.onOff;
if (_arg1.thumbnail){
if (!thumbnail){
thumbnail = Mixer.add({uri:params.thumbnail, target:Utils.or(target.thumbnailMc, target), fitArea:target.areaMc});
} else {
thumbnail.load(params.thumbnail);
};
};
if (((target.form) && (_arg1.form))){
for (n in _arg1.form) {
if (((target.form[n]) && (_arg1.form[n]))){
target.form[n].text = _arg1.form[n];
continue;
};
};
};
bounds = Utils.or(params.bounds, {});
}
public function deSelect(){
if (selected){
selected = false;
mouseOut();
};
}
public function disable(){
alpha = 0.5;
block();
}
public function mouseDown(_arg1=null){
if (blocked){
return;
};
if (!mute){
Mixer.playFX("buttonDownSound");
//unresolved jump
};
isDown = true;
if (selectable){
if (((onOff) && (selected))){
deSelect();
} else {
select();
};
};
Thread.add(mouseUp, "mouseUp");
if (draggable){
offsetX = (x - parent.mouseX);
offsetY = (y - parent.mouseY);
Thread.add(drag);
};
handleButton(labels.Down);
params.mouseDown();
onSelect(this);
}
public static function setSimpleButtons(_arg1, _arg2, _arg3=null){
var _local4:*;
var _local5:*;
_local4 = Utils.getContained(_arg1);
for (_local5 in _local4) {
setSimpleButton(_local4[_local5], _arg2, _arg3);
};
}
public static function setSimpleButton(_arg1, _arg2, _arg3=null){
new ButtonData(_arg1, _arg2, _arg3);
}
}
}//package geeon.components
import flash.display.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
class ButtonData {
public var func:Function;
public var params:Object;
public var name:String;
private function ButtonData(_arg1:SimpleButton, _arg2, _arg3=null){
_arg1.addEventListener(MouseEvent.CLICK, activate);
name = _arg1.name;
func = _arg2;
params = params;
}
public function activate(_arg1){
if (params){
func(params);
} else {
func();
};
}
}
Section 15
//Index (geeon.components.Index)
package geeon.components {
import flash.display.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Index {
static var list:Array = [];
public static function add(_arg1, _arg2){
var _local3:*;
_local3 = list;
if (_arg2){
if (!list[_arg2]){
list[_arg2] = [];
//unresolved jump
};
_local3 = list[_arg2];
};
_local3.push(_arg1);
return (_local3);
}
public static function select(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = _arg1.group;
_local2.selected = _arg1;
if (_arg1.unique){
_local3 = 0;
for (;_local3 < _local2.length;_local3++) {
_local4 = _local2[_local3];
if (((!((_local4 == _arg1))) && (_local4.selected))){
_local4.deSelect();
continue;
};
};
};
}
}
}//package geeon.components
class Unlocker {
private function Unlocker(){
}
}
Section 16
//MCWrapper (geeon.components.MCWrapper)
package geeon.components {
import flash.display.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class MCWrapper extends EventDispatcher {
public var target;
public var instance;
public var event;
public var params;
public var mode:String;
public var type:String;// = "MC"
public var _height:Number;
public var _width:Number;
public var z:Number;
public var labels:Array;
public function MCWrapper(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
type = "MC";
super();
params = _arg1;
target = Utils.or(params.target, new MovieClip());
_width = Utils.or(params.width, target.width);
_height = Utils.or(params.height, target.height);
mode = Utils.or(params.mode, "default");
instance = this;
if (typeof(target) == "movieclip"){
target.ref = this;
labels = [];
_local2 = target.currentScene.labels;
for (_local3 in _local2) {
_local4 = _local2[_local3].name;
labels[_local4] = _local2[_local3].frame;
};
};
}
public function get y(){
return (target.y);
}
public function addChild(_arg1){
target.addChild(_arg1);
return (_arg1);
}
public function get currentLabel(){
return (target.currentLabel);
}
public function removeChild(_arg1){
target.removeChild(_arg1);
return (_arg1);
}
public function set width(_arg1){
target.width = _arg1;
}
public function set scaleX(_arg1){
target.scaleX = _arg1;
}
public function gotoAndStop(_arg1){
target.gotoAndStop(_arg1);
}
public function get currentFrame(){
return (target.currentFrame);
}
public function set scaleY(_arg1){
target.scaleY = _arg1;
}
public function get height(){
return (target.height);
}
public function get parent(){
return (target.parent);
}
public function set alpha(_arg1){
target.alpha = _arg1;
}
public function gotoAndPlay(_arg1){
target.gotoAndPlay(_arg1);
}
public function get scaleY(){
return (target.scaleY);
}
public function get mouseX(){
return (target.mouseX);
}
public function set height(_arg1){
target.height = _arg1;
}
public function get mouseY(){
return (target.mouseY);
}
public function get scaleX(){
return (target.scaleX);
}
public function get alpha(){
return (target.alpha);
}
public function set visible(_arg1){
target.visible = _arg1;
}
public function set x(_arg1){
target.x = _arg1;
}
public function get visible(){
return (target.visible);
}
public function get width(){
return (target.width);
}
public function get x(){
return (target.x);
}
public function set y(_arg1){
target.y = _arg1;
}
public function set rotation(_arg1){
target.rotation = _arg1;
}
public function get rotation(){
return (target.rotation);
}
}
}//package geeon.components
Section 17
//GamePage (geeon.gdocument.GamePage)
package geeon.gdocument {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class GamePage extends MovieClip {
public var maxBtn:SimpleButton;
public var pointerBtn:SimpleButton;
public static var instance;
public function GamePage(){
instance = this;
visible = false;
Space.init({container:this});
hide();
new GameEngine();
Button.setSimpleButton(maxBtn, sponsor);
}
public function sponsor(){
Utils.getURL("http://www.maxgames.com");
}
public static function show(){
GameEngine.restart();
Document.setGameQuality();
}
public static function hide(){
GameEngine.clearThreads();
}
}
}//package geeon.gdocument
Section 18
//GDocument (geeon.gdocument.GDocument)
package geeon.gdocument {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class GDocument extends Sprite {
public static var instance:GDocument;
public static var currentPage;
public static var paused:Boolean = false;
public function GDocument(){
instance = this;
if (root.stage){
initialize(this);
};
}
public function resume(){
paused = false;
}
public function start(){
paused = false;
showPage(SplashPage);
}
public function initialize(_arg1){
Document.init(_arg1);
start();
}
public function pause(){
paused = true;
}
public static function showPage(_arg1){
Document.setInterfaceQuality();
if (currentPage){
currentPage.instance.gotoAndStop(1);
currentPage.instance.visible = false;
currentPage.instance.cacheAsBitmap = true;
currentPage.hide();
};
currentPage = _arg1;
currentPage.instance.visible = true;
currentPage.instance.cacheAsBitmap = false;
currentPage.instance.gotoAndPlay(1);
currentPage.show();
}
}
}//package geeon.gdocument
Section 19
//AbstractHolder (geeon.holders.AbstractHolder)
package geeon.holders {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class AbstractHolder extends Sprite {
public var loader;
public var playing:Boolean;
public var totalTime:Number;// = 0
public var fitArea;
public var bytesLoaded:Number;// = 0
public var video:Video;
public var area_mc:MovieClip;
public var streamSlider;
public var ref;
public var pan:Number;// = 0
public var group;
public var dispatcher;
public var preloadbarMc:MovieClip;
public var percentLoaded:Number;// = 0
public var time:Number;// = 0
public var mouseDown;
public var soundChannel;
public var volume:Number;// = 1
public var id:Number;
public var position:Number;// = 0
public var bitmap:BitmapData;
public var button:Button;
public var type:String;
public var timeMc:MovieClip;
public var onStreamStart;
public var percentPlayed:Number;// = 0
var stream;
public var target;
public var params:Object;
public var bytesTotal:Number;// = 0
public var duration:Number;// = 10000000
public var data;
public var blocked:Boolean;// = false
public static var counter;
public function AbstractHolder(_arg1=null){
volume = 1;
bytesLoaded = 0;
bytesTotal = 0;
percentLoaded = 0;
duration = 10000000;
position = 0;
percentPlayed = 0;
blocked = false;
time = 0;
totalTime = 0;
pan = 0;
onStreamStart = function (){
};
super();
id = Utils.forceNumber(counter++);
Utils.removeChilds(this);
params = _arg1;
type = Utils.or(params.type, Utils.getFileExtension(params.uri)).toLowerCase();
params.onLoadComplete = Utils.or(params.onLoadComplete, new Function());
params.onLoadProgress = Utils.or(params.onLoadProgress, new Function());
params.onLoadError = Utils.or(params.onLoadError, new Function());
params.onStreamComplete = Utils.or(params.onStreamComplete, new Function());
onStreamStart = Utils.or(params.onStreamStart, onStreamStart);
group = params.group;
target = params.target;
fitArea = params.fitArea;
timeMc = params.timeMc;
playing = true;
streamSlider = params.streamSlider;
if (streamSlider){
streamSlider.seHolder(this);
//unresolved jump
};
mouseDown = params.mouseDown;
pan = Utils.or(params.pan, pan);
preloadbarMc = params.preloadbarMc;
if (preloadbarMc){
preloadbarMc.scaleX = 0.01;
preloadbarMc.alpha = 0;
//unresolved jump
};
}
public function stop(){
doStop();
playing = false;
if (soundChannel){
soundChannel.stop();
//unresolved jump
};
}
public function doOnLoadError(){
}
public function setVolume(_arg1){
volume = _arg1;
}
public function doOnLoadProgress(){
}
public function doPause(){
}
public function setButton(){
if (((mouseDown) && (fitArea))){
area_mc = new MovieClip();
Utils.drawArea(area_mc, fitArea.width, fitArea.height);
parent.addChild(area_mc);
button = new Button({target:area_mc, mouseDown:mouseDown});
};
}
public function onStream(){
doOnStream();
percentPlayed = ((position * 100) / duration);
if (((streamSlider) && (!(blocked)))){
streamSlider.setPercent(percentPlayed);
//unresolved jump
};
if (timeMc){
timeMc.fieldTime.text = Utils.seconds2Minutes(stream.time);
//unresolved jump
};
if ((Math.ceil(percentPlayed) >= 100)){
onStreamComplete();
//unresolved jump
};
if (((streamSlider) && (!(blocked)))){
streamSlider.setPercent(percentPlayed);
//unresolved jump
};
}
public function doPlay(){
}
public function start(){
doStart();
playing = true;
}
public function seek(_arg1, _arg2=false){
doSeek(_arg1, _arg2);
blocked = !(_arg2);
}
public function doStart(){
}
public function onStreamComplete(_arg1=null){
doOnStreamComplete();
removeButton();
Thread.remove(onStream);
params.onStreamComplete();
}
public function onLoadProgress(_arg1=null):void{
bytesLoaded = _arg1.bytesLoaded;
bytesTotal = _arg1.bytesTotal;
doOnLoadProgress();
percentLoaded = ((bytesLoaded * 100) / bytesTotal);
if ((percentLoaded == 100)){
Thread.remove(onLoadProgress);
//unresolved jump
};
if (streamSlider){
streamSlider.fillPreloadBar(percentLoaded);
//unresolved jump
};
if (preloadbarMc){
preloadbarMc.scaleX = (percentLoaded / 100);
preloadbarMc.alpha = 1;
};
}
public function update(_arg1){
}
public function removeButton(){
if (area_mc){
parent.removeChild(area_mc);
//unresolved jump
};
}
public function doStop(){
}
public function doOnLoadComplete(){
}
public function play(){
if (!playing){
doPlay();
playing = true;
};
}
public function httpStatusHandler(_arg1=null){
}
public function doOnStreamComplete(){
}
public function securityErrorHandler(_arg1=null){
}
public function openHandler(_arg1=null){
}
public function doSeek(_arg1=null, _arg2=null){
}
public function onLoadError(_arg1=null):void{
params.onLoadError(_arg1);
dispatchEvent(_arg1);
}
public function onLoadComplete(_arg1){
doOnLoadComplete();
setButton();
if (preloadbarMc){
preloadbarMc.scaleX = 0.01;
preloadbarMc.alpha = 0;
};
}
public function doStream(){
}
public function doOnStream(){
}
public function pause(){
if (playing){
doPause();
playing = false;
};
}
public function setListeners(){
dispatcher.addEventListener(Event.COMPLETE, onLoadComplete, false, 0, true);
dispatcher.addEventListener(ProgressEvent.PROGRESS, onLoadProgress, false, 0, true);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, onLoadError, false, 0, true);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler, false, 0, true);
dispatcher.addEventListener(Event.OPEN, openHandler, false, 0, true);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler, false, 0, true);
if (target){
target.addChild(this);
//unresolved jump
};
if (params.volume != null){
setVolume(params.volume);
//unresolved jump
};
}
}
}//package geeon.holders
class Unlocker {
private function Unlocker(){
}
}
Section 20
//BitmapHolder (geeon.holders.BitmapHolder)
package geeon.holders {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class BitmapHolder extends AbstractHolder {
public function BitmapHolder(_arg1=null){
super(_arg1);
params = _arg1;
loader = new Loader();
dispatcher = loader.contentLoaderInfo;
if (params.uri){
start();
//unresolved jump
};
addChild(loader);
setListeners();
}
override public function doStart(){
load(params.uri);
}
public function load(_arg1){
loader.load(new URLRequest(_arg1));
}
override public function doOnLoadComplete(){
if (fitArea){
Utils.fit(loader, fitArea);
//unresolved jump
};
}
}
}//package geeon.holders
Section 21
//MCHolder (geeon.holders.MCHolder)
package geeon.holders {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class MCHolder extends AbstractHolder {
var resized:Boolean;// = false
public function MCHolder(_arg1=null){
resized = false;
super(_arg1);
loader = new Loader();
dispatcher = loader.contentLoaderInfo;
setListeners();
loader.load(new URLRequest(params.uri));
if (target){
target.addChild(loader);
//unresolved jump
};
}
override public function doOnLoadProgress(){
if (((!(resized)) && ((loader.width > 1)))){
getStream();
//unresolved jump
};
}
override public function doPause(){
if (stream){
stream.stop();
//unresolved jump
};
}
override public function doPlay(){
if (stream){
stream.play();
//unresolved jump
};
}
public function getStream(){
resized = true;
stream = loader.content;
duration = stream.totalFrames;
if (fitArea){
Utils.fit(loader, fitArea);
//unresolved jump
};
onStreamStart();
stream.gotoAndPlay(1);
Thread.add(onStream);
}
override public function doStart(){
if (stream){
stream.gotoAndPlay(1);
//unresolved jump
};
}
override public function doStop(){
if (stream){
stream.gotoAndStop(1);
//unresolved jump
};
loader.unload();
Thread.remove(onStream);
dispatcher.removeEventListener(Event.COMPLETE, onLoadComplete);
dispatcher.removeEventListener(ProgressEvent.PROGRESS, onLoadProgress);
dispatcher.removeEventListener(IOErrorEvent.IO_ERROR, onLoadError);
dispatcher.removeEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.removeEventListener(Event.OPEN, openHandler);
dispatcher.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
}
override public function doOnLoadComplete(){
if (!resized){
getStream();
//unresolved jump
};
}
override public function doOnStreamComplete(){
if (stream){
stream.stop();
//unresolved jump
};
Thread.remove(onStream);
}
override public function doOnStream(){
position = stream.currentFrame;
}
}
}//package geeon.holders
Section 22
//SoundHolder (geeon.holders.SoundHolder)
package geeon.holders {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class SoundHolder extends AbstractHolder {
public function SoundHolder(_arg1=null){
super(_arg1);
stream = (params.linkage) ? Utils.attach(params.linkage) : new Sound(new URLRequest(params.uri), new SoundLoaderContext((params.buffer * 1000)));
dispatcher = stream;
setListeners();
start();
dispatcher.addEventListener(Event.ID3, onID3, false, 0, true);
dispatcher.addEventListener(Event.COMPLETE, onID3, false, 0, true);
}
function onID3(_arg1:Event):void{
var _local2:*;
_local2 = ID3Info(stream.id3);
}
override public function doStart(){
if (soundChannel){
soundChannel.stop();
//unresolved jump
};
soundChannel = stream.play((params.ini) ? (params.ini * 1000) : 0, ((params.loop)>=0) ? params.loop : 0);
soundChannel.addEventListener(Event.SOUND_COMPLETE, onStreamComplete, false, 0, true);
}
}
}//package geeon.holders
Section 23
//VideoHolder (geeon.holders.VideoHolder)
package geeon.holders {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class VideoHolder extends AbstractHolder {
public function VideoHolder(_arg1=null){
var _local2:NetConnection;
super(_arg1);
video = new Video();
_local2 = new NetConnection();
_local2.connect(null);
soundChannel = (stream = new NetStream(_local2));
stream.bufferTime = 9;
stream.play(params.uri);
stream.client = {onMetaData:onMetaData};
video.attachNetStream(stream);
dispatcher = stream;
if (target){
target.addChild(video);
} else {
addChild(video);
};
Thread.add(onStream);
stream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus, false, 0, true);
}
override public function doOnLoadProgress(){
bytesLoaded = stream.bytesLoaded;
bytesTotal = stream.bytesTotal;
}
override public function doPause(){
stream.pause();
}
function onMetaData(_arg1:Object){
if (_arg1.duration){
duration = _arg1.duration;
//unresolved jump
};
if (timeMc){
timeMc.fieldTotal.text = Utils.seconds2Minutes(duration);
//unresolved jump
};
}
override public function doPlay(){
stream.resume();
}
function onNetStatus(_arg1:NetStatusEvent){
video.width = video.videoWidth;
video.height = video.videoHeight;
if (fitArea){
Utils.fit(video, fitArea);
//unresolved jump
};
}
override public function doStop(){
stream.seek(0);
}
override public function doOnStream(){
position = stream.time;
}
}
}//package geeon.holders
Section 24
//Bitmap3D (geeon.particles.Bitmap3D)
package geeon.particles {
import flash.display.*;
public class Bitmap3D extends Bitmap {
public var z:Number;// = 0
public function Bitmap3D(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=true){
z = 0;
super(_arg1, _arg2, _arg3);
}
}
}//package geeon.particles
Section 25
//BitmapDataPool (geeon.particles.BitmapDataPool)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class BitmapDataPool {
public static var percent:int = 100;
private static var length:int = 0;
private static var cached:int = 0;
public static var preloadBar:MovieClip;
public static var onFinish:Function = function (){
};
public static var pool:Dictionary = new Dictionary();
public function BitmapDataPool(_arg1:Unlocker){
}
private static function push(_arg1, _arg2=null){
Document.setRenderQuality();
pool[_arg1] = new BitmapDataCapture(_arg1, _arg2);
length++;
getPercent();
return (pool[_arg1]);
}
public static function onThreadComplete(_arg1){
cached++;
getPercent();
}
public static function getPercent(){
percent = Math.round(((cached * 100) / length));
if (preloadBar){
preloadBar.scaleX = (percent / 100);
//unresolved jump
};
if (cached == length){
if (onFinish != null){
onFinish();
//unresolved jump
};
};
}
public static function batch(_arg1:Array){
var _local2:*;
while (_arg1.length) {
_local2 = _arg1.shift();
if ((_local2.length > 1)){
pull(_local2);
continue;
};
};
}
public static function pull(_arg1, _arg2=null){
if (_arg2){
delete pool[_arg1];
};
return ((pool[_arg1]) ? pool[_arg1] : push(_arg1, _arg2));
}
}
}//package geeon.particles
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
class Unlocker {
private function Unlocker(){
}
}
class BitmapDataCapture {
private var movieclip:MovieClip;
public var timeline:Array;
public var linkage;
public var width:int;// = 1
private var bmp:BitmapData;
private var renderFunction;
private var labelFrame:int;
public var height:int;// = 1
private var frameIsReady:Boolean;
public var n:int;// = 0
private var currentFrame:int;// = 1
private var label:String;
private var lastLabel:String;
private function BitmapDataCapture(_arg1, _arg2=null){
timeline = [];
n = 0;
width = 1;
height = 1;
currentFrame = 1;
super();
linkage = _arg1;
renderFunction = _arg2;
timeline.labels = [];
cacheMovieClip();
}
public function drawFrame(){
movieclip.gotoAndStop(currentFrame);
frameIsReady = (renderFunction) ? renderFunction(movieclip) : true;
if (!frameIsReady){
return;
};
bmp = new BitmapData(width, height, true, 0);
bmp.draw(movieclip);
timeline[(currentFrame - 1)] = bmp;
label = movieclip.currentLabel;
if (label){
if (label != lastLabel){
lastLabel = label;
labelFrame = 0;
};
var _local1 = labelFrame++;
timeline[label][_local1] = bmp;
};
if ((++currentFrame > movieclip.totalFrames)){
onComplete();
//unresolved jump
};
}
public function cacheMovieClip(){
var _local1:*;
movieclip = new linkage();
width = movieclip.width;
height = movieclip.height;
bmp = new BitmapData(width, height, true, 0);
bmp.draw(movieclip);
_local1 = 1;
while (_local1 <= movieclip.totalFrames) {
movieclip.gotoAndStop(_local1);
timeline.push(bmp);
label = movieclip.currentLabel;
if (label){
if (!timeline[label]){
timeline.labels.push(label);
timeline[label] = [];
};
timeline[label].push(bmp);
};
_local1++;
};
Thread.add(drawFrame);
}
public function cacheBitmapData(){
bmp = new linkage(1, 1);
height = bmp.height;
width = bmp.width;
timeline.push(bmp);
BitmapDataPool.onThreadComplete(linkage);
}
public function onComplete(){
movieclip.visible = false;
movieclip = null;
Thread.remove(drawFrame);
BitmapDataPool.onThreadComplete(linkage);
}
}
Section 26
//Bounds (geeon.particles.Bounds)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Bounds {
public var dept:int;
public var width:int;
public var radius:int;
public var hit:Boolean;
public var top:int;
public var right:int;
public var left:int;
public var height:int;
public var front:int;
public var bottom:int;
public var y:int;
public var x:int;
public function Bounds(_arg1=0, _arg2=0, _arg3=0, _arg4=0, _arg5=0, _arg6=0){
top = _arg1;
bottom = _arg2;
left = _arg3;
right = _arg4;
depth = _arg5;
front = _arg6;
}
public function update(_arg1){
top = Utils.or(_arg1.top, top);
bottom = Utils.or(_arg1.bottom, bottom);
left = Utils.or(_arg1.left, left);
right = Utils.or(_arg1.right, right);
depth = Utils.or(_arg1.depth, depth);
front = Utils.or(_arg1.front, front);
}
public function reset(){
top = (bottom = (left = (right = (depth = (front = 0)))));
}
public function setAura(_arg1, _arg2, _arg3, _arg4){
var _local5:*;
var _local6:*;
_local5 = (_arg3 / 2);
_local6 = (_arg4 / 2);
left = (_arg1 - _local5);
right = (_arg1 + _local5);
top = (_arg2 - _local6);
bottom = (_arg2 + _local6);
}
public function toString(){
return (((((((("BOUNDS Left " + left) + " Right ") + right) + " Top ") + top) + " Bottom ") + bottom));
}
public function constrain(_arg1){
_arg1.x = Utils.constrain(_arg1.x, left, right);
_arg1.y = Utils.constrain(_arg1.y, top, bottom);
}
}
}//package geeon.particles
Section 27
//Keyb (geeon.particles.Keyb)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Keyb {
public static var isDown:Object = {};
private static var keyMap:Object = {37:"LEFT", 38:"UP", 39:"RIGHT", 40:"DOWN", 32:"SPACE", 48:0, 49:1, 50:2, 51:3, 52:4, 53:5, 54:6, 55:7, 56:8, 57:9, 65:"a", 66:"b", 67:"c", 68:"d", 69:"e", 70:"f", 71:"g", 72:"h", 73:"i", 74:"j", 75:"k", 76:"l", 77:"m", 78:"n", 79:"o", 81:"q", 82:"r", 83:"s", 84:"t", 85:"u", 86:"v", 87:"w", 88:"x", 89:"y", 90:"z"};
public static var delta:int = 0;
public static function onEvent(_arg1){
var _local2:*;
var _local3:*;
_local2 = _arg1.type;
if ((((_local2 == "keyDown")) || ((_local2 == "keyUp")))){
_local3 = keyMap[_arg1.keyCode];
if ((_local2 == "keyDown")){
isDown[_local3] = true;
} else {
delete isDown[_local3];
};
isDown.SHIFT = _arg1.shiftKey;
isDown.ALT = _arg1.altKey;
isDown.CONTROL = _arg1.ctrlKey;
};
Thread.dispatch(_arg1);
}
}
}//package geeon.particles
Section 28
//Space (geeon.particles.Space)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Space extends Sprite {
public static var ceil:Sprite = new Sprite();
public static var specialfx:Sprite = new Sprite();
public static var floor:Sprite = new Sprite();
public static var sprites:Sprite = new Sprite();
public static var shadows:Sprite = new Sprite();
public static var instance:Space;
public static var clouds:Sprite = new Sprite();
public static var autoScroll:Boolean = true;
public static var centerY:Number = (Document.height / 2);
public static var pool:Array = [];
public static var SCROLL_FRICTION:int = 6;
public static var text:Sprite = new Sprite();
public static var centerX:Number = (Document.width / 2);
public static var rect:Rectangle = new Rectangle(0, 0, Document.width, Document.height);
public static var bounds:Bounds;
public function Space(_arg1, _arg2:Unlocker){
instance = this;
if (_arg1.container){
Utils.toBack(this, _arg1.container);
//unresolved jump
};
addChild(floor);
addChild(shadows);
addChild(sprites);
addChild(ceil);
addChild(clouds);
addChild(specialfx);
addChild(text);
}
public function scroll(){
x = (x + ((-((Viewport.focus.x - centerX)) - x) / SCROLL_FRICTION));
y = (y + ((-((Viewport.focus.y - centerY)) - y) / SCROLL_FRICTION));
if (bounds){
bounds.constrain(this);
//unresolved jump
};
}
public static function remove(_arg1){
pool.splice(pool.indexOf(_arg1), 1);
Utils.removeChild(_arg1.target);
return (pool);
}
public static function shake(_arg1:int=20, _arg2:int=0){
instance.x = (instance.x + _arg2);
instance.y = (instance.y + _arg1);
}
public static function init(_arg1=null){
if (!instance){
new Space(_arg1, new Unlocker());
//unresolved jump
};
reset();
return (instance);
}
public static function constrainScroll(_arg1, _arg2){
if (!bounds){
bounds = new Bounds();
//unresolved jump
};
bounds.setAura(centerX, centerY, _arg1, _arg2);
}
public static function step(){
var _local1:*;
var _local2:*;
var _local3:*;
for (_local1 in pool) {
pool[_local1].step();
};
_local2 = Utils.getContained(sprites);
_local2.sortOn("z");
for (_local3 in _local2) {
sprites.setChildIndex(_local2[_local3], _local3);
};
instance.scroll();
}
public static function push(_arg1, _arg2="sprites"){
if (pool.indexOf(_arg1) == -1){
pool.push(_arg1);
if (_arg1.target){
Space[_arg2].addChild(_arg1.target);
//unresolved jump
};
};
return (pool);
}
public static function reset(){
pool = [];
Utils.removeChilds(floor);
Utils.removeChilds(shadows);
Utils.removeChilds(sprites);
Utils.removeChilds(ceil);
Utils.removeChilds(clouds);
Utils.removeChilds(specialfx);
Utils.removeChilds(text);
instance.x = centerX;
instance.y = centerY;
}
}
}//package geeon.particles
class Unlocker {
private function Unlocker(){
}
}
Section 29
//SpriteBitmap (geeon.particles.SpriteBitmap)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class SpriteBitmap extends Sprite {
public var totalFrames:int;// = 0
public var playing:Boolean;// = true
public var bitmap:Bitmap3D;
public var timeline:Array;
public var label:String;
public var scale:Number;// = 1
public var frame:int;// = 0
public var center:Point;
public var autoPlay:Boolean;// = false
public var bitmapData:BitmapData;
public var z:Number;// = 0
public var linkage;
public var currentTimeline:Array;
public var isVisible:Boolean;// = true
public var backwards:Boolean;// = false
public var autoLoop:Boolean;// = true
public static var active:Array = [];
public static var inactive:Array = [];
public static var length:int = 0;
public static var pool:Array = [];
public function SpriteBitmap(_arg1=null){
var _local2:*;
z = 0;
frame = 0;
totalFrames = 0;
playing = true;
backwards = false;
autoPlay = false;
autoLoop = true;
isVisible = true;
scale = 1;
super();
_local2 = BitmapDataPool.pull(_arg1.linkage);
timeline = _local2.timeline;
bitmap = new Bitmap3D(timeline[0]);
addChild(bitmap);
indexPool(this);
goto(_arg1);
if (center){
bitmap.x = center.x;
bitmap.y = center.y;
} else {
bitmap.x = (-(bitmap.width) / 2);
bitmap.y = (-(bitmap.height) / 2);
};
}
public function set container(_arg1){
_arg1.addChild(this);
}
public function get childIndex(){
return (parent.getChildIndex(this));
}
public function set childIndex(_arg1){
parent.setChildIndex(this, _arg1);
}
public function goto(_arg1){
Utils.extract(_arg1, this);
if (((label) && (!(timeline[label])))){
label = null;
//unresolved jump
};
if ((frame == "random")){
random();
//unresolved jump
};
scaleX = (scaleY = scale);
render();
}
public function render(){
currentTimeline = (label) ? timeline[label] : timeline;
totalFrames = currentTimeline.length;
if (backwards){
if (frame < 0){
frame = (autoLoop) ? (totalFrames - 1) : 0;
};
} else {
if (frame >= (totalFrames - 1)){
frame = (autoLoop) ? 0 : (totalFrames - 1);
};
};
bitmap.bitmapData = (bitmapData = currentTimeline[frame]);
smoothing = true;
}
public function random(_arg1=null){
_arg1 = Utils.or(_arg1, totalFrames);
frame = Math.round((Math.random() * _arg1));
render();
}
public function step(){
if (playing){
if (backwards){
frame--;
} else {
frame++;
};
};
render();
}
public function refresh(){
timeline = BitmapDataPool.pull(linkage).timeline;
render();
}
public static function pull(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = null;
for (_local3 in inactive) {
_local2 = inactive[_local3];
if (_local2.linkage == _arg1.linkage){
break;
};
_local2 = null;
};
if (_local2){
_local4 = inactive.indexOf(_local2);
inactive.splice(_local4, 1);
active.push(_local2);
_local2.goto(_arg1);
} else {
_local2 = new SpriteBitmap(_arg1);
};
return (_local2);
}
public static function indexPool(_arg1){
if (pool.indexOf(_arg1) != -1){
return (length);
};
pool.push(_arg1);
active.push(_arg1);
length = pool.length;
return (length);
}
public static function reset(){
while (active.length) {
push(active[0]);
};
}
public static function push(_arg1){
active.splice(active.indexOf(_arg1), 1);
inactive.push(_arg1);
Utils.removeChild(_arg1);
}
public static function call(_arg1:String, _arg2=null){
var _local3:*;
for (_local3 in active) {
if (_arg2){
var _local6 = active[_local3];
_local6[_arg1](_arg2);
} else {
_local6 = active[_local3];
_local6[_arg1]();
};
};
}
}
}//package geeon.particles
Section 30
//SpriteBitmapText (geeon.particles.SpriteBitmapText)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class SpriteBitmapText extends Sprite {
public var counter:uint;
public var playing:Boolean;// = true
public var bitmap:Bitmap3D;
public var scale:Number;// = 1
public var center:Point;
public var bitmapData:BitmapData;
public var target:MovieClip;
public var z:Number;// = 0
public var textFieldTitle:TextField;
public var linkage;
public var textField:TextField;
public var rect:Rectangle;
public function SpriteBitmapText(_arg1){
z = 0;
playing = true;
scale = 1;
super();
target = _arg1;
textField = target.textField;
textFieldTitle = target.textFieldTitle;
bitmapData = new BitmapData(target.width, target.height, true, 0);
bitmap = new Bitmap3D(bitmapData, "auto", true);
rect = new Rectangle(0, 0, target.width, target.height);
x = target.x;
y = target.y;
addChild(bitmap);
target.parent.addChild(this);
Utils.removeChild(target);
show();
}
public function step(){
if (!--counter){
Thread.remove(step);
visible = false;
};
}
public function show(_arg1:String="", _arg2=0, _arg3:String=null){
visible = true;
textField.text = _arg1;
if (_arg3){
textFieldTitle.text = _arg3;
//unresolved jump
};
bitmapData.lock();
bitmapData.fillRect(rect, 0xFF);
bitmapData.draw(target, null, null, null, null, true);
bitmapData.unlock();
if (_arg2){
counter = _arg2;
Thread.add(step);
};
}
}
}//package geeon.particles
Section 31
//Thread (geeon.particles.Thread)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Thread {
private static var lastTime:Number = 0;
private static var interval:uint;
private static var DEFAULT_SPEED:int = 30;
private static var thisTime:Number = 0;
public static var time:Number = 0;
private static var currentClock:int = 0;
private static var trashcan:Array = [];
public static var keyUp:Array = [];
private static var instance:Thread;
public static var mouseUp:Array = [];
public static var keyDown:Array = [];
private static var dictionary:Dictionary = new Dictionary();
public static var mouseDown:Array = [];
private static var inactive:Array = [];
public static var mouseMove:Array = [];
private static var garbage:Boolean;
public static var mouseWheel:Array = [];
public static var enterFrame:Array = [];
private static var stage:Stage;
public function Thread(_arg1, _arg2:Unlocker){
instance = this;
_arg1.addEventListener(KeyboardEvent.KEY_UP, Keyb.onEvent);
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, Keyb.onEvent);
_arg1.addEventListener(MouseEvent.MOUSE_UP, dispatch);
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, dispatch);
_arg1.addEventListener(MouseEvent.MOUSE_WHEEL, dispatch);
setClock();
}
public static function remove(_arg1:Function){
var _local2:*;
_local2 = dictionary[_arg1];
if (_local2){
delete dictionary[_arg1];
trashcan.push(_local2);
garbage = true;
};
}
public static function setClock(_arg1=null){
if (interval){
clearInterval(interval);
//unresolved jump
};
currentClock = Utils.or(_arg1, DEFAULT_SPEED);
interval = setInterval(dispatch, currentClock);
}
public static function init(_arg1){
if (!instance){
new Thread(_arg1, new Unlocker());
//unresolved jump
};
}
public static function cleanGarbage(){
var _local1:*;
var _local2:*;
garbage = false;
while (trashcan.length) {
_local1 = trashcan.shift();
_local2 = _local1.type;
Thread[_local2].splice(Thread[_local2].indexOf(_local1), 1);
inactive.push(_local1);
_local1.dispose();
};
}
public static function add(_arg1:Function, _arg2="enterFrame", _arg3:uint=0, _arg4:uint=0, _arg5:Function=null){
var _local6:*;
remove(_arg1);
_local6 = (inactive.length) ? inactive.shift() : new Daemon();
dictionary[_arg1] = _local6;
_local6.init(_arg1, _arg2, _arg3, _arg4, _arg5);
Thread[_arg2].push(_local6);
}
public static function dispatch(_arg1=null){
var _local2:String;
var _local3:*;
var _local4:*;
if (garbage){
cleanGarbage();
//unresolved jump
};
_local2 = (_arg1) ? _arg1.type : "enterFrame";
if (_local2 == "enterFrame"){
thisTime = getTimer();
time = ((thisTime - lastTime) / DEFAULT_SPEED);
lastTime = thisTime;
};
if ((_local2 == "mouseWheel")){
delta = _arg1.delta;
//unresolved jump
};
_local3 = Thread[_local2];
for (_local4 in _local3) {
_local3[_local4].execute();
};
}
}
}//package geeon.particles
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
class Daemon {
public var cycle:uint;
public var times:uint;
public var onFinish:Function;
public var execute:Function;
public var type:String;
public var listener:Function;
public var counter:uint;
private function Daemon(){
}
public function init(_arg1:Function, _arg2:String, _arg3:uint=0, _arg4:uint=0, _arg5:Function=null){
type = _arg2;
listener = _arg1;
cycle = _arg3;
times = _arg4;
onFinish = _arg5;
execute = (((cycle) || (times))) ? doCycle : listener;
}
private function doCycle(){
if (++counter > cycle){
if (counter == times){
Thread.remove(listener);
if (onFinish != null){
onFinish();
//unresolved jump
};
} else {
counter = 0;
listener();
};
};
}
public function dispose(){
type = null;
listener = null;
cycle = 0;
times = 0;
onFinish = null;
execute = null;
}
}
class Unlocker {
private function Unlocker(){
}
}
Section 32
//TrigonometryPoint (geeon.particles.TrigonometryPoint)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class TrigonometryPoint {
public static var cos:Number;
public static var spring:Number;
public static var angle:Number;
public static var dx:Number;
public static var dy:Number;
public static var sin:Number;
public static var face:String;
public static var atan:Number;
public static var h:Number;
public static var radians:Number;
public static function getSinCos(_arg1, _arg2, _arg3="y", _arg4="x"){
hipotenusa(_arg1, _arg2, _arg3, _arg4);
cos = Utils.forceNumber((dx / h));
sin = Utils.forceNumber((dy / h));
return (TrigonometryPoint);
}
public static function hipotenusa(_arg1, _arg2, _arg3="y", _arg4="x"){
dx = distance(_arg1[_arg4], _arg2[_arg4]);
dy = distance(_arg1[_arg3], _arg2[_arg3]);
h = Math.sqrt(((dx * dx) + (dy * dy)));
return (TrigonometryPoint);
}
public static function rotation2Degrees(_arg1){
_arg1 = ((_arg1 < 0)) ? (360 + _arg1) : _arg1;
return (_arg1);
}
public static function springMax(_arg1, _arg2=null, _arg3=1, _arg4=1, _arg5="y", _arg6="x"){
if (_arg2){
hipotenusa(_arg1, _arg2, _arg5, _arg6);
//unresolved jump
};
if (h > _arg3){
applySpring(_arg1, _arg3, _arg4, _arg5, _arg6);
return (true);
};
return (false);
}
public static function getFace(_arg1:Object, _arg2:Number=0.75, _arg3:Boolean=false){
var _local4:*;
var _local5:*;
if ((((_local4 > -(_arg2))) && ((_local4 < _arg2)))){
face = ((_local5 < 0)) ? "UP" : "DOWN";
} else {
face = ((_local4 < 0)) ? "LEFT" : "RIGHT";
};
return (TrigonometryPoint);
}
private static function applySpring(_arg1, _arg2=1, _arg3=1, _arg4="y", _arg5="x"){
spring = ((h - _arg2) / h);
_arg1[_arg5] = (_arg1[_arg5] + ((dx * spring) / _arg3));
_arg1[_arg4] = (_arg1[_arg4] + ((dy * spring) / _arg3));
}
public static function radiansToAngle(_arg1, _arg2=0){
angle = ((_arg1 * 180) / Math.PI);
angle = (angle + ((_arg2 < 0)) ? 180 : 0);
return (angle);
}
public static function springMin(_arg1, _arg2=null, _arg3=1, _arg4=1, _arg5="y", _arg6="x"){
if (_arg2){
hipotenusa(_arg1, _arg2, _arg5, _arg6);
//unresolved jump
};
if (h < _arg3){
applySpring(_arg1, _arg3, _arg4, _arg5, _arg6);
return (true);
};
return (false);
}
public static function getAll(_arg1, _arg2=null, _arg3="y", _arg4="x"){
getSinCos(_arg1, _arg2, _arg3, _arg4);
atan = (dy / dx);
radians = Math.atan(atan);
radiansToAngle(radians, dx);
return (TrigonometryPoint);
}
public static function distance(_arg1, _arg2){
return ((_arg2 - _arg1));
}
public static function midPoint(_arg1=0, _arg2=0){
return (Utils.forceNumber((_arg2 + (distance(_arg1, _arg2) / 2))));
}
public static function doSpring(_arg1, _arg2=null, _arg3=1, _arg4=1, _arg5="y", _arg6="x"){
if (_arg2){
hipotenusa(_arg1, _arg2, _arg5, _arg6);
//unresolved jump
};
applySpring(_arg1, _arg3, _arg4, _arg5, _arg6);
}
public static function springRange(_arg1, _arg2=null, _arg3=1, _arg4=10, _arg5=1, _arg6="y", _arg7="x"){
var _local8:*;
var _local9:*;
if (_arg2){
hipotenusa(_arg1, _arg2, _arg6, _arg7);
//unresolved jump
};
_arg2 = null;
_local8 = springMin(_arg1, _arg2, _arg3, trig, _arg6);
_local9 = springMax(_arg1, _arg2, _arg4, trig, _arg6);
return (((_local8) || (_local9)));
}
}
}//package geeon.particles
Section 33
//TweenParticle (geeon.particles.TweenParticle)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class TweenParticle extends TweenThread {
public var xtraAccel:Number;// = 0
public var lastLabel:String;
public var target;
public var radius:uint;
public var bitmapParams:Object;
public var lives:int;// = 0
public var pointReached:Boolean;// = true
public var view:String;// = "front"
public var label:String;
public var boundaries:Boolean;
public var height:Number;// = 0
public var BASE_VELOCITY:Number;// = 1
public var velAccel:Number;// = 0
public var width:Number;// = 0
public var centered:Number;// = 0
public var side:String;
public var moving:Boolean;
public var tweens:TweenPool;
public function TweenParticle(_arg1=null){
var params = _arg1;
width = 0;
height = 0;
centered = 0;
velAccel = 0;
pointReached = true;
BASE_VELOCITY = 1;
xtraAccel = 0;
view = "front";
lives = 0;
tweens = new TweenPool(this);
step = function (){
tween();
render();
};
super(params);
}
public function render(){
Viewport.render(tweens, target);
}
public function tween(){
time = Thread.time;
x = (x + (velocity.x * time));
y = (y + (velocity.y * time));
z = (z + (velocity.z * time));
velocity.scalar(friction);
tweens.step();
}
public function flip(_arg1){
var _local2:Number;
_local2 = Utils.positive(target.scaleX);
target.scaleX = ((_arg1 > 0)) ? _local2 : -(_local2);
}
}
}//package geeon.particles
Section 34
//TweenPoint (geeon.particles.TweenPoint)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class TweenPoint {
public var y:Number;// = 0
public var scale:Number;// = 1
public var rotationX:Number;// = 0
public var rotationY:Number;// = 0
public var rotationZ:Number;// = 0
public var alpha:Number;// = 1
public var visible:Boolean;// = true
public var x:Number;// = 0
public var z:Number;// = 0
public var filters:Array;
public var rotation:Number;// = 0
public function TweenPoint(_arg1=null){
x = 0;
y = 0;
z = 0;
alpha = 1;
scale = 1;
rotation = 0;
rotationX = 0;
rotationY = 0;
rotationZ = 0;
visible = true;
super();
if (_arg1){
extract(_arg1);
//unresolved jump
};
}
public function extract(_arg1){
Utils.extract(_arg1, this);
}
public function merge(_arg1){
scale = (scale * _arg1.scale);
alpha = (alpha * _arg1.alpha);
x = (x + (_arg1.x * scale));
y = (y + (_arg1.y * scale));
z = (z + (_arg1.z * scale));
rotation = (rotation + _arg1.rotation);
}
public function copyState(_arg1){
scale = _arg1.scale;
alpha = _arg1.alpha;
x = _arg1.x;
y = _arg1.y;
z = _arg1.z;
rotation = _arg1.rotation;
}
}
}//package geeon.particles
Section 35
//TweenPool (geeon.particles.TweenPool)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class TweenPool extends TweenPoint {
public var target;
public var length:int;// = 0
public var pool:Array;
public function TweenPool(_arg1, _arg2:Array=null){
pool = [];
length = 0;
super();
pool = Utils.or(_arg2, pool);
target = _arg1;
restart();
}
public function stop(_arg1=null){
var _local2:*;
var _local3:*;
if (((!(_arg1)) || ((_arg1 is Array)))){
_local2 = Utils.or(_arg1, pool);
for (_local3 in _local2) {
_local2[_local3].playing = false;
};
return;
};
_arg1.playing = true;
}
public function random(){
play(Utils.arrayGetRandom(pool));
}
public function step(){
var _local1:*;
var _local2:*;
copyState(target);
if (!length){
return;
};
for (_local1 in pool) {
_local2 = pool[_local1];
if (_local2.playing){
_local2.step();
//unresolved jump
};
merge(_local2);
};
}
public function restart(){
var _local1:*;
for (_local1 in pool) {
pool[_local1].restart();
};
}
public function push(_arg1){
if ((_arg1 is Array)){
pool.concat(_arg1);
length = (length + _arg1.length);
return;
};
pool.push(_arg1);
length++;
return (_arg1);
}
public function play(_arg1=null){
var _local2:*;
var _local3:*;
stop();
if (((!(_arg1)) || ((_arg1 is Array)))){
_local2 = Utils.or(_arg1, pool);
for (_local3 in _local2) {
_local2[_local3].playing = true;
};
return;
};
_arg1.playing = true;
}
}
}//package geeon.particles
Section 36
//TweenThread (geeon.particles.TweenThread)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class TweenThread extends TweenPoint {
public var counter:int;// = 0
public var mass:Number;// = 1
public var cos:Number;// = 0
public var restart:Function;
public var dist:int;// = 0
public var modeNULL:Function;
public var trig;
public var playing:Boolean;// = true
public var mode:Function;
public var play:Function;
public var time:Number;// = 0
public var step:Function;
public var sin:Number;// = 0
public var velocity:Vector;
public var friction:Number;// = 1
public var pause:Function;
public function TweenThread(_arg1=null){
friction = 1;
mass = 1;
velocity = new Vector();
time = 0;
dist = 0;
sin = 0;
cos = 0;
counter = 0;
modeNULL = function (){
};
playing = true;
step = function (){
};
restart = function (){
};
play = function (){
playing = true;
};
pause = function (){
playing = false;
};
super(_arg1);
}
}
}//package geeon.particles
Section 37
//Vector (geeon.particles.Vector)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Vector {
public var visible:Boolean;
public var x:Number;
public var y:Number;
public var z:Number;
public function Vector(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){
x = _arg1;
y = _arg2;
z = _arg3;
}
public function bounceTo(_arg1, _arg2, _arg3=0.9, _arg4=5){
x = ((x * _arg3) + ((_arg2.x - _arg1.x) / _arg4));
y = ((y * _arg3) + ((_arg2.y - _arg1.y) / _arg4));
z = ((z * _arg3) + ((_arg2.z - _arg1.z) / _arg4));
}
public function extract(_arg1){
Utils.extract(_arg1, this);
}
public function update(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){
x = _arg1;
y = _arg2;
z = _arg3;
return (this);
}
public function multiply(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1){
x = (x * _arg1);
y = (y * _arg2);
z = (z * _arg3);
}
public function toString():String{
return ((((((("Point3D = [" + x) + ",") + y) + ",") + z) + "]"));
}
public function cloneInverse(){
return (new Point3D(-(x), -(y), -(z)));
}
public function increment(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){
x = (x + _arg1);
y = (y + _arg2);
z = (z + _arg3);
}
public function scalar(_arg1:Number){
x = (x * _arg1);
y = (y * _arg1);
z = (z * _arg1);
}
public function clone(){
return (new Point3D(x, y, z));
}
public function reset(){
x = (y = (z = 0));
}
public function adds(_arg1){
x = (x + _arg1.x);
y = (y + _arg1.y);
z = (z + _arg1.z);
}
}
}//package geeon.particles
Section 38
//Viewport (geeon.particles.Viewport)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import project.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Viewport {
public static var sinX:Number = 0;
public static var sinY:Number = 0;
static var tx;
public static var iso:Number = 0.69;
static var tz;
public static var output:Vector = new Vector();
static var ty;
static var xx;
public static var isoAng:Number = 0.485;
public static var rotationX:Number = 0;
public static var rotationY:Number = 0;
public static var rotationZ:Number = 0;
static var yy;
public static var mode:int = 2;
public static var cosX:Number = 0;
public static var cosY:Number = 0;
static var x1;
static var x2;
static var zz;
public static var scale:Number = 1;
public static var fov:Number = 300;
public static var zoom:Number = 1;
public static var focus;
static var y2;
static var y1;
static var s;
static var z1;
public static var x:Number = 0;
public static var y:Number = 0;
public static var z:Number = 0;
static var z2;
public static function render(_arg1, _arg2=null){
if (!_arg2){
_arg2 = output;
//unresolved jump
};
_arg2.x = _arg1.x;
_arg2.y = _arg1.y;
_arg2.z = _arg1.z;
if (mode == 0){
_arg2.z = _arg2.y;
return;
};
if (mode == 2){
_arg2.y = (_arg1.z + _arg1.y);
return;
};
if (mode == 3){
return;
};
if (mode == 4){
return;
};
}
public static function ISOtopoint(_arg1){
xx = (_arg1.x / iso);
yy = (_arg1.y / isoAng);
outputX = ((xx - yy) / 2);
outputY = ((yy + xx) / 2);
}
public static function degrees(){
cosX = Math.cos(rotationX);
sinX = Math.sin(rotationX);
cosY = Math.cos(rotationY);
sinY = Math.sin(rotationY);
}
public static function ZtoPoint(_arg1){
}
public static function pointISO(_arg1){
xx = _arg1.x;
yy = _arg1.y;
outputX = ((yy + xx) * iso);
outputY = ((yy - xx) * isoAng);
outputZ = _arg1.z;
}
public static function point2D(_arg1){
tx = (_arg1.x - x);
ty = (_arg1.y - y);
tz = (_arg1.z - z);
x1 = ((cosX * tx) - (sinX * tz));
z1 = ((sinX * tx) + (cosX * tz));
y1 = ((cosY * ty) - (sinY * z1));
z2 = ((sinY * ty) + (cosY * z1));
outputX = (x1 * s);
outputY = (y1 * s);
outputZ = (z2 * s);
outputScale = ((fov / (fov + z2)) * zoom);
}
degrees();
}
}//package geeon.particles
Section 39
//Document (geeon.system.Document)
package geeon.system {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Document {
public static var width:Number = 720;
public static var renderQuality:String = "HIGH";
public static var interfaceQuality:String = "HIGH";
public static var initialized:Boolean;
public static var gameFPS:int = 100;
public static var root:Sprite;
public static var height:Number = 540;
public static var gameQuality:String = "LOW";
public static var context:LoaderContext;
public static var interfaceFPS:int = 33;
public static var stage:Stage;
public function Document(_arg1, _arg2:Unlocker){
var _local3:*;
super();
root = _arg1;
initialized = true;
stage = root.stage;
Security.allowDomain("*");
Security.allowInsecureDomain("*");
context = new LoaderContext();
context.applicationDomain = new ApplicationDomain();
_local3 = new ContextMenu();
_local3.hideBuiltInItems();
root.contextMenu = _local3;
Utils.extract(LoaderInfo(stage.loaderInfo).parameters, Memory.global);
Thread.init(stage);
}
public static function setRenderQuality(){
if (!stage){
return;
};
stage.quality = renderQuality;
stage.frameRate = interfaceFPS;
}
public static function setInterfaceQuality(){
if (!stage){
return;
};
stage.quality = interfaceQuality;
stage.frameRate = interfaceFPS;
}
public static function init(_arg1){
if (!initialized){
new Document(_arg1, new Unlocker());
//unresolved jump
};
}
public static function setGameQuality(){
if (!stage){
return;
};
stage.quality = gameQuality;
stage.frameRate = gameFPS;
}
}
}//package geeon.system
class Unlocker {
private function Unlocker(){
}
}
Section 40
//Memory (geeon.system.Memory)
package geeon.system {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Memory {
public static var global:Object = {};
static var list:Object = null;
static var initialized:Boolean = false;
static var KEY:String = null;
public static function multiply(_arg1:String, _arg2:Number){
var _local3:*;
_local3 = Utils.forceNumber(getValue(_arg1));
_local3 = (_local3 * _arg2);
return (setValue(_arg1, _local3));
}
public static function setValue(_arg1:String, _arg2){
init();
list[Utils.encrypt(_arg1, KEY)] = Utils.encrypt(_arg2.toString(), KEY);
return (_arg2);
}
public static function init(_arg1=null){
if (((!(initialized)) || (_arg1))){
initialized = true;
KEY = (String(Math.random()).substr(2, 14) + String(Math.random()).substr(2, 14));
list = {};
};
}
public static function plus(_arg1:String, _arg2:Number){
var _local3:*;
_local3 = Utils.forceNumber(getValue(_arg1));
_local3 = (_local3 + _arg2);
list[Utils.encrypt(_arg1, KEY)] = Utils.encrypt(_local3.toString(), KEY);
return (_local3);
}
public static function getValue(_arg1:String){
init();
_arg1 = Utils.encrypt(_arg1, KEY);
return (((list[_arg1])!=null) ? Utils.decrypt(list[_arg1], KEY) : "");
}
}
}//package geeon.system
Section 41
//Mixer (geeon.system.Mixer)
package geeon.system {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.utils.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Mixer {
public static var _volume:Number = 1;
public static var iMusic;
public static var tracks:Array = [];
public static var mute:Boolean = false;
public static var list:Array = [];
public static var panCounter:Number = 0;
public static var _volFX:Number = 1;
public static var _volMusic:Number = 1;
public static var mMusic;
public static var globalPan:Number = 0;
public static var _globalVolume:Number = 1;
public static var gMusic;
public static function playFX(_arg1, _arg2=0, _arg3=0){
return (add({linkage:_arg1, group:"FX", pan:_arg2, type:"sound", uri:"", loop:_arg3}));
}
public static function menuMusicOff(){
tracksOff();
if (mMusic){
mMusic.stop();
//unresolved jump
};
}
public static function set volFX(_arg1){
_volFX = _arg1;
}
public static function tracksOff(){
var _local1:*;
for (_local1 in tracks) {
tracks[_local1].stop();
};
}
public static function playMusic(_arg1, _arg2=999999){
return (add({uri:_arg1, group:"Music", type:"mp3", loop:_arg2}));
}
public static function gameMusicOn(){
tracksOff();
if (!gMusic){
gMusic = addTrack("gameMusic");
//unresolved jump
};
if (!gMusic.playing){
gMusic.start();
//unresolved jump
};
}
public static function step(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
_globalVolume = (mute) ? 0 : _volume;
for (_local2 in list) {
_local3 = list[_local2];
if (_local3.soundChannel){
_local1 = (_local3.group) ? Mixer[("_vol" + _local3.group)] : 1;
_local4 = _local3.soundChannel.soundTransform;
_local4.volume = (_local1 * _local3.volume);
_local4.pan = _local3.pan;
_local3.soundChannel.soundTransform = _local4;
};
};
SoundMixer.soundTransform = new SoundTransform(_globalVolume, 0);
}
public static function soundsOn(){
mute = false;
}
public static function get volMusic(){
return (_volMusic);
}
public static function get volume(){
return (_globalVolume);
}
public static function soundError(_arg1){
}
public static function gameMusicOff(){
tracksOff();
if (gMusic){
gMusic.stop();
//unresolved jump
};
}
public static function menuMusicOn(){
tracksOff();
if (!mMusic){
mMusic = addTrack("menuMusic");
//unresolved jump
};
if (!mMusic.playing){
mMusic.start();
//unresolved jump
};
}
public static function add(_arg1=null){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = Utils.or(_arg1.type, Utils.getFileExtension(_arg1.uri)).toLowerCase();
if ((((_local2 == "mp3")) || ((_local2 == "sound")))){
for (_local4 in list) {
_local5 = false;
_local3 = list[_local4];
if (((_arg1.uri) && ((_local3.params.uri == _arg1.uri)))){
_local5 = true;
};
if (((_arg1.linkage) && ((_local3.params.linkage == _arg1.linkage)))){
_local5 = true;
};
if (_local5){
_local3.start();
_local3.pan = _arg1.pan;
return (_local3);
};
};
_local3 = new SoundHolder(_arg1);
};
if ((((((_local2 == "jpg")) || ((_local2 == "png")))) || ((_local2 == "gif")))){
_local3 = new BitmapHolder(_arg1);
};
if (_local2 == "flv"){
_local3 = new VideoHolder(_arg1);
};
if (_local2 == "swf"){
_local3 = new MCHolder(_arg1);
};
list.push(_local3);
return (_local3);
}
public static function interfaceMusicOff(){
tracksOff();
if (iMusic){
iMusic.stop();
//unresolved jump
};
}
public static function set volMusic(_arg1){
_volMusic = _arg1;
}
public static function get volFX(){
return (_volFX);
}
public static function addTrack(_arg1){
var _local2:*;
_local2 = add({linkage:_arg1, uri:"", type:"mp3", loop:9999, group:"Music"});
tracks.push(_local2);
return (_local2);
}
public static function interfaceMusicOn(){
tracksOff();
if (!iMusic){
iMusic = addTrack("interfaceMusic");
//unresolved jump
};
if (!iMusic.playing){
iMusic.start();
//unresolved jump
};
}
public static function soundsOff(){
mute = true;
}
public static function set volume(_arg1){
_globalVolume = _arg1;
}
Thread.add(step);
}
}//package geeon.system
Section 42
//Utils (geeon.utils.Utils)
package geeon.utils {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Utils {
private var _interrupt:Boolean;// = false
static var PHI:Number = 1.61803398874989;
static var DEG2RAD:Number = 0.0174532925199433;
private static var _listeners:Array = [];
static var LAMBDA:Number = 0.57721566490143;
static var root;
static var RAD2DEG:Number = 57.2957795130823;
private static var _instance:Utils;
public function Utils(){
_interrupt = false;
super();
}
public function dupeMovie(_arg1:DisplayObject, _arg2:Boolean=false){
var _local3:Class;
var _local4:DisplayObject;
var _local5:Rectangle;
_local3 = _arg1["constructor"];
_local4 = new (_local3);
_local4.transform = _arg1.transform;
_local4.filters = _arg1.filters;
_local4.cacheAsBitmap = _arg1.cacheAsBitmap;
_local4.opaqueBackground = _arg1.opaqueBackground;
if (_arg1.scale9Grid){
_local5 = _arg1.scale9Grid;
_arg1.scale9Grid.x = (_local5.x / 20);
_local5.y = (_local5.y / 20);
_local5.width = (_local5.width / 20);
_local5.height = (_local5.height / 20);
_local4.scale9Grid = _local5;
};
if (((_arg2) && (_arg1.parent))){
_arg1.parent.addChild(_local4);
//unresolved jump
};
return (_local4);
}
function clone(_arg1:Object){
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.writeObject(_arg1);
_local2.position = 0;
return (_local2.readObject());
}
public static function removeValueFromArray(_arg1:Array, _arg2:Object){
var _local3:uint;
var _local4:Number;
_local3 = _arg1.length;
_local4 = _local3;
while (_local4 > -1) {
if (_arg1[_local4] === _arg2){
_arg1.splice(_local4, 1);
};
_local4--;
};
}
public static function createUniqueCopy(_arg1:Array):Array{
var _local2:Object;
var _local3:Array;
var _local4:Number;
var _local5:Object;
var _local6:uint;
_local2 = new Object();
_local3 = new Array();
_local4 = _arg1.length;
_local6 = 0;
while (_local6 < _local4) {
_local5 = _arg1[_local6];
if (arrayContainsValue(_local3, _local5)){
} else {
_local3.push(_local5);
};
_local6++;
};
return (_local3);
}
public static function getPercent(_arg1, _arg2=100, _arg3=100, _arg4=0, _arg5=0, _arg6=true){
return (constrain((((_arg1 - _arg5) * _arg3) / (_arg2 - (_arg5 * 2))), _arg4, _arg3, _arg6));
}
public static function findPrimeFrom(_arg1:Number, _arg2:Number):Array{
var _local3:*;
var _local4:Number;
var _local5:Array;
var _local6:Array;
var _local7:Number;
var _local8:Number;
_arg1 = (_arg1 | 0);
_arg2 = (_arg2 | 0);
_local5 = [];
_local6 = [];
if (!_arg2){
_arg2 = 0;
} else {
_arg2--;
};
_arg1 = (_arg1 + 1);
_local3 = 0;
while (_local3 < _arg1) {
_local6[_local3] = 0;
_local3++;
};
_local7 = Math.round(Math.sqrt((_arg1 + 1)));
_local8 = 2;
_local3 = 2;
while (_local3 <= _local7) {
if (_local6[_local3] == 0){
_local4 = (_local8 * _local3);
while (_local4 < _arg1) {
_local6[_local4] = 1;
_local4 = (_local4 + _local3);
};
_local8 = _local3;
};
_local3++;
};
_local3 = (_arg1 - 1);
while (_local3 > _arg2) {
if (_local6[_local3] == 0){
_local5.push(_local3);
};
_local3--;
};
return (_local5);
}
public static function fit(_arg1, _arg2, _arg3=false){
var _local4:*;
var _local5:*;
var _local6:*;
_local4 = _arg2;
_local5 = _arg1;
_local6 = (_local4.width / _local5.width);
_arg1.width = (_arg1.width * _local6);
_arg1.height = (_arg1.height * _local6);
_local6 = (_local4.height / _local5.height);
if (((((_arg3) && ((_local5.height < _local4.height)))) || (((!(_arg3)) && ((_local5.height > _local4.height)))))){
_local5.width = (_local5.width * _local6);
_local5.height = (_local5.height * _local6);
};
center(_arg1, _arg2);
}
public static function isNumber(_arg1){
return (((String(Number(_arg1)))!="NaN") ? true : false);
}
public static function forceNumber(_arg1){
return ((isNumber(_arg1)) ? Number(_arg1) : 0);
}
public static function productFactors(_arg1:Number):Number{
var _local2:Number;
var _local3:Number;
_local2 = 1;
_local3 = 3;
while (_local3 <= _arg1) {
if (isPrime(_local3)){
_local2 = (_local2 * _local3);
};
_local3 = (_local3 + 2);
};
if (_arg1 > 2){
_local2 = (_local2 * 2);
};
return (_local2);
}
public static function toBack(_arg1, _arg2=null){
if (_arg2){
_arg2.addChild(_arg1);
//unresolved jump
};
_arg1.parent.setChildIndex(_arg1, 0);
}
public static function square(_arg1:Number):Number{
return ((_arg1 * _arg1));
}
public static function factorialApprox(_arg1:Number):Number{
return (Math.round(gammaApprox((_arg1 + 1))));
}
public static function trim(_arg1:String):String{
return (ltrim(rtrim(_arg1)));
}
public static function excludeChars(_arg1:String, _arg2:String){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_arg2 = or(_arg2, ":,<>-'{}[]/*-+!;8!@#$%.^&*()");
_local3 = "";
_local5 = 0;
for (;_local5 < _arg1.length;_local5++) {
_local4 = true;
_local6 = 0;
while (_local6 < _arg2.length) {
if (_arg1.charAt(_local5) == _arg2.charAt(_local6)){
_local4 = false;
break;
};
_local6++;
};
if (_local4){
_local3 = (_local3 + _arg1.charAt(_local5));
continue;
};
};
return (_local3);
}
public static function fibonacci(_arg1:Number):Number{
return (Math.round(((Math.pow(((1 + Math.sqrt(5)) / 2), _arg1) - Math.pow(((1 - Math.sqrt(5)) / 2), _arg1)) / Math.sqrt(5))));
}
public static function toBoolean(_arg1){
if (_arg1 == "true"){
return (true);
};
return (false);
}
public static function charsToLongs(_arg1:Array):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array(Math.ceil((_arg1.length / 4)));
_local3 = 0;
while (_local3 < _local2.length) {
_local2[_local3] = (((_arg1[(_local3 * 4)] + (_arg1[((_local3 * 4) + 1)] << 8)) + (_arg1[((_local3 * 4) + 2)] << 16)) + (_arg1[((_local3 * 4) + 3)] << 24));
_local3++;
};
return (_local2);
}
public static function inverse(_arg1:Number):Number{
return ((1 / _arg1));
}
public static function negative(_arg1){
return (((_arg1 < 0)) ? _arg1 : -(_arg1));
}
public static function getURL(_arg1:String, _arg2:String="_blank"){
navigateToURL(new URLRequest(_arg1), _arg2);
}
public static function commas(_arg1, _arg2=3){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_arg1 = String(_arg1);
_local3 = "";
_local5 = 0;
_local6 = (_arg1.length - 1);
for (;_local6 >= 0;(_local4 = (_local4 + _arg1.charAt(_local6))), (_local3 = (_local4 + _local3)), _local6--) {
_local4 = "";
++_local5;
if ((((_local5 >= _arg2)) && ((_local6 > 0)))){
_local5 = 0;
_local4 = ",";
continue;
};
};
return (_local3);
}
public static function strReplace(_arg1, _arg2, _arg3){
var _local4:*;
_local4 = String(_arg3);
return (_local4.split(_arg1).join(_arg2));
}
public static function attach(_arg1, _arg2=null){
var _local3:*;
_local3 = ((typeof(_arg1) == "string")) ? new ((getDefinitionByName(_arg1) as Class)) : new (_arg1);
if (_arg2){
_arg2.addChild(_local3);
//unresolved jump
};
return (_local3);
}
public static function drawRect(_arg1, _arg2, _arg3, _arg4=0, _arg5=0){
_arg1.clear();
_arg1.beginFill(_arg4, _arg5);
_arg1.drawRect(0, 0, _arg2, _arg3);
_arg1.endFill();
}
public static function sortDepths(_arg1, _arg2="y", _arg3=true):void{
var _local4:*;
var _local5:*;
_local4 = (_arg1.length) ? copyArray(_arg1) : getContained(_arg1);
if (_arg3){
_local4.sortOn(_arg2, (Array.DESCENDING | Array.NUMERIC));
} else {
_local4.sortOn(_arg2);
};
_local5 = 0;
while (_local5 < _local4.length) {
_local4[_local5].parent.setChildIndex(_local4[_local5], _local5);
_local5++;
};
}
public static function switchBoolean(_arg1){
return ((_arg1) ? false : true);
}
public static function center(_arg1, _arg2){
_arg1.y = (_arg2.y + ((_arg2.height - _arg1.height) / 2));
_arg1.x = (_arg2.x + ((_arg2.width - _arg1.width) / 2));
}
public static function isPrime2(_arg1:Number):Boolean{
var _local2:Number;
var _local3:Number;
_arg1 = (_arg1 | 0);
if (((isNaN(_arg1)) || ((_arg1 == 0)))){
return (false);
};
if (_arg1 <= 3){
return (true);
};
if ((_arg1 % 2) == 0){
return (false);
};
_local2 = ((((Math.sqrt(_arg1) / 6) | 0) * 6) + 5);
_local3 = 5;
do {
} while (((((!(((_arg1 % _local3) == 0))) && (!(((_arg1 % (_local3 + 2)) == 0))))) && (!((_temp2 == _local2)))));
return ((_local3 == _local2));
}
public static function arrayGetRandom(_arg1:Array){
return (_arg1[Math.floor((Math.random() * _arg1.length))]);
}
public static function goto(_arg1, _arg2){
_arg1.gotoAndStop(getPercent(_arg2, 100, _arg1.totalFrames, null, null, false));
}
public static function parseXML(_arg1){
var xmlDoc:*;
var parseNode:*;
var xml = _arg1;
parseNode = function (_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
extract(_arg1.attributes, _arg2);
if (((_arg1.firstChild) && ((_arg1.firstChild.nodeType == 3)))){
_local3 = _arg1.firstChild.nodeValue;
if (length(_arg1.attributes)){
_arg2.text = _local3;
} else {
_arg2 = _local3;
};
} else {
_local4 = _arg1.childNodes;
_local5 = 0;
while (_local5 < _local4.length) {
_arg2[((_local4[_local5].nodeName == "item")) ? _arg2.length : _local4[_local5].nodeName] = parseNode(_local4[_local5], []);
_local5++;
};
};
return (_arg2);
};
if (typeof(xml) == "string"){
xml = new XML(xml);
};
xmlDoc = new XMLDocument();
xmlDoc.ignoreWhite = true;
xmlDoc.parseXML(xml);
return (parseNode(xmlDoc.firstChild, []));
}
public static function encrypt(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local3 = charsToLongs(strToChars(_arg1));
_local4 = charsToLongs(strToChars(_arg2));
_local5 = _local3.length;
if (_local5 == 0){
return ("");
};
if (_local5 == 1){
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local14 = _temp1;
_local3[_local14] = 0;
};
_local6 = _local3[(_local5 - 1)];
_local7 = _local3[0];
_local8 = 2654435769;
_local11 = Math.floor((6 + (52 / _local5)));
_local12 = 0;
while (_local11-- > 0) {
_local12 = (_local12 + _local8);
_local10 = ((_local12 >>> 2) & 3);
_local13 = 0;
while (_local13 < (_local5 - 1)) {
_local7 = _local3[(_local13 + 1)];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local6 = (_local3[_local13] = (_local3[_local13] + _local9));
_local13++;
};
_local7 = _local3[0];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local6 = (_local3[(_local5 - 1)] = (_local3[(_local5 - 1)] + _local9));
};
return (charsToHex(longsToChars(_local3)));
}
public static function toString(_arg1, _arg2=0){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local3 = typeof(_arg1);
_local4 = "";
_arg2 = (_arg2 + 1);
_local5 = "\n";
_local6 = 0;
while (_local6 < _arg2) {
_local5 = (_local5 + "\t");
_local6++;
};
if ((((((_local3 == "string")) || ((_local3 == "number")))) || ((_local3 == "boolean")))){
if ((_local3 == "string")){
_local4 = (_local4 + "\"");
//unresolved jump
};
_local4 = (_local4 + String(_arg1));
if ((_local3 == "string")){
_local4 = (_local4 + "\"");
//unresolved jump
};
};
if (_local3 == "object"){
_local4 = (_local4 + ((_arg1 is Array)) ? "[" : "{");
for (_local7 in _arg1) {
_local4 = (_local4 + (((_local5 + String(_local7)) + " : ") + toString(_arg1[_local7], _arg2)));
};
_local4 = (_local4 + _local5);
_local4 = (_local4 + ((_arg1 is Array)) ? "]" : "}");
};
if (_local3 == "movieclip"){
_local4 = (_local4 + ("(movieclip) " + String(_arg1)));
};
if (_local3 == "function"){
_local4 = (_local4 + ("(function) " + String(_arg1)));
};
return (_local4);
}
public static function getFileExtension(_arg1:String){
return (_arg1.substring((_arg1.lastIndexOf(".") + 1), _arg1.length).toLowerCase());
}
public static function toFront(_arg1, _arg2=null){
if (_arg2){
_arg2.addChild(_arg1);
//unresolved jump
};
_arg1.parent.setChildIndex(_arg1, (_arg1.parent.numChildren - 1));
}
public static function nRoot(_arg1:Number, _arg2:Number):Number{
return (pow2(_arg1, (1 / _arg2)));
}
public static function isPrime(_arg1:Number):Boolean{
var _local2:Number;
var _local3:Number;
_arg1 = (_arg1 | 0);
if (((isNaN(_arg1)) || ((_arg1 == 0)))){
return (false);
};
if (_arg1 <= 3){
return (true);
};
if ((_arg1 % 2) == 0){
return (false);
};
_local3 = Math.floor(Math.sqrt(_arg1));
_local2 = 3;
while (_local2 <= _local3) {
if ((_arg1 % _local2) == 0){
return (false);
};
_local2 = (_local2 + 2);
};
return (true);
}
public static function constrain(_arg1:Number, _arg2:int=0, _arg3:int=99999999, _arg4:Boolean=true){
return (((_arg1 < _arg2)) ? _arg2 : ((_arg1 > _arg3)) ? _arg3 : (_arg4) ? _arg1 : Math.round(_arg1));
}
public static function drawMap(_arg1, _arg2, _arg3){
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local4 = _arg1.graphics;
_local5 = 0xFFFFFF;
_local4.clear();
_local4.beginFill(0xFFFFFF);
for (_local6 in _arg2) {
_local7 = _arg2[_local6];
_local4.drawRect((_local7.x * _arg3), (_local7.y * _arg3), _arg3, _arg3);
};
_local4.endFill();
}
public static function removeChilds(_arg1){
while (_arg1.numChildren) {
removeChild(_arg1.getChildAt(0));
};
}
public static function logA(_arg1:Number, _arg2:Number):Number{
return ((Math.log(_arg2) / Math.log(_arg1)));
}
public static function extract(_arg1, _arg2){
var _local3:*;
for (_local3 in _arg1) {
_arg2[_local3] = _arg1[_local3];
};
}
public static function ln(_arg1:Number):Number{
return (Math.log(_arg1));
}
public static function hexToChars(_arg1:String):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array();
_local3 = ((_arg1.substr(0, 2))=="0x") ? 2 : 0;
while (_local3 < _arg1.length) {
_local2.push(parseInt(_arg1.substr(_local3, 2), 16));
_local3 = (_local3 + 2);
};
return (_local2);
}
public static function decrypt(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local3 = charsToLongs(hexToChars(_arg1));
_local4 = charsToLongs(strToChars(_arg2));
_local5 = _local3.length;
if (_local5 == 0){
return ("");
};
_local6 = _local3[(_local5 - 1)];
_local7 = _local3[0];
_local8 = 2654435769;
_local11 = Math.floor((6 + (52 / _local5)));
_local12 = (_local11 * _local8);
while (_local12 != 0) {
_local10 = ((_local12 >>> 2) & 3);
_local13 = (_local5 - 1);
while (_local13 > 0) {
_local6 = _local3[(_local13 - 1)];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local7 = (_local3[_local13] = (_local3[_local13] - _local9));
_local13--;
};
_local6 = _local3[(_local5 - 1)];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local7 = (_local3[0] = (_local3[0] - _local9));
_local12 = (_local12 - _local8);
};
return (charsToStr(longsToChars(_local3)));
}
public static function ltrim(_arg1:String):String{
var _local2:Number;
var _local3:Number;
_local2 = _arg1.length;
_local3 = 0;
while (_local3 < _local2) {
if (_arg1.charCodeAt(_local3) > 32){
return (_arg1.substring(_local3));
};
_local3++;
};
return ("");
}
public static function rtrim(_arg1:String):String{
var _local2:Number;
var _local3:Number;
_local2 = _arg1.length;
_local3 = _local2;
while (_local3 > 0) {
if (_arg1.charCodeAt((_local3 - 1)) > 32){
return (_arg1.substring(0, _local3));
};
_local3--;
};
return ("");
}
public static function constrainOverflow(_arg1, _arg2, _arg3:int=0){
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
_local4 = (((_arg2.x + _arg2.width) - _arg3) - _arg1.width);
_local5 = (_arg2.x + _arg3);
_local6 = (((_arg2.y + _arg2.height) - _arg3) - _arg1.height);
_local7 = (_arg2.y + _arg3);
_local8 = _arg1.x;
_local9 = _arg1.y;
_arg1.x = ((_arg1.width > _arg2.width)) ? constrain(_local8, _local4, _local5) : constrain(_local8, _local5, _local4);
_arg1.y = ((_arg1.height > _arg2.height)) ? constrain(_local9, _local6, _local7) : constrain(_local9, _local7, _local6);
}
public static function arraysAreEqual(_arg1:Array, _arg2:Array):Boolean{
var _local3:Number;
var _local4:Number;
if (_arg1.length != _arg2.length){
return (false);
};
_local3 = _arg1.length;
_local4 = 0;
while (_local4 < _local3) {
if (_arg1[_local4] !== _arg2[_local4]){
return (false);
};
_local4++;
};
return (true);
}
public static function suffle(_arg1, _arg2=null){
var _local3:*;
var _local4:*;
var _local5:*;
_arg2 = or(_arg2, _arg1.length);
_local3 = copyArray(_arg1);
_local4 = new Array();
while (_local4.length < _arg2) {
_local4.push(_local3.splice((Math.random() * _local3.length), 1)[0]);
};
return (_local4);
}
public static function toXML(_arg1:Object, _arg2:String="data", _arg3:String=null){
var abc:*;
var validChars:*;
var validNodes:*;
var xml:*;
var objtoXML:*;
var obj = _arg1;
var tag = _arg2;
var filter = _arg3;
objtoXML = function (_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:int;
for (_local2 in _arg1) {
_local3 = _arg1[_local2];
if (((!((typeof(_local3) == "function"))) && (!(((!((filter == null))) && ((filter.indexOf(_local2) == -1))))))){
_local4 = ((_local2 is int)) ? "item" : _local2;
xml = (xml + (("<" + _local4) + ">"));
if (typeof(_local3) == "object"){
objtoXML(_local3);
} else {
_local5 = !((_local3 is Number));
if (_local5){
_local5 = (validNodes.indexOf(_local3) == -1);
_local6 = 0;
while (((_local5) && ((_local6 <= _local3.length)))) {
_local5 = (validChars.indexOf(_local3.charAt(_local6)) == -1);
_local6++;
};
};
if (_local5){
xml = (xml + (("<![CDATA[" + _local3) + "]]>"));
} else {
validNodes = (validNodes + _local3);
xml = (xml + _local3);
};
};
xml = (xml + (("</" + _local4) + ">"));
};
};
};
abc = "abcdefghijklmnopqrstuvwxyz";
validChars = ((abc + abc.toUpperCase()) + "1234567890!()=?¿_;{}");
validNodes = "";
xml = (("<" + tag) + ">");
objtoXML(obj);
return ((((xml + "</") + tag) + ">"));
}
public static function getInRect(_arg1, _arg2, _arg3){
var _local4:Number;
var _local5:Number;
var _local6:Boolean;
if ((_arg2 is Rectangle)){
_local4 = (_arg1.x - _arg2.x);
_local6 = (((_local4 > _arg3.x)) && ((_local4 < _arg3.width)));
if (_local6){
_local5 = (_arg1.y - _arg2.y);
_local6 = (((_local5 > _arg3.y)) && ((_local5 < _arg3.height)));
};
} else {
_local4 = ((_arg1.x * _arg2.scaleX) + _arg2.x);
_local6 = (((_local4 > _arg3.x)) && ((_local4 < _arg3.width)));
if (_local6){
_local5 = ((_arg1.y * _arg2.scaleY) + _arg2.y);
_local6 = (((_local5 > _arg3.y)) && ((_local5 < _arg3.height)));
};
};
return (_local6);
}
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
_local3 = "0123456789abcdef";
_local4 = "";
if (_arg2){
_local5 = 0;
while (_local5 < 4) {
_local4 = (_local4 + (_local3.charAt(((_arg1 >> (((3 - _local5) * 8) + 4)) & 15)) + _local3.charAt(((_arg1 >> ((3 - _local5) * 8)) & 15))));
_local5++;
};
} else {
_local6 = 0;
while (_local6 < 4) {
_local4 = (_local4 + (_local3.charAt(((_arg1 >> ((_local6 * 8) + 4)) & 15)) + _local3.charAt(((_arg1 >> (_local6 * 8)) & 15))));
_local6++;
};
};
return (_local4);
}
public static function gammaApprox(_arg1:Number):Number{
var _local2:Number;
_local2 = (_arg1 - 1);
return (((Math.sqrt((((2 * _local2) + (1 / 3)) * Math.PI)) * Math.pow(_local2, _local2)) * Math.exp(-(_local2))));
}
public static function checkVariable(_arg1, _arg2){
return (or(_arg1, _arg2));
}
public static function factorial(_arg1:Number):Number{
if (_arg1 != 0){
return ((_arg1 * factorial((_arg1 - 1))));
};
return (1);
}
public static function drawGrid(_arg1, _arg2=100, _arg3=100, _arg4=10, _arg5=null, _arg6=null){
var _local7:*;
var _local8:int;
var _local9:int;
_local7 = _arg1.graphics;
_local7.clear();
_local7.lineStyle(0, _arg5);
if (_arg6){
_local7.beginFill(_arg6);
_local7.drawRect(0, 0, _arg2, _arg3);
_local7.endFill();
};
_local8 = 0;
while (_local8 <= _arg2) {
_local7.moveTo(_local8, 0);
_local7.lineTo(_local8, _arg3);
_local8 = (_local8 + _arg4);
};
_local9 = 0;
while (_local9 <= _arg3) {
_local7.moveTo(0, _local9);
_local7.lineTo(_arg2, _local9);
_local9 = (_local9 + _arg4);
};
}
public static function longsToChars(_arg1:Array):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array();
_local3 = 0;
while (_local3 < _arg1.length) {
_local2.push((_arg1[_local3] & 0xFF), ((_arg1[_local3] >>> 8) & 0xFF), ((_arg1[_local3] >>> 16) & 0xFF), ((_arg1[_local3] >>> 24) & 0xFF));
_local3++;
};
return (_local2);
}
public static function randomDISABLE(_arg1, _arg2){
var _local3:*;
do {
if (_arg1.totalframes){
_local3 = random(_arg1.totalframes);
} else {
if (_arg1.length > 0){
_local3 = _arg1[random(_arg1.length)];
} else {
if (_arg1 == null){
_local3 = random(100);
} else {
_local3 = random(_arg1);
};
};
};
} while (_local3 == _arg2);
return (_local3);
}
public static function zoomTo(_arg1:MovieClip, _arg2, _arg3=0.1, _arg4=1.5, _arg5=null, _arg6=null){
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
_arg5 = or(_arg5, (_arg1.width / 2));
_arg6 = or(_arg6, (_arg1.height / 2));
_local7 = ((_arg1.width * _arg1.scaleX) * _arg2);
_local8 = ((_arg1.height * _arg1.scaleY) * _arg2);
_local9 = ((_arg5 - _arg1.x) / _arg1.scaleX);
_local10 = ((_arg6 - _arg1.y) / _arg1.scaleY);
_arg1.scaleY = (_arg1.scaleX = _arg2);
_arg1.x = (_arg5 - (_arg1.scaleX * _local9));
_arg1.y = (_arg6 - (_arg1.scaleY * _local10));
}
public static function strToChars(_arg1:String):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array();
_local3 = 0;
while (_local3 < _arg1.length) {
_local2.push(_arg1.charCodeAt(_local3));
_local3++;
};
return (_local2);
}
public static function createMc(_arg1=0, _arg2=false, _arg3=false){
var _local4:*;
_arg1 = or(_arg1, root);
_local4 = (_arg2) ? new ((getDefinitionByName(_arg2) as Class)) : new MovieClip();
_arg1.addChild(_local4);
extract(_arg3, _local4);
return (_local4);
}
public static function summation(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:Number;
_local3 = 0;
_local4 = 1;
while (_local4 <= _arg1) {
_local3 = (_local3 + Math.pow(_local4, _arg2));
_local4++;
};
return (_local3);
}
public static function randomSpectrum(_arg1=1){
return ((((Math.random() * _arg1) * 2) - _arg1));
}
public static function removeItem(_arg1, _arg2){
return (!((_arg2.indexOf(_arg1) == -1)));
}
public static function arrayContainsValue(_arg1:Array, _arg2:Object){
return (!((_arg1.indexOf(_arg2) == -1)));
}
public static function totient(_arg1:Number):Number{
var _local2:Number;
var _local3:Number;
_local2 = 1;
if ((_arg1 % 2) == 0){
_local3++;
};
_local3 = 3;
while (_local3 <= _arg1) {
if (isPrime(_local3)){
_local2++;
};
_local3 = (_local3 + 2);
};
return (_local2);
}
public static function getContained(_arg1):Array{
var _local2:*;
var _local3:*;
_local2 = [];
_local3 = 0;
while (_local3 < _arg1.numChildren) {
_local2.push(_arg1.getChildAt(_local3));
_local3++;
};
return (_local2);
}
public static function random(_arg1, _arg2=0){
return (Math.round(((Math.random() * (_arg1 - _arg2)) + _arg2)));
}
public static function localToLocal(_arg1, _arg2){
return (_arg2.globalToLocal(_arg1.localToGlobal(new Point())));
}
public static function charsToHex(_arg1:Array):String{
var _local2:String;
var _local3:Array;
var _local4:Number;
_local2 = new String("");
_local3 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
_local4 = 0;
while (_local4 < _arg1.length) {
_local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)]));
_local4++;
};
return (_local2);
}
public static function fillZero(_arg1, _arg2=1){
var _local3:*;
_local3 = String(_arg1);
while (_local3.length < (_arg2 + 1)) {
_local3 = ("0" + _local3);
};
return (_local3);
}
public static function seconds2Minutes(_arg1){
var _local2:*;
_local2 = 0;
while (_arg1 > 60) {
_arg1 = (_arg1 - 60);
_local2++;
};
return (((fillZero(_local2) + ":") + fillZero(Math.round(_arg1))));
}
public static function tracer(_arg1, _arg2=""){
var _local3:*;
_local3 = "-------------------------------------- \n";
_local3 = (_local3 + (("TRACING:" + _arg2) + "\n"));
_local3 = (_local3 + "-------------------------------------- \n");
_local3 = (_local3 + toString(_arg1));
trace(_local3);
}
public static function beginsWith(_arg1:String, _arg2:String):Boolean{
return ((_arg2 == _arg1.substring(0, _arg2.length)));
}
public static function isValidEmail(_arg1:String){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = _arg1.indexOf("@");
_local3 = _arg1.lastIndexOf(".");
_local4 = (_local3 - _local2);
_local5 = (_arg1.length - _local3);
if ((((_local2 < 2)) || ((_local3 == -1)))){
return (false);
};
if (_local2 < -1){
return (false);
};
if (_local3 <= _local2){
return (false);
};
if (_local4 < 3){
return (false);
};
if ((((_local5 > 4)) || ((_local5 < 3)))){
return (false);
};
return (true);
}
public static function zoom(_arg1:MovieClip, _arg2:Number, _arg3=0.1, _arg4=1.5, _arg5=null, _arg6=null){
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
_arg5 = or(_arg5, (_arg1.width / 2));
_arg6 = or(_arg6, (_arg1.height / 2));
_local7 = (_arg1.width * _arg2);
_local8 = (_arg1.height * _arg2);
_local9 = ((_arg5 - _arg1.x) / _arg1.scaleX);
_local10 = ((_arg6 - _arg1.y) / _arg1.scaleY);
_arg1.scaleX = (_arg1.scaleX = (_arg1.scaleX * _arg2));
_arg1.scaleY = (_arg1.scaleX = constrain(_arg1.scaleX, _arg3, _arg4));
_arg1.x = (_arg5 - (_arg1.scaleX * _local9));
_arg1.y = (_arg6 - (_arg1.scaleY * _local10));
return ((Math.round(_arg1.scaleX) + "%"));
}
public static function sign(_arg1, _arg2=false){
return (((_arg1 > 0)) ? (_arg2) ? 1 : true : (_arg2) ? -1 : false);
}
public static function randomChance(_arg1:Number=0.5){
return ((Math.random() > _arg1));
}
public static function pow2(_arg1:Number, _arg2:Number):Number{
return (((_arg1 == 0)) ? 0 : ((_arg1 > 0)) ? Math.pow(_arg1, _arg2) : (Math.pow((_arg1 * -1), _arg2) * -1));
}
public static function replaceStr(_arg1:String, _arg2:String, _arg3:String):String{
var _local4:String;
var _local5:Boolean;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local4 = new String();
_local5 = false;
_local6 = _arg1.length;
_local7 = _arg2.length;
_local8 = 0;
while (_local8 < _local6) {
if (_arg1.charAt(_local8) == _arg2.charAt(0)){
_local5 = true;
_local9 = 0;
while (_local9 < _local7) {
if (_arg1.charAt((_local8 + _local9)) != _arg2.charAt(_local9)){
_local5 = false;
break;
};
_local9++;
};
//unresolved if
_local4 = (_local4 + _arg3);
_local8 = (_local8 + (_local7 - 1));
} else {
_local4 = (_local4 + _arg1.charAt(_local8));
};
_local8++;
};
return (_local4);
}
public static function endsWith(_arg1:String, _arg2:String):Boolean{
return ((_arg2 == _arg1.substring((_arg1.length - _arg2.length))));
}
public static function charsToStr(_arg1:Array):String{
var _local2:String;
var _local3:Number;
_local2 = new String("");
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(_arg1[_local3]));
_local3++;
};
return (_local2);
}
public static function or(_arg1, _arg2){
if (_arg1 == null){
return (_arg2);
};
return (_arg1);
}
public static function copyArray(_arg1:Array):Array{
var _local2:*;
_local2 = _arg1.slice();
extract(_arg1, _local2);
return (_local2);
}
public static function randomOR(_arg1, _arg2){
return (arrayGetRandom([_arg1, _arg2]));
}
public static function stringsAreEqual(_arg1:String, _arg2:String, _arg3:Boolean):Boolean{
if (_arg3){
return ((_arg1 == _arg2));
};
return ((_arg1.toUpperCase() == _arg2.toUpperCase()));
}
public static function autoCenter(_arg1){
_arg1.x = (-(_arg1.width) / 2);
_arg1.y = (-(_arg1.height) / 2);
}
public static function length(_arg1){
var _local2:*;
var _local3:*;
if ((_arg1 is Array)){
return (_arg1.length);
};
_local2 = 0;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function drawArea(_arg1, _arg2, _arg3){
var _local4:*;
_local4 = new Sprite();
_local4.graphics.beginFill(0, 0);
_local4.graphics.drawRect(0, 0, _arg2, _arg3);
_local4.graphics.endFill();
_arg1.addChild(_local4);
return (_local4);
}
public static function cycle(_arg1, _arg2=0, _arg3=100, _arg4=1){
_arg1 = (_arg1 + _arg4);
if (_arg1 > _arg3){
_arg1 = (_arg1 - (_arg3 + _arg4));
};
if (_arg1 < _arg2){
_arg1 = (_arg1 + (_arg3 - _arg4));
};
return (_arg1);
}
public static function removeChild(_arg1=null){
if (_arg1){
if (_arg1.parent){
_arg1.parent.removeChild(_arg1);
//unresolved jump
};
};
}
public static function positive(_arg1){
return (((_arg1 > 0)) ? _arg1 : -(_arg1));
}
public static function toColumns(_arg1, _arg2=5, _arg3=5, _arg4=1, _arg5=false){
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
_local6 = 0;
_local7 = 0;
_local8 = new Rectangle(0, 0, 0, 0);
_local15 = 0;
for (;_local15 < _arg1.length;_local15++) {
_local9 = _arg1[_local15];
_local10 = _local9.width;
_local11 = _local9.height;
_local12 = or(_arg1[(_local15 - _arg4)], _local8);
_local13 = _local12.width;
_local14 = _local12.height;
_local9.x = (_arg5) ? ((_local12.x + _local13) + _arg2) : ((_local10 + _arg2) * _local7);
_local9.y = (_arg5) ? ((_local11 + _arg3) * _local7) : ((_local12.y + _local14) + _arg3);
++_local7;
if ((_local7 >= _arg4)){
_local7 = 0;
_local6++;
continue;
};
};
}
}
}//package geeon.utils
class Unlocker {
private function Unlocker(){
}
}
Section 43
//AngryBunnyParticle (project.AngryBunnyParticle)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class AngryBunnyParticle extends TweenParticle {
public var sinCount:uint;// = 0
public var id;
public var chasingMax:int;
public var respawnVel:Number;// = 0
public var distHole:uint;
public var chasingTime:uint;
public var masked:Boolean;
public static var isSuiciding:int;
public static var elvInstance:ElvParticle = ElvParticle.instance;
public static var sincos:Array = [];
public static var total:uint = 40;
public static var DIST_JUMP:uint = 45;
public static var centerOffset:Point = new Point(-18.8, -39);
public static var TOUCH_ELV:uint = 6;
public static var holeInstance:HoleParticle = HoleParticle.instance;
public static var instanced:Boolean;
public static var pool:Array = [];
public function AngryBunnyParticle(){
respawnVel = 0;
sinCount = 0;
super();
id = pool.length;
pool.push(this);
Space.push(this);
mode = modeNULL;
step = loop;
}
public function stunt(_arg1){
var _local2:*;
if (mode != walking){
return;
};
if (dist > 150){
return;
};
mode = stunting;
label = (lastLabel = "stun");
_local2 = ((150 - dist) / 5);
counter = Utils.constrain(uint(((Math.random() * _local2) + _local2)), 1, 100);
target.goto({label:label, frame:0, autoLoop:true});
}
public function scream(){
var _local1:*;
if (((!((mode == walking))) && (!((mode == dancing))))){
return;
};
if (dist > 500){
return;
};
trig = TrigonometryPoint.getSinCos(elvInstance, this, "z");
dist = trig.h;
_local1 = (Utils.constrain((500 - dist), 20, 200) / 20);
velocity.x = (_local1 * trig.cos);
velocity.z = (_local1 * trig.sin);
mode = screaming;
counter = 50;
label = (lastLabel = "screaming");
target.goto({label:label, frame:"random", autoLoop:true});
Space.shake(40);
}
public function waiting(){
if (!--counter){
spawn();
//unresolved jump
};
}
public function suicide(){
isSuiciding++;
velocity.y = -20;
velocity.x = (velocity.z = 0);
counter = 15;
mode = suiciding;
label = (lastLabel = "suicide");
target.goto({label:label, frame:"random", autoLoop:true});
}
public function wait(){
if (target){
SpriteBitmap.push(target);
target = null;
};
respawnVel = 0;
mode = waiting;
counter = ((Math.random() * 20) + (id * 60));
}
public function spawn(){
BASE_VELOCITY = ((Math.random() * 4) + 2);
respawnVel = Utils.constrain((respawnVel + 0.15), 0, 3);
chasingTime = 0;
velAccel = 0;
chasingMax = (200 + (Math.random() * 200));
if (!target){
target = SpriteBitmap.pull({linkage:AngryBunnyBMP});
//unresolved jump
};
target.goto({container:Space.sprites, x:5000, y:5000, scale:1, rotation:0, center:centerOffset});
x = (elvInstance.x + Utils.randomSpectrum());
z = (elvInstance.z + Utils.randomSpectrum());
TrigonometryPoint.doSpring(this, elvInstance, (600 + (Math.random() * 100)), 1, "z");
walk();
}
public function walking(){
var _local1:Point;
var _local2:*;
if (HoleParticle.isOpen){
distHole = TrigonometryPoint.hipotenusa(this, holeInstance, "z").h;
if (distHole < DIST_JUMP){
suicide();
return;
};
};
trig = TrigonometryPoint.getSinCos(this, elvInstance, "z");
dist = trig.h;
cos = trig.cos;
sin = trig.sin;
sinCount = Utils.cycle(sinCount, 0, 99);
_local1 = sincos[sinCount];
x = (x + _local1.x);
z = (z + _local1.y);
_local2 = ((velAccel + BASE_VELOCITY) + respawnVel);
if (ElvParticle.onAir){
_local2 = (_local2 * 0.3);
} else {
if (dist < TOUCH_ELV){
elvInstance.defeat();
dance();
return;
};
};
if (++chasingTime > chasingMax){
_local2 = (_local2 * -1.5);
sinCount = (sinCount + 3);
if (dist > 720){
spawn();
return;
};
};
velocity.x = (_local2 * cos);
velocity.z = (_local2 * sin);
view = ((((((cos > -0.5)) && ((cos < 0.5)))) && ((velocity.z < 0)))) ? "back" : "front";
label = (view + "_walk");
if (lastLabel != label){
target.goto({label:label, frame:"random", autoLoop:true});
//unresolved jump
};
lastLabel = label;
flip(velocity.x);
target.step();
tween();
render();
}
public function suiciding(){
x = (x + ((holeInstance.x - x) / 10));
z = (z + ((holeInstance.z - z) / 10));
velocity.y = (velocity.y + 3);
tween();
render();
target.step();
if ((counter == 10)){
HoleMask.add(target);
//unresolved jump
};
if (!--counter){
isSuiciding--;
HoleParticle.sumCombo(this);
spawn();
};
}
public function screaming(){
tween();
render();
target.step();
velocity.scalar(1.1);
target.rotation = (target.rotation + velocity.x);
target.scaleX = (target.scaleY = (target.scaleY + 0.05));
Space.shake(Utils.randomSpectrum(20));
if (!--counter){
spawn();
//unresolved jump
};
}
public function loop(){
mode();
}
public function stunting(){
target.step();
if (!--counter){
walk();
//unresolved jump
};
}
public function dance(){
mode = dancing;
label = (lastLabel = "dance");
target.goto({label:label, frame:"random", autoLoop:true});
}
public function dancing(){
velocity.scalar(0.9);
tween();
render();
target.step();
}
public function walk(){
velocity.y = 0;
y = 0;
mode = walking;
label = (lastLabel = "");
sinCount = (Math.random() * 100);
}
public static function restart(){
var _local1:*;
isSuiciding = 0;
for (_local1 in pool) {
pool[_local1].wait();
};
}
public static function checkScream(){
var _local1:*;
for (_local1 in pool) {
pool[_local1].scream();
};
}
public static function chekStunt(_arg1){
var _local2:*;
for (_local2 in pool) {
pool[_local2].stunt(_arg1);
};
}
public static function init(){
var _local1:int;
var _local2:Number;
var _local3:int;
if (!instanced){
instanced = true;
_local1 = 0;
while (_local1 < total) {
new (AngryBunnyParticle);
_local1++;
};
_local2 = 0;
_local3 = 0;
while (_local3 < 100) {
_local2 = (_local2 + 0.05);
sincos.push(new Point(Math.sin(_local2), Math.cos(_local2)));
_local3++;
};
};
}
}
}//package project
Section 44
//BouncerParticle (project.BouncerParticle)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class BouncerParticle extends TweenParticle {
public var corner:int;
public var checkCorner:Function;
public var elvX:int;
public var elvZ:int;
public static var pool:Array = [];
public static var elvInstance:ElvParticle = ElvParticle.instance;
public static var BOUNCE_TIME:uint = 35;
public static var margin:Point = new Point(397, 265);
public static var instanced:Boolean;
public static var TRIG_RATIO:uint = 40;
public function BouncerParticle(_arg1:int, _arg2:int, _arg3:int){
var _corner = _arg1;
var _x = _arg2;
var _z = _arg3;
super();
corner = _corner;
x = _x;
z = _z;
target = SpriteBitmap.pull({linkage:BouncerBMP, x:_x, y:_z});
pool.push(this);
Space.push(this, "floor");
step = loop;
wait();
if (corner == 0){
checkCorner = function (){
if (elvX < 0){
if (elvZ < 0){
return (true);
};
};
return (false);
};
return;
};
if (corner == 1){
checkCorner = function (){
if (elvX > 0){
if (elvZ < 0){
return (true);
};
};
return (false);
};
return;
};
if (corner == 2){
checkCorner = function (){
if (elvX > 0){
if (elvZ > 0){
return (true);
};
};
return (false);
};
return;
};
if (corner == 3){
checkCorner = function (){
if (elvX < 0){
if (elvZ > 0){
return (true);
};
};
return (false);
};
return;
};
}
public function bouncing(){
target.step();
if (counter == 34){
dist = TrigonometryPoint.hipotenusa(this, elvInstance, "z").h;
Mixer.playFX("hit2FX");
if ((dist < TRIG_RATIO)){
elvInstance.jump(null, true);
//unresolved jump
};
};
if (!--counter){
wait();
//unresolved jump
};
}
public function waiting(){
elvX = elvInstance.x;
elvZ = elvInstance.z;
if (checkCorner()){
dist = TrigonometryPoint.hipotenusa(this, elvInstance, "z").h;
if ((dist < TRIG_RATIO)){
bounce();
//unresolved jump
};
};
}
public function wait(){
mode = waiting;
target.goto({label:"closed", frame:0, playing:false});
}
public function bounce(){
counter = BOUNCE_TIME;
mode = bouncing;
target.goto({label:"bounce", frame:0, playing:true});
Mixer.playFX("fFX");
}
public function loop(){
mode();
}
public static function init(){
if (!instanced){
instanced = true;
new BouncerParticle(0, -(margin.x), -(margin.y));
new BouncerParticle(1, margin.x, -(margin.y));
new BouncerParticle(2, margin.x, margin.y);
new BouncerParticle(3, -(margin.x), margin.y);
};
}
}
}//package project
Section 45
//ElvParticle (project.ElvParticle)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class ElvParticle extends TweenParticle {
public var shadowBmp:SpriteBitmap;
public var smoke:Smoke;
public var smokeCount:uint;// = 0
public static var forceLift:Boolean;
public static var distHole:uint;
public static var clickCount:int = 0;
public static var onAir:Boolean;
public static var CLICKED_METER:int = 0;
public static var velAccel:Number;
public static var instance:ElvParticle;
public static var fromCenter:Boolean;
public function ElvParticle(){
var _local1:*;
smokeCount = 0;
super();
instance = this;
_local1 = (target = SpriteBitmap.pull({linkage:ElvBMP, center:new Point(-20, -39)}));
step = myStep;
shadowBmp = SpriteBitmap.pull({linkage:ShadowBMP, container:Space.shadows});
smoke = new Smoke(target);
Space.push(this);
Viewport.focus = target;
}
public function scream(){
onAir = true;
mode = screaming;
label = (lastLabel = "scream");
counter = 25;
target.goto({label:label, frame:0, autoLoop:false});
AngryBunnyParticle.checkScream();
Mixer.playFX("elvcapturedFX");
}
public function jumping(){
velocity.y = (velocity.y + (3 * time));
if (((y + velocity.y) > 0)){
walk();
//unresolved jump
};
}
public function jump(_arg1=-16, _arg2:Boolean=false){
mode = jumping;
velocity.y = _arg1;
label = (lastLabel = (view + "_jump"));
onAir = true;
if (_arg2){
fromCenter = true;
trig = TrigonometryPoint.getSinCos(this, HoleParticle.instance, "z");
dist = trig.h;
velocity.x = ((dist * trig.cos) / 50);
velocity.z = ((dist * trig.sin) / 50);
velocity.y = -40;
Space.shake(20);
flip(velocity.x);
};
Space.shake(10);
if (_arg2){
target.goto({label:"float", frame:"random", autoLoop:true});
} else {
target.goto({label:label, frame:0, autoLoop:false});
};
Mixer.playFX("pass6FX");
}
public function defeat(){
if (mode == defeating){
return;
};
velocity.x = 0;
velocity.z = 0;
y = 0;
mode = defeating;
label = (lastLabel = "defeat");
target.goto({label:label, frame:0, autoLoop:false});
counter = 40;
GameTimer.add(-30);
HoleParticle.resetCombo();
Mixer.playFX("passFX");
Mixer.gameMusicOff();
}
public function screaming(){
if (!--counter){
Mixer.gameMusicOn();
walk();
};
}
public function myStep(){
time = Thread.time;
distHole = TrigonometryPoint.hipotenusa(this, HoleParticle.instance, "z").h;
mode();
tween();
render();
target.step();
shadowBmp.x = x;
shadowBmp.y = z;
smoke.step();
}
public function walking(){
var _local1:Number;
var _local2:Boolean;
if (HoleParticle.isOpen){
if ((distHole < 50)){
TrigonometryPoint.springMin(this, HoleParticle.instance, 50, 2, "z");
//unresolved jump
};
} else {
if (distHole < 25){
HoleParticle.lift();
jump();
return;
};
};
trig = TrigonometryPoint.getSinCos(this, PointerParticle.instance, "z");
dist = trig.h;
cos = trig.cos;
sin = trig.sin;
_local1 = (velAccel + BASE_VELOCITY);
moving = (dist > (_local1 * 8));
if (((moving) && (!(pointReached)))){
_local1 = (_local1 + (xtraAccel * time));
velAccel = (velAccel * 1.1);
velocity.x = (_local1 * cos);
velocity.z = (_local1 * sin);
view = ((((((cos > -0.5)) && ((cos < 0.5)))) && ((velocity.z < 0)))) ? "back" : "front";
label = (view + "_walk");
_local2 = true;
smokeCount = 15;
smoke.chance(0.8);
} else {
label = view;
_local2 = false;
pointReached = true;
if (smokeCount){
smokeCount--;
smoke.chance(0.5);
};
if ((velAccel > 1)){
velAccel = (velAccel * (0.75 / time));
//unresolved jump
};
};
if (lastLabel != label){
lastLabel = label;
target.goto({label:label, frame:0, autoLoop:_local2});
};
velAccel = Utils.constrain(velAccel, 1, 15);
xtraAccel = (xtraAccel * 0.995);
velocity.x = (velocity.x * 0.89);
velocity.z = (velocity.z * 0.89);
flip(velocity.x);
}
public function walk(){
Space.shake(velocity.y);
if (fromCenter){
AngryBunnyParticle.chekStunt((velocity.y * 10));
velocity.y = (-(velocity.y) * 0.4);
y = 0;
target.goto({label:label, frame:0, autoLoop:false});
} else {
AngryBunnyParticle.chekStunt((velocity.y * 10));
onAir = false;
velocity.y = (y = 0);
mode = walking;
label = (lastLabel = view);
velAccel = (velAccel * 0.5);
target.goto({label:label, frame:0, autoLoop:false});
};
Mixer.playFX("hit2FX");
fromCenter = false;
}
public function defeating(){
target.step();
if (!--counter){
scream();
//unresolved jump
};
}
public static function restart(){
instance.x = 0;
instance.z = 150;
instance.mode = instance.modeNULL();
instance.walk();
instance.tween();
instance.render();
instance.velocity.scalar(0);
}
public static function init(){
if (!instance){
new (ElvParticle);
//unresolved jump
};
}
}
}//package project
Section 46
//GameEngine (project.GameEngine)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class GameEngine {
public var mode:Function;
public var counter:int;
public static var instance:GameEngine;
public function GameEngine(){
mode = function (){
};
super();
BitmapDataPool.pull(AngryBunnyBMP);
BitmapDataPool.pull(HappyBunnyBMP);
instance = this;
SpriteBitmap.pull({linkage:FloorBMP, container:Space.floor});
HoleParticle.init();
ElvParticle.init();
PointerParticle.init();
BouncerParticle.init();
AngryBunnyParticle.init();
HappyBunnyParticle.init();
new HoleMask();
Space.SCROLL_FRICTION = 10;
Space.constrainScroll(250, 110);
}
public function restartGame(){
Thread.add(instance.step);
mode = Space.step;
Score.reset();
GameTimer.reset(179, gameEnd);
Mixer.gameMusicOn();
ElvParticle.restart();
HoleParticle.restart();
PointerParticle.restart();
AngryBunnyParticle.restart();
HappyBunnyParticle.restart();
GameInterface.message.show("OPEN THAT HOLE!", 30);
}
public function lastCount(){
HoleParticle.instance.step();
if (!HoleParticle.isOpen){
if (!--counter){
clearThreads();
GDocument.showPage(ScorePage);
};
};
}
public function gameEnd(){
Mixer.gameMusicOff();
Mixer.playFX("elvcapturedFX");
counter = 15;
mode = lastCount;
}
public function step(){
if (GDocument.paused){
return;
};
mode();
}
public static function clearThreads(){
if (instance){
Thread.remove(instance.step);
GameTimer.stop();
Mouse.show();
Mixer.gameMusicOff();
};
}
public static function restart(){
instance.restartGame();
}
}
}//package project
Section 47
//GameInterface (project.GameInterface)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class GameInterface extends Sprite {
public var timeMc:MovieClip;
public var z:int;// = 14
public var scoreMc:MovieClip;
public var comboMc:MovieClip;
public var msgMc:MovieClip;
public static var comboMessage:SpriteBitmapText;
public static var timeMessage:SpriteBitmapText;
public static var scoreMessage:SpriteBitmapText;
public static var message:SpriteBitmapText;
public static var instance:GameInterface;
public function GameInterface(){
z = 14;
super();
instance = this;
scoreMessage = new SpriteBitmapText(scoreMc);
timeMessage = new SpriteBitmapText(timeMc);
comboMessage = new SpriteBitmapText(comboMc);
message = new SpriteBitmapText(msgMc);
message.visible = false;
}
}
}//package project
Section 48
//GameTimer (project.GameTimer)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class GameTimer {
public static var initialized:Boolean;
public static var timer:uint;
public static var onTimeOut:Function = function (){
};
public static var time;
public static var remainingSeconds:int;
public static var timeMessage:SpriteBitmapText = GameInterface.timeMessage;
public static var initialSeconds:int;
public static function step(){
if (GDocument.paused){
return;
};
if ((remainingSeconds <= 10)){
Mixer.playFX("timeFX");
//unresolved jump
};
if (--remainingSeconds <= 0){
remainingSeconds = 0;
stop();
onTimeOut();
};
renderTime();
}
public static function reset(_arg1:uint=0, _arg2:Function=null){
onTimeOut = Utils.or(_arg2, onTimeOut);
stop();
if (_arg1){
initialSeconds = _arg1;
//unresolved jump
};
remainingSeconds = initialSeconds;
renderTime();
timer = setInterval(step, 1000);
}
public static function stop(){
clearInterval(timer);
}
public static function add(_arg1){
remainingSeconds = (remainingSeconds + _arg1);
if ((remainingSeconds < 0)){
remainingSeconds = 0;
//unresolved jump
};
renderTime();
}
public static function renderTime(){
timeMessage.show(Utils.seconds2Minutes(remainingSeconds));
}
}
}//package project
Section 49
//HappyBunnyParticle (project.HappyBunnyParticle)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class HappyBunnyParticle extends TweenParticle {
public var distHole:uint;
public var chasingTime:uint;
public var isChasing:Boolean;
public var chaseThis:TweenParticle;
public var isWaiting:Boolean;
public static var total:uint = 10;
public static var active:Array = [];
public static var centerOffset:Point = new Point(-39, -107);
public static var springList:Array = [elvInstance];
public static var elvInstance:ElvParticle = ElvParticle.instance;
public static var inactive:Array = [];
public static var TOUCH_ELV:uint = 30;
public static var holeInstance:HoleParticle = HoleParticle.instance;
public static var instanced:Boolean;
public static var chasingMax:uint = 300;
public function HappyBunnyParticle(){
step = loop;
hide();
}
public function pick(){
isWaiting = false;
isChasing = true;
mode = picking;
counter = 20;
velocity.y = -10;
addSpring(this);
target.goto({label:"pick", frame:0, autoLoop:true});
Mixer.playFX("loseFX");
}
public function doChase(){
TrigonometryPoint.springMax(this, elvInstance, 15, 4, "z");
if (HoleParticle.isOpen){
if (TrigonometryPoint.hipotenusa(this, holeInstance, "z").h < 50){
suicide();
return;
};
};
if (++chasingTime > chasingMax){
dig();
};
}
public function suicide(){
isChasing = false;
velocity.y = -20;
counter = 15;
mode = suiciding;
removeSpring(this);
target.goto({label:"pick", frame:0, autoLoop:true});
}
public function picking(){
velocity.y = (velocity.y + 3);
if (((y + velocity.y) > 0)){
y = (velocity.y = 0);
//unresolved jump
};
if (!--counter){
walk();
//unresolved jump
};
}
public function waiting(){
if (!--counter){
dig();
//unresolved jump
};
}
public function hide(){
Space.remove(this);
if (target){
SpriteBitmap.push(target);
//unresolved jump
};
target = null;
active.splice(active.indexOf(this), 1);
inactive.push(this);
mode = modeNULL;
}
public function wait(){
mode = waiting;
counter = ((Math.random() * 100) + 100);
target.goto({label:"wait", frame:0, autoLoop:true});
}
public function spawn(){
inactive.splice(inactive.indexOf(this), 1);
active.push(this);
if (!target){
target = SpriteBitmap.pull({linkage:HappyBunnyBMP, center:centerOffset});
//unresolved jump
};
target.goto({label:"spawn", frame:0, autoLoop:false, container:Space.sprites, x:5000, y:5000, scale:1, rotation:0});
Space.push(this);
y = 0;
x = (holeInstance.x + Utils.randomSpectrum());
z = (holeInstance.z + Utils.randomSpectrum());
TrigonometryPoint.springMin(this, holeInstance, (300 + (Math.random() * 20)), 1, "z");
z = (z * 0.7);
velocity.scalar(0);
chaseThis = null;
counter = 15;
mode = spawning;
isWaiting = true;
}
public function dig(){
removeSpring(this);
if (mode == digging){
return;
};
isWaiting = false;
isChasing = false;
mode = digging;
counter = 12;
target.goto({label:"dig", frame:0, autoLoop:false});
}
public function suiciding(){
x = (x + ((holeInstance.x - x) / 10));
z = (z + ((holeInstance.z - z) / 10));
velocity.y = (velocity.y + 3);
if ((counter == 10)){
HoleMask.add(target);
//unresolved jump
};
if (!--counter){
HoleParticle.sumCombo(this);
hide();
};
}
public function spawning(){
if (!--counter){
wait();
//unresolved jump
};
}
public function doWait(){
dist = TrigonometryPoint.hipotenusa(this, elvInstance, "z").h;
if (dist < TOUCH_ELV){
pick();
return;
};
}
public function loop(){
mode();
if (target){
if (isWaiting){
doWait();
//unresolved jump
};
if (isChasing){
doChase();
//unresolved jump
};
tween();
target.step();
render();
};
}
public function digging(){
if (!--counter){
hide();
//unresolved jump
};
}
public function walk(){
mode = picking;
counter = 20;
chasingTime = 0;
target.goto({label:"walk", frame:0, autoLoop:true});
mode = modeNULL;
}
public static function spawnBunny(){
if (inactive.length){
inactive[0].spawn();
//unresolved jump
};
}
public static function addSpring(_arg1){
springList.splice(1, 0, _arg1);
arrangeSprings();
}
public static function restart(){
springList = [elvInstance];
while (active.length) {
active[0].hide();
};
}
public static function init(){
var _local1:int;
if (!instanced){
instanced = true;
_local1 = 0;
while (_local1 < total) {
new (HappyBunnyParticle);
_local1++;
};
};
}
public static function removeSpring(_arg1){
springList.splice(springList.indexOf(_arg1), 1);
arrangeSprings();
}
public static function arrangeSprings(){
var _local1:*;
for (_local1 in springList) {
if ((_local1 > 0)){
springList[_local1].chaseThis = springList[(_local1 - 1)];
continue;
};
};
}
public static function digAll(){
var _local1:*;
springList = [elvInstance];
for (_local1 in active) {
active[_local1].dig();
};
}
}
}//package project
Section 50
//HoleMask (project.HoleMask)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class HoleMask extends Sprite {
public var z:int;// = 14
public var maskMc:MovieClip;
public static var instance:HoleMask;
public function HoleMask(){
z = 14;
super();
instance = this;
mask = maskMc;
y = 14;
Space.sprites.addChild(this);
}
public static function init(){
if (!instance){
new (HoleMask);
//unresolved jump
};
}
public static function add(_arg1){
instance.addChild(_arg1);
}
}
}//package project
Section 51
//HoleParticle (project.HoleParticle)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class HoleParticle extends TweenParticle {
public static var waiting:Boolean;
public static var isOpen:Boolean;
public static var instance:HoleParticle;
public static var comboMessage:SpriteBitmapText = GameInterface.comboMessage;
public static var OPEN_TIME:uint = 75;
public static var goodMessages:Array = ["Good!", "Excellent!", "Gimme more!", "Neat", "Yay!", "Thats how it´s done!", "Perfect!", "Superb!", "Rock on!"];
public static var counterCombo:uint = 0;
public static var comboBunnies:uint = 0;
public static var comboBonus:uint = 0;
public static var toneCount:int;
public function HoleParticle(){
instance = this;
target = SpriteBitmap.pull({linkage:HoleBMP});
Space.push(this, "floor");
step = loop;
Space.text.addChild(comboMessage);
comboMessage.y = -120;
comboMessage.x = (-(comboMessage.width) / 2);
comboMessage.show("", 1);
wait();
}
public function opening(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
isOpen = (((counter > 10)) && ((counter < 78)));
_local1 = target.frame;
_local2 = Math.ceil(Utils.constrain((_local1 + (((OPEN_TIME - counter) - _local1) / 3)), 0, OPEN_TIME));
target.goto({frame:_local2});
if (counterCombo > 0){
if (!--counterCombo){
toneCount++;
Mixer.playFX(("fan" + Utils.constrain((toneCount - 1), 0, 24)));
_local3 = "COMBO";
if ((comboBonus > 1)){
_local3 = (_local3 + ((" (x" + comboBonus) + ")"));
//unresolved jump
};
comboMessage.show(Utils.fillZero(comboBunnies), 20, _local3);
if ((Math.random() > 0.87)){
HappyBunnyParticle.spawnBunny();
//unresolved jump
};
};
};
if (!--counter){
trace(AngryBunnyParticle.isSuiciding);
if (AngryBunnyParticle.isSuiciding > 0){
counter = 1;
return;
};
if (comboBunnies){
_local4 = ((comboBunnies * 100) * comboBonus);
GameInterface.message.show(("COMBO " + Utils.commas(_local4)), 30);
Score.add(_local4);
};
Mixer.playFX("hitFX");
wait();
};
}
public function open(){
toneCount = 0;
comboBonus = 1;
comboBunnies = 0;
waiting = false;
counter = OPEN_TIME;
mode = opening;
Mixer.playFX("hitFX");
target.goto({label:"open", frame:0, playing:false});
Space.shake(10);
}
public function wait(){
isOpen = false;
mode = modeNULL;
waiting = true;
target.goto({label:"closed", frame:0, playing:false});
}
public function loop(){
mode();
}
public static function sumCombo(_arg1){
var _local2:int;
counterCombo = 3;
if ((_arg1 is AngryBunnyParticle)){
incrementBunnyCombo();
} else {
GameInterface.message.show("SPECIAL BUNNY x10", 20);
_local2 = 0;
while (_local2 < 10) {
incrementBunnyCombo();
_local2++;
};
};
}
public static function lift(){
if (instance.mode == instance.modeNULL){
instance.open();
} else {
addTime();
};
}
public static function addTime(_arg1:int=10){
instance.counter = Utils.constrain((instance.counter + _arg1), 1, (OPEN_TIME - 20));
}
public static function restart(){
instance.wait();
}
public static function init(){
if (!instance){
new (HoleParticle);
//unresolved jump
};
}
public static function incrementBunnyCombo(){
lift();
comboBunnies++;
if ((Number((comboBunnies / 10)) is int)){
Score.add((comboBunnies * 125));
comboBonus++;
GameInterface.message.show(Utils.arrayGetRandom(goodMessages), 20);
};
}
public static function resetCombo(){
if ((((comboBonus > 1)) || ((comboBunnies > 0)))){
GameInterface.message.show("COMBO LOST", 30);
//unresolved jump
};
comboBonus = 1;
comboBunnies = 0;
toneCount = 0;
HappyBunnyParticle.digAll();
}
}
}//package project
Section 52
//InstructionsPage (project.InstructionsPage)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class InstructionsPage extends MovieClip {
public var restart:Function;
public var preloadBar:MovieClip;
public var playBtn:SimpleButton;
public static var instance:InstructionsPage;
public function InstructionsPage(){
restart = function (){
};
super();
addFrameScript(14, frame15);
instance = this;
visible = false;
Button.setSimpleButton(playBtn, playGame);
playBtn.visible = false;
hide();
stop();
}
function frame15(){
stop();
}
public function playGame(){
GDocument.showPage(GamePage);
}
public function showPlay(){
preloadBar.visible = false;
playBtn.visible = true;
removeChild(preloadBar);
}
public static function show(){
instance.preloadBar.visible = true;
instance.playBtn.visible = false;
BitmapDataPool.preloadBar = instance.preloadBar.preloadbarMc;
BitmapDataPool.onFinish = instance.showPlay;
BitmapDataPool.getPercent();
}
public static function hide(){
}
}
}//package project
Section 53
//linkme (project.linkme)
package project {
import flash.display.*;
public dynamic class linkme extends MovieClip {
public var A:MovieClip;
public var B:MovieClip;
}
}//package project
Section 54
//MaxScreen (project.MaxScreen)
package project {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
import flash.accessibility.*;
public dynamic class MaxScreen extends MovieClip {
public function MaxScreen(){
addFrameScript(240, frame241);
}
function frame241(){
stop();
parent.nextFrame();
}
}
}//package project
Section 55
//PointerParticle (project.PointerParticle)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class PointerParticle extends TweenParticle {
public var isDown:Boolean;// = false
public static var instance:PointerParticle;
public function PointerParticle(){
isDown = false;
super();
instance = this;
target = SpriteBitmap.pull({linkage:HaloBMP, autoLoop:false});
Space.push(this, "shadows");
GamePage.instance.pointerBtn.addEventListener("mouseDown", mouseDown);
GamePage.instance.pointerBtn.addEventListener("mouseUp", mouseUp);
}
public function mouseUp(_arg1){
isDown = false;
target.autoLoop = false;
Mouse.show();
step = target.step;
}
public function loop(){
ElvParticle.instance.pointReached = false;
target.x = (x = (x + ((Space.instance.mouseX - x) / 3)));
target.y = (z = (z + ((Space.instance.mouseY - z) / 3)));
target.step();
}
public function mouseDown(_arg1){
isDown = true;
target.goto({frame:0, autoLoop:true});
Mouse.hide();
target.x = (x = Space.instance.mouseX);
target.y = (z = Space.instance.mouseY);
step = loop;
}
public static function init(){
if (!instance){
new (PointerParticle);
//unresolved jump
};
}
public static function restart(){
instance.mouseUp(0);
instance.target.x = (instance.x = 0);
instance.target.y = (instance.z = 150);
}
}
}//package project
Section 56
//Score (project.Score)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Score {
public static var score;
public static var scoreMessage:SpriteBitmapText = GameInterface.scoreMessage;
public static function add(_arg1){
score = Memory.plus("score", _arg1);
renderScore();
}
public static function renderScore(){
scoreMessage.show(Utils.commas(Utils.fillZero(score, 4)));
}
public static function reset(){
score = Memory.setValue("score", 0);
renderScore();
}
}
}//package project
Section 57
//ScorePage (project.ScorePage)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class ScorePage extends MovieClip {
public var mainBtn:SimpleButton;
public var restart:Function;
public var maxBtn:SimpleButton;
public var cgBtn:SimpleButton;
public var playBtn:SimpleButton;
public var scoreTxt:TextField;
public static var instance:ScorePage;
public function ScorePage(){
restart = function (){
};
super();
addFrameScript(14, frame15);
instance = this;
visible = false;
hide();
stop();
Button.setSimpleButton(playBtn, playGame);
Button.setSimpleButton(mainBtn, main);
Button.setSimpleButton(maxBtn, sponsor);
Button.setSimpleButton(cgBtn, cublogames);
}
public function sponsor(){
Utils.getURL("http://www.maxgames.com");
}
function frame15(){
stop();
}
public function playGame(){
GDocument.showPage(GamePage);
}
public function main(){
GDocument.showPage(SplashPage);
}
public function cublogames(){
Utils.getURL("http://www.cublogames.com");
}
public static function show(){
var _local1:*;
_local1 = int(Memory.getValue("score"));
if ((_local1 >= 1000)){
_local1 = Utils.commas(_local1);
//unresolved jump
};
instance.scoreTxt.text = _local1;
}
public static function hide(){
}
}
}//package project
Section 58
//Smoke (project.Smoke)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class Smoke {
public var max:int;// = 10
public var smokeCount:int;// = 0
public var target:SpriteBitmap;
public var current:int;// = 0
public var pool:Array;
public function Smoke(_arg1){
var _local2:int;
pool = [];
current = 0;
max = 10;
smokeCount = 0;
super();
target = _arg1;
_local2 = 0;
while (_local2 < max) {
pool.push(SpriteBitmap.pull({linkage:SmokeBMP, container:Space.shadows, scale:0.1, autoLoop:false}));
_local2++;
};
}
public function step(){
var _local1:*;
var _local2:*;
for (_local1 in pool) {
_local2 = pool[_local1];
if ((_local2.frame < _local2.totalFrames)){
_local2.step();
continue;
};
};
}
public function chance(_arg1:Number=1){
if (Math.random() > _arg1){
pool[current].goto({frame:0, x:target.x, y:(target.y - 5)});
current = Utils.cycle(current, 0, (max - 1));
};
}
}
}//package project
Section 59
//SplashPage (project.SplashPage)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import flash.media.*;
import geeon.gdocument.*;
import flash.geom.*;
import flash.text.*;
import geeon.holders.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
public class SplashPage extends MovieClip {
public var restart:Function;
public var maxBtn:SimpleButton;
public var cgBtn:SimpleButton;
public var playBtn:SimpleButton;
public static var instance:SplashPage;
public function SplashPage(){
restart = function (){
};
super();
addFrameScript(14, frame15);
instance = this;
visible = false;
hide();
stop();
Button.setSimpleButton(playBtn, playGame);
Button.setSimpleButton(maxBtn, sponsor);
Button.setSimpleButton(cgBtn, cublogames);
}
public function sponsor(){
Utils.getURL("http://www.maxgames.com");
}
function frame15(){
stop();
}
public function playGame(){
GDocument.showPage(InstructionsPage);
}
public function cublogames(){
Utils.getURL("http://www.cublogames.com");
}
public static function show(){
}
public static function hide(){
}
}
}//package project
Section 60
//AngryBunnyBMP (AngryBunnyBMP)
package {
import flash.display.*;
public dynamic class AngryBunnyBMP extends MovieClip {
}
}//package
Section 61
//BadGuyBMP (BadGuyBMP)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
import flash.accessibility.*;
public dynamic class BadGuyBMP extends MovieClip {
public function BadGuyBMP(){
addFrameScript(0, frame1, 45, frame46, 68, frame69);
}
function frame1(){
stop();
}
function frame46(){
stop();
}
function frame69(){
stop();
}
}
}//package
Section 62
//BouncerBMP (BouncerBMP)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
import flash.accessibility.*;
public dynamic class BouncerBMP extends MovieClip {
public function BouncerBMP(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
}
}
}//package
Section 63
//bulletFX (bulletFX)
package {
import flash.media.*;
public dynamic class bulletFX extends Sound {
}
}//package
Section 64
//buttonDownSound (buttonDownSound)
package {
import flash.media.*;
public dynamic class buttonDownSound extends Sound {
}
}//package
Section 65
//buttonOverSound (buttonOverSound)
package {
import flash.media.*;
public dynamic class buttonOverSound extends Sound {
}
}//package
Section 66
//ElvBMP (ElvBMP)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
import flash.accessibility.*;
public dynamic class ElvBMP extends MovieClip {
public function ElvBMP(){
addFrameScript(0, frame1, 35, frame36, 164, frame165, 180, frame181, 195, frame196, 200, frame201, 215, frame216);
}
function frame165(){
stop();
}
function frame201(){
stop();
}
function frame181(){
stop();
}
function frame1(){
stop();
}
function frame216(){
stop();
}
function frame36(){
stop();
}
function frame196(){
stop();
}
}
}//package
Section 67
//elvcapturedFX (elvcapturedFX)
package {
import flash.media.*;
public dynamic class elvcapturedFX extends Sound {
}
}//package
Section 68
//elvdiesFX (elvdiesFX)
package {
import flash.media.*;
public dynamic class elvdiesFX extends Sound {
}
}//package
Section 69
//fan (fan)
package {
import flash.media.*;
public dynamic class fan extends Sound {
}
}//package
Section 70
//fan0 (fan0)
package {
import flash.media.*;
public dynamic class fan0 extends Sound {
}
}//package
Section 71
//fan1 (fan1)
package {
import flash.media.*;
public dynamic class fan1 extends Sound {
}
}//package
Section 72
//fan10 (fan10)
package {
import flash.media.*;
public dynamic class fan10 extends Sound {
}
}//package
Section 73
//fan11 (fan11)
package {
import flash.media.*;
public dynamic class fan11 extends Sound {
}
}//package
Section 74
//fan12 (fan12)
package {
import flash.media.*;
public dynamic class fan12 extends Sound {
}
}//package
Section 75
//fan13 (fan13)
package {
import flash.media.*;
public dynamic class fan13 extends Sound {
}
}//package
Section 76
//fan14 (fan14)
package {
import flash.media.*;
public dynamic class fan14 extends Sound {
}
}//package
Section 77
//fan15 (fan15)
package {
import flash.media.*;
public dynamic class fan15 extends Sound {
}
}//package
Section 78
//fan16 (fan16)
package {
import flash.media.*;
public dynamic class fan16 extends Sound {
}
}//package
Section 79
//fan17 (fan17)
package {
import flash.media.*;
public dynamic class fan17 extends Sound {
}
}//package
Section 80
//fan18 (fan18)
package {
import flash.media.*;
public dynamic class fan18 extends Sound {
}
}//package
Section 81
//fan19 (fan19)
package {
import flash.media.*;
public dynamic class fan19 extends Sound {
}
}//package
Section 82
//fan2 (fan2)
package {
import flash.media.*;
public dynamic class fan2 extends Sound {
}
}//package
Section 83
//fan20 (fan20)
package {
import flash.media.*;
public dynamic class fan20 extends Sound {
}
}//package
Section 84
//fan21 (fan21)
package {
import flash.media.*;
public dynamic class fan21 extends Sound {
}
}//package
Section 85
//fan22 (fan22)
package {
import flash.media.*;
public dynamic class fan22 extends Sound {
}
}//package
Section 86
//fan23 (fan23)
package {
import flash.media.*;
public dynamic class fan23 extends Sound {
}
}//package
Section 87
//fan24 (fan24)
package {
import flash.media.*;
public dynamic class fan24 extends Sound {
}
}//package
Section 88
//fan3 (fan3)
package {
import flash.media.*;
public dynamic class fan3 extends Sound {
}
}//package
Section 89
//fan4 (fan4)
package {
import flash.media.*;
public dynamic class fan4 extends Sound {
}
}//package
Section 90
//fan5 (fan5)
package {
import flash.media.*;
public dynamic class fan5 extends Sound {
}
}//package
Section 91
//fan6 (fan6)
package {
import flash.media.*;
public dynamic class fan6 extends Sound {
}
}//package
Section 92
//fan7 (fan7)
package {
import flash.media.*;
public dynamic class fan7 extends Sound {
}
}//package
Section 93
//fan8 (fan8)
package {
import flash.media.*;
public dynamic class fan8 extends Sound {
}
}//package
Section 94
//fan9 (fan9)
package {
import flash.media.*;
public dynamic class fan9 extends Sound {
}
}//package
Section 95
//FanBMP (FanBMP)
package {
import flash.display.*;
public dynamic class FanBMP extends MovieClip {
}
}//package
Section 96
//fFX (fFX)
package {
import flash.media.*;
public dynamic class fFX extends Sound {
}
}//package
Section 97
//FloorBMP (FloorBMP)
package {
import flash.display.*;
public dynamic class FloorBMP extends MovieClip {
public var backMc:MovieClip;
}
}//package
Section 98
//gameMusic (gameMusic)
package {
import flash.media.*;
public dynamic class gameMusic extends Sound {
}
}//package
Section 99
//HaloBMP (HaloBMP)
package {
import flash.display.*;
public dynamic class HaloBMP extends MovieClip {
}
}//package
Section 100
//HappyBunnyBMP (HappyBunnyBMP)
package {
import flash.display.*;
public dynamic class HappyBunnyBMP extends MovieClip {
}
}//package
Section 101
//hit2FX (hit2FX)
package {
import flash.media.*;
public dynamic class hit2FX extends Sound {
}
}//package
Section 102
//hitFX (hitFX)
package {
import flash.media.*;
public dynamic class hitFX extends Sound {
}
}//package
Section 103
//HoleBMP (HoleBMP)
package {
import flash.display.*;
public dynamic class HoleBMP extends MovieClip {
}
}//package
Section 104
//jumpFX (jumpFX)
package {
import flash.media.*;
public dynamic class jumpFX extends Sound {
}
}//package
Section 105
//loseFX (loseFX)
package {
import flash.media.*;
public dynamic class loseFX extends Sound {
}
}//package
Section 106
//pass6FX (pass6FX)
package {
import flash.media.*;
public dynamic class pass6FX extends Sound {
}
}//package
Section 107
//passFX (passFX)
package {
import flash.media.*;
public dynamic class passFX extends Sound {
}
}//package
Section 108
//ShadowBMP (ShadowBMP)
package {
import flash.display.*;
public dynamic class ShadowBMP extends MovieClip {
}
}//package
Section 109
//SmokeBMP (SmokeBMP)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import flash.xml.*;
import flash.filters.*;
import flash.accessibility.*;
public dynamic class SmokeBMP extends MovieClip {
public var smoke:MovieClip;
public function SmokeBMP(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29, 29, frame30, 30, frame31, 31, frame32, 32, frame33, 33, frame34, 34, frame35, 35, frame36, 36, frame37, 37, frame38, 38, frame39, 39, frame40);
}
function frame10(){
smoke.gotoAndStop(currentFrame);
}
function frame14(){
smoke.gotoAndStop(currentFrame);
}
function frame18(){
smoke.gotoAndStop(currentFrame);
}
function frame12(){
smoke.gotoAndStop(currentFrame);
}
function frame3(){
smoke.gotoAndStop(currentFrame);
}
function frame6(){
smoke.gotoAndStop(currentFrame);
}
function frame7(){
smoke.gotoAndStop(currentFrame);
}
function frame1(){
smoke.gotoAndStop(currentFrame);
}
function frame19(){
smoke.gotoAndStop(currentFrame);
}
function frame25(){
smoke.gotoAndStop(currentFrame);
}
function frame13(){
smoke.gotoAndStop(currentFrame);
}
function frame17(){
smoke.gotoAndStop(currentFrame);
}
function frame5(){
smoke.gotoAndStop(currentFrame);
}
function frame9(){
smoke.gotoAndStop(currentFrame);
}
function frame22(){
smoke.gotoAndStop(currentFrame);
}
function frame4(){
smoke.gotoAndStop(currentFrame);
}
function frame8(){
smoke.gotoAndStop(currentFrame);
}
function frame21(){
smoke.gotoAndStop(currentFrame);
}
function frame2(){
smoke.gotoAndStop(currentFrame);
}
function frame15(){
smoke.gotoAndStop(currentFrame);
}
function frame23(){
smoke.gotoAndStop(currentFrame);
}
function frame24(){
smoke.gotoAndStop(currentFrame);
}
function frame28(){
smoke.gotoAndStop(currentFrame);
}
function frame36(){
smoke.gotoAndStop(currentFrame);
}
function frame16(){
smoke.gotoAndStop(currentFrame);
}
function frame30(){
smoke.gotoAndStop(currentFrame);
}
function frame31(){
smoke.gotoAndStop(currentFrame);
}
function frame34(){
smoke.gotoAndStop(currentFrame);
}
function frame27(){
smoke.gotoAndStop(currentFrame);
}
function frame11(){
smoke.gotoAndStop(currentFrame);
}
function frame35(){
smoke.gotoAndStop(currentFrame);
}
function frame37(){
smoke.gotoAndStop(currentFrame);
}
function frame29(){
smoke.gotoAndStop(currentFrame);
}
function frame33(){
smoke.gotoAndStop(currentFrame);
}
function frame40(){
smoke.gotoAndStop(currentFrame);
}
function frame20(){
smoke.gotoAndStop(currentFrame);
}
function frame39(){
smoke.gotoAndStop(currentFrame);
}
function frame26(){
smoke.gotoAndStop(currentFrame);
}
function frame32(){
smoke.gotoAndStop(currentFrame);
}
function frame38(){
smoke.gotoAndStop(currentFrame);
}
}
}//package
Section 110
//snareFX (snareFX)
package {
import flash.media.*;
public dynamic class snareFX extends Sound {
}
}//package
Section 111
//spawnFX (spawnFX)
package {
import flash.media.*;
public dynamic class spawnFX extends Sound {
}
}//package
Section 112
//sube2FX (sube2FX)
package {
import flash.media.*;
public dynamic class sube2FX extends Sound {
}
}//package
Section 113
//sube4FX (sube4FX)
package {
import flash.media.*;
public dynamic class sube4FX extends Sound {
}
}//package
Section 114
//surfMusic (surfMusic)
package {
import flash.media.*;
public dynamic class surfMusic extends Sound {
}
}//package
Section 115
//testBMP (testBMP)
package {
import flash.display.*;
public dynamic class testBMP extends BitmapData {
public function testBMP(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 116
//timeFX (timeFX)
package {
import flash.media.*;
public dynamic class timeFX extends Sound {
}
}//package
Section 117
//winFX (winFX)
package {
import flash.media.*;
public dynamic class winFX extends Sound {
}
}//package