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 electro:MovieClip;
public var lever1:MovieClip;
public var mattress2:MovieClip;
public var trash:MovieClip;
public var crowbar:MovieClip;
public var lever2:MovieClip;
public var weight:MovieClip;
public var shawl:MovieClip;
public var dL:MovieClip;
public var knife:MovieClip;
public var lever3:MovieClip;
public var grenade2:MovieClip;
public var do1:MovieClip;
public var tire:MovieClip;
public var lever4:MovieClip;
public var do2:MovieClip;
public var spray1:MovieClip;
public var shoker:MovieClip;
public var pc:MovieClip;
public var puzzle1:MovieClip;
public var bottle:MovieClip;
public var do3:MovieClip;
public var bolt:MovieClip;
public var spray2:MovieClip;
public var ind:MovieClip;
public var puzzle2:MovieClip;
public var spray3:MovieClip;
public var nut:MovieClip;
public var artefact:MovieClip;
public var wheel1:MovieClip;
public var can:MovieClip;
public var wheel2:MovieClip;
public var aid:MovieClip;
public var rail:MovieClip;
public var burner:MovieClip;
public var door:MovieClip;
public var dR:MovieClip;
public var cable:MovieClip;
public var barrier:MovieClip;
public var axe:MovieClip;
public var chain:MovieClip;
public var tube:MovieClip;
public var texture:MovieClip;
public var dumbbell:MovieClip;
public var dude2:MovieClip;
public var dude:MovieClip;
public var scissors:MovieClip;
public var panel:MovieClip;
public var gas:MovieClip;
public var rail2:MovieClip;
public var boss:MovieClip;
public var tape:MovieClip;
public var tv:MovieClip;
public var rope:MovieClip;
public var cap:MovieClip;
public var dD:MovieClip;
public var dU:MovieClip;
public var mattress:MovieClip;
public var matches:MovieClip;
public var woods:MovieClip;
public var seam:MovieClip;
public var magnet:MovieClip;
public var nippers2:MovieClip;
public var grenade:MovieClip;
public var screwdriver:MovieClip;
public var sign:MovieClip;
public var pirs:MovieClip;
public var puzzle:MovieClip;
public var sewage:MovieClip;
public var presure:MovieClip;
public var pipe:MovieClip;
public var nippers1:MovieClip;
public var sledge:MovieClip;
public var crane:MovieClip;
public var belt:MovieClip;
public var saw:MovieClip;
public var barrel: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;
action = true;
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();
}
public function heroRefuse():void{
action = false;
hero.playAnim("refuse", heroIdle2);
}
public function heroIdle2():void{
action = true;
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 prel: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/sonya-the-spy-2-walkthrough/";
GameApplication.link01 = "http://www.abroy.com/play/adventure-games/2013-shelter/";
GameApplication.link02 = "http://www.abroy.com/play/adventure-games/mental-hospital-escape/";
GameApplication.link03 = "http://www.abroy.com/play/adventure-games/time-travelling/";
GameApplication.link04 = "http://www.abroy.com/play/adventure-games/island-ha---bu---bu/";
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.net.*;
import flash.system.*;
public class AdLoader {
private static var cpmstarLoader:Loader;
public static function LoadAd(_arg1:int, _arg2:int):DisplayObject{
Security.allowDomain("server.cpmstar.com");
var _local3 = "http://server.cpmstar.com/adviewas3.swf";
cpmstarLoader = new Loader();
cpmstarLoader.load(new URLRequest(((((_local3 + "?poolid=") + _arg1) + "&subpoolid=") + _arg2)));
return (cpmstarLoader);
}
}
}//package CPMStar
Section 51
//None (fl.transitions.easing.None)
package fl.transitions.easing {
public class None {
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package fl.transitions.easing
Section 52
//Strong (fl.transitions.easing.Strong)
package fl.transitions.easing {
public class Strong {
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
}
}//package fl.transitions.easing
Section 53
//AVFPSCounter_396 (PnC_Game2_fla.AVFPSCounter_396)
package PnC_Game2_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import aq.pcge.*;
public dynamic class AVFPSCounter_396 extends MovieClip {
public var fps_tf:TextField;
public var time:uint;
public var sum:Number;
public var num:uint;
public function AVFPSCounter_396(){
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_Game2_fla
Section 54
//cont_381 (PnC_Game2_fla.cont_381)
package PnC_Game2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class cont_381 extends MovieClip {
public var history_tf:TextField;
public function cont_381(){
addFrameScript(0, frame1);
}
function frame1(){
history_tf.autoSize = "left";
}
}
}//package PnC_Game2_fla
Section 55
//Content_377 (PnC_Game2_fla.Content_377)
package PnC_Game2_fla {
import flash.display.*;
import aq.pcge.game.*;
import aq.pcge.*;
import aq.pcge.media.*;
public dynamic class Content_377 extends MovieClip {
public var em:EpisodesManager;
public function Content_377(){
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_Game2_fla
Section 56
//DustCloudGFX_17 (PnC_Game2_fla.DustCloudGFX_17)
package PnC_Game2_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_Game2_fla
Section 57
//Exporter_8 (PnC_Game2_fla.Exporter_8)
package PnC_Game2_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_Game2_fla
Section 58
//FPSCounter_397 (PnC_Game2_fla.FPSCounter_397)
package PnC_Game2_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import aq.pcge.*;
public dynamic class FPSCounter_397 extends MovieClip {
public var fps_tf:TextField;
public var time:uint;
public function FPSCounter_397(){
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_Game2_fla
Section 59
//HelpButton_354 (PnC_Game2_fla.HelpButton_354)
package PnC_Game2_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class HelpButton_354 extends MovieClip {
public function HelpButton_354(){
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_Game2_fla
Section 60
//hl_376 (PnC_Game2_fla.hl_376)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class hl_376 extends MovieClip {
public function hl_376(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package PnC_Game2_fla
Section 61
//l1_comp_328 (PnC_Game2_fla.l1_comp_328)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l1_comp_328 extends MovieClip {
public function l1_comp_328(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game2_fla
Section 62
//l1_puzzle_anim_334 (PnC_Game2_fla.l1_puzzle_anim_334)
package PnC_Game2_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_puzzle_anim_334 extends MovieClip {
public var puzzle:MovieClip;
public function l1_puzzle_anim_334(){
addFrameScript(0, frame1, 7, frame8, 14, frame15);
}
function frame1(){
stop();
}
function frame8(){
stop();
}
function frame15(){
stop();
if (MovieClip(parent).pc.currentFrame == 2){
MovieClip(parent).goWin2();
};
}
}
}//package PnC_Game2_fla
Section 63
//l1_witok_326 (PnC_Game2_fla.l1_witok_326)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l1_witok_326 extends MovieClip {
public function l1_witok_326(){
addFrameScript(0, frame1, 16, frame17);
}
function frame1(){
stop();
}
function frame17(){
stop();
}
}
}//package PnC_Game2_fla
Section 64
//l2_back_anim_300 (PnC_Game2_fla.l2_back_anim_300)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l2_back_anim_300 extends MovieClip {
public function l2_back_anim_300(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 17, frame18);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame18(){
stop();
}
}
}//package PnC_Game2_fla
Section 65
//l2_barrier_308 (PnC_Game2_fla.l2_barrier_308)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l2_barrier_308 extends MovieClip {
public function l2_barrier_308(){
addFrameScript(0, frame1, 9, frame10);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
}
}//package PnC_Game2_fla
Section 66
//l2_cabel_299 (PnC_Game2_fla.l2_cabel_299)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l2_cabel_299 extends MovieClip {
public function l2_cabel_299(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 67
//l2_man_all_310 (PnC_Game2_fla.l2_man_all_310)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l2_man_all_310 extends MovieClip {
public function l2_man_all_310(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
}
}//package PnC_Game2_fla
Section 68
//l2_man_arm_312 (PnC_Game2_fla.l2_man_arm_312)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l2_man_arm_312 extends MovieClip {
public function l2_man_arm_312(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 69
//l2_man_attack_319 (PnC_Game2_fla.l2_man_attack_319)
package PnC_Game2_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_man_attack_319 extends MovieClip {
public function l2_man_attack_319(){
addFrameScript(11, frame12, 15, frame16);
}
function frame12(){
MovieClip(parent.parent).killUs();
}
function frame16(){
stop();
}
}
}//package PnC_Game2_fla
Section 70
//l2_man_die_320 (PnC_Game2_fla.l2_man_die_320)
package PnC_Game2_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_man_die_320 extends MovieClip {
public function l2_man_die_320(){
addFrameScript(10, frame11);
}
function frame11(){
stop();
MovieClip(parent.parent).goWin2();
}
}
}//package PnC_Game2_fla
Section 71
//l2_man_go_anim_316 (PnC_Game2_fla.l2_man_go_anim_316)
package PnC_Game2_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_man_go_anim_316 extends MovieClip {
public function l2_man_go_anim_316(){
addFrameScript(30, frame31, 107, frame108);
}
function frame31(){
MovieClip(parent.parent).barrier.gotoAndPlay(2);
}
function frame108(){
stop();
MovieClip(parent).gotoAndStop(3);
}
}
}//package PnC_Game2_fla
Section 72
//l2_man_head_die_321 (PnC_Game2_fla.l2_man_head_die_321)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l2_man_head_die_321 extends MovieClip {
public function l2_man_head_die_321(){
addFrameScript(3, frame4);
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 73
//l2_sewage_well_218 (PnC_Game2_fla.l2_sewage_well_218)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l2_sewage_well_218 extends MovieClip {
public function l2_sewage_well_218(){
addFrameScript(0, frame1, 1, frame2, 9, frame10);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame10(){
stop();
}
}
}//package PnC_Game2_fla
Section 74
//l2_tv_anim_302 (PnC_Game2_fla.l2_tv_anim_302)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l2_tv_anim_302 extends MovieClip {
public function l2_tv_anim_302(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 75
//l2_znak_anim_306 (PnC_Game2_fla.l2_znak_anim_306)
package PnC_Game2_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_znak_anim_306 extends MovieClip {
public function l2_znak_anim_306(){
addFrameScript(0, frame1, 33, frame34, 43, frame44);
}
function frame1(){
stop();
}
function frame34(){
MovieClip(parent).dude.gotoAndStop(5);
}
function frame44(){
stop();
}
}
}//package PnC_Game2_fla
Section 76
//l3_brevno_270 (PnC_Game2_fla.l3_brevno_270)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_brevno_270 extends MovieClip {
public function l3_brevno_270(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game2_fla
Section 77
//l3_dog_Barks_282 (PnC_Game2_fla.l3_dog_Barks_282)
package PnC_Game2_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_dog_Barks_282 extends MovieClip {
public function l3_dog_Barks_282(){
addFrameScript(16, frame17, 22, frame23);
}
function frame17(){
MovieClip(parent.parent.parent).killUs();
}
function frame23(){
stop();
}
}
}//package PnC_Game2_fla
Section 78
//l3_dog_EyeWakeUp_284 (PnC_Game2_fla.l3_dog_EyeWakeUp_284)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_dog_EyeWakeUp_284 extends MovieClip {
public function l3_dog_EyeWakeUp_284(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package PnC_Game2_fla
Section 79
//l3_dog_go_aid_289 (PnC_Game2_fla.l3_dog_go_aid_289)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_dog_go_aid_289 extends MovieClip {
public function l3_dog_go_aid_289(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package PnC_Game2_fla
Section 80
//l3_dog_Head1_idle_290 (PnC_Game2_fla.l3_dog_Head1_idle_290)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_dog_Head1_idle_290 extends MovieClip {
public function l3_dog_Head1_idle_290(){
addFrameScript(17, frame18);
}
function frame18(){
stop();
}
}
}//package PnC_Game2_fla
Section 81
//l3_dog_Head2_idle_292 (PnC_Game2_fla.l3_dog_Head2_idle_292)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_dog_Head2_idle_292 extends MovieClip {
public function l3_dog_Head2_idle_292(){
addFrameScript(21, frame22);
}
function frame22(){
stop();
}
}
}//package PnC_Game2_fla
Section 82
//l3_dog_HeadBite_285 (PnC_Game2_fla.l3_dog_HeadBite_285)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_dog_HeadBite_285 extends MovieClip {
public function l3_dog_HeadBite_285(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package PnC_Game2_fla
Section 83
//l3_dog_HeadWakeUp_283 (PnC_Game2_fla.l3_dog_HeadWakeUp_283)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_dog_HeadWakeUp_283 extends MovieClip {
public function l3_dog_HeadWakeUp_283(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package PnC_Game2_fla
Section 84
//l3_sewage_well_266 (PnC_Game2_fla.l3_sewage_well_266)
package PnC_Game2_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_sewage_well_266 extends MovieClip {
public function l3_sewage_well_266(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
MovieClip(parent).win();
}
}
}//package PnC_Game2_fla
Section 85
//l3_solder_all_256 (PnC_Game2_fla.l3_solder_all_256)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_solder_all_256 extends MovieClip {
public function l3_solder_all_256(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game2_fla
Section 86
//l3_solder_cick_262 (PnC_Game2_fla.l3_solder_cick_262)
package PnC_Game2_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_solder_cick_262 extends MovieClip {
public function l3_solder_cick_262(){
addFrameScript(11, frame12, 17, frame18);
}
function frame12(){
MovieClip(parent.parent).killUs();
}
function frame18(){
stop();
}
}
}//package PnC_Game2_fla
Section 87
//l3_solder_die_264 (PnC_Game2_fla.l3_solder_die_264)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_solder_die_264 extends MovieClip {
public function l3_solder_die_264(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
}
}
}//package PnC_Game2_fla
Section 88
//l3_solder_die_anim_263 (PnC_Game2_fla.l3_solder_die_anim_263)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_solder_die_anim_263 extends MovieClip {
public function l3_solder_die_anim_263(){
addFrameScript(51, frame52);
}
function frame52(){
gotoAndPlay(22);
}
}
}//package PnC_Game2_fla
Section 89
//l3_solder_hand_258 (PnC_Game2_fla.l3_solder_hand_258)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_solder_hand_258 extends MovieClip {
public function l3_solder_hand_258(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 90
//l3_solder_leg_259 (PnC_Game2_fla.l3_solder_leg_259)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_solder_leg_259 extends MovieClip {
public function l3_solder_leg_259(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
}
}//package PnC_Game2_fla
Section 91
//l3_wharf_268 (PnC_Game2_fla.l3_wharf_268)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_wharf_268 extends MovieClip {
public var l3_pirs_part:MovieClip;
public function l3_wharf_268(){
addFrameScript(0, frame1, 53, frame54);
}
function frame1(){
stop();
}
function frame54(){
stop();
}
}
}//package PnC_Game2_fla
Section 92
//l3_wheel_252 (PnC_Game2_fla.l3_wheel_252)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l3_wheel_252 extends MovieClip {
public function l3_wheel_252(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 93
//l4_man1_all_227 (PnC_Game2_fla.l4_man1_all_227)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l4_man1_all_227 extends MovieClip {
public function l4_man1_all_227(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 94
//l4_man1_die_233 (PnC_Game2_fla.l4_man1_die_233)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l4_man1_die_233 extends MovieClip {
public function l4_man1_die_233(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package PnC_Game2_fla
Section 95
//l4_man1_hand_229 (PnC_Game2_fla.l4_man1_hand_229)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l4_man1_hand_229 extends MovieClip {
public function l4_man1_hand_229(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 96
//l4_man1_leg_230 (PnC_Game2_fla.l4_man1_leg_230)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l4_man1_leg_230 extends MovieClip {
public function l4_man1_leg_230(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
}
}//package PnC_Game2_fla
Section 97
//l4_man2_all_235 (PnC_Game2_fla.l4_man2_all_235)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l4_man2_all_235 extends MovieClip {
public function l4_man2_all_235(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game2_fla
Section 98
//l4_man2_go_241 (PnC_Game2_fla.l4_man2_go_241)
package PnC_Game2_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_man2_go_241 extends MovieClip {
public function l4_man2_go_241(){
addFrameScript(57, frame58, 63, frame64);
}
function frame58(){
MovieClip(parent.parent).killUs();
}
function frame64(){
stop();
}
}
}//package PnC_Game2_fla
Section 99
//l4_man2_go_244 (PnC_Game2_fla.l4_man2_go_244)
package PnC_Game2_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_man2_go_244 extends MovieClip {
public function l4_man2_go_244(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
MovieClip(parent.parent).goWin();
}
}
}//package PnC_Game2_fla
Section 100
//l4_man2_hand_237 (PnC_Game2_fla.l4_man2_hand_237)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l4_man2_hand_237 extends MovieClip {
public function l4_man2_hand_237(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 101
//l4_man2_leg_238 (PnC_Game2_fla.l4_man2_leg_238)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l4_man2_leg_238 extends MovieClip {
public function l4_man2_leg_238(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
}
}//package PnC_Game2_fla
Section 102
//l4_pressure_246 (PnC_Game2_fla.l4_pressure_246)
package PnC_Game2_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_pressure_246 extends MovieClip {
public function l4_pressure_246(){
addFrameScript(0, frame1, 4, frame5, 8, frame9, 12, frame13, 19, frame20, 32, frame33);
}
function frame1(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame13(){
stop();
}
function frame20(){
MovieClip(parent).dude2.gotoAndStop(2);
MovieClip(parent).selectEnd();
}
function frame33(){
stop();
}
}
}//package PnC_Game2_fla
Section 103
//l4_switch_223 (PnC_Game2_fla.l4_switch_223)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l4_switch_223 extends MovieClip {
public function l4_switch_223(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 104
//l5_belt_172 (PnC_Game2_fla.l5_belt_172)
package PnC_Game2_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_belt_172 extends MovieClip {
public function l5_belt_172(){
addFrameScript(0, frame1, 4, frame5, 5, frame6);
}
function frame1(){
stop();
}
function frame5(){
MovieClip(parent).mattress.visible = true;
}
function frame6(){
stop();
}
}
}//package PnC_Game2_fla
Section 105
//l5_cap_all_181 (PnC_Game2_fla.l5_cap_all_181)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_cap_all_181 extends MovieClip {
public function l5_cap_all_181(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game2_fla
Section 106
//l5_cap_cick_189 (PnC_Game2_fla.l5_cap_cick_189)
package PnC_Game2_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_cap_cick_189 extends MovieClip {
public function l5_cap_cick_189(){
addFrameScript(11, frame12, 15, frame16);
}
function frame12(){
MovieClip(parent.parent).killUs();
}
function frame16(){
stop();
}
}
}//package PnC_Game2_fla
Section 107
//l5_cap_die_192 (PnC_Game2_fla.l5_cap_die_192)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_cap_die_192 extends MovieClip {
public function l5_cap_die_192(){
addFrameScript(38, frame39);
}
function frame39(){
stop();
}
}
}//package PnC_Game2_fla
Section 108
//L5_datchik_moshnosti_149 (PnC_Game2_fla.L5_datchik_moshnosti_149)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class L5_datchik_moshnosti_149 extends MovieClip {
public function L5_datchik_moshnosti_149(){
addFrameScript(5, frame6, 20, frame21, 34, frame35, 49, frame50, 61, frame62, 74, frame75);
}
function frame6(){
gotoAndPlay(1);
}
function frame21(){
gotoAndPlay(18);
}
function frame35(){
gotoAndPlay(1);
}
function frame50(){
gotoAndPlay(47);
}
function frame62(){
gotoAndPlay(1);
}
function frame75(){
gotoAndPlay(72);
}
}
}//package PnC_Game2_fla
Section 109
//l5_medic_174 (PnC_Game2_fla.l5_medic_174)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_medic_174 extends MovieClip {
public function l5_medic_174(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 110
//L5_nasosi_red_152 (PnC_Game2_fla.L5_nasosi_red_152)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class L5_nasosi_red_152 extends MovieClip {
public function L5_nasosi_red_152(){
addFrameScript(19, frame20, 20, frame21);
}
function frame20(){
gotoAndPlay(1);
}
function frame21(){
stop();
}
}
}//package PnC_Game2_fla
Section 111
//L5_nasosi_red_off_153 (PnC_Game2_fla.L5_nasosi_red_off_153)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class L5_nasosi_red_off_153 extends MovieClip {
public function L5_nasosi_red_off_153(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game2_fla
Section 112
//L5_panel_button_155 (PnC_Game2_fla.L5_panel_button_155)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class L5_panel_button_155 extends MovieClip {
public function L5_panel_button_155(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 113
//L5_panel_button_anim_156 (PnC_Game2_fla.L5_panel_button_anim_156)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class L5_panel_button_anim_156 extends MovieClip {
public function L5_panel_button_anim_156(){
addFrameScript(130, frame131, 245, frame246);
}
function frame131(){
gotoAndPlay(1);
}
function frame246(){
gotoAndPlay(132);
}
}
}//package PnC_Game2_fla
Section 114
//l5_pazlle_part01_198 (PnC_Game2_fla.l5_pazlle_part01_198)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part01_198 extends MovieClip {
public function l5_pazlle_part01_198(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 115
//l5_pazlle_part02_199 (PnC_Game2_fla.l5_pazlle_part02_199)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part02_199 extends MovieClip {
public function l5_pazlle_part02_199(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 116
//l5_pazlle_part03_200 (PnC_Game2_fla.l5_pazlle_part03_200)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part03_200 extends MovieClip {
public function l5_pazlle_part03_200(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 117
//l5_pazlle_part04_201 (PnC_Game2_fla.l5_pazlle_part04_201)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part04_201 extends MovieClip {
public function l5_pazlle_part04_201(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 118
//l5_pazlle_part05_202 (PnC_Game2_fla.l5_pazlle_part05_202)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part05_202 extends MovieClip {
public function l5_pazlle_part05_202(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 119
//l5_pazlle_part06_203 (PnC_Game2_fla.l5_pazlle_part06_203)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part06_203 extends MovieClip {
public function l5_pazlle_part06_203(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 120
//l5_pazlle_part07_204 (PnC_Game2_fla.l5_pazlle_part07_204)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part07_204 extends MovieClip {
public function l5_pazlle_part07_204(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 121
//l5_pazlle_part08_205 (PnC_Game2_fla.l5_pazlle_part08_205)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part08_205 extends MovieClip {
public function l5_pazlle_part08_205(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 122
//l5_pazlle_part09_206 (PnC_Game2_fla.l5_pazlle_part09_206)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part09_206 extends MovieClip {
public function l5_pazlle_part09_206(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 123
//l5_pazlle_part10_207 (PnC_Game2_fla.l5_pazlle_part10_207)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part10_207 extends MovieClip {
public function l5_pazlle_part10_207(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 124
//l5_pazlle_part11_208 (PnC_Game2_fla.l5_pazlle_part11_208)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part11_208 extends MovieClip {
public function l5_pazlle_part11_208(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 125
//l5_pazlle_part12_209 (PnC_Game2_fla.l5_pazlle_part12_209)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part12_209 extends MovieClip {
public function l5_pazlle_part12_209(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 126
//l5_pazlle_part13_210 (PnC_Game2_fla.l5_pazlle_part13_210)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part13_210 extends MovieClip {
public function l5_pazlle_part13_210(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 127
//l5_pazlle_part14_211 (PnC_Game2_fla.l5_pazlle_part14_211)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part14_211 extends MovieClip {
public function l5_pazlle_part14_211(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 128
//l5_pazlle_part15_212 (PnC_Game2_fla.l5_pazlle_part15_212)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part15_212 extends MovieClip {
public function l5_pazlle_part15_212(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 129
//l5_pazlle_part16_213 (PnC_Game2_fla.l5_pazlle_part16_213)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l5_pazlle_part16_213 extends MovieClip {
public function l5_pazlle_part16_213(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game2_fla
Section 130
//l5_puzlle_anim_196 (PnC_Game2_fla.l5_puzlle_anim_196)
package PnC_Game2_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_puzlle_anim_196 extends MovieClip {
public var puzzle:MovieClip;
public function l5_puzlle_anim_196(){
addFrameScript(0, frame1, 7, frame8, 15, frame16);
}
function frame1(){
stop();
}
function frame8(){
stop();
}
function frame16(){
stop();
MovieClip(parent).win();
}
}
}//package PnC_Game2_fla
Section 131
//l6_back_124 (PnC_Game2_fla.l6_back_124)
package PnC_Game2_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_back_124 extends MovieClip {
public function l6_back_124(){
addFrameScript(0, frame1, 1, frame2, 20, frame21, 23, frame24, 24, frame25);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame21(){
MovieClip(parent).hero.playAnim("use");
}
function frame24(){
}
function frame25(){
stop();
MovieClip(parent).takeItem("fuel");
MovieClip(parent).action = true;
}
}
}//package PnC_Game2_fla
Section 132
//l6_door_116 (PnC_Game2_fla.l6_door_116)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l6_door_116 extends MovieClip {
public function l6_door_116(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
}
}
}//package PnC_Game2_fla
Section 133
//l6_panel_117 (PnC_Game2_fla.l6_panel_117)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l6_panel_117 extends MovieClip {
public function l6_panel_117(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 22, frame23);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame23(){
stop();
}
}
}//package PnC_Game2_fla
Section 134
//l6_puzzle_anim_133 (PnC_Game2_fla.l6_puzzle_anim_133)
package PnC_Game2_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_puzzle_anim_133 extends MovieClip {
public var puzzle:MovieClip;
public function l6_puzzle_anim_133(){
addFrameScript(0, frame1, 9, frame10, 19, frame20);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
function frame20(){
stop();
MovieClip(parent).goWin();
}
}
}//package PnC_Game2_fla
Section 135
//l6_sledge_123 (PnC_Game2_fla.l6_sledge_123)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l6_sledge_123 extends MovieClip {
public function l6_sledge_123(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 136
//l7_door_103 (PnC_Game2_fla.l7_door_103)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l7_door_103 extends MovieClip {
public function l7_door_103(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game2_fla
Section 137
//l7_magnet_112 (PnC_Game2_fla.l7_magnet_112)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l7_magnet_112 extends MovieClip {
public function l7_magnet_112(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 138
//l8_bochka_anim_58 (PnC_Game2_fla.l8_bochka_anim_58)
package PnC_Game2_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_bochka_anim_58 extends MovieClip {
public function l8_bochka_anim_58(){
addFrameScript(0, frame1, 10, frame11, 14, frame15, 30, frame31, 34, frame35);
}
function frame1(){
stop();
}
function frame11(){
MovieClip(parent).killUs();
}
function frame15(){
stop();
}
function frame31(){
MovieClip(parent).killUs();
}
function frame35(){
stop();
}
}
}//package PnC_Game2_fla
Section 139
//l8_boss_all_48 (PnC_Game2_fla.l8_boss_all_48)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l8_boss_all_48 extends MovieClip {
public function l8_boss_all_48(){
addFrameScript(0, frame1, 9, frame10, 10, frame11, 11, frame12);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
function frame11(){
stop();
}
function frame12(){
stop();
}
}
}//package PnC_Game2_fla
Section 140
//l8_boss_die_54 (PnC_Game2_fla.l8_boss_die_54)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l8_boss_die_54 extends MovieClip {
public function l8_boss_die_54(){
addFrameScript(27, frame28);
}
function frame28(){
stop();
}
}
}//package PnC_Game2_fla
Section 141
//l8_boss_idle_49 (PnC_Game2_fla.l8_boss_idle_49)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l8_boss_idle_49 extends MovieClip {
public function l8_boss_idle_49(){
addFrameScript(18, frame19);
}
function frame19(){
stop();
}
}
}//package PnC_Game2_fla
Section 142
//l8_boss_leg_51 (PnC_Game2_fla.l8_boss_leg_51)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l8_boss_leg_51 extends MovieClip {
public function l8_boss_leg_51(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
}
}//package PnC_Game2_fla
Section 143
//l8_ognetushitel_72 (PnC_Game2_fla.l8_ognetushitel_72)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l8_ognetushitel_72 extends MovieClip {
public function l8_ognetushitel_72(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
}
}
}//package PnC_Game2_fla
Section 144
//l8_spray_56 (PnC_Game2_fla.l8_spray_56)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l8_spray_56 extends MovieClip {
public function l8_spray_56(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game2_fla
Section 145
//l8_stels_66 (PnC_Game2_fla.l8_stels_66)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class l8_stels_66 extends MovieClip {
public function l8_stels_66(){
addFrameScript(10, frame11);
}
function frame11(){
gotoAndPlay(2);
}
}
}//package PnC_Game2_fla
Section 146
//Logo_34 (PnC_Game2_fla.Logo_34)
package PnC_Game2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class Logo_34 extends MovieClip {
public function Logo_34(){
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_Game2_fla
Section 147
//logo_372 (PnC_Game2_fla.logo_372)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class logo_372 extends MovieClip {
public function logo_372(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package PnC_Game2_fla
Section 148
//Logocopynolink_364 (PnC_Game2_fla.Logocopynolink_364)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class Logocopynolink_364 extends MovieClip {
public function Logocopynolink_364(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
mouseChildren = false;
enabled = false;
}
}
}//package PnC_Game2_fla
Section 149
//MEMCounter_395 (PnC_Game2_fla.MEMCounter_395)
package PnC_Game2_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import aq.pcge.*;
import flash.system.*;
public dynamic class MEMCounter_395 extends MovieClip {
public var mem_tf:TextField;
public var mb:uint;
public function MEMCounter_395(){
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_Game2_fla
Section 150
//Message_393 (PnC_Game2_fla.Message_393)
package PnC_Game2_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_393 extends MovieClip {
public function Message_393(){
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_Game2_fla
Section 151
//MoreGamesButton_362 (PnC_Game2_fla.MoreGamesButton_362)
package PnC_Game2_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class MoreGamesButton_362 extends MovieClip {
public function MoreGamesButton_362(){
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_Game2_fla
Section 152
//MoreGamesButton_367 (PnC_Game2_fla.MoreGamesButton_367)
package PnC_Game2_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class MoreGamesButton_367 extends MovieClip {
public function MoreGamesButton_367(){
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_Game2_fla
Section 153
//MoreGamesButtoncopy_368 (PnC_Game2_fla.MoreGamesButtoncopy_368)
package PnC_Game2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class MoreGamesButtoncopy_368 extends MovieClip {
public function MoreGamesButtoncopy_368(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
navigateToURL(new URLRequest("http://www.abroy.com/play/adventure-games/sonya-the-spy---cern-episode/"), "_blank");
} catch(error:Error) {
};
}
function frame1(){
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game2_fla
Section 154
//MuteButton_355 (PnC_Game2_fla.MuteButton_355)
package PnC_Game2_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
public dynamic class MuteButton_355 extends MovieClip {
public function MuteButton_355(){
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_Game2_fla
Section 155
//OptBackButton_10 (PnC_Game2_fla.OptBackButton_10)
package PnC_Game2_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_Game2_fla
Section 156
//OptHelpButton_11 (PnC_Game2_fla.OptHelpButton_11)
package PnC_Game2_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_Game2_fla
Section 157
//OptionsButton_356 (PnC_Game2_fla.OptionsButton_356)
package PnC_Game2_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
public dynamic class OptionsButton_356 extends MovieClip {
public function OptionsButton_356(){
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_Game2_fla
Section 158
//OptMenuButton_12 (PnC_Game2_fla.OptMenuButton_12)
package PnC_Game2_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_Game2_fla
Section 159
//OptMuteButton_14 (PnC_Game2_fla.OptMuteButton_14)
package PnC_Game2_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_Game2_fla
Section 160
//PlayButton_19 (PnC_Game2_fla.PlayButton_19)
package PnC_Game2_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_Game2_fla
Section 161
//PlayButton_366 (PnC_Game2_fla.PlayButton_366)
package PnC_Game2_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import aq.pcge.*;
public dynamic class PlayButton_366 extends MovieClip {
public function PlayButton_366(){
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_Game2_fla
Section 162
//PlayButton_5 (PnC_Game2_fla.PlayButton_5)
package PnC_Game2_fla {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.geom.*;
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_Game2_fla
Section 163
//PlayButtonBg_4 (PnC_Game2_fla.PlayButtonBg_4)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class PlayButtonBg_4 extends MovieClip {
public function PlayButtonBg_4(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package PnC_Game2_fla
Section 164
//POSMonitor_394 (PnC_Game2_fla.POSMonitor_394)
package PnC_Game2_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import aq.pcge.*;
public dynamic class POSMonitor_394 extends MovieClip {
public var x_tf:TextField;
public var y_tf:TextField;
public function POSMonitor_394(){
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_Game2_fla
Section 165
//PreloadBar_2 (PnC_Game2_fla.PreloadBar_2)
package PnC_Game2_fla {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.geom.*;
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_Game2_fla
Section 166
//Preloader_1 (PnC_Game2_fla.Preloader_1)
package PnC_Game2_fla {
import flash.display.*;
import CPMStar.*;
public dynamic class Preloader_1 extends MovieClip {
public var adBox:MovieClip;
public var preloadBar:MovieClip;
public var CPMStarPoolID:int;
public var CPMStarSubPoolID:int;
public var ad:DisplayObject;
public function Preloader_1(){
addFrameScript(0, frame1, 38, frame39);
}
function frame1(){
stop();
CPMStarPoolID = 18840;
CPMStarSubPoolID = 2050;
ad = AdLoader.LoadAd(CPMStarPoolID, CPMStarSubPoolID);
adBox.addChild(ad);
}
function frame39(){
stop();
}
}
}//package PnC_Game2_fla
Section 167
//Presenter_370 (PnC_Game2_fla.Presenter_370)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class Presenter_370 extends MovieClip {
public function Presenter_370(){
addFrameScript(149, frame150);
}
function frame150(){
MovieClip(parent).nextFrame();
}
}
}//package PnC_Game2_fla
Section 168
//Sonya_die_79 (PnC_Game2_fla.Sonya_die_79)
package PnC_Game2_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class Sonya_die_79 extends MovieClip {
public function Sonya_die_79(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game2_fla
Section 169
//Sonya_head_die_80 (PnC_Game2_fla.Sonya_head_die_80)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class Sonya_head_die_80 extends MovieClip {
public function Sonya_head_die_80(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package PnC_Game2_fla
Section 170
//Sonya_head_refused_76 (PnC_Game2_fla.Sonya_head_refused_76)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class Sonya_head_refused_76 extends MovieClip {
public function Sonya_head_refused_76(){
addFrameScript(15, frame16);
}
function frame16(){
stop();
}
}
}//package PnC_Game2_fla
Section 171
//Sonya_l2_sow_83 (PnC_Game2_fla.Sonya_l2_sow_83)
package PnC_Game2_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class Sonya_l2_sow_83 extends MovieClip {
public function Sonya_l2_sow_83(){
addFrameScript(40, frame41);
}
function frame41(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game2_fla
Section 172
//Sonya_l8_shoot_96 (PnC_Game2_fla.Sonya_l8_shoot_96)
package PnC_Game2_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 Sonya_l8_shoot_96 extends MovieClip {
public function Sonya_l8_shoot_96(){
addFrameScript(14, frame15, 44, frame45);
}
function frame15(){
MovieClip(parent.parent).boss.gotoAndStop(12);
}
function frame45(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game2_fla
Section 173
//Sonya_l8_throw_90 (PnC_Game2_fla.Sonya_l8_throw_90)
package PnC_Game2_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class Sonya_l8_throw_90 extends MovieClip {
public function Sonya_l8_throw_90(){
addFrameScript(36, frame37);
}
function frame37(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game2_fla
Section 174
//Sonya_l8_use_rogatka_92 (PnC_Game2_fla.Sonya_l8_use_rogatka_92)
package PnC_Game2_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 Sonya_l8_use_rogatka_92 extends MovieClip {
public function Sonya_l8_use_rogatka_92(){
addFrameScript(28, frame29, 37, frame38);
}
function frame29(){
MovieClip(parent.parent).grenade2.play();
}
function frame38(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game2_fla
Section 175
//Sonya_refused_75 (PnC_Game2_fla.Sonya_refused_75)
package PnC_Game2_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class Sonya_refused_75 extends MovieClip {
public function Sonya_refused_75(){
addFrameScript(15, frame16);
}
function frame16(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game2_fla
Section 176
//Sonya_take_77 (PnC_Game2_fla.Sonya_take_77)
package PnC_Game2_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class Sonya_take_77 extends MovieClip {
public function Sonya_take_77(){
addFrameScript(7, frame8, 15, frame16);
}
function frame8(){
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_KEYFRAME, true));
}
function frame16(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game2_fla
Section 177
//Sonya_use_78 (PnC_Game2_fla.Sonya_use_78)
package PnC_Game2_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class Sonya_use_78 extends MovieClip {
public function Sonya_use_78(){
addFrameScript(15, frame16);
}
function frame16(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game2_fla
Section 178
//Sonya_use_gorelka_85 (PnC_Game2_fla.Sonya_use_gorelka_85)
package PnC_Game2_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class Sonya_use_gorelka_85 extends MovieClip {
public function Sonya_use_gorelka_85(){
addFrameScript(52, frame53);
}
function frame53(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game2_fla
Section 179
//Sonya_walk_74 (PnC_Game2_fla.Sonya_walk_74)
package PnC_Game2_fla {
import flash.display.*;
public dynamic class Sonya_walk_74 extends MovieClip {
public function Sonya_walk_74(){
addFrameScript(24, frame25);
}
function frame25(){
gotoAndPlay(6);
}
}
}//package PnC_Game2_fla
Section 180
//Episode_01 (Episode_01)
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_01 extends Episode {
public var mc2;
public var arraIT:Array;
public var arraR:Array;
public var currClip2:MovieClip;
public var tempX:Number;
public var tempY:Number;
public var range:Number;
public function Episode_01(){
addFrameScript(0, frame1);
}
public function fixWire():void{
action = false;
hero.playAnim("walk");
hero.turnTo(465);
hero.moveTo(465, hero.y, function (){
dropItem("cable");
dropItem("tape");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
if (puzzle1.currentFrame == 15){
pc.gotoAndStop(3);
goWin2();
};
if (puzzle1.currentFrame == 1){
pc.gotoAndStop(2);
};
});
});
}
public function openElectro():void{
action = false;
hero.playAnim("walk");
hero.turnTo(122);
hero.moveTo(122, hero.y, function (){
dropItem("screwdriver");
hero.turnOn("left");
hero.playAnim("use", function (){
action = true;
electro.gotoAndPlay(2);
heroIdle();
});
});
}
public function openPuzzle():void{
puzzle1.visible = true;
action = false;
hero.playAnim("walk");
hero.turnTo(122);
hero.moveTo(122, hero.y, function (){
dropItem("ind");
hero.turnOn("left");
hero.playAnim("use", function (){
puzzle1.gotoAndPlay(2);
action = true;
heroIdle();
});
});
var i:int;
while (i < arraR.length) {
arraR[i].visible = false;
i = (i + 1);
};
i = 0;
while (i < arraIT.length) {
arraIT[i].addEventListener(MouseEvent.MOUSE_DOWN, startDragF);
i = (i + 1);
};
}
public function startDragF(_arg1:MouseEvent):void{
currClip2 = MovieClip(_arg1.currentTarget);
tempX = currClip2.x;
tempY = currClip2.y;
currClip2.startDrag();
puzzle1.puzzle.addChild(currClip2);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp2);
}
public function stage_onMouseUp2(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp2);
currClip2.stopDrag();
var _local2:Number = -1;
var _local3:int;
while (_local3 < arraIT.length) {
if (currClip2 == arraIT[_local3]){
_local2 = _local3;
};
_local3++;
};
if (getDistance(arraIT[_local2], arraR[_local2]) < 10){
arraIT[_local2].visible = false;
arraR[_local2].visible = true;
} else {
TweenLite.to(currClip2, 0.5, {x:tempX, y:tempY, ease:Circ.easeOut});
};
currClip2 = null;
testWin();
}
public function testWin():void{
var _local1:Boolean;
var _local2:int;
while (_local2 < arraR.length) {
if (!arraR[_local2].visible){
_local1 = false;
};
_local2++;
};
if (_local1){
puzzle1.play();
};
}
public function getDistance(_arg1, _arg2):Number{
var _local3:Number = Math.abs((Math.abs(_arg1.x) - Math.abs(_arg2.x)));
var _local4:Number = Math.abs((Math.abs(_arg1.y) - Math.abs(_arg2.y)));
var _local5:Number = 10000;
_local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
return (_local5);
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseUs():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.turnOn("right");
pc.gotoAndStop(3);
hero.playAnim("walk");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
pc.gotoAndStop(1);
electro.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("cable", Item_Cable);
registerItem("ind", Item_Ind);
registerItem("screwdriver", Item_Screwdriver);
registerItem("tape", Item_Tape);
addNewActivator("cable", cable, {onClick:function ():void{
action = false;
heroFindItem("cable", cable, function (){
action = true;
}, "take", "cable", 30, 30);
}});
addNewActivator("screwdriver", screwdriver, {onClick:function ():void{
action = false;
heroFindItem("screwdriver", screwdriver, function (){
action = true;
}, "take", "screwdriver", 30, 30);
}});
addNewActivator("tape", tape, {onClick:function ():void{
action = false;
heroFindItem("tape", tape, function (){
action = true;
}, "take", "tape", 30, 30);
}});
addNewActivator("ind", ind, {onClick:function ():void{
action = false;
heroFindItem("ind", ind, function (){
action = true;
}, "take", "ind", 30, 30);
}});
addNewActivator("pc", pc, {onClick:function ():void{
if (((hasItem("cable")) && (hasItem("tape")))){
fixWire();
} else {
heroRefuse();
};
}});
addNewActivator("electro", electro, {onClick:function ():void{
if (hasItem("screwdriver")){
openElectro();
} else {
if ((((electro.currentFrame == 17)) && (hasItem("ind")))){
openPuzzle();
} else {
heroRefuse();
};
};
}});
puzzle1.visible = false;
mc2 = puzzle1.puzzle;
arraIT = [mc2.p1, mc2.p2, mc2.p3, mc2.p4, mc2.p5, mc2.p6, mc2.p7, mc2.p8, mc2.p9, mc2.p10, mc2.p11];
arraR = [mc2.r1, mc2.r2, mc2.r3, mc2.r4, mc2.r5, mc2.r6, mc2.r7, mc2.r8, mc2.r9, mc2.r10, mc2.r11];
range = 5;
heroIdle();
start();
}
}
}//package
Section 181
//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 placeWheel():void{
action = false;
hero.playAnim("walk");
hero.turnTo(125);
hero.moveTo(125, hero.y, function (){
if (hasItem("wheel1")){
dropItem("wheel1");
} else {
if (hasItem("wheel2")){
dropItem("wheel2");
};
};
if (trash.currentFrame == 1){
hero.turnOn("right");
} else {
hero.turnOn("left");
};
hero.playAnim("use", function (){
action = true;
trash.nextFrame();
heroIdle();
});
});
}
public function goBack():void{
action = false;
hero.playAnim("walk");
hero.turnTo(60);
hero.moveTo(60, hero.y, function (){
hero.turnOn("right");
action = true;
heroIdle();
});
}
public function brokeCable():void{
action = false;
hero.playAnim("walk");
hero.turnTo(370);
hero.moveTo(370, hero.y, function (){
dropItem("nippers");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
cable.gotoAndStop(2);
dude.gotoAndStop(2);
tv.gotoAndStop(2);
heroIdle();
goBack();
});
});
}
public function killDude():void{
action = false;
hero.playAnim("walk");
hero.turnTo(185);
hero.moveTo(185, hero.y, function (){
dropItem("saw");
hero.turnOn("right");
sign.play();
hero.playAnim("l2_sow", function (){
action = true;
heroIdle();
});
});
}
public function pushTrash():void{
action = false;
hero.playAnim("walk");
hero.turnTo(200);
hero.moveTo(200, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
action = true;
trash.play();
heroIdle();
});
});
}
public function goDie():void{
action = false;
hero.playAnim("walk");
hero.turnTo(320);
hero.moveTo(320, hero.y, function (){
hero.turnOn("right");
dude.gotoAndStop(4);
hero.playAnim("use", function (){
action = false;
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseUs():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.turnOn("right");
hero.playAnim("walk");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
barrier.gotoAndStop(1);
trash.gotoAndStop(1);
dude.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("nippers", Item_Nippers);
registerItem("nippers1", Item_Nippers2);
registerItem("nippers2", Item_Nippers1);
registerItem("saw", Item_Saw);
registerItem("wheel1", Item_Wheel);
registerItem("wheel2", Item_Wheel);
addNewActivator("saw", saw, {onClick:function ():void{
if (trash.currentFrame == 18){
action = false;
heroFindItem("saw", saw, function (){
action = true;
}, "take", "saw", 30, 30);
} else {
heroRefuse();
};
}});
addNewActivator("nippers1", nippers1, {onClick:function ():void{
action = false;
heroFindItem("nippers1", nippers1, function (){
if (((hasItem("nippers1")) && (hasItem("nippers2")))){
makeItem("nippers", ["nippers1", "nippers2"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "nippers1", 30, 30);
}});
addNewActivator("nippers2", nippers2, {onClick:function ():void{
action = false;
heroFindItem("nippers2", nippers2, function (){
if (((hasItem("nippers1")) && (hasItem("nippers2")))){
makeItem("nippers", ["nippers1", "nippers2"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "nippers2", 30, 30);
}});
addNewActivator("wheel1", wheel1, {onClick:function ():void{
action = false;
heroFindItem("wheel1", wheel1, function (){
action = true;
}, "take", "wheel1", 30, 30);
}});
addNewActivator("wheel2", wheel2, {onClick:function ():void{
if (dude.currentFrame == 3){
goDie();
} else {
action = false;
heroFindItem("wheel2", wheel2, function (){
action = true;
}, "take", "wheel2", 30, 30);
};
}});
addNewActivator("trash", trash, {onClick:function ():void{
if (((hasItem("wheel1")) || (hasItem("wheel2")))){
placeWheel();
} else {
if (trash.currentFrame == 3){
pushTrash();
} else {
heroRefuse();
};
};
}});
addNewActivator("do1", do1, {onClick:function ():void{
if (hasItem("nippers")){
brokeCable();
} else {
heroRefuse();
};
}});
addNewActivator("sign", sign, {onClick:function ():void{
if (((hasItem("saw")) && ((dude.currentFrame == 3)))){
killDude();
} else {
heroRefuse();
};
}});
addNewActivator("dude", dude, {onClick:function ():void{
if (dude.currentFrame == 3){
goDie();
} else {
heroRefuse();
};
}});
heroIdle();
start();
}
}
}//package
Section 182
//Episode_03 (Episode_03)
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_03 extends Episode {
public function Episode_03(){
addFrameScript(0, frame1);
}
public function shewDog():void{
action = false;
hero.playAnim("walk");
hero.turnTo(170);
hero.moveTo(170, hero.y, function (){
dropItem("crowbar");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
pirs.play();
pirs.l3_pirs_part.gotoAndStop(3);
heroIdle();
});
});
}
public function killMan():void{
action = false;
hero.playAnim("walk");
hero.turnTo(300);
hero.moveTo(300, hero.y, function (){
hero.moveTo(370, 366, function (){
hero.moveTo(475, 366, function (){
dropItem("tire");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
dude.gotoAndStop(3);
});
});
});
});
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnTo(375);
hero.moveTo(375, hero.y, function (){
dropItem("crane");
hero.turnOn("right");
hero.playAnim("use", function (){
action = false;
sewage.play();
heroIdle();
});
});
}
public function goDie():void{
action = false;
hero.playAnim("walk");
hero.turnTo(430);
hero.moveTo(430, hero.y, function (){
hero.turnOn("right");
pirs.l3_pirs_part.gotoAndStop(2);
hero.playAnim("use", function (){
action = false;
});
});
}
public function goDieMan():void{
action = false;
hero.playAnim("walk");
hero.turnTo(300);
hero.moveTo(300, hero.y, function (){
hero.moveTo(370, 366, function (){
hero.moveTo(475, 366, function (){
hero.turnOn("right");
dude.gotoAndStop(2);
hero.playAnim("use", function (){
action = false;
});
});
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseUs():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.turnOn("right");
hero.playAnim("walk");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
pirs.gotoAndStop(1);
pirs.l3_pirs_part.gotoAndStop(1);
dude.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("crane", Item_Crane);
registerItem("crowbar", Item_Crowbar);
registerItem("knife", Item_Knife);
registerItem("tire", Item_Tire);
addNewActivator("crowbar", crowbar, {onClick:function ():void{
action = false;
heroFindItem("crowbar", crowbar, function (){
action = true;
}, "take", "crowbar", 30, 30);
}});
addNewActivator("knife", knife, {onClick:function ():void{
action = false;
heroFindItem("knife", knife, function (){
action = true;
}, "take", "knife", 30, 30);
}});
addNewActivator("crane", crane, {onClick:function ():void{
if (pirs.currentFrame == 1){
goDie();
} else {
if (dude.currentFrame == 1){
goDieMan();
} else {
action = false;
heroFindItem("crane", crane, function (){
action = true;
}, "take", "crane", 30, 30);
};
};
}});
addNewActivator("tire", tire, {onClick:function ():void{
if (hasItem("knife")){
action = false;
dropItem("knife");
heroFindItem("tire", tire, function (){
action = true;
}, "take", "tire", 30, 30);
} else {
heroRefuse();
};
}});
addNewActivator("sewage", sewage, {onClick:function ():void{
if (hasItem("crane")){
goWin();
} else {
heroRefuse();
};
}});
addNewActivator("pirs", pirs, {onClick:function ():void{
if (hasItem("crowbar")){
if (!tire.visible){
shewDog();
} else {
heroRefuse();
};
} else {
goDie();
};
}});
addNewActivator("dude", dude, {onClick:function ():void{
if (pirs.currentFrame != 1){
if (hasItem("tire")){
killMan();
} else {
goDieMan();
};
} else {
goDie();
};
}});
heroIdle();
start();
}
}
}//package
Section 183
//Episode_04 (Episode_04)
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_04 extends Episode {
public var order:Array;
public var nowCheck:Number;
public function Episode_04(){
addFrameScript(0, frame1);
}
public function selectEnd():void{
action = false;
if (sewage.currentFrame == 10){
dude.gotoAndStop(3);
} else {
dude.gotoAndStop(2);
};
}
public function placeChain():void{
action = false;
hero.playAnim("walk");
hero.turnTo(240);
hero.moveTo(240, hero.y, function (){
dropItem("chain");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
sewage.nextFrame();
heroIdle();
});
});
}
public function openSewage():void{
action = false;
hero.playAnim("walk");
hero.turnTo(240);
hero.moveTo(240, hero.y, function (){
dropItem("trap");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
sewage.gotoAndPlay(3);
heroIdle();
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseUs():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin():void{
action = false;
hero.turnOn("right");
hero.playAnim("walk");
hero.moveTo(380, 462, function (){
hero.moveTo(950, 410, function (){
win();
});
});
}
public function goWin2():void{
action = false;
hero.turnOn("right");
hero.playAnim("walk");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
sewage.gotoAndStop(1);
dude.gotoAndStop(1);
dude2.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("chain", Item_Chain);
registerItem("dumbbell", Item_Dumbbell);
registerItem("rope", Item_Rope);
registerItem("trap", Item_Trap);
registerItem("weight", Item_Weight);
addNewActivator("weight", weight, {onClick:function ():void{
action = false;
heroFindItem("weight", weight, function (){
if (((((hasItem("dumbbell")) && (hasItem("rope")))) && (hasItem("weight")))){
makeItem("trap", ["dumbbell", "rope", "weight"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "weight", 30, 30);
}});
addNewActivator("dumbbell", dumbbell, {onClick:function ():void{
action = false;
heroFindItem("dumbbell", dumbbell, function (){
if (((((hasItem("dumbbell")) && (hasItem("rope")))) && (hasItem("weight")))){
makeItem("trap", ["dumbbell", "rope", "weight"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "dumbbell", 30, 30);
}});
addNewActivator("do2", do2, {onClick:function ():void{
action = false;
heroFindItem("rope", rope, function (){
do2.visible = false;
if (((((hasItem("dumbbell")) && (hasItem("rope")))) && (hasItem("weight")))){
makeItem("trap", ["dumbbell", "rope", "weight"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "do2", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("chain", chain, function (){
do1.visible = false;
action = true;
}, "take", "do1", 30, 30);
}});
addNewActivator("sewage", sewage, {onClick:function ():void{
if (hasItem("chain")){
placeChain();
} else {
if ((((sewage.currentFrame == 2)) && (hasItem("trap")))){
openSewage();
} else {
heroRefuse();
};
};
}});
order = [lever2, lever4, lever3, lever1];
nowCheck = 0;
presure.gotoAndStop(1);
addNewActivator("lever1", lever1, {onClick:function ():void{
action = false;
hero.playAnim("walk");
hero.turnTo(85);
hero.moveTo(85, hero.y, function (){
hero.turnOn("right");
action = true;
heroIdle();
if (order[nowCheck] == lever1){
lever1.gotoAndStop(2);
nowCheck++;
presure.play();
removeActivator("lever1");
removeActivator("lever2");
removeActivator("lever3");
removeActivator("lever4");
} else {
presure.gotoAndStop(1);
nowCheck = 0;
lever1.gotoAndStop(1);
lever2.gotoAndStop(1);
lever3.gotoAndStop(1);
lever4.gotoAndStop(1);
};
});
}});
addNewActivator("lever2", lever2, {onClick:function ():void{
action = false;
hero.playAnim("walk");
hero.turnTo(85);
hero.moveTo(85, hero.y, function (){
hero.turnOn("right");
action = true;
heroIdle();
if (order[nowCheck] == lever2){
lever2.gotoAndStop(2);
nowCheck++;
presure.play();
} else {
presure.gotoAndStop(1);
nowCheck = 0;
lever1.gotoAndStop(1);
lever2.gotoAndStop(1);
lever3.gotoAndStop(1);
lever4.gotoAndStop(1);
};
});
}});
addNewActivator("lever3", lever3, {onClick:function ():void{
action = false;
hero.playAnim("walk");
hero.turnTo(85);
hero.moveTo(85, hero.y, function (){
hero.turnOn("right");
action = true;
heroIdle();
if (order[nowCheck] == lever3){
lever3.gotoAndStop(2);
nowCheck++;
presure.play();
} else {
presure.gotoAndStop(1);
nowCheck = 0;
lever1.gotoAndStop(1);
lever2.gotoAndStop(1);
lever3.gotoAndStop(1);
lever4.gotoAndStop(1);
};
});
}});
addNewActivator("lever4", lever4, {onClick:function ():void{
action = false;
hero.playAnim("walk");
hero.turnTo(85);
hero.moveTo(85, hero.y, function (){
hero.turnOn("right");
action = true;
heroIdle();
if (order[nowCheck] == lever4){
lever4.gotoAndStop(2);
nowCheck++;
presure.play();
} else {
presure.gotoAndStop(1);
nowCheck = 0;
lever1.gotoAndStop(1);
lever2.gotoAndStop(1);
lever3.gotoAndStop(1);
lever4.gotoAndStop(1);
};
});
}});
heroIdle();
start();
}
}
}//package
Section 184
//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 var mc;
public var arrayP;
public function Episode_05(){
addFrameScript(0, frame1);
}
public function takeBottle():void{
action = false;
hero.playAnim("walk");
hero.turnTo(125);
hero.moveTo(125, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use", function (){
takeItem("bottle");
if (((hasItem("shawl")) && (hasItem("bottle")))){
makeItem("bottleShawl", ["shawl", "bottle"], function ():void{
action = true;
});
} else {
action = true;
};
aid.nextFrame();
heroIdle();
});
});
}
public function killCap():void{
action = false;
hero.playAnim("walk");
hero.turnTo(530);
hero.moveTo(530, hero.y, function (){
dropItem("bottleShawl");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
cap.gotoAndStop(3);
heroIdle();
});
});
}
public function placeIt():void{
action = false;
hero.playAnim("walk");
hero.turnTo(310);
hero.moveTo(310, hero.y, function (){
dropItem("mattress");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
mattress2.visible = true;
heroIdle();
});
});
}
public function freeMattress():void{
action = false;
hero.playAnim("walk");
hero.turnTo(222);
hero.moveTo(222, hero.y, function (){
dropItem("scissors");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
belt.play();
heroIdle();
});
});
}
public function openPuzzle():void{
action = false;
hero.playAnim("walk");
hero.turnTo(500);
hero.moveTo(500, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use", function (){
var _local2:*;
puzzle.play();
var _local1:uint;
while (_local1 < arrayP.length) {
_local2 = Math.random();
if (_local2 < 0.33){
arrayP[_local1].gotoAndStop(2);
} else {
if (_local2 < 0.66){
arrayP[_local1].gotoAndStop(3);
} else {
arrayP[_local1].gotoAndStop(4);
};
};
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) {
trace(((("arrayP[" + _local2) + "].currentFrame = ") + arrayP[_local2].currentFrame));
if (arrayP[_local2].currentFrame != 1){
_local1 = false;
};
_local2++;
};
if (_local1){
puzzle.play();
};
}
public function goDie():void{
action = false;
hero.playAnim("walk");
hero.turnTo(515);
hero.moveTo(515, hero.y, function (){
hero.turnOn("right");
cap.gotoAndStop(2);
hero.playAnim("use", function (){
action = false;
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseUs():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.turnOn("right");
hero.playAnim("walk");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
mattress2.visible = false;
mattress.visible = false;
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("bottle", Item_Bottle);
registerItem("bottleShawl", Item_BottleShawl);
registerItem("mattress", Item_Mattress);
registerItem("scissors", Item_Scissors);
registerItem("shawl", Item_Shawl);
addNewActivator("shawl", shawl, {onClick:function ():void{
action = false;
heroFindItem("shawl", shawl, function (){
if (((hasItem("shawl")) && (hasItem("bottle")))){
makeItem("bottleShawl", ["shawl", "bottle"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "shawl", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("scissors", scissors, function (){
action = true;
}, "take", "do1", 30, 30);
}});
addNewActivator("mattress", mattress, {onClick:function ():void{
action = false;
heroFindItem("mattress", mattress, function (){
action = true;
}, "take", "mattress", 30, 30);
}});
addNewActivator("belt", belt, {onClick:function ():void{
if (hasItem("scissors")){
freeMattress();
} else {
heroRefuse();
};
}});
addNewActivator("cap", cap, {onClick:function ():void{
if (hasItem("mattress")){
placeIt();
} else {
if (((mattress2.visible) && (hasItem("bottleShawl")))){
removeActivator("cap");
killCap();
} else {
removeActivator("cap");
goDie();
};
};
}});
addNewActivator("do3", do3, {onClick:function ():void{
if (cap.currentFrame == 3){
do3.visible = false;
openPuzzle();
} else {
heroRefuse();
};
}});
addNewActivator("aid", aid, {onClick:function ():void{
takeBottle();
removeActivator("aid");
}});
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 185
//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 mc;
public var startPoint:Number;
public var startArray:Array;
public var currClip;
public var selectedRed;
public var pnt1;
public var pnt2;
public var pnt3;
public var pnt4;
public var howMuch:Number;
public var makeFin:Boolean;
public function Episode_06(){
addFrameScript(0, frame1);
}
public function makeWoods():void{
action = false;
hero.playAnim("walk");
hero.turnTo(215);
hero.moveTo(215, hero.y, function (){
dropItem("axe");
hero.turnOn("left");
hero.playAnim("use", function (){
action = true;
sledge.nextFrame();
woods.visible = true;
heroIdle();
});
});
}
public function placePipe():void{
action = false;
hero.playAnim("walk");
hero.turnTo(130);
hero.moveTo(130, hero.y, function (){
dropItem("pipe");
hero.turnOn("left");
hero.playAnim("use", function (){
action = true;
gas.nextFrame();
heroIdle();
});
});
}
public function makeCanFull():void{
action = false;
hero.playAnim("walk");
hero.turnTo(130);
hero.moveTo(130, hero.y, function (){
dropItem("can");
hero.turnOn("left");
hero.playAnim("use", function (){
action = false;
gas.play();
heroIdle();
});
});
}
public function placeWoods():void{
action = false;
hero.playAnim("walk");
hero.turnTo(420);
hero.moveTo(420, hero.y, function (){
dropItem("woods");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
panel.gotoAndStop(2);
heroIdle();
});
});
}
public function placeFuel():void{
action = false;
hero.playAnim("walk");
hero.turnTo(420);
hero.moveTo(420, hero.y, function (){
dropItem("fuel");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
panel.gotoAndStop(3);
heroIdle();
});
});
}
public function firestart():void{
action = false;
hero.playAnim("walk");
hero.turnTo(420);
hero.moveTo(420, hero.y, function (){
dropItem("matches");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
panel.gotoAndPlay(4);
heroIdle();
});
});
}
public function openPuzzle():void{
action = false;
hero.playAnim("walk");
hero.turnTo(420);
hero.moveTo(420, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use", function (){
puzzle2.visible = true;
puzzle2.gotoAndPlay(2);
mc.red1.addEventListener(MouseEvent.MOUSE_DOWN, startDragF1);
mc.red2.addEventListener(MouseEvent.MOUSE_DOWN, startDragF2);
mc.red3.addEventListener(MouseEvent.MOUSE_DOWN, startDragF3);
mc.red4.addEventListener(MouseEvent.MOUSE_DOWN, startDragF4);
heroIdle();
});
});
}
public function startDragF1(_arg1:MouseEvent):void{
currClip = MovieClip(_arg1.currentTarget);
startPoint = -1;
makeFin = false;
TweenLite.to(mc.red2, 0.3, {x:pnt2.x, y:pnt2.y, ease:Circ.easeOut});
TweenLite.to(mc.red3, 0.3, {x:pnt3.x, y:pnt3.y, ease:Circ.easeOut});
TweenLite.to(mc.red4, 0.3, {x:pnt4.x, y:pnt4.y, ease:Circ.easeOut});
currClip.startDrag();
selectedRed = mc.fin1;
stage.addEventListener(Event.ENTER_FRAME, myFunction);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
}
public function startDragF2(_arg1:MouseEvent):void{
currClip = MovieClip(_arg1.currentTarget);
startPoint = -1;
makeFin = false;
TweenLite.to(mc.red1, 0.3, {x:pnt1.x, y:pnt1.y, ease:Circ.easeOut});
TweenLite.to(mc.red3, 0.3, {x:pnt3.x, y:pnt3.y, ease:Circ.easeOut});
TweenLite.to(mc.red4, 0.3, {x:pnt4.x, y:pnt4.y, ease:Circ.easeOut});
currClip.startDrag();
selectedRed = mc.fin2;
stage.addEventListener(Event.ENTER_FRAME, myFunction);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
}
public function startDragF3(_arg1:MouseEvent):void{
currClip = MovieClip(_arg1.currentTarget);
startPoint = -1;
makeFin = false;
TweenLite.to(mc.red2, 0.3, {x:pnt2.x, y:pnt2.y, ease:Circ.easeOut});
TweenLite.to(mc.red1, 0.3, {x:pnt1.x, y:pnt1.y, ease:Circ.easeOut});
TweenLite.to(mc.red4, 0.3, {x:pnt4.x, y:pnt4.y, ease:Circ.easeOut});
currClip.startDrag();
selectedRed = mc.fin3;
stage.addEventListener(Event.ENTER_FRAME, myFunction);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
}
public function startDragF4(_arg1:MouseEvent):void{
currClip = MovieClip(_arg1.currentTarget);
startPoint = -1;
makeFin = false;
TweenLite.to(mc.red2, 0.3, {x:pnt2.x, y:pnt2.y, ease:Circ.easeOut});
TweenLite.to(mc.red3, 0.3, {x:pnt3.x, y:pnt3.y, ease:Circ.easeOut});
TweenLite.to(mc.red1, 0.3, {x:pnt1.x, y:pnt1.y, ease:Circ.easeOut});
currClip.startDrag();
selectedRed = mc.fin4;
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));
if (startPoint > -1){
TweenLite.to(currClip, 0.5, {x:startArray[startPoint].x, y:startArray[startPoint].y, ease:Circ.easeOut});
} else {
trace("ok stop 1");
if (currClip == mc.red1){
mc.red1.x = pnt1.x;
mc.red1.y = pnt1.y;
};
trace("ok stop 2");
if (currClip == mc.red2){
mc.red2.x = pnt2.x;
mc.red2.y = pnt2.y;
};
trace("ok stop 3");
if (currClip == mc.red3){
mc.red3.x = pnt3.x;
mc.red3.y = pnt3.y;
};
trace("ok stop 4");
if (currClip == mc.red4){
mc.red4.x = pnt4.x;
mc.red4.y = pnt4.y;
};
trace("ok stop 5");
};
trace(("get timer = " + getTimer()));
currClip = null;
}
public function stage_onMouseUp(_arg1:MouseEvent):void{
if (!makeFin){
goToStart();
};
}
public function myFunction(_arg1:Event){
if (PixelPerfectCollisionDetection.isColliding(currClip, mc.border, this, true, 0)){
goToStart();
} else {
if (PixelPerfectCollisionDetection.isColliding(currClip, mc.ch1, this, true, 0)){
startPoint = 0;
} else {
if (PixelPerfectCollisionDetection.isColliding(currClip, mc.ch2, this, true, 0)){
startPoint = 1;
} else {
if (PixelPerfectCollisionDetection.isColliding(currClip, mc.ch3, this, true, 0)){
startPoint = 2;
} else {
if (PixelPerfectCollisionDetection.isColliding(currClip, mc.ch4, this, true, 0)){
startPoint = 3;
} else {
if (PixelPerfectCollisionDetection.isColliding(currClip, mc.ch5, this, true, 0)){
startPoint = 4;
} else {
if (PixelPerfectCollisionDetection.isColliding(currClip, selectedRed, this, true, 0)){
trace(("selectedRed.name = " + selectedRed.name));
trace(("currClip.name = " + currClip.name));
makeFin = true;
currClip.stopDrag();
stage.removeEventListener(Event.ENTER_FRAME, myFunction);
if (selectedRed == mc.red1){
currClip.removeEventListener(MouseEvent.MOUSE_DOWN, startDragF1);
};
if (selectedRed == mc.red2){
currClip.removeEventListener(MouseEvent.MOUSE_DOWN, startDragF2);
};
if (selectedRed == mc.red3){
currClip.removeEventListener(MouseEvent.MOUSE_DOWN, startDragF3);
};
if (selectedRed == mc.red4){
currClip.removeEventListener(MouseEvent.MOUSE_DOWN, startDragF4);
};
currClip.x = selectedRed.x;
currClip.y = selectedRed.y;
currClip.visible = false;
howMuch++;
if (howMuch == 4){
action = true;
puzzle2.play();
};
};
};
};
};
};
};
};
}
public function goDie():void{
action = false;
hero.playAnim("walk");
hero.turnTo(320);
hero.moveTo(320, hero.y, function (){
hero.turnOn("right");
dude.gotoAndStop(4);
hero.playAnim("use", function (){
action = false;
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseUs():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin():void{
action = false;
hero.turnOn("right");
door.play();
hero.playAnim("walk");
hero.moveTo(590, 412, function (){
hero.moveTo(750, 320, function (){
win();
});
});
}
function frame1(){
door.gotoAndStop(1);
panel.gotoAndStop(1);
woods.visible = false;
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("axe", Item_Axe);
registerItem("can", Item_Can);
registerItem("fuel", Item_Fuel);
registerItem("matches", Item_Matches);
registerItem("pipe", Item_Pipe);
registerItem("woods", Item_Woods);
addNewActivator("matches", matches, {onClick:function ():void{
action = false;
heroFindItem("matches", matches, function (){
action = true;
}, "take", "matches", 30, 30);
}});
addNewActivator("axe", axe, {onClick:function ():void{
action = false;
heroFindItem("axe", axe, function (){
action = true;
}, "take", "axe", 30, 30);
}});
addNewActivator("can", can, {onClick:function ():void{
action = false;
heroFindItem("can", can, function (){
action = true;
}, "take", "can", 30, 30);
}});
addNewActivator("pipe", pipe, {onClick:function ():void{
action = false;
heroFindItem("pipe", pipe, function (){
action = true;
}, "take", "pipe", 30, 30);
}});
addNewActivator("woods", woods, {onClick:function ():void{
action = false;
heroFindItem("woods", woods, function (){
action = true;
}, "take", "woods", 30, 30);
}});
addNewActivator("sledge", sledge, {onClick:function ():void{
if (hasItem("axe")){
makeWoods();
} else {
heroRefuse();
};
}});
addNewActivator("do1", do1, {onClick:function ():void{
if (hasItem("pipe")){
placePipe();
} else {
if ((((gas.currentFrame == 2)) && (hasItem("can")))){
makeCanFull();
} else {
heroRefuse();
};
};
}});
addNewActivator("do2", do2, {onClick:function ():void{
if (((hasItem("woods")) && ((panel.currentFrame == 1)))){
placeWoods();
} else {
if (((hasItem("fuel")) && ((panel.currentFrame == 2)))){
placeFuel();
} else {
if (((hasItem("matches")) && ((panel.currentFrame == 3)))){
firestart();
} else {
if (panel.currentFrame == 23){
openPuzzle();
} else {
heroRefuse();
};
};
};
};
}});
puzzle2.visible = false;
mc = puzzle2.puzzle;
startPoint = -1;
startArray = [mc.ch1, mc.ch2, mc.ch3, mc.ch4, mc.ch5];
selectedRed = null;
pnt1 = new Point(mc.red1.x, mc.red1.y);
pnt2 = new Point(mc.red2.x, mc.red2.y);
pnt3 = new Point(mc.red3.x, mc.red3.y);
pnt4 = new Point(mc.red4.x, mc.red4.y);
howMuch = 0;
makeFin = false;
heroIdle();
start();
}
}
}//package
Section 186
//Episode_07 (Episode_07)
package {
import flash.display.*;
import com.greensock.*;
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 arrayItems:Array;
public var deltaX:Number;
public var deltaY:Number;
public var upNow;
public var leftNow;
public var currSit:String;
public function Episode_07(){
addFrameScript(0, frame1);
}
public function fixMagnet():void{
action = false;
hero.playAnim("walk");
hero.turnTo(137);
hero.moveTo(137, hero.y, function (){
dropItem("boltNut");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
magnet.nextFrame();
arrayItems.push(magnet);
currSit = "magnet";
heroIdle();
});
});
}
public function placeRail():void{
action = false;
hero.playAnim("walk");
hero.turnTo(522);
hero.moveTo(522, hero.y, function (){
dropItem("rail");
hero.turnOn("right");
hero.playAnim("use", function (){
action = true;
rail2.visible = true;
if (((((!(upNow)) && (!(leftNow)))) && ((currSit == "magnet")))){
arrayItems.push(rail2);
currSit = "rail";
};
heroIdle();
});
});
}
public function fixRail2():void{
action = false;
hero.playAnim("walk");
hero.turnTo(522);
hero.moveTo(522, hero.y, function (){
dropItem("welding");
hero.turnOn("right");
hero.playAnim("l7_use_gorelka", function (){
action = true;
seam.visible = true;
if (((((!(upNow)) && (!(leftNow)))) && ((currSit == "rail")))){
arrayItems.push(seam);
arrayItems.push(door);
currSit = "seam";
};
heroIdle();
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseUs():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin():void{
action = false;
hero.turnOn("right");
hero.playAnim("walk");
hero.moveTo(590, hero.y, function (){
hero.moveTo(775, 350, function (){
win();
});
});
}
function frame1(){
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("bolt", Item_Bolt);
registerItem("boltNut", Item_BoltNut);
registerItem("burner", Item_Burner);
registerItem("gas", Item_Gas);
registerItem("nut", Item_Nut);
registerItem("rail", Item_Rail);
registerItem("welding", Item_Welding);
addNewActivator("rail", rail, {onClick:function ():void{
action = false;
heroFindItem("rail", rail, function (){
action = true;
}, "take", "rail", 30, 30);
}});
addNewActivator("gas", gas, {onClick:function ():void{
action = false;
heroFindItem("gas", gas, function (){
if (((hasItem("gas")) && (hasItem("burner")))){
makeItem("welding", ["gas", "burner"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "gas", 30, 30);
}});
addNewActivator("burner", burner, {onClick:function ():void{
action = false;
heroFindItem("burner", burner, function (){
if (((hasItem("gas")) && (hasItem("burner")))){
makeItem("welding", ["gas", "burner"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "burner", 30, 30);
}});
addNewActivator("bolt", bolt, {onClick:function ():void{
action = false;
heroFindItem("bolt", bolt, function (){
if (((hasItem("bolt")) && (hasItem("nut")))){
makeItem("boltNut", ["bolt", "nut"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "bolt", 30, 30);
}});
addNewActivator("nut", nut, {onClick:function ():void{
action = false;
heroFindItem("nut", nut, function (){
if (((hasItem("bolt")) && (hasItem("nut")))){
makeItem("boltNut", ["bolt", "nut"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "nut", 30, 30);
}});
addNewActivator("magnet", magnet, {onClick:function ():void{
if (((((hasItem("boltNut")) && (!(upNow)))) && (leftNow))){
fixMagnet();
removeActivator("magnet");
} else {
heroRefuse();
};
}});
addNewActivator("door", door, {onClick:function ():void{
if (hasItem("rail")){
placeRail();
} else {
heroRefuse();
};
}});
addNewActivator("rail2", rail2, {onClick:function ():void{
if (((((((hasItem("welding")) && (rail2.visible))) && ((rail2.x > 450)))) && ((rail2.y > 350)))){
fixRail2();
} else {
heroRefuse();
};
}});
seam.visible = false;
rail2.visible = false;
arrayItems = [];
arrayItems.push(chain);
arrayItems.push(crane);
deltaX = 390;
deltaY = 180;
upNow = false;
leftNow = true;
addNewActivator("dD", dD, {onClick:function ():void{
if (upNow){
action = false;
hero.playAnim("walk");
hero.turnTo(386);
hero.moveTo(386, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
action = true;
var _local1:* = 0;
while (_local1 < arrayItems.length) {
TweenLite.to(arrayItems[_local1], 1, {y:(arrayItems[_local1].y + deltaY)});
_local1++;
};
upNow = false;
if (((((!(leftNow)) && ((currSit == "magnet")))) && (rail2.visible))){
arrayItems.push(rail2);
currSit = "rail";
};
if (((((!(upNow)) && ((magnet.currentFrame == 2)))) && (seam.visible))){
arrayItems.push(seam);
arrayItems.push(door);
currSit = "seam";
};
heroIdle();
});
});
} else {
heroRefuse();
};
}});
addNewActivator("dU", dU, {onClick:function ():void{
if (!upNow){
action = false;
hero.playAnim("walk");
hero.turnTo(386);
hero.moveTo(386, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
action = true;
var _local1:* = 0;
while (_local1 < arrayItems.length) {
TweenLite.to(arrayItems[_local1], 1, {y:(arrayItems[_local1].y - deltaY)});
_local1++;
};
heroIdle();
if (currSit == "seam"){
goWin();
};
upNow = true;
});
});
} else {
heroRefuse();
};
}});
addNewActivator("dR", dR, {onClick:function ():void{
trace(("arrayItems.length = " + arrayItems.length));
if (((leftNow) && ((arrayItems.length < 4)))){
action = false;
hero.playAnim("walk");
hero.turnTo(386);
hero.moveTo(386, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
action = true;
var _local1:* = 0;
while (_local1 < arrayItems.length) {
TweenLite.to(arrayItems[_local1], 1, {x:(arrayItems[_local1].x + deltaX)});
_local1++;
};
heroIdle();
leftNow = false;
if (((((!(upNow)) && ((currSit == "magnet")))) && (rail2.visible))){
arrayItems.push(rail2);
currSit = "rail";
};
if (((((!(upNow)) && ((magnet.currentFrame == 2)))) && (seam.visible))){
arrayItems.push(seam);
arrayItems.push(door);
currSit = "seam";
};
});
});
} else {
heroRefuse();
};
}});
addNewActivator("dL", dL, {onClick:function ():void{
if (((!(leftNow)) && ((arrayItems.length < 4)))){
action = false;
hero.playAnim("walk");
hero.turnTo(386);
hero.moveTo(386, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
action = true;
var _local1:* = 0;
while (_local1 < arrayItems.length) {
TweenLite.to(arrayItems[_local1], 1, {x:(arrayItems[_local1].x - deltaX)});
_local1++;
};
leftNow = true;
heroIdle();
});
});
} else {
heroRefuse();
};
}});
currSit = "none";
heroIdle();
start();
}
}
}//package
Section 187
//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 killBoss():void{
action = false;
hero.playAnim("walk");
hero.turnTo(350);
hero.moveTo(350, hero.y, function (){
dropItem("shoker");
hero.turnOn("right");
hero.playAnim("l8_shoker", function (){
action = true;
heroIdle();
});
});
}
public function detonateGrenade():void{
action = false;
hero.playAnim("walk");
hero.turnTo(140);
hero.moveTo(140, hero.y, function (){
dropItem("slingshot");
hero.turnOn("right");
hero.playAnim("l8_shoot", function (){
action = true;
spray1.gotoAndStop(2);
spray2.gotoAndStop(2);
spray3.gotoAndStop(2);
boss.play();
heroIdle();
});
});
}
public function placeGrenade2():void{
action = false;
hero.playAnim("walk");
hero.turnTo(235);
hero.moveTo(235, hero.y, function (){
dropItem("grenade");
hero.turnOn("right");
hero.playAnim("l8_throw", function (){
action = true;
grenade2.visible = true;
heroIdle();
});
});
}
public function killUsInvisible():void{
action = false;
hero.playAnim("walk");
hero.turnTo(588);
hero.moveTo(588, hero.y, function (){
hero.turnOn("right");
barrel.gotoAndPlay(2);
hero.playAnim("use", function (){
action = false;
});
});
}
public function killUsVisible():void{
action = false;
hero.playAnim("walk");
hero.turnTo(588);
hero.moveTo(588, hero.y, function (){
hero.turnOn("right");
boss.gotoAndStop(11);
barrel.gotoAndPlay(16);
hero.playAnim("use", function (){
action = false;
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseUs():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.turnOn("right");
hero.playAnim("walk");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
grenade2.visible = false;
registerItem("nut", Item_Nut);
registerItem("artefact", Item_Artefact);
registerItem("belt", Item_Belt);
registerItem("grenade", Item_Grenade);
registerItem("shoker", Item_Shoker);
registerItem("slingshot", Item_Slingshot);
registerItem("tube", Item_Tube);
addNewActivator("artefact", artefact, {onClick:function ():void{
if (boss.currentFrame == 12){
action = false;
heroFindItem("artefact", artefact, function (){
action = false;
goWin2();
}, "take", "artefact", 30, 30);
} else {
if (boss.currentFrame == 10){
killUsVisible();
} else {
if (boss.currentFrame == 1){
killUsInvisible();
} else {
heroRefuse();
};
};
};
}});
addNewActivator("tube", tube, {onClick:function ():void{
action = false;
heroFindItem("tube", tube, function (){
if (((((hasItem("tube")) && (hasItem("nut")))) && (hasItem("belt")))){
makeItem("slingshot", ["tube", "nut", "belt"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "tube", 30, 30);
}});
addNewActivator("nut", nut, {onClick:function ():void{
action = false;
heroFindItem("nut", nut, function (){
if (((((hasItem("tube")) && (hasItem("nut")))) && (hasItem("belt")))){
makeItem("slingshot", ["tube", "nut", "belt"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "nut", 30, 30);
}});
addNewActivator("belt", belt, {onClick:function ():void{
action = false;
heroFindItem("belt", belt, function (){
if (((((hasItem("tube")) && (hasItem("nut")))) && (hasItem("belt")))){
makeItem("slingshot", ["tube", "nut", "belt"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "belt", 30, 30);
}});
addNewActivator("grenade", grenade, {onClick:function ():void{
action = false;
heroFindItem("grenade", grenade, function (){
action = true;
}, "take", "grenade", 30, 30);
}});
addNewActivator("shoker", shoker, {onClick:function ():void{
action = false;
heroFindItem("shoker", shoker, function (){
action = true;
}, "take", "shoker", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
if (hasItem("grenade")){
placeGrenade2();
do1.visible = false;
} else {
heroRefuse();
};
}});
addNewActivator("grenade2", grenade2, {onClick:function ():void{
if (((hasItem("slingshot")) && (grenade2.visible))){
detonateGrenade();
} else {
heroRefuse();
};
}});
addNewActivator("boss", boss, {onClick:function ():void{
if (((hasItem("shoker")) && ((boss.currentFrame == 10)))){
killBoss();
} else {
heroRefuse();
};
}});
heroIdle();
start();
}
}
}//package
Section 188
//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 189
//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 190
//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 191
//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 192
//GameMusic (GameMusic)
package {
import flash.media.*;
public dynamic class GameMusic extends Sound {
}
}//package
Section 193
//GameSlot (GameSlot)
package {
import aq.pcge.game.buttons.*;
public dynamic class GameSlot extends LinkBox {
}
}//package
Section 194
//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);
}
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();
}
}
}//package
Section 195
//Item_Artefact (Item_Artefact)
package {
import flash.display.*;
public dynamic class Item_Artefact extends MovieClip {
public function Item_Artefact(){
addFrameScript(10, frame11);
}
function frame11(){
gotoAndPlay(2);
}
}
}//package
Section 196
//Item_Axe (Item_Axe)
package {
import flash.display.*;
public dynamic class Item_Axe extends MovieClip {
}
}//package
Section 197
//Item_Belt (Item_Belt)
package {
import flash.display.*;
public dynamic class Item_Belt extends MovieClip {
}
}//package
Section 198
//Item_Bolt (Item_Bolt)
package {
import flash.display.*;
public dynamic class Item_Bolt extends MovieClip {
}
}//package
Section 199
//Item_BoltNut (Item_BoltNut)
package {
import flash.display.*;
public dynamic class Item_BoltNut extends MovieClip {
}
}//package
Section 200
//Item_Bottle (Item_Bottle)
package {
import flash.display.*;
public dynamic class Item_Bottle extends MovieClip {
}
}//package
Section 201
//Item_BottleShawl (Item_BottleShawl)
package {
import flash.display.*;
public dynamic class Item_BottleShawl extends MovieClip {
}
}//package
Section 202
//Item_Burner (Item_Burner)
package {
import flash.display.*;
public dynamic class Item_Burner extends MovieClip {
}
}//package
Section 203
//Item_Cable (Item_Cable)
package {
import flash.display.*;
public dynamic class Item_Cable extends MovieClip {
}
}//package
Section 204
//Item_Can (Item_Can)
package {
import flash.display.*;
public dynamic class Item_Can extends MovieClip {
}
}//package
Section 205
//Item_Chain (Item_Chain)
package {
import flash.display.*;
public dynamic class Item_Chain extends MovieClip {
}
}//package
Section 206
//Item_Crane (Item_Crane)
package {
import flash.display.*;
public dynamic class Item_Crane extends MovieClip {
}
}//package
Section 207
//Item_Crowbar (Item_Crowbar)
package {
import flash.display.*;
public dynamic class Item_Crowbar extends MovieClip {
}
}//package
Section 208
//Item_Dumbbell (Item_Dumbbell)
package {
import flash.display.*;
public dynamic class Item_Dumbbell extends MovieClip {
}
}//package
Section 209
//Item_Fuel (Item_Fuel)
package {
import flash.display.*;
public dynamic class Item_Fuel extends MovieClip {
}
}//package
Section 210
//Item_Gas (Item_Gas)
package {
import flash.display.*;
public dynamic class Item_Gas extends MovieClip {
}
}//package
Section 211
//Item_Grenade (Item_Grenade)
package {
import flash.display.*;
public dynamic class Item_Grenade extends MovieClip {
}
}//package
Section 212
//Item_Ind (Item_Ind)
package {
import flash.display.*;
public dynamic class Item_Ind extends MovieClip {
}
}//package
Section 213
//Item_Knife (Item_Knife)
package {
import flash.display.*;
public dynamic class Item_Knife extends MovieClip {
}
}//package
Section 214
//Item_Matches (Item_Matches)
package {
import flash.display.*;
public dynamic class Item_Matches extends MovieClip {
}
}//package
Section 215
//Item_Mattress (Item_Mattress)
package {
import flash.display.*;
public dynamic class Item_Mattress extends MovieClip {
}
}//package
Section 216
//Item_Nippers (Item_Nippers)
package {
import flash.display.*;
public dynamic class Item_Nippers extends MovieClip {
}
}//package
Section 217
//Item_Nippers1 (Item_Nippers1)
package {
import flash.display.*;
public dynamic class Item_Nippers1 extends MovieClip {
}
}//package
Section 218
//Item_Nippers2 (Item_Nippers2)
package {
import flash.display.*;
public dynamic class Item_Nippers2 extends MovieClip {
}
}//package
Section 219
//Item_Nut (Item_Nut)
package {
import flash.display.*;
public dynamic class Item_Nut extends MovieClip {
}
}//package
Section 220
//Item_Pipe (Item_Pipe)
package {
import flash.display.*;
public dynamic class Item_Pipe extends MovieClip {
}
}//package
Section 221
//Item_Rail (Item_Rail)
package {
import flash.display.*;
public dynamic class Item_Rail extends MovieClip {
}
}//package
Section 222
//Item_Rope (Item_Rope)
package {
import flash.display.*;
public dynamic class Item_Rope extends MovieClip {
}
}//package
Section 223
//Item_Saw (Item_Saw)
package {
import flash.display.*;
public dynamic class Item_Saw extends MovieClip {
}
}//package
Section 224
//Item_Scissors (Item_Scissors)
package {
import flash.display.*;
public dynamic class Item_Scissors extends MovieClip {
}
}//package
Section 225
//Item_Screwdriver (Item_Screwdriver)
package {
import flash.display.*;
public dynamic class Item_Screwdriver extends MovieClip {
}
}//package
Section 226
//Item_Shawl (Item_Shawl)
package {
import flash.display.*;
public dynamic class Item_Shawl extends MovieClip {
}
}//package
Section 227
//Item_Shoker (Item_Shoker)
package {
import flash.display.*;
public dynamic class Item_Shoker extends MovieClip {
}
}//package
Section 228
//Item_Slingshot (Item_Slingshot)
package {
import flash.display.*;
public dynamic class Item_Slingshot extends MovieClip {
}
}//package
Section 229
//Item_Tape (Item_Tape)
package {
import flash.display.*;
public dynamic class Item_Tape extends MovieClip {
}
}//package
Section 230
//Item_Tire (Item_Tire)
package {
import flash.display.*;
public dynamic class Item_Tire extends MovieClip {
}
}//package
Section 231
//Item_Trap (Item_Trap)
package {
import flash.display.*;
public dynamic class Item_Trap extends MovieClip {
}
}//package
Section 232
//Item_Tube (Item_Tube)
package {
import flash.display.*;
public dynamic class Item_Tube extends MovieClip {
}
}//package
Section 233
//Item_Weight (Item_Weight)
package {
import flash.display.*;
public dynamic class Item_Weight extends MovieClip {
}
}//package
Section 234
//Item_Welding (Item_Welding)
package {
import flash.display.*;
public dynamic class Item_Welding extends MovieClip {
}
}//package
Section 235
//Item_Wheel (Item_Wheel)
package {
import flash.display.*;
public dynamic class Item_Wheel extends MovieClip {
}
}//package
Section 236
//Item_Woods (Item_Woods)
package {
import flash.display.*;
public dynamic class Item_Woods extends MovieClip {
}
}//package
Section 237
//ItemIcon (ItemIcon)
package {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.geom.*;
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 238
//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 239
//WMCurtain (WMCurtain)
package {
import flash.display.*;
public dynamic class WMCurtain extends Sprite {
}
}//package