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.geom.*;
import flash.events.*;
import flash.utils.*;
public class Episode extends MovieClip implements IEpisode {
public var stone2:MovieClip;
public var gear3:MovieClip;
public var lever1:MovieClip;
public var alien:MovieClip;
public var rock:MovieClip;
public var gear4:MovieClip;
public var lever2:MovieClip;
public var lever:MovieClip;
public var lever3:MovieClip;
public var digger:MovieClip;
public var do1:MovieClip;
public var rock1:MovieClip;
public var hand1:MovieClip;
public var lever4:MovieClip;
public var do2:MovieClip;
public var rock2:MovieClip;
public var do3:MovieClip;
public var steam:MovieClip;
public var wood1:MovieClip;
public var do4:MovieClip;
public var engine:MovieClip;
public var wood2:MovieClip;
public var do5:MovieClip;
public var wheel1:MovieClip;
public var do6:MovieClip;
public var wood3:MovieClip;
public var door:MovieClip;
public var rail:MovieClip;
public var wheel2:MovieClip;
public var water:MovieClip;
public var aliens:MovieClip;
public var tube:MovieClip;
public var texture:MovieClip;
public var ice:MovieClip;
public var stal:MovieClip;
public var rope:MovieClip;
public var wood:MovieClip;
public var drill:MovieClip;
public var bridge:MovieClip;
public var puzzle:MovieClip;
public var alf:MovieClip;
public var bucket:MovieClip;
public var gear1:MovieClip;
public var temp:MovieClip;
public var crane:MovieClip;
public var stone1:MovieClip;
public var epicScene: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/sara-3-walkthrough/";
GameApplication.link01 = "http://www.abroy.com/play/adventure-games/kindergarten-break-out/";
GameApplication.link02 = "http://www.abroy.com/play/adventure-games/zombie-flood/";
GameApplication.link03 = "http://www.abroy.com/play/adventure-games/world-of-steampunk/";
GameApplication.link04 = "http://www.abroy.com/play/adventure-games/escape-from-roswell/";
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
//alien_all_173 (PnC_Game3_fla.alien_all_173)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class alien_all_173 extends MovieClip {
public function alien_all_173(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game3_fla
Section 54
//alien_all_217 (PnC_Game3_fla.alien_all_217)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class alien_all_217 extends MovieClip {
public function alien_all_217(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game3_fla
Section 55
//alien_cick_179 (PnC_Game3_fla.alien_cick_179)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class alien_cick_179 extends MovieClip {
public function alien_cick_179(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package PnC_Game3_fla
Section 56
//alien_cick_223 (PnC_Game3_fla.alien_cick_223)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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 alien_cick_223 extends MovieClip {
public function alien_cick_223(){
addFrameScript(12, frame13, 19, frame20);
}
function frame13(){
MovieClip(parent.parent).killUs();
}
function frame20(){
stop();
}
}
}//package PnC_Game3_fla
Section 57
//alien_die_224 (PnC_Game3_fla.alien_die_224)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class alien_die_224 extends MovieClip {
public function alien_die_224(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package PnC_Game3_fla
Section 58
//alien_head_die_181 (PnC_Game3_fla.alien_head_die_181)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class alien_head_die_181 extends MovieClip {
public function alien_head_die_181(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package PnC_Game3_fla
Section 59
//alien_head_die_225 (PnC_Game3_fla.alien_head_die_225)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class alien_head_die_225 extends MovieClip {
public function alien_head_die_225(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package PnC_Game3_fla
Section 60
//alien_L6_die_180 (PnC_Game3_fla.alien_L6_die_180)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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 alien_L6_die_180 extends MovieClip {
public function alien_L6_die_180(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
MovieClip(parent.parent).goWin2();
}
}
}//package PnC_Game3_fla
Section 61
//AVFPSCounter_339 (PnC_Game3_fla.AVFPSCounter_339)
package PnC_Game3_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import aq.pcge.*;
public dynamic class AVFPSCounter_339 extends MovieClip {
public var fps_tf:TextField;
public var time:uint;
public var sum:Number;
public var num:uint;
public function AVFPSCounter_339(){
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_Game3_fla
Section 62
//cont_324 (PnC_Game3_fla.cont_324)
package PnC_Game3_fla {
import flash.display.*;
import flash.text.*;
public dynamic class cont_324 extends MovieClip {
public var history_tf:TextField;
public function cont_324(){
addFrameScript(0, frame1);
}
function frame1(){
history_tf.autoSize = "left";
}
}
}//package PnC_Game3_fla
Section 63
//Content_320 (PnC_Game3_fla.Content_320)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
import aq.pcge.*;
import aq.pcge.media.*;
public dynamic class Content_320 extends MovieClip {
public var em:EpisodesManager;
public function Content_320(){
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_Game3_fla
Section 64
//Degradadotrama_318 (PnC_Game3_fla.Degradadotrama_318)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Degradadotrama_318 extends MovieClip {
public function Degradadotrama_318(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game3_fla
Section 65
//DustCloudGFX_17 (PnC_Game3_fla.DustCloudGFX_17)
package PnC_Game3_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_Game3_fla
Section 66
//Exporter_8 (PnC_Game3_fla.Exporter_8)
package PnC_Game3_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_Game3_fla
Section 67
//FPSCounter_340 (PnC_Game3_fla.FPSCounter_340)
package PnC_Game3_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import aq.pcge.*;
public dynamic class FPSCounter_340 extends MovieClip {
public var fps_tf:TextField;
public var time:uint;
public function FPSCounter_340(){
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_Game3_fla
Section 68
//HelpButton_294 (PnC_Game3_fla.HelpButton_294)
package PnC_Game3_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class HelpButton_294 extends MovieClip {
public function HelpButton_294(){
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_Game3_fla
Section 69
//l1_rock_most_284 (PnC_Game3_fla.l1_rock_most_284)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l1_rock_most_284 extends MovieClip {
public function l1_rock_most_284(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game3_fla
Section 70
//l1_rock1_280 (PnC_Game3_fla.l1_rock1_280)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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 l1_rock1_280 extends MovieClip {
public function l1_rock1_280(){
addFrameScript(0, frame1, 20, frame21, 21, frame22, 39, frame40);
}
function frame1(){
stop();
}
function frame21(){
stop();
}
function frame22(){
stop();
}
function frame40(){
stop();
MovieClip(parent).refuseDie();
}
}
}//package PnC_Game3_fla
Section 71
//l1_rock2_283 (PnC_Game3_fla.l1_rock2_283)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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 l1_rock2_283 extends MovieClip {
public function l1_rock2_283(){
addFrameScript(0, frame1, 23, frame24, 41, frame42);
}
function frame1(){
stop();
}
function frame24(){
stop();
}
function frame42(){
stop();
MovieClip(parent).refuseDie();
}
}
}//package PnC_Game3_fla
Section 72
//l2_gliba_267 (PnC_Game3_fla.l2_gliba_267)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_gliba_267 extends MovieClip {
public var woods:MovieClip;
public function l2_gliba_267(){
addFrameScript(0, frame1, 22, frame23, 23, frame24, 98, frame99, 99, frame100);
}
function frame1(){
stop();
}
function frame23(){
stop();
MovieClip(parent).refuseDie();
}
function frame24(){
stop();
}
function frame99(){
stop();
}
function frame100(){
stop();
}
}
}//package PnC_Game3_fla
Section 73
//l2_hero1_253 (PnC_Game3_fla.l2_hero1_253)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_hero1_253 extends MovieClip {
public function l2_hero1_253(){
addFrameScript(0, frame1, 23, frame24, 88, frame89, 127, frame128);
}
function frame1(){
stop();
}
function frame24(){
stop();
MovieClip(parent).refuseDie();
}
function frame89(){
MovieClip(parent).goWin2();
}
function frame128(){
stop();
}
}
}//package PnC_Game3_fla
Section 74
//l3_yse_234 (PnC_Game3_fla.l3_yse_234)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_yse_234 extends MovieClip {
public function l3_yse_234(){
addFrameScript(0, frame1, 23, frame24, 24, frame25, 47, frame48, 48, frame49, 109, frame110, 110, frame111);
}
function frame1(){
stop();
}
function frame24(){
stop();
MovieClip(parent).refuseDie();
}
function frame25(){
stop();
}
function frame48(){
stop();
MovieClip(parent).refuseDie();
}
function frame49(){
stop();
}
function frame110(){
stop();
}
function frame111(){
stop();
}
}
}//package PnC_Game3_fla
Section 75
//l4_door_anim_206 (PnC_Game3_fla.l4_door_anim_206)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_door_anim_206 extends MovieClip {
public function l4_door_anim_206(){
addFrameScript(0, frame1, 14, frame15);
}
function frame1(){
stop();
}
function frame15(){
stop();
MovieClip(parent).goWin();
}
}
}//package PnC_Game3_fla
Section 76
//l4_puzzle_anim_226 (PnC_Game3_fla.l4_puzzle_anim_226)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_puzzle_anim_226 extends MovieClip {
public var puzzle:MovieClip;
public function l4_puzzle_anim_226(){
addFrameScript(0, frame1, 9, frame10, 19, frame20);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
function frame20(){
stop();
MovieClip(parent).door.play();
}
}
}//package PnC_Game3_fla
Section 77
//l4_puzzle_save_229 (PnC_Game3_fla.l4_puzzle_save_229)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l4_puzzle_save_229 extends MovieClip {
public function l4_puzzle_save_229(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game3_fla
Section 78
//l4_rock1_215 (PnC_Game3_fla.l4_rock1_215)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_rock1_215 extends MovieClip {
public function l4_rock1_215(){
addFrameScript(0, frame1, 31, frame32, 32, frame33, 63, frame64, 64, frame65, 82, frame83, 99, frame100);
}
function frame1(){
stop();
}
function frame32(){
stop();
MovieClip(parent).refuseDie();
}
function frame33(){
stop();
}
function frame64(){
stop();
}
function frame65(){
stop();
}
function frame83(){
stop();
MovieClip(parent).refuseDie();
}
function frame100(){
stop();
MovieClip(parent).refuseDie();
}
}
}//package PnC_Game3_fla
Section 79
//l4_rock2_208 (PnC_Game3_fla.l4_rock2_208)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_rock2_208 extends MovieClip {
public function l4_rock2_208(){
addFrameScript(0, frame1, 21, frame22, 62, frame63, 73, frame74, 91, frame92, 140, frame141);
}
function frame1(){
stop();
}
function frame22(){
stop();
}
function frame63(){
MovieClip(parent).alien.gotoAndStop(3);
}
function frame74(){
stop();
}
function frame92(){
stop();
MovieClip(parent).refuseDie();
}
function frame141(){
stop();
MovieClip(parent).refuseDie();
}
}
}//package PnC_Game3_fla
Section 80
//l5_lever_186 (PnC_Game3_fla.l5_lever_186)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l5_lever_186 extends MovieClip {
public function l5_lever_186(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game3_fla
Section 81
//l5_meh_188 (PnC_Game3_fla.l5_meh_188)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_meh_188 extends MovieClip {
public var gear3:MovieClip;
public var gear4:MovieClip;
public var gear1:MovieClip;
public var gear2:MovieClip;
public function l5_meh_188(){
addFrameScript(0, frame1, 40, frame41);
}
function frame1(){
stop();
}
function frame41(){
stop();
MovieClip(parent).aliens.play();
}
}
}//package PnC_Game3_fla
Section 82
//l5_something1_all_191 (PnC_Game3_fla.l5_something1_all_191)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_something1_all_191 extends MovieClip {
public function l5_something1_all_191(){
addFrameScript(0, frame1, 6, frame7);
}
function frame1(){
stop();
}
function frame7(){
stop();
MovieClip(parent).goWin2();
}
}
}//package PnC_Game3_fla
Section 83
//l5_something1_walk_anim_199 (PnC_Game3_fla.l5_something1_walk_anim_199)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l5_something1_walk_anim_199 extends MovieClip {
public function l5_something1_walk_anim_199(){
addFrameScript(90, frame91);
}
function frame91(){
stop();
}
}
}//package PnC_Game3_fla
Section 84
//l5_something2_walk_anim_202 (PnC_Game3_fla.l5_something2_walk_anim_202)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l5_something2_walk_anim_202 extends MovieClip {
public function l5_something2_walk_anim_202(){
addFrameScript(103, frame104);
}
function frame104(){
stop();
}
}
}//package PnC_Game3_fla
Section 85
//l6_lever2_168 (PnC_Game3_fla.l6_lever2_168)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l6_lever2_168 extends MovieClip {
public function l6_lever2_168(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game3_fla
Section 86
//l6_rt_anim_171 (PnC_Game3_fla.l6_rt_anim_171)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l6_rt_anim_171 extends MovieClip {
public function l6_rt_anim_171(){
addFrameScript(0, frame1, 25, frame26);
}
function frame1(){
stop();
}
function frame26(){
stop();
}
}
}//package PnC_Game3_fla
Section 87
//l6_steam_anim_167 (PnC_Game3_fla.l6_steam_anim_167)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_steam_anim_167 extends MovieClip {
public function l6_steam_anim_167(){
addFrameScript(0, frame1, 15, frame16, 24, frame25);
}
function frame1(){
stop();
}
function frame16(){
MovieClip(parent).alien.gotoAndStop(3);
}
function frame25(){
stop();
}
}
}//package PnC_Game3_fla
Section 88
//l6_temp_169 (PnC_Game3_fla.l6_temp_169)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l6_temp_169 extends MovieClip {
public var temp:MovieClip;
public function l6_temp_169(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game3_fla
Section 89
//l7_bur_all_130 (PnC_Game3_fla.l7_bur_all_130)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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 l7_bur_all_130 extends MovieClip {
public var l7_bur_corpus:MovieClip;
public function l7_bur_all_130(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 18, frame19, 29, frame30);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame19(){
MovieClip(parent).goWin2();
}
function frame30(){
stop();
}
}
}//package PnC_Game3_fla
Section 90
//l7_puzzle_anim_146 (PnC_Game3_fla.l7_puzzle_anim_146)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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 l7_puzzle_anim_146 extends MovieClip {
public var puzzle:MovieClip;
public function l7_puzzle_anim_146(){
addFrameScript(0, frame1, 9, frame10, 19, frame20);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
function frame20(){
stop();
MovieClip(parent).digger.play();
}
}
}//package PnC_Game3_fla
Section 91
//l7_puzzle_part1_148 (PnC_Game3_fla.l7_puzzle_part1_148)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part1_148 extends MovieClip {
public function l7_puzzle_part1_148(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 92
//l7_puzzle_part10_157 (PnC_Game3_fla.l7_puzzle_part10_157)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part10_157 extends MovieClip {
public function l7_puzzle_part10_157(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 93
//l7_puzzle_part11_158 (PnC_Game3_fla.l7_puzzle_part11_158)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part11_158 extends MovieClip {
public function l7_puzzle_part11_158(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 94
//l7_puzzle_part12_159 (PnC_Game3_fla.l7_puzzle_part12_159)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part12_159 extends MovieClip {
public function l7_puzzle_part12_159(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 95
//l7_puzzle_part13_160 (PnC_Game3_fla.l7_puzzle_part13_160)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part13_160 extends MovieClip {
public function l7_puzzle_part13_160(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 96
//l7_puzzle_part14_161 (PnC_Game3_fla.l7_puzzle_part14_161)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part14_161 extends MovieClip {
public function l7_puzzle_part14_161(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 97
//l7_puzzle_part15_162 (PnC_Game3_fla.l7_puzzle_part15_162)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part15_162 extends MovieClip {
public function l7_puzzle_part15_162(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 98
//l7_puzzle_part16_163 (PnC_Game3_fla.l7_puzzle_part16_163)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part16_163 extends MovieClip {
public function l7_puzzle_part16_163(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 99
//l7_puzzle_part2_149 (PnC_Game3_fla.l7_puzzle_part2_149)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part2_149 extends MovieClip {
public function l7_puzzle_part2_149(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 100
//l7_puzzle_part3_150 (PnC_Game3_fla.l7_puzzle_part3_150)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part3_150 extends MovieClip {
public function l7_puzzle_part3_150(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 101
//l7_puzzle_part4_151 (PnC_Game3_fla.l7_puzzle_part4_151)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part4_151 extends MovieClip {
public function l7_puzzle_part4_151(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 102
//l7_puzzle_part5_152 (PnC_Game3_fla.l7_puzzle_part5_152)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part5_152 extends MovieClip {
public function l7_puzzle_part5_152(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 103
//l7_puzzle_part6_153 (PnC_Game3_fla.l7_puzzle_part6_153)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part6_153 extends MovieClip {
public function l7_puzzle_part6_153(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 104
//l7_puzzle_part7_154 (PnC_Game3_fla.l7_puzzle_part7_154)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part7_154 extends MovieClip {
public function l7_puzzle_part7_154(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 105
//l7_puzzle_part8_155 (PnC_Game3_fla.l7_puzzle_part8_155)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part8_155 extends MovieClip {
public function l7_puzzle_part8_155(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 106
//l7_puzzle_part9_156 (PnC_Game3_fla.l7_puzzle_part9_156)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l7_puzzle_part9_156 extends MovieClip {
public function l7_puzzle_part9_156(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game3_fla
Section 107
//l8_boss_all_73 (PnC_Game3_fla.l8_boss_all_73)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l8_boss_all_73 extends MovieClip {
public function l8_boss_all_73(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
}
function frame2(){
}
function frame3(){
stop();
}
}
}//package PnC_Game3_fla
Section 108
//l8_boss_cick_87 (PnC_Game3_fla.l8_boss_cick_87)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_boss_cick_87 extends MovieClip {
public function l8_boss_cick_87(){
addFrameScript(16, frame17, 33, frame34);
}
function frame17(){
MovieClip(parent.parent).killUs();
}
function frame34(){
stop();
}
}
}//package PnC_Game3_fla
Section 109
//l8_boss_die_88 (PnC_Game3_fla.l8_boss_die_88)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class l8_boss_die_88 extends MovieClip {
public function l8_boss_die_88(){
addFrameScript(76, frame77);
}
function frame77(){
stop();
}
}
}//package PnC_Game3_fla
Section 110
//l8_kran_70 (PnC_Game3_fla.l8_kran_70)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_kran_70 extends MovieClip {
public function l8_kran_70(){
addFrameScript(0, frame1, 1, frame2, 37, frame38, 56, frame57, 59, frame60);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame38(){
stop();
}
function frame57(){
MovieClip(parent).alien.gotoAndStop(3);
}
function frame60(){
stop();
}
}
}//package PnC_Game3_fla
Section 111
//l8_snowball_63 (PnC_Game3_fla.l8_snowball_63)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_snowball_63 extends MovieClip {
public function l8_snowball_63(){
addFrameScript(0, frame1, 1, frame2, 40, frame41);
}
function frame1(){
stop();
}
function frame2(){
MovieClip(parent).alien.visible = false;
}
function frame41(){
stop();
MovieClip(parent).win();
}
}
}//package PnC_Game3_fla
Section 112
//Logo_33 (PnC_Game3_fla.Logo_33)
package PnC_Game3_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_Game3_fla
Section 113
//MEMCounter_338 (PnC_Game3_fla.MEMCounter_338)
package PnC_Game3_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import aq.pcge.*;
import flash.system.*;
public dynamic class MEMCounter_338 extends MovieClip {
public var mem_tf:TextField;
public var mb:uint;
public function MEMCounter_338(){
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_Game3_fla
Section 114
//Message_336 (PnC_Game3_fla.Message_336)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_336 extends MovieClip {
public function Message_336(){
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_Game3_fla
Section 115
//MJLogo_305 (PnC_Game3_fla.MJLogo_305)
package PnC_Game3_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class MJLogo_305 extends MovieClip {
public function MJLogo_305(){
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_Game3_fla
Section 116
//MoreGamesButton_302 (PnC_Game3_fla.MoreGamesButton_302)
package PnC_Game3_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class MoreGamesButton_302 extends MovieClip {
public function MoreGamesButton_302(){
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_Game3_fla
Section 117
//MoreGamesButton_307 (PnC_Game3_fla.MoreGamesButton_307)
package PnC_Game3_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class MoreGamesButton_307 extends MovieClip {
public function MoreGamesButton_307(){
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_Game3_fla
Section 118
//MuteButton_295 (PnC_Game3_fla.MuteButton_295)
package PnC_Game3_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
public dynamic class MuteButton_295 extends MovieClip {
public function MuteButton_295(){
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_Game3_fla
Section 119
//Nuevo_final_2_MINIJUEGOS_anim_309 (PnC_Game3_fla.Nuevo_final_2_MINIJUEGOS_anim_309)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Nuevo_final_2_MINIJUEGOS_anim_309 extends MovieClip {
public var maskedobject:MovieClip;
public var themask:MovieClip;
public function Nuevo_final_2_MINIJUEGOS_anim_309(){
addFrameScript(76, frame77, 158, frame159);
}
function frame77(){
maskedobject.mask = themask;
maskedobject.cacheAsBitmap = true;
themask.cacheAsBitmap = true;
}
function frame159(){
stop();
MovieClip(parent).nextFrame();
}
}
}//package PnC_Game3_fla
Section 120
//OptBackButton_10 (PnC_Game3_fla.OptBackButton_10)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
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_Game3_fla
Section 121
//OptHelpButton_11 (PnC_Game3_fla.OptHelpButton_11)
package PnC_Game3_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_Game3_fla
Section 122
//OptionsButton_296 (PnC_Game3_fla.OptionsButton_296)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
public dynamic class OptionsButton_296 extends MovieClip {
public function OptionsButton_296(){
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_Game3_fla
Section 123
//OptMenuButton_12 (PnC_Game3_fla.OptMenuButton_12)
package PnC_Game3_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_Game3_fla
Section 124
//OptMuteButton_14 (PnC_Game3_fla.OptMuteButton_14)
package PnC_Game3_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_Game3_fla
Section 125
//PlayButton_19 (PnC_Game3_fla.PlayButton_19)
package PnC_Game3_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_Game3_fla
Section 126
//PlayButton_306 (PnC_Game3_fla.PlayButton_306)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import aq.pcge.*;
public dynamic class PlayButton_306 extends MovieClip {
public function PlayButton_306(){
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_Game3_fla
Section 127
//PlayButton_5 (PnC_Game3_fla.PlayButton_5)
package PnC_Game3_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_Game3_fla
Section 128
//PlayButtonBg_4 (PnC_Game3_fla.PlayButtonBg_4)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class PlayButtonBg_4 extends MovieClip {
public function PlayButtonBg_4(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package PnC_Game3_fla
Section 129
//POSMonitor_337 (PnC_Game3_fla.POSMonitor_337)
package PnC_Game3_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import aq.pcge.*;
public dynamic class POSMonitor_337 extends MovieClip {
public var x_tf:TextField;
public var y_tf:TextField;
public function POSMonitor_337(){
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_Game3_fla
Section 130
//PreloadBar_2 (PnC_Game3_fla.PreloadBar_2)
package PnC_Game3_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_Game3_fla
Section 131
//Preloader_1 (PnC_Game3_fla.Preloader_1)
package PnC_Game3_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 = "9896QDBB97351";
ad = new AdLoader(CPMStarContentSpotID);
adBox.addChild(ad);
}
function frame39(){
stop();
}
}
}//package PnC_Game3_fla
Section 132
//S_100 (PnC_Game3_fla.S_100)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_100 extends MovieClip {
public function S_100(){
addFrameScript(17, frame18);
}
function frame18(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 133
//S_101 (PnC_Game3_fla.S_101)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_101 extends MovieClip {
public function S_101(){
addFrameScript(15, frame16);
}
function frame16(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 134
//S_102 (PnC_Game3_fla.S_102)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_102 extends MovieClip {
public function S_102(){
addFrameScript(16, frame17);
}
function frame17(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 135
//S_103 (PnC_Game3_fla.S_103)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_103 extends MovieClip {
public function S_103(){
addFrameScript(74, frame75);
}
function frame75(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 136
//S_108 (PnC_Game3_fla.S_108)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_108 extends MovieClip {
public var Laser_1:MovieClip;
public function S_108(){
addFrameScript(25, frame26);
}
function frame26(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 137
//S_112 (PnC_Game3_fla.S_112)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_112 extends MovieClip {
public var Laser_1:MovieClip;
public function S_112(){
addFrameScript(31, frame32);
}
function frame32(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 138
//S_114 (PnC_Game3_fla.S_114)
package PnC_Game3_fla {
import flash.display.*;
import flash.geom.*;
import aq.pcge.game.*;
import flash.events.*;
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 S_114 extends MovieClip {
public var wheel_1:MovieClip;
public var head_1:MovieClip;
public var Laser_1:MovieClip;
public function S_114(){
addFrameScript(25, frame26, 47, frame48);
}
function frame26(){
MovieClip(parent.parent).alf.gotoAndPlay(25);
}
function frame48(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 139
//S_115 (PnC_Game3_fla.S_115)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_115 extends MovieClip {
public var head_1:MovieClip;
public var Laser_1:MovieClip;
public function S_115(){
addFrameScript(59, frame60);
}
function frame60(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 140
//S_117 (PnC_Game3_fla.S_117)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_117 extends MovieClip {
public var wheel_1:MovieClip;
public var head_1:MovieClip;
public var Laser_1:MovieClip;
public function S_117(){
addFrameScript(65, frame66);
}
function frame66(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 141
//S_119 (PnC_Game3_fla.S_119)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_119 extends MovieClip {
public var head_1:MovieClip;
public var Laser_1:MovieClip;
public function S_119(){
addFrameScript(73, frame74);
}
function frame74(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 142
//S_121 (PnC_Game3_fla.S_121)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_121 extends MovieClip {
public var head_1:MovieClip;
public var Laser_1:MovieClip;
public function S_121(){
addFrameScript(141, frame142);
}
function frame142(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 143
//S_122 (PnC_Game3_fla.S_122)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_122 extends MovieClip {
public function S_122(){
addFrameScript(16, frame17);
}
function frame17(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 144
//S_94 (PnC_Game3_fla.S_94)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_94 extends MovieClip {
public var wheel_1:MovieClip;
public var head_1:MovieClip;
public var Laser_1:MovieClip;
public function S_94(){
addFrameScript(9, frame10, 23, frame24);
}
function frame10(){
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_KEYFRAME, true));
}
function frame24(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 145
//S_96 (PnC_Game3_fla.S_96)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_96 extends MovieClip {
public var wheel_1:MovieClip;
public var head_1:MovieClip;
public var Laser_1:MovieClip;
public function S_96(){
addFrameScript(9, frame10, 23, frame24);
}
function frame10(){
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_KEYFRAME, true));
}
function frame24(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 146
//S_97 (PnC_Game3_fla.S_97)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_97 extends MovieClip {
public var wheel_1:MovieClip;
public var head_1:MovieClip;
public var Laser_1:MovieClip;
public function S_97(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 147
//S_99 (PnC_Game3_fla.S_99)
package PnC_Game3_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class S_99 extends MovieClip {
public var wheel_1:MovieClip;
public var head_1:MovieClip;
public var Laser_1:MovieClip;
public function S_99(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game3_fla
Section 148
//Sara_antenna_die_107 (PnC_Game3_fla.Sara_antenna_die_107)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Sara_antenna_die_107 extends MovieClip {
public function Sara_antenna_die_107(){
addFrameScript(59, frame60);
}
function frame60(){
stop();
}
}
}//package PnC_Game3_fla
Section 149
//Sara_clap_open_95 (PnC_Game3_fla.Sara_clap_open_95)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Sara_clap_open_95 extends MovieClip {
public function Sara_clap_open_95(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package PnC_Game3_fla
Section 150
//Sara_clap_refuse_111 (PnC_Game3_fla.Sara_clap_refuse_111)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Sara_clap_refuse_111 extends MovieClip {
public function Sara_clap_refuse_111(){
addFrameScript(11, frame12);
}
function frame12(){
stop();
}
}
}//package PnC_Game3_fla
Section 151
//Sara_clap_upset_113 (PnC_Game3_fla.Sara_clap_upset_113)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Sara_clap_upset_113 extends MovieClip {
public function Sara_clap_upset_113(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package PnC_Game3_fla
Section 152
//Sara_eye_die_106 (PnC_Game3_fla.Sara_eye_die_106)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Sara_eye_die_106 extends MovieClip {
public function Sara_eye_die_106(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package PnC_Game3_fla
Section 153
//Sara_head__refuse_109 (PnC_Game3_fla.Sara_head__refuse_109)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Sara_head__refuse_109 extends MovieClip {
public function Sara_head__refuse_109(){
addFrameScript(25, frame26);
}
function frame26(){
}
}
}//package PnC_Game3_fla
Section 154
//Sara_laser_refuse_110 (PnC_Game3_fla.Sara_laser_refuse_110)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Sara_laser_refuse_110 extends MovieClip {
public function Sara_laser_refuse_110(){
addFrameScript(25, frame26);
}
function frame26(){
stop();
}
}
}//package PnC_Game3_fla
Section 155
//Sara_sparks_104 (PnC_Game3_fla.Sara_sparks_104)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Sara_sparks_104 extends MovieClip {
public function Sara_sparks_104(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package PnC_Game3_fla
Section 156
//Sara_weel_anim_slowStat_56 (PnC_Game3_fla.Sara_weel_anim_slowStat_56)
package PnC_Game3_fla {
import flash.display.*;
public dynamic class Sara_weel_anim_slowStat_56 extends MovieClip {
public function Sara_weel_anim_slowStat_56(){
addFrameScript(47, frame48);
}
function frame48(){
stop();
}
}
}//package PnC_Game3_fla
Section 157
//Episode_01 (Episode_01)
package {
import aq.pcge.game.*;
public dynamic class Episode_01 extends Episode {
public var nowPlace:Number;
public function Episode_01(){
addFrameScript(0, frame1);
}
public function killFirst():void{
action = false;
hero.playAnim("walk");
hero.turnTo(200);
hero.moveTo(200, hero.y, function (){
hero.turnOn("left");
rock1.gotoAndPlay(23);
hero.playAnim("shot_up", function (){
action = false;
heroIdle();
});
});
}
public function killSecond():void{
action = false;
hero.playAnim("walk");
hero.turnTo(372);
hero.moveTo(372, hero.y, function (){
hero.turnOn("right");
rock2.gotoAndPlay(25);
hero.playAnim("shot_up", function (){
action = false;
heroIdle();
});
});
}
public function takeRock():void{
action = false;
hero.playAnim("walk");
hero.turnTo(164);
hero.moveTo(164, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
takeItem("rock");
rock1.nextFrame();
do1.visible = false;
do2.visible = false;
do3.visible = false;
action = true;
heroIdle();
});
});
}
public function shootRightFirst():void{
action = false;
hero.playAnim("walk");
hero.turnTo(190);
hero.moveTo(190, hero.y, function (){
hero.turnOn("left");
rock1.play();
hero.playAnim("shot_up", function (){
do1.visible = true;
do2.visible = false;
do3.visible = false;
action = true;
heroIdle();
});
});
}
public function shootRightSecond():void{
action = false;
hero.playAnim("walk");
hero.turnTo(360);
hero.moveTo(360, hero.y, function (){
hero.turnOn("right");
rock2.play();
hero.playAnim("shot_up", function (){
do4.visible = false;
do3.visible = false;
action = true;
heroIdle();
});
});
}
public function placeSecondStep():void{
action = false;
hero.playAnim("walk");
hero.turnTo(530);
hero.moveTo(530, hero.y, function (){
if (hasItem("stal")){
dropItem("stal");
} else {
if (hasItem("rock")){
dropItem("rock");
};
};
hero.turnOn("right");
hero.playAnim("use", function (){
epicScene.nextFrame();
action = true;
heroIdle();
});
});
}
public function placeThirdStep():void{
action = false;
hero.playAnim("walk");
hero.turnTo(620);
hero.moveTo(620, hero.y, function (){
if (hasItem("stal")){
dropItem("stal");
} else {
if (hasItem("rock")){
dropItem("rock");
};
};
hero.turnOn("right");
hero.playAnim("use", function (){
epicScene.nextFrame();
action = false;
goWin2();
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
epicScene.gotoAndStop(1);
rock1.gotoAndStop(1);
rock2.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("stal", Item_Stal);
registerItem("rock", Item_Stal);
do1.visible = false;
addNewActivator("stal", stal, {onClick:function ():void{
action = false;
heroFindItem("stal", stal, function (){
action = true;
}, "take", "stal", 30, 30);
}});
addNewActivator("do2", do2, {onClick:function ():void{
killFirst();
}});
addNewActivator("do4", do4, {onClick:function ():void{
killSecond();
}});
addNewActivator("do1", do1, {onClick:function ():void{
takeRock();
do1.visible = false;
}});
addNewActivator("do3", do3, {onClick:function ():void{
shootRightFirst();
do1.visible = true;
}});
addNewActivator("do5", do5, {onClick:function ():void{
shootRightSecond();
nowPlace++;
do5.visible = false;
}});
nowPlace = 0;
addNewActivator("do6", do6, {onClick:function ():void{
if (nowPlace == 0){
heroRefuse();
} else {
if ((((nowPlace == 1)) && (((hasItem("rock")) || (hasItem("stal")))))){
nowPlace++;
placeSecondStep();
} else {
if ((((nowPlace == 2)) && (((hasItem("rock")) || (hasItem("stal")))))){
nowPlace++;
placeThirdStep();
};
};
};
}});
heroIdle();
start();
}
}
}//package
Section 158
//Episode_02 (Episode_02)
package {
import aq.pcge.game.*;
public dynamic class Episode_02 extends Episode {
public function Episode_02(){
addFrameScript(0, frame1);
}
public function takeClap():void{
action = false;
hero.playAnim("walk");
hero.turnTo(345);
hero.moveTo(345, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
ice.nextFrame();
takeItem("clap");
action = true;
heroIdle();
});
});
}
public function placeWoods():void{
action = false;
hero.playAnim("walk");
hero.turnTo(345);
hero.moveTo(345, hero.y, function (){
dropItem("woods");
hero.turnOn("left");
hero.playAnim("use", function (){
ice.gotoAndStop(24);
action = true;
heroIdle();
});
});
}
public function meltIceDown():void{
action = false;
hero.playAnim("walk");
hero.turnTo(440);
hero.moveTo(440, hero.y, function (){
ice.play();
hero.turnOn("left");
hero.playAnim("shot_down", function (){
action = true;
heroIdle();
});
});
}
public function openCage():void{
action = false;
hero.playAnim("walk");
hero.turnTo(440);
hero.moveTo(440, hero.y, function (){
dropItem("clap");
hero.turnOn("right");
hero.playAnim("l2_clamp", function (){
action = false;
heroIdle();
});
});
}
public function killAlf():void{
action = false;
hero.playAnim("walk");
hero.turnTo(400);
hero.moveTo(400, hero.y, function (){
hero.turnOn("right");
alf.gotoAndPlay(2);
hero.playAnim("shot", function (){
action = false;
heroIdle();
});
});
}
public function killIce():void{
action = false;
hero.playAnim("walk");
hero.turnTo(400);
hero.moveTo(400, hero.y, function (){
hero.turnOn("left");
ice.gotoAndPlay(2);
hero.playAnim("shot", function (){
action = false;
heroIdle();
});
});
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", 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(){
alf.gotoAndStop(1);
ice.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("wood1", Item_Wood1);
registerItem("wood2", Item_Wood2);
registerItem("wood3", Item_Wood3);
registerItem("woods", Item_Woods);
registerItem("clap", Item_Clap);
addNewActivator("wood1", wood1, {onClick:function ():void{
action = false;
heroFindItem("wood1", wood1, function (){
if (((((hasItem("wood1")) && (hasItem("wood2")))) && (hasItem("wood3")))){
makeItem("woods", ["wood1", "wood2", "wood3"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "wood1", 30, 30);
}});
addNewActivator("wood2", wood2, {onClick:function ():void{
action = false;
heroFindItem("wood2", wood2, function (){
if (((((hasItem("wood1")) && (hasItem("wood2")))) && (hasItem("wood3")))){
makeItem("woods", ["wood1", "wood2", "wood3"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "wood2", 30, 30);
}});
addNewActivator("wood3", wood3, {onClick:function ():void{
action = false;
heroFindItem("wood3", wood3, function (){
if (((((hasItem("wood1")) && (hasItem("wood2")))) && (hasItem("wood3")))){
makeItem("woods", ["wood1", "wood2", "wood3"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "wood3", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
do1.visible = false;
takeClap();
}});
addNewActivator("ice", ice, {onClick:function ():void{
if (ice.currentFrame == 24){
meltIceDown();
removeActivator("ice");
do1.visible = true;
} else {
if (hasItem("woods")){
placeWoods();
} else {
killIce();
};
};
}});
do1.visible = false;
addNewActivator("alf", alf, {onClick:function ():void{
if (hasItem("clap")){
openCage();
} else {
killAlf();
};
}});
heroIdle();
start();
}
}
}//package
Section 159
//Episode_03 (Episode_03)
package {
import aq.pcge.game.*;
public dynamic class Episode_03 extends Episode {
public function Episode_03(){
addFrameScript(0, frame1);
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnTo(450);
hero.moveTo(450, hero.y, function (){
dropItem("hand1");
dropItem("hand2");
hero.turnOn("right");
hero.playAnim("l3_vin", function (){
action = false;
win();
});
});
}
public function tryAndHuj():void{
action = false;
hero.playAnim("walk");
hero.turnTo(450);
hero.moveTo(450, hero.y, function (){
hero.turnOn("right");
hero.playAnim("l3_can't_up", function (){
action = true;
heroIdle();
});
});
}
public function freeHand():void{
action = false;
hero.playAnim("walk");
hero.turnTo(330);
hero.moveTo(330, hero.y, function (){
dropItem("hammer");
hero.turnOn("left");
ice.gotoAndPlay(50);
hero.playAnim("l2_use_hummer", function (){
removeActivator("ice");
do3.visible = true;
action = true;
heroIdle();
});
});
}
public function takeHand2():void{
action = false;
hero.playAnim("walk");
hero.turnTo(267);
hero.moveTo(267, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
ice.nextFrame();
takeItem("hand2");
do3.visible = false;
action = true;
heroIdle();
});
});
}
public function placeStone():void{
action = false;
hero.playAnim("walk");
hero.turnTo(260);
hero.moveTo(260, hero.y, function (){
dropItem("stone2");
hero.turnOn("left");
hero.playAnim("use_up", function (){
ice.gotoAndStop(25);
action = true;
heroIdle();
});
});
}
public function killIce():void{
action = false;
hero.playAnim("walk");
hero.turnTo(400);
hero.moveTo(400, hero.y, function (){
hero.turnOn("left");
ice.play();
hero.playAnim("shot", function (){
action = false;
heroIdle();
});
});
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", 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(){
ice.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("hammer", Item_Hammer);
registerItem("wood", Item_Wood);
registerItem("rope", Item_Rope);
registerItem("stone1", Item_Stone1);
registerItem("stone2", Item_Stone2);
registerItem("hand1", Item_Hand);
registerItem("hand2", Item_Hand);
addNewActivator("hand1", hand1, {onClick:function ():void{
action = false;
heroFindItem("hand1", hand1, function (){
action = true;
}, "take", "hand1", 30, 30);
}});
addNewActivator("stone2", stone2, {onClick:function ():void{
action = false;
heroFindItem("stone2", stone2, function (){
action = true;
}, "take", "stone2", 30, 30);
}});
addNewActivator("wood", wood, {onClick:function ():void{
action = false;
heroFindItem("wood", wood, function (){
if (((((hasItem("wood")) && (hasItem("stone1")))) && (hasItem("rope")))){
makeItem("hammer", ["wood", "stone1", "rope"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "wood", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("rope", rope, function (){
if (((((hasItem("wood")) && (hasItem("stone1")))) && (hasItem("rope")))){
makeItem("hammer", ["wood", "stone1", "rope"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "do1", 30, 30);
}});
addNewActivator("stone1", stone1, {onClick:function ():void{
action = false;
heroFindItem("stone1", stone1, function (){
if (((((hasItem("wood")) && (hasItem("stone1")))) && (hasItem("rope")))){
makeItem("hammer", ["wood", "stone1", "rope"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "stone1", 30, 30);
}});
addNewActivator("do2", do2, {onClick:function ():void{
if (((hasItem("hand1")) && (hasItem("hand2")))){
goWin();
} else {
tryAndHuj();
};
}});
addNewActivator("do3", do3, {onClick:function ():void{
takeHand2();
}});
addNewActivator("ice", ice, {onClick:function ():void{
if (ice.currentFrame == 25){
if (hasItem("hammer")){
freeHand();
} else {
killIce();
};
} else {
if (hasItem("stone2")){
placeStone();
} else {
killIce();
};
};
}});
do3.visible = false;
heroIdle();
start();
}
}
}//package
Section 160
//Episode_04 (Episode_04)
package {
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
import aq.pcge.game.*;
import flash.events.*;
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_04 extends Episode {
public var cargoIn;
public var mc;
public var startPoint:Number;
public var startArray:Array;
public var currClip;
public function Episode_04(){
addFrameScript(0, frame1);
}
public function placeRail():void{
action = false;
hero.playAnim("walk");
hero.turnTo(75);
hero.moveTo(75, hero.y, function (){
dropItem("rail");
hero.turnOn("right");
hero.playAnim("use", function (){
rock.gotoAndStop(33);
action = true;
heroIdle();
});
});
}
public function startRock():void{
action = false;
hero.playAnim("walk");
hero.turnTo(210);
hero.moveTo(210, hero.y, function (){
hero.turnOn("left");
rock.play();
if (rock.currentFrame == 33){
if (cargoIn){
epicScene.gotoAndPlay(23);
} else {
epicScene.gotoAndPlay(93);
};
};
hero.playAnim("shot_up", function (){
action = true;
heroIdle();
});
});
}
public function killRock():void{
action = false;
hero.playAnim("walk");
hero.turnTo(210);
hero.moveTo(210, hero.y, function (){
hero.turnOn("left");
if (rock.currentFrame == 33){
rock.gotoAndPlay(84);
} else {
rock.gotoAndPlay(66);
};
hero.playAnim("shot_up", function (){
action = true;
heroIdle();
});
});
}
public function killCargo():void{
action = false;
hero.playAnim("walk");
hero.turnTo(340);
hero.moveTo(340, hero.y, function (){
hero.turnOn("left");
epicScene.gotoAndPlay(75);
hero.playAnim("shot_up", function (){
action = true;
heroIdle();
});
});
}
public function placeCargo():void{
action = false;
hero.playAnim("walk");
hero.turnTo(340);
hero.moveTo(340, hero.y, function (){
hero.turnOn("left");
epicScene.gotoAndPlay(2);
cargoIn = true;
hero.playAnim("shot_up", function (){
action = true;
heroIdle();
});
});
}
public function goDie():void{
action = false;
hero.playAnim("walk");
hero.turnTo(470);
hero.moveTo(470, hero.y, function (){
hero.turnOn("right");
alien.gotoAndStop(2);
action = false;
heroIdle();
});
}
public function beginPuzzle():void{
puzzle.visible = true;
puzzle.gotoAndPlay(2);
mc.red.addEventListener(MouseEvent.MOUSE_DOWN, startDragF);
mc.check1.gotoAndStop(2);
}
public function startDragF(_arg1:MouseEvent):void{
currClip = MovieClip(_arg1.currentTarget);
currClip.startDrag();
stage.addEventListener(Event.ENTER_FRAME, myFunction);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
}
public function goToStart(){
stage.removeEventListener(Event.ENTER_FRAME, myFunction);
stage.removeEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
currClip.stopDrag();
trace(("startPoint = " + startPoint));
trace(("startArrayX[startPoint].name = " + startArray[startPoint].name));
trace(("startArrayX[startPoint].x = " + startArray[startPoint].x));
trace(("startArrayX[startPoint].y = " + startArray[startPoint].y));
TweenLite.to(currClip, 0.5, {x:startArray[startPoint].x, y:startArray[startPoint].y, ease:Circ.easeOut});
trace(("get timer = " + getTimer()));
currClip = null;
}
public function stage_onMouseUp(_arg1:MouseEvent):void{
goToStart();
}
public function myFunction(_arg1:Event){
if (PixelPerfectCollisionDetection.isColliding(mc.red, mc.border, this, true, 0)){
goToStart();
} else {
if (PixelPerfectCollisionDetection.isColliding(mc.red, mc.check2, this, true, 0)){
trace("aasdasdasdasdasdasdasdasd");
startPoint = 1;
mc.check2.gotoAndStop(2);
} else {
if (PixelPerfectCollisionDetection.isColliding(mc.red, mc.check3, this, true, 0)){
startPoint = 2;
mc.check3.gotoAndStop(2);
} else {
if (PixelPerfectCollisionDetection.isColliding(mc.red, mc.check4, this, true, 0)){
startPoint = 3;
mc.check4.gotoAndStop(2);
} else {
if (PixelPerfectCollisionDetection.isColliding(mc.red, mc.finish, this, true, 0)){
mc.finish.gotoAndStop(2);
stage.removeEventListener(Event.ENTER_FRAME, myFunction);
puzzle.play();
action = true;
};
};
};
};
};
}
public function openPuzzle():void{
action = false;
hero.playAnim("walk");
hero.turnTo(410);
hero.moveTo(410, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use_up", function (){
action = true;
beginPuzzle();
heroIdle();
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", function (){
lose();
});
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(620, hero.y, function (){
hero.moveTo(745, 378, function (){
win();
});
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(627, hero.y, function (){
hero.moveTo(745, 356, function (){
win();
});
});
}
function frame1(){
epicScene.gotoAndStop(1);
puzzle.gotoAndStop(1);
rock.gotoAndStop(1);
door.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("rail", Item_Rail);
addNewActivator("rail", rail, {onClick:function ():void{
action = false;
heroFindItem("rail", rail, function (){
action = true;
}, "take", "rail", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
if (hasItem("rail")){
placeRail();
} else {
heroRefuse();
};
}});
addNewActivator("do3", do3, {onClick:function ():void{
startRock();
}});
addNewActivator("do2", do2, {onClick:function ():void{
killRock();
}});
addNewActivator("do4", do4, {onClick:function ():void{
killCargo();
}});
addNewActivator("do5", do5, {onClick:function ():void{
placeCargo();
}});
addNewActivator("door", door, {onClick:function ():void{
if (alien.currentFrame == 3){
openPuzzle();
} else {
goDie();
};
}});
cargoIn = false;
mc = puzzle.puzzle;
startPoint = 0;
startArray = [mc.check1, mc.check2, mc.check3, mc.check4];
heroIdle();
start();
}
}
}//package
Section 161
//Episode_05 (Episode_05)
package {
import flash.display.*;
import flash.geom.*;
import aq.pcge.game.*;
import flash.events.*;
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 function Episode_05(){
addFrameScript(0, frame1);
}
public function placeGear1():void{
action = false;
hero.playAnim("walk");
hero.turnTo(108);
hero.moveTo(108, hero.y, function (){
dropItem("gear1");
hero.turnOn("right");
hero.playAnim("use_up", function (){
bridge.gear1.visible = true;
action = true;
heroIdle();
});
});
}
public function placeGear2():void{
action = false;
hero.playAnim("walk");
hero.turnTo(108);
hero.moveTo(108, hero.y, function (){
dropItem("gear2");
hero.turnOn("right");
hero.playAnim("use_up", function (){
bridge.gear2.visible = true;
action = true;
heroIdle();
});
});
}
public function placeGear3():void{
action = false;
hero.playAnim("walk");
hero.turnTo(108);
hero.moveTo(108, hero.y, function (){
dropItem("gear3");
hero.turnOn("right");
hero.playAnim("use_up", function (){
bridge.gear3.visible = true;
action = true;
heroIdle();
});
});
}
public function placeGear4():void{
action = false;
hero.playAnim("walk");
hero.turnTo(108);
hero.moveTo(108, hero.y, function (){
dropItem("gear4");
hero.turnOn("right");
hero.playAnim("use_up", function (){
bridge.gear4.visible = true;
action = true;
heroIdle();
});
});
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnTo(52);
hero.moveTo(52, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use_up", function (){
lever.nextFrame();
bridge.gotoAndPlay(2);
action = false;
heroIdle();
});
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnTo(52);
hero.moveTo(52, hero.y, function (){
hero.turnOn("right");
hero.playAnim("l5_vin", function (){
action = false;
win();
});
});
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", function (){
lose();
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
function frame1(){
bridge.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("gear1", Item_Gear1);
registerItem("gear2", Item_Gear1);
registerItem("gear3", Item_Gear1);
registerItem("gear4", Item_Gear1);
addNewActivator("gear1", gear1, {onClick:function ():void{
action = false;
heroFindItem("gear1", gear1, function (){
action = true;
}, "take_up", "gear1", 30, 30);
}});
addNewActivator("gear2", gear2, {onClick:function ():void{
action = false;
heroFindItem("gear2", gear2, function (){
action = true;
}, "take_up", "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_up", "gear4", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
if (((hasItem("gear1")) && (!(bridge.gear1.visible)))){
placeGear1();
} else {
if (((hasItem("gear2")) && (!(bridge.gear2.visible)))){
placeGear2();
} else {
if (((hasItem("gear3")) && (!(bridge.gear3.visible)))){
placeGear3();
} else {
if (((hasItem("gear4")) && (!(bridge.gear4.visible)))){
placeGear4();
} else {
heroRefuse();
};
};
};
};
}});
bridge.gear1.visible = (bridge.gear2.visible = (bridge.gear3.visible = (bridge.gear4.visible = false)));
addNewActivator("lever", lever, {onClick:function ():void{
if (((((((bridge.gear1.visible) && (bridge.gear2.visible))) && (bridge.gear3.visible))) && (bridge.gear4.visible))){
goWin();
} else {
heroRefuse();
};
}});
heroIdle();
start();
}
}
}//package
Section 162
//Episode_06 (Episode_06)
package {
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
import aq.pcge.game.*;
import flash.events.*;
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_06 extends Episode {
public var order:Array;
public var nowCheck:Number;
public var mc;
public function Episode_06(){
addFrameScript(0, frame1);
}
public function killGuy():void{
action = false;
hero.playAnim("walk");
hero.turnTo(134);
hero.moveTo(134, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use_up", function (){
tube.play();
steam.play();
action = false;
heroIdle();
});
});
}
public function goDie():void{
action = false;
hero.playAnim("walk");
hero.turnTo(500);
hero.moveTo(500, hero.y, function (){
hero.turnOn("right");
alien.gotoAndStop(2);
action = false;
heroIdle();
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", function (){
lose();
});
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(620, hero.y, function (){
hero.moveTo(745, 378, function (){
win();
});
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(900, hero.y, function (){
win();
});
}
function frame1(){
tube.gotoAndStop(1);
alien.gotoAndStop(1);
steam.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
order = [lever2, lever4, lever3, lever1];
nowCheck = 0;
mc = temp.temp;
temp.gotoAndStop(1);
addNewActivator("lever1", lever1, {onClick:function ():void{
if (order[nowCheck] == lever1){
lever1.gotoAndStop(2);
nowCheck++;
TweenLite.to(mc, 0.5, {height:(mc.height + 29)});
temp.gotoAndStop(2);
removeActivator("lever1");
removeActivator("lever2");
removeActivator("lever3");
removeActivator("lever4");
} else {
TweenLite.to(mc, 0.5, {height:10});
nowCheck = 0;
lever1.gotoAndStop(1);
lever2.gotoAndStop(1);
lever3.gotoAndStop(1);
lever4.gotoAndStop(1);
};
}});
addNewActivator("lever2", lever2, {onClick:function ():void{
if (order[nowCheck] == lever2){
lever2.gotoAndStop(2);
nowCheck++;
TweenLite.to(mc, 0.5, {height:(mc.height + 29)});
} else {
TweenLite.to(mc, 0.5, {height:10});
nowCheck = 0;
lever1.gotoAndStop(1);
lever2.gotoAndStop(1);
lever3.gotoAndStop(1);
lever4.gotoAndStop(1);
};
}});
addNewActivator("lever3", lever3, {onClick:function ():void{
if (order[nowCheck] == lever3){
lever3.gotoAndStop(2);
nowCheck++;
TweenLite.to(mc, 0.5, {height:(mc.height + 29)});
} else {
TweenLite.to(mc, 0.5, {height:10});
nowCheck = 0;
lever1.gotoAndStop(1);
lever2.gotoAndStop(1);
lever3.gotoAndStop(1);
lever4.gotoAndStop(1);
};
}});
addNewActivator("lever4", lever4, {onClick:function ():void{
if (order[nowCheck] == lever4){
lever4.gotoAndStop(2);
nowCheck++;
TweenLite.to(mc, 0.5, {height:(mc.height + 29)});
} else {
TweenLite.to(mc, 0.5, {height:10});
nowCheck = 0;
lever1.gotoAndStop(1);
lever2.gotoAndStop(1);
lever3.gotoAndStop(1);
lever4.gotoAndStop(1);
};
}});
addNewActivator("do1", do1, {onClick:function ():void{
if (temp.currentFrame == 2){
killGuy();
} else {
heroRefuse();
};
}});
addNewActivator("alien", alien, {onClick:function ():void{
goDie();
}});
heroIdle();
start();
}
}
}//package
Section 163
//Episode_07 (Episode_07)
package {
import flash.display.*;
import flash.geom.*;
import aq.pcge.game.*;
import flash.events.*;
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 mc;
public var arrayP;
public function Episode_07(){
addFrameScript(0, frame1);
}
public function placeDrill():void{
action = false;
hero.playAnim("walk");
hero.turnTo(370);
hero.moveTo(370, hero.y, function (){
dropItem("drill");
hero.turnOn("right");
hero.playAnim("use", function (){
digger.l7_bur_corpus.drill.visible = true;
if (((((digger.l7_bur_corpus.drill.visible) && (digger.l7_bur_corpus.engine.visible))) && ((digger.currentFrame == 3)))){
do1.visible = false;
openPuzzle();
} else {
action = true;
};
heroIdle();
});
});
}
public function placeEngine():void{
action = false;
hero.playAnim("walk");
hero.turnTo(211);
hero.moveTo(211, hero.y, function (){
dropItem("engine");
hero.turnOn("right");
hero.playAnim("use_up", function (){
digger.l7_bur_corpus.engine.visible = true;
if (((((digger.l7_bur_corpus.drill.visible) && (digger.l7_bur_corpus.engine.visible))) && ((digger.currentFrame == 3)))){
do1.visible = false;
openPuzzle();
} else {
action = true;
};
heroIdle();
});
});
}
public function placeWheel():void{
action = false;
hero.playAnim("walk");
hero.turnTo(243);
hero.moveTo(243, hero.y, function (){
if (hasItem("wheel1")){
dropItem("wheel1");
} else {
if (hasItem("wheel2")){
dropItem("wheel2");
};
};
hero.turnOn("right");
hero.playAnim("use", function (){
digger.nextFrame();
trace(("digger.currentFrame = " + digger.currentFrame));
trace(("digger.l7_bur_corpus.engine.visible = " + digger.l7_bur_corpus.engine.visible));
trace(("digger.l7_bur_corpus.drill.visible = " + digger.l7_bur_corpus.drill.visible));
if (((((digger.l7_bur_corpus.drill.visible) && (digger.l7_bur_corpus.engine.visible))) && ((digger.currentFrame == 3)))){
do1.visible = false;
openPuzzle();
} else {
action = true;
};
});
});
}
public function openPuzzle():void{
action = false;
hero.playAnim("walk");
hero.turnTo(310);
hero.moveTo(310, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use", function (){
puzzle.play();
var _local1:uint;
while (_local1 < arrayP.length) {
arrayP[_local1].gotoAndStop(Math.floor((Math.random() * puzzle.puzzle.p11.totalFrames)));
arrayP[_local1].addEventListener(MouseEvent.CLICK, onClickPuzzle);
_local1++;
};
action = true;
heroIdle();
});
});
}
public function onClickPuzzle(_arg1:MouseEvent):void{
var _local2:* = _arg1.target;
if (_local2.currentFrame == _local2.totalFrames){
_local2.gotoAndStop(1);
} else {
_local2.nextFrame();
};
testWin();
}
public function testWin():void{
var _local1:* = true;
var _local2:uint;
while (_local2 < arrayP.length) {
if (arrayP[_local2].currentFrame != 1){
_local1 = false;
};
_local2++;
};
if (_local1){
puzzle.play();
};
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", 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(){
digger.gotoAndStop(1);
digger.l7_bur_corpus.engine.visible = false;
digger.l7_bur_corpus.drill.visible = false;
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("wheel1", Item_Wheel);
registerItem("wheel2", Item_Wheel);
registerItem("drill", Item_Drill);
registerItem("engine", Item_Engine);
addNewActivator("wheel1", wheel1, {onClick:function ():void{
action = false;
heroFindItem("wheel1", wheel1, function (){
action = true;
}, "take_up", "wheel1", 30, 30);
}});
addNewActivator("wheel2", wheel2, {onClick:function ():void{
action = false;
heroFindItem("wheel2", wheel2, function (){
action = true;
}, "take_up", "wheel2", 30, 30);
}});
addNewActivator("drill", drill, {onClick:function ():void{
action = false;
heroFindItem("drill", drill, function (){
action = true;
}, "take_up", "drill", 30, 30);
}});
addNewActivator("engine", engine, {onClick:function ():void{
action = false;
heroFindItem("engine", engine, function (){
action = true;
}, "take", "engine", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
if (((hasItem("drill")) && (!(digger.l7_bur_corpus.drill.visible)))){
placeDrill();
} else {
if (((hasItem("engine")) && (!(digger.l7_bur_corpus.engine.visible)))){
placeEngine();
} else {
if ((((((digger.currentFrame == 1)) || ((digger.currentFrame == 2)))) && (((hasItem("wheel1")) || (hasItem("wheel2")))))){
placeWheel();
} else {
heroRefuse();
};
};
};
}});
mc = puzzle.puzzle;
arrayP = [mc.p11, mc.p12, mc.p13, mc.p14, mc.p21, mc.p22, mc.p23, mc.p24, mc.p31, mc.p32, mc.p33, mc.p34, mc.p41, mc.p42, mc.p43, mc.p44];
heroIdle();
start();
}
}
}//package
Section 164
//Episode_08 (Episode_08)
package {
import aq.pcge.game.*;
public dynamic class Episode_08 extends Episode {
public function Episode_08(){
addFrameScript(0, frame1);
}
public function placeBucket():void{
action = false;
hero.playAnim("walk");
hero.turnTo(118);
hero.moveTo(118, hero.y, function (){
dropItem("bucketWater");
hero.turnOn("right");
hero.playAnim("use_up", function (){
crane.gotoAndStop(2);
action = true;
heroIdle();
});
});
}
public function killAlien():void{
action = false;
hero.playAnim("walk");
hero.turnTo(75);
hero.moveTo(75, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use_up", function (){
crane.play();
action = true;
heroIdle();
});
});
}
public function killAlienAtAll():void{
action = false;
hero.playAnim("walk");
hero.turnTo(120);
hero.moveTo(120, hero.y, function (){
crane.play();
hero.turnOn("right");
hero.playAnim("l8_shoot", function (){
action = true;
heroIdle();
});
});
}
public function shootAtIce():void{
action = false;
hero.playAnim("walk");
hero.turnTo(150);
hero.moveTo(150, hero.y, function (){
ice.play();
hero.turnOn("right");
hero.playAnim("l8_shoot", function (){
action = false;
heroIdle();
});
});
}
public function goDie():void{
action = false;
hero.playAnim("walk");
hero.turnTo(370);
hero.moveTo(370, hero.y, function (){
hero.turnOn("right");
alien.gotoAndStop(2);
action = false;
heroIdle();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", 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(){
alien.gotoAndStop(1);
ice.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("bucket", Item_Bucket);
registerItem("water", Item_Water);
registerItem("bucketWater", Item_BucketWater);
addNewActivator("water", water, {onClick:function ():void{
action = false;
heroFindItem("water", water, function (){
if (((hasItem("water")) && (hasItem("bucket")))){
makeItem("bucketWater", ["water", "bucket"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "water", 30, 30);
}});
addNewActivator("bucket", bucket, {onClick:function ():void{
action = false;
heroFindItem("bucket", bucket, function (){
if (((hasItem("water")) && (hasItem("bucket")))){
makeItem("bucketWater", ["water", "bucket"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "bucket", 30, 30);
}});
addNewActivator("crane", crane, {onClick:function ():void{
if (((hasItem("bucketWater")) && ((crane.currentFrame == 1)))){
placeBucket();
} else {
if (crane.currentFrame == 38){
killAlienAtAll();
} else {
heroRefuse();
};
};
}});
addNewActivator("do2", do2, {onClick:function ():void{
if (crane.currentFrame == 2){
killAlien();
} else {
heroRefuse();
};
}});
addNewActivator("ice", ice, {onClick:function ():void{
if (alien.currentFrame == 3){
shootAtIce();
} else {
goDie();
};
}});
addNewActivator("alien", alien, {onClick:function ():void{
if (alien.currentFrame == 1){
goDie();
} else {
heroRefuse();
};
}});
heroIdle();
start();
}
}
}//package
Section 165
//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 166
//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 167
//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 168
//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 169
//GameMusic (GameMusic)
package {
import flash.media.*;
public dynamic class GameMusic extends Sound {
}
}//package
Section 170
//GameSlot (GameSlot)
package {
import aq.pcge.game.buttons.*;
public dynamic class GameSlot extends LinkBox {
}
}//package
Section 171
//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, 14, frame15, 15, frame16, 16, frame17, 17, frame18);
}
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();
}
function frame10(){
stop();
}
function frame11(){
stop();
}
function frame12(){
stop();
}
function frame13(){
stop();
}
function frame14(){
stop();
}
function frame15(){
stop();
}
function frame16(){
stop();
}
function frame17(){
stop();
}
function frame18(){
stop();
}
}
}//package
Section 172
//Item_Bucket (Item_Bucket)
package {
import flash.display.*;
public dynamic class Item_Bucket extends MovieClip {
}
}//package
Section 173
//Item_BucketWater (Item_BucketWater)
package {
import flash.display.*;
public dynamic class Item_BucketWater extends MovieClip {
}
}//package
Section 174
//Item_Clap (Item_Clap)
package {
import flash.display.*;
public dynamic class Item_Clap extends MovieClip {
}
}//package
Section 175
//Item_Drill (Item_Drill)
package {
import flash.display.*;
public dynamic class Item_Drill extends MovieClip {
}
}//package
Section 176
//Item_Engine (Item_Engine)
package {
import flash.display.*;
public dynamic class Item_Engine extends MovieClip {
}
}//package
Section 177
//Item_Gear1 (Item_Gear1)
package {
import flash.display.*;
public dynamic class Item_Gear1 extends MovieClip {
}
}//package
Section 178
//Item_Hammer (Item_Hammer)
package {
import flash.display.*;
public dynamic class Item_Hammer extends MovieClip {
}
}//package
Section 179
//Item_Hand (Item_Hand)
package {
import flash.display.*;
public dynamic class Item_Hand extends MovieClip {
}
}//package
Section 180
//Item_Rail (Item_Rail)
package {
import flash.display.*;
public dynamic class Item_Rail extends MovieClip {
}
}//package
Section 181
//Item_Rope (Item_Rope)
package {
import flash.display.*;
public dynamic class Item_Rope extends MovieClip {
}
}//package
Section 182
//Item_Stal (Item_Stal)
package {
import flash.display.*;
public dynamic class Item_Stal extends MovieClip {
}
}//package
Section 183
//Item_Stone1 (Item_Stone1)
package {
import flash.display.*;
public dynamic class Item_Stone1 extends MovieClip {
}
}//package
Section 184
//Item_Stone2 (Item_Stone2)
package {
import flash.display.*;
public dynamic class Item_Stone2 extends MovieClip {
}
}//package
Section 185
//Item_Water (Item_Water)
package {
import flash.display.*;
public dynamic class Item_Water extends MovieClip {
}
}//package
Section 186
//Item_Wheel (Item_Wheel)
package {
import flash.display.*;
public dynamic class Item_Wheel extends MovieClip {
}
}//package
Section 187
//Item_Wood (Item_Wood)
package {
import flash.display.*;
public dynamic class Item_Wood extends MovieClip {
}
}//package
Section 188
//Item_Wood1 (Item_Wood1)
package {
import flash.display.*;
public dynamic class Item_Wood1 extends MovieClip {
}
}//package
Section 189
//Item_Wood2 (Item_Wood2)
package {
import flash.display.*;
public dynamic class Item_Wood2 extends MovieClip {
}
}//package
Section 190
//Item_Wood3 (Item_Wood3)
package {
import flash.display.*;
public dynamic class Item_Wood3 extends MovieClip {
}
}//package
Section 191
//Item_Woods (Item_Woods)
package {
import flash.display.*;
public dynamic class Item_Woods extends MovieClip {
}
}//package
Section 192
//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 193
//PixelPerfectCollisionDetection (PixelPerfectCollisionDetection)
package {
import flash.display.*;
import flash.geom.*;
public class PixelPerfectCollisionDetection {
public static function getCollisionRect(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Rectangle{
var _local9:BitmapData;
var _local10:BitmapData;
var _local11:uint;
var _local12:Rectangle;
var _local13:int;
var _local6:Rectangle = _arg1.getBounds(_arg3);
var _local7:Rectangle = _arg2.getBounds(_arg3);
var _local8:Rectangle = _local6.intersection(_local7);
if (_local8.size.length > 0){
if (_arg4){
_local8.width = Math.ceil(_local8.width);
_local8.height = Math.ceil(_local8.height);
_local9 = getAlphaMap(_arg1, _local8, BitmapDataChannel.RED, _arg3);
_local10 = getAlphaMap(_arg2, _local8, BitmapDataChannel.GREEN, _arg3);
_local9.draw(_local10, null, null, BlendMode.LIGHTEN);
if (_arg5 <= 0){
_local11 = 65792;
} else {
if (_arg5 > 1){
_arg5 = 1;
};
_local13 = Math.round((_arg5 * 0xFF));
_local11 = (((_local13 << 16) | (_local13 << 8)) | 0);
};
_local12 = _local9.getColorBoundsRect(_local11, _local11);
_local9.getColorBoundsRect(_local11, _local11).x = (_local12.x + _local8.x);
_local12.y = (_local12.y + _local8.y);
return (_local12);
} else {
return (_local8);
};
//unresolved jump
};
return (null);
}
private static function getAlphaMap(_arg1:DisplayObject, _arg2:Rectangle, _arg3:uint, _arg4:DisplayObjectContainer):BitmapData{
var _local5:Matrix = _arg4.transform.concatenatedMatrix.clone();
_local5.invert();
var _local6:Matrix = _arg1.transform.concatenatedMatrix.clone();
_local6.concat(_local5);
_local6.translate(-(_arg2.x), -(_arg2.y));
var _local7:BitmapData = new BitmapData(_arg2.width, _arg2.height, true, 0);
_local7.draw(_arg1, _local6);
var _local8:BitmapData = new BitmapData(_arg2.width, _arg2.height, false, 0);
_local8.copyChannel(_local7, _local7.rect, new Point(0, 0), BitmapDataChannel.ALPHA, _arg3);
return (_local8);
}
public static function getCollisionPoint(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Point{
var _local7:Number;
var _local8:Number;
var _local6:Rectangle = getCollisionRect(_arg1, _arg2, _arg3, _arg4, _arg5);
if (((!((_local6 == null))) && ((_local6.size.length > 0)))){
_local7 = ((_local6.left + _local6.right) / 2);
_local8 = ((_local6.top + _local6.bottom) / 2);
return (new Point(_local7, _local8));
};
return (null);
}
public static function isColliding(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Boolean{
var _local6:Rectangle = getCollisionRect(_arg1, _arg2, _arg3, _arg4, _arg5);
if (((!((_local6 == null))) && ((_local6.size.length > 0)))){
return (true);
};
return (false);
}
}
}//package
Section 194
//WMCurtain (WMCurtain)
package {
import flash.display.*;
public dynamic class WMCurtain extends Sprite {
}
}//package