Section 1
//HScrollBar (aq.pcge.common.HScrollBar)
package aq.pcge.common {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class HScrollBar extends Sprite {
private const SPEED:Number = 8;
public var track:Sprite;
public var thumb:Sprite;
public var leftButton:Sprite;
public var rightButton:Sprite;
private var _cont:Sprite;
private var _mask:Sprite;
private var _moveDir:int;// = 0
public function attach(_arg1:Sprite, _arg2:Sprite):void{
if (((!(_arg1)) || (!(_arg2)))){
throw (new Error("[HScrollBar] : <attach> : Wrong target (container or mask)."));
};
_cont = _arg1;
_mask = _arg2;
_cont.mask = _mask;
resizeThumb();
thumb.addEventListener(MouseEvent.MOUSE_DOWN, dragThumb);
thumb.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
thumb.addEventListener(Event.ENTER_FRAME, moveCont);
stage.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
track.addEventListener(MouseEvent.CLICK, placeThumb);
track.addEventListener(Event.ENTER_FRAME, shiftThumb);
if (leftButton){
leftButton.addEventListener(MouseEvent.MOUSE_DOWN, startMoveLeft);
leftButton.addEventListener(MouseEvent.MOUSE_UP, stopMove);
leftButton.addEventListener(MouseEvent.CLICK, stepLeft);
};
if (rightButton){
rightButton.addEventListener(MouseEvent.MOUSE_DOWN, startMoveRight);
rightButton.addEventListener(MouseEvent.MOUSE_UP, stopMove);
rightButton.addEventListener(MouseEvent.CLICK, stepRight);
};
track.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_mask.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
}
public function detach():void{
thumb.removeEventListener(MouseEvent.MOUSE_DOWN, dragThumb);
thumb.removeEventListener(MouseEvent.MOUSE_UP, dropThumb);
thumb.removeEventListener(Event.ENTER_FRAME, moveCont);
stage.removeEventListener(MouseEvent.MOUSE_UP, dropThumb);
track.removeEventListener(MouseEvent.CLICK, placeThumb);
track.removeEventListener(Event.ENTER_FRAME, shiftThumb);
if (leftButton){
leftButton.removeEventListener(MouseEvent.MOUSE_DOWN, startMoveLeft);
leftButton.removeEventListener(MouseEvent.MOUSE_UP, stopMove);
leftButton.removeEventListener(MouseEvent.CLICK, stepLeft);
};
if (rightButton){
rightButton.removeEventListener(MouseEvent.MOUSE_DOWN, startMoveRight);
rightButton.removeEventListener(MouseEvent.MOUSE_UP, stopMove);
rightButton.removeEventListener(MouseEvent.CLICK, stepRight);
};
track.parent.removeEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_mask.parent.removeEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_cont = undefined;
_mask = undefined;
}
public function isAttached():Boolean{
return (((_cont) && (_mask)));
}
private function resizeThumb():void{
var _local1:Number;
if (_cont.width > 0){
_local1 = (_cont.width / _mask.width);
thumb.width = ((_local1)>=1) ? (track.width / _local1) : track.width;
} else {
thumb.width = track.width;
};
}
private function moveThumb(_arg1:int, _arg2:Number):void{
if (_arg1 == -1){
if ((thumb.x - _arg2) >= track.x){
thumb.x = (thumb.x - _arg2);
} else {
thumb.x = track.x;
};
} else {
if (_arg1 == 1){
if ((thumb.x + _arg2) <= ((track.x + track.width) - thumb.width)){
thumb.x = (thumb.x + _arg2);
} else {
thumb.x = ((track.x + track.width) - thumb.width);
};
};
};
}
private function dragThumb(_arg1:MouseEvent):void{
thumb.startDrag(false, new Rectangle(track.x, track.y, (track.width - thumb.width), 0));
}
private function dropThumb(_arg1:MouseEvent):void{
thumb.stopDrag();
}
private function moveCont(_arg1:Event):void{
resizeThumb();
var _local2:Number = ((track.x - thumb.x) * (_cont.width / track.width));
_cont.x = _local2;
}
private function placeThumb(_arg1:MouseEvent):void{
var _local2:Number = track.parent.mouseX;
thumb.x = ((track.x + _local2) - (thumb.width / 2));
if (thumb.x < track.x){
thumb.x = track.x;
};
if ((thumb.x + thumb.width) > (track.x + track.width)){
thumb.x = ((track.x + track.width) - thumb.width);
};
}
private function shiftThumb(_arg1:Event):void{
moveThumb(_moveDir, SPEED);
}
private function scrollThumb(_arg1:MouseEvent):void{
if (_arg1.delta > 0){
moveThumb(-1, SPEED);
} else {
if (_arg1.delta < 0){
moveThumb(1, SPEED);
};
};
}
private function startMoveLeft(_arg1:MouseEvent):void{
_moveDir = -1;
}
private function stepLeft(_arg1:MouseEvent):void{
moveThumb(-1, SPEED);
}
private function startMoveRight(_arg1:MouseEvent):void{
_moveDir = 1;
}
private function stepRight(_arg1:MouseEvent):void{
moveThumb(1, SPEED);
}
private function stopMove(_arg1:MouseEvent):void{
_moveDir = 0;
}
}
}//package aq.pcge.common
Section 2
//Screen (aq.pcge.common.Screen)
package aq.pcge.common {
import flash.display.*;
public class Screen extends Sprite {
public var onShow:Function;
public var onHide:Function;
public function show():void{
if (onShow != null){
onShow();
};
visible = true;
}
public function hide():void{
if (onHide != null){
onHide();
};
visible = false;
}
}
}//package aq.pcge.common
Section 3
//Window (aq.pcge.common.Window)
package aq.pcge.common {
import flash.display.*;
import aq.pcge.*;
import flash.geom.*;
public class Window extends MovieClip {
public function close():void{
if (!parent){
return;
};
var _local1:WindowsManager = (parent as WindowsManager);
if (_local1){
if (_local1.activeWindow == this){
_local1.closeActiveWindow();
} else {
throw (new Error("[Window] : <close> : Window isn't active."));
};
} else {
throw (new Error("[Window] : <close> : Windows manager not found."));
};
}
public function alignToCenter():void{
var _local1:Rectangle = getBounds(this);
if (stage){
x = (((stage.stageWidth - width) / 2) - _local1.x);
y = (((stage.stageHeight - height) / 2) - _local1.y);
} else {
x = (((GameApplication.SCREEN_WIDTH - width) / 2) - _local1.x);
y = (((GameApplication.SCREEN_HEIGHT - height) / 2) - _local1.y);
};
}
}
}//package aq.pcge.common
Section 4
//WindowsManager (aq.pcge.common.WindowsManager)
package aq.pcge.common {
import flash.display.*;
public class WindowsManager extends Sprite {
protected var _activeWindow:Window;
protected var _windowsLayer:Sprite;
protected var _curtainLayer:WMCurtain;
public function get activeWindow():Window{
return (_activeWindow);
}
public function closeActiveWindow():void{
if (_activeWindow){
removeChild(_activeWindow);
_activeWindow = undefined;
} else {
throw (new Error("[WindowsManager] : <closeActiveWindow> : There is no active window."));
};
}
public function openActiveWindow(_arg1:Window):void{
if (_arg1){
if (_activeWindow){
closeActiveWindow();
};
_activeWindow = _arg1;
addChild(_activeWindow);
} else {
throw (new Error("[WindowsManager] : <openActiveWindow> : Can't open non-existing window."));
};
}
}
}//package aq.pcge.common
Section 5
//VScrollBar (aq.pcge.common.VScrollBar)
package aq.pcge.common {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class VScrollBar extends Sprite {
private const SPEED:Number = 8;
public var track:Sprite;
public var thumb:Sprite;
public var upButton:Sprite;
public var downButton:Sprite;
private var _cont:Sprite;
private var _mask:Sprite;
private var _moveDir:int;// = 0
public function attach(_arg1:Sprite, _arg2:Sprite):void{
if (((!(_arg1)) || (!(_arg2)))){
throw (new Error("[VScrollBar] : <attach> : Wrong target (container or mask)."));
};
_cont = _arg1;
_mask = _arg2;
_cont.mask = _mask;
resizeThumb();
thumb.addEventListener(MouseEvent.MOUSE_DOWN, dragThumb);
thumb.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
thumb.addEventListener(Event.ENTER_FRAME, moveCont);
stage.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
track.addEventListener(MouseEvent.CLICK, placeThumb);
track.addEventListener(Event.ENTER_FRAME, shiftThumb);
if (upButton){
upButton.addEventListener(MouseEvent.MOUSE_DOWN, startMoveUp);
upButton.addEventListener(MouseEvent.MOUSE_UP, stopMove);
upButton.addEventListener(MouseEvent.CLICK, stepUp);
};
if (downButton){
downButton.addEventListener(MouseEvent.MOUSE_DOWN, startMoveDown);
downButton.addEventListener(MouseEvent.MOUSE_UP, stopMove);
downButton.addEventListener(MouseEvent.CLICK, stepDown);
};
track.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_mask.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
}
public function detach():void{
thumb.removeEventListener(MouseEvent.MOUSE_DOWN, dragThumb);
thumb.removeEventListener(MouseEvent.MOUSE_UP, dropThumb);
thumb.removeEventListener(Event.ENTER_FRAME, moveCont);
stage.removeEventListener(MouseEvent.MOUSE_UP, dropThumb);
track.removeEventListener(MouseEvent.CLICK, placeThumb);
track.removeEventListener(Event.ENTER_FRAME, shiftThumb);
if (upButton){
upButton.removeEventListener(MouseEvent.MOUSE_DOWN, startMoveUp);
upButton.removeEventListener(MouseEvent.MOUSE_UP, stopMove);
upButton.removeEventListener(MouseEvent.CLICK, stepUp);
};
if (downButton){
downButton.removeEventListener(MouseEvent.MOUSE_DOWN, startMoveDown);
downButton.removeEventListener(MouseEvent.MOUSE_UP, stopMove);
downButton.removeEventListener(MouseEvent.CLICK, stepDown);
};
track.parent.removeEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_mask.parent.removeEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_cont = undefined;
_mask = undefined;
}
public function isAttached():Boolean{
return (((_cont) && (_mask)));
}
private function resizeThumb():void{
var _local1:Number;
if (_cont.height > 0){
_local1 = (_cont.height / _mask.height);
thumb.height = ((_local1)>=1) ? (track.height / _local1) : track.height;
} else {
thumb.height = track.height;
};
}
private function moveThumb(_arg1:int, _arg2:Number):void{
if (_arg1 == -1){
if ((thumb.y - _arg2) >= track.y){
thumb.y = (thumb.y - _arg2);
} else {
thumb.y = track.y;
};
} else {
if (_arg1 == 1){
if ((thumb.y + _arg2) <= ((track.y + track.height) - thumb.height)){
thumb.y = (thumb.y + _arg2);
} else {
thumb.y = ((track.y + track.height) - thumb.height);
};
};
};
}
private function dragThumb(_arg1:MouseEvent):void{
thumb.startDrag(false, new Rectangle(track.x, track.y, 0, (track.height - thumb.height)));
}
private function dropThumb(_arg1:MouseEvent):void{
thumb.stopDrag();
}
private function moveCont(_arg1:Event):void{
resizeThumb();
var _local2:Number = ((track.y - thumb.y) * (_cont.height / track.height));
_cont.y = _local2;
}
private function placeThumb(_arg1:MouseEvent):void{
var _local2:Number = track.parent.mouseY;
thumb.y = ((track.y + _local2) - (thumb.height / 2));
if (thumb.y < track.y){
thumb.y = track.y;
};
if ((thumb.y + thumb.height) > (track.y + track.height)){
thumb.y = ((track.y + track.height) - thumb.height);
};
}
private function shiftThumb(_arg1:Event):void{
moveThumb(_moveDir, SPEED);
}
private function scrollThumb(_arg1:MouseEvent):void{
if (_arg1.delta > 0){
moveThumb(-1, SPEED);
} else {
if (_arg1.delta < 0){
moveThumb(1, SPEED);
};
};
}
private function startMoveUp(_arg1:MouseEvent):void{
_moveDir = -1;
}
private function stepUp(_arg1:MouseEvent):void{
moveThumb(-1, SPEED);
}
private function startMoveDown(_arg1:MouseEvent):void{
_moveDir = 1;
}
private function stepDown(_arg1:MouseEvent):void{
moveThumb(1, SPEED);
}
private function stopMove(_arg1:MouseEvent):void{
_moveDir = 0;
}
}
}//package aq.pcge.common
Section 6
//LinkBox (aq.pcge.game.buttons.LinkBox)
package aq.pcge.game.buttons {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class LinkBox extends Sprite {
public var content:Sprite;
public var link:String;
public function LinkBox(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
public function get image():DisplayObject{
return (content.getChildAt(0));
}
public function set image(_arg1:DisplayObject):void{
while (content.numChildren) {
content.removeChildAt(0);
};
if (_arg1){
content.addChild(_arg1);
};
}
private function onClick(_arg1:MouseEvent):void{
var $event = _arg1;
if (((link) && ((link.length > 0)))){
try {
navigateToURL(new URLRequest(link), "_blank");
} catch(error:Error) {
};
};
}
}
}//package aq.pcge.game.buttons
Section 7
//AutoWindow (aq.pcge.game.windows.AutoWindow)
package aq.pcge.game.windows {
import flash.events.*;
import aq.pcge.common.*;
import flash.utils.*;
public class AutoWindow extends Window {
private var _lifeTimer:Timer;
public function AutoWindow(){
startLifeTimer();
}
public function startLifeTimer(_arg1:Number=3000):void{
if (!_lifeTimer){
_lifeTimer = new Timer(_arg1, 1);
_lifeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, closeSelf);
_lifeTimer.start();
} else {
throw (new Error("[AutoWindow] : <startLifeTimer> : Life timer already started."));
};
}
public function stopLifeTimer():void{
if (_lifeTimer){
if (_lifeTimer.running){
_lifeTimer.stop();
};
} else {
throw (new Error("[AutoWindow] : <stopLifeTimer> : Life timer not started."));
};
}
public function restartLifeTimer(_arg1:Number=3000):void{
if (_lifeTimer){
if (_lifeTimer.running){
_lifeTimer.stop();
};
_lifeTimer.reset();
_lifeTimer.delay = _arg1;
_lifeTimer.repeatCount = 1;
} else {
_lifeTimer = new Timer(_arg1, 1);
};
if (!_lifeTimer.hasEventListener(TimerEvent.TIMER_COMPLETE)){
_lifeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, closeSelf);
};
_lifeTimer.start();
}
override public function close():void{
super.close();
if (_lifeTimer){
if (_lifeTimer.running){
_lifeTimer.stop();
};
if (_lifeTimer.hasEventListener(TimerEvent.TIMER_COMPLETE)){
_lifeTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, closeSelf);
};
_lifeTimer = undefined;
};
}
private function closeSelf(_arg1:TimerEvent):void{
_lifeTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, closeSelf);
_lifeTimer = undefined;
close();
}
}
}//package aq.pcge.game.windows
Section 8
//FailWindow (aq.pcge.game.windows.FailWindow)
package aq.pcge.game.windows {
public class FailWindow extends FlapWindow {
public function FailWindow(){
addFrameScript(0, frame1, 1, frame2, 15, frame16, 34, frame35);
alignToCenter();
}
function frame1(){
}
function frame2(){
if (onClose != null){
onClose();
};
}
function frame16(){
if (onOpen != null){
onOpen();
};
}
function frame35(){
stop();
if (onStop != null){
onStop();
};
close();
}
}
}//package aq.pcge.game.windows
Section 9
//FinalWindow (aq.pcge.game.windows.FinalWindow)
package aq.pcge.game.windows {
import flash.display.*;
import aq.pcge.game.*;
import aq.pcge.common.*;
import aq.pcge.*;
import flash.text.*;
public class FinalWindow extends Window {
public var linkBox04:GameSlot;
public var time_tf:TextField;
public var linkBox02:GameSlot;
public var linkBox03:GameSlot;
public var linkBox01:GameSlot;
public var timeBonus_tf:TextField;
public var totalTime_tf:TextField;
public function FinalWindow(_arg1:uint=0, _arg2:uint=0){
addFrameScript(0, frame1);
alignToCenter();
update(_arg1, _arg2);
}
public function formatTime(_arg1:Number, _arg2:Boolean=true):String{
var _local3:Number = _arg1;
if (!_arg2){
_local3 = Math.floor((_arg1 / 1000));
};
var _local4:* = Math.floor((_local3 / (60 * 60)));
var _local5:* = (Math.floor((_local3 / 60)) - (_local4 * 60));
var _local6:* = ((_local3 - (_local5 * 60)) - ((_local4 * 60) * 60));
if (_local4 < 10){
_local4 = ("0" + _local4);
};
if (_local5 < 10){
_local5 = ("0" + _local5);
};
if (_local6 < 10){
_local6 = ("0" + _local6);
};
return (((_local5 + ":") + _local6));
}
public function update(_arg1:uint, _arg2:uint):void{
var _local3:Object = parseTime(_arg1);
var _local4:Object = parseTime(_arg2);
}
private function parseTime(_arg1:uint):Object{
var _local2:* = (Math.floor((_arg1 / 60)) / 60);
var _local3:* = (Math.floor((_arg1 / 60)) - (_local2 * 60));
var _local4:* = ((_arg1 - (_local3 * 60)) - ((_local2 * 60) * 60));
if (_local2 < 10){
_local2 = ("0" + _local2);
};
if (_local3 < 10){
_local3 = ("0" + _local3);
};
if (_local4 < 10){
_local4 = ("0" + _local4);
};
return ({hs:_local2, ms:_local3, ss:_local4});
}
function frame1(){
if (Game.instance){
time_tf.text = String(formatTime(Game.instance.getTotalTime(), true));
};
linkBox01.link = GameApplication.link01;
linkBox02.link = GameApplication.link02;
linkBox03.link = GameApplication.link03;
linkBox04.link = GameApplication.link04;
linkBox01.image = new Bitmap(new GameImage01(), "auto", true);
linkBox02.image = new Bitmap(new GameImage02(), "auto", true);
linkBox03.image = new Bitmap(new GameImage03(), "auto", true);
linkBox04.image = new Bitmap(new GameImage04(), "auto", true);
}
}
}//package aq.pcge.game.windows
Section 10
//FinalWindowMobile (aq.pcge.game.windows.FinalWindowMobile)
package aq.pcge.game.windows {
import aq.pcge.common.*;
import flash.text.*;
public class FinalWindowMobile extends Window {
public var time_tf:TextField;
public var timeBonus_tf:TextField;
public var totalTime_tf:TextField;
public function FinalWindowMobile(_arg1:uint=0, _arg2:uint=0){
alignToCenter();
update(_arg1, _arg2);
}
public function update(_arg1:uint, _arg2:uint):void{
var _local3:Object = parseTime(_arg1);
var _local4:Object = parseTime(_arg2);
}
private function parseTime(_arg1:uint):Object{
var _local2:* = (Math.floor((_arg1 / 60)) / 60);
var _local3:* = (Math.floor((_arg1 / 60)) - (_local2 * 60));
var _local4:* = ((_arg1 - (_local3 * 60)) - ((_local2 * 60) * 60));
if (_local2 < 10){
_local2 = ("0" + _local2);
};
if (_local3 < 10){
_local3 = ("0" + _local3);
};
if (_local4 < 10){
_local4 = ("0" + _local4);
};
return ({hs:_local2, ms:_local3, ss:_local4});
}
}
}//package aq.pcge.game.windows
Section 11
//FlapWindow (aq.pcge.game.windows.FlapWindow)
package aq.pcge.game.windows {
import aq.pcge.common.*;
public class FlapWindow extends Window {
public var onClose:Function;
public var onOpen:Function;
public var onStop:Function;
}
}//package aq.pcge.game.windows
Section 12
//HelloWindow (aq.pcge.game.windows.HelloWindow)
package aq.pcge.game.windows {
import aq.pcge.common.*;
public class HelloWindow extends Window {
public function HelloWindow(){
alignToCenter();
}
}
}//package aq.pcge.game.windows
Section 13
//ItemWindow (aq.pcge.game.windows.ItemWindow)
package aq.pcge.game.windows {
import flash.display.*;
import flash.events.*;
public class ItemWindow extends AutoWindow {
public var gfx:MovieClip;
public var holder:MovieClip;
public var _cb:Function;
public function ItemWindow(_arg1:DisplayObject=null){
var _local2:Number;
super();
addFrameScript(0, frame1);
alignToCenter();
if (_arg1){
if ((((_arg1.width > holder.width)) || ((_arg1.height > holder.height)))){
if (_arg1.width >= _arg1.height){
_local2 = (_arg1.width / holder.width);
} else {
_local2 = (_arg1.height / holder.height);
};
_arg1.width = (_arg1.width / _local2);
_arg1.height = (_arg1.height / _local2);
};
_arg1.x = (holder.width / 2);
_arg1.y = (holder.height / 2);
holder.addChild(_arg1);
};
}
public function playGFX(_arg1:Function=null):void{
_cb = _arg1;
gfx.gotoAndPlay(2);
}
public function stopGFX():void{
gfx.gotoAndStop(1);
}
public function onAnimComplete(_arg1:Event):void{
if (_cb != null){
_cb();
};
}
function frame1(){
gfx.gotoAndStop(1);
gfx.addEventListener("animComplete", onAnimComplete);
}
}
}//package aq.pcge.game.windows
Section 14
//NextWindow (aq.pcge.game.windows.NextWindow)
package aq.pcge.game.windows {
public class NextWindow extends FlapWindow {
public function NextWindow(){
addFrameScript(0, frame1, 1, frame2, 15, frame16, 34, frame35);
alignToCenter();
}
function frame1(){
}
function frame2(){
if (onClose != null){
onClose();
};
}
function frame16(){
if (onOpen != null){
onOpen();
};
}
function frame35(){
stop();
if (onStop != null){
onStop();
};
close();
}
}
}//package aq.pcge.game.windows
Section 15
//OptionsWindow (aq.pcge.game.windows.OptionsWindow)
package aq.pcge.game.windows {
import flash.display.*;
import aq.pcge.common.*;
public class OptionsWindow extends Window {
public var helpButton:MovieClip;
public var muteButton:MovieClip;
public var menuButton:MovieClip;
public function OptionsWindow(){
alignToCenter();
}
}
}//package aq.pcge.game.windows
Section 16
//Activator (aq.pcge.game.Activator)
package aq.pcge.game {
import flash.display.*;
import flash.events.*;
public class Activator extends EventDispatcher {
private var _name:String;
private var _area:Sprite;
private var _episode:IEpisode;
private var _active:Boolean;
private var _enabled:Boolean;
private var _mode:String;
private var _onClick:Function;
private var _onClickCondition:Function;
private var _onClickEvent:String;
private var _exists:Boolean;
public static const MODE_ONCE:String = "once";
public static const MODE_EVER:String = "ever";
public function Activator(_arg1:String, _arg2:Sprite, _arg3:Object=null){
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Activator] : <Activator> : Wrong name."));
};
_name = _arg1;
if (!_arg2){
throw (new Error("[Activator] : <Activator> : Wrong area."));
};
_area = _arg2;
_area.tabEnabled = false;
if ((_arg3 is Object)){
_mode = ((_arg3.mode)==MODE_ONCE) ? MODE_ONCE : MODE_EVER;
if ((_arg3.onClick is Function)){
_onClick = _arg3.onClick;
};
if ((_arg3.onClickCondition is Function)){
_onClickCondition = _arg3.onClickCondition;
};
if ((_arg3.onClickEvent is String)){
_onClickEvent = _arg3.onClickEvent;
};
} else {
_mode = MODE_ONCE;
};
_active = false;
enable();
_exists = true;
if (((!(_arg3)) || ((((_arg3 is Object)) && ((_arg3.activate == false)))))){
} else {
activate();
};
}
public function get episode():IEpisode{
return (_episode);
}
public function get name():String{
return (_name);
}
public function active():Boolean{
return (_active);
}
public function activate():void{
if (!_active){
_area.addEventListener(MouseEvent.CLICK, clickHandler);
_active = true;
};
}
public function deactivate():void{
if (_active){
_area.removeEventListener(MouseEvent.CLICK, clickHandler);
_active = false;
};
}
public function enabled():Boolean{
return (_enabled);
}
public function enable():void{
_enabled = true;
if (_area){
_area.buttonMode = true;
_area.useHandCursor = true;
};
}
public function disable():void{
_enabled = false;
if (_area){
_area.buttonMode = false;
_area.useHandCursor = false;
};
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
disable();
deactivate();
if (_episode){
remove();
};
_area = undefined;
_active = undefined;
_enabled = undefined;
_mode = undefined;
_onClick = undefined;
_onClickCondition = undefined;
_onClickEvent = undefined;
_exists = undefined;
}
public function dispose():void{
disable();
deactivate();
if (_episode){
remove();
};
if (_area.parent){
_area.parent.removeChild(_area);
};
_area = undefined;
_active = undefined;
_enabled = undefined;
_mode = undefined;
_onClick = undefined;
_onClickCondition = undefined;
_onClickEvent = undefined;
_exists = undefined;
}
public function show():void{
if (!_area.visible){
_area.visible = true;
};
}
public function hide():void{
if (_area.visible){
_area.visible = false;
};
}
public function click():void{
clickHandler();
}
public function add(_arg1:IEpisode):void{
if (_arg1){
if (!_episode){
_episode = _arg1;
if (!_episode.hasActivator(_name)){
_episode.addActivator(this);
} else {
if (_episode.getActivator(_name) != this){
throw (new Error("[Activator] : <add> : Activator with same name already added."));
};
};
} else {
throw (new Error("[Activator] : <add> : Activator is already added to some episode."));
};
} else {
throw (new Error("[Activator] : <add> : Can't add to non-existing episode."));
};
}
public function remove():void{
var _local1:IEpisode;
if (_episode){
disable();
deactivate();
_local1 = _episode;
_episode = undefined;
if (_local1.getActivator(_name) == this){
_local1.removeActivator(_name);
} else {
if (_local1.hasActivator(_name)){
throw (new Error("[Activator] : <remove> : Episode has other activator with same name."));
};
};
} else {
throw (new Error("[Activator] : <remove> : Activator isn't added to episode."));
};
}
private function clickHandler(_arg1:MouseEvent=null):void{
if (!_episode.action){
return;
};
if (_enabled){
if ((((_onClickCondition == null)) || (((!((_onClickCondition == null))) && (_onClickCondition()))))){
if (_onClick != null){
trace((("[$] : Activator @" + _name) + " clicked"));
_onClick();
if (_onClickEvent){
if (_episode){
_episode.causeEvent(_onClickEvent);
} else {
_area.dispatchEvent(new EpisodeEvent(_onClickEvent, true));
};
};
if (_mode == MODE_ONCE){
deactivate();
};
};
};
};
}
}
}//package aq.pcge.game
Section 17
//Animation (aq.pcge.game.Animation)
package aq.pcge.game {
import flash.display.*;
public class Animation extends MovieClip {
private var _episode:IEpisode;
private var _active:Boolean;
private var _exists:Boolean;
private var _labels:Array;
public var anim:MovieClip;
public var animCallback:Function;
public function Animation(){
gotoAndStop(1);
_labels = new Array();
var _local1:uint = currentLabels.length;
var _local2:uint;
while (_local2 < _local1) {
_labels[_local2] = currentLabels[_local2].name;
_local2++;
};
_active = false;
_exists = true;
}
public function get episode():IEpisode{
return (_episode);
}
public function active():Boolean{
return (_active);
}
public function activate():void{
if (!_active){
addEventListener(AnimationEvent.ANIM_KEYFRAME, animKeyframeHandler);
addEventListener(AnimationEvent.ANIM_COMPLETE, animCompleteHandler);
_active = true;
};
}
public function deactivate():void{
if (_active){
removeEventListener(AnimationEvent.ANIM_KEYFRAME, animKeyframeHandler);
removeEventListener(AnimationEvent.ANIM_COMPLETE, animCompleteHandler);
_active = false;
};
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
deactivate();
if (_episode){
remove();
};
_active = undefined;
_exists = undefined;
}
public function dispose():void{
deactivate();
if (_episode){
remove();
};
if (parent){
parent.removeChild(this);
};
_active = undefined;
_exists = undefined;
}
public function playAnim(_arg1:String, _arg2:Function=null):void{
if (_labels.indexOf(_arg1) != -1){
if (anim){
anim.stop();
};
animCallback = _arg2;
if (currentLabel != _arg1){
gotoAndStop(_arg1);
} else {
anim.gotoAndPlay(1);
};
dispatchEvent(new AnimationEvent(AnimationEvent.ANIM_ANIM, true, false, _arg1));
} else {
throw (new Error((("[Animation] : <playAnim> : Animation '" + _arg1) + "' not found.")));
};
}
public function get currAnim():String{
return (currentLabel);
}
public function add(_arg1:IEpisode):void{
if (_arg1){
if (!_episode){
_episode = _arg1;
if (!_episode.hasAnimation(name)){
_episode.addAnimation(name, this);
} else {
if (_episode.getAnimation(name) != this){
throw (new Error("[Animation] : <add> : Animation with same name already added."));
};
};
} else {
throw (new Error("[Animation] : <add> : Animation is already added to some episode."));
};
} else {
throw (new Error("[Animation] : <add> : Can't add to non-existing episode."));
};
}
public function remove():void{
var _local1:IEpisode;
if (_episode){
_local1 = _episode;
if (_local1.getAnimation(name) == this){
_episode = undefined;
_local1.removeAnimation(name);
} else {
if (_local1.hasAnimation(name)){
throw (new Error("[Animation] : <remove> : Episode has other animation with same name."));
};
};
} else {
throw (new Error("[Animation] : <remove> : Animation isn't added to episode."));
};
}
private function animKeyframeHandler(_arg1:AnimationEvent):void{
var _local2:Function;
if (animCallback != null){
_local2 = animCallback;
animCallback = undefined;
_local2();
};
}
private function animCompleteHandler(_arg1:AnimationEvent):void{
var _local2:Function;
if (animCallback != null){
_local2 = animCallback;
animCallback = undefined;
_local2();
};
}
}
}//package aq.pcge.game
Section 18
//AnimationEvent (aq.pcge.game.AnimationEvent)
package aq.pcge.game {
import flash.events.*;
public class AnimationEvent extends Event {
private var _data:Object;
public static const ANIM_COMPLETE:String = "animComplete";
public static const ANIM_KEYFRAME:String = "animKeyframe";
public static const ANIM_ANIM:String = "animAnim";
public function AnimationEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
super(_arg1, _arg2, _arg3);
_data = _arg4;
}
public function get data():Object{
return (_data);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
override public function clone():Event{
return (new AnimationEvent(type, bubbles, cancelable, _data));
}
}
}//package aq.pcge.game
Section 19
//Character (aq.pcge.game.Character)
package aq.pcge.game {
import flash.display.*;
import com.greensock.*;
import fl.transitions.easing.*;
public class Character extends MovieClip {
private var _episode:IEpisode;
private var _active:Boolean;
private var _exists:Boolean;
private var _labels:Array;
private var _mover:TweenLite;
public var anim:MovieClip;
public var animCallback:Function;
public var scale:Number;
public var speed:Number;
public function Character(){
gotoAndStop(1);
_labels = new Array();
var _local1:uint = currentLabels.length;
var _local2:uint;
while (_local2 < _local1) {
_labels[_local2] = currentLabels[_local2].name;
_local2++;
};
scale = ((scaleX + scaleY) / 2);
speed = 128;
_active = false;
_exists = true;
}
public function get episode():IEpisode{
return (_episode);
}
public function active():Boolean{
return (_active);
}
public function activate():void{
if (!_active){
addEventListener(CharacterEvent.ANIM_KEYFRAME, animKeyframeHandler);
addEventListener(CharacterEvent.ANIM_COMPLETE, animCompleteHandler);
_active = true;
};
}
public function deactivate():void{
if (_active){
removeEventListener(CharacterEvent.ANIM_KEYFRAME, animKeyframeHandler);
removeEventListener(CharacterEvent.ANIM_COMPLETE, animCompleteHandler);
_active = false;
};
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
halt();
deactivate();
if (_episode){
remove();
};
_active = undefined;
_exists = undefined;
}
public function dispose():void{
halt();
deactivate();
if (_episode){
remove();
};
if (parent){
parent.removeChild(this);
};
_active = undefined;
_exists = undefined;
}
public function playAnim(_arg1:String, _arg2:Function=null):void{
if (_labels.indexOf(_arg1) != -1){
if (anim){
anim.stop();
};
animCallback = _arg2;
if (currentLabel != _arg1){
gotoAndStop(_arg1);
} else {
anim.gotoAndPlay(1);
};
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_ANIM, true, false, _arg1));
} else {
throw (new Error((("[Character] : <playAnim> : Animation '" + _arg1) + "' not found.")));
};
}
public function get currAnim():String{
return (currentLabel);
}
public function moveTo(_arg1:Number, _arg2:Number, _arg3:Function=null, _arg4:Object=null):void{
var _local5:Number = this.scale;
var _local6:Number = this.speed;
if ((_arg4 is Object)){
if (!isNaN(_arg4.scale)){
_local5 = Number(_arg4.scale);
};
if (!isNaN(_arg4.speed)){
_local6 = Number(_arg4.speed);
};
};
var _local7:Number = (_arg1 - this.x);
var _local8:Number = (_arg2 - this.y);
var _local9:Number = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
var _local10:Number = (_local9 / _local6);
var _local11:Number = (scaleX / Math.abs(scaleX));
var _local12:Number = (scaleY / Math.abs(scaleY));
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_MOVE, true));
_mover = new TweenLite(this, _local10, {x:_arg1, y:_arg2, scaleX:(_local5 * _local11), scaleY:(_local5 * _local12), onComplete:_arg3, ease:None.easeNone});
}
public function halt():void{
if (_mover){
_mover.kill();
_mover = undefined;
};
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_HALT, true));
}
public function turnTo(_arg1:Number):void{
if (_arg1 <= x){
if (scaleX > 0){
scaleX = (scaleX * -1);
};
} else {
if (scaleX < 0){
scaleX = (scaleX * -1);
};
};
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_TURN, true));
}
public function turnOn(_arg1:String):void{
switch (_arg1){
case "left":
if (scaleX > 0){
scaleX = (scaleX * -1);
};
break;
case "right":
if (scaleX < 0){
scaleX = (scaleX * -1);
};
break;
default:
throw (new Error((("[Character] : <turnOn> : Unknown direction '" + _arg1) + "'.")));
};
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_TURN, true));
}
public function turnBack():void{
scaleX = (scaleX * -1);
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_TURN, true));
}
public function idle():void{
halt();
playAnim("idle");
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_IDLE, true));
}
public function wait():void{
halt();
playAnim("none");
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_WAIT, true));
}
public function walkTo(_arg1:Number):void{
halt();
turnTo(_arg1);
playAnim("walk");
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_WALK, true));
}
public function take(_arg1:Function=null):void{
halt();
playAnim("take", _arg1);
}
public function takeFromFloor(_arg1:Function=null):void{
halt();
playAnim("takeFromFloor", _arg1);
}
public function takeFromAbove(_arg1:Function=null):void{
halt();
playAnim("takeFromAbove", _arg1);
}
public function add(_arg1:IEpisode):void{
if (_arg1){
if (!_episode){
_episode = _arg1;
if (!_episode.hasCharacter(name)){
_episode.addCharacter(name, this);
} else {
if (_episode.getCharacter(name) != this){
throw (new Error("[Character] : <add> : Character with same name already added."));
};
};
} else {
throw (new Error("[Character] : <add> : Character is already added to some episode."));
};
} else {
throw (new Error("[Character] : <add> : Can't add to non-existing episode."));
};
}
public function remove():void{
var _local1:IEpisode;
if (_episode){
_local1 = _episode;
if (_local1.getCharacter(name) == this){
_episode = undefined;
_local1.removeCharacter(name);
} else {
if (_local1.hasCharacter(name)){
throw (new Error("[Character] : <remove> : Episode has other character with same name."));
};
};
} else {
throw (new Error("[Character] : <remove> : Character isn't added to episode."));
};
}
private function animKeyframeHandler(_arg1:CharacterEvent):void{
var _local2:Function;
if (animCallback != null){
_local2 = animCallback;
animCallback = undefined;
_local2();
};
}
private function animCompleteHandler(_arg1:CharacterEvent):void{
var _local2:Function;
if (animCallback != null){
_local2 = animCallback;
animCallback = undefined;
_local2();
};
}
}
}//package aq.pcge.game
Section 20
//CharacterEvent (aq.pcge.game.CharacterEvent)
package aq.pcge.game {
import flash.events.*;
public class CharacterEvent extends Event {
private var _data:Object;
public static const ANIM_COMPLETE:String = "animComplete";
public static const ANIM_KEYFRAME:String = "animKeyframe";
public static const CHAR_ANIM:String = "charAnim";
public static const CHAR_IDLE:String = "charIdle";
public static const CHAR_WAIT:String = "charWait";
public static const CHAR_WALK:String = "charWalk";
public static const CHAR_HALT:String = "charHalt";
public static const CHAR_MOVE:String = "charMove";
public static const CHAR_TURN:String = "charTurn";
public function CharacterEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
super(_arg1, _arg2, _arg3);
_data = _arg4;
}
public function get data():Object{
return (_data);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
override public function clone():Event{
return (new CharacterEvent(type, bubbles, cancelable, _data));
}
}
}//package aq.pcge.game
Section 21
//Chronicle (aq.pcge.game.Chronicle)
package aq.pcge.game {
import flash.events.*;
public class Chronicle extends EventDispatcher {
private var _episode:Episode;
private var _exists:Boolean;
private var _registry:Object;
private var _events:Object;
public function Chronicle(_arg1:Episode){
if (!_arg1){
throw (new Error("[Chronicle] : <Chronicle> : Episode isn't exists."));
};
_episode = _arg1;
_registry = new Object();
_events = new Object();
_exists = true;
}
public function get episode():IEpisode{
return (_episode);
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
_registry = undefined;
_events = undefined;
_episode = undefined;
}
public function dispose():void{
var _local1:EpisodeEvent;
_events = undefined;
for each (_local1 in _registry) {
_local1.data = undefined;
};
_registry = undefined;
_episode = undefined;
}
public function registerEvent(_arg1:String, _arg2:Boolean=false):void{
if (!_registry[_arg1]){
_registry[_arg1] = new EpisodeEvent(_arg1);
_events[_arg1] = _arg2;
} else {
throw (new Error("[Chronicle] : <registerEvent> : Event with same name already registered."));
};
}
public function unregisterEvent(_arg1:String):void{
if (_registry[_arg1]){
_registry[_arg1].data = undefined;
delete _registry[_arg1];
delete _events[_arg1];
} else {
throw (new Error("[Chronicle] : <unregisterEvent> : Event with such name not found."));
};
}
public function retrieveEvent(_arg1:String):EpisodeEvent{
if (_registry[_arg1]){
return (_registry[_arg1]);
};
throw (new Error("[Chronicle] : <retrieveEvent> : Event with such name not found."));
}
public function isEvent(_arg1:String):Boolean{
return (Boolean(_registry[_arg1]));
}
public function causeEvent(_arg1:String):void{
if (_registry[_arg1]){
if (_episode){
_episode.dispatchEvent(_registry[_arg1]);
} else {
dispatchEvent(_registry[_arg1]);
};
_events[_arg1] = true;
} else {
throw (new Error("[Chronicle] : <causeEvent> : Event isn't registered."));
};
}
public function forceEvent(_arg1:String):void{
if (_registry[_arg1]){
if (_episode){
_episode.dispatchEvent(_registry[_arg1]);
} else {
dispatchEvent(_registry[_arg1]);
};
} else {
throw (new Error("[Chronicle] : <forceEvent> : Event isn't registered."));
};
}
public function setupEvent(_arg1:String, _arg2:Boolean):void{
if (_registry[_arg1]){
_events[_arg1] = _arg2;
} else {
throw (new Error("[Chronicle] : <setupEvent> : Event isn't registered."));
};
}
public function checkEvent(_arg1:String):Boolean{
if (_registry[_arg1]){
return (_events[_arg1]);
};
throw (new Error("[Chronicle] : <checkEvent> : Event isn't registered."));
}
public function ifThis(_arg1:String):Boolean{
if (_registry[_arg1]){
return ((_events[_arg1] == true));
};
throw (new Error("[Chronicle] : <ifThis> : Event isn't registered."));
}
public function ifNotThis(_arg1:String):Boolean{
if (_registry[_arg1]){
return ((_events[_arg1] == false));
};
throw (new Error("[Chronicle] : <ifNotThis> : Event isn't registered."));
}
public function ifThese(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (!_events[_local4]){
return (false);
};
} else {
throw (new Error("[Chronicle] : <ifThese> : Event isn't registered."));
};
_local3++;
};
return (true);
}
public function ifNotThese(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (_events[_local4]){
return (false);
};
} else {
throw (new Error("[Chronicle] : <ifNotThese> : Event isn't registered."));
};
_local3++;
};
return (true);
}
public function ifAny(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (_events[_local4]){
return (true);
};
} else {
throw (new Error("[Chronicle] : <ifAny> : Event isn't registered."));
};
_local3++;
};
return (false);
}
public function ifNotAny(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (!_events[_local4]){
return (true);
};
} else {
throw (new Error("[Chronicle] : <ifNotAny> : Event isn't registered."));
};
_local3++;
};
return (false);
}
public function ifAll():Boolean{
var _local1:Boolean;
for each (_local1 in _events) {
if (!_local1){
return (false);
};
};
return (true);
}
public function ifNone():Boolean{
var _local1:Boolean;
for each (_local1 in _events) {
if (_local1){
return (false);
};
};
return (true);
}
public function ifEach(_arg1:Array, _arg2:Boolean):Boolean{
var _local5:String;
var _local3:uint = _arg1.length;
var _local4:uint;
while (_local4 < _local3) {
_local5 = _arg1[_local4];
if (_registry[_local5]){
if (_events[_local5] != _arg2){
return (false);
};
} else {
throw (new Error("[Chronicle] : <ifEach> : Event isn't registered."));
};
_local4++;
};
return (true);
}
public function ifOneOf(_arg1:Array, _arg2:Boolean):Boolean{
var _local5:String;
var _local3:uint = _arg1.length;
var _local4:uint;
while (_local4 < _local3) {
_local5 = _arg1[_local4];
if (_registry[_local5]){
if (_events[_local5] == _arg2){
return (true);
};
} else {
throw (new Error("[Chronicle] : <ifOneOf> : Event isn't registered."));
};
_local4++;
};
return (false);
}
}
}//package aq.pcge.game
Section 22
//Episode (aq.pcge.game.Episode)
package aq.pcge.game {
import flash.display.*;
import com.greensock.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
public class Episode extends MovieClip implements IEpisode {
public var tool:MovieClip;
public var doDown:MovieClip;
public var gear3:MovieClip;
public var gear4:MovieClip;
public var trap:MovieClip;
public var lever:MovieClip;
public var do1:MovieClip;
public var hand1:MovieClip;
public var bagor:MovieClip;
public var ladder:MovieClip;
public var spring:MovieClip;
public var do2:MovieClip;
public var hand2:MovieClip;
public var do3:MovieClip;
public var gear:MovieClip;
public var bolt:MovieClip;
public var p1:MovieClip;
public var do4:MovieClip;
public var engine:MovieClip;
public var grab:MovieClip;
public var stag:MovieClip;
public var robot:MovieClip;
public var scorpion:MovieClip;
public var p2:MovieClip;
public var do5:MovieClip;
public var wheel1:MovieClip;
public var p3:MovieClip;
public var wheel2:MovieClip;
public var door:MovieClip;
public var p4:MovieClip;
public var tube:MovieClip;
public var doDrop:MovieClip;
public var chain:MovieClip;
public var texture:MovieClip;
public var tube1:MovieClip;
public var p5:MovieClip;
public var oven:MovieClip;
public var tube2:MovieClip;
public var wood:MovieClip;
public var firestoper:MovieClip;
public var doLeft:MovieClip;
public var doTake:MovieClip;
public var soldier:MovieClip;
public var doUp:MovieClip;
public var leg1:MovieClip;
public var bridge:MovieClip;
public var pult:MovieClip;
public var spider:MovieClip;
public var puzzle:MovieClip;
public var leg2:MovieClip;
public var elevator:MovieClip;
public var bag:MovieClip;
public var parts:MovieClip;
public var box:MovieClip;
public var crane:MovieClip;
public var gear1:MovieClip;
public var flag:MovieClip;
public var doRight:MovieClip;
public var gear2:MovieClip;
private var _state:String;
private var _canvas:Sprite;
private var _screen:Sprite;
private var _index:int;// = 0
private var _scale:Number;
private var _timer:Timer;
private var _time:int;
private var _ms:int;
private var _action:Boolean;
private var _activators:Object;
private var _characters:Object;
private var _animations:Object;
private var _inventory:Inventory;
private var _chronicle:Chronicle;
public var hero:Character;
public var heroInitPos:Point;
public static const DEFAULT_WIDTH:Number = 640;
public static const DEFAULT_HEIGHT:Number = 480;
public function Episode(){
visible = false;
_state = EpisodeState.CREATED;
}
public function get index():int{
return (_index);
}
public function set index(_arg1:int):void{
_index = _arg1;
}
public function get state():String{
return (_state);
}
public function get action():Boolean{
return (_action);
}
public function set action(_arg1:Boolean):void{
_action = _arg1;
}
public function getScreen():Sprite{
return (_screen);
}
public function getCanvas():Sprite{
return (_canvas);
}
public function load():void{
var _local2:Number;
var _local3:Number;
trace((("[$] : Episode #" + _index) + " loading..."));
if (hero){
heroInitPos = new Point(hero.x, hero.y);
} else {
throw (new Error("[Episode] : <load> : Hero not found."));
};
_inventory = new Inventory(this);
_chronicle = new Chronicle(this);
loadAssets();
var _local1:Sprite = (getChildByName("episodeBounds") as Sprite);
if (_local1){
removeChild(_local1);
_local2 = (_local1.width / DEFAULT_WIDTH);
_local3 = (_local1.height / DEFAULT_HEIGHT);
if (_local2 != _local3){
_scale = Math.max(_local2, _local3);
} else {
_scale = _local2;
};
};
_screen = new Sprite();
_screen.scaleX = (_screen.scaleY = (1 / _scale));
addChild(_screen);
_canvas = new Sprite();
_canvas.mouseChildren = false;
_canvas.mouseEnabled = false;
_canvas.scaleX = (_canvas.scaleY = (1 / _scale));
addChild(_canvas);
initAssets();
_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, onTimer);
_state = EpisodeState.INITIALIZED;
trace((("[$] : Episode #" + _index) + " loaded"));
visible = true;
}
public function unload():void{
trace((("[$] : Episode #" + _index) + " unloading..."));
if (_state == EpisodeState.PLAYING){
finish();
};
if (_timer.running){
_timer.stop();
};
_timer.removeEventListener(TimerEvent.TIMER, onTimer);
_timer = undefined;
_time = undefined;
_ms = undefined;
haltAssets();
removeChild(_screen);
_screen = undefined;
removeChild(_canvas);
_canvas = undefined;
unloadAssets();
_inventory.dispose();
_inventory = undefined;
trace((("[$] : Episode #" + _index) + " unloaded"));
_index = undefined;
_state = EpisodeState.FINALIZED;
}
public function start():void{
trace((("[$] : Episode #" + _index) + " starting..."));
if (_state == EpisodeState.INITIALIZED){
run();
_state = EpisodeState.PLAYING;
trace((("[$] : Episode #" + _index) + " started"));
} else {
throw (new Error("[Episode] : <start> : Can't start, level must be initialized first."));
};
}
public function finish():void{
trace((("[$] : Episode #" + _index) + " finishing..."));
if ((((((_state == EpisodeState.INITIALIZED)) || ((_state == EpisodeState.PLAYING)))) || ((_state == EpisodeState.PAUSED)))){
halt();
_state = EpisodeState.FINISHED;
trace((("[$] : Episode #" + _index) + " finished"));
} else {
throw (new Error("[Episode] : <finish> : Can't finish (finished yet or is in unallowable state)."));
};
}
public function restart():void{
}
public function pause():void{
trace((("[$] : Episode #" + _index) + " pausing..."));
if (_state == EpisodeState.PLAYING){
halt();
_state = EpisodeState.PAUSED;
trace((("[$] : Episode #" + _index) + " paused"));
} else {
throw (new Error("[Episode] : <pause> : Can't pause, level isn't playing."));
};
}
public function resume():void{
trace((("[$] : Episode #" + _index) + " resuming..."));
if (_state == EpisodeState.PAUSED){
run();
_state = EpisodeState.PLAYING;
trace((("[$] : Episode #" + _index) + " resumed"));
} else {
throw (new Error("[Episode] : <resume> : Can't resume, level isn't paused."));
};
}
public function win():void{
if (_state == EpisodeState.PLAYING){
finish();
};
_state = EpisodeState.WON;
EpisodesManager.instance.submitTime(_index, _timer.currentCount);
EpisodesManager.instance.completeEpisode(_index);
if (EpisodesManager.instance.isNextEpisode()){
EpisodesManager.instance.unlockEpisode((_index + 1));
};
if (GameConfig.SAVE_LOAD){
EpisodesManager.instance.addEventListener(GameEvent.SAVE_COMPLETE, onSaveResult);
EpisodesManager.instance.addEventListener(GameEvent.SAVE_ERROR, onSaveResult);
EpisodesManager.instance.save();
} else {
if (Game.instance.isNextEpisode()){
Game.instance.openNextWindow({onOpen:Game.instance.nextEpisode});
} else {
Game.instance.openFinalWindow(_timer.currentCount, EpisodesManager.instance.getTotalTime());
};
};
}
public function lose():void{
if (_state == EpisodeState.PLAYING){
finish();
};
_state = EpisodeState.LOST;
Game.instance.openFailWindow({onOpen:Game.instance.reloadEpisode});
}
public function registerItem(_arg1:String, _arg2=null, _arg3:String=null, _arg4:String=null):void{
_inventory.registerItem(_arg1, _arg2, _arg3, _arg4);
}
public function unregisterItem(_arg1:String):void{
_inventory.unregisterItem(_arg1);
}
public function retrieveItem(_arg1:String):Item{
return (_inventory.retrieveItem(_arg1));
}
public function isItem(_arg1:String):Boolean{
return (_inventory.isItem(_arg1));
}
public function addItem(_arg1:String):void{
_inventory.addItem(_arg1);
}
public function removeItem(_arg1:String):void{
_inventory.removeItem(_arg1);
}
public function getItem(_arg1:String):Item{
return (_inventory.getItem(_arg1));
}
public function hasItem(_arg1:String):Boolean{
return (_inventory.hasItem(_arg1));
}
public function takeItem(_arg1:String, _arg2:Boolean=true):void{
_inventory.takeItem(_arg1, _arg2);
}
public function gainItem(_arg1:String):void{
_inventory.gainItem(_arg1);
}
public function dropItem(_arg1:String):void{
_inventory.dropItem(_arg1);
}
public function makeItem(_arg1:String, _arg2:Array, _arg3:Function=null):void{
_inventory.makeItem(_arg1, _arg2, _arg3);
}
public function registerEvent(_arg1:String, _arg2:Boolean=false):void{
_chronicle.registerEvent(_arg1, _arg2);
}
public function unregisterEvent(_arg1:String):void{
_chronicle.unregisterEvent(_arg1);
}
public function retrieveEvent(_arg1:String):EpisodeEvent{
return (_chronicle.retrieveEvent(_arg1));
}
public function isEvent(_arg1:String):Boolean{
return (_chronicle.isEvent(_arg1));
}
public function causeEvent(_arg1:String):void{
_chronicle.causeEvent(_arg1);
}
public function forceEvent(_arg1:String):void{
_chronicle.forceEvent(_arg1);
}
public function setupEvent(_arg1:String, _arg2:Boolean):void{
_chronicle.setupEvent(_arg1, _arg2);
}
public function checkEvent(_arg1:String):Boolean{
return (_chronicle.checkEvent(_arg1));
}
public function ifThis(_arg1:String):Boolean{
return (_chronicle.ifThis(_arg1));
}
public function ifNotThis(_arg1:String):Boolean{
return (_chronicle.ifNotThis(_arg1));
}
public function ifThese(_arg1:Array):Boolean{
return (_chronicle.ifThese(_arg1));
}
public function ifNotThese(_arg1:Array):Boolean{
return (_chronicle.ifNotThese(_arg1));
}
public function ifAny(_arg1:Array):Boolean{
return (_chronicle.ifAny(_arg1));
}
public function ifNotAny(_arg1:Array):Boolean{
return (_chronicle.ifNotAny(_arg1));
}
public function ifAll():Boolean{
return (_chronicle.ifAll());
}
public function ifNone():Boolean{
return (_chronicle.ifNone());
}
public function ifEach(_arg1:Array, _arg2:Boolean):Boolean{
return (_chronicle.ifEach(_arg1, _arg2));
}
public function ifOneOf(_arg1:Array, _arg2:Boolean):Boolean{
return (_chronicle.ifOneOf(_arg1, _arg2));
}
public function addNewActivator(_arg1:String, _arg2:Sprite, _arg3:Object=null):void{
var _local4:Activator = new Activator(_arg1, _arg2, _arg3);
addActivator(_local4);
}
public function addActivator(_arg1:Activator):void{
var _local2:String = _arg1.name;
if (((!(_local2)) || (!(_local2.length)))){
throw (new Error("[Episode] : <addActivator> : Wrong name."));
};
if (_arg1){
if (!_activators[_local2]){
_activators[_local2] = _arg1;
if (!_arg1.episode){
_arg1.add(this);
};
} else {
throw (new Error("[Episode] : <addActivator> : Activator with same name already added."));
};
} else {
throw (new Error("[Episode] : <addActivator> : Can't add non-existing activator."));
};
}
public function removeActivator(_arg1:String):void{
var _local2:Activator;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <removeActivator> : Wrong name."));
};
if (_activators[_arg1]){
_local2 = _activators[_arg1];
delete _activators[_arg1];
if (_local2.episode){
_local2.remove();
};
} else {
throw (new Error("[Episode] : <removeActivator> : Activator with such name not found."));
};
}
public function getActivator(_arg1:String):Activator{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <getActivator> : Wrong name."));
};
return (_activators[_arg1]);
}
public function hasActivator(_arg1:String):Boolean{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <hasActivator> : Wrong name."));
};
return (Boolean(_activators[_arg1]));
}
public function destroyActivator(_arg1:String):void{
var _local2:Activator;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <destroyActivator> : Wrong name."));
};
if (_activators[_arg1]){
_local2 = _activators[_arg1];
delete _activators[_arg1];
_local2.destroy();
} else {
throw (new Error("[Episode] : <destroyActivator> : Activator with such name not found."));
};
}
public function disposeActivator(_arg1:String):void{
var _local2:Activator;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <disposeActivator> : Wrong name."));
};
if (_activators[_arg1]){
_local2 = _activators[_arg1];
delete _activators[_arg1];
_local2.dispose();
} else {
throw (new Error("[Episode] : <disposeActivator> : Activator with such name not found."));
};
}
public function addCharacter(_arg1:String, _arg2:Character):void{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <addCharacter> : Wrong name."));
};
if (_arg2){
if (!_characters[_arg1]){
_characters[_arg1] = _arg2;
if (!_arg2.episode){
_arg2.add(this);
};
} else {
throw (new Error("[Episode] : <addCharacter> : Character with same name already added."));
};
} else {
throw (new Error("[Episode] : <addCharacter> : Can't add non-existing character."));
};
}
public function removeCharacter(_arg1:String):void{
var _local2:Character;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <removeCharacter> : Wrong name."));
};
if (_activators[_arg1]){
_local2 = _characters[_arg1];
delete _characters[_arg1];
if (_local2.episode){
_local2.remove();
};
} else {
throw (new Error("[Episode] : <removeCharacter> : Character with such name not found."));
};
}
public function getCharacter(_arg1:String):Character{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <getCharacter> : Wrong name."));
};
return (_characters[_arg1]);
}
public function hasCharacter(_arg1:String):Boolean{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <hasCharacter> : Wrong name."));
};
return (Boolean(_characters[_arg1]));
}
public function destroyCharacter(_arg1:String):void{
var _local2:Character;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <destroyCharacter> : Wrong name."));
};
if (_characters[_arg1]){
_local2 = _characters[_arg1];
delete _characters[_arg1];
_local2.destroy();
} else {
throw (new Error("[Episode] : <destroyCharacter> : Character with such name not found."));
};
}
public function disposeCharacter(_arg1:String):void{
var _local2:Character;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <disposeCharacter> : Wrong name."));
};
if (_characters[_arg1]){
_local2 = _characters[_arg1];
delete _characters[_arg1];
_local2.dispose();
} else {
throw (new Error("[Episode] : <disposeCharacter> : Character with such name not found."));
};
}
public function addAnimation(_arg1:String, _arg2:Animation):void{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <addAnimation> : Wrong name."));
};
if (_arg2){
if (!_animations[_arg1]){
_animations[_arg1] = _arg2;
if (!_arg2.episode){
_arg2.add(this);
};
} else {
throw (new Error("[Episode] : <addAnimation> : Animation with same name already added."));
};
} else {
throw (new Error("[Episode] : <addAnimation> : Can't add non-existing animation."));
};
}
public function removeAnimation(_arg1:String):void{
var _local2:Animation;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <removeAnimation> : Wrong name."));
};
if (_animations[_arg1]){
_local2 = _animations[_arg1];
delete _animations[_arg1];
if (_local2.episode){
_local2.remove();
};
} else {
throw (new Error("[Episode] : <removeAnimation> : Animation with such name not found."));
};
}
public function getAnimation(_arg1:String):Animation{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <getAnimation> : Wrong name."));
};
return (_animations[_arg1]);
}
public function hasAnimation(_arg1:String):Boolean{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <hasAnimation> : Wrong name."));
};
return (Boolean(_animations[_arg1]));
}
public function destroyAnimation(_arg1:String):void{
var _local2:Animation;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <destroyAnimation> : Wrong name."));
};
if (_animations[_arg1]){
_local2 = _animations[_arg1];
delete _animations[_arg1];
_local2.destroy();
} else {
throw (new Error("[Episode] : <destroyAnimation> : Animation with such name not found."));
};
}
public function disposeAnimation(_arg1:String):void{
var _local2:Animation;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <disposeAnimation> : Wrong name."));
};
if (_animations[_arg1]){
_local2 = _animations[_arg1];
delete _animations[_arg1];
_local2.dispose();
} else {
throw (new Error("[Episode] : <disposeAnimation> : Character with such name not found."));
};
}
public function heroIdle():void{
hero.idle();
action = true;
}
public function heroRefuse():void{
action = false;
hero.playAnim("refuse", heroIdle);
}
public function heroGoToLocation(_arg1:Number, _arg2:Number, _arg3:Function=null, _arg4:String=null, _arg5:Number=40, _arg6:Number=40):void{
var cx:Number;
var $x = _arg1;
var $y = _arg2;
var $callback = _arg3;
var $actName = _arg4;
var $leftOffset = _arg5;
var $rightOffset = _arg6;
action = false;
if ($actName){
removeActivator($actName);
};
cx = $x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, $y, function ():void{
hero.turnTo(cx);
if ($callback != null){
$callback();
} else {
heroIdle();
};
});
}
public function heroGoTo(_arg1:DisplayObject, _arg2:String=null, _arg3:Number=40, _arg4:Number=40, _arg5:Number=0):void{
var cx:Number;
var $someView = _arg1;
var $actName = _arg2;
var $leftOffset = _arg3;
var $rightOffset = _arg4;
var $verticalOffset = _arg5;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($someView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
heroIdle();
});
}
public function heroGoToAndDo(_arg1:DisplayObject, _arg2:Function=null, _arg3:String=null, _arg4:Number=40, _arg5:Number=40, _arg6:Number=0):void{
var cx:Number;
var $someView = _arg1;
var $workToDo = _arg2;
var $actName = _arg3;
var $leftOffset = _arg4;
var $rightOffset = _arg5;
var $verticalOffset = _arg6;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($someView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
if ($workToDo != null){
$workToDo();
} else {
heroIdle();
};
});
}
public function heroTakeItem(_arg1:String, _arg2:DisplayObject, _arg3:String="take", _arg4:String=null, _arg5:Number=40, _arg6:Number=40, _arg7:Number=0):void{
var cx:Number;
var $itemName = _arg1;
var $itemView = _arg2;
var $animName = _arg3;
var $actName = _arg4;
var $leftOffset = _arg5;
var $rightOffset = _arg6;
var $verticalOffset = _arg7;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($itemView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
hero.playAnim($animName, function ():void{
takeItem($itemName);
$itemView.visible = false;
hero.animCallback = heroIdle;
});
});
}
public function heroFindItem(_arg1:String, _arg2:DisplayObject, _arg3:Function, _arg4:String="take", _arg5:String=null, _arg6:Number=40, _arg7:Number=40, _arg8:Number=0):void{
var cx:Number;
var $itemName = _arg1;
var $itemView = _arg2;
var $effect = _arg3;
var $animName = _arg4;
var $actName = _arg5;
var $leftOffset = _arg6;
var $rightOffset = _arg7;
var $verticalOffset = _arg8;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($itemView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
hero.playAnim($animName, function ():void{
takeItem($itemName);
$itemView.visible = false;
hero.animCallback = $effect;
});
});
}
public function heroUseItem(_arg1:String, _arg2:DisplayObject, _arg3:Function, _arg4:String="take", _arg5:String=null, _arg6:Number=40, _arg7:Number=40, _arg8:Number=0):void{
var cx:Number;
var $itemName = _arg1;
var $someView = _arg2;
var $effect = _arg3;
var $animName = _arg4;
var $actName = _arg5;
var $leftOffset = _arg6;
var $rightOffset = _arg7;
var $verticalOffset = _arg8;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($someView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
dropItem($itemName);
hero.playAnim($animName, function ():void{
hero.animCallback = heroIdle;
$effect();
});
});
}
public function heroApplyItem(_arg1:String, _arg2:DisplayObject, _arg3:Function, _arg4:String="take", _arg5:String=null, _arg6:Number=40, _arg7:Number=40, _arg8:Number=0):void{
var cx:Number;
var $itemName = _arg1;
var $someView = _arg2;
var $effect = _arg3;
var $animName = _arg4;
var $actName = _arg5;
var $leftOffset = _arg6;
var $rightOffset = _arg7;
var $verticalOffset = _arg8;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($someView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
dropItem($itemName);
hero.playAnim($animName, $effect);
});
}
public function heroPerformAction(_arg1:DisplayObject, _arg2:Function, _arg3:String="take", _arg4:String=null, _arg5:Array=null, _arg6:Number=40, _arg7:Number=40, _arg8:Number=0):void{
var cx:Number;
var $someView = _arg1;
var $effect = _arg2;
var $animName = _arg3;
var $actName = _arg4;
var $itemNames = _arg5;
var $leftOffset = _arg6;
var $rightOffset = _arg7;
var $verticalOffset = _arg8;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($someView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
if ((($itemNames) && ($itemNames.length))){
while ($itemNames.length) {
dropItem($itemNames.pop());
};
};
hero.playAnim($animName, $effect);
});
}
public function getDisplObjCenter(_arg1:DisplayObject):Point{
var _local2:Rectangle = _arg1.getBounds(this);
return (new Point((_local2.x + (_local2.width / 2)), (_local2.y + (_local2.height / 2))));
}
public function appearAt(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null):void{
Movement.appearAt(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function motionTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=64):TweenLite{
return (Movement.motionTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6));
}
public function onTimeTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=0):TweenLite{
return (Movement.onTimeTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6));
}
public function vCurveTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Function=null, _arg8:Number=64):void{
Movement.vCurveTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function hCurveTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Function=null, _arg8:Number=64):void{
Movement.hCurveTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function motionVia(_arg1:DisplayObject, _arg2:Array, _arg3:Function=null, _arg4:Number=64):TimelineLite{
return (Movement.motionVia(_arg1, _arg2, _arg3, _arg4));
}
private function run():void{
if (_ms < 1000){
_timer.delay = (1000 - _ms);
_ms = -1;
};
_time = getTimer();
_timer.start();
}
private function halt():void{
_timer.stop();
_ms = (getTimer() - _time);
}
private function loadAssets():void{
var _local3:MovieClip;
_activators = new Object();
_characters = new Object();
_animations = new Object();
var _local1:uint = numChildren;
var _local2:uint;
while (_local2 < _local1) {
_local3 = (getChildAt(_local2) as MovieClip);
if (_local3){
if ((_local3 is Character)){
addCharacter(_local3.name, (_local3 as Character));
} else {
if ((_local3 is Animation)){
addAnimation(_local3.name, (_local3 as Animation));
} else {
_local3.gotoAndPlay(1);
};
};
};
_local2++;
};
}
private function unloadAssets():void{
var _local1:String;
var _local2:String;
var _local3:String;
for (_local1 in _characters) {
disposeCharacter(_local1);
};
_characters = undefined;
for (_local2 in _animations) {
disposeAnimation(_local2);
};
_animations = undefined;
for (_local3 in _activators) {
disposeActivator(_local3);
};
_activators = undefined;
}
private function initAssets():void{
var _local1:Character;
var _local2:Animation;
for each (_local1 in _characters) {
_local1.activate();
};
for each (_local2 in _animations) {
_local2.activate();
};
}
private function haltAssets():void{
var _local1:Activator;
var _local2:Character;
var _local3:Animation;
for each (_local1 in _activators) {
_local1.deactivate();
};
for each (_local2 in _characters) {
_local2.deactivate();
};
for each (_local3 in _animations) {
_local3.deactivate();
};
}
private function onTimer(_arg1:TimerEvent):void{
if (_timer.delay != 1000){
_timer.delay = 1000;
};
}
private function onSaveResult(_arg1:GameEvent):void{
EpisodesManager.instance.removeEventListener(GameEvent.SAVE_COMPLETE, onSaveResult);
EpisodesManager.instance.removeEventListener(GameEvent.SAVE_ERROR, onSaveResult);
if (Game.instance.isNextEpisode()){
Game.instance.openNextWindow();
} else {
Game.instance.openFinalWindow(_timer.currentCount, EpisodesManager.instance.getTotalTime());
};
}
}
}//package aq.pcge.game
Section 23
//EpisodeEvent (aq.pcge.game.EpisodeEvent)
package aq.pcge.game {
import flash.events.*;
public class EpisodeEvent extends Event {
private var _data:Object;
public function EpisodeEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
super(_arg1, _arg2, _arg3);
_data = _arg4;
}
public function get data():Object{
return (_data);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
override public function clone():Event{
return (new EpisodeEvent(type, bubbles, cancelable, _data));
}
}
}//package aq.pcge.game
Section 24
//EpisodesManager (aq.pcge.game.EpisodesManager)
package aq.pcge.game {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public class EpisodesManager extends Sprite {
private var _episodes:Array;
private var _index:uint;
private var _episode:IEpisode;
private var _so:SharedObject;
private static var _instance:EpisodesManager;
public function EpisodesManager(){
if (!_instance){
_instance = this;
_episodes = new Array();
_so = SharedObject.getLocal(GameApplication.gameName);
} else {
throw (new Error("[EpisodesManager] : <EpisodesManager> : Only one instance of this class is allowed."));
};
}
public function submitTime(_arg1:uint, _arg2:uint):void{
if (_episodes[_arg1] != null){
if (_episodes[_arg1].bestTime > _arg2){
_episodes[_arg1].bestTime = _arg2;
};
} else {
throw (new Error("[EpisodesManager] : <submitTime> : Episode with such index isn't registered."));
};
}
public function getTotalTime():uint{
var _local1:uint;
var _local2:uint = _episodes.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (_local1 + _episodes[_local3].bestTime);
_local3++;
};
return (_local1);
}
public function getCurrentEpisode():IEpisode{
return (_episode);
}
public function getCurrentEpisodeIndex():uint{
return (_index);
}
public function getNumEpisodes():uint{
return (_episodes.length);
}
public function load():void{
var _local1:Array;
var _local2:uint;
var _local3:uint;
var _local4:int;
var _local5:uint;
var _local6:uint;
if (_so.data.gamesave){
_local1 = _so.data.gamesave;
_local2 = _episodes.length;
_local3 = 0;
while (_local3 < _local2) {
if ((_local1[_local3] is Object)){
_episodes[_local3].locked = _local1[_local3].locked;
_episodes[_local3].completed = _local1[_local3].completed;
_episodes[_local3].bestTime = _local1[_local3].bestTime;
} else {
trace("[EpisodesManager] : <load> : Gamesave corrupted.");
trace("[EpisodesManager] : Episode will be reset to default.");
_episodes[_local3].locked = true;
_episodes[_local3].completed = false;
_episodes[_local3].bestTime = undefined;
};
_local3++;
};
dispatchEvent(new GameEvent(GameEvent.LOAD_COMPLETE));
_local4 = -1;
_local5 = _episodes.length;
_local6 = 0;
while (_local6 < _local5) {
if (!_episodes[_local6].completed){
_local4 = _local6;
break;
};
_local6++;
};
if (_local4 < 0){
_index = (_episodes.length - 1);
} else {
_index = _local4;
};
} else {
dispatchEvent(new GameEvent(GameEvent.LOAD_ERROR));
_index = 0;
};
}
public function save():void{
_so.data.gamesave = new Array();
var gamesave:Array = _so.data.gamesave;
var iLim:uint = _episodes.length;
var i:uint;
while (i < iLim) {
gamesave[i] = {locked:_episodes[i].locked, completed:_episodes[i].completed, bestTime:_episodes[i].bestTime};
i = (i + 1);
};
var flushStatus:String;
try {
flushStatus = _so.flush(10000);
} catch(error:Error) {
dispatchEvent(new GameEvent(GameEvent.SAVE_ERROR));
};
if (flushStatus != null){
switch (flushStatus){
case SharedObjectFlushStatus.PENDING:
_so.addEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
break;
case SharedObjectFlushStatus.FLUSHED:
dispatchEvent(new GameEvent(GameEvent.SAVE_COMPLETE));
break;
};
};
}
public function wipe():void{
_so.data.gamesave = new Array();
_so.clear();
}
public function registerEpisode(_arg1:Class, _arg2:uint):void{
if (_episodes[_arg2] == null){
_episodes[_arg2] = {episode:_arg1, locked:true, completed:false, bestTime:Number.POSITIVE_INFINITY};
} else {
throw (new Error("[EpisodesManager] : <registerEpisode> : Episode with same index already registered."));
};
}
public function unregisterEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
_episodes[_arg1].episode = undefined;
_episodes[_arg1].locked = undefined;
_episodes[_arg1].completed = undefined;
_episodes[_arg1].bestTime = undefined;
_episodes[_arg1] = undefined;
} else {
throw (new Error("[EpisodesManager] : <unregisterEpisode> : Episode with such index isn't registered."));
};
}
public function hasEpisodeAt(_arg1:uint):Boolean{
if (_arg1 < _episodes.length){
return (Boolean(_episodes[_arg1]));
};
return (false);
}
public function lockEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
_episodes[_arg1].locked = true;
} else {
throw (new Error("[EpisodesManager] : <lockEpisode> : Episode with such index isn't registered."));
};
}
public function unlockEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
_episodes[_arg1].locked = false;
} else {
throw (new Error("[EpisodesManager] : <unlockEpisode> : Episode with such index isn't registered."));
};
}
public function completeEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
_episodes[_arg1].completed = true;
} else {
throw (new Error("[EpisodesManager] : <completeEpisode> : Episode with such index isn't registered."));
};
}
public function resetEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
_episodes[_arg1].completed = false;
} else {
throw (new Error("[EpisodesManager] : <resetEpisode> : Episode with such index isn't registered."));
};
}
public function loadEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
if (_episode){
unloadEpisode();
};
_index = _arg1;
_episode = new _episodes[_index].episode();
_episode.index = _index;
_episode.load();
addChild((_episode as Sprite));
} else {
throw (new Error("[EpisodesManager] : <loadEpisode> : Episode with such index isn't registered."));
};
}
public function unloadEpisode():void{
if (_episode){
_episode.unload();
removeChild((_episode as Sprite));
_episode = undefined;
} else {
throw (new Error("[EpisodesManager] : <unloadEpisode> : There is no episode to unload."));
};
}
public function reloadEpisode():void{
if (_episode){
unloadEpisode();
_episode = new _episodes[_index].episode();
_episode.index = _index;
_episode.load();
addChild((_episode as Sprite));
} else {
throw (new Error("[EpisodesManager] : <reloadEpisode> : There is no episode to reload."));
};
}
public function startEpisode():void{
if (_episode){
_episode.start();
} else {
throw (new Error("[EpisodesManager] : <startEpisode> : There is no episode to start."));
};
}
public function finishEpisode():void{
if (_episode){
_episode.finish();
} else {
throw (new Error("[EpisodesManager] : <finishEpisode> : There is no episode to finish."));
};
}
public function pauseEpisode():void{
if (_episode){
_episode.pause();
} else {
throw (new Error("[EpisodesManager] : <pauseEpisode> : There is no episode to pause."));
};
}
public function resumeEpisode():void{
if (_episode){
_episode.resume();
} else {
throw (new Error("[EpisodesManager] : <resumeEpisode> : There is no episode to resume."));
};
}
public function prevEpisode():void{
if (_index > 0){
_index--;
loadEpisode(_index);
} else {
throw (new Error("[EpisodesManager] : <prevEpisode> : There isn't prev episode."));
};
}
public function nextEpisode():void{
if (_index < (_episodes.length - 1)){
_index++;
loadEpisode(_index);
} else {
throw (new Error("[EpisodesManager] : <nextEpisode> : There isn't next episode."));
};
}
public function isPrevEpisode():Boolean{
return ((_index > 0));
}
public function isNextEpisode():Boolean{
return ((_index < (_episodes.length - 1)));
}
public function isEpisodeCompleted(_arg1:uint):Boolean{
if (_episodes[_arg1] != null){
return (_episodes[_arg1].completed);
};
throw (new Error("[EpisodesManager] : <isEpisodeCompleted> : Episode with such index isn't registered."));
}
public function isEpisodeLocked(_arg1:uint):Boolean{
if (_episodes[_arg1] != null){
return (_episodes[_arg1].locked);
};
throw (new Error("[EpisodesManager] : <isEpisodeLocked> : Episode with such index isn't registered."));
}
private function onFlushStatus(_arg1:NetStatusEvent):void{
switch (_arg1.info.code){
case "SharedObject.Flush.Success":
dispatchEvent(new GameEvent(GameEvent.SAVE_COMPLETE));
break;
case "SharedObject.Flush.Failed":
dispatchEvent(new GameEvent(GameEvent.SAVE_ERROR));
break;
};
_so.removeEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
}
public static function get instance():EpisodesManager{
return (_instance);
}
}
}//package aq.pcge.game
Section 25
//EpisodeState (aq.pcge.game.EpisodeState)
package aq.pcge.game {
public class EpisodeState {
public static const CREATED:String = "created";
public static const INITIALIZED:String = "initialized";
public static const PLAYING:String = "playing";
public static const PAUSED:String = "paused";
public static const FINISHED:String = "finished";
public static const COMPLETED:String = "completed";
public static const FINALIZED:String = "finalized";
public static const WON:String = "won";
public static const LOST:String = "lost";
}
}//package aq.pcge.game
Section 26
//Game (aq.pcge.game.Game)
package aq.pcge.game {
import flash.display.*;
import aq.pcge.common.*;
import aq.pcge.*;
public class Game extends Screen {
public var invView:InventoryView;
public var windowsManager:GameWindowsManager;
public var levelsManager:EpisodesManager;
public var logo:Sprite;
public var gameBar:Sprite;
public var moreGamesButton:Sprite;
private static var _instance:Game;
public function Game(){
if (!_instance){
_instance = this;
if (GameApplication.platform == "md"){
logo.visible = false;
} else {
moreGamesButton.visible = false;
};
} else {
throw (new Error("[Game] : <Game> : Only one instance of this class is allowed."));
};
}
public function submitTime(_arg1:uint, _arg2:uint):void{
levelsManager.submitTime(_arg1, _arg2);
}
public function getTotalTime():uint{
return (levelsManager.getTotalTime());
}
public function getCurrentEpisode():IEpisode{
return (levelsManager.getCurrentEpisode());
}
public function getCurrentEpisodeIndex():uint{
return (levelsManager.getCurrentEpisodeIndex());
}
public function getNumEpisodes():uint{
return (levelsManager.getNumEpisodes());
}
override public function hide():void{
returnToGame();
if (levelsManager.getCurrentEpisode()){
unloadEpisode();
};
super.hide();
}
public function load():void{
levelsManager.load();
}
public function save():void{
levelsManager.save();
}
public function openFinalWindow(_arg1:uint=0, _arg2:uint=0):void{
if (GameApplication.platform == "md"){
windowsManager.openFinalWindowMobile(_arg1, _arg2);
} else {
windowsManager.openFinalWindow(_arg1, _arg2);
};
}
public function openNextWindow(_arg1:Object=null):void{
windowsManager.openNextWindow(_arg1);
}
public function openFailWindow(_arg1:Object=null):void{
windowsManager.openFailWindow(_arg1);
}
public function openItemWindow(_arg1:DisplayObject=null):void{
windowsManager.openItemWindow(_arg1);
}
public function openHelloWindow():void{
invView.visible = false;
gameBar.visible = false;
windowsManager.openHelloWindow();
}
public function openOptionsWindow():void{
windowsManager.openOptionsWindow();
}
public function returnToGame():void{
invView.visible = true;
gameBar.visible = true;
if (windowsManager.activeWindow){
windowsManager.closeActiveWindow();
};
}
public function registerEpisode(_arg1:Class, _arg2:uint):void{
levelsManager.registerEpisode(_arg1, _arg2);
}
public function unregisterEpisode(_arg1:uint):void{
levelsManager.unregisterEpisode(_arg1);
}
public function hasEpisodeAt(_arg1:uint):Boolean{
return (levelsManager.hasEpisodeAt(_arg1));
}
public function lockEpisode(_arg1:uint):void{
levelsManager.lockEpisode(_arg1);
}
public function unlockEpisode(_arg1:uint):void{
levelsManager.unlockEpisode(_arg1);
}
public function completeEpisode(_arg1:uint):void{
levelsManager.completeEpisode(_arg1);
}
public function resetEpisode(_arg1:uint):void{
levelsManager.resetEpisode(_arg1);
}
public function loadEpisode(_arg1:uint):void{
levelsManager.loadEpisode(_arg1);
}
public function unloadEpisode():void{
levelsManager.unloadEpisode();
}
public function reloadEpisode():void{
levelsManager.reloadEpisode();
}
public function startEpisode():void{
levelsManager.startEpisode();
}
public function finishEpisode():void{
levelsManager.finishEpisode();
}
public function pauseEpisode():void{
levelsManager.pauseEpisode();
}
public function resumeEpisode():void{
levelsManager.resumeEpisode();
}
public function prevEpisode():void{
levelsManager.prevEpisode();
}
public function nextEpisode():void{
levelsManager.nextEpisode();
}
public function isPrevEpisode():Boolean{
return (levelsManager.isPrevEpisode());
}
public function isNextEpisode():Boolean{
return (levelsManager.isNextEpisode());
}
public function isEpisodeCompleted(_arg1:uint):Boolean{
return (levelsManager.isEpisodeCompleted(_arg1));
}
public function isEpisodeLocked(_arg1:uint):Boolean{
return (levelsManager.isEpisodeLocked(_arg1));
}
private function onLoadError(_arg1:GameEvent):void{
}
private function onLoadComplete(_arg1:GameEvent):void{
}
private function onSaveError(_arg1:GameEvent):void{
}
private function onSaveComplete(_arg1:GameEvent):void{
}
public static function get instance():Game{
return (_instance);
}
}
}//package aq.pcge.game
Section 27
//GameBar (aq.pcge.game.GameBar)
package aq.pcge.game {
import flash.display.*;
import aq.pcge.*;
public class GameBar extends Sprite {
public var muteButton:Sprite;
public var helpButton:Sprite;
public var optionsButton:Sprite;
public function GameBar(){
if (GameApplication.platform == "md"){
muteButton.visible = false;
helpButton.visible = false;
} else {
optionsButton.visible = false;
};
}
}
}//package aq.pcge.game
Section 28
//GameConfig (aq.pcge.game.GameConfig)
package aq.pcge.game {
public class GameConfig {
public static const SAVE_LOAD:Boolean = false;
}
}//package aq.pcge.game
Section 29
//GameEvent (aq.pcge.game.GameEvent)
package aq.pcge.game {
import flash.events.*;
public class GameEvent extends Event {
private var _data:Object;
public static const EPISODE_COMPLETE:String = "episodeComplete";
public static const EPISODE_FAILED:String = "episodeFailed";
public static const LOAD_COMPLETE:String = "loadComplete";
public static const LOAD_ERROR:String = "loadError";
public static const SAVE_COMPLETE:String = "saveComplete";
public static const SAVE_ERROR:String = "saveError";
public function GameEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
super(_arg1, _arg2, _arg3);
_data = _arg4;
}
public function get data():Object{
return (_data);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
override public function clone():Event{
return (new GameEvent(type, bubbles, cancelable, _data));
}
}
}//package aq.pcge.game
Section 30
//GameWindowsManager (aq.pcge.game.GameWindowsManager)
package aq.pcge.game {
import flash.display.*;
import aq.pcge.common.*;
import aq.pcge.game.windows.*;
public class GameWindowsManager extends WindowsManager {
private static var _instance:GameWindowsManager;
public function GameWindowsManager(){
if (!_instance){
_instance = this;
} else {
throw (new Error("[GameWindowsManager] : <GameWindowsManager> : Only one instance of this class is allowed."));
};
}
public function openFinalWindow(_arg1:uint=0, _arg2:uint=0):void{
openActiveWindow(new FinalWindow(_arg1, _arg2));
}
public function openNextWindow(_arg1:Object=null):void{
var _local2:FlapWindow = new NextWindow();
if ((_arg1 is Object)){
if ((_arg1.onClose is Function)){
_local2.onClose = _arg1.onClose;
};
if ((_arg1.onOpen is Function)){
_local2.onOpen = _arg1.onOpen;
};
if ((_arg1.onStop is Function)){
_local2.onStop = _arg1.onStop;
};
};
openActiveWindow(_local2);
}
public function openFailWindow(_arg1:Object=null):void{
var _local2:FlapWindow = new FailWindow();
if ((_arg1 is Object)){
if ((_arg1.onClose is Function)){
_local2.onClose = _arg1.onClose;
};
if ((_arg1.onOpen is Function)){
_local2.onOpen = _arg1.onOpen;
};
if ((_arg1.onStop is Function)){
_local2.onStop = _arg1.onStop;
};
};
openActiveWindow(_local2);
}
public function openItemWindow(_arg1:DisplayObject=null):void{
openActiveWindow(new ItemWindow(_arg1));
}
public function openHelloWindow():void{
openActiveWindow(new HelloWindow());
}
public function openOptionsWindow():void{
openActiveWindow(new OptionsWindow());
}
public function openFinalWindowMobile(_arg1:uint=0, _arg2:uint=0):void{
openActiveWindow(new FinalWindowMobile(_arg1, _arg2));
}
public static function get instance():GameWindowsManager{
return (_instance);
}
}
}//package aq.pcge.game
Section 31
//IEpisode (aq.pcge.game.IEpisode)
package aq.pcge.game {
import flash.display.*;
public interface IEpisode {
function get index():int;
function set index(_arg1:int):void;
function get state():String;
function get action():Boolean;
function set action(_arg1:Boolean):void;
function getScreen():Sprite;
function getCanvas():Sprite;
function load():void;
function unload():void;
function start():void;
function finish():void;
function pause():void;
function resume():void;
function win():void;
function lose():void;
function registerItem(_arg1:String, _arg2=null, _arg3:String=null, _arg4:String=null):void;
function unregisterItem(_arg1:String):void;
function retrieveItem(_arg1:String):Item;
function isItem(_arg1:String):Boolean;
function addItem(_arg1:String):void;
function removeItem(_arg1:String):void;
function getItem(_arg1:String):Item;
function hasItem(_arg1:String):Boolean;
function takeItem(_arg1:String, _arg2:Boolean=true):void;
function gainItem(_arg1:String):void;
function dropItem(_arg1:String):void;
function makeItem(_arg1:String, _arg2:Array, _arg3:Function=null):void;
function registerEvent(_arg1:String, _arg2:Boolean=false):void;
function unregisterEvent(_arg1:String):void;
function retrieveEvent(_arg1:String):EpisodeEvent;
function isEvent(_arg1:String):Boolean;
function causeEvent(_arg1:String):void;
function forceEvent(_arg1:String):void;
function setupEvent(_arg1:String, _arg2:Boolean):void;
function checkEvent(_arg1:String):Boolean;
function ifThis(_arg1:String):Boolean;
function ifNotThis(_arg1:String):Boolean;
function ifThese(_arg1:Array):Boolean;
function ifNotThese(_arg1:Array):Boolean;
function ifAny(_arg1:Array):Boolean;
function ifNotAny(_arg1:Array):Boolean;
function ifAll():Boolean;
function ifNone():Boolean;
function ifEach(_arg1:Array, _arg2:Boolean):Boolean;
function ifOneOf(_arg1:Array, _arg2:Boolean):Boolean;
function addNewActivator(_arg1:String, _arg2:Sprite, _arg3:Object=null):void;
function addActivator(_arg1:Activator):void;
function removeActivator(_arg1:String):void;
function getActivator(_arg1:String):Activator;
function hasActivator(_arg1:String):Boolean;
function destroyActivator(_arg1:String):void;
function disposeActivator(_arg1:String):void;
function addCharacter(_arg1:String, _arg2:Character):void;
function removeCharacter(_arg1:String):void;
function getCharacter(_arg1:String):Character;
function hasCharacter(_arg1:String):Boolean;
function destroyCharacter(_arg1:String):void;
function disposeCharacter(_arg1:String):void;
function addAnimation(_arg1:String, _arg2:Animation):void;
function removeAnimation(_arg1:String):void;
function getAnimation(_arg1:String):Animation;
function hasAnimation(_arg1:String):Boolean;
function destroyAnimation(_arg1:String):void;
function disposeAnimation(_arg1:String):void;
}
}//package aq.pcge.game
Section 32
//Inventory (aq.pcge.game.Inventory)
package aq.pcge.game {
import flash.display.*;
import flash.events.*;
public class Inventory extends EventDispatcher {
private var _episode:Episode;
private var _exists:Boolean;
private var _registry:Object;
private var _items:Object;
private var _view:InventoryView;
public function Inventory(_arg1:Episode){
if (!_arg1){
throw (new Error("[Inventory] : <Inventory> : Episode isn't exists."));
};
_episode = _arg1;
_registry = new Object();
_items = new Object();
_view = InventoryView.instance;
_exists = true;
}
public function get episode():IEpisode{
return (_episode);
}
public function get view():InventoryView{
return (_view);
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
_registry = undefined;
_items = undefined;
_view.reset();
_view = undefined;
_episode = undefined;
}
public function dispose():void{
var _local1:Item;
_items = undefined;
for each (_local1 in _registry) {
_local1.destroy();
};
_registry = undefined;
_view.reset();
_view = undefined;
_episode = undefined;
}
public function registerItem(_arg1:String, _arg2=null, _arg3:String=null, _arg4:String=null):void{
if (!_registry[_arg1]){
_registry[_arg1] = new Item(_arg1, _arg2, _arg3, _arg4);
} else {
throw (new Error("[Inventory] : <registerItem> : Item with same name already registered."));
};
}
public function unregisterItem(_arg1:String):void{
if (_registry[_arg1]){
_registry[_arg1].dispose();
delete _registry[_arg1];
} else {
throw (new Error("[Inventory] : <unregisterItem> : Item with such name not found."));
};
}
public function retrieveItem(_arg1:String):Item{
if (_registry[_arg1]){
return (_registry[_arg1]);
};
throw (new Error("[Inventory] : <retrieveItem> : Item with such name not found."));
}
public function isItem(_arg1:String):Boolean{
return (Boolean(_registry[_arg1]));
}
public function addItem(_arg1:String):void{
if (_registry[_arg1]){
if (!_items[_arg1]){
_items[_arg1] = _registry[_arg1];
} else {
throw (new Error((("[Inventory] : <addItem> : Item '" + _arg1) + "' already added.")));
};
} else {
throw (new Error("[Inventory] : <addItem> : Item isn't registered."));
};
}
public function removeItem(_arg1:String):void{
if (_registry[_arg1]){
if (_items[_arg1]){
delete _items[_arg1];
} else {
throw (new Error((("[Inventory] : <removeItem> : Item '" + _arg1) + "' not found.")));
};
} else {
throw (new Error("[Inventory] : <removeItem> : Item isn't registered."));
};
}
public function getItem(_arg1:String):Item{
if (_registry[_arg1]){
if (_items[_arg1]){
return (_items[_arg1]);
};
throw (new Error((("[Inventory] : <getItem> : Item '" + _arg1) + "' isn't added.")));
//unresolved jump
};
throw (new Error("[Inventory] : <getItem> : Item isn't registered."));
}
public function findItem(_arg1:String):Item{
if (_registry[_arg1]){
return (_items[_arg1]);
};
throw (new Error("[Inventory] : <findItem> : Item isn't registered."));
}
public function hasItem(_arg1:String):Boolean{
if (_registry[_arg1]){
return (Boolean(_items[_arg1]));
};
throw (new Error("[Inventory] : <hasItem> : Item isn't registered."));
}
public function notHasItem(_arg1:String):Boolean{
if (_registry[_arg1]){
return (Boolean(!(_items[_arg1])));
};
throw (new Error("[Inventory] : <notHasItem> : Item isn't registered."));
}
public function hasAllItems(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (!_items[_local4]){
return (false);
};
} else {
throw (new Error("[Inventory] : <hasAllItems> : Item isn't registered."));
};
_local3++;
};
return (true);
}
public function notHasAllItems(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (_items[_local4]){
return (false);
};
} else {
throw (new Error("[Inventory] : <notHasAllItems> : Item isn't registered."));
};
_local3++;
};
return (true);
}
public function hasAnyItem(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (_items[_local4]){
return (true);
};
} else {
throw (new Error("[Inventory] : <hasAnyItem> : Item isn't registered."));
};
_local3++;
};
return (false);
}
public function notHasAnyItem(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (!_items[_local4]){
return (true);
};
} else {
throw (new Error("[Inventory] : <notHasAnyItem> : Item isn't registered."));
};
_local3++;
};
return (false);
}
public function takeItem(_arg1:String, _arg2:Boolean=true):void{
addItem(_arg1);
if (_view){
_view.addItem(_registry[_arg1]);
};
if (_arg2){
showItemWindow(_arg1);
};
}
public function gainItem(_arg1:String):void{
addItem(_arg1);
if (_view){
_view.addItem(_registry[_arg1]);
};
}
public function dropItem(_arg1:String):void{
removeItem(_arg1);
if (_view){
_view.removeItem(_registry[_arg1]);
};
}
public function makeItem(_arg1:String, _arg2:Array, _arg3:Function=null):void{
var _local4:uint = _arg2.length;
var _local5:Array = new Array();
var _local6:uint;
while (_local6 < _local4) {
_local5.push(_registry[_arg2[_local6]]);
_local6++;
};
InventoryAnimator.animate(_registry[_arg1], _local5, _arg3);
}
private function showItemWindow(_arg1:String):void{
var _local3:*;
var _local4:DisplayObject;
var _local2:Item = _items[_arg1];
if (_local2.icon){
_local3 = _local2.icon;
_local4 = DisplayObject(new (_local3));
GameWindowsManager.instance.openItemWindow(_local4);
} else {
throw (new Error("[Inventory] : <showItemWindow> : Icon for item is undefined."));
};
}
}
}//package aq.pcge.game
Section 33
//InventoryAnimator (aq.pcge.game.InventoryAnimator)
package aq.pcge.game {
import flash.display.*;
import com.greensock.*;
import flash.utils.*;
import aq.pcge.*;
import aq.pcge.game.windows.*;
public class InventoryAnimator {
public static const ITEM_FLYING_IN:Number = 1;
public static const ITEM_FLYING_OUT:Number = 1;
private static const CENTER_X:Number = (GameApplication.SCREEN_WIDTH / 2);
private static const CENTER_Y:Number = (GameApplication.SCREEN_HEIGHT / 2);
private static var _item:Item;
private static var _icon:DisplayObject;
private static var _materials:Dictionary = new Dictionary();
private static var _highlight:Dictionary = new Dictionary();
private static var _matImages:Dictionary = new Dictionary();
private static var _toMove:Array = new Array();
private static var _callback:Function;
private static var _itemTween:TweenLite;
public static function animate(_arg1:Item, _arg2:Array, _arg3:Function=null):void{
var _local4:Item;
var _local5:uint;
var _local6:uint;
if (_arg1){
if (_arg2){
_local5 = _arg2.length;
_local6 = 0;
while (_local6 < _local5) {
_local4 = _arg2[_local6];
if (_local4){
_materials[_local4] = _local4;
} else {
throw (new Error("[ItemsAnimationManager] : <animate> : Wrong input."));
};
_local6++;
};
_item = _arg1;
_callback = _arg3;
InventoryView.instance.freeze = true;
for each (_local4 in _materials) {
_highlight[_local4] = _local4;
InventoryView.instance.highlightItem(_local4, onItemAnimComplete);
};
} else {
throw (new Error("[ItemsAnimationManager] : <animate> : Wrong input."));
};
} else {
throw (new Error("[ItemsAnimationManager] : <animate> : Wrong input."));
};
}
public static function reset():void{
if (_itemTween){
_itemTween.kill();
};
clear();
}
private static function onItemAnimComplete(_arg1:Item):void{
var _local3:Item;
var _local4:ItemWindow;
var _local5:DisplayObject;
delete _highlight[_arg1];
var _local2:Boolean;
for each (_local3 in _highlight) {
_local2 = false;
break;
};
if (_local2){
for each (_local3 in _materials) {
_local5 = InventoryView.instance.cutIcon(_local3);
_matImages[_local3] = _local5;
_toMove.push(_local5);
InventoryView.instance.anim.addChild(_local5);
};
(GameWindowsManager.instance.openItemWindow() as ItemWindow);
_local4 = (GameWindowsManager.instance.activeWindow as ItemWindow);
_local4.stopLifeTimer();
if (Game.instance.getChildIndex(Game.instance.invView) < Game.instance.getChildIndex(Game.instance.windowsManager)){
Game.instance.swapChildren(Game.instance.invView, Game.instance.windowsManager);
};
queryAnim(_toMove.shift());
};
}
private static function queryAnim(_arg1:Sprite):void{
var $image = _arg1;
if (_toMove.length){
_itemTween = new TweenLite($image, ITEM_FLYING_IN, {x:CENTER_X, y:CENTER_Y, onComplete:function ():void{
queryAnim(_toMove.shift());
}, onCompleteParams:[$image]});
} else {
_itemTween = new TweenLite($image, ITEM_FLYING_IN, {x:CENTER_X, y:CENTER_Y, onComplete:function ():void{
makeItem();
}});
};
}
private static function makeItem():void{
var _local2:Item;
var _local3:*;
var _local4:DisplayObject;
var _local5:ItemWindow;
var _local1:IEpisode = Game.instance.getCurrentEpisode();
for each (_local2 in _materials) {
InventoryView.instance.anim.removeChild(_matImages[_local2]);
_local1.dropItem(_local2.name);
};
_local3 = _item.icon;
_local4 = new (_local3);
InventoryView.scaleImage(_local4);
_local5 = (GameWindowsManager.instance.activeWindow as ItemWindow);
_local4.x = (_local5.holder.width / 2);
_local4.y = (_local5.holder.height / 2);
_local5.holder.addChild(_local4);
_icon = _local4;
_local5.playGFX(placeItem);
}
private static function placeItem():void{
var w:ItemWindow;
InventoryView.instance.addEmptyItem(_item);
var pos:Object = InventoryView.instance.getIconPosition(_item);
w = (GameWindowsManager.instance.activeWindow as ItemWindow);
w.holder.removeChild(_icon);
_icon.x = (_icon.x + (w.holder.x + w.x));
_icon.y = (_icon.y + (w.holder.y + w.y));
InventoryView.instance.anim.addChild(_icon);
_itemTween = new TweenLite(_icon, ITEM_FLYING_OUT, {x:pos.x, y:pos.y, onComplete:function ():void{
var _local2:*;
var _local1:* = Game.instance.getCurrentEpisode();
_local1.addItem(_item.name);
InventoryView.instance.setIcon(_item, _icon);
if (Game.instance.getChildIndex(Game.instance.invView) > Game.instance.getChildIndex(Game.instance.windowsManager)){
Game.instance.swapChildren(Game.instance.invView, Game.instance.windowsManager);
};
w.close();
InventoryView.instance.freeze = false;
if (_callback != null){
_local2 = _callback;
clear();
_local2();
} else {
clear();
};
}});
}
private static function clear():void{
_item = undefined;
_icon = undefined;
_materials = new Dictionary();
_highlight = new Dictionary();
_matImages = new Dictionary();
_toMove = new Array();
_callback = undefined;
_itemTween = undefined;
}
}
}//package aq.pcge.game
Section 34
//InventoryView (aq.pcge.game.InventoryView)
package aq.pcge.game {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class InventoryView extends MovieClip {
public var anim:MovieClip;
public var iconsCont:MovieClip;
public var iconsMask:MovieClip;
private var _slots:Array;
private var _names:Object;
private var _rewind:Boolean;
private var _freeze:Boolean;
public static const LRINDENT:Number = 1;
public static const HORIZONTAL_GAP:Number = 12;
public static const VERTICAL_GAP:Number = 6;
public static const SLOT_WIDTH:Number = 71;
public static const SLOT_HEIGHT:Number = 72;
public static const ICON_WIDTH:Number = 58;
public static const ICON_HEIGHT:Number = 57;
public static const SCROLL_SPEED:Number = 5;
public static const HORIZONTAL_OFFSET:Number = 0;
public static const VERTICAL_OFFSET:Number = 0;
private static var _instance:InventoryView;
public function InventoryView(){
if (!_instance){
_instance = this;
_slots = new Array();
_names = new Object();
if (((iconsCont) && (iconsMask))){
iconsCont.mask = iconsMask;
};
} else {
throw (new Error("[InventoryView] : <InventoryView> : Only one instance of this class is allowed."));
};
}
public function get freeze():Boolean{
return (_freeze);
}
public function set freeze(_arg1:Boolean):void{
_freeze = _arg1;
}
public function addItem(_arg1:Item):void{
var _local2:uint;
var _local3:ItemIcon;
var _local4:DisplayObject;
var _local5:Class;
if (_arg1){
if (!_names[_arg1.name]){
_local2 = _slots.length;
_local3 = new ItemIcon();
_local3.addEventListener("gfxComplete", onGFXComplete);
_local3.name = ("itemIcon_" + _local2);
_local3.source = _arg1.name;
_local3.title = _arg1.title;
_local3.item = _arg1;
_local5 = _arg1.icon;
if ((((getQualifiedSuperclassName(_local5) == "flash.display::Sprite")) || ((getQualifiedSuperclassName(_local5) == "flash.display::MovieClip")))){
_local4 = new (_local5);
} else {
if (getQualifiedSuperclassName(_local5) == "flash.display::BitmapData"){
_local4 = new Bitmap(new _local5(_local5.width, _local5.height));
(_local4 as Bitmap).smoothing = true;
};
};
if (_local4){
scaleImage(_local4);
_local4.x = (SLOT_WIDTH / 2);
_local4.y = (SLOT_HEIGHT / 2);
_local3.setIcon(_local4);
} else {
throw (new Error((("[InventoryView] : <addItem> : Item's '" + _arg1.name) + "' image isn't exists.")));
};
_local3.x = HORIZONTAL_OFFSET;
_local3.y = (VERTICAL_OFFSET + (_local2 * (SLOT_HEIGHT + VERTICAL_GAP)));
iconsCont.addChild(_local3);
_names[_arg1.name] = {index:_local2, icon:_local3};
_slots.push(_arg1.name);
_rewind = true;
} else {
throw (new Error((("[InventoryView] : <addItem> : Can't add same item ('" + _arg1.name) + "').")));
};
} else {
throw (new Error("[InventoryView] : <addItem> : Can't add non-existing item."));
};
}
public function removeItem(_arg1:Item):void{
var _local2:ItemIcon;
var _local3:uint;
var _local4:uint;
if (_arg1){
if (_names[_arg1.name]){
_local2 = (iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon);
_local2.removeEventListener("gfxComplete", onGFXComplete);
_local2.onGFXComplete = undefined;
_local2.gotoAndStop(1);
iconsCont.removeChild(_local2);
if (_names[_arg1.name].index < (_slots.length - 1)){
_local3 = _slots.length;
_local4 = (_names[_arg1.name].index + 1);
while (_local4 < _local3) {
_local2 = (iconsCont.getChildByName(("itemIcon_" + _local4)) as ItemIcon);
_local2.name = ("itemIcon_" + (_local4 - 1));
_names[_local2.source].index = (_local4 - 1);
_local2.x = HORIZONTAL_OFFSET;
_local2.y = (VERTICAL_OFFSET + ((_local4 - 1) * (SLOT_HEIGHT + VERTICAL_GAP)));
_local4++;
};
};
_slots.splice(_names[_arg1.name].index, 1);
_names[_arg1.name] = undefined;
} else {
throw (new Error((("[InventoryView] : <removeItem> : Item '" + _arg1.name) + "' not found.")));
};
} else {
throw (new Error("[InventoryView] : <removeItem> : Can't remove non-existing item."));
};
}
public function highlightItem(_arg1:Item, _arg2:Function=null):void{
var _local3:ItemIcon;
if (_arg1){
if (_names[_arg1.name]){
_local3 = (iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon);
_local3.onGFXComplete = _arg2;
_local3.gotoAndPlay(2);
} else {
throw (new Error((("[InventoryView] : <removeItem> : Item '" + _arg1.name) + "' not found.")));
};
} else {
throw (new Error("[InventoryView] : <removeItem> : Can't highlight item."));
};
}
public function addEmptyItem(_arg1:Item):void{
var _local2:uint;
var _local3:ItemIcon;
if (_arg1){
if (!_names[_arg1.name]){
_local2 = _slots.length;
_local3 = new ItemIcon();
_local3.addEventListener("gfxComplete", onGFXComplete);
_local3.name = ("itemIcon_" + _local2);
_local3.source = _arg1.name;
_local3.title = _arg1.title;
_local3.item = _arg1;
_local3.x = HORIZONTAL_OFFSET;
_local3.y = (VERTICAL_OFFSET + (_local2 * (SLOT_HEIGHT + VERTICAL_GAP)));
iconsCont.addChild(_local3);
_names[_arg1.name] = {index:_local2, icon:_local3};
_slots.push(_arg1.name);
_rewind = true;
} else {
throw (new Error((("[InventoryView] : <addEmptyItem> : Can't add same item ('" + _arg1.name) + "').")));
};
} else {
throw (new Error("[InventoryView] : <addEmptyItem> : Can't add non-existing item"));
};
}
public function getIcon(_arg1:Item):DisplayObject{
if (_arg1){
if (_names[_arg1.name]){
return ((iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon).getIcon());
};
throw (new Error((("[InventoryView] : <getIcon> : Item '" + _arg1.name) + "' not found.")));
//unresolved jump
};
throw (new Error("[InventoryView] : <getIcon> : Can't get non-existing icon"));
}
public function setIcon(_arg1:Item, _arg2:DisplayObject):void{
var _local3:ItemIcon;
if (_arg1){
if (_names[_arg1.name]){
_local3 = (iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon);
if (_arg2){
scaleImage(_arg2);
_arg2.x = (SLOT_WIDTH / 2);
_arg2.y = (SLOT_HEIGHT / 2);
_local3.setIcon(_arg2);
} else {
throw (new Error((("[InventoryView] : <setIcon> : Item's '" + _local3.name) + "' image isn't exists.")));
};
} else {
throw (new Error((("[InventoryView] : <setIcon> : Item '" + _local3.name) + "' not found.")));
};
} else {
throw (new Error("[InventoryView] : <setIcon> : Can't set non-existing icon"));
};
}
public function cutIcon(_arg1:Item):DisplayObject{
var _local2:ItemIcon;
var _local3:DisplayObject;
if (_arg1){
if (_names[_arg1.name]){
_local2 = (iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon);
_local3 = _local2.getIcon();
_local3.x = (_local3.x + ((x + iconsCont.x) + _local2.x));
_local3.y = (_local3.y + ((y + iconsCont.y) + _local2.y));
_local3.name = _local2.source;
return (_local3);
};
throw (new Error((("[InventoryView] : <cutIcon> : Item '" + _arg1.name) + "' not found.")));
//unresolved jump
};
throw (new Error("[InventoryView] : <cutIcon> : Can't cut non-existing item."));
}
public function getIconPosition(_arg1:Item):Object{
var _local2:ItemIcon;
if (_arg1){
if (_names[_arg1.name]){
_local2 = (iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon);
return ({x:(((x + iconsCont.x) + _local2.x) + (71 / 2)), y:(((y + iconsCont.y) + _local2.y) + (72 / 2))});
};
throw (new Error((("[InventoryView] : <getIconPosition> : Item '" + _arg1.name) + "' not found.")));
//unresolved jump
};
throw (new Error("[InventoryView] : <getIconPosition> : Can't get position of non-existing item."));
}
public function reset():void{
while (iconsCont.numChildren) {
iconsCont.removeChildAt(0);
};
_slots = new Array();
_names = new Object();
}
private function onGFXComplete(_arg1:Event):void{
var _local2:ItemIcon = (_arg1.target as ItemIcon);
if (_local2){
if (_local2.onGFXComplete != null){
_local2.onGFXComplete(_local2.item);
};
} else {
throw (new Error("[InventoryViwe] : <onGFXComplete> : Internal error."));
};
}
public static function get instance():InventoryView{
return (_instance);
}
public static function scaleImage(_arg1:DisplayObject):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
if (_arg1.width >= _arg1.height){
_local2 = (ICON_WIDTH / _arg1.width);
_local3 = ICON_WIDTH;
_local4 = (_arg1.height * _local2);
} else {
_local2 = (ICON_HEIGHT / _arg1.height);
_local4 = ICON_HEIGHT;
_local3 = (_arg1.width * _local2);
};
_arg1.width = _local3;
_arg1.height = _local4;
}
}
}//package aq.pcge.game
Section 35
//Item (aq.pcge.game.Item)
package aq.pcge.game {
public class Item {
private var _exists:Boolean;
public var name:String;
public var icon;
public var title:String;
public var description:String;
public function Item(_arg1:String, _arg2=null, _arg3:String=null, _arg4:String=null){
name = _arg1;
icon = _arg2;
title = _arg3;
description = _arg4;
_exists = true;
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
name = undefined;
icon = undefined;
title = undefined;
description = undefined;
_exists = undefined;
}
}
}//package aq.pcge.game
Section 36
//Movement (aq.pcge.game.Movement)
package aq.pcge.game {
import flash.display.*;
import com.greensock.*;
import fl.transitions.easing.*;
public class Movement {
public static function appearAt(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null):void{
var _local6:Number;
var _local7:Number;
if (_arg1){
_arg1.x = _arg2;
_arg1.y = _arg3;
_local6 = (_arg1.scaleX / Math.abs(_arg1.scaleX));
_local7 = (_arg1.scaleY / Math.abs(_arg1.scaleY));
_arg1.scaleX = (_arg4 * _local6);
_arg1.scaleY = (_arg4 * _local7);
if (_arg5 != null){
_arg5();
};
} else {
throw (new Error("[Displacement] : <appearAt> : Object not exists."));
};
}
public static function motionTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=64):TweenLite{
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
if (_arg1){
_local7 = Math.sqrt((Math.pow((_arg2 - _arg1.x), 2) + Math.pow((_arg3 - _arg1.y), 2)));
_local8 = (_local7 / Math.abs(_arg6));
_local9 = (_arg1.scaleX / Math.abs(_arg1.scaleX));
_local10 = (_arg1.scaleY / Math.abs(_arg1.scaleY));
return (TweenLite.to(_arg1, _local8, {x:_arg2, y:_arg3, scaleX:(_arg4 * _local9), scaleY:(_arg4 * _local10), onComplete:_arg5, ease:None.easeNone}));
};
throw (new Error("[Displacement] : <motionTo> : Object not exists."));
}
public static function onTimeTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=0):TweenLite{
var _local7:Number;
var _local8:Number;
var _local9:Number;
if (_arg1){
_local7 = Math.sqrt((Math.pow((_arg2 - _arg1.x), 2) + Math.pow((_arg3 - _arg1.y), 2)));
_local8 = (_arg1.scaleX / Math.abs(_arg1.scaleX));
_local9 = (_arg1.scaleY / Math.abs(_arg1.scaleY));
return (TweenLite.to(_arg1, _arg6, {x:_arg2, y:_arg3, scaleX:(_arg4 * _local8), scaleY:(_arg4 * _local9), onComplete:_arg5, ease:None.easeNone}));
};
throw (new Error("[Displacement] : <onTimeTo> : Object not exists."));
}
public static function vCurveTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Function=null, _arg8:Number=64):void{
var length:Number;
var time:Number;
var sX:Number;
var sY:Number;
var dY:Number;
var mY:Number;
var $object = _arg1;
var $x = _arg2;
var $y = _arg3;
var $h = _arg4;
var $scale = _arg5;
var $rotat = _arg6;
var $callback = _arg7;
var $speed = _arg8;
if ($object){
length = Math.sqrt((Math.pow(($x - $object.x), 2) + Math.pow(($y - $object.y), 2)));
time = (length / Math.abs($speed));
sX = ($object.scaleX / Math.abs($object.scaleX));
sY = ($object.scaleY / Math.abs($object.scaleY));
dY = Math.abs(($object.y - $y));
mY = (Math.min($object.y, $y) + dY);
TweenLite.to($object, (time / 2), {y:(mY + $h), onComplete:function ():void{
TweenLite.to($object, (time / 2), {y:$y, ease:Strong.easeIn, overwrite:0});
}, ease:Strong.easeOut});
TweenLite.to($object, time, {x:$x, scaleX:($scale * sX), scaleY:($scale * sY), rotation:$rotat, onComplete:$callback, ease:None.easeNone, overwrite:0});
} else {
throw (new Error("[Displacement] : <vCurveTo> : Object not exists."));
};
}
public static function hCurveTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Function=null, _arg8:Number=64):void{
var length:Number;
var time:Number;
var sX:Number;
var sY:Number;
var dX:Number;
var mX:Number;
var $object = _arg1;
var $x = _arg2;
var $y = _arg3;
var $w = _arg4;
var $scale = _arg5;
var $rotat = _arg6;
var $callback = _arg7;
var $speed = _arg8;
if ($object){
length = Math.sqrt((Math.pow(($x - $object.x), 2) + Math.pow(($y - $object.y), 2)));
time = (length / Math.abs($speed));
sX = ($object.scaleX / Math.abs($object.scaleX));
sY = ($object.scaleY / Math.abs($object.scaleY));
dX = Math.abs(($object.x - $x));
mX = (Math.min($object.x, $x) + dX);
TweenLite.to($object, (time / 2), {x:(mX + $w), onComplete:function ():void{
TweenLite.to($object, (time / 2), {x:$x, ease:Strong.easeIn, overwrite:0});
}, ease:Strong.easeOut});
TweenLite.to($object, time, {x:$x, scaleX:($scale * sX), scaleY:($scale * sY), rotation:$rotat, onComplete:$callback, ease:None.easeNone, overwrite:0});
} else {
throw (new Error("[Displacement] : <hCurveTo> : Object not exists."));
};
}
public static function motionVia(_arg1:DisplayObject, _arg2:Array, _arg3:Function=null, _arg4:Number=64):TimelineLite{
var _local5:TimelineLite;
var _local6:Number;
var _local7:Number;
var _local8:uint;
var _local9:uint;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
if (_arg1){
_local5 = new TimelineLite();
_local6 = (_arg1.scaleX / Math.abs(_arg1.scaleX));
_local7 = (_arg1.scaleY / Math.abs(_arg1.scaleY));
_local8 = _arg2.length;
_local9 = 0;
while (_local9 < _local8) {
_local10 = _arg2[_local9].x;
_local11 = _arg2[_local9].y;
_local12 = (_arg2[_local9].scale) ? _arg2[_local9].scale : 1;
_local13 = (_arg2[_local9].speed) ? _arg2[_local9].speed : _arg4;
_local14 = Math.sqrt((Math.pow((_local10 - _arg1.x), 2) + Math.pow((_local11 - _arg1.y), 2)));
_local15 = (_local14 / Math.abs(_local13));
if (_local9 < (_local8 - 1)){
_local5.append(new TweenLite(_arg1, _local15, {x:_local10, y:_local11, scaleX:(_local12 * _local6), scaleY:(_local12 * _local7), ease:None.easeNone}));
} else {
_local5.append(new TweenLite(_arg1, _local15, {x:_local10, y:_local11, scaleX:(_local12 * _local6), scaleY:(_local12 * _local7), onComplete:_arg3, ease:None.easeNone}));
};
_local9++;
};
_local5.play();
return (_local5);
//unresolved jump
};
throw (new Error("[Displacement] : <motionVia> : Object not exists."));
}
}
}//package aq.pcge.game
Section 37
//Cursor (aq.pcge.gui.Cursor)
package aq.pcge.gui {
import flash.display.*;
import flash.events.*;
import flash.ui.*;
public class Cursor extends MovieClip {
private static var _instance:Cursor;
public function Cursor(){
addFrameScript(0, frame1, 1, frame2);
if (!_instance){
_instance = this;
mouseChildren = false;
mouseEnabled = false;
show();
} else {
throw (new Error("[Cursor] : <Cursor> : Only one instance of this class is allowed."));
};
}
public function show():void{
work();
Mouse.hide();
visible = true;
}
public function hide():void{
halt();
visible = false;
Mouse.show();
}
public function up():void{
gotoAndStop("up");
}
public function down():void{
gotoAndStop("down");
}
private function update(_arg1:Event=null):void{
x = root.mouseX;
y = root.mouseY;
}
private function work():void{
if (!stage.hasEventListener(MouseEvent.MOUSE_DOWN)){
stage.addEventListener(MouseEvent.MOUSE_DOWN, goDown);
};
if (!stage.hasEventListener(MouseEvent.MOUSE_UP)){
stage.addEventListener(MouseEvent.MOUSE_UP, goUp);
};
if (!hasEventListener(Event.ENTER_FRAME)){
addEventListener(Event.ENTER_FRAME, update);
};
if (!stage.hasEventListener(Event.MOUSE_LEAVE)){
stage.addEventListener(Event.MOUSE_LEAVE, onLeave);
};
if (!stage.hasEventListener(MouseEvent.MOUSE_MOVE)){
stage.addEventListener(MouseEvent.MOUSE_MOVE, onEnter);
};
}
private function halt():void{
if (stage.hasEventListener(MouseEvent.MOUSE_DOWN)){
stage.removeEventListener(MouseEvent.MOUSE_DOWN, goDown);
};
if (stage.hasEventListener(MouseEvent.MOUSE_UP)){
stage.removeEventListener(MouseEvent.MOUSE_UP, goUp);
};
if (hasEventListener(Event.ENTER_FRAME)){
removeEventListener(Event.ENTER_FRAME, update);
};
if (stage.hasEventListener(Event.MOUSE_LEAVE)){
stage.removeEventListener(Event.MOUSE_LEAVE, onLeave);
};
if (stage.hasEventListener(MouseEvent.MOUSE_MOVE)){
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onEnter);
};
}
private function goDown(_arg1:MouseEvent):void{
down();
}
private function goUp(_arg1:MouseEvent):void{
up();
}
private function onLeave(_arg1:Event):void{
visible = false;
}
private function onEnter(_arg1:MouseEvent):void{
visible = true;
}
function frame1(){
stop();
}
function frame2(){
stop();
}
public static function get instance():Cursor{
return (_instance);
}
}
}//package aq.pcge.gui
Section 38
//MusicPlayer (aq.pcge.media.MusicPlayer)
package aq.pcge.media {
import flash.media.*;
import flash.events.*;
public class MusicPlayer {
private var _sound:Sound;
private var _soundChannel:SoundChannel;
private var _mute:Boolean;// = false
private var _pan:Number;// = 0
private var _volume:Number;// = 0.5
private var _state:String;// = "none"
private static var _instance:MusicPlayer;
public function MusicPlayer(){
if (!_instance){
_instance = this;
} else {
throw (new Error("[MusicPlayer] : <MusicPlayer> : Only one instance of this class is allowed."));
};
}
public function get mute():Boolean{
return (_mute);
}
public function set mute(_arg1:Boolean):void{
_mute = _arg1;
if (_soundChannel != null){
setSoundTransform();
};
}
public function get pan():Number{
return (_pan);
}
public function set pan(_arg1:Number):void{
if (_arg1 < -1){
_arg1 = -1;
};
if (_arg1 > 1){
_arg1 = 1;
};
_pan = _arg1;
if (_soundChannel != null){
setSoundTransform();
};
}
public function get volume():Number{
return (_volume);
}
public function set volume(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
};
if (_arg1 > 1){
_arg1 = 1;
};
_volume = _arg1;
if (_soundChannel != null){
setSoundTransform();
};
}
public function get state():String{
return (_state);
}
public function get isPlaying():Boolean{
if (_state == "playing"){
return (true);
};
return (false);
}
public function get isMuted():Boolean{
return (_mute);
}
public function musicON():void{
_mute = false;
if (_soundChannel != null){
setSoundTransform();
};
}
public function musicOFF():void{
_mute = true;
if (_soundChannel != null){
setSoundTransform();
};
}
public function playMusic(_arg1:Sound):void{
if (_soundChannel != null){
_soundChannel.stop();
};
_sound = _arg1;
_soundChannel = _sound.play();
setSoundTransform();
_soundChannel.addEventListener(Event.SOUND_COMPLETE, restart);
_state = "playing";
}
public function stopMusic():void{
if (_soundChannel != null){
_soundChannel.stop();
if (_soundChannel.hasEventListener(Event.SOUND_COMPLETE) == true){
_soundChannel.removeEventListener(Event.SOUND_COMPLETE, restart);
};
};
_state = "stopped";
}
private function restart(_arg1:Event):void{
_soundChannel = _sound.play();
setSoundTransform();
_soundChannel.addEventListener(Event.SOUND_COMPLETE, restart);
_state = "playing";
}
private function setSoundTransform():void{
if (_soundChannel != null){
_soundChannel.soundTransform = new SoundTransform((int(!(_mute)) * _volume), _pan);
};
}
public static function get instance():MusicPlayer{
return (_instance);
}
}
}//package aq.pcge.media
Section 39
//Menu (aq.pcge.menu.Menu)
package aq.pcge.menu {
import aq.pcge.common.*;
public class Menu extends Screen {
public var windowsManager:MenuWindowsManager;
private static var _instance:Menu;
public function Menu(){
if (!_instance){
_instance = this;
} else {
throw (new Error("[Menu] : <Menu> : Only one instance of this class is allowed."));
};
}
override public function hide():void{
returnToMenu();
super.hide();
}
public function returnToMenu():void{
if (windowsManager.activeWindow){
windowsManager.closeActiveWindow();
};
}
public static function get instance():Menu{
return (_instance);
}
}
}//package aq.pcge.menu
Section 40
//MenuWindowsManager (aq.pcge.menu.MenuWindowsManager)
package aq.pcge.menu {
import aq.pcge.common.*;
public class MenuWindowsManager extends WindowsManager {
private static var _instance:MenuWindowsManager;
public function MenuWindowsManager(){
if (!_instance){
_instance = this;
} else {
throw (new Error("[MenuWindowsManager] : <MenuWindowsManager> : Only one instance of this class is allowed."));
};
}
public static function get instance():MenuWindowsManager{
return (_instance);
}
}
}//package aq.pcge.menu
Section 41
//Console (aq.pcge.system.Console)
package aq.pcge.system {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import aq.pcge.common.*;
import aq.pcge.*;
import flash.text.*;
public class Console extends Sprite {
public var hScrollBar:HScrollBar;
public var vScrollBar:VScrollBar;
public var display:Sprite;
public var command_tf:TextField;
public var closeButton:Sprite;
private var _cont_mc:Sprite;
private var _mask_mc:Sprite;
private var _history_tf:TextField;
private static var _instance:Console;
public function Console(){
_instance = this;
_cont_mc = (display.getChildByName("cont_mc") as Sprite);
_mask_mc = (display.getChildByName("mask_mc") as Sprite);
_history_tf = (_cont_mc.getChildByName("history_tf") as TextField);
hScrollBar.attach(_cont_mc, _mask_mc);
vScrollBar.attach(_cont_mc, _mask_mc);
closeButton.addEventListener(MouseEvent.CLICK, onCloseButtonClick);
visible = false;
if (GameApplication.gameMode == "debug"){
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyboardKeyDown);
};
}
public function show():void{
visible = true;
}
public function hide():void{
visible = false;
}
public function clearHistory():void{
_history_tf.text = "";
}
public function clearCommand():void{
command_tf.text = "";
}
public function clearAll():void{
_history_tf.text = "";
command_tf.text = "";
}
public function addHistory(_arg1:String):void{
_history_tf.appendText((("> " + _arg1) + "\n"));
}
public function addMessage(_arg1:String):void{
_history_tf.appendText((_arg1 + "\n"));
}
public function getCommand():String{
return (command_tf.text);
}
public function executeCommand(_arg1:String):void{
var _local2:Array = _arg1.split(" ", 2);
var _local3:String = _local2[0];
var _local4:String = _local2[1];
switch (_local3){
case "menu":
gotoMenu();
addHistory(((_local3 + " : ") + _local4));
break;
case "game":
gotoGame();
addHistory(((_local3 + " : ") + _local4));
break;
case "loadEpisode":
loadEpisode(uint(_local4));
addHistory(((_local3 + " : ") + _local4));
break;
case "unloadEpisode":
unloadEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "reloadEpisode":
reloadEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "prevEpisode":
prevEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "nextEpisode":
nextEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "startEpisode":
startEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "finishEpisode":
finishEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "playEpisode":
playEpisode(uint(_local4));
addHistory(((_local3 + " : ") + _local4));
break;
case "replayEpisode":
replayEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "winEpisode":
winEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "loseEpisode":
loseEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "enableEpisode":
enableEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "disableEpisode":
disableEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "help":
addHistory(((_local3 + " : ") + _local4));
addMessage("Commands list:");
addMessage(" menu ()");
addMessage(" game ()");
addMessage(" loadEpisode (arg1)");
addMessage(" arg1 - имя эпизода");
addMessage(" unloadEpisode ()");
addMessage(" reloadEpisode ()");
addMessage(" prevEpisode ()");
addMessage(" nextEpisode ()");
addMessage(" startEpisode ()");
addMessage(" finishEpisode ()");
addMessage(" playEpisode ()");
addMessage(" replayEpisode ()");
addMessage(" winEpisode ()");
addMessage(" loseEpisode ()");
addMessage(" enableEpisode ()");
addMessage(" disableEpisode ()");
addMessage(" help ()");
addMessage(" clear ()");
addMessage(" quit ()");
addMessage(" exit ()");
break;
case "exit":
addHistory(((_local3 + " : ") + _local4));
visible = false;
break;
case "quit":
addHistory(((_local3 + " : ") + _local4));
visible = false;
break;
case "clear":
clearHistory();
break;
default:
if (_local3 != ""){
addHistory((("Unknown command '" + _local3) + "'."));
};
};
}
private function onCloseButtonClick(_arg1:MouseEvent):void{
hide();
}
private function onKeyboardKeyDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 67){
if (!visible){
show();
} else {
if (stage.focus != command_tf){
hide();
};
};
};
if (_arg1.keyCode == 13){
if (stage.focus == command_tf){
executeCommand(command_tf.text);
};
};
}
public static function get instance():Console{
return (_instance);
}
public static function gotoMenu():void{
GameApplication.instance.gotoMenu();
}
public static function gotoGame():void{
GameApplication.instance.gotoGame();
}
public static function registerEpisode(_arg1:Class, _arg2:uint):void{
if (Game.instance){
Game.instance.registerEpisode(_arg1, _arg2);
} else {
throw (new Error("[Console] : <registerEpisode> : Game instance isn't exists."));
};
}
public static function unregisterEpisode(_arg1:uint):void{
if (Game.instance){
Game.instance.unregisterEpisode(_arg1);
} else {
throw (new Error("[Console] : <unregisterEpisode> : Game instance isn't exists."));
};
}
public static function getCurrentEpisode():IEpisode{
if (Game.instance){
return (Game.instance.getCurrentEpisode());
};
throw (new Error("[Console] : <getCurrentEpisode> : Game instance isn't exists."));
}
public static function getCurrentEpisodeIndex():int{
if (Game.instance){
return (Game.instance.getCurrentEpisodeIndex());
};
throw (new Error("[Console] : <getCurrentEpisodeIndex> : Game instance isn't exists."));
}
public static function loadEpisode(_arg1:uint):void{
if (Game.instance){
Game.instance.loadEpisode(_arg1);
} else {
throw (new Error("[Console] : <loadEpisode> : Game instance isn't exists."));
};
}
public static function unloadEpisode():void{
if (Game.instance){
Game.instance.unloadEpisode();
} else {
throw (new Error("[Console] : <unloadEpisode> : Game instance isn't exists."));
};
}
public static function reloadEpisode():void{
if (Game.instance){
Game.instance.reloadEpisode();
} else {
throw (new Error("[Console] : <reloadEpisode> : Game instance isn't exists."));
};
}
public static function prevEpisode():void{
if (Game.instance){
Game.instance.prevEpisode();
} else {
throw (new Error("[Console] : <prevEpisode> : Game instance isn't exists."));
};
}
public static function nextEpisode():void{
if (Game.instance){
Game.instance.nextEpisode();
} else {
throw (new Error("[Console] : <nextEpisode> : Game instance isn't exists."));
};
}
public static function startEpisode():void{
if (Game.instance){
Game.instance.startEpisode();
} else {
throw (new Error("[Console] : <startEpisode> : Game instance isn't exists."));
};
}
public static function finishEpisode():void{
if (Game.instance){
Game.instance.finishEpisode();
} else {
throw (new Error("[Console] : <finishEpisode> : Game instance isn't exists."));
};
}
public static function playEpisode(_arg1:uint):void{
if (Game.instance){
Game.instance.loadEpisode(_arg1);
} else {
throw (new Error("[Console] : <playEpisode> : Game instance isn't exists."));
};
}
public static function replayEpisode():void{
if (Game.instance){
Game.instance.reloadEpisode();
} else {
throw (new Error("[Console] : <replayEpisode> : Game instance isn't exists."));
};
}
public static function winEpisode():void{
if (Game.instance){
Game.instance.getCurrentEpisode().win();
} else {
throw (new Error("[Console] : <winEpisode> : Game instance isn't exists."));
};
}
public static function loseEpisode():void{
if (Game.instance){
Game.instance.getCurrentEpisode().lose();
} else {
throw (new Error("[Console] : <loseEpisode> : Game instance isn't exists."));
};
}
public static function enableEpisode():void{
if (Game.instance){
Game.instance.getCurrentEpisode().action = true;
} else {
throw (new Error("[Console] : <enableEpisode> : Game instance isn't exists."));
};
}
public static function disableEpisode():void{
if (Game.instance){
Game.instance.getCurrentEpisode().action = false;
} else {
throw (new Error("[Console] : <disableEpisode> : Game instance isn't exists."));
};
}
public static function isPrevEpisode():Boolean{
if (Game.instance){
return (Game.instance.isPrevEpisode());
};
throw (new Error("[Console] : <isPrevEpisode> : Game instance isn't exists."));
}
public static function isNextEpisode():Boolean{
if (Game.instance){
return (Game.instance.isNextEpisode());
};
throw (new Error("[Console] : <isNextEpisode> : Game instance isn't exists."));
}
}
}//package aq.pcge.system
Section 42
//GameApplication (aq.pcge.GameApplication)
package aq.pcge {
import flash.display.*;
import aq.pcge.media.*;
import flash.events.*;
import aq.pcge.system.*;
import aq.pcge.common.*;
import flash.utils.*;
import flash.system.*;
public class GameApplication extends MovieClip {
public var allowRun:Boolean;
public var gameURL:String;
public var hostName:String;
public var no_http:String;
public var no_file:String;
private var _ready:Boolean;
public var preloader:MovieClip;
public var content:MovieClip;
public var console:Console;
public var message:MovieClip;
private var _menu:Screen;
private var _game:Screen;
private var _music:MusicPlayer;
public static const SCREEN_WIDTH:uint = 800;
public static const SCREEN_HEIGHT:uint = 480;
private static var _instance:GameApplication;
public static var gameMode:String = "normal";
public static var siteLock:Boolean = false;
public static var linksOut:Boolean = true;
public static var logoLink:String = "http://www.abroy.com";
public static var moreLink:String;
public static var helpLink:String;
public static var hostName:String = "abroy.com";
public static var gameName:String = "evolution";
public static var platform:String = "pc";
public static var link01:String;
public static var link02:String;
public static var link03:String;
public static var link04:String;
public static var link05:String;
public static var link06:String;
public static var link07:String;
public static var link08:String;
public static var link09:String;
public static var link10:String;
public static var link11:String;
public static var link12:String;
public function GameApplication(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
if (!_instance){
_instance = this;
} else {
throw (new Error("[GameApplication] : <GameApplication> : Only one instance of this class is allowed."));
};
}
public function showProgress(_arg1:ProgressEvent):void{
if (_arg1.bytesTotal <= 0){
return;
};
var _local2:Number = Math.floor(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100));
if (preloader){
preloader.preloadBar.gotoAndStop(_local2);
};
trace((((((_arg1.bytesLoaded + "/") + _arg1.bytesTotal) + " (") + _local2) + "%)"));
if (_arg1.bytesLoaded == _arg1.bytesTotal){
removeEventListener(ProgressEvent.PROGRESS, showProgress);
trace("[%] LOADING COMPLETE");
preloader.gotoAndPlay(2);
};
}
public function init():void{
var _local1:Class;
var _local2:Class;
if (!_ready){
_local1 = (getDefinitionByName("aq.pcge.menu.Menu") as Class);
_local2 = (getDefinitionByName("aq.pcge.game.Game") as Class);
_menu = new (_local1);
_game = new (_local2);
_music = new MusicPlayer();
_ready = true;
};
}
public function ready():Boolean{
return (_ready);
}
public function gotoMenu():void{
if (_ready){
if (content.numChildren){
if (content.getChildAt(0) != _menu){
_game.hide();
content.removeChildAt(0);
};
};
_music.mute = true;
_menu.show();
content.addChildAt(_menu, 0);
};
}
public function gotoGame():void{
if (_ready){
if (content.numChildren){
if (content.getChildAt(0) != _game){
_menu.hide();
content.removeChildAt(0);
};
};
_music.mute = false;
_game.show();
content.addChildAt(_game, 0);
};
}
function frame1(){
trace("+------------------------------------------------+");
trace("| LOADING |");
trace("+------------------------------------------------+");
stop();
Security.allowDomain("http://cdn3.cpmstar.com");
GameApplication.moreLink = "http://www.abroy.com/";
GameApplication.platform = "pc";
GameApplication.siteLock = false;
GameApplication.gameMode = "normal";
GameApplication.helpLink = "http://www.abroy.com/play/adventure-games/world-of-steampunk-walkthrough/";
GameApplication.link01 = "http://www.abroy.com/play/adventure-games/escape-from-roswell/";
GameApplication.link02 = "http://www.abroy.com/play/adventure-games/rudolf-the-rabbit/";
GameApplication.link03 = "http://www.abroy.com/play/adventure-games/saint-devil/";
GameApplication.link04 = "http://www.abroy.com/play/adventure-games/zombie-flood/";
allowRun = true;
if (GameApplication.siteLock){
if (((!(GameApplication.hostName)) || (!(GameApplication.hostName.length)))){
throw (new Error("[GameApplication] : <GameApplication> : Critical Error (Wrong host name)."));
};
allowRun = false;
gameURL = loaderInfo.url;
if (gameURL.indexOf("http://") != -1){
no_http = gameURL.split("http://")[1];
hostName = no_http.split("/")[0];
} else {
no_file = gameURL.split("file:///")[1];
hostName = "localhost";
};
if (hostName.indexOf("www.") != -1){
hostName = hostName.split("www.")[1];
};
if (((hostName) && (hostName.length))){
if (hostName == GameApplication.hostName){
allowRun = true;
};
};
};
if (allowRun){
if ((((loaderInfo.bytesTotal > 0)) && ((loaderInfo.bytesLoaded == loaderInfo.bytesTotal)))){
trace((((loaderInfo.bytesLoaded + "/") + loaderInfo.bytesTotal) + " (100%)"));
trace("[%] LOADING COMPLETE");
preloader.gotoAndPlay(2);
} else {
loaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
};
} else {
if (preloader){
preloader.gotoAndStop(1);
};
visible = false;
};
}
function frame2(){
trace("+------------------------------------------------+");
trace("| EXPORTING CLASSES |");
trace("+------------------------------------------------+");
nextFrame();
}
function frame3(){
trace("+------------------------------------------------+");
trace("| ABROY PRESENTS |");
trace("+------------------------------------------------+");
stop();
}
function frame4(){
trace("+------------------------------------------------+");
trace("| RUNNING |");
trace("+------------------------------------------------+");
stop();
}
public static function get instance():GameApplication{
return (_instance);
}
}
}//package aq.pcge
Section 43
//PropTween (com.greensock.core.PropTween)
package com.greensock.core {
public final class PropTween {
public var priority:int;
public var start:Number;
public var prevNode:PropTween;
public var change:Number;
public var target:Object;
public var name:String;
public var property:String;
public var nextNode:PropTween;
public var isPlugin:Boolean;
public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){
this.target = _arg1;
this.property = _arg2;
this.start = _arg3;
this.change = _arg4;
this.name = _arg5;
this.isPlugin = _arg6;
if (_arg7){
_arg7.prevNode = this;
this.nextNode = _arg7;
};
this.priority = _arg8;
}
}
}//package com.greensock.core
Section 44
//SimpleTimeline (com.greensock.core.SimpleTimeline)
package com.greensock.core {
public class SimpleTimeline extends TweenCore {
public var autoRemoveChildren:Boolean;
protected var _lastChild:TweenCore;
protected var _firstChild:TweenCore;
public function SimpleTimeline(_arg1:Object=null){
super(0, _arg1);
}
public function get rawTime():Number{
return (this.cachedTotalTime);
}
public function insert(_arg1:TweenCore, _arg2=0):TweenCore{
var _local3:SimpleTimeline = _arg1.timeline;
if (((!(_arg1.cachedOrphan)) && (_local3))){
_local3.remove(_arg1, true);
};
_arg1.timeline = this;
_arg1.cachedStartTime = (Number(_arg2) + _arg1.delay);
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
if (((_arg1.cachedPaused) && (!((_local3 == this))))){
_arg1.cachedPauseTime = (_arg1.cachedStartTime + ((this.rawTime - _arg1.cachedStartTime) / _arg1.cachedTimeScale));
};
if (_lastChild){
_lastChild.nextNode = _arg1;
} else {
_firstChild = _arg1;
};
_arg1.prevNode = _lastChild;
_lastChild = _arg1;
_arg1.nextNode = null;
_arg1.cachedOrphan = false;
return (_arg1);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local5:Number;
var _local6:TweenCore;
var _local4:TweenCore = _firstChild;
this.cachedTotalTime = _arg1;
this.cachedTime = _arg1;
while (_local4) {
_local6 = _local4.nextNode;
if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){
if (!_local4.cachedReversed){
_local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration;
_local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false);
};
};
_local4 = _local6;
};
}
public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (_arg1.cachedOrphan){
return;
};
if (!_arg2){
_arg1.setEnabled(false, true);
};
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
} else {
if (_lastChild == _arg1){
_lastChild = _arg1.prevNode;
};
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_firstChild == _arg1){
_firstChild = _arg1.nextNode;
};
};
_arg1.cachedOrphan = true;
}
}
}//package com.greensock.core
Section 45
//TweenCore (com.greensock.core.TweenCore)
package com.greensock.core {
import com.greensock.*;
public class TweenCore {
public var initted:Boolean;
protected var _hasUpdate:Boolean;
public var active:Boolean;
protected var _delay:Number;
public var cachedReversed:Boolean;
public var nextNode:TweenCore;
public var cachedTime:Number;
protected var _rawPrevTime:Number;// = -1
public var vars:Object;
public var cachedTotalTime:Number;
public var data;
public var timeline:SimpleTimeline;
public var cachedOrphan:Boolean;
public var cachedStartTime:Number;
public var prevNode:TweenCore;
public var cachedDuration:Number;
public var gc:Boolean;
public var cachedPauseTime:Number;
public var cacheIsDirty:Boolean;
public var cachedPaused:Boolean;
public var cachedTimeScale:Number;
public var cachedTotalDuration:Number;
public static const version:Number = 1.693;
protected static var _classInitted:Boolean;
public function TweenCore(_arg1:Number=0, _arg2:Object=null){
this.vars = ((_arg2)!=null) ? _arg2 : {};
if (this.vars.isGSVars){
this.vars = this.vars.vars;
};
this.cachedDuration = (this.cachedTotalDuration = _arg1);
_delay = (this.vars.delay) ? Number(this.vars.delay) : 0;
this.cachedTimeScale = (this.vars.timeScale) ? Number(this.vars.timeScale) : 1;
this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false)))));
this.cachedTotalTime = (this.cachedTime = 0);
this.data = this.vars.data;
if (!_classInitted){
if (isNaN(TweenLite.rootFrame)){
TweenLite.initClass();
_classInitted = true;
} else {
return;
};
};
var _local3:SimpleTimeline = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline;
_local3.insert(this, _local3.cachedTotalTime);
if (this.vars.reversed){
this.cachedReversed = true;
};
if (this.vars.paused){
this.paused = true;
};
}
public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
}
public function get delay():Number{
return (_delay);
}
public function get duration():Number{
return (this.cachedDuration);
}
public function set reversed(_arg1:Boolean):void{
if (_arg1 != this.cachedReversed){
this.cachedReversed = _arg1;
setTotalTime(this.cachedTotalTime, true);
};
}
public function set startTime(_arg1:Number):void{
if (((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc))))){
this.timeline.insert(this, (_arg1 - _delay));
} else {
this.cachedStartTime = _arg1;
};
}
public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.reversed = false;
this.paused = false;
this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2);
}
public function set delay(_arg1:Number):void{
this.startTime = (this.startTime + (_arg1 - _delay));
_delay = _arg1;
}
public function resume():void{
this.paused = false;
}
public function get paused():Boolean{
return (this.cachedPaused);
}
public function play():void{
this.reversed = false;
this.paused = false;
}
public function set duration(_arg1:Number):void{
var _local2:Number = (_arg1 / this.cachedDuration);
this.cachedDuration = (this.cachedTotalDuration = _arg1);
setDirtyCache(true);
if (((((this.active) && (!(this.cachedPaused)))) && (!((_arg1 == 0))))){
this.setTotalTime((this.cachedTotalTime * _local2), true);
};
}
public function invalidate():void{
}
public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
if (!_arg1){
renderTime(this.totalDuration, _arg2, false);
return;
};
if (this.timeline.autoRemoveChildren){
this.setEnabled(false, false);
} else {
this.active = false;
};
if (!_arg2){
if (((((this.vars.onComplete) && ((this.cachedTotalTime >= this.cachedTotalDuration)))) && (!(this.cachedReversed)))){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
} else {
if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (this.vars.onReverseComplete))){
this.vars.onReverseComplete.apply(null, this.vars.onReverseCompleteParams);
};
};
};
}
public function get totalTime():Number{
return (this.cachedTotalTime);
}
public function get startTime():Number{
return (this.cachedStartTime);
}
public function get reversed():Boolean{
return (this.cachedReversed);
}
public function set currentTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
protected function setDirtyCache(_arg1:Boolean=true):void{
var _local2:TweenCore = (_arg1) ? this : this.timeline;
while (_local2) {
_local2.cacheIsDirty = true;
_local2 = _local2.timeline;
};
}
public function reverse(_arg1:Boolean=true):void{
this.reversed = true;
if (_arg1){
this.paused = false;
} else {
if (this.gc){
this.setEnabled(true, false);
};
};
}
public function set paused(_arg1:Boolean):void{
if (((!((_arg1 == this.cachedPaused))) && (this.timeline))){
if (_arg1){
this.cachedPauseTime = this.timeline.rawTime;
} else {
this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - this.cachedPauseTime));
this.cachedPauseTime = NaN;
setDirtyCache(false);
};
this.cachedPaused = _arg1;
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
};
if (((!(_arg1)) && (this.gc))){
this.setEnabled(true, false);
};
}
public function kill():void{
setEnabled(false, false);
}
public function set totalTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
public function get currentTime():Number{
return (this.cachedTime);
}
protected function setTotalTime(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
var _local4:Number;
if (this.timeline){
_local3 = (this.cachedPaused) ? this.cachedPauseTime : this.timeline.cachedTotalTime;
if (this.cachedReversed){
_local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
this.cachedStartTime = (_local3 - ((_local4 - _arg1) / this.cachedTimeScale));
} else {
this.cachedStartTime = (_local3 - (_arg1 / this.cachedTimeScale));
};
if (!this.timeline.cacheIsDirty){
setDirtyCache(false);
};
if (this.cachedTotalTime != _arg1){
renderTime(_arg1, _arg2, false);
};
};
}
public function pause():void{
this.paused = true;
}
public function set totalDuration(_arg1:Number):void{
this.duration = _arg1;
}
public function get totalDuration():Number{
return (this.cachedTotalDuration);
}
public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
this.gc = !(_arg1);
if (_arg1){
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
if (((!(_arg2)) && (this.cachedOrphan))){
this.timeline.insert(this, (this.cachedStartTime - _delay));
};
} else {
this.active = false;
if (((!(_arg2)) && (!(this.cachedOrphan)))){
this.timeline.remove(this, true);
};
};
return (false);
}
}
}//package com.greensock.core
Section 46
//Circ (com.greensock.easing.Circ)
package com.greensock.easing {
public class Circ {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 * 0.5));
if (_arg1 < 1){
return ((((-(_arg3) * 0.5) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 * 0.5) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2));
}
}
}//package com.greensock.easing
Section 47
//OverwriteManager (com.greensock.OverwriteManager)
package com.greensock {
import com.greensock.core.*;
public final class OverwriteManager {
public static const ALL_ONSTART:int = 4;
public static const CONCURRENT:int = 3;
public static const ALL_IMMEDIATE:int = 1;
public static const PREEXISTING:int = 5;
public static const AUTO:int = 2;
public static const version:Number = 6.1;
public static const NONE:int = 0;
public static var enabled:Boolean;
public static var mode:int;
public static function getGlobalPaused(_arg1:TweenCore):Boolean{
var _local2:Boolean;
while (_arg1) {
if (_arg1.cachedPaused){
_local2 = true;
break;
};
_arg1 = _arg1.timeline;
};
return (_local2);
}
public static function init(_arg1:int=2):int{
if (TweenLite.version < 11.6){
throw (new Error("Warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com."));
};
TweenLite.overwriteManager = OverwriteManager;
mode = _arg1;
enabled = true;
return (mode);
}
public static function manageOverwrites(_arg1:TweenLite, _arg2:Object, _arg3:Array, _arg4:int):Boolean{
var _local5:int;
var _local6:Boolean;
var _local7:TweenLite;
var _local13:int;
var _local14:Number;
var _local15:Number;
var _local16:TweenCore;
var _local17:Number;
var _local18:SimpleTimeline;
if (_arg4 >= 4){
_local13 = _arg3.length;
_local5 = 0;
while (_local5 < _local13) {
_local7 = _arg3[_local5];
if (_local7 != _arg1){
if (_local7.setEnabled(false, false)){
_local6 = true;
};
} else {
if (_arg4 == 5){
break;
};
};
_local5++;
};
return (_local6);
};
var _local8:Number = (_arg1.cachedStartTime + 1E-10);
var _local9:Array = [];
var _local10:Array = [];
var _local11:int;
var _local12:int;
_local5 = _arg3.length;
while (--_local5 > -1) {
_local7 = _arg3[_local5];
if ((((((_local7 == _arg1)) || (_local7.gc))) || (((!(_local7.initted)) && (((_local8 - _local7.cachedStartTime) <= 2E-10)))))){
} else {
if (_local7.timeline != _arg1.timeline){
if (!getGlobalPaused(_local7)){
var _temp1 = _local11;
_local11 = (_local11 + 1);
var _local19 = _temp1;
_local10[_local19] = _local7;
};
} else {
if ((((((((_local7.cachedStartTime <= _local8)) && ((((_local7.cachedStartTime + _local7.totalDuration) + 1E-10) > _local8)))) && (!(_local7.cachedPaused)))) && (!((((_arg1.cachedDuration == 0)) && (((_local8 - _local7.cachedStartTime) <= 2E-10))))))){
var _temp2 = _local12;
_local12 = (_local12 + 1);
_local19 = _temp2;
_local9[_local19] = _local7;
};
};
};
};
if (_local11 != 0){
_local14 = _arg1.cachedTimeScale;
_local15 = _local8;
_local18 = _arg1.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.cachedStartTime);
_local18 = _local18.timeline;
};
_local8 = (_local14 * _local15);
_local5 = _local11;
while (--_local5 > -1) {
_local16 = _local10[_local5];
_local14 = _local16.cachedTimeScale;
_local15 = _local16.cachedStartTime;
_local18 = _local16.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.cachedStartTime);
_local18 = _local18.timeline;
};
_local17 = (_local14 * _local15);
if ((((_local17 <= _local8)) && ((((((_local17 + (_local16.totalDuration * _local14)) + 1E-10) > _local8)) || ((_local16.cachedDuration == 0)))))){
var _temp3 = _local12;
_local12 = (_local12 + 1);
_local19 = _temp3;
_local9[_local19] = _local16;
};
};
};
if (_local12 == 0){
return (_local6);
};
_local5 = _local12;
if (_arg4 == 2){
while (--_local5 > -1) {
_local7 = _local9[_local5];
if (_local7.killVars(_arg2)){
_local6 = true;
};
if ((((_local7.cachedPT1 == null)) && (_local7.initted))){
_local7.setEnabled(false, false);
};
};
} else {
while (--_local5 > -1) {
if (TweenLite(_local9[_local5]).setEnabled(false, false)){
_local6 = true;
};
};
};
return (_local6);
}
}
}//package com.greensock
Section 48
//TimelineLite (com.greensock.TimelineLite)
package com.greensock {
import com.greensock.core.*;
public class TimelineLite extends SimpleTimeline {
protected var _endCaps:Array;
protected var _labels:Object;
public static const version:Number = 1.698;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(2);
;
public function TimelineLite(_arg1:Object=null){
super(_arg1);
_endCaps = [null, null];
_labels = {};
this.autoRemoveChildren = Boolean((this.vars.autoRemoveChildren == true));
_hasUpdate = Boolean((typeof(this.vars.onUpdate) == "function"));
if ((this.vars.tweens is Array)){
this.insertMultiple(this.vars.tweens, 0, ((this.vars.align)!=null) ? this.vars.align : "normal", (this.vars.stagger) ? Number(this.vars.stagger) : 0);
};
}
public function set timeScale(_arg1:Number):void{
if (_arg1 == 0){
_arg1 = 0.0001;
};
var _local2:Number = (((this.cachedPauseTime) || ((this.cachedPauseTime == 0)))) ? this.cachedPauseTime : this.timeline.cachedTotalTime;
this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1));
this.cachedTimeScale = _arg1;
setDirtyCache(false);
}
public function stop():void{
this.paused = true;
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local8:TweenCore;
var _local9:Boolean;
var _local10:Boolean;
var _local11:TweenCore;
var _local12:Number;
if (this.gc){
this.setEnabled(true, false);
} else {
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
};
var _local4:Number = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
var _local5:Number = this.cachedTime;
var _local6:Number = this.cachedStartTime;
var _local7:Number = this.cachedTimeScale;
var _local13:Boolean = this.cachedPaused;
if (_arg1 >= _local4){
if (((((!((_local5 == _local4))) || ((this.cachedDuration == 0)))) && (!((_rawPrevTime == _arg1))))){
this.cachedTotalTime = (this.cachedTime = _local4);
forceChildrenToEnd(_local4, _arg2);
_local9 = ((!(this.hasPausedChild())) && (!(this.cachedReversed)));
_local10 = true;
if ((((((this.cachedDuration == 0)) && (_local9))) && ((((_arg1 == 0)) || ((_rawPrevTime < 0)))))){
_arg3 = true;
};
};
} else {
if (_arg1 <= 0){
if (_arg1 < 0){
this.active = false;
if ((((this.cachedDuration == 0)) && ((_rawPrevTime > 0)))){
_arg3 = true;
_local9 = true;
};
} else {
if ((((_arg1 == 0)) && (!(this.initted)))){
_arg3 = true;
};
};
if (((!((_local5 == 0))) && (!((_rawPrevTime == _arg1))))){
this.cachedTotalTime = 0;
this.cachedTime = 0;
forceChildrenToBeginning(0, _arg2);
_local10 = true;
if (this.cachedReversed){
_local9 = true;
};
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
};
};
_rawPrevTime = _arg1;
if ((((this.cachedTime == _local5)) && (!(_arg3)))){
return;
};
if (!this.initted){
this.initted = true;
};
if ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (_local10){
} else {
if ((this.cachedTime - _local5) > 0){
_local8 = _firstChild;
while (_local8) {
_local11 = _local8.nextNode;
if (((this.cachedPaused) && (!(_local13)))){
break;
} else {
if (((_local8.active) || (((((!(_local8.cachedPaused)) && ((_local8.cachedStartTime <= this.cachedTime)))) && (!(_local8.gc)))))){
if (!_local8.cachedReversed){
_local8.renderTime(((this.cachedTime - _local8.cachedStartTime) * _local8.cachedTimeScale), _arg2, false);
} else {
_local12 = (_local8.cacheIsDirty) ? _local8.totalDuration : _local8.cachedTotalDuration;
_local8.renderTime((_local12 - ((this.cachedTime - _local8.cachedStartTime) * _local8.cachedTimeScale)), _arg2, false);
};
};
};
_local8 = _local11;
};
} else {
_local8 = _lastChild;
while (_local8) {
_local11 = _local8.prevNode;
if (((this.cachedPaused) && (!(_local13)))){
break;
} else {
if (((_local8.active) || (((((!(_local8.cachedPaused)) && ((_local8.cachedStartTime <= _local5)))) && (!(_local8.gc)))))){
if (!_local8.cachedReversed){
_local8.renderTime(((this.cachedTime - _local8.cachedStartTime) * _local8.cachedTimeScale), _arg2, false);
} else {
_local12 = (_local8.cacheIsDirty) ? _local8.totalDuration : _local8.cachedTotalDuration;
_local8.renderTime((_local12 - ((this.cachedTime - _local8.cachedStartTime) * _local8.cachedTimeScale)), _arg2, false);
};
};
};
_local8 = _local11;
};
};
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((((_local9) && ((((_local6 == this.cachedStartTime)) || (!((_local7 == this.cachedTimeScale))))))) && ((((_local4 >= this.totalDuration)) || ((this.cachedTime == 0)))))){
complete(true, _arg2);
};
}
override public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (_arg1.cachedOrphan){
return;
};
if (!_arg2){
_arg1.setEnabled(false, true);
};
var _local3:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
var _local4:TweenCore = (this.gc) ? _endCaps[1] : _lastChild;
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
} else {
if (_local4 == _arg1){
_local4 = _arg1.prevNode;
};
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_local3 == _arg1){
_local3 = _arg1.nextNode;
};
};
if (this.gc){
_endCaps[0] = _local3;
_endCaps[1] = _local4;
} else {
_firstChild = _local3;
_lastChild = _local4;
};
_arg1.cachedOrphan = true;
setDirtyCache(true);
}
public function get currentProgress():Number{
return ((this.cachedTime / this.duration));
}
override public function get totalDuration():Number{
var _local1:Number;
var _local2:Number;
var _local3:TweenCore;
var _local4:Number;
var _local5:TweenCore;
if (this.cacheIsDirty){
_local1 = 0;
_local3 = (this.gc) ? _endCaps[0] : _firstChild;
_local4 = -(Infinity);
while (_local3) {
_local5 = _local3.nextNode;
if (_local3.cachedStartTime < _local4){
this.insert(_local3, (_local3.cachedStartTime - _local3.delay));
} else {
_local4 = _local3.cachedStartTime;
};
if (_local3.cachedStartTime < 0){
_local1 = (_local1 - _local3.cachedStartTime);
this.shiftChildren(-(_local3.cachedStartTime), false, -9999999999);
};
_local2 = (_local3.cachedStartTime + (_local3.totalDuration / _local3.cachedTimeScale));
if (_local2 > _local1){
_local1 = _local2;
};
_local3 = _local5;
};
this.cachedDuration = (this.cachedTotalDuration = _local1);
this.cacheIsDirty = false;
};
return (this.cachedTotalDuration);
}
public function gotoAndPlay(_arg1, _arg2:Boolean=true):void{
setTotalTime(parseTimeOrLabel(_arg1), _arg2);
play();
}
public function appendMultiple(_arg1:Array, _arg2:Number=0, _arg3:String="normal", _arg4:Number=0):Array{
return (insertMultiple(_arg1, (this.duration + _arg2), _arg3, _arg4));
}
public function set currentProgress(_arg1:Number):void{
setTotalTime((this.duration * _arg1), false);
}
public function clear(_arg1:Array=null):void{
if (_arg1 == null){
_arg1 = getChildren(false, true, true);
};
var _local2:int = _arg1.length;
while (--_local2 > -1) {
TweenCore(_arg1[_local2]).setEnabled(false, false);
};
}
public function prepend(_arg1:TweenCore, _arg2:Boolean=false):TweenCore{
shiftChildren(((_arg1.totalDuration / _arg1.cachedTimeScale) + _arg1.delay), _arg2, 0);
return (insert(_arg1, 0));
}
public function removeLabel(_arg1:String):Number{
var _local2:Number = _labels[_arg1];
delete _labels[_arg1];
return (_local2);
}
protected function parseTimeOrLabel(_arg1):Number{
if (typeof(_arg1) == "string"){
if (!(_arg1 in _labels)){
throw (new Error((("TimelineLite error: the " + _arg1) + " label was not found.")));
};
return (getLabelTime(String(_arg1)));
};
return (Number(_arg1));
}
public function addLabel(_arg1:String, _arg2:Number):void{
_labels[_arg1] = _arg2;
}
public function hasPausedChild():Boolean{
var _local1:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
while (_local1) {
if (((_local1.cachedPaused) || ((((_local1 is TimelineLite)) && ((_local1 as TimelineLite).hasPausedChild()))))){
return (true);
};
_local1 = _local1.nextNode;
};
return (false);
}
public function getTweensOf(_arg1:Object, _arg2:Boolean=true):Array{
var _local5:int;
var _local3:Array = getChildren(_arg2, true, false);
var _local4:Array = [];
var _local6:int = _local3.length;
var _local7:int;
_local5 = 0;
while (_local5 < _local6) {
if (TweenLite(_local3[_local5]).target == _arg1){
var _temp1 = _local7;
_local7 = (_local7 + 1);
var _local8 = _temp1;
_local4[_local8] = _local3[_local5];
};
_local5 = (_local5 + 1);
};
return (_local4);
}
public function gotoAndStop(_arg1, _arg2:Boolean=true):void{
setTotalTime(parseTimeOrLabel(_arg1), _arg2);
this.paused = true;
}
public function append(_arg1:TweenCore, _arg2:Number=0):TweenCore{
return (insert(_arg1, (this.duration + _arg2)));
}
override public function get duration():Number{
var _local1:Number;
if (this.cacheIsDirty){
_local1 = this.totalDuration;
};
return (this.cachedDuration);
}
public function get useFrames():Boolean{
var _local1:SimpleTimeline = this.timeline;
while (_local1.timeline) {
_local1 = _local1.timeline;
};
return (Boolean((_local1 == TweenLite.rootFramesTimeline)));
}
public function shiftChildren(_arg1:Number, _arg2:Boolean=false, _arg3:Number=0):void{
var _local5:String;
var _local4:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
while (_local4) {
if (_local4.cachedStartTime >= _arg3){
_local4.cachedStartTime = (_local4.cachedStartTime + _arg1);
};
_local4 = _local4.nextNode;
};
if (_arg2){
for (_local5 in _labels) {
if (_labels[_local5] >= _arg3){
_labels[_local5] = (_labels[_local5] + _arg1);
};
};
};
this.setDirtyCache(true);
}
public function goto(_arg1, _arg2:Boolean=true):void{
setTotalTime(parseTimeOrLabel(_arg1), _arg2);
}
public function killTweensOf(_arg1:Object, _arg2:Boolean=true, _arg3:Object=null):Boolean{
var _local6:TweenLite;
var _local4:Array = getTweensOf(_arg1, _arg2);
var _local5:int = _local4.length;
while (--_local5 > -1) {
_local6 = _local4[_local5];
if (_arg3 != null){
_local6.killVars(_arg3);
};
if ((((_arg3 == null)) || ((((_local6.cachedPT1 == null)) && (_local6.initted))))){
_local6.setEnabled(false, false);
};
};
return (Boolean((_local4.length > 0)));
}
override public function set duration(_arg1:Number):void{
if (((!((this.duration == 0))) && (!((_arg1 == 0))))){
this.timeScale = (this.duration / _arg1);
};
}
public function insertMultiple(_arg1:Array, _arg2=0, _arg3:String="normal", _arg4:Number=0):Array{
var _local5:int;
var _local6:TweenCore;
var _local7:Number = ((Number(_arg2)) || (0));
var _local8:int = _arg1.length;
if (typeof(_arg2) == "string"){
if (!(_arg2 in _labels)){
addLabel(_arg2, this.duration);
};
_local7 = _labels[_arg2];
};
_local5 = 0;
while (_local5 < _local8) {
_local6 = (_arg1[_local5] as TweenCore);
insert(_local6, _local7);
if (_arg3 == "sequence"){
_local7 = (_local6.cachedStartTime + (_local6.totalDuration / _local6.cachedTimeScale));
} else {
if (_arg3 == "start"){
_local6.cachedStartTime = (_local6.cachedStartTime - _local6.delay);
};
};
_local7 = (_local7 + _arg4);
_local5 = (_local5 + 1);
};
return (_arg1);
}
public function getLabelTime(_arg1:String):Number{
return (((_arg1 in _labels)) ? Number(_labels[_arg1]) : -1);
}
override public function get rawTime():Number{
if (((this.cachedPaused) || (((!((this.cachedTotalTime == 0))) && (!((this.cachedTotalTime == this.cachedTotalDuration))))))){
return (this.cachedTotalTime);
};
return (((this.timeline.rawTime - this.cachedStartTime) * this.cachedTimeScale));
}
override public function set totalDuration(_arg1:Number):void{
if (((!((this.totalDuration == 0))) && (!((_arg1 == 0))))){
this.timeScale = (this.totalDuration / _arg1);
};
}
public function getChildren(_arg1:Boolean=true, _arg2:Boolean=true, _arg3:Boolean=true, _arg4:Number=-9999999999):Array{
var _local5:Array = [];
var _local6:int;
var _local7:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
while (_local7) {
if (_local7.cachedStartTime < _arg4){
} else {
if ((_local7 is TweenLite)){
if (_arg2){
var _temp1 = _local6;
_local6 = (_local6 + 1);
var _local8 = _temp1;
_local5[_local8] = _local7;
};
} else {
if (_arg3){
var _temp2 = _local6;
_local6 = (_local6 + 1);
_local8 = _temp2;
_local5[_local8] = _local7;
};
if (_arg1){
_local5 = _local5.concat(TimelineLite(_local7).getChildren(true, _arg2, _arg3));
_local6 = _local5.length;
};
};
};
_local7 = _local7.nextNode;
};
return (_local5);
}
protected function forceChildrenToEnd(_arg1:Number, _arg2:Boolean=false):Number{
var _local4:TweenCore;
var _local5:Number;
var _local3:TweenCore = _firstChild;
var _local6:Boolean = this.cachedPaused;
while (_local3) {
_local4 = _local3.nextNode;
if (((this.cachedPaused) && (!(_local6)))){
break;
} else {
if (((_local3.active) || (((((!(_local3.cachedPaused)) && (!(_local3.gc)))) && (((!((_local3.cachedTotalTime == _local3.cachedTotalDuration))) || ((_local3.cachedDuration == 0)))))))){
if ((((_arg1 == this.cachedDuration)) && (((!((_local3.cachedDuration == 0))) || ((_local3.cachedStartTime == this.cachedDuration)))))){
_local3.renderTime((_local3.cachedReversed) ? 0 : _local3.cachedTotalDuration, _arg2, false);
} else {
if (!_local3.cachedReversed){
_local3.renderTime(((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local3.cacheIsDirty) ? _local3.totalDuration : _local3.cachedTotalDuration;
_local3.renderTime((_local5 - ((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale)), _arg2, false);
};
};
};
};
_local3 = _local4;
};
return (_arg1);
}
protected function forceChildrenToBeginning(_arg1:Number, _arg2:Boolean=false):Number{
var _local4:TweenCore;
var _local5:Number;
var _local3:TweenCore = _lastChild;
var _local6:Boolean = this.cachedPaused;
while (_local3) {
_local4 = _local3.prevNode;
if (((this.cachedPaused) && (!(_local6)))){
break;
} else {
if (((_local3.active) || (((((!(_local3.cachedPaused)) && (!(_local3.gc)))) && (((!((_local3.cachedTotalTime == 0))) || ((_local3.cachedDuration == 0)))))))){
if ((((_arg1 == 0)) && (((!((_local3.cachedDuration == 0))) || ((_local3.cachedStartTime == 0)))))){
_local3.renderTime((_local3.cachedReversed) ? _local3.cachedTotalDuration : 0, _arg2, false);
} else {
if (!_local3.cachedReversed){
_local3.renderTime(((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local3.cacheIsDirty) ? _local3.totalDuration : _local3.cachedTotalDuration;
_local3.renderTime((_local5 - ((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale)), _arg2, false);
};
};
};
};
_local3 = _local4;
};
return (_arg1);
}
override public function insert(_arg1:TweenCore, _arg2=0):TweenCore{
var _local6:TweenCore;
var _local7:Number;
var _local8:SimpleTimeline;
if (typeof(_arg2) == "string"){
if (!(_arg2 in _labels)){
addLabel(_arg2, this.duration);
};
_arg2 = Number(_labels[_arg2]);
};
var _local3:SimpleTimeline = _arg1.timeline;
if (((!(_arg1.cachedOrphan)) && (_local3))){
_local3.remove(_arg1, true);
};
_arg1.timeline = this;
_arg1.cachedStartTime = (Number(_arg2) + _arg1.delay);
if (((_arg1.cachedPaused) && (!((_local3 == this))))){
_arg1.cachedPauseTime = (_arg1.cachedStartTime + ((this.rawTime - _arg1.cachedStartTime) / _arg1.cachedTimeScale));
};
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
setDirtyCache(true);
var _local4:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
var _local5:TweenCore = (this.gc) ? _endCaps[1] : _lastChild;
if (_local5 == null){
_local5 = _arg1;
_local4 = _local5;
_arg1.nextNode = (_arg1.prevNode = null);
} else {
_local6 = _local5;
_local7 = _arg1.cachedStartTime;
while (((!((_local6 == null))) && ((_local7 < _local6.cachedStartTime)))) {
_local6 = _local6.prevNode;
};
if (_local6 == null){
_local4.prevNode = _arg1;
_arg1.nextNode = _local4;
_arg1.prevNode = null;
_local4 = _arg1;
} else {
if (_local6.nextNode){
_local6.nextNode.prevNode = _arg1;
} else {
if (_local6 == _local5){
_local5 = _arg1;
};
};
_arg1.prevNode = _local6;
_arg1.nextNode = _local6.nextNode;
_local6.nextNode = _arg1;
};
};
_arg1.cachedOrphan = false;
if (this.gc){
_endCaps[0] = _local4;
_endCaps[1] = _local5;
} else {
_firstChild = _local4;
_lastChild = _local5;
};
if (((((this.gc) && (!(this.cachedPaused)))) && (((this.cachedStartTime + ((_arg1.cachedStartTime + (_arg1.cachedTotalDuration / _arg1.cachedTimeScale)) / this.cachedTimeScale)) > this.timeline.cachedTime)))){
if ((((this.timeline == TweenLite.rootTimeline)) || ((this.timeline == TweenLite.rootFramesTimeline)))){
this.setTotalTime(this.cachedTotalTime, true);
};
this.setEnabled(true, false);
_local8 = this.timeline;
while (((_local8.gc) && (_local8.timeline))) {
if ((_local8.cachedStartTime + (_local8.totalDuration / _local8.cachedTimeScale)) > _local8.timeline.cachedTime){
_local8.setEnabled(true, false);
};
_local8 = _local8.timeline;
};
};
return (_arg1);
}
override public function invalidate():void{
var _local1:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
while (_local1) {
_local1.invalidate();
_local1 = _local1.nextNode;
};
}
public function get timeScale():Number{
return (this.cachedTimeScale);
}
public function prependMultiple(_arg1:Array, _arg2:String="normal", _arg3:Number=0, _arg4:Boolean=false):Array{
var _local5:TimelineLite = new TimelineLite({tweens:_arg1, align:_arg2, stagger:_arg3});
shiftChildren(_local5.duration, _arg4, 0);
insertMultiple(_arg1, 0, _arg2, _arg3);
_local5.kill();
return (_arg1);
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:TweenCore;
if (_arg1 == this.gc){
if (_arg1){
_local3 = _endCaps[0];
_firstChild = _local3;
_lastChild = _endCaps[1];
_endCaps = [null, null];
} else {
_local3 = _firstChild;
_endCaps = [_firstChild, _lastChild];
_firstChild = (_lastChild = null);
};
while (_local3) {
_local3.setEnabled(_arg1, true);
_local3 = _local3.nextNode;
};
};
return (super.setEnabled(_arg1, _arg2));
}
}
}//package com.greensock
Section 49
//TweenLite (com.greensock.TweenLite)
package com.greensock {
import flash.display.*;
import flash.events.*;
import com.greensock.core.*;
import flash.utils.*;
import com.greensock.plugins.*;
public class TweenLite extends TweenCore {
protected var _hasPlugins:Boolean;
public var propTweenLookup:Object;
public var cachedPT1:PropTween;
protected var _overwrite:int;
protected var _ease:Function;
public var target:Object;
public var ratio:Number;// = 0
protected var _overwrittenProps:Object;
protected var _notifyPluginsOfEnabled:Boolean;
public static const version:Number = 11.698;
public static var rootTimeline:SimpleTimeline;
public static var fastEaseLookup:Dictionary = new Dictionary(false);
public static var onPluginEvent:Function;
public static var rootFramesTimeline:SimpleTimeline;
public static var defaultEase:Function = TweenLite.easeOut;
public static var plugins:Object = {};
public static var masterList:Dictionary = new Dictionary(false);
public static var overwriteManager:Object;
public static var rootFrame:Number;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
private static var _shape:Shape = new Shape();
protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, onStart:1, onStartParams:1, onInit:1, onInitParams:1, onReverseComplete:1, onReverseCompleteParams:1, onRepeat:1, onRepeatParams:1, proxiedEase:1, easeParams:1, yoyo:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, onReverseCompleteListener:1, onRepeatListener:1, orientToBezier:1, timeScale:1, immediateRender:1, repeat:1, repeatDelay:1, timeline:1, data:1, paused:1, reversed:1};
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local5:TweenLite;
super(_arg2, _arg3);
if (_arg1 == null){
throw (new Error("Cannot tween a null object."));
};
this.target = _arg1;
if ((((this.target is TweenCore)) && (this.vars.timeScale))){
this.cachedTimeScale = 1;
};
propTweenLookup = {};
_ease = defaultEase;
_overwrite = (((!((Number(_arg3.overwrite) > -1))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
var _local4:Array = masterList[_arg1];
if (!_local4){
masterList[_arg1] = [this];
} else {
if (_overwrite == 1){
for each (_local5 in _local4) {
if (!_local5.gc){
_local5.setEnabled(false, false);
};
};
masterList[_arg1] = [this];
} else {
_local4[_local4.length] = this;
};
};
if (((this.active) || (this.vars.immediateRender))){
renderTime(0, false, true);
};
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Boolean;
var _local5:Number = this.cachedTime;
if (_arg1 >= this.cachedDuration){
this.cachedTotalTime = (this.cachedTime = this.cachedDuration);
this.ratio = 1;
_local4 = !(this.cachedReversed);
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime >= 0){
_arg3 = true;
_local4 = (_rawPrevTime > 0);
};
_rawPrevTime = _arg1;
};
};
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local4 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
this.ratio = _ease(_arg1, 0, 1, this.cachedDuration);
};
};
if ((((this.cachedTime == _local5)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
if (((!(_local4)) && (this.cachedTime))){
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if ((((((((_local5 == 0)) && (this.vars.onStart))) && (((!((this.cachedTime == 0))) || ((this.cachedDuration == 0)))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
var _local6:PropTween = this.cachedPT1;
while (_local6) {
_local6.target[_local6.property] = (_local6.start + (this.ratio * _local6.change));
_local6 = _local6.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((_local4) && (!(this.gc)))){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
};
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:Array;
if (_arg1){
_local3 = TweenLite.masterList[this.target];
if (!_local3){
TweenLite.masterList[this.target] = [this];
} else {
if (_local3.indexOf(this) == -1){
_local3[_local3.length] = this;
};
};
};
super.setEnabled(_arg1, _arg2);
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this));
};
return (false);
}
protected function init():void{
var _local1:String;
var _local2:int;
var _local3:*;
var _local4:Boolean;
var _local5:Array;
var _local6:PropTween;
if (this.vars.onInit){
this.vars.onInit.apply(null, this.vars.onInitParams);
};
if (typeof(this.vars.ease) == "function"){
_ease = this.vars.ease;
};
if (this.vars.easeParams){
this.vars.proxiedEase = _ease;
_ease = easeProxy;
};
this.cachedPT1 = null;
this.propTweenLookup = {};
for (_local1 in this.vars) {
if ((((_local1 in _reservedProps)) && (!((((_local1 == "timeScale")) && ((this.target is TweenCore))))))){
} else {
if ((((_local1 in plugins)) && (new ((plugins[_local1] as Class)).onInitTween(this.target, this.vars[_local1], this)))){
this.cachedPT1 = new PropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1);
if (this.cachedPT1.name == "_MULTIPLE_"){
_local2 = _local3.overwriteProps.length;
while (--_local2 > -1) {
this.propTweenLookup[_local3.overwriteProps[_local2]] = this.cachedPT1;
};
} else {
this.propTweenLookup[this.cachedPT1.name] = this.cachedPT1;
};
if (_local3.priority){
this.cachedPT1.priority = _local3.priority;
_local4 = true;
};
if (((_local3.onDisable) || (_local3.onEnable))){
_notifyPluginsOfEnabled = true;
};
_hasPlugins = true;
} else {
this.cachedPT1 = new PropTween(this.target, _local1, Number(this.target[_local1]), ((typeof(this.vars[_local1]))=="number") ? (Number(this.vars[_local1]) - this.target[_local1]) : Number(this.vars[_local1]), _local1, false, this.cachedPT1);
this.propTweenLookup[_local1] = this.cachedPT1;
};
};
};
if (_local4){
onPluginEvent("onInitAllProps", this);
};
if (this.vars.runBackwards){
_local6 = this.cachedPT1;
while (_local6) {
_local6.start = (_local6.start + _local6.change);
_local6.change = -(_local6.change);
_local6 = _local6.nextNode;
};
};
_hasUpdate = Boolean(!((this.vars.onUpdate == null)));
if (_overwrittenProps){
killVars(_overwrittenProps);
if (this.cachedPT1 == null){
this.setEnabled(false, false);
};
};
if ((((((((_overwrite > 1)) && (this.cachedPT1))) && (masterList[this.target]))) && ((_local5.length > 1)))){
if (overwriteManager.manageOverwrites(this, this.propTweenLookup, _local5, _overwrite)){
init();
};
};
this.initted = true;
}
public function killVars(_arg1:Object, _arg2:Boolean=true):Boolean{
var _local3:String;
var _local4:PropTween;
var _local5:Boolean;
if (_overwrittenProps == null){
_overwrittenProps = {};
};
for (_local3 in _arg1) {
if ((_local3 in propTweenLookup)){
_local4 = propTweenLookup[_local3];
if (((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))){
_local4.target.killProps(_arg1);
if (_local4.target.overwriteProps.length == 0){
_local4.name = "";
};
if (((!((_local3 == _local4.target.propName))) || ((_local4.name == "")))){
delete propTweenLookup[_local3];
};
};
if (_local4.name != "_MULTIPLE_"){
if (_local4.nextNode){
_local4.nextNode.prevNode = _local4.prevNode;
};
if (_local4.prevNode){
_local4.prevNode.nextNode = _local4.nextNode;
} else {
if (this.cachedPT1 == _local4){
this.cachedPT1 = _local4.nextNode;
};
};
if (((_local4.isPlugin) && (_local4.target.onDisable))){
_local4.target.onDisable();
if (_local4.target.activeDisable){
_local5 = true;
};
};
delete propTweenLookup[_local3];
};
};
if (((_arg2) && (!((_arg1 == _overwrittenProps))))){
_overwrittenProps[_local3] = 1;
};
};
return (_local5);
}
override public function invalidate():void{
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
onPluginEvent("onDisable", this);
};
this.cachedPT1 = null;
_overwrittenProps = null;
_hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false)));
this.propTweenLookup = {};
}
public static function initClass():void{
rootFrame = 0;
rootTimeline = new SimpleTimeline(null);
rootFramesTimeline = new SimpleTimeline(null);
rootTimeline.cachedStartTime = (getTimer() * 0.001);
rootFramesTimeline.cachedStartTime = rootFrame;
rootTimeline.autoRemoveChildren = true;
rootFramesTimeline.autoRemoveChildren = true;
_shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
}
public static function killTweensOf(_arg1:Object, _arg2:Boolean=false, _arg3:Object=null):void{
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
if ((_arg1 in masterList)){
_local4 = masterList[_arg1];
_local5 = _local4.length;
while (--_local5 > -1) {
_local6 = _local4[_local5];
if (!_local6.gc){
if (_arg2){
_local6.complete(false, false);
};
if (_arg3 != null){
_local6.killVars(_arg3);
};
if ((((_arg3 == null)) || ((((_local6.cachedPT1 == null)) && (_local6.initted))))){
_local6.setEnabled(false, false);
};
};
};
if (_arg3 == null){
delete masterList[_arg1];
};
};
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
if (_arg3.isGSVars){
_arg3 = _arg3.vars;
};
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenLite(_arg1, _arg2, _arg3));
}
protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (1 - (_arg1 / _arg4));
return ((1 - (_arg1 * _arg1)));
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
protected static function updateAll(_arg1:Event=null):void{
var _local2:Dictionary;
var _local3:Object;
var _local4:Array;
var _local5:int;
rootTimeline.renderTime((((getTimer() * 0.001) - rootTimeline.cachedStartTime) * rootTimeline.cachedTimeScale), false, false);
rootFrame = (rootFrame + 1);
rootFramesTimeline.renderTime(((rootFrame - rootFramesTimeline.cachedStartTime) * rootFramesTimeline.cachedTimeScale), false, false);
if (!(rootFrame % 60)){
_local2 = masterList;
for (_local3 in _local2) {
_local4 = _local2[_local3];
_local5 = _local4.length;
while (--_local5 > -1) {
if (TweenLite(_local4[_local5]).gc){
_local4.splice(_local5, 1);
};
};
if (_local4.length == 0){
delete _local2[_local3];
};
};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package com.greensock
Section 50
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class AdLoader extends Sprite {
private var cpmstarLoader:Loader;
private var contentspotid:String;
public function AdLoader(_arg1:String){
this.contentspotid = _arg1;
addEventListener(Event.ADDED, addedHandler);
}
private function addedHandler(_arg1:Event):void{
removeEventListener(Event.ADDED, addedHandler);
Security.allowDomain("server.cpmstar.com");
var _local2 = "http://server.cpmstar.com/adviewas3.swf";
var _local3:DisplayObjectContainer = parent;
cpmstarLoader = new Loader();
cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler);
cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler);
cpmstarLoader.load(new URLRequest(((_local2 + "?contentspotid=") + contentspotid)));
addChild(cpmstarLoader);
}
private function dispatchHandler(_arg1:Event):void{
dispatchEvent(_arg1);
}
}
}//package CPMStar
Section 51
//None (fl.transitions.easing.None)
package fl.transitions.easing {
public class None {
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package fl.transitions.easing
Section 52
//Strong (fl.transitions.easing.Strong)
package fl.transitions.easing {
public class Strong {
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
}
}//package fl.transitions.easing
Section 53
//AVFPSCounter_400 (PnC_Game4_fla.AVFPSCounter_400)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import aq.pcge.*;
public dynamic class AVFPSCounter_400 extends MovieClip {
public var fps_tf:TextField;
public var time:uint;
public var sum:Number;
public var num:uint;
public function AVFPSCounter_400(){
addFrameScript(0, frame1);
}
function frame1(){
time = getTimer();
sum = 0;
num = 0;
if (GameApplication.gameMode == "debug"){
addEventListener(Event.ENTER_FRAME, function (_arg1:Event):void{
var _local2:uint = getTimer();
var _local3:Number = (1000 / (_local2 - time));
sum = (sum + _local3);
num++;
fps_tf.text = String(Math.round((sum / num)));
time = _local2;
});
} else {
visible = false;
};
}
}
}//package PnC_Game4_fla
Section 54
//cont_385 (PnC_Game4_fla.cont_385)
package PnC_Game4_fla {
import flash.display.*;
import flash.text.*;
public dynamic class cont_385 extends MovieClip {
public var history_tf:TextField;
public function cont_385(){
addFrameScript(0, frame1);
}
function frame1(){
history_tf.autoSize = "left";
}
}
}//package PnC_Game4_fla
Section 55
//Content_381 (PnC_Game4_fla.Content_381)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
import aq.pcge.*;
import aq.pcge.media.*;
public dynamic class Content_381 extends MovieClip {
public var em:EpisodesManager;
public function Content_381(){
addFrameScript(0, frame1);
}
function frame1(){
GameApplication.instance.init();
em = EpisodesManager.instance;
em.registerEpisode(Episode_01, 0);
em.registerEpisode(Episode_02, 1);
em.registerEpisode(Episode_03, 2);
em.registerEpisode(Episode_04, 3);
em.registerEpisode(Episode_05, 4);
em.registerEpisode(Episode_06, 5);
em.registerEpisode(Episode_07, 6);
em.registerEpisode(Episode_08, 7);
em.load();
em.unlockEpisode(0);
MusicPlayer.instance.playMusic(new GameMusic());
GameApplication.instance.gotoMenu();
}
}
}//package PnC_Game4_fla
Section 56
//Degradadotrama_379 (PnC_Game4_fla.Degradadotrama_379)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class Degradadotrama_379 extends MovieClip {
public function Degradadotrama_379(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game4_fla
Section 57
//DustCloudGFX_17 (PnC_Game4_fla.DustCloudGFX_17)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
public dynamic class DustCloudGFX_17 extends MovieClip {
public function DustCloudGFX_17(){
addFrameScript(0, frame1, 14, frame15);
}
function frame1(){
stop();
}
function frame15(){
dispatchEvent(new Event("animComplete"));
}
}
}//package PnC_Game4_fla
Section 58
//Exporter_8 (PnC_Game4_fla.Exporter_8)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class Exporter_8 extends MovieClip {
public function Exporter_8(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game4_fla
Section 59
//FPSCounter_401 (PnC_Game4_fla.FPSCounter_401)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import aq.pcge.*;
public dynamic class FPSCounter_401 extends MovieClip {
public var fps_tf:TextField;
public var time:uint;
public function FPSCounter_401(){
addFrameScript(0, frame1);
}
function frame1(){
time = getTimer();
if (GameApplication.gameMode == "debug"){
addEventListener(Event.ENTER_FRAME, function (_arg1:Event):void{
var _local2:uint = getTimer();
fps_tf.text = String(Math.round((1000 / (_local2 - time))));
time = _local2;
});
} else {
visible = false;
};
}
}
}//package PnC_Game4_fla
Section 60
//girl_die_107 (PnC_Game4_fla.girl_die_107)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class girl_die_107 extends MovieClip {
public function girl_die_107(){
addFrameScript(23, frame24);
}
function frame24(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 61
//girl_head_die_111 (PnC_Game4_fla.girl_head_die_111)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class girl_head_die_111 extends MovieClip {
public function girl_head_die_111(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package PnC_Game4_fla
Section 62
//girl_l1_idlecopy_335 (PnC_Game4_fla.girl_l1_idlecopy_335)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class girl_l1_idlecopy_335 extends MovieClip {
public var body:MovieClip;
public var hand1:MovieClip;
public var hand2:MovieClip;
public var leg1:MovieClip;
public var leg2:MovieClip;
public function girl_l1_idlecopy_335(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game4_fla
Section 63
//girl_l2_use_truba_112 (PnC_Game4_fla.girl_l2_use_truba_112)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class girl_l2_use_truba_112 extends MovieClip {
public function girl_l2_use_truba_112(){
addFrameScript(12, frame13, 26, frame27);
}
function frame13(){
MovieClip(parent.parent).scorpion.anim.gotoAndStop(3);
}
function frame27(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 64
//girl_l4_down_124 (PnC_Game4_fla.girl_l4_down_124)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class girl_l4_down_124 extends MovieClip {
public function girl_l4_down_124(){
addFrameScript(40, frame41);
}
function frame41(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 65
//girl_l4_up_123 (PnC_Game4_fla.girl_l4_up_123)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class girl_l4_up_123 extends MovieClip {
public function girl_l4_up_123(){
addFrameScript(40, frame41);
}
function frame41(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 66
//girl_l4_use_bagor_121 (PnC_Game4_fla.girl_l4_use_bagor_121)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class girl_l4_use_bagor_121 extends MovieClip {
public function girl_l4_use_bagor_121(){
addFrameScript(42, frame43);
}
function frame43(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 67
//girl_l4_use_gun_117 (PnC_Game4_fla.girl_l4_use_gun_117)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class girl_l4_use_gun_117 extends MovieClip {
public function girl_l4_use_gun_117(){
addFrameScript(20, frame21, 40, frame41);
}
function frame21(){
MovieClip(parent.parent).soldier.gotoAndStop(3);
}
function frame41(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 68
//girl_l8_die_131 (PnC_Game4_fla.girl_l8_die_131)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class girl_l8_die_131 extends MovieClip {
public function girl_l8_die_131(){
addFrameScript(17, frame18);
}
function frame18(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 69
//girl_l8_use_bola_129 (PnC_Game4_fla.girl_l8_use_bola_129)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class girl_l8_use_bola_129 extends MovieClip {
public function girl_l8_use_bola_129(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 70
//girl_l8_use_rogatka_125 (PnC_Game4_fla.girl_l8_use_rogatka_125)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class girl_l8_use_rogatka_125 extends MovieClip {
public function girl_l8_use_rogatka_125(){
addFrameScript(26, frame27, 44, frame45);
}
function frame27(){
MovieClip(parent.parent).robot.gotoAndStop(3);
}
function frame45(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 71
//girl_rerfuse_106 (PnC_Game4_fla.girl_rerfuse_106)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class girl_rerfuse_106 extends MovieClip {
public function girl_rerfuse_106(){
addFrameScript(17, frame18);
}
function frame18(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 72
//girl_take_104 (PnC_Game4_fla.girl_take_104)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class girl_take_104 extends MovieClip {
public function girl_take_104(){
addFrameScript(6, frame7, 15, frame16);
}
function frame7(){
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_KEYFRAME, true));
}
function frame16(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 73
//girl_use_105 (PnC_Game4_fla.girl_use_105)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class girl_use_105 extends MovieClip {
public function girl_use_105(){
addFrameScript(15, frame16);
}
function frame16(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game4_fla
Section 74
//girl_walk_103 (PnC_Game4_fla.girl_walk_103)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class girl_walk_103 extends MovieClip {
public function girl_walk_103(){
addFrameScript(24, frame25);
}
function frame25(){
gotoAndPlay(6);
}
}
}//package PnC_Game4_fla
Section 75
//girl_walk_347 (PnC_Game4_fla.girl_walk_347)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class girl_walk_347 extends MovieClip {
public function girl_walk_347(){
addFrameScript(24, frame25);
}
function frame25(){
gotoAndPlay(6);
}
}
}//package PnC_Game4_fla
Section 76
//HelpButton_358 (PnC_Game4_fla.HelpButton_358)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class HelpButton_358 extends MovieClip {
public function HelpButton_358(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
if (((GameApplication.helpLink) && (!((GameApplication.helpLink == ""))))){
navigateToURL(new URLRequest(GameApplication.helpLink), "_blank");
};
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 77
//heroL1_334 (PnC_Game4_fla.heroL1_334)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class heroL1_334 extends MovieClip {
public var robot:MovieClip;
public var l1_body:MovieClip;
public function heroL1_334(){
addFrameScript(0, frame1, 92, frame93);
}
function frame1(){
stop();
}
function frame93(){
stop();
MovieClip(parent).win();
}
}
}//package PnC_Game4_fla
Section 78
//l1_lever_320 (PnC_Game4_fla.l1_lever_320)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l1_lever_320 extends MovieClip {
public function l1_lever_320(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game4_fla
Section 79
//l2_scorpion_all_293 (PnC_Game4_fla.l2_scorpion_all_293)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l2_scorpion_all_293 extends MovieClip {
public function l2_scorpion_all_293(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game4_fla
Section 80
//l2_scorpion_attack_313 (PnC_Game4_fla.l2_scorpion_attack_313)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l2_scorpion_attack_313 extends MovieClip {
public function l2_scorpion_attack_313(){
addFrameScript(6, frame7, 13, frame14);
}
function frame7(){
if (!MovieClip(parent.parent.parent).weaponOk){
MovieClip(parent.parent.parent).killUs();
};
}
function frame14(){
stop();
}
}
}//package PnC_Game4_fla
Section 81
//l2_scorpion_die_315 (PnC_Game4_fla.l2_scorpion_die_315)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l2_scorpion_die_315 extends MovieClip {
public function l2_scorpion_die_315(){
addFrameScript(18, frame19);
}
function frame19(){
stop();
}
}
}//package PnC_Game4_fla
Section 82
//l3_most_anim_269 (PnC_Game4_fla.l3_most_anim_269)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l3_most_anim_269 extends MovieClip {
public function l3_most_anim_269(){
addFrameScript(0, frame1, 48, frame49);
}
function frame1(){
stop();
}
function frame49(){
stop();
MovieClip(parent).goWin2();
}
}
}//package PnC_Game4_fla
Section 83
//l3_puzzle_all_276 (PnC_Game4_fla.l3_puzzle_all_276)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l3_puzzle_all_276 extends MovieClip {
public var p1:MovieClip;
public var p2:MovieClip;
public var p3:MovieClip;
public var r1:MovieClip;
public var p4:MovieClip;
public var r2:MovieClip;
public var p5:MovieClip;
public var r3:MovieClip;
public var r4:MovieClip;
public var r5:MovieClip;
public function l3_puzzle_all_276(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game4_fla
Section 84
//l3_puzzle_anim_275 (PnC_Game4_fla.l3_puzzle_anim_275)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l3_puzzle_anim_275 extends MovieClip {
public var puzzle:MovieClip;
public function l3_puzzle_anim_275(){
addFrameScript(0, frame1, 9, frame10, 19, frame20);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
function frame20(){
stop();
MovieClip(parent).bridge.gotoAndPlay(2);
}
}
}//package PnC_Game4_fla
Section 85
//l4_soldier_all_215 (PnC_Game4_fla.l4_soldier_all_215)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l4_soldier_all_215 extends MovieClip {
public function l4_soldier_all_215(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game4_fla
Section 86
//l4_soldier_all_246 (PnC_Game4_fla.l4_soldier_all_246)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l4_soldier_all_246 extends MovieClip {
public function l4_soldier_all_246(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game4_fla
Section 87
//l4_soldier_attack_223 (PnC_Game4_fla.l4_soldier_attack_223)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l4_soldier_attack_223 extends MovieClip {
public function l4_soldier_attack_223(){
addFrameScript(8, frame9, 17, frame18);
}
function frame9(){
MovieClip(parent.parent).killUs();
}
function frame18(){
stop();
}
}
}//package PnC_Game4_fla
Section 88
//l4_soldier_attack_254 (PnC_Game4_fla.l4_soldier_attack_254)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l4_soldier_attack_254 extends MovieClip {
public function l4_soldier_attack_254(){
addFrameScript(8, frame9, 17, frame18);
}
function frame9(){
MovieClip(parent.parent).killUs();
}
function frame18(){
stop();
}
}
}//package PnC_Game4_fla
Section 89
//l4_soldier_die_255 (PnC_Game4_fla.l4_soldier_die_255)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l4_soldier_die_255 extends MovieClip {
public function l4_soldier_die_255(){
addFrameScript(21, frame22);
}
function frame22(){
stop();
MovieClip(parent.parent).goWin2();
}
}
}//package PnC_Game4_fla
Section 90
//l4_step_244 (PnC_Game4_fla.l4_step_244)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l4_step_244 extends MovieClip {
public function l4_step_244(){
addFrameScript(0, frame1, 39, frame40);
}
function frame1(){
stop();
}
function frame40(){
stop();
}
}
}//package PnC_Game4_fla
Section 91
//l5_gate_197 (PnC_Game4_fla.l5_gate_197)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l5_gate_197 extends MovieClip {
public function l5_gate_197(){
addFrameScript(0, frame1, 14, frame15);
}
function frame1(){
stop();
}
function frame15(){
stop();
MovieClip(parent).goWin2();
}
}
}//package PnC_Game4_fla
Section 92
//l5_puzzle_anim_199 (PnC_Game4_fla.l5_puzzle_anim_199)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l5_puzzle_anim_199 extends MovieClip {
public var puzzle:MovieClip;
public function l5_puzzle_anim_199(){
addFrameScript(0, frame1, 9, frame10, 19, frame20);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
function frame20(){
stop();
MovieClip(parent).door.play();
}
}
}//package PnC_Game4_fla
Section 93
//l5_soldier_die_224 (PnC_Game4_fla.l5_soldier_die_224)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l5_soldier_die_224 extends MovieClip {
public function l5_soldier_die_224(){
addFrameScript(31, frame32);
}
function frame32(){
stop();
}
}
}//package PnC_Game4_fla
Section 94
//l6_box_162 (PnC_Game4_fla.l6_box_162)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l6_box_162 extends MovieClip {
public var lever:MovieClip;
public var gear:MovieClip;
public var tube:MovieClip;
public var firestoper:MovieClip;
public function l6_box_162(){
addFrameScript(0, frame1, 11, frame12);
}
function frame1(){
stop();
}
function frame12(){
stop();
}
}
}//package PnC_Game4_fla
Section 95
//l6_kran_klamp_181 (PnC_Game4_fla.l6_kran_klamp_181)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l6_kran_klamp_181 extends MovieClip {
public function l6_kran_klamp_181(){
addFrameScript(0, frame1, 6, frame7, 12, frame13);
}
function frame1(){
stop();
}
function frame7(){
stop();
MovieClip(parent.parent).checkTake();
}
function frame13(){
gotoAndStop(1);
}
}
}//package PnC_Game4_fla
Section 96
//l6_pult_anim_184 (PnC_Game4_fla.l6_pult_anim_184)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l6_pult_anim_184 extends MovieClip {
public var pult:MovieClip;
public function l6_pult_anim_184(){
addFrameScript(0, frame1, 7, frame8, 14, frame15);
}
function frame1(){
stop();
}
function frame8(){
stop();
}
function frame15(){
stop();
}
}
}//package PnC_Game4_fla
Section 97
//l6_spider_all_164 (PnC_Game4_fla.l6_spider_all_164)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l6_spider_all_164 extends MovieClip {
public function l6_spider_all_164(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game4_fla
Section 98
//l6_spider_attack_174 (PnC_Game4_fla.l6_spider_attack_174)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l6_spider_attack_174 extends MovieClip {
public function l6_spider_attack_174(){
addFrameScript(4, frame5, 11, frame12);
}
function frame5(){
MovieClip(parent.parent).killUs();
}
function frame12(){
stop();
}
}
}//package PnC_Game4_fla
Section 99
//l6_spider_die_176 (PnC_Game4_fla.l6_spider_die_176)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l6_spider_die_176 extends MovieClip {
public function l6_spider_die_176(){
addFrameScript(16, frame17);
}
function frame17(){
stop();
MovieClip(parent.parent).goWin2();
}
}
}//package PnC_Game4_fla
Section 100
//l7_lever_139 (PnC_Game4_fla.l7_lever_139)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l7_lever_139 extends MovieClip {
public function l7_lever_139(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game4_fla
Section 101
//l7_lift_146 (PnC_Game4_fla.l7_lift_146)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l7_lift_146 extends MovieClip {
public function l7_lift_146(){
addFrameScript(0, frame1, 22, frame23);
}
function frame1(){
stop();
}
function frame23(){
gotoAndPlay(3);
}
}
}//package PnC_Game4_fla
Section 102
//l7_pech_140 (PnC_Game4_fla.l7_pech_140)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l7_pech_140 extends MovieClip {
public function l7_pech_140(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game4_fla
Section 103
//l7_puzzle_138 (PnC_Game4_fla.l7_puzzle_138)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l7_puzzle_138 extends MovieClip {
public var gear3:MovieClip;
public var gear4:MovieClip;
public var gear1:MovieClip;
public var gear2:MovieClip;
public function l7_puzzle_138(){
addFrameScript(0, frame1, 40, frame41);
}
function frame1(){
stop();
}
function frame41(){
gotoAndPlay(3);
}
}
}//package PnC_Game4_fla
Section 104
//l8_hren_all_96 (PnC_Game4_fla.l8_hren_all_96)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l8_hren_all_96 extends MovieClip {
public function l8_hren_all_96(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game4_fla
Section 105
//l8_hren_full_99 (PnC_Game4_fla.l8_hren_full_99)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l8_hren_full_99 extends MovieClip {
public function l8_hren_full_99(){
addFrameScript(4, frame5, 57, frame58);
}
function frame5(){
MovieClip(parent.parent).robot.gotoAndStop(9);
}
function frame58(){
stop();
MovieClip(parent.parent).win();
}
}
}//package PnC_Game4_fla
Section 106
//l8_lever2_101 (PnC_Game4_fla.l8_lever2_101)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l8_lever2_101 extends MovieClip {
public function l8_lever2_101(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game4_fla
Section 107
//l8_robot_all_59 (PnC_Game4_fla.l8_robot_all_59)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l8_robot_all_59 extends MovieClip {
public function l8_robot_all_59(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame9(){
stop();
}
}
}//package PnC_Game4_fla
Section 108
//l8_robot_arm_die_87 (PnC_Game4_fla.l8_robot_arm_die_87)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l8_robot_arm_die_87 extends MovieClip {
public function l8_robot_arm_die_87(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
MovieClip(parent).gotoAndStop(4);
}
}
}//package PnC_Game4_fla
Section 109
//l8_robot_bola_90 (PnC_Game4_fla.l8_robot_bola_90)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class l8_robot_bola_90 extends MovieClip {
public function l8_robot_bola_90(){
addFrameScript(17, frame18);
}
function frame18(){
stop();
MovieClip(parent).gotoAndStop(7);
}
}
}//package PnC_Game4_fla
Section 110
//l8_robot_cick_89 (PnC_Game4_fla.l8_robot_cick_89)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l8_robot_cick_89 extends MovieClip {
public function l8_robot_cick_89(){
addFrameScript(10, frame11, 21, frame22);
}
function frame11(){
MovieClip(parent.parent).killUs8();
}
function frame22(){
stop();
}
}
}//package PnC_Game4_fla
Section 111
//l8_robot_die_shoot_94 (PnC_Game4_fla.l8_robot_die_shoot_94)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l8_robot_die_shoot_94 extends MovieClip {
public function l8_robot_die_shoot_94(){
addFrameScript(2, frame3, 11, frame12);
}
function frame3(){
MovieClip(parent.parent).killUs();
}
function frame12(){
stop();
}
}
}//package PnC_Game4_fla
Section 112
//l8_robot_shoot_85 (PnC_Game4_fla.l8_robot_shoot_85)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l8_robot_shoot_85 extends MovieClip {
public function l8_robot_shoot_85(){
addFrameScript(7, frame8, 84, frame85);
}
function frame8(){
MovieClip(parent.parent).killUs();
}
function frame85(){
stop();
}
}
}//package PnC_Game4_fla
Section 113
//Logo_33 (PnC_Game4_fla.Logo_33)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class Logo_33 extends MovieClip {
public function Logo_33(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
navigateToURL(new URLRequest("http://www.abroy.com"), "_blank");
} catch(error:Error) {
};
}
function frame1(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 114
//MEMCounter_399 (PnC_Game4_fla.MEMCounter_399)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import aq.pcge.*;
import flash.system.*;
public dynamic class MEMCounter_399 extends MovieClip {
public var mem_tf:TextField;
public var mb:uint;
public function MEMCounter_399(){
addFrameScript(0, frame1);
}
function frame1(){
mb = (0x0400 * 0x0400);
if (GameApplication.gameMode == "debug"){
addEventListener(Event.ENTER_FRAME, function (_arg1:Event):void{
mem_tf.text = String(Math.round((System.totalMemory / mb)));
});
} else {
visible = false;
};
}
}
}//package PnC_Game4_fla
Section 115
//Message_397 (PnC_Game4_fla.Message_397)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import aq.pcge.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Message_397 extends MovieClip {
public function Message_397(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
if (!parent["console"].visible){
parent["console"].show();
} else {
parent["console"].hide();
};
}
function frame1(){
stop();
if (GameApplication.gameMode == "debug"){
addEventListener(MouseEvent.CLICK, onClick);
} else {
visible = false;
};
}
}
}//package PnC_Game4_fla
Section 116
//MJLogo_369 (PnC_Game4_fla.MJLogo_369)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class MJLogo_369 extends MovieClip {
public function MJLogo_369(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
navigateToURL(new URLRequest("http://www.minijuegos.com"), "_blank");
} catch(error:Error) {
};
}
function frame1(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 117
//MoreGamesButton_366 (PnC_Game4_fla.MoreGamesButton_366)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class MoreGamesButton_366 extends MovieClip {
public function MoreGamesButton_366(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
if (((GameApplication.moreLink) && (GameApplication.moreLink.length))){
try {
navigateToURL(new URLRequest(GameApplication.moreLink), "_blank");
} catch(error:Error) {
};
};
}
function frame1(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 118
//MoreGamesButton_371 (PnC_Game4_fla.MoreGamesButton_371)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class MoreGamesButton_371 extends MovieClip {
public function MoreGamesButton_371(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
if (((GameApplication.moreLink) && (GameApplication.moreLink.length))){
try {
navigateToURL(new URLRequest(GameApplication.moreLink), "_blank");
} catch(error:Error) {
};
};
}
function frame1(){
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 119
//MuteButton_359 (PnC_Game4_fla.MuteButton_359)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
public dynamic class MuteButton_359 extends MovieClip {
public function MuteButton_359(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
if (currentFrame == 1){
setVolume(0);
nextFrame();
} else {
setVolume(1);
prevFrame();
};
}
public function setVolume(_arg1:Number):void{
SoundMixer.soundTransform = new SoundTransform(_arg1);
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
if (SoundMixer.soundTransform.volume == 0){
gotoAndStop(2);
};
}
}
}//package PnC_Game4_fla
Section 120
//Nuevo_final_4_MINIJUEGOS_anim_373 (PnC_Game4_fla.Nuevo_final_4_MINIJUEGOS_anim_373)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class Nuevo_final_4_MINIJUEGOS_anim_373 extends MovieClip {
public var maskedobject:MovieClip;
public var themask:MovieClip;
public function Nuevo_final_4_MINIJUEGOS_anim_373(){
addFrameScript(120, frame121, 202, frame203);
}
function frame121(){
maskedobject.mask = themask;
maskedobject.cacheAsBitmap = true;
themask.cacheAsBitmap = true;
}
function frame203(){
stop();
MovieClip(parent).nextFrame();
}
}
}//package PnC_Game4_fla
Section 121
//OptBackButton_10 (PnC_Game4_fla.OptBackButton_10)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class OptBackButton_10 extends MovieClip {
public function OptBackButton_10(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
if (parent){
var _local2 = parent;
_local2["close"]();
};
}
function frame1(){
buttonMode = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 122
//OptHelpButton_11 (PnC_Game4_fla.OptHelpButton_11)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class OptHelpButton_11 extends MovieClip {
public function OptHelpButton_11(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
if (((GameApplication.helpLink) && (!((GameApplication.helpLink == ""))))){
navigateToURL(new URLRequest(GameApplication.helpLink), "_blank");
};
}
function frame1(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 123
//OptionsButton_360 (PnC_Game4_fla.OptionsButton_360)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
public dynamic class OptionsButton_360 extends MovieClip {
public function OptionsButton_360(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
if (!GameWindowsManager.instance.activeWindow){
Game.instance.openOptionsWindow();
};
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 124
//OptMenuButton_12 (PnC_Game4_fla.OptMenuButton_12)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import aq.pcge.*;
public dynamic class OptMenuButton_12 extends MovieClip {
public function OptMenuButton_12(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
Game.instance.unloadEpisode();
Game.instance.returnToGame();
GameApplication.instance.gotoMenu();
}
function frame1(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 125
//OptMuteButton_14 (PnC_Game4_fla.OptMuteButton_14)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
public dynamic class OptMuteButton_14 extends MovieClip {
public function OptMuteButton_14(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
if (currentFrame == 1){
setVolume(0);
nextFrame();
} else {
setVolume(1);
prevFrame();
};
}
public function setVolume(_arg1:Number):void{
SoundMixer.soundTransform = new SoundTransform(_arg1);
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
if (SoundMixer.soundTransform.volume == 0){
gotoAndStop(2);
};
}
}
}//package PnC_Game4_fla
Section 126
//PlayButton_19 (PnC_Game4_fla.PlayButton_19)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
public dynamic class PlayButton_19 extends MovieClip {
public function PlayButton_19(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
Game.instance.returnToGame();
Game.instance.loadEpisode(0);
}
function frame1(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 127
//PlayButton_370 (PnC_Game4_fla.PlayButton_370)
package PnC_Game4_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import aq.pcge.*;
public dynamic class PlayButton_370 extends MovieClip {
public function PlayButton_370(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
Game.instance.openHelloWindow();
GameApplication.instance.gotoGame();
}
function frame1(){
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game4_fla
Section 128
//PlayButton_5 (PnC_Game4_fla.PlayButton_5)
package PnC_Game4_fla {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class PlayButton_5 extends MovieClip {
public function PlayButton_5(){
addFrameScript(0, frame1, 9, frame10);
}
public function onClick(_arg1:MouseEvent):void{
var _local2 = root;
_local2["gotoAndPlay"](2);
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
function frame10(){
stop();
}
}
}//package PnC_Game4_fla
Section 129
//PlayButtonBg_4 (PnC_Game4_fla.PlayButtonBg_4)
package PnC_Game4_fla {
import flash.display.*;
public dynamic class PlayButtonBg_4 extends MovieClip {
public function PlayButtonBg_4(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package PnC_Game4_fla
Section 130
//POSMonitor_398 (PnC_Game4_fla.POSMonitor_398)
package PnC_Game4_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import aq.pcge.*;
public dynamic class POSMonitor_398 extends MovieClip {
public var x_tf:TextField;
public var y_tf:TextField;
public function POSMonitor_398(){
addFrameScript(0, frame1);
}
function frame1(){
if (GameApplication.gameMode == "debug"){
addEventListener(Event.ENTER_FRAME, function (_arg1:Event):void{
if (root){
x_tf.text = root.mouseX.toString();
y_tf.text = root.mouseY.toString();
};
});
} else {
visible = false;
};
}
}
}//package PnC_Game4_fla
Section 131
//PreloadBar_2 (PnC_Game4_fla.PreloadBar_2)
package PnC_Game4_fla {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class PreloadBar_2 extends MovieClip {
public function PreloadBar_2(){
addFrameScript(0, frame1, 99, frame100);
}
function frame1(){
stop();
}
function frame100(){
stop();
root["preloader"].gotoAndPlay(2);
}
}
}//package PnC_Game4_fla
Section 132
//Preloader_1 (PnC_Game4_fla.Preloader_1)
package PnC_Game4_fla {
import flash.display.*;
import CPMStar.*;
public dynamic class Preloader_1 extends MovieClip {
public var adBox:MovieClip;
public var preloadBar:MovieClip;
public var CPMStarContentSpotID:String;
public var ad:DisplayObject;
public function Preloader_1(){
addFrameScript(0, frame1, 38, frame39);
}
function frame1(){
stop();
CPMStarContentSpotID = "9890Q9225DCB5";
ad = new AdLoader(CPMStarContentSpotID);
adBox.addChild(ad);
}
function frame39(){
stop();
}
}
}//package PnC_Game4_fla
Section 133
//Episode_01 (Episode_01)
package {
import flash.display.*;
import com.greensock.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_01 extends Episode {
public var tes;
public function Episode_01(){
addFrameScript(0, frame1);
}
public function placeHand1():void{
hand1.visible = false;
robot.robot.hand1.visible = true;
testWin();
}
public function placeHand2():void{
hand2.visible = false;
robot.robot.hand2.visible = true;
testWin();
}
public function placeLeg1():void{
leg1.visible = false;
robot.robot.leg1.visible = true;
testWin();
}
public function placeLeg2():void{
leg2.visible = false;
robot.robot.leg2.visible = true;
testWin();
}
public function placeBag():void{
bag.visible = false;
robot.robot.body.bag.visible = true;
testWin();
}
public function testWin():void{
if (((((((((robot.robot.body.bag.visible) && (robot.robot.leg2.visible))) && (robot.robot.leg1.visible))) && (robot.robot.hand1.visible))) && (robot.robot.hand2.visible))){
tes = true;
};
}
public function makeWin():void{
action = false;
robot.play();
}
function frame1(){
robot.gotoAndStop(1);
robot.robot.hand1.visible = false;
robot.robot.hand2.visible = false;
robot.robot.leg1.visible = false;
robot.robot.leg2.visible = false;
robot.robot.body.bag.visible = false;
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
addNewActivator("hand1", hand1, {onClick:function ():void{
TweenLite.to(hand1, 1, {x:319, y:117, rotation:0, onComplete:placeHand1});
}});
addNewActivator("hand2", hand2, {onClick:function ():void{
TweenLite.to(hand2, 1, {x:341, y:121, rotation:-8, onComplete:placeHand2});
}});
addNewActivator("leg1", leg1, {onClick:function ():void{
TweenLite.to(leg1, 1, {x:329, y:164, onComplete:placeLeg1});
}});
addNewActivator("leg2", leg2, {onClick:function ():void{
TweenLite.to(leg2, 1, {x:347, y:162, onComplete:placeLeg2});
}});
addNewActivator("bag", bag, {onClick:function ():void{
TweenLite.to(bag, 1, {x:325, y:114, rotation:0, onComplete:placeBag});
}});
tes = false;
addNewActivator("lever", lever, {onClick:function ():void{
if (tes){
makeWin();
};
}});
heroIdle();
start();
}
}
}//package
Section 134
//Episode_02 (Episode_02)
package {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_02 extends Episode {
public var weaponOk;
public function Episode_02(){
addFrameScript(0, frame1);
}
public function killScorpion():void{
action = false;
hero.playAnim("walk");
hero.turnTo(371);
hero.moveTo(371, hero.y, function (){
dropItem("weapon");
hero.turnOn("right");
scorpion.stop();
scorpion.anim.gotoAndStop(2);
hero.playAnim("use_trobi+gaiki", function (){
action = false;
goWin2();
});
});
}
public function heroDieScorpion():void{
action = false;
hero.playAnim("walk");
hero.turnTo(371);
hero.moveTo(371, hero.y, function (){
hero.turnOn("right");
scorpion.stop();
scorpion.anim.gotoAndStop(2);
action = false;
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
scorpion.anim.gotoAndStop(1);
scorpion.gotoAndPlay(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("tube1", Item_Tube1);
registerItem("tube2", Item_Tube2);
registerItem("tool", Item_Tool);
registerItem("weapon", Item_Weapon);
registerItem("parts", Item_Parts);
weaponOk = false;
addNewActivator("tube1", tube1, {onClick:function ():void{
action = false;
heroFindItem("tube1", tube1, function (){
if (((((((hasItem("tube1")) && (hasItem("tube2")))) && (hasItem("parts")))) && (hasItem("tool")))){
makeItem("weapon", ["tube1", "tube2", "parts", "tool"], function ():void{
action = true;
weaponOk = true;
});
} else {
action = true;
};
}, "take", "tube1", 30, 30);
}});
addNewActivator("tube2", tube2, {onClick:function ():void{
action = false;
heroFindItem("tube2", tube2, function (){
if (((((((hasItem("tube1")) && (hasItem("tube2")))) && (hasItem("parts")))) && (hasItem("tool")))){
makeItem("weapon", ["tube1", "tube2", "parts", "tool"], function ():void{
action = true;
weaponOk = true;
});
} else {
action = true;
};
}, "take", "tube2", 30, 30);
}});
addNewActivator("do2", do2, {onClick:function ():void{
action = false;
heroFindItem("tool", tool, function (){
if (((((((hasItem("tube1")) && (hasItem("tube2")))) && (hasItem("parts")))) && (hasItem("tool")))){
makeItem("weapon", ["tube1", "tube2", "parts", "tool"], function ():void{
action = true;
weaponOk = true;
});
} else {
action = true;
};
}, "take", "do2", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("parts", parts, function (){
if (((((((hasItem("tube1")) && (hasItem("tube2")))) && (hasItem("parts")))) && (hasItem("tool")))){
makeItem("weapon", ["tube1", "tube2", "parts", "tool"], function ():void{
action = true;
weaponOk = true;
});
} else {
action = true;
};
}, "take", "do1", 30, 30);
}});
addNewActivator("scorpion", scorpion, {onClick:function ():void{
removeActivator("scorpion");
if (hasItem("weapon")){
killScorpion();
} else {
heroDieScorpion();
};
}});
heroIdle();
start();
}
}
}//package
Section 135
//Episode_03 (Episode_03)
package {
import flash.display.*;
import com.greensock.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import com.greensock.easing.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_03 extends Episode {
public var can;
public var mc;
public var arraIT:Array;
public var arraR:Array;
public var currClip:MovieClip;
public var tempX:Number;
public var tempY:Number;
public var range:Number;
public function Episode_03(){
addFrameScript(0, frame1);
}
public function beginPuzzle():void{
can = false;
puzzle.puzzle.r1.visible = false;
puzzle.puzzle.r2.visible = false;
puzzle.puzzle.r3.visible = false;
puzzle.puzzle.r4.visible = false;
puzzle.puzzle.r5.visible = false;
puzzle.gotoAndPlay(2);
var _local1:int;
while (_local1 < arraIT.length) {
arraIT[_local1].addEventListener(MouseEvent.MOUSE_DOWN, startDragF);
_local1++;
};
}
public function startDragF(_arg1:MouseEvent):void{
currClip = MovieClip(_arg1.currentTarget);
tempX = currClip.x;
tempY = currClip.y;
currClip.startDrag();
puzzle.puzzle.addChild(currClip);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
}
public function stage_onMouseUp(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
currClip.stopDrag();
var _local2:Number = -1;
var _local3:int;
while (_local3 < arraIT.length) {
if (currClip == arraIT[_local3]){
_local2 = _local3;
};
_local3++;
};
if (getDistance(arraIT[_local2], arraR[_local2]) < 10){
arraIT[_local2].visible = false;
arraR[_local2].visible = true;
} else {
TweenLite.to(currClip, 0.5, {x:tempX, y:tempY, ease:Circ.easeOut});
};
currClip = null;
testWin();
}
public function testWin():void{
var _local1:Boolean;
var _local2:int;
while (_local2 < arraR.length) {
if (!arraR[_local2].visible){
_local1 = false;
};
_local2++;
};
if (_local1){
puzzle.play();
puzzle.puzzle.gotoAndStop(2);
};
}
public function getDistance(_arg1, _arg2):Number{
var _local3:Number = Math.abs((Math.abs(_arg1.x) - Math.abs(_arg2.x)));
var _local4:Number = Math.abs((Math.abs(_arg1.y) - Math.abs(_arg2.y)));
var _local5:Number = 10000;
_local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
return (_local5);
}
public function openPuzzle():void{
action = false;
hero.playAnim("walk");
hero.turnTo(266);
hero.moveTo(266, hero.y, function (){
dropItem("p1");
dropItem("p2");
dropItem("p3");
dropItem("p4");
dropItem("p5");
hero.turnOn("right");
hero.playAnim("use", function (){
beginPuzzle();
action = true;
heroIdle();
});
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
bridge.gotoAndStop(1);
puzzle.gotoAndStop(1);
registerItem("p1", Item_P1);
registerItem("p2", Item_P2);
registerItem("p3", Item_P3);
registerItem("p4", Item_P4);
registerItem("p5", Item_P5);
addNewActivator("p1", p1, {onClick:function ():void{
action = false;
heroFindItem("p1", p1, function (){
action = true;
}, "take", "p1", 30, 30);
}});
addNewActivator("p2", p2, {onClick:function ():void{
action = false;
heroFindItem("p2", p2, function (){
action = true;
}, "take", "p2", 30, 30);
}});
addNewActivator("p3", p3, {onClick:function ():void{
action = false;
heroFindItem("p3", p3, function (){
action = true;
}, "take", "p3", 30, 30);
}});
addNewActivator("p4", p4, {onClick:function ():void{
action = false;
heroFindItem("p4", p4, function (){
action = true;
}, "take", "p4", 30, 30);
}});
addNewActivator("p5", p5, {onClick:function ():void{
action = false;
heroFindItem("p5", p5, function (){
action = true;
}, "take", "p5", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
if (((((((((hasItem("p1")) && (hasItem("p2")))) && (hasItem("p3")))) && (hasItem("p4")))) && (hasItem("p5")))){
do1.visible = false;
openPuzzle();
} else {
heroRefuse();
};
}});
can = true;
mc = puzzle.puzzle;
arraIT = [mc.p1, mc.p2, mc.p3, mc.p4, mc.p5];
arraR = [mc.r1, mc.r2, mc.r3, mc.r4, mc.r5];
range = 5;
heroIdle();
start();
}
}
}//package
Section 136
//Episode_04 (Episode_04)
package {
import aq.pcge.game.*;
public dynamic class Episode_04 extends Episode {
public var upPos;
public var ladderOk;
public function Episode_04(){
addFrameScript(0, frame1);
}
public function takeTube():void{
action = false;
heroFindItem("tube", tube, function (){
if (((hasItem("tube")) && (hasItem("spring")))){
makeItem("tubeSpring", ["tube", "spring"], function ():void{
if (((hasItem("tubeSpring")) && (hasItem("flagParts")))){
makeItem("weapon", ["tubeSpring", "flagParts"], function ():void{
action = true;
});
} else {
action = true;
};
});
} else {
action = true;
};
}, "take", "tube", 30, 30);
}
public function takeFlag():void{
action = false;
do5.visible = false;
trace("take");
hero.playAnim("walk");
hero.turnTo(390);
hero.moveTo(390, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use", function (){
takeItem("flag");
flag.visible = false;
if (((hasItem("flag")) && (hasItem("parts")))){
makeItem("flagParts", ["flag", "parts"], function ():void{
if (((hasItem("tubeSpring")) && (hasItem("flagParts")))){
makeItem("weapon", ["tubeSpring", "flagParts"], function ():void{
action = true;
});
} else {
action = true;
};
});
} else {
action = true;
};
heroIdle();
});
});
}
public function takeParts():void{
action = false;
heroFindItem("parts", parts, function (){
if (((hasItem("flag")) && (hasItem("parts")))){
makeItem("flagParts", ["flag", "parts"], function ():void{
if (((hasItem("tubeSpring")) && (hasItem("flagParts")))){
makeItem("weapon", ["tubeSpring", "flagParts"], function ():void{
action = true;
});
} else {
action = true;
};
});
} else {
action = true;
};
}, "take", "do2", 30, 30);
}
public function takeSpring():void{
action = false;
heroFindItem("spring", spring, function (){
if (((hasItem("spring")) && (hasItem("tube")))){
makeItem("tubeSpring", ["spring", "tube"], function ():void{
if (((hasItem("tubeSpring")) && (hasItem("flagParts")))){
makeItem("weapon", ["tubeSpring", "flagParts"], function ():void{
action = true;
});
} else {
action = true;
};
});
} else {
action = true;
};
}, "take", "do3", 30, 30);
}
public function goKill():void{
action = false;
hero.playAnim("walk");
hero.turnTo(244);
hero.moveTo(244, hero.y, function (){
dropItem("weapon");
hero.turnOn("right");
hero.playAnim("l4_shoot", function (){
action = false;
});
});
}
public function goDie():void{
action = false;
hero.playAnim("walk");
hero.turnTo(351);
hero.moveTo(351, hero.y, function (){
heroIdle();
hero.turnOn("right");
soldier.gotoAndStop(2);
action = false;
});
}
public function goUp(_arg1):void{
var func = _arg1;
action = false;
hero.playAnim("walk");
hero.turnTo(129);
hero.moveTo(129, hero.y, function (){
hero.turnOn("right");
hero.playAnim("l4_up", function (){
hero.x = (hero.x + 59.45);
hero.y = (hero.y - 241);
action = true;
heroIdle();
upPos = true;
func();
});
});
}
public function goDown(_arg1):void{
var func = _arg1;
action = false;
hero.playAnim("walk");
hero.turnTo(187);
hero.moveTo(187, hero.y, function (){
hero.turnOn("right");
hero.x = (hero.x - 59.45);
hero.y = (hero.y + 241);
hero.playAnim("l4_down", function (){
action = true;
heroIdle();
upPos = false;
func();
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
soldier.gotoAndStop(1);
ladder.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("tube", Item_Tube3);
registerItem("tubeSpring", Item_TubeSpring);
registerItem("spring", Item_Spring);
registerItem("bagor", Item_Bagor);
registerItem("flag", Item_Flag);
registerItem("flagParts", Item_FlagParts);
registerItem("weapon", Item_Weapon2);
registerItem("parts", Item_Parts);
upPos = false;
ladderOk = false;
addNewActivator("tube", tube, {onClick:function ():void{
if (upPos){
takeTube();
} else {
if (ladderOk){
goUp(takeTube);
} else {
heroRefuse();
};
};
}});
addNewActivator("do5", do5, {onClick:function ():void{
if (upPos){
takeFlag();
trace("1111");
} else {
if (ladderOk){
trace("2222");
goUp(takeFlag);
} else {
trace("3333");
heroRefuse();
};
};
}});
addNewActivator("do2", do2, {onClick:function ():void{
if (!upPos){
takeParts();
} else {
goDown(takeParts);
};
}});
addNewActivator("do3", do3, {onClick:function ():void{
if (!upPos){
takeSpring();
} else {
goDown(takeSpring);
};
}});
addNewActivator("do4", do4, {onClick:function ():void{
action = false;
heroFindItem("bagor", bagor, function (){
action = true;
}, "take", "do4", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
if (hasItem("bagor")){
action = false;
hero.playAnim("walk");
hero.turnTo(128);
hero.moveTo(128, hero.y, function (){
dropItem("bagor");
hero.turnOn("right");
ladder.play();
hero.playAnim("use_bagor", function (){
action = true;
ladderOk = true;
heroIdle();
});
});
} else {
heroRefuse();
};
}});
addNewActivator("soldier", soldier, {onClick:function ():void{
removeActivator("soldier");
if (hasItem("weapon")){
if (upPos){
goDown(goKill);
} else {
goKill();
};
} else {
if (upPos){
goDown(goDie);
} else {
goDie();
};
};
}});
heroIdle();
start();
}
}
}//package
Section 137
//Episode_05 (Episode_05)
package {
import flash.display.*;
import com.greensock.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import com.greensock.easing.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_05 extends Episode {
public var can;
public var mc;
public var arraIT:Array;
public var arraR:Array;
public var currClip:MovieClip;
public var tempX:Number;
public var tempY:Number;
public var range:Number;
public function Episode_05(){
addFrameScript(0, frame1);
}
public function beginPuzzle():void{
can = false;
puzzle.puzzle.r1.visible = false;
puzzle.puzzle.r2.visible = false;
puzzle.puzzle.r3.visible = false;
puzzle.puzzle.r4.visible = false;
puzzle.puzzle.r5.visible = false;
puzzle.puzzle.r6.visible = false;
puzzle.puzzle.r7.visible = false;
puzzle.puzzle.r8.visible = false;
puzzle.puzzle.r9.visible = false;
puzzle.puzzle.r10.visible = false;
puzzle.puzzle.r11.visible = false;
puzzle.puzzle.r12.visible = false;
puzzle.puzzle.r13.visible = false;
puzzle.gotoAndPlay(2);
var _local1:int;
while (_local1 < arraIT.length) {
arraIT[_local1].addEventListener(MouseEvent.MOUSE_DOWN, startDragF);
_local1++;
};
}
public function startDragF(_arg1:MouseEvent):void{
currClip = MovieClip(_arg1.currentTarget);
tempX = currClip.x;
tempY = currClip.y;
currClip.startDrag();
puzzle.puzzle.addChild(currClip);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
}
public function stage_onMouseUp(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
currClip.stopDrag();
var _local2:Number = -1;
var _local3:int;
while (_local3 < arraIT.length) {
if (currClip == arraIT[_local3]){
_local2 = _local3;
};
_local3++;
};
if (getDistance(arraIT[_local2], arraR[_local2]) < 10){
arraIT[_local2].visible = false;
arraR[_local2].visible = true;
} else {
TweenLite.to(currClip, 0.5, {x:tempX, y:tempY, ease:Circ.easeOut});
};
currClip = null;
testWin();
}
public function testWin():void{
var _local1:Boolean;
var _local2:int;
while (_local2 < arraR.length) {
if (!arraR[_local2].visible){
_local1 = false;
};
_local2++;
};
if (_local1){
puzzle.play();
puzzle.puzzle.gotoAndStop(2);
};
}
public function getDistance(_arg1, _arg2):Number{
var _local3:Number = Math.abs((Math.abs(_arg1.x) - Math.abs(_arg2.x)));
var _local4:Number = Math.abs((Math.abs(_arg1.y) - Math.abs(_arg2.y)));
var _local5:Number = 10000;
_local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
return (_local5);
}
public function openPuzzle():void{
action = false;
hero.playAnim("walk");
hero.turnTo(550);
hero.moveTo(550, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use", function (){
beginPuzzle();
action = true;
heroIdle();
});
});
}
public function goKill():void{
action = false;
hero.playAnim("walk");
hero.turnTo(364);
hero.moveTo(364, hero.y, function (){
dropItem("taran");
hero.turnOn("right");
hero.playAnim("use", function (){
soldier.gotoAndStop(3);
action = true;
heroIdle();
do3.visible = true;
});
});
}
public function goDie():void{
action = false;
hero.playAnim("walk");
hero.turnTo(410);
hero.moveTo(410, hero.y, function (){
heroIdle();
hero.turnOn("right");
soldier.gotoAndStop(2);
action = false;
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
do3.visible = false;
soldier.gotoAndStop(1);
puzzle.gotoAndStop(1);
registerItem("grab", Item_Grab);
registerItem("wheel1", Item_Wheel);
registerItem("wheel2", Item_Wheel);
registerItem("engine", Item_Engine);
registerItem("taran", Item_Taran);
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("wheel1", wheel1, function (){
if (((((((hasItem("wheel1")) && (hasItem("wheel2")))) && (hasItem("engine")))) && (hasItem("grab")))){
makeItem("taran", ["wheel1", "wheel2", "engine", "grab"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "do1", 30, 30);
}});
addNewActivator("do2", do2, {onClick:function ():void{
action = false;
heroFindItem("wheel2", wheel2, function (){
if (((((((hasItem("wheel1")) && (hasItem("wheel2")))) && (hasItem("engine")))) && (hasItem("grab")))){
makeItem("taran", ["wheel1", "wheel2", "engine", "grab"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "do2", 30, 30);
}});
addNewActivator("engine", engine, {onClick:function ():void{
action = false;
heroFindItem("engine", engine, function (){
if (((((((hasItem("wheel1")) && (hasItem("wheel2")))) && (hasItem("engine")))) && (hasItem("grab")))){
makeItem("taran", ["wheel1", "wheel2", "engine", "grab"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "engine", 30, 30);
}});
addNewActivator("grab", grab, {onClick:function ():void{
action = false;
heroFindItem("grab", grab, function (){
if (((((((hasItem("wheel1")) && (hasItem("wheel2")))) && (hasItem("engine")))) && (hasItem("grab")))){
makeItem("taran", ["wheel1", "wheel2", "engine", "grab"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "grab", 30, 30);
}});
addNewActivator("do3", do3, {onClick:function ():void{
do3.visible = false;
openPuzzle();
}});
addNewActivator("soldier", soldier, {onClick:function ():void{
if (hasItem("taran")){
goKill();
} else {
goDie();
};
}});
can = true;
mc = puzzle.puzzle;
arraIT = [mc.p1, mc.p2, mc.p3, mc.p4, mc.p5, mc.p6, mc.p7, mc.p8, mc.p9, mc.p10, mc.p11, mc.p12, mc.p13];
arraR = [mc.r1, mc.r2, mc.r3, mc.r4, mc.r5, mc.r6, mc.r7, mc.r8, mc.r9, mc.r10, mc.r11, mc.r12, mc.r13];
range = 5;
heroIdle();
start();
}
}
}//package
Section 138
//Episode_06 (Episode_06)
package {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_06 extends Episode {
public var arrayX:Array;
public var arrayY:Array;
public var xnow:Number;
public var ynow:Number;
public var closed;
public var curMc;
public var boxTaked;
public var allIn;
public var upNow;
public var craneOpened;
public function Episode_06(){
addFrameScript(0, frame1);
}
public function getUp():void{
if (!upNow){
action = false;
motionTo(crane, arrayX[xnow], -120, 1, function (){
upNow = true;
action = true;
}, 128);
};
}
public function getDown():void{
if (upNow){
action = false;
motionTo(crane, arrayX[xnow], 20, 1, function (){
upNow = false;
action = true;
}, 128);
};
}
public function checkTake():void{
if (((((!(boxTaked)) && ((crane.y > 0)))) && ((xnow == 1)))){
boxTaked = true;
box.visible = false;
crane.box.visible = true;
doDown.visible = false;
doUp.visible = false;
removeActivator("pult");
getUp();
};
}
public function placeItems():void{
action = false;
hero.playAnim("walk");
hero.turnTo(263);
hero.moveTo(263, hero.y, function (){
dropItem("tube");
dropItem("firestoper");
dropItem("lever");
dropItem("gear");
hero.turnOn("right");
hero.playAnim("use", function (){
box.gear.visible = true;
box.tube.visible = true;
box.firestoper.visible = true;
box.lever.visible = true;
box.play();
action = true;
heroIdle();
});
});
}
public function doDie():void{
action = false;
hero.playAnim("walk");
hero.turnTo(333);
hero.moveTo(333, hero.y, function (){
spider.gotoAndStop(2);
hero.turnOn("right");
action = false;
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
crane.box.visible = false;
box.tube.visible = false;
box.gear.visible = false;
box.firestoper.visible = false;
box.lever.visible = false;
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
arrayX = [38, 0x0101, 480];
arrayY = [-120, 20];
xnow = 0;
ynow = 0;
closed = false;
curMc = "no";
registerItem("lever", Item_Lever);
registerItem("firestoper", Item_Firestoper);
registerItem("tube", Item_Tube4);
registerItem("gear", Item_Gear);
boxTaked = false;
addNewActivator("tube", tube, {onClick:function ():void{
action = false;
heroFindItem("tube", tube, function (){
action = true;
}, "take", "tube", 30, 30);
}});
addNewActivator("firestoper", firestoper, {onClick:function ():void{
action = false;
heroFindItem("firestoper", firestoper, function (){
action = true;
}, "take", "firestoper", 30, 30);
}});
addNewActivator("gear", gear, {onClick:function ():void{
action = false;
heroFindItem("gear", gear, function (){
action = true;
}, "take", "gear", 30, 30);
}});
addNewActivator("lever", lever, {onClick:function ():void{
action = false;
heroFindItem("lever", lever, function (){
action = true;
}, "take", "lever", 30, 30);
}});
allIn = false;
addNewActivator("box", box, {onClick:function ():void{
if (((((((hasItem("lever")) && (hasItem("tube")))) && (hasItem("firestoper")))) && (hasItem("gear")))){
placeItems();
allIn = true;
} else {
heroRefuse();
};
}});
addNewActivator("pult", pult, {onClick:function ():void{
if (allIn){
pult.play();
doUp.visible = true;
doDown.visible = true;
doLeft.visible = true;
doRight.visible = true;
doDrop.visible = true;
doTake.visible = true;
} else {
heroRefuse();
};
}});
upNow = true;
addNewActivator("doUp", doUp, {onClick:function ():void{
getUp();
}});
addNewActivator("doDown", doDown, {onClick:function ():void{
getDown();
}});
doUp.visible = false;
doDown.visible = false;
doLeft.visible = false;
doRight.visible = false;
doDrop.visible = false;
doTake.visible = false;
addNewActivator("doLeft", doLeft, {onClick:function ():void{
if (xnow != 0){
action = false;
xnow--;
motionTo(crane, arrayX[xnow], crane.y, 1, function (){
action = true;
}, 128);
};
}});
addNewActivator("doRight", doRight, {onClick:function ():void{
if (xnow != 2){
action = false;
xnow++;
motionTo(crane, arrayX[xnow], crane.y, 1, function (){
if ((((xnow == 2)) && (boxTaked))){
crane.crane.play();
crane.box.visible = false;
spider.gotoAndStop(3);
pult.play();
doUp.visible = false;
doDown.visible = false;
doLeft.visible = false;
doRight.visible = false;
doDrop.visible = false;
doTake.visible = false;
};
action = true;
}, 128);
};
}});
craneOpened = true;
addNewActivator("doDrop", doDrop, {onClick:function ():void{
if (!craneOpened){
if (!boxTaked){
action = false;
craneOpened = true;
crane.crane.play();
action = true;
};
};
}});
addNewActivator("doTake", doTake, {onClick:function ():void{
if (craneOpened){
craneOpened = false;
action = false;
crane.crane.play();
action = true;
};
}});
addNewActivator("spider", spider, {onClick:function ():void{
doDie();
}});
heroIdle();
start();
}
}
}//package
Section 139
//Episode_07 (Episode_07)
package {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_07 extends Episode {
public var allOk;
public function Episode_07(){
addFrameScript(0, frame1);
}
public function placeGear1():void{
action = false;
hero.playAnim("walk");
hero.turnTo(310);
hero.moveTo(310, hero.y, function (){
dropItem("gear1");
hero.turnOn("right");
hero.playAnim("use", function (){
puzzle.gear1.visible = true;
action = true;
heroIdle();
testGears();
});
});
}
public function testGears():void{
if (((((((puzzle.gear1.visible) && (puzzle.gear2.visible))) && (puzzle.gear3.visible))) && (puzzle.gear4.visible))){
allOk = true;
if (oven.currentFrame == 2){
puzzle.gotoAndPlay(2);
};
};
}
public function placeGear2():void{
action = false;
hero.playAnim("walk");
hero.turnTo(310);
hero.moveTo(310, hero.y, function (){
dropItem("gear2");
hero.turnOn("right");
hero.playAnim("use", function (){
puzzle.gear2.visible = true;
action = true;
heroIdle();
testGears();
});
});
}
public function placeGear3():void{
action = false;
hero.playAnim("walk");
hero.turnTo(310);
hero.moveTo(310, hero.y, function (){
dropItem("gear3");
hero.turnOn("right");
hero.playAnim("use", function (){
puzzle.gear3.visible = true;
action = true;
heroIdle();
testGears();
});
});
}
public function placeGear4():void{
action = false;
hero.playAnim("walk");
hero.turnTo(310);
hero.moveTo(310, hero.y, function (){
dropItem("gear4");
hero.turnOn("right");
hero.playAnim("use", function (){
puzzle.gear4.visible = true;
action = true;
heroIdle();
testGears();
});
});
}
public function turnOnOven():void{
action = false;
hero.playAnim("walk");
hero.turnTo(140);
hero.moveTo(140, hero.y, function (){
dropItem("wood");
hero.turnOn("right");
hero.playAnim("use", function (){
oven.gotoAndStop(2);
if (allOk){
puzzle.gotoAndPlay(2);
};
action = true;
heroIdle();
});
});
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnTo(508);
hero.moveTo(508, hero.y, function (){
hero.turnOn("right");
hero.moveTo(580, 350, function (){
hero.playAnim("use", function (){
lever.gotoAndStop(2);
elevator.play();
motionTo(elevator, elevator.x, (elevator.y - 400), 1, function (){
win();
}, 128);
motionTo(hero, hero.x, (hero.y - 400), 1, function (){
}, 128);
action = false;
heroIdle();
});
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
oven.gotoAndStop(1);
puzzle.gotoAndStop(1);
puzzle.gear1.visible = false;
puzzle.gear2.visible = false;
puzzle.gear3.visible = false;
puzzle.gear4.visible = false;
registerItem("gear1", Item_Gear);
registerItem("gear2", Item_Gear);
registerItem("gear3", Item_Gear);
registerItem("gear4", Item_Gear);
registerItem("wood", Item_Wood);
addNewActivator("gear1", gear1, {onClick:function ():void{
action = false;
heroFindItem("gear1", gear1, function (){
action = true;
}, "take", "gear1", 30, 30);
}});
addNewActivator("gear2", gear2, {onClick:function ():void{
action = false;
heroFindItem("gear2", gear2, function (){
action = true;
}, "take", "gear2", 30, 30);
}});
addNewActivator("gear3", gear3, {onClick:function ():void{
action = false;
heroFindItem("gear3", gear3, function (){
action = true;
}, "take", "gear3", 30, 30);
}});
addNewActivator("gear4", gear4, {onClick:function ():void{
action = false;
heroFindItem("gear4", gear4, function (){
action = true;
}, "take", "gear4", 30, 30);
}});
addNewActivator("wood", wood, {onClick:function ():void{
action = false;
heroFindItem("wood", wood, function (){
action = true;
}, "take", "wood", 30, 30);
}});
addNewActivator("lever", lever, {onClick:function ():void{
if (((allOk) && ((oven.currentFrame == 2)))){
goWin();
} else {
heroRefuse();
};
}});
addNewActivator("oven", oven, {onClick:function ():void{
if (hasItem("wood")){
turnOnOven();
} else {
heroRefuse();
};
}});
allOk = false;
addNewActivator("puzzle", puzzle, {onClick:function ():void{
if (hasItem("gear1")){
placeGear1();
} else {
if (hasItem("gear2")){
placeGear2();
} else {
if (hasItem("gear3")){
placeGear3();
} else {
if (hasItem("gear4")){
placeGear4();
} else {
heroRefuse();
};
};
};
};
}});
heroIdle();
start();
}
}
}//package
Section 140
//Episode_08 (Episode_08)
package {
import aq.pcge.game.*;
public dynamic class Episode_08 extends Episode {
public var step:Number;
public function Episode_08(){
addFrameScript(0, frame1);
}
public function shotFirstAtRobot():void{
action = false;
hero.playAnim("walk");
hero.turnTo(80);
hero.moveTo(80, hero.y, function (){
dropItem("slingshot");
hero.turnOn("right");
hero.playAnim("l8_rogatka", function (){
step = 2;
action = true;
heroIdle();
});
});
}
public function shotBola():void{
action = false;
hero.playAnim("walk");
hero.turnTo(222);
hero.moveTo(222, hero.y, function (){
dropItem("bola");
hero.turnOn("right");
hero.playAnim("use_bola", function (){
step = 3;
robot.gotoAndStop(6);
action = true;
heroIdle();
});
});
}
public function killMePos1():void{
action = false;
hero.playAnim("walk");
hero.turnTo(130);
hero.moveTo(130, hero.y, function (){
hero.turnOn("right");
robot.gotoAndStop(2);
action = false;
heroIdle();
});
}
public function killMePos2():void{
action = false;
hero.playAnim("walk");
hero.turnTo(377);
hero.moveTo(377, hero.y, function (){
hero.turnOn("right");
robot.gotoAndStop(5);
action = false;
heroIdle();
});
}
public function killMePos3():void{
action = false;
hero.playAnim("walk");
hero.turnTo(415);
hero.moveTo(415, hero.y, function (){
hero.turnOn("right");
robot.gotoAndStop(8);
action = false;
heroIdle();
});
}
public function killMan():void{
action = false;
hero.playAnim("walk");
hero.turnTo(384);
hero.moveTo(384, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use", function (){
lever.gotoAndStop(2);
trap.gotoAndStop(2);
action = true;
heroIdle();
});
});
}
public function killUs8():void{
action = false;
hero.playAnim("l8_die", function (){
lose();
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
robot.gotoAndStop(1);
registerItem("chain", Item_Chain);
registerItem("bola", Item_Bola);
registerItem("gear1", Item_Gear);
registerItem("gear2", Item_Gear);
registerItem("stag", Item_Stag);
registerItem("spring", Item_Spring2);
registerItem("bolt", Item_Bolt);
registerItem("slingshot", Item_Slingshot);
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("spring", spring, function (){
if (((((hasItem("spring")) && (hasItem("stag")))) && (hasItem("bolt")))){
makeItem("slingshot", ["spring", "stag", "bolt"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "do1", 30, 30);
}});
addNewActivator("bolt", bolt, {onClick:function ():void{
action = false;
heroFindItem("bolt", bolt, function (){
if (((((hasItem("spring")) && (hasItem("stag")))) && (hasItem("bolt")))){
makeItem("slingshot", ["spring", "stag", "bolt"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "bolt", 30, 30);
}});
addNewActivator("stag", stag, {onClick:function ():void{
action = false;
heroFindItem("stag", stag, function (){
if (((((hasItem("spring")) && (hasItem("stag")))) && (hasItem("bolt")))){
makeItem("slingshot", ["spring", "stag", "bolt"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "stag", 30, 30);
}});
addNewActivator("gear1", gear1, {onClick:function ():void{
action = false;
heroFindItem("gear1", gear1, function (){
if (((((hasItem("gear1")) && (hasItem("gear2")))) && (hasItem("chain")))){
makeItem("bola", ["gear1", "gear2", "chain"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "gear1", 30, 30);
}});
step = 1;
addNewActivator("do2", do2, {onClick:function ():void{
if (step == 2){
action = false;
heroFindItem("chain", chain, function (){
if (((((hasItem("gear1")) && (hasItem("gear2")))) && (hasItem("chain")))){
makeItem("bola", ["gear1", "gear2", "chain"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "do2", 30, 30);
} else {
killMePos1();
};
}});
addNewActivator("gear2", gear2, {onClick:function ():void{
if (step == 2){
action = false;
heroFindItem("gear2", gear2, function (){
if (((((hasItem("gear1")) && (hasItem("gear2")))) && (hasItem("chain")))){
makeItem("bola", ["gear1", "gear2", "chain"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "gear2", 30, 30);
} else {
killMePos1();
};
}});
addNewActivator("robot", robot, {onClick:function ():void{
if (step == 1){
if (hasItem("slingshot")){
shotFirstAtRobot();
} else {
killMePos1();
};
} else {
if (step == 2){
if (hasItem("bola")){
shotBola();
} else {
killMePos2();
};
} else {
if (step == 3){
killMePos3();
} else {
heroRefuse();
};
};
};
}});
addNewActivator("lever", lever, {onClick:function ():void{
if (step == 3){
killMan();
} else {
if (step == 2){
killMePos2();
} else {
if (step == 1){
killMePos1();
};
};
};
}});
heroIdle();
start();
}
}
}//package
Section 141
//GameImage01 (GameImage01)
package {
import flash.display.*;
public dynamic class GameImage01 extends BitmapData {
public function GameImage01(_arg1:int=120, _arg2:int=120){
super(_arg1, _arg2);
}
}
}//package
Section 142
//GameImage02 (GameImage02)
package {
import flash.display.*;
public dynamic class GameImage02 extends BitmapData {
public function GameImage02(_arg1:int=120, _arg2:int=120){
super(_arg1, _arg2);
}
}
}//package
Section 143
//GameImage03 (GameImage03)
package {
import flash.display.*;
public dynamic class GameImage03 extends BitmapData {
public function GameImage03(_arg1:int=120, _arg2:int=120){
super(_arg1, _arg2);
}
}
}//package
Section 144
//GameImage04 (GameImage04)
package {
import flash.display.*;
public dynamic class GameImage04 extends BitmapData {
public function GameImage04(_arg1:int=120, _arg2:int=120){
super(_arg1, _arg2);
}
}
}//package
Section 145
//GameMusic (GameMusic)
package {
import flash.media.*;
public dynamic class GameMusic extends Sound {
}
}//package
Section 146
//GameSlot (GameSlot)
package {
import aq.pcge.game.buttons.*;
public dynamic class GameSlot extends LinkBox {
}
}//package
Section 147
//Hero (Hero)
package {
import aq.pcge.game.*;
public dynamic class Hero extends Character {
public function Hero(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14);
}
function frame1(){
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame9(){
stop();
}
function frame10(){
stop();
}
function frame11(){
stop();
}
function frame12(){
stop();
}
function frame13(){
stop();
}
function frame14(){
stop();
}
}
}//package
Section 148
//Item_Bagor (Item_Bagor)
package {
import flash.display.*;
public dynamic class Item_Bagor extends MovieClip {
}
}//package
Section 149
//Item_Bola (Item_Bola)
package {
import flash.display.*;
public dynamic class Item_Bola extends MovieClip {
}
}//package
Section 150
//Item_Bolt (Item_Bolt)
package {
import flash.display.*;
public dynamic class Item_Bolt extends MovieClip {
}
}//package
Section 151
//Item_Chain (Item_Chain)
package {
import flash.display.*;
public dynamic class Item_Chain extends MovieClip {
}
}//package
Section 152
//Item_Engine (Item_Engine)
package {
import flash.display.*;
public dynamic class Item_Engine extends MovieClip {
}
}//package
Section 153
//Item_Firestoper (Item_Firestoper)
package {
import flash.display.*;
public dynamic class Item_Firestoper extends MovieClip {
}
}//package
Section 154
//Item_Flag (Item_Flag)
package {
import flash.display.*;
public dynamic class Item_Flag extends MovieClip {
}
}//package
Section 155
//Item_FlagParts (Item_FlagParts)
package {
import flash.display.*;
public dynamic class Item_FlagParts extends MovieClip {
}
}//package
Section 156
//Item_Gear (Item_Gear)
package {
import flash.display.*;
public dynamic class Item_Gear extends MovieClip {
}
}//package
Section 157
//Item_Grab (Item_Grab)
package {
import flash.display.*;
public dynamic class Item_Grab extends MovieClip {
}
}//package
Section 158
//Item_Lever (Item_Lever)
package {
import flash.display.*;
public dynamic class Item_Lever extends MovieClip {
}
}//package
Section 159
//Item_P1 (Item_P1)
package {
import flash.display.*;
public dynamic class Item_P1 extends MovieClip {
}
}//package
Section 160
//Item_P2 (Item_P2)
package {
import flash.display.*;
public dynamic class Item_P2 extends MovieClip {
}
}//package
Section 161
//Item_P3 (Item_P3)
package {
import flash.display.*;
public dynamic class Item_P3 extends MovieClip {
}
}//package
Section 162
//Item_P4 (Item_P4)
package {
import flash.display.*;
public dynamic class Item_P4 extends MovieClip {
}
}//package
Section 163
//Item_P5 (Item_P5)
package {
import flash.display.*;
public dynamic class Item_P5 extends MovieClip {
}
}//package
Section 164
//Item_Parts (Item_Parts)
package {
import flash.display.*;
public dynamic class Item_Parts extends MovieClip {
}
}//package
Section 165
//Item_Slingshot (Item_Slingshot)
package {
import flash.display.*;
public dynamic class Item_Slingshot extends MovieClip {
}
}//package
Section 166
//Item_Spring (Item_Spring)
package {
import flash.display.*;
public dynamic class Item_Spring extends MovieClip {
}
}//package
Section 167
//Item_Spring2 (Item_Spring2)
package {
import flash.display.*;
public dynamic class Item_Spring2 extends MovieClip {
}
}//package
Section 168
//Item_Stag (Item_Stag)
package {
import flash.display.*;
public dynamic class Item_Stag extends MovieClip {
}
}//package
Section 169
//Item_Taran (Item_Taran)
package {
import flash.display.*;
public dynamic class Item_Taran extends MovieClip {
}
}//package
Section 170
//Item_Tool (Item_Tool)
package {
import flash.display.*;
public dynamic class Item_Tool extends MovieClip {
}
}//package
Section 171
//Item_Tube1 (Item_Tube1)
package {
import flash.display.*;
public dynamic class Item_Tube1 extends MovieClip {
}
}//package
Section 172
//Item_Tube2 (Item_Tube2)
package {
import flash.display.*;
public dynamic class Item_Tube2 extends MovieClip {
}
}//package
Section 173
//Item_Tube3 (Item_Tube3)
package {
import flash.display.*;
public dynamic class Item_Tube3 extends MovieClip {
}
}//package
Section 174
//Item_Tube4 (Item_Tube4)
package {
import flash.display.*;
public dynamic class Item_Tube4 extends MovieClip {
}
}//package
Section 175
//Item_TubeSpring (Item_TubeSpring)
package {
import flash.display.*;
public dynamic class Item_TubeSpring extends MovieClip {
}
}//package
Section 176
//Item_Weapon (Item_Weapon)
package {
import flash.display.*;
public dynamic class Item_Weapon extends MovieClip {
}
}//package
Section 177
//Item_Weapon2 (Item_Weapon2)
package {
import flash.display.*;
public dynamic class Item_Weapon2 extends MovieClip {
}
}//package
Section 178
//Item_Wheel (Item_Wheel)
package {
import flash.display.*;
public dynamic class Item_Wheel extends MovieClip {
}
}//package
Section 179
//Item_Wood (Item_Wood)
package {
import flash.display.*;
public dynamic class Item_Wood extends MovieClip {
}
}//package
Section 180
//ItemIcon (ItemIcon)
package {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class ItemIcon extends MovieClip {
public var image:MovieClip;
public var bounds:MovieClip;
public var source:String;
public var title:String;
public var onGFXComplete:Function;
public function ItemIcon(){
addFrameScript(0, frame1, 1, frame2, 24, frame25);
}
public function setIcon(_arg1:DisplayObject):void{
while (image.holder.numChildren) {
image.holder.removeChildAt(0);
};
image.holder.addChild(_arg1);
}
public function getIcon():DisplayObject{
return ((image.holder.numChildren) ? image.holder.getChildAt(0) : null);
}
function frame1(){
stop();
}
function frame2(){
image.holder.gotoAndStop(1);
}
function frame25(){
dispatchEvent(new Event("gfxComplete"));
image.holder.gotoAndPlay(2);
}
}
}//package
Section 181
//WMCurtain (WMCurtain)
package {
import flash.display.*;
public dynamic class WMCurtain extends Sprite {
}
}//package