Section 1
//Button (geeon.components.Button)
package geeon.components {
import flash.display.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 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 project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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.*;
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 2
//Index (geeon.components.Index)
package geeon.components {
import flash.display.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 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 3
//MCWrapper (geeon.components.MCWrapper)
package geeon.components {
import flash.display.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 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 4
//FailedPage (geeon.gdocument.FailedPage)
package geeon.gdocument {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
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 FailedPage extends MovieClip {
public var mainBtn:SimpleButton;
public var playBtn:SimpleButton;
public static var instance:FailedPage;
public static var playGame:Function = function (){
GDocument.showPage(InstructionsPage);
};
public static var restart:Function = function (){
};
public function FailedPage(){
addFrameScript(58, frame59);
instance = this;
visible = false;
hide();
stop();
Button.setSimpleButton(playBtn, playGame);
Button.setSimpleButton(mainBtn, main);
}
public function main(){
GDocument.showPage(SplashPage);
}
function frame59(){
stop();
}
public static function hide(){
}
public static function show(){
Mixer.interfaceMusicOn();
}
}
}//package geeon.gdocument
Section 5
//GamePage (geeon.gdocument.GamePage)
package geeon.gdocument {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
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 static var instance;
public static var restart:Function = function (){
};
public function GamePage(){
instance = this;
visible = false;
Space.init({container:this});
GameEngine.init();
hide();
}
public static function hide(){
GameEngine.clearThreads();
}
public static function show(){
GameEngine.restart();
Document.setGameQuality();
}
}
}//package geeon.gdocument
Section 6
//GameTimer (geeon.gdocument.GameTimer)
package geeon.gdocument {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
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 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 geeon.gdocument
Section 7
//GDocument (geeon.gdocument.GDocument)
package geeon.gdocument {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
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();
currentPage.restart();
}
}
}//package geeon.gdocument
Section 8
//InstructionsPage (geeon.gdocument.InstructionsPage)
package geeon.gdocument {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
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 InstructionsPage extends MovieClip {
public var descriptionField:TextField;
public var preloadBar:MovieClip;
public var titleField:TextField;
public var playBtn:SimpleButton;
public var thumbnailMc:MovieClip;
public var chapterField:TextField;
public static var instance:InstructionsPage;
public static var restart:Function = function (){
};
public function InstructionsPage(){
addFrameScript(38, frame39);
instance = this;
visible = false;
Button.setSimpleButton(playBtn, playGame);
playBtn.visible = false;
hide();
stop();
}
public function playGame(){
GDocument.showPage(GamePage);
}
function frame39(){
stop();
}
public function showPlay(){
preloadBar.visible = false;
playBtn.visible = true;
preloadBar.visible = false;
}
public static function hide(){
}
public static function show(){
instance.preloadBar.visible = true;
instance.playBtn.visible = false;
BitmapDataPool.preloadBar = instance.preloadBar.preloadbarMc;
BitmapDataPool.onFinish = instance.showPlay;
BitmapDataPool.getPercent();
restart();
}
}
}//package geeon.gdocument
Section 9
//Score (geeon.gdocument.Score)
package geeon.gdocument {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
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 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 geeon.gdocument
Section 10
//ScorePage (geeon.gdocument.ScorePage)
package geeon.gdocument {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
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 ScorePage extends MovieClip {
public var mainBtn:SimpleButton;
public var winMsg:MovieClip;
public var playBtn:SimpleButton;
public var scoreTxt:TextField;
public static var instance:ScorePage;
public static var restart:Function = function (){
};
public function ScorePage(){
addFrameScript(89, frame90);
instance = this;
visible = false;
hide();
stop();
Button.setSimpleButton(playBtn, playGame);
Button.setSimpleButton(mainBtn, main);
}
function frame90(){
stop();
}
public function playGame(){
GDocument.showPage(InstructionsPage);
}
public function main(){
GDocument.showPage(SplashPage);
}
public static function hide(){
}
public static function show(){
var _local1:*;
_local1 = int(Memory.getValue("score"));
if ((_local1 >= 1000)){
_local1 = Utils.commas(_local1);
//unresolved jump
};
instance.scoreTxt.text = _local1;
Mixer.interfaceMusicOn();
}
}
}//package geeon.gdocument
Section 11
//SplashPage (geeon.gdocument.SplashPage)
package geeon.gdocument {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
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 SplashPage extends MovieClip {
public var playBtn:SimpleButton;
public static var instance:SplashPage;
public static var restart:Function = function (){
};
public function SplashPage(){
addFrameScript(81, frame82);
instance = this;
visible = false;
hide();
stop();
Button.setSimpleButton(playBtn, playGame);
}
function frame82(){
stop();
}
public function playGame(){
GDocument.showPage(InstructionsPage);
}
public static function hide(){
}
public static function show(){
}
}
}//package geeon.gdocument
Section 12
//AbstractHolder (geeon.holders.AbstractHolder)
package geeon.holders {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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.*;
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;
};
params.onLoadProgress();
}
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();
dispatchEvent(_arg1);
}
public function onLoadComplete(_arg1){
doOnLoadComplete();
setButton();
if (preloadbarMc){
preloadbarMc.scaleX = 0.01;
preloadbarMc.alpha = 0;
};
params.onLoadComplete();
}
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 13
//BitmapHolder (geeon.holders.BitmapHolder)
package geeon.holders {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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.*;
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 14
//MCHolder (geeon.holders.MCHolder)
package geeon.holders {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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.*;
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 15
//SoundHolder (geeon.holders.SoundHolder)
package geeon.holders {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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.*;
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 16
//VideoHolder (geeon.holders.VideoHolder)
package geeon.holders {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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.*;
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 17
//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 18
//BitmapDataPool (geeon.particles.BitmapDataPool)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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 project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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.*;
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 19
//Bounds (geeon.particles.Bounds)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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 cropConstrain(_arg1){
var _local2:*;
var _local3:*;
_local2 = (_arg1.width / 2);
_local3 = (_arg1.height / 2);
if (((_arg1.x - _local2) > left)){
_arg1.x = (left + _local2);
//unresolved jump
};
if (((_arg1.x + _local2) < right)){
_arg1.x = (right - _local2);
//unresolved jump
};
if (((_arg1.y - _local3) > top)){
_arg1.y = (top + _local3);
//unresolved jump
};
if (((_arg1.y + _local3) < bottom)){
_arg1.y = (bottom - _local3);
//unresolved jump
};
}
public function constrain(_arg1){
_arg1.x = Utils.constrain(_arg1.x, left, right);
_arg1.y = Utils.constrain(_arg1.y, top, bottom);
}
}
}//package geeon.particles
Section 20
//Keyb (geeon.particles.Keyb)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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 21
//Space (geeon.particles.Space)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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", 16);
for (_local3 in _local2) {
sprites.setChildIndex(_local2[_local3], _local3);
};
if (autoScroll){
instance.scroll();
//unresolved jump
};
}
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 22
//SpriteBitmap (geeon.particles.SpriteBitmap)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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);
}
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);
if (center){
bitmap.x = center.x;
bitmap.y = center.y;
} else {
bitmap.x = (-(bitmap.width) / 2);
bitmap.y = (-(bitmap.height) / 2);
};
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 23
//SpriteBitmapText (geeon.particles.SpriteBitmapText)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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 24
//Thread (geeon.particles.Thread)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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 resize:Array = [];
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);
_arg1.addEventListener(Event.RESIZE, dispatch);
setClock();
}
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 init(_arg1){
if (!instance){
new Thread(_arg1, new Unlocker());
//unresolved jump
};
}
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 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 remove(_arg1:Function){
var _local2:*;
_local2 = dictionary[_arg1];
if (_local2){
delete dictionary[_arg1];
trashcan.push(_local2);
garbage = true;
};
}
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 project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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.*;
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 25
//TweenParticle (geeon.particles.TweenParticle)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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 pointReached:Boolean;// = true
public var view:String;// = "front"
public var label:String;
public var lives:int;// = 0
public var isMoving:Boolean;
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 tweens:TweenPool;
public function TweenParticle(_arg1=null){
var params = _arg1;
bitmapParams = {};
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 26
//TweenPoint (geeon.particles.TweenPoint)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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 27
//TweenPool (geeon.particles.TweenPool)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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 28
//TweenThread (geeon.particles.TweenThread)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 TweenThread extends TweenPoint {
public var counter:int;// = 0
public var moveto:Vector;
public var cos:Number;// = 0
public var mass:Number;// = 1
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();
moveto = 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 29
//Vector (geeon.particles.Vector)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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 30
//Viewport (geeon.particles.Viewport)
package geeon.particles {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.utils.*;
import geeon.gdocument.*;
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 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 = 1;
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 31
//Document (geeon.system.Document)
package geeon.system {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 Document {
public static var stageHeight:int;
public static var width:Number = 385;
public static var left:int;
public static var renderQuality:String = "HIGH";
public static var interfaceQuality:String = "HIGH";
public static var initialized:Boolean;
public static var top:int;
public static var gameFPS:int = 100;
public static var right:int;
public static var root:Sprite;
public static var height:Number = 420;
public static var bottom:int;
public static var gameQuality:String = "LOW";
public static var context:LoaderContext;
public static var interfaceFPS:int = 33;
public static var stageWidth:int;
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("*");
stage.scaleMode = "noScale";
System.useCodePage = true;
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);
Thread.add(onResize, "resize");
onResize();
}
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;
}
public static function onResize(){
var _local1:*;
var _local2:*;
stageWidth = stage.stageWidth;
stageHeight = stage.stageHeight;
_local1 = ((stageWidth - width) / 2);
_local2 = ((stageHeight - height) / 2);
top = -(_local2);
left = -(_local1);
bottom = (height + _local2);
right = (width + _local1);
}
public static function setRenderQuality(){
if (!stage){
return;
};
stage.quality = renderQuality;
stage.frameRate = interfaceFPS;
}
}
}//package geeon.system
class Unlocker {
private function Unlocker(){
}
}
Section 32
//Memory (geeon.system.Memory)
package geeon.system {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 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 33
//Mixer (geeon.system.Mixer)
package geeon.system {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import project.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 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 34
//Random (geeon.utils.Random)
package geeon.utils {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import project.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 Random {
public static function spectrum(_arg1=1){
return ((((Math.random() * _arg1) * 2) - _arg1));
}
public static function or(_arg1, _arg2){
return (arrayGetRandom([_arg1, _arg2]));
}
public static function max(_arg1, _arg2=0){
return (Math.round(((Math.random() * Utils.constrain((_arg1 - _arg2), 0)) + _arg2)));
}
public static function arraySlot(_arg1:Array){
return (_arg1[Math.floor((Math.random() * _arg1.length))]);
}
public static function goto(_arg1){
_arg1.gotoAndStop(max(_arg1.totalFrames, 1));
}
public static function suffle(_arg1, _arg2=null){
var _local3:*;
var _local4:*;
var _local5:*;
_arg2 = Utils.or(_arg2, _arg1.length);
_local3 = Utils.copyArray(_arg1);
_local4 = new Array();
while (_local4.length < _arg2) {
_local4.push(_local3.splice((Math.random() * _local3.length), 1)[0]);
};
return (_local4);
}
public static function chance(_arg1:Number=0.5){
return ((Math.random() > _arg1));
}
}
}//package geeon.utils
Section 35
//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 geeon.gdocument.*;
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 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 36
//_shine_63 (hitman_fla._shine_63)
package hitman_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 _shine_63 extends MovieClip {
public function _shine_63(){
addFrameScript(0, frame1);
}
function frame1(){
gotoAndPlay(Math.round((Math.random() * 200)));
}
}
}//package hitman_fla
Section 37
//BitmapTextMessage_19 (hitman_fla.BitmapTextMessage_19)
package hitman_fla {
import flash.display.*;
import flash.text.*;
public dynamic class BitmapTextMessage_19 extends MovieClip {
public var textField:TextField;
}
}//package hitman_fla
Section 38
//BitmapTextScore_18 (hitman_fla.BitmapTextScore_18)
package hitman_fla {
import flash.display.*;
import flash.text.*;
public dynamic class BitmapTextScore_18 extends MovieClip {
public var txtField:TextField;
public var textField:TextField;
}
}//package hitman_fla
Section 39
//BitmapTextTime_17 (hitman_fla.BitmapTextTime_17)
package hitman_fla {
import flash.display.*;
import flash.text.*;
public dynamic class BitmapTextTime_17 extends MovieClip {
public var textField:TextField;
}
}//package hitman_fla
Section 40
//cachingSpritesBox_55 (hitman_fla.cachingSpritesBox_55)
package hitman_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 cachingSpritesBox_55 extends MovieClip {
public var preloadbarMc:MovieClip;
public function cachingSpritesBox_55(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hitman_fla
Section 41
//Symbol101_135 (hitman_fla.Symbol101_135)
package hitman_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 Symbol101_135 extends MovieClip {
public function Symbol101_135(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hitman_fla
Section 42
//Symbol124_96 (hitman_fla.Symbol124_96)
package hitman_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 Symbol124_96 extends MovieClip {
public var frames:MovieClip;
public function Symbol124_96(){
addFrameScript(0, frame1, 45, frame46, 50, frame51, 72, frame73, 82, frame83);
}
function frame73(){
stop();
}
function frame1(){
stop();
}
function frame83(){
stop();
}
function frame46(){
stop();
}
function frame51(){
stop();
}
}
}//package hitman_fla
Section 43
//Symbol124copy_87 (hitman_fla.Symbol124copy_87)
package hitman_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 Symbol124copy_87 extends MovieClip {
public function Symbol124copy_87(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hitman_fla
Section 44
//Symbol124copy2_52 (hitman_fla.Symbol124copy2_52)
package hitman_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 Symbol124copy2_52 extends MovieClip {
public var frames:MovieClip;
public function Symbol124copy2_52(){
addFrameScript(0, frame1, 79, frame80, 86, frame87, 106, frame107, 116, frame117);
}
function frame80(){
stop();
}
function frame87(){
stop();
}
function frame1(){
stop();
}
function frame107(){
stop();
}
function frame117(){
stop();
}
}
}//package hitman_fla
Section 45
//Symbol126_97 (hitman_fla.Symbol126_97)
package hitman_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 Symbol126_97 extends MovieClip {
public function Symbol126_97(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hitman_fla
Section 46
//Symbol140_84 (hitman_fla.Symbol140_84)
package hitman_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 Symbol140_84 extends MovieClip {
public function Symbol140_84(){
addFrameScript(10, frame11, 25, frame26);
}
function frame26(){
stop();
}
function frame11(){
gotoAndPlay("dance");
}
}
}//package hitman_fla
Section 47
//Symbol146_83 (hitman_fla.Symbol146_83)
package hitman_fla {
import flash.display.*;
public dynamic class Symbol146_83 extends MovieClip {
public var dancer2:MovieClip;
public var dancer3:MovieClip;
public var dancer1:MovieClip;
}
}//package hitman_fla
Section 48
//Symbol147_73 (hitman_fla.Symbol147_73)
package hitman_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 Symbol147_73 extends MovieClip {
public var spot:MovieClip;
public var lightsOn;
public var startDance;
public function Symbol147_73(){
addFrameScript(0, frame1, 40, frame41, 69, frame70);
}
function frame70(){
startDance();
stop();
}
function frame1(){
}
function frame41(){
lightsOn();
}
}
}//package hitman_fla
Section 49
//Symbol150_77 (hitman_fla.Symbol150_77)
package hitman_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 Symbol150_77 extends MovieClip {
public function Symbol150_77(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package hitman_fla
Section 50
//Symbol153_75 (hitman_fla.Symbol153_75)
package hitman_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 Symbol153_75 extends MovieClip {
public function Symbol153_75(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hitman_fla
Section 51
//Symbol154_76 (hitman_fla.Symbol154_76)
package hitman_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 Symbol154_76 extends MovieClip {
public function Symbol154_76(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package hitman_fla
Section 52
//Symbol16_16 (hitman_fla.Symbol16_16)
package hitman_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 Symbol16_16 extends MovieClip {
public function Symbol16_16(){
addFrameScript(0, frame1, 35, frame36);
}
function frame1(){
stop();
}
function frame36(){
stop();
}
}
}//package hitman_fla
Section 53
//Symbol160_111 (hitman_fla.Symbol160_111)
package hitman_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 Symbol160_111 extends MovieClip {
public function Symbol160_111(){
addFrameScript(0, frame1, 26, frame27);
}
function frame1(){
stop();
}
function frame27(){
stop();
}
}
}//package hitman_fla
Section 54
//Symbol164_102 (hitman_fla.Symbol164_102)
package hitman_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 Symbol164_102 extends MovieClip {
public function Symbol164_102(){
addFrameScript(19, frame20);
}
function frame20(){
gotoAndPlay(Math.round(((Math.random() * 20) + 1)));
}
}
}//package hitman_fla
Section 55
//Symbol16copy_4 (hitman_fla.Symbol16copy_4)
package hitman_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 Symbol16copy_4 extends MovieClip {
public function Symbol16copy_4(){
addFrameScript(15, frame16);
}
function frame16(){
stop();
}
}
}//package hitman_fla
Section 56
//Symbol171_108 (hitman_fla.Symbol171_108)
package hitman_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 Symbol171_108 extends MovieClip {
public var onSwim;
public function Symbol171_108(){
addFrameScript(0, frame1, 106, frame107, 196, frame197);
}
function frame1(){
}
function frame107(){
onSwim();
}
function frame197(){
gotoAndPlay("swim");
}
}
}//package hitman_fla
Section 57
//Symbol173_110 (hitman_fla.Symbol173_110)
package hitman_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 Symbol173_110 extends MovieClip {
public var onMartini;
public function Symbol173_110(){
addFrameScript(0, frame1, 117, frame118);
}
function frame1(){
}
function frame118(){
onMartini();
stop();
}
}
}//package hitman_fla
Section 58
//Symbol31_37 (hitman_fla.Symbol31_37)
package hitman_fla {
import flash.display.*;
public dynamic class Symbol31_37 extends MovieClip {
public var mc:MovieClip;
public var zoomMc:MovieClip;
}
}//package hitman_fla
Section 59
//Symbol33_38 (hitman_fla.Symbol33_38)
package hitman_fla {
import flash.display.*;
public dynamic class Symbol33_38 extends MovieClip {
public var phone:MovieClip;
public var target:MovieClip;
public var guard:MovieClip;
public var sniper:MovieClip;
}
}//package hitman_fla
Section 60
//Symbol34_133 (hitman_fla.Symbol34_133)
package hitman_fla {
import flash.display.*;
public dynamic class Symbol34_133 extends MovieClip {
public var h10:MovieClip;
public var target:MovieClip;
public var briefcase:MovieClip;
public var h1:MovieClip;
public var h2:MovieClip;
public var h4:MovieClip;
public var h5:MovieClip;
public var h6:MovieClip;
public var h7:MovieClip;
public var h8:MovieClip;
public var h9:MovieClip;
public var h3:MovieClip;
}
}//package hitman_fla
Section 61
//Symbol35_67 (hitman_fla.Symbol35_67)
package hitman_fla {
import flash.display.*;
public dynamic class Symbol35_67 extends MovieClip {
public var snow:MovieClip;
public var hitters:MovieClip;
}
}//package hitman_fla
Section 62
//Symbol36_86 (hitman_fla.Symbol36_86)
package hitman_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 Symbol36_86 extends MovieClip {
public var h10:MovieClip;
public var h11:MovieClip;
public var p1:MovieClip;
public var p2:MovieClip;
public var p3:MovieClip;
public var p5:MovieClip;
public var h1:MovieClip;
public var h2:MovieClip;
public var h4:MovieClip;
public var h5:MovieClip;
public var h6:MovieClip;
public var h7:MovieClip;
public var h8:MovieClip;
public var h9:MovieClip;
public var h3:MovieClip;
public var p4:MovieClip;
public var p6:MovieClip;
public function Symbol36_86(){
addFrameScript(0, frame1, 30, frame31, 83, frame84);
}
function frame84(){
gotoAndPlay("travel");
}
function frame1(){
stop();
}
function frame31(){
stop();
}
}
}//package hitman_fla
Section 63
//Symbol37_72 (hitman_fla.Symbol37_72)
package hitman_fla {
import flash.display.*;
public dynamic class Symbol37_72 extends MovieClip {
public var blood:MovieClip;
public var lights:MovieClip;
public var interest:MovieClip;
public var dancers:MovieClip;
}
}//package hitman_fla
Section 64
//Symbol38_100 (hitman_fla.Symbol38_100)
package hitman_fla {
import flash.display.*;
public dynamic class Symbol38_100 extends MovieClip {
public var blood:MovieClip;
public var interest:MovieClip;
public var martini:MovieClip;
public var target:MovieClip;
public var people:MovieClip;
public var bomb:MovieClip;
}
}//package hitman_fla
Section 65
//Symbol41copy_20 (hitman_fla.Symbol41copy_20)
package hitman_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol41copy_20 extends MovieClip {
public var textFieldTitle:TextField;
public var textField:TextField;
}
}//package hitman_fla
Section 66
//Symbol41copy_44 (hitman_fla.Symbol41copy_44)
package hitman_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 Symbol41copy_44 extends MovieClip {
public function Symbol41copy_44(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hitman_fla
Section 67
//Symbol45_47 (hitman_fla.Symbol45_47)
package hitman_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 Symbol45_47 extends MovieClip {
public function Symbol45_47(){
addFrameScript(0, frame1, 13, frame14, 20, frame21);
}
function frame14(){
stop();
}
function frame1(){
stop();
}
function frame21(){
stop();
}
}
}//package hitman_fla
Section 68
//Symbol60_39 (hitman_fla.Symbol60_39)
package hitman_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 Symbol60_39 extends MovieClip {
public function Symbol60_39(){
addFrameScript(0, frame1, 24, frame25, 48, frame49);
}
function frame1(){
stop();
}
function frame25(){
stop();
}
function frame49(){
stop();
}
}
}//package hitman_fla
Section 69
//Symbol65_42 (hitman_fla.Symbol65_42)
package hitman_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 Symbol65_42 extends MovieClip {
public function Symbol65_42(){
addFrameScript(128, frame129, 147, frame148);
}
function frame129(){
stop();
}
function frame148(){
stop();
}
}
}//package hitman_fla
Section 70
//Symbol66_41 (hitman_fla.Symbol66_41)
package hitman_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 Symbol66_41 extends MovieClip {
public var anim:MovieClip;
public function Symbol66_41(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hitman_fla
Section 71
//Symbol77_136 (hitman_fla.Symbol77_136)
package hitman_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 Symbol77_136 extends MovieClip {
public var frames:MovieClip;
public function Symbol77_136(){
addFrameScript(0, frame1, 15, frame16, 20, frame21, 33, frame34, 46, frame47);
}
function frame16(){
stop();
}
function frame1(){
stop();
}
function frame21(){
stop();
}
function frame34(){
stop();
}
function frame47(){
stop();
}
}
}//package hitman_fla
Section 72
//Symbol78_134 (hitman_fla.Symbol78_134)
package hitman_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 Symbol78_134 extends MovieClip {
public var mc:MovieClip;
public function Symbol78_134(){
addFrameScript(18, frame19, 80, frame81);
}
function frame81(){
stop();
}
function frame19(){
stop();
}
}
}//package hitman_fla
Section 73
//Symbol79_137 (hitman_fla.Symbol79_137)
package hitman_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 Symbol79_137 extends MovieClip {
public function Symbol79_137(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hitman_fla
Section 74
//Symbol83_50 (hitman_fla.Symbol83_50)
package hitman_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 Symbol83_50 extends MovieClip {
public function Symbol83_50(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hitman_fla
Section 75
//Symbol88_22 (hitman_fla.Symbol88_22)
package hitman_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol88_22 extends MovieClip {
public var textField:TextField;
}
}//package hitman_fla
Section 76
//Symbol90_25 (hitman_fla.Symbol90_25)
package hitman_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol90_25 extends MovieClip {
public var textField:TextField;
}
}//package hitman_fla
Section 77
//Symbol92_21 (hitman_fla.Symbol92_21)
package hitman_fla {
import flash.display.*;
public dynamic class Symbol92_21 extends MovieClip {
public var pistolMc:MovieClip;
public var handMc:MovieClip;
public var sniperMc:MovieClip;
}
}//package hitman_fla
Section 78
//FocusParticle (project.FocusParticle)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 FocusParticle extends TweenParticle {
public static var w:int;
public static var count:Number = 1;
public static var point:Point = new Point();
public static var zoom;
public static var instance:FocusParticle;
public static var cursorMode:String = "gun";
public static var sniperPoint:Point;
public static var viewMode:int = 0;
public static var ricochetVel:Number = -2;
public static var h:int;
public static var toolbox:MovieClip;
public static var bounds:Bounds;
public static var SPACE_RELEASED = true;
public static var ricochet:Number = 1;
public static var bullets:int = 0;
public function FocusParticle(){
instance = this;
target = SpriteBitmap.pull({linkage:FocusBMP});
step = loop;
bounds = new Bounds((-(Document.height) / 2.3), (Document.height / 2.3), (-(Document.width) / 2.3), (Document.width / 2.3));
Space.push(this);
loop();
GameInterface.instance.Btn.addEventListener("mouseDown", mouseDown);
}
public function loop(){
ricochet = (ricochet + ricochetVel);
ricochetVel = (ricochetVel - 2);
if ((ricochet < 0)){
ricochet = 0;
//unresolved jump
};
x = (Space.instance.parent.mouseX - Space.centerX);
y = ((Space.instance.parent.mouseY - Space.centerY) - ricochet);
point = Utils.localToLocal(target, GameEngine.levelClass.instance);
tween();
render();
if (((Keyb.isDown.SPACE) && (SPACE_RELEASED))){
changeWeapon();
//unresolved jump
};
SPACE_RELEASED = !(Keyb.isDown.SPACE);
if (viewMode == 2){
count = (count + 0.1);
zoom.x = -(point.x);
zoom.y = (-(point.y) + (Math.sin(count) * 20));
if (((zoom.x - w) > bounds.left)){
zoom.x = (bounds.left + w);
//unresolved jump
};
if (((zoom.x + w) < bounds.right)){
zoom.x = (bounds.right - w);
//unresolved jump
};
if (((zoom.y - h) > bounds.top)){
zoom.y = (bounds.top + h);
//unresolved jump
};
if (((zoom.y + h) < bounds.bottom)){
zoom.y = (bounds.bottom - h);
//unresolved jump
};
};
}
public function mouseDown(_arg1){
if (viewMode == 2){
if (--bullets >= 0){
ricochetVel = 10;
Mixer.playFX("silenced");
GameInterface.shot();
toolbox.sniperMc.textField.text = Utils.fillZero(bullets);
GameEngine.levelClass.sniper();
} else {
Mixer.playFX(clickFX);
};
return;
};
if (viewMode == 0){
GameEngine.levelClass.interact();
return;
};
if (--pistolBullets >= 0){
toolbox.pistolMc.textField.text = Utils.fillZero(pistolBullets);
ricochetVel = 5;
Mixer.playFX(("shot" + Random.max(8, 1)));
GameInterface.shot();
GameEngine.levelClass.gun();
return;
};
Mixer.playFX(clickFX);
}
public static function show(){
h = (GameEngine.levelClass.h / 2);
w = (GameEngine.levelClass.w / 2);
zoom = GameEngine.levelClass.zoom;
bullets = GameEngine.levelClass.sniperBullets;
pistolBullets = GameEngine.levelClass.pistolBullets;
viewMode = 0;
instance.visible = true;
toolbox = GameInterface.instance.toolboxMc;
toolbox.sniperMc.textField.text = Utils.fillZero(bullets);
toolbox.pistolMc.textField.text = Utils.fillZero(pistolBullets);
changeWeapon(0);
if (!sniperPoint){
sniperPoint = GameInterface.instance.sniperMc.localToGlobal(new Point());
//unresolved jump
};
}
public static function init(){
if (!instance){
new (FocusParticle);
//unresolved jump
};
}
public static function hide(){
instance.visible = false;
}
public static function restart(){
}
public static function changeWeapon(_arg1=null){
if ((_arg1 == null)){
viewMode++;
} else {
viewMode = _arg1;
};
if ((viewMode >= 3)){
viewMode = 0;
//unresolved jump
};
toolbox.sniperMc.alpha = (toolbox.pistolMc.alpha = (toolbox.handMc.alpha = 0.3));
if (viewMode == 2){
GameInterface.showSniper();
Utils.toBack(GameEngine.levelClass.zoom, GameInterface.instance.zoomMc);
GameEngine.levelClass.soundtrack.volume = 0.2;
toolbox.sniperMc.alpha = 1;
return;
};
Utils.toBack(GameEngine.levelClass.zoom, GameEngine.levelClass.instance);
zoom.x = (zoom.y = 0);
GameEngine.levelClass.soundtrack.volume = 1;
instance.target.goto({label:((viewMode == 0)) ? "hand" : "pistol"});
if (viewMode == 0){
instance.target.goto({label:"hand"});
instance.target.render();
GameInterface.fadeOut();
toolbox.handMc.alpha = 1;
return;
};
instance.target.goto({label:"pistol"});
instance.target.render();
toolbox.pistolMc.alpha = 1;
}
}
}//package project
Section 79
//GameEngine (project.GameEngine)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 GameEngine {
public static var lives;
public static var totalLevels = 6;
public static var levelClass;
public static var instance:GameEngine;
public static var iLevel;
public static var counter:int = 0;
public function GameEngine(){
instance = this;
Space.autoScroll = false;
}
public function restartGame(){
levelClass.show();
FocusParticle.init();
FocusParticle.show();
Thread.add(step);
Mouse.hide();
GameTimer.reset(levelClass.seconds, lose);
Score.reset();
GameInterface.message.show("DONT MESS IT UP", 30);
mode = function (){
};
}
public function step(){
if (GDocument.paused){
return;
};
Space.step();
mode();
}
public static function clearThreads(){
if (instance){
Thread.remove(instance.step);
GameTimer.stop();
Mouse.show();
Mixer.gameMusicOff();
};
}
public static function lose(){
clearThreads();
if (levelClass){
levelClass.hide();
//unresolved jump
};
GDocument.showPage(FailedPage);
}
public static function win(){
GameTimer.stop();
mode = winning;
counter = 50;
}
public static function restart(){
Mixer.interfaceMusicOff();
instance.restartGame();
}
public static function init(){
if (!instance){
new (GameEngine);
//unresolved jump
};
}
public static function nextLevel(){
clearThreads();
if (levelClass){
levelClass.hide();
//unresolved jump
};
ScorePage.instance.playBtn.visible = (++Memory.global.level < 6);
ScorePage.instance.winMsg.visible = !(ScorePage.instance.playBtn.visible);
GDocument.showPage(ScorePage);
}
public static function winning(){
if (!--counter){
nextLevel();
};
}
public static function takeHurt(){
GameInterface.blood();
Mixer.playFX(wounded);
if (!--lives){
lose();
};
}
Document.gameFPS = 33;
Document.gameQuality = "HIGH";
SplashPage.restart = function (){
Memory.global.level = 0;
};
InstructionsPage.restart = function (){
Mixer.interfaceMusicOn();
iLevel = (Memory.global.level + 1);
levelClass = (getDefinitionByName(("project.Mission" + iLevel)) as Class);
InstructionsPage.instance.thumbnailMc.gotoAndStop(iLevel);
InstructionsPage.instance.titleField.text = (levelClass.title + ". ");
InstructionsPage.instance.descriptionField.text = levelClass.description;
InstructionsPage.instance.chapterField.text = ((iLevel + " of ") + totalLevels);
lives = 3;
};
}
}//package project
Section 80
//GameInterface (project.GameInterface)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 GameInterface extends Sprite {
public var toolboxMc:MovieClip;
public var shotMc:MovieClip;
public var Btn:SimpleButton;
public var bloodMc:MovieClip;
public var timeMc:MovieClip;
public var coverMc:MovieClip;
public var scoreMc:MovieClip;
public var zoomMc:MovieClip;
public var comboMc:MovieClip;
public var sniperMc:Sniper;
public var msgMc:MovieClip;
public static var message:SpriteBitmapText;
public static var scoreMessage:SpriteBitmapText;
public static var comboMessage:SpriteBitmapText;
public static var timeMessage:SpriteBitmapText;
public static var instance;
public function GameInterface(){
instance = this;
sniperMc.visible = false;
bloodMc.visible = false;
shotMc.visible = false;
scoreMessage = new SpriteBitmapText(scoreMc);
timeMessage = new SpriteBitmapText(timeMc);
comboMessage = new SpriteBitmapText(comboMc);
message = new SpriteBitmapText(msgMc);
message.visible = false;
}
public static function shot(){
instance.shotMc.visible = true;
instance.shotMc.gotoAndPlay(1);
}
public static function blood(){
instance.bloodMc.visible = true;
instance.bloodMc.gotoAndPlay(1);
}
public static function showSniper(){
instance.sniperMc.visible = true;
}
public static function fadeOut(){
instance.coverMc.gotoAndPlay(2);
instance.sniperMc.visible = false;
}
}
}//package project
Section 81
//Hitter (project.Hitter)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 Hitter {
public var autoPilot:Boolean;
public var showCounter:int;
public var target:MovieClip;
public var autoSpawn:Boolean;
public var hideCounter:int;
public var hittable:Boolean;
public var dieCounter:int;
public var mode:Function;
public var fireCounter:int;
public var silenced:Boolean;
public var status;
public var startCounter:int;
public var counter:int;// = 0
public static var modeNull:Function = function (){
};
public function Hitter(_arg1, _arg2=15, _arg3=15, _arg4=15, _arg5=15, _arg6=true, _arg7=200, _arg8=false){
counter = 0;
super();
target = _arg1;
showCounter = _arg2;
fireCounter = _arg3;
hideCounter = _arg4;
dieCounter = _arg5;
autoSpawn = _arg6;
startCounter = _arg7;
silenced = _arg8;
reset();
}
public function starting(){
if (!--counter){
show();
//unresolved jump
};
}
public function firing(){
if (!--counter){
if (Random.chance()){
fire();
} else {
hide();
};
//unresolved jump
};
}
public function showing(){
if (!--counter){
if (Random.chance()){
fire();
} else {
hide();
};
//unresolved jump
};
}
public function hide(){
mode = hiding;
counter = hideCounter;
target.gotoAndPlay("hide");
}
public function dying(){
if (!--counter){
if (autoSpawn){
start();
} else {
mode = modeNull;
};
//unresolved jump
};
}
public function reset(){
target.gotoAndStop(1);
counter = 0;
status = false;
mode = modeNull;
hittable = false;
target.visible = false;
}
public function hiding(){
if (!--counter){
start();
//unresolved jump
};
}
public function start(){
counter = (Math.random() * startCounter);
mode = starting;
hittable = false;
}
public function loop(){
mode();
}
public function die(){
hittable = false;
mode = dying;
counter = (dieCounter + (Math.random() * dieCounter));
target.gotoAndPlay("die");
Mixer.playFX(("death" + Random.max(5, 1)));
}
public function fire(){
counter = (fireCounter + (Math.random() * fireCounter));
mode = showing;
target.gotoAndPlay("fire");
Mixer.playFX((silenced) ? "silenced" : ("shot" + Random.max(8, 1)));
if (Random.chance()){
GameEngine.takeHurt();
//unresolved jump
};
}
public function show(){
counter = (showCounter + (Math.random() * showCounter));
mode = showing;
hittable = true;
target.visible = true;
target.gotoAndPlay("show");
Random.goto(target.frames);
}
public static function showRandom(_arg1, _arg2=0.5){
var _local3:*;
for (_local3 in _arg1) {
if (Random.chance(_arg2)){
_arg1[_local3].show();
continue;
};
};
}
public static function onGun(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
for (_local2 in _arg1) {
_local3 = _arg1[_local2];
_local4 = _local3.target;
if (_local3.hittable){
if (_local4.hitTestPoint(_local4.root.mouseX, _local4.root.mouseY)){
_local3.die();
return (true);
};
};
};
return (false);
}
public static function addHitters(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
var _local8:Array;
var _local9:int;
_local8 = [];
_local9 = 1;
while (_local9 <= _arg1) {
_local8.push(new Hitter(_arg2[("h" + _local9)], _arg3, _arg4, _arg5, _arg6, _arg7));
_local9++;
};
return (_local8);
}
public static function step(_arg1){
var _local2:*;
for (_local2 in _arg1) {
_arg1[_local2].loop();
};
}
public static function forceHide(_arg1){
var _local2:*;
for (_local2 in _arg1) {
if (_arg1[_local2].hittable){
_arg1[_local2].hide();
} else {
_arg1[_local2].mode = modeNull;
};
};
}
public static function onSniper(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
for (_local2 in _arg1) {
_local3 = _arg1[_local2];
_local4 = _local3.target;
if (_local3.hittable){
if (_local4.hitTestPoint(FocusParticle.sniperPoint.x, FocusParticle.sniperPoint.y, true)){
_local3.die();
return (true);
};
};
};
return (false);
}
public static function restart(_arg1){
var _local2:*;
for (_local2 in _arg1) {
_arg1[_local2].reset();
};
}
public static function activate(_arg1){
var _local2:*;
for (_local2 in _arg1) {
_arg1[_local2].start();
};
}
public static function activateRandom(_arg1, _arg2=0.5){
var _local3:int;
var _local4:*;
restart(_arg1);
for (_local4 in _arg1) {
if (Random.chance(_arg2)){
_arg1[_local4].start();
_local3++;
};
};
return (_local3);
}
public static function addHittersMC(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8){
var _local9:Array;
var _local10:*;
var _local11:*;
_local9 = [];
_local10 = Utils.getContained(_arg1);
for (_local11 in _local10) {
_local9.push(new Hitter(_local10[_local11], _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8));
};
return (_local9);
}
public static function call(_arg1, _arg2:String){
var _local3:*;
for (_local3 in _arg1) {
var _local6 = _arg1[_local3];
_local6[_arg2]();
};
}
}
}//package project
Section 82
//Mission1 (project.Mission1)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 Mission1 extends Sprite {
public var interactWith:Function;
public var gunShot:Function;
public var sniperShot:Function;
public var mode:Function;
public var zoomMc:MovieClip;
public var step:Function;
public static var sniperBullets:int = 1;
public static var counter:int = 0;
public static var hitters:Array = [];
public static var modeNull:Function = function (){
};
public static var hitGoal:int = 1;
public static var seconds:int = 30;
public static var zoom;
public static var instance;
public static var title:String = "RING";
public static var soundtrack;
public static var className = "Mission1";
public static var h:int;
public static var hitCounter:int;
public static var status:Array = [];
public static var w:int;
public static var pistolBullets:int = 2;
public static var description:String = "OUR SPIES CONFIRM THAT MR. BLOON´S HAS BETRAYED US. ONE OF HIS AGENTS IS EXPECTING A CALL FROM THE POLICE THIS AFTERNOON.
FINISHISH HIM BEFORE HE GETS THE CALL.";
public function Mission1(){
mode = function (){
};
step = function (){
};
sniperShot = function (){
};
gunShot = function (){
};
interactWith = function (){
};
super();
if (!instance){
instance = this;
Space.floor.addChild(this);
scaleX = (scaleY = 0.45);
zoom = zoomMc;
step = loop;
sniperBullets = 2;
seconds = 30;
interactWith = clickPhone;
sniperShot = onSniper;
gunShot = onGun;
pistolBullets = 1;
w = 939;
h = 1017;
};
}
public function restart(){
status.guard = false;
status.target = false;
status.sniper = false;
status.phone = false;
status.alarm = false;
zoom.guard.gotoAndStop(1);
zoom.target.gotoAndStop(1);
zoom.sniper.gotoAndStop(1);
Utils.toBack(zoom, this);
}
public function tonephone(){
if (!--counter){
mode = modeNull;
if (!status.guard){
activateGuard();
} else {
if ((((status.guard == "dead")) && ((status.sniper == "dead")))){
Mixer.playFX("dialFX");
counter = 260;
mode = dialing;
};
};
};
}
public function dialing(){
if (!--counter){
zoom.target.gotoAndStop(Random.max(4, 2));
status.target = "answer";
Mixer.playFX(helloFX);
mode = modeNull;
};
}
public function activatingGuard(){
if (!--counter){
Mixer.playFX(alarmFX);
mode = modeNull;
activateSniper();
};
}
public function killTarget(){
if (status.target != "answer"){
return;
};
status.target = "dead";
zoom.target.anim.gotoAndPlay("die");
GameEngine.win();
Thread.remove(step);
}
public function activateGuard(){
if (status.guard){
return;
};
status.guard = true;
counter = 20;
mode = activatingGuard;
zoom.guard.gotoAndPlay("run");
}
public function loop(){
if (((((!(status.phone)) && ((FocusParticle.viewMode == 0)))) && (zoom.phone.hitTestPoint(root.mouseX, root.mouseY)))){
zoom.phone.play();
} else {
zoom.phone.gotoAndStop(1);
};
mode();
}
public function sniperActivated(){
if (!--counter){
counter = 60;
zoom.sniper.gotoAndPlay("fire");
Mixer.playFX(machinegunFX);
GameEngine.takeHurt();
};
}
public function onSniper(){
if (!status.guard){
if (zoom.guard.hitTestPoint(FocusParticle.sniperPoint.x, FocusParticle.sniperPoint.y, true)){
killGuard();
};
};
if (status.sniper != "dead"){
if (zoom.sniper.hitTestPoint(FocusParticle.sniperPoint.x, FocusParticle.sniperPoint.y, true)){
killSniper();
};
};
if (status.target == "answer"){
if (zoom.target.hitTestPoint(FocusParticle.sniperPoint.x, FocusParticle.sniperPoint.y, true)){
killTarget();
};
};
}
public function activateSniper(){
if (status.sniper){
return;
};
status.sniper = true;
counter = 10;
mode = sniperActivated;
}
public function clickPhone(){
if (!zoom.phone.hitTestPoint(root.mouseX, root.mouseY)){
return;
};
if (!status.phone){
status.phone = true;
Mixer.playFX(telephoneFX);
counter = 60;
mode = tonephone;
};
}
public function onGun(){
if (!status.guard){
if (zoom.guard.hitTestPoint(root.mouseX, root.mouseY)){
killGuard();
} else {
activateGuard();
};
};
}
public function killSniper(){
if (status.sniper == "dead"){
return;
};
status.sniper = "dead";
zoom.sniper.gotoAndPlay("die");
Mixer.playFX(("death" + Random.max(2, 1)));
if ((mode == sniperActivated)){
mode = modeNull;
//unresolved jump
};
}
public function killGuard(){
status.guard = "dead";
zoom.guard.gotoAndPlay("die");
Mixer.playFX(("death" + Random.max(5, 1)));
activateSniper();
}
public static function gun(){
instance.gunShot();
}
public static function hide(){
instance.visible = false;
instance.restart();
soundtrack.stop();
Utils.removeChild(zoom);
Thread.remove(instance.step);
}
public static function sniper(){
instance.sniperShot();
}
public static function interact(){
instance.interactWith();
}
public static function show(){
if (!instance){
new ((getDefinitionByName(("project." + className)) as Class));
//unresolved jump
};
instance.visible = true;
instance.mode = modeNull;
hitCounter = 0;
instance.restart();
if (!soundtrack){
soundtrack = Mixer.addTrack((className + "Music"));
//unresolved jump
};
soundtrack.volume = 1;
soundtrack.start();
Thread.add(instance.step);
}
}
}//package project
Section 83
//Mission2 (project.Mission2)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 Mission2 extends Sprite {
public var interactWith:Function;
public var gunShot:Function;
public var sniperShot:Function;
public var mode:Function;
public var zoomMc:MovieClip;
public var step:Function;
public static var sniperBullets:int = 1;
public static var counter:int = 0;
public static var hitters:Array = [];
public static var modeNull:Function = function (){
};
public static var hitGoal:int = 1;
public static var seconds:int = 30;
public static var zoom;
public static var instance;
public static var title:String = "THE STOREHOUSE";
public static var soundtrack;
public static var className = "Mission2";
public static var h:int;
public static var hitCounter:int;
public static var status:Array = [];
public static var w:int;
public static var pistolBullets:int = 2;
public static var description:String = "MR. BLOON´S ACCOUNTANT IS SELLING INFORMATION ABOUT OUR ACTIVITIES TO THE POLICE.
PUT A SNIPER BULLET ON HIS HEAD.";
public function Mission2(){
mode = function (){
};
step = function (){
};
sniperShot = function (){
};
gunShot = function (){
};
interactWith = function (){
};
super();
if (!instance){
instance = this;
Space.floor.addChild(this);
seconds = 30;
sniperBullets = 1;
pistolBullets = 99;
scaleX = (scaleY = 0.3);
zoom = zoomMc;
step = loop;
interactWith = hideBriefcase;
sniperShot = onSniper;
gunShot = onGun;
hitGoal = 10;
hitters = Hitter.addHitters(10, zoom, 15, 15, 15, 15, false);
w = 1279;
h = 1386;
};
}
public function hidding(){
if (!--counter){
mode = modeNull;
Hitter.activate(hitters);
};
}
public function scaping(){
if (!--counter){
mode = modeNull;
GameEngine.lose();
};
}
public function restart(){
status.target = false;
zoom.target.gotoAndStop(1);
Hitter.restart(hitters);
Utils.toBack(zoom, this);
}
public function briefcaseScape(){
zoom.target.gotoAndPlay("scape");
Mixer.playFX(alarmFX);
status.target = "scape";
mode = scaping;
counter = 80;
}
public function killTarget(){
zoom.target.stop();
zoom.target.mc.gotoAndPlay(2);
GameEngine.win();
Thread.remove(step);
}
public function hideBriefcase(){
if (status.target){
return;
};
status.target = "hide";
zoom.target.gotoAndPlay("hide");
Mixer.playFX(alarmFX);
mode = hidding;
counter = 20;
}
public function loop(){
if (((((!(status.target)) && ((FocusParticle.viewMode == 0)))) && (zoom.target.hitTestPoint(root.mouseX, root.mouseY)))){
zoom.briefcase.play();
} else {
zoom.briefcase.gotoAndStop(1);
};
mode();
Hitter.step(hitters);
}
public function killHitter(){
if ((++hitCounter == hitGoal)){
briefcaseScape();
//unresolved jump
};
trace(hitCounter, hitGoal);
}
public function onSniper(){
if (!status.target){
hideBriefcase();
return;
};
if (status.target == "scape"){
if (zoom.target.hitTestPoint(FocusParticle.sniperPoint.x, FocusParticle.sniperPoint.y, true)){
killTarget();
};
return;
};
if (Hitter.onSniper(hitters)){
killHitter();
};
}
public function onGun(){
if (!status.target){
hideBriefcase();
return;
};
if (Hitter.onGun(hitters)){
killHitter();
};
}
public static function gun(){
instance.gunShot();
}
public static function hide(){
instance.visible = false;
instance.restart();
soundtrack.stop();
Utils.removeChild(zoom);
Thread.remove(instance.step);
}
public static function sniper(){
instance.sniperShot();
}
public static function interact(){
instance.interactWith();
}
public static function show(){
if (!instance){
new ((getDefinitionByName(("project." + className)) as Class));
//unresolved jump
};
instance.visible = true;
instance.mode = modeNull;
hitCounter = 0;
instance.restart();
if (!soundtrack){
soundtrack = Mixer.addTrack((className + "Music"));
//unresolved jump
};
soundtrack.volume = 1;
soundtrack.start();
Thread.add(instance.step);
}
}
}//package project
Section 84
//Mission3 (project.Mission3)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 Mission3 extends Sprite {
public var interactWith:Function;
public var gunShot:Function;
public var sniperShot:Function;
public var mode:Function;
public var zoomMc:MovieClip;
public var step:Function;
public static var sniperBullets:int = 1;
public static var counter:int = 0;
public static var hitters:Array = [];
public static var modeNull:Function = function (){
};
public static var hitGoal:int = 1;
public static var seconds:int = 30;
public static var zoom;
public static var instance;
public static var title:String = "HOUSE HAZZARDS";
public static var soundtrack;
public static var className = "Mission3";
public static var h:int;
public static var hitCounter:int;
public static var status:Array = [];
public static var w:int;
public static var pistolBullets:int = 2;
public static var description:String = "WE HAVE TRACKED MR BLOONS TO HIS HIDDING. HE HAPPENS TO BE SURROUNDED BY CIVILIANS.
DONT TAKE HIM OUT UNTIL NOBODY IS WATCHING. ";
public function Mission3(){
mode = function (){
};
step = function (){
};
sniperShot = function (){
};
gunShot = function (){
};
interactWith = function (){
};
super();
if (!instance){
instance = this;
Space.floor.addChild(this);
scaleX = (scaleY = 0.6);
zoom = zoomMc;
interactWith = ding;
sniperShot = onSniper;
sniperBullets = 2;
pistolBullets = 0;
w = 770;
h = 794;
step = loop;
};
}
public function ding(){
if (!zoom.interest.hitTestPoint(root.mouseX, root.mouseY)){
return;
};
if (status.martini){
return;
};
Mixer.playFX(dingFX);
if (status.bomb){
return;
};
status.martini = true;
zoom.martini.gotoAndPlay(2);
}
public function onSwim(){
status.swim = true;
}
public function restart(){
Utils.toBack(zoom, this);
status.bomb = false;
status.martini = false;
status.swim = false;
zoom.martini.onMartini = onMartini;
zoom.target.onSwim = onSwim;
zoom.martini.gotoAndStop(1);
zoom.interest.gotoAndStop(1);
zoom.target.gotoAndStop(1);
zoom.bomb.gotoAndStop(1);
zoom.blood.gotoAndStop(1);
zoom.people.visible = true;
zoom.target.visible = true;
zoom.martini.visible = true;
zoom.target.alpha = 1;
}
public function onMartini(){
zoom.target.gotoAndPlay(2);
}
public function loop(){
if (((((!(status.martini)) && ((FocusParticle.viewMode == 0)))) && (zoom.interest.hitTestPoint(root.mouseX, root.mouseY)))){
zoom.interest.play();
} else {
zoom.interest.gotoAndStop(1);
};
}
public function wrong(){
zoom.blood.gotoAndStop(1);
Mixer.playFX(alarmFX);
GameEngine.lose();
}
public function onSniper(){
if (zoom.target.hitTestPoint(FocusParticle.sniperPoint.x, FocusParticle.sniperPoint.y, true)){
if (!status.bomb){
Mixer.playFX(screamsFX);
GameEngine.lose();
return;
};
if (status.swim){
zoom.target.stop();
zoom.target.alpha = 0.3;
zoom.blood.gotoAndStop(2);
Mixer.playFX(death4);
GameEngine.win();
return;
};
wrong();
return;
};
if (zoom.people.hitTestPoint(FocusParticle.sniperPoint.x, FocusParticle.sniperPoint.y, true)){
wrong();
return;
};
if (zoom.martini.hitTestPoint(FocusParticle.sniperPoint.x, FocusParticle.sniperPoint.y, true)){
wrong();
return;
};
if (zoom.bomb.hitTestPoint(FocusParticle.sniperPoint.x, FocusParticle.sniperPoint.y, true)){
if (!status.bomb){
status.bomb = true;
zoom.bomb.gotoAndPlay(2);
zoom.people.visible = false;
zoom.martini.visible = false;
zoom.target.visible = status.swim;
};
return;
};
}
public static function gun(){
instance.gunShot();
}
public static function hide(){
instance.visible = false;
instance.restart();
soundtrack.stop();
Utils.removeChild(zoom);
Thread.remove(instance.step);
}
public static function sniper(){
instance.sniperShot();
}
public static function interact(){
instance.interactWith();
}
public static function show(){
if (!instance){
new ((getDefinitionByName(("project." + className)) as Class));
//unresolved jump
};
instance.visible = true;
instance.mode = modeNull;
hitCounter = 0;
instance.restart();
if (!soundtrack){
soundtrack = Mixer.addTrack((className + "Music"));
//unresolved jump
};
soundtrack.volume = 1;
soundtrack.start();
Thread.add(instance.step);
}
}
}//package project
Section 85
//Mission4 (project.Mission4)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 Mission4 extends Sprite {
public var interactWith:Function;
public var gunShot:Function;
public var sniperShot:Function;
public var mode:Function;
public var zoomMc:MovieClip;
public var step:Function;
public static var sniperBullets:int = 1;
public static var counter:int = 0;
public static var hitters:Array = [];
public static var modeNull:Function = function (){
};
public static var hitGoal:int = 1;
public static var seconds:int = 30;
public static var zoom;
public static var instance;
public static var title:String = "SUBWAY SCAPE";
public static var soundtrack;
public static var className = "Mission4";
public static var h:int;
public static var hitCounter:int;
public static var status:Array = [];
public static var w:int;
public static var pistolBullets:int = 2;
public static var description:String = "A SPY BROKE INTO OUR SYSTEM AND REVEALED YOUR POSITION. BY NOW THE SUBWAY STATIONS ARE INFESTED WITH AGENTS.
RESIST. WE NEED 49 SECONDS TO REBOOT.";
public function Mission4(){
mode = function (){
};
step = function (){
};
sniperShot = function (){
};
gunShot = function (){
};
interactWith = function (){
};
super();
if (!instance){
instance = this;
Space.floor.addChild(this);
zoom = zoomMc;
hitters = Hitter.addHitters(11, zoom, 20, 15, 50, 15, false);
zoom.stop();
seconds = (GameTimer.remainingSeconds = 50);
sniperBullets = 0;
pistolBullets = 35;
scaleX = (scaleY = 1);
w = 664;
h = 664;
step = loop;
gunShot = onGun;
};
}
public function travel(){
zoom.gotoAndPlay("travel");
counter = Random.max((GameTimer.remainingSeconds * 2), ((GameTimer.remainingSeconds / 2) + 10));
mode = traveling;
Hitter.restart(hitters);
}
public function restart(){
Utils.toBack(zoom, this);
Hitter.restart(hitters);
travel();
}
public function depart(){
zoom.gotoAndPlay("depart");
counter = 30;
mode = departing;
Hitter.forceHide(hitters);
}
public function departing(){
if (!--counter){
travel();
//unresolved jump
};
}
public function traveling(){
if (!--counter){
arrive();
//unresolved jump
};
}
public function loop(){
mode();
if (GameTimer.remainingSeconds == 1){
GameEngine.win();
Thread.remove(step);
};
Hitter.step(hitters);
}
public function arriving(){
if (!--counter){
depart();
//unresolved jump
};
}
public function arrive(){
var _local1:int;
zoom.gotoAndPlay("arrive");
counter = Random.max((GameTimer.remainingSeconds * 2), 35);
mode = arriving;
_local1 = 1;
while (_local1 <= 6) {
zoom[("p" + _local1)].gotoAndStop(Random.max(17, 1));
_local1++;
};
Hitter.showRandom(hitters, 0.8);
}
public function onGun(){
if (((!((mode == arriving))) && (!((mode == departing))))){
return;
};
Hitter.onGun(hitters);
}
public static function gun(){
instance.gunShot();
}
public static function hide(){
instance.visible = false;
instance.restart();
soundtrack.stop();
Utils.removeChild(zoom);
Thread.remove(instance.step);
}
public static function sniper(){
instance.sniperShot();
}
public static function interact(){
instance.interactWith();
}
public static function show(){
if (!instance){
new ((getDefinitionByName(("project." + className)) as Class));
//unresolved jump
};
instance.visible = true;
instance.mode = modeNull;
hitCounter = 0;
instance.restart();
if (!soundtrack){
soundtrack = Mixer.addTrack((className + "Music"));
//unresolved jump
};
soundtrack.volume = 1;
soundtrack.start();
Thread.add(instance.step);
}
}
}//package project
Section 86
//Mission5 (project.Mission5)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 Mission5 extends Sprite {
public var interactWith:Function;
public var gunShot:Function;
public var sniperShot:Function;
public var mode:Function;
public var zoomMc:MovieClip;
public var step:Function;
public var spy:int;
public static var sniperBullets:int = 1;
public static var counter:int = 0;
public static var hitters:Array = [];
public static var modeNull:Function = function (){
};
public static var hitGoal:int = 1;
public static var seconds:int = 30;
public static var zoom;
public static var instance;
public static var title:String = "DEAD CAN DANCE";
public static var soundtrack;
public static var className = "Mission5";
public static var h:int;
public static var hitCounter:int;
public static var status:Array = [];
public static var w:int;
public static var pistolBullets:int = 2;
public static var description:String = "THE SPY WHO REVEALED YOUR LOCATION IS KNOWN AS THE DARK ASSASSIN BALLERINA.
WALK HER INTO THE LIGHT.";
public function Mission5(){
mode = function (){
};
step = function (){
};
sniperShot = function (){
};
gunShot = function (){
};
interactWith = function (){
};
super();
if (!instance){
instance = this;
Space.floor.addChild(this);
scaleX = (scaleY = 0.5);
sniperBullets = 1;
pistolBullets = 0;
seconds = 20;
zoom = zoomMc;
sniperShot = onSniper;
interactWith = clickLight;
step = loop;
w = 800;
h = 861;
};
}
public function restart(){
var _local1:int;
status.lights = false;
status.dance = false;
zoom.lights.lightsOn = lightsOn;
zoom.lights.startDance = startDance;
Utils.toBack(zoom, this);
zoom.blood.visible = false;
zoom.dancers.gotoAndStop(1);
_local1 = 1;
while (_local1 <= 3) {
zoom.dancers[("dancer" + _local1)].gotoAndStop(1);
_local1++;
};
zoom.interest.gotoAndStop(1);
zoom.lights.gotoAndStop(1);
zoom.lights.spot.gotoAndStop(1);
spy = Random.max(3, 1);
}
public function clickLight(){
if (status.lights){
return;
};
if (!zoom.interest.hitTestPoint(root.mouseX, root.mouseY)){
return;
};
status.lights = true;
zoom.lights.gotoAndPlay(2);
}
public function startDance(){
var _local1:int;
if (status.dance){
return;
};
status.dance = true;
zoom.dancers.gotoAndPlay(2);
_local1 = 1;
while (_local1 <= 3) {
zoom.dancers[("dancer" + _local1)].gotoAndPlay(Random.max(9, 1));
_local1++;
};
}
public function loop(){
if (((((!(status.lights)) && ((FocusParticle.viewMode == 0)))) && (zoom.interest.hitTestPoint(root.mouseX, root.mouseY)))){
zoom.interest.play();
} else {
zoom.interest.gotoAndStop(1);
};
}
public function onSniper(){
var _local1:int;
var _local2:int;
var _local3:*;
_local2 = 1;
while (_local2 <= 3) {
if (zoom.dancers[("dancer" + _local2)].hitTestPoint(FocusParticle.sniperPoint.x, FocusParticle.sniperPoint.y, true)){
_local1 = _local2;
break;
};
_local2++;
};
if (_local1){
zoom.blood.visible = true;
zoom.dancers.stop();
_local2 = 1;
while (_local2 <= 3) {
_local3 = zoom.dancers[("dancer" + _local2)];
if ((_local2 == _local1)){
_local3.gotoAndPlay("die");
} else {
_local3.stop();
};
_local2++;
};
if (((status.dance) && ((_local1 == spy)))){
GameEngine.win();
Mixer.playFX(screamsFX);
} else {
GameEngine.lose();
Mixer.playFX(alarmFX);
};
};
}
public function lightsOn(){
zoom.lights.spot.gotoAndStop((spy + 1));
trace(spy, zoom.lights.spot.currentFrame);
}
public static function gun(){
instance.gunShot();
}
public static function hide(){
instance.visible = false;
instance.restart();
soundtrack.stop();
Utils.removeChild(zoom);
Thread.remove(instance.step);
}
public static function sniper(){
instance.sniperShot();
}
public static function interact(){
instance.interactWith();
}
public static function show(){
if (!instance){
new ((getDefinitionByName(("project." + className)) as Class));
//unresolved jump
};
instance.visible = true;
instance.mode = modeNull;
hitCounter = 0;
instance.restart();
if (!soundtrack){
soundtrack = Mixer.addTrack((className + "Music"));
//unresolved jump
};
soundtrack.volume = 1;
soundtrack.start();
Thread.add(instance.step);
}
}
}//package project
Section 87
//Mission6 (project.Mission6)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 Mission6 extends Sprite {
public var interactWith:Function;
public var gunShot:Function;
public var sniperShot:Function;
public var mode:Function;
public var zoomMc:MovieClip;
public var step:Function;
public static var sniperBullets:int = 1;
public static var counter:int = 0;
public static var hitters:Array = [];
public static var modeNull:Function = function (){
};
public static var hitGoal:int = 1;
public static var seconds:int = 30;
public static var zoom;
public static var instance;
public static var title:String = "WINTER DEFENSE";
public static var soundtrack;
public static var className = "Mission6";
public static var h:int;
public static var hitCounter:int;
public static var status:Array = [];
public static var w:int;
public static var pistolBullets:int = 2;
public static var description:String = "THE DARK ASSASSINS HAVE JOINED FORCES WITH THE WHATS LEFT OF BLOONS AGENTS. WE HAVE BEEN CORNERED.
THERES NO WAY OUT FROM HERE.";
public function Mission6(){
mode = function (){
};
step = function (){
};
sniperShot = function (){
};
gunShot = function (){
};
interactWith = function (){
};
super();
if (!instance){
instance = this;
scaleX = (scaleY = 0.34);
zoom = zoomMc;
hitters = Hitter.addHittersMC(zoom.hitters, 200, 150, 50, 15, false, 1000, true);
step = loop;
seconds = 90;
sniperBullets = 25;
pistolBullets = 0;
SnowSprite.create(zoom.snow);
Space.floor.addChild(this);
sniperShot = onSniper;
w = 1200;
h = 1295;
};
}
public function restart(){
var _local1:*;
Utils.toBack(zoom, this);
SnowSprite.restart();
_local1 = Hitter.activateRandom(hitters, 0.6);
}
public function loop(){
if (GameTimer.remainingSeconds == 1){
GameEngine.win();
Thread.remove(step);
};
Hitter.step(hitters);
SnowSprite.doStep();
}
public function onSniper(){
Hitter.onSniper(hitters);
}
public static function gun(){
instance.gunShot();
}
public static function hide(){
instance.visible = false;
instance.restart();
soundtrack.stop();
Utils.removeChild(zoom);
Thread.remove(instance.step);
}
public static function sniper(){
instance.sniperShot();
}
public static function interact(){
instance.interactWith();
}
public static function show(){
if (!instance){
new ((getDefinitionByName(("project." + className)) as Class));
//unresolved jump
};
instance.visible = true;
instance.mode = modeNull;
hitCounter = 0;
instance.restart();
if (!soundtrack){
soundtrack = Mixer.addTrack((className + "Music"));
//unresolved jump
};
soundtrack.volume = 1;
soundtrack.start();
Thread.add(instance.step);
}
}
}//package project
Section 88
//Sniper (project.Sniper)
package project {
import flash.display.*;
public dynamic class Sniper extends MovieClip {
}
}//package project
Section 89
//SnowSprite (project.SnowSprite)
package project {
import flash.display.*;
import geeon.components.*;
import flash.events.*;
import geeon.system.*;
import geeon.utils.*;
import geeon.particles.*;
import geeon.gdocument.*;
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 SnowSprite extends TweenParticle {
public static var container:Sprite;
public static var pool:Array = [];
public static var globalVel:Number = 0;
public static var id:int = 0;
public static var amount:int = 160;
public function SnowSprite(){
target = SpriteBitmap.pull({linkage:SnowBMP});
pool.push(this);
id++;
container.addChild(target);
}
public function spawn(_arg1=false){
target.random();
x = ((Math.random() * 1100) + 30);
y = (_arg1) ? ((Math.random() * 1100) + 10) : (-(Math.random()) * 100);
velocity.x = ((Math.random() * 10) - 5);
velocity.y = ((Math.random() * 6) + 2);
target.scaleX = (target.scaleY = (Math.random() + 0.5));
velocity.y = (velocity.y * target.scaleY);
velocity.x = (velocity.x * target.scaleX);
target.blendMode = ((Math.random() > 0.6)) ? "overlay" : "normal";
counter = (Math.random() * 20);
}
public function move(){
target.step();
x = (x + ((velocity.x + (Math.sin((counter = (counter + 0.1))) * 0.3)) + globalVel));
y = (y + velocity.y);
if ((x < 0)){
x = (x + 1200);
//unresolved jump
};
if ((x > 1200)){
x = (x - 1200);
//unresolved jump
};
if ((y > 1100)){
spawn();
//unresolved jump
};
target.x = x;
target.y = y;
}
public static function restart(){
var _local1:*;
for (_local1 in pool) {
pool[_local1].spawn(true);
};
}
public static function doStep(_arg1=0){
var _local2:*;
globalVel = _arg1;
for (_local2 in pool) {
pool[_local2].move();
};
}
public static function create(_arg1){
var _local2:*;
container = _arg1;
_local2 = 0;
while (_local2 < amount) {
new (SnowSprite);
_local2++;
};
}
}
}//package project
Section 90
//alarmFX (alarmFX)
package {
import flash.media.*;
public dynamic class alarmFX extends Sound {
}
}//package
Section 91
//clickFX (clickFX)
package {
import flash.media.*;
public dynamic class clickFX extends Sound {
}
}//package
Section 92
//death1 (death1)
package {
import flash.media.*;
public dynamic class death1 extends Sound {
}
}//package
Section 93
//death2 (death2)
package {
import flash.media.*;
public dynamic class death2 extends Sound {
}
}//package
Section 94
//death3 (death3)
package {
import flash.media.*;
public dynamic class death3 extends Sound {
}
}//package
Section 95
//death4 (death4)
package {
import flash.media.*;
public dynamic class death4 extends Sound {
}
}//package
Section 96
//death5 (death5)
package {
import flash.media.*;
public dynamic class death5 extends Sound {
}
}//package
Section 97
//dialFX (dialFX)
package {
import flash.media.*;
public dynamic class dialFX extends Sound {
}
}//package
Section 98
//dingFX (dingFX)
package {
import flash.media.*;
public dynamic class dingFX extends Sound {
}
}//package
Section 99
//FocusBMP (FocusBMP)
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 FocusBMP extends MovieClip {
public function FocusBMP(){
addFrameScript(1, frame2);
}
function frame2(){
stop();
}
}
}//package
Section 100
//helloFX (helloFX)
package {
import flash.media.*;
public dynamic class helloFX extends Sound {
}
}//package
Section 101
//interfaceMusic (interfaceMusic)
package {
import flash.media.*;
public dynamic class interfaceMusic extends Sound {
}
}//package
Section 102
//machinegunFX (machinegunFX)
package {
import flash.media.*;
public dynamic class machinegunFX extends Sound {
}
}//package
Section 103
//Mission1Music (Mission1Music)
package {
import flash.media.*;
public dynamic class Mission1Music extends Sound {
}
}//package
Section 104
//Mission2Music (Mission2Music)
package {
import flash.media.*;
public dynamic class Mission2Music extends Sound {
}
}//package
Section 105
//Mission3Music (Mission3Music)
package {
import flash.media.*;
public dynamic class Mission3Music extends Sound {
}
}//package
Section 106
//Mission4Music (Mission4Music)
package {
import flash.media.*;
public dynamic class Mission4Music extends Sound {
}
}//package
Section 107
//Mission5Music (Mission5Music)
package {
import flash.media.*;
public dynamic class Mission5Music extends Sound {
}
}//package
Section 108
//Mission6Music (Mission6Music)
package {
import flash.media.*;
public dynamic class Mission6Music extends Sound {
}
}//package
Section 109
//PizzaBMP (PizzaBMP)
package {
import flash.display.*;
public dynamic class PizzaBMP extends MovieClip {
}
}//package
Section 110
//screamsFX (screamsFX)
package {
import flash.media.*;
public dynamic class screamsFX extends Sound {
}
}//package
Section 111
//shot1 (shot1)
package {
import flash.media.*;
public dynamic class shot1 extends Sound {
}
}//package
Section 112
//shot2 (shot2)
package {
import flash.media.*;
public dynamic class shot2 extends Sound {
}
}//package
Section 113
//shot3 (shot3)
package {
import flash.media.*;
public dynamic class shot3 extends Sound {
}
}//package
Section 114
//shot4 (shot4)
package {
import flash.media.*;
public dynamic class shot4 extends Sound {
}
}//package
Section 115
//shot5 (shot5)
package {
import flash.media.*;
public dynamic class shot5 extends Sound {
}
}//package
Section 116
//shot6 (shot6)
package {
import flash.media.*;
public dynamic class shot6 extends Sound {
}
}//package
Section 117
//shot7 (shot7)
package {
import flash.media.*;
public dynamic class shot7 extends Sound {
}
}//package
Section 118
//shot8 (shot8)
package {
import flash.media.*;
public dynamic class shot8 extends Sound {
}
}//package
Section 119
//silenced (silenced)
package {
import flash.media.*;
public dynamic class silenced extends Sound {
}
}//package
Section 120
//SnowBMP (SnowBMP)
package {
import flash.display.*;
public dynamic class SnowBMP extends MovieClip {
}
}//package
Section 121
//TableBMP (TableBMP)
package {
import flash.display.*;
public dynamic class TableBMP extends MovieClip {
}
}//package
Section 122
//telephoneFX (telephoneFX)
package {
import flash.media.*;
public dynamic class telephoneFX extends Sound {
}
}//package
Section 123
//timeFX (timeFX)
package {
import flash.media.*;
public dynamic class timeFX extends Sound {
}
}//package
Section 124
//TrashBMP (TrashBMP)
package {
import flash.display.*;
public dynamic class TrashBMP extends MovieClip {
}
}//package
Section 125
//wounded (wounded)
package {
import flash.media.*;
public dynamic class wounded extends Sound {
}
}//package