Section 1
//HScrollBar (aq.pcge.common.HScrollBar)
package aq.pcge.common {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class HScrollBar extends Sprite {
private const SPEED:Number = 8;
public var track:Sprite;
public var thumb:Sprite;
public var leftButton:Sprite;
public var rightButton:Sprite;
private var _cont:Sprite;
private var _mask:Sprite;
private var _moveDir:int;// = 0
public function attach(_arg1:Sprite, _arg2:Sprite):void{
if (((!(_arg1)) || (!(_arg2)))){
throw (new Error("[HScrollBar] : <attach> : Wrong target (container or mask)."));
};
_cont = _arg1;
_mask = _arg2;
_cont.mask = _mask;
resizeThumb();
thumb.addEventListener(MouseEvent.MOUSE_DOWN, dragThumb);
thumb.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
thumb.addEventListener(Event.ENTER_FRAME, moveCont);
stage.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
track.addEventListener(MouseEvent.CLICK, placeThumb);
track.addEventListener(Event.ENTER_FRAME, shiftThumb);
if (leftButton){
leftButton.addEventListener(MouseEvent.MOUSE_DOWN, startMoveLeft);
leftButton.addEventListener(MouseEvent.MOUSE_UP, stopMove);
leftButton.addEventListener(MouseEvent.CLICK, stepLeft);
};
if (rightButton){
rightButton.addEventListener(MouseEvent.MOUSE_DOWN, startMoveRight);
rightButton.addEventListener(MouseEvent.MOUSE_UP, stopMove);
rightButton.addEventListener(MouseEvent.CLICK, stepRight);
};
track.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_mask.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
}
public function detach():void{
thumb.removeEventListener(MouseEvent.MOUSE_DOWN, dragThumb);
thumb.removeEventListener(MouseEvent.MOUSE_UP, dropThumb);
thumb.removeEventListener(Event.ENTER_FRAME, moveCont);
stage.removeEventListener(MouseEvent.MOUSE_UP, dropThumb);
track.removeEventListener(MouseEvent.CLICK, placeThumb);
track.removeEventListener(Event.ENTER_FRAME, shiftThumb);
if (leftButton){
leftButton.removeEventListener(MouseEvent.MOUSE_DOWN, startMoveLeft);
leftButton.removeEventListener(MouseEvent.MOUSE_UP, stopMove);
leftButton.removeEventListener(MouseEvent.CLICK, stepLeft);
};
if (rightButton){
rightButton.removeEventListener(MouseEvent.MOUSE_DOWN, startMoveRight);
rightButton.removeEventListener(MouseEvent.MOUSE_UP, stopMove);
rightButton.removeEventListener(MouseEvent.CLICK, stepRight);
};
track.parent.removeEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_mask.parent.removeEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_cont = undefined;
_mask = undefined;
}
public function isAttached():Boolean{
return (((_cont) && (_mask)));
}
private function resizeThumb():void{
var _local1:Number;
if (_cont.width > 0){
_local1 = (_cont.width / _mask.width);
thumb.width = ((_local1)>=1) ? (track.width / _local1) : track.width;
} else {
thumb.width = track.width;
};
}
private function moveThumb(_arg1:int, _arg2:Number):void{
if (_arg1 == -1){
if ((thumb.x - _arg2) >= track.x){
thumb.x = (thumb.x - _arg2);
} else {
thumb.x = track.x;
};
} else {
if (_arg1 == 1){
if ((thumb.x + _arg2) <= ((track.x + track.width) - thumb.width)){
thumb.x = (thumb.x + _arg2);
} else {
thumb.x = ((track.x + track.width) - thumb.width);
};
};
};
}
private function dragThumb(_arg1:MouseEvent):void{
thumb.startDrag(false, new Rectangle(track.x, track.y, (track.width - thumb.width), 0));
}
private function dropThumb(_arg1:MouseEvent):void{
thumb.stopDrag();
}
private function moveCont(_arg1:Event):void{
resizeThumb();
var _local2:Number = ((track.x - thumb.x) * (_cont.width / track.width));
_cont.x = _local2;
}
private function placeThumb(_arg1:MouseEvent):void{
var _local2:Number = track.parent.mouseX;
thumb.x = ((track.x + _local2) - (thumb.width / 2));
if (thumb.x < track.x){
thumb.x = track.x;
};
if ((thumb.x + thumb.width) > (track.x + track.width)){
thumb.x = ((track.x + track.width) - thumb.width);
};
}
private function shiftThumb(_arg1:Event):void{
moveThumb(_moveDir, SPEED);
}
private function scrollThumb(_arg1:MouseEvent):void{
if (_arg1.delta > 0){
moveThumb(-1, SPEED);
} else {
if (_arg1.delta < 0){
moveThumb(1, SPEED);
};
};
}
private function startMoveLeft(_arg1:MouseEvent):void{
_moveDir = -1;
}
private function stepLeft(_arg1:MouseEvent):void{
moveThumb(-1, SPEED);
}
private function startMoveRight(_arg1:MouseEvent):void{
_moveDir = 1;
}
private function stepRight(_arg1:MouseEvent):void{
moveThumb(1, SPEED);
}
private function stopMove(_arg1:MouseEvent):void{
_moveDir = 0;
}
}
}//package aq.pcge.common
Section 2
//Screen (aq.pcge.common.Screen)
package aq.pcge.common {
import flash.display.*;
public class Screen extends Sprite {
public var onShow:Function;
public var onHide:Function;
public function show():void{
if (onShow != null){
onShow();
};
visible = true;
}
public function hide():void{
if (onHide != null){
onHide();
};
visible = false;
}
}
}//package aq.pcge.common
Section 3
//Window (aq.pcge.common.Window)
package aq.pcge.common {
import flash.display.*;
import aq.pcge.*;
import flash.geom.*;
public class Window extends MovieClip {
public function close():void{
if (!parent){
return;
};
var _local1:WindowsManager = (parent as WindowsManager);
if (_local1){
if (_local1.activeWindow == this){
_local1.closeActiveWindow();
} else {
throw (new Error("[Window] : <close> : Window isn't active."));
};
} else {
throw (new Error("[Window] : <close> : Windows manager not found."));
};
}
public function alignToCenter():void{
var _local1:Rectangle = getBounds(this);
if (stage){
x = (((stage.stageWidth - width) / 2) - _local1.x);
y = (((stage.stageHeight - height) / 2) - _local1.y);
} else {
x = (((GameApplication.SCREEN_WIDTH - width) / 2) - _local1.x);
y = (((GameApplication.SCREEN_HEIGHT - height) / 2) - _local1.y);
};
}
}
}//package aq.pcge.common
Section 4
//WindowsManager (aq.pcge.common.WindowsManager)
package aq.pcge.common {
import flash.display.*;
public class WindowsManager extends Sprite {
protected var _activeWindow:Window;
protected var _windowsLayer:Sprite;
protected var _curtainLayer:WMCurtain;
public function get activeWindow():Window{
return (_activeWindow);
}
public function closeActiveWindow():void{
if (_activeWindow){
removeChild(_activeWindow);
_activeWindow = undefined;
} else {
throw (new Error("[WindowsManager] : <closeActiveWindow> : There is no active window."));
};
}
public function openActiveWindow(_arg1:Window):void{
if (_arg1){
if (_activeWindow){
closeActiveWindow();
};
_activeWindow = _arg1;
addChild(_activeWindow);
} else {
throw (new Error("[WindowsManager] : <openActiveWindow> : Can't open non-existing window."));
};
}
}
}//package aq.pcge.common
Section 5
//VScrollBar (aq.pcge.common.VScrollBar)
package aq.pcge.common {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class VScrollBar extends Sprite {
private const SPEED:Number = 8;
public var track:Sprite;
public var thumb:Sprite;
public var upButton:Sprite;
public var downButton:Sprite;
private var _cont:Sprite;
private var _mask:Sprite;
private var _moveDir:int;// = 0
public function attach(_arg1:Sprite, _arg2:Sprite):void{
if (((!(_arg1)) || (!(_arg2)))){
throw (new Error("[VScrollBar] : <attach> : Wrong target (container or mask)."));
};
_cont = _arg1;
_mask = _arg2;
_cont.mask = _mask;
resizeThumb();
thumb.addEventListener(MouseEvent.MOUSE_DOWN, dragThumb);
thumb.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
thumb.addEventListener(Event.ENTER_FRAME, moveCont);
stage.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
track.addEventListener(MouseEvent.CLICK, placeThumb);
track.addEventListener(Event.ENTER_FRAME, shiftThumb);
if (upButton){
upButton.addEventListener(MouseEvent.MOUSE_DOWN, startMoveUp);
upButton.addEventListener(MouseEvent.MOUSE_UP, stopMove);
upButton.addEventListener(MouseEvent.CLICK, stepUp);
};
if (downButton){
downButton.addEventListener(MouseEvent.MOUSE_DOWN, startMoveDown);
downButton.addEventListener(MouseEvent.MOUSE_UP, stopMove);
downButton.addEventListener(MouseEvent.CLICK, stepDown);
};
track.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_mask.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
}
public function detach():void{
thumb.removeEventListener(MouseEvent.MOUSE_DOWN, dragThumb);
thumb.removeEventListener(MouseEvent.MOUSE_UP, dropThumb);
thumb.removeEventListener(Event.ENTER_FRAME, moveCont);
stage.removeEventListener(MouseEvent.MOUSE_UP, dropThumb);
track.removeEventListener(MouseEvent.CLICK, placeThumb);
track.removeEventListener(Event.ENTER_FRAME, shiftThumb);
if (upButton){
upButton.removeEventListener(MouseEvent.MOUSE_DOWN, startMoveUp);
upButton.removeEventListener(MouseEvent.MOUSE_UP, stopMove);
upButton.removeEventListener(MouseEvent.CLICK, stepUp);
};
if (downButton){
downButton.removeEventListener(MouseEvent.MOUSE_DOWN, startMoveDown);
downButton.removeEventListener(MouseEvent.MOUSE_UP, stopMove);
downButton.removeEventListener(MouseEvent.CLICK, stepDown);
};
track.parent.removeEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_mask.parent.removeEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_cont = undefined;
_mask = undefined;
}
public function isAttached():Boolean{
return (((_cont) && (_mask)));
}
private function resizeThumb():void{
var _local1:Number;
if (_cont.height > 0){
_local1 = (_cont.height / _mask.height);
thumb.height = ((_local1)>=1) ? (track.height / _local1) : track.height;
} else {
thumb.height = track.height;
};
}
private function moveThumb(_arg1:int, _arg2:Number):void{
if (_arg1 == -1){
if ((thumb.y - _arg2) >= track.y){
thumb.y = (thumb.y - _arg2);
} else {
thumb.y = track.y;
};
} else {
if (_arg1 == 1){
if ((thumb.y + _arg2) <= ((track.y + track.height) - thumb.height)){
thumb.y = (thumb.y + _arg2);
} else {
thumb.y = ((track.y + track.height) - thumb.height);
};
};
};
}
private function dragThumb(_arg1:MouseEvent):void{
thumb.startDrag(false, new Rectangle(track.x, track.y, 0, (track.height - thumb.height)));
}
private function dropThumb(_arg1:MouseEvent):void{
thumb.stopDrag();
}
private function moveCont(_arg1:Event):void{
resizeThumb();
var _local2:Number = ((track.y - thumb.y) * (_cont.height / track.height));
_cont.y = _local2;
}
private function placeThumb(_arg1:MouseEvent):void{
var _local2:Number = track.parent.mouseY;
thumb.y = ((track.y + _local2) - (thumb.height / 2));
if (thumb.y < track.y){
thumb.y = track.y;
};
if ((thumb.y + thumb.height) > (track.y + track.height)){
thumb.y = ((track.y + track.height) - thumb.height);
};
}
private function shiftThumb(_arg1:Event):void{
moveThumb(_moveDir, SPEED);
}
private function scrollThumb(_arg1:MouseEvent):void{
if (_arg1.delta > 0){
moveThumb(-1, SPEED);
} else {
if (_arg1.delta < 0){
moveThumb(1, SPEED);
};
};
}
private function startMoveUp(_arg1:MouseEvent):void{
_moveDir = -1;
}
private function stepUp(_arg1:MouseEvent):void{
moveThumb(-1, SPEED);
}
private function startMoveDown(_arg1:MouseEvent):void{
_moveDir = 1;
}
private function stepDown(_arg1:MouseEvent):void{
moveThumb(1, SPEED);
}
private function stopMove(_arg1:MouseEvent):void{
_moveDir = 0;
}
}
}//package aq.pcge.common
Section 6
//LinkBox (aq.pcge.game.buttons.LinkBox)
package aq.pcge.game.buttons {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class LinkBox extends Sprite {
public var content:Sprite;
public var link:String;
public function LinkBox(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
public function get image():DisplayObject{
return (content.getChildAt(0));
}
public function set image(_arg1:DisplayObject):void{
while (content.numChildren) {
content.removeChildAt(0);
};
if (_arg1){
content.addChild(_arg1);
};
}
private function onClick(_arg1:MouseEvent):void{
var $event = _arg1;
if (((link) && ((link.length > 0)))){
try {
navigateToURL(new URLRequest(link), "_blank");
} catch(error:Error) {
};
};
}
}
}//package aq.pcge.game.buttons
Section 7
//AutoWindow (aq.pcge.game.windows.AutoWindow)
package aq.pcge.game.windows {
import flash.events.*;
import aq.pcge.common.*;
import flash.utils.*;
public class AutoWindow extends Window {
private var _lifeTimer:Timer;
public function AutoWindow(){
startLifeTimer();
}
public function startLifeTimer(_arg1:Number=3000):void{
if (!_lifeTimer){
_lifeTimer = new Timer(_arg1, 1);
_lifeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, closeSelf);
_lifeTimer.start();
} else {
throw (new Error("[AutoWindow] : <startLifeTimer> : Life timer already started."));
};
}
public function stopLifeTimer():void{
if (_lifeTimer){
if (_lifeTimer.running){
_lifeTimer.stop();
};
} else {
throw (new Error("[AutoWindow] : <stopLifeTimer> : Life timer not started."));
};
}
public function restartLifeTimer(_arg1:Number=3000):void{
if (_lifeTimer){
if (_lifeTimer.running){
_lifeTimer.stop();
};
_lifeTimer.reset();
_lifeTimer.delay = _arg1;
_lifeTimer.repeatCount = 1;
} else {
_lifeTimer = new Timer(_arg1, 1);
};
if (!_lifeTimer.hasEventListener(TimerEvent.TIMER_COMPLETE)){
_lifeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, closeSelf);
};
_lifeTimer.start();
}
override public function close():void{
super.close();
if (_lifeTimer){
if (_lifeTimer.running){
_lifeTimer.stop();
};
if (_lifeTimer.hasEventListener(TimerEvent.TIMER_COMPLETE)){
_lifeTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, closeSelf);
};
_lifeTimer = undefined;
};
}
private function closeSelf(_arg1:TimerEvent):void{
_lifeTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, closeSelf);
_lifeTimer = undefined;
close();
}
}
}//package aq.pcge.game.windows
Section 8
//FailWindow (aq.pcge.game.windows.FailWindow)
package aq.pcge.game.windows {
public class FailWindow extends FlapWindow {
public function FailWindow(){
addFrameScript(0, frame1, 1, frame2, 15, frame16, 34, frame35);
alignToCenter();
}
function frame1(){
}
function frame2(){
if (onClose != null){
onClose();
};
}
function frame16(){
if (onOpen != null){
onOpen();
};
}
function frame35(){
stop();
if (onStop != null){
onStop();
};
close();
}
}
}//package aq.pcge.game.windows
Section 9
//FinalWindow (aq.pcge.game.windows.FinalWindow)
package aq.pcge.game.windows {
import flash.display.*;
import aq.pcge.game.*;
import aq.pcge.common.*;
import aq.pcge.*;
import flash.text.*;
public class FinalWindow extends Window {
public var linkBox04:GameSlot;
public var time_tf:TextField;
public var linkBox02:GameSlot;
public var linkBox03:GameSlot;
public var linkBox01:GameSlot;
public var timeBonus_tf:TextField;
public var totalTime_tf:TextField;
public function FinalWindow(_arg1:uint=0, _arg2:uint=0){
addFrameScript(0, frame1);
alignToCenter();
update(_arg1, _arg2);
}
public function formatTime(_arg1:Number, _arg2:Boolean=true):String{
var _local3:Number = _arg1;
if (!_arg2){
_local3 = Math.floor((_arg1 / 1000));
};
var _local4:* = Math.floor((_local3 / (60 * 60)));
var _local5:* = (Math.floor((_local3 / 60)) - (_local4 * 60));
var _local6:* = ((_local3 - (_local5 * 60)) - ((_local4 * 60) * 60));
if (_local4 < 10){
_local4 = ("0" + _local4);
};
if (_local5 < 10){
_local5 = ("0" + _local5);
};
if (_local6 < 10){
_local6 = ("0" + _local6);
};
return (((_local5 + ":") + _local6));
}
public function update(_arg1:uint, _arg2:uint):void{
var _local3:Object = parseTime(_arg1);
var _local4:Object = parseTime(_arg2);
}
private function parseTime(_arg1:uint):Object{
var _local2:* = (Math.floor((_arg1 / 60)) / 60);
var _local3:* = (Math.floor((_arg1 / 60)) - (_local2 * 60));
var _local4:* = ((_arg1 - (_local3 * 60)) - ((_local2 * 60) * 60));
if (_local2 < 10){
_local2 = ("0" + _local2);
};
if (_local3 < 10){
_local3 = ("0" + _local3);
};
if (_local4 < 10){
_local4 = ("0" + _local4);
};
return ({hs:_local2, ms:_local3, ss:_local4});
}
function frame1(){
if (Game.instance){
time_tf.text = String(formatTime(Game.instance.getTotalTime(), true));
};
linkBox01.link = GameApplication.link01;
linkBox02.link = GameApplication.link02;
linkBox03.link = GameApplication.link03;
linkBox04.link = GameApplication.link04;
linkBox01.image = new Bitmap(new GameImage01(), "auto", true);
linkBox02.image = new Bitmap(new GameImage02(), "auto", true);
linkBox03.image = new Bitmap(new GameImage03(), "auto", true);
linkBox04.image = new Bitmap(new GameImage04(), "auto", true);
}
}
}//package aq.pcge.game.windows
Section 10
//FinalWindowMobile (aq.pcge.game.windows.FinalWindowMobile)
package aq.pcge.game.windows {
import aq.pcge.common.*;
import flash.text.*;
public class FinalWindowMobile extends Window {
public var time_tf:TextField;
public var timeBonus_tf:TextField;
public var totalTime_tf:TextField;
public function FinalWindowMobile(_arg1:uint=0, _arg2:uint=0){
alignToCenter();
update(_arg1, _arg2);
}
public function update(_arg1:uint, _arg2:uint):void{
var _local3:Object = parseTime(_arg1);
var _local4:Object = parseTime(_arg2);
}
private function parseTime(_arg1:uint):Object{
var _local2:* = (Math.floor((_arg1 / 60)) / 60);
var _local3:* = (Math.floor((_arg1 / 60)) - (_local2 * 60));
var _local4:* = ((_arg1 - (_local3 * 60)) - ((_local2 * 60) * 60));
if (_local2 < 10){
_local2 = ("0" + _local2);
};
if (_local3 < 10){
_local3 = ("0" + _local3);
};
if (_local4 < 10){
_local4 = ("0" + _local4);
};
return ({hs:_local2, ms:_local3, ss:_local4});
}
}
}//package aq.pcge.game.windows
Section 11
//FlapWindow (aq.pcge.game.windows.FlapWindow)
package aq.pcge.game.windows {
import aq.pcge.common.*;
public class FlapWindow extends Window {
public var onClose:Function;
public var onOpen:Function;
public var onStop:Function;
}
}//package aq.pcge.game.windows
Section 12
//HelloWindow (aq.pcge.game.windows.HelloWindow)
package aq.pcge.game.windows {
import aq.pcge.common.*;
public class HelloWindow extends Window {
public function HelloWindow(){
alignToCenter();
}
}
}//package aq.pcge.game.windows
Section 13
//ItemWindow (aq.pcge.game.windows.ItemWindow)
package aq.pcge.game.windows {
import flash.display.*;
import flash.events.*;
public class ItemWindow extends AutoWindow {
public var gfx:MovieClip;
public var holder:MovieClip;
public var _cb:Function;
public function ItemWindow(_arg1:DisplayObject=null){
var _local2:Number;
super();
addFrameScript(0, frame1);
alignToCenter();
if (_arg1){
if ((((_arg1.width > holder.width)) || ((_arg1.height > holder.height)))){
if (_arg1.width >= _arg1.height){
_local2 = (_arg1.width / holder.width);
} else {
_local2 = (_arg1.height / holder.height);
};
_arg1.width = (_arg1.width / _local2);
_arg1.height = (_arg1.height / _local2);
};
_arg1.x = (holder.width / 2);
_arg1.y = (holder.height / 2);
holder.addChild(_arg1);
};
}
public function playGFX(_arg1:Function=null):void{
_cb = _arg1;
gfx.gotoAndPlay(2);
}
public function stopGFX():void{
gfx.gotoAndStop(1);
}
public function onAnimComplete(_arg1:Event):void{
if (_cb != null){
_cb();
};
}
function frame1(){
gfx.gotoAndStop(1);
gfx.addEventListener("animComplete", onAnimComplete);
}
}
}//package aq.pcge.game.windows
Section 14
//NextWindow (aq.pcge.game.windows.NextWindow)
package aq.pcge.game.windows {
public class NextWindow extends FlapWindow {
public function NextWindow(){
addFrameScript(0, frame1, 1, frame2, 15, frame16, 34, frame35);
alignToCenter();
}
function frame1(){
}
function frame2(){
if (onClose != null){
onClose();
};
}
function frame16(){
if (onOpen != null){
onOpen();
};
}
function frame35(){
stop();
if (onStop != null){
onStop();
};
close();
}
}
}//package aq.pcge.game.windows
Section 15
//OptionsWindow (aq.pcge.game.windows.OptionsWindow)
package aq.pcge.game.windows {
import flash.display.*;
import aq.pcge.common.*;
public class OptionsWindow extends Window {
public var helpButton:MovieClip;
public var muteButton:MovieClip;
public var menuButton:MovieClip;
public function OptionsWindow(){
alignToCenter();
}
}
}//package aq.pcge.game.windows
Section 16
//Activator (aq.pcge.game.Activator)
package aq.pcge.game {
import flash.display.*;
import flash.events.*;
public class Activator extends EventDispatcher {
private var _name:String;
private var _area:Sprite;
private var _episode:IEpisode;
private var _active:Boolean;
private var _enabled:Boolean;
private var _mode:String;
private var _onClick:Function;
private var _onClickCondition:Function;
private var _onClickEvent:String;
private var _exists:Boolean;
public static const MODE_ONCE:String = "once";
public static const MODE_EVER:String = "ever";
public function Activator(_arg1:String, _arg2:Sprite, _arg3:Object=null){
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Activator] : <Activator> : Wrong name."));
};
_name = _arg1;
if (!_arg2){
throw (new Error("[Activator] : <Activator> : Wrong area."));
};
_area = _arg2;
_area.tabEnabled = false;
if ((_arg3 is Object)){
_mode = ((_arg3.mode)==MODE_ONCE) ? MODE_ONCE : MODE_EVER;
if ((_arg3.onClick is Function)){
_onClick = _arg3.onClick;
};
if ((_arg3.onClickCondition is Function)){
_onClickCondition = _arg3.onClickCondition;
};
if ((_arg3.onClickEvent is String)){
_onClickEvent = _arg3.onClickEvent;
};
} else {
_mode = MODE_ONCE;
};
_active = false;
enable();
_exists = true;
if (((!(_arg3)) || ((((_arg3 is Object)) && ((_arg3.activate == false)))))){
} else {
activate();
};
}
public function get episode():IEpisode{
return (_episode);
}
public function get name():String{
return (_name);
}
public function active():Boolean{
return (_active);
}
public function activate():void{
if (!_active){
_area.addEventListener(MouseEvent.CLICK, clickHandler);
_active = true;
};
}
public function deactivate():void{
if (_active){
_area.removeEventListener(MouseEvent.CLICK, clickHandler);
_active = false;
};
}
public function enabled():Boolean{
return (_enabled);
}
public function enable():void{
_enabled = true;
if (_area){
_area.buttonMode = true;
_area.useHandCursor = true;
};
}
public function disable():void{
_enabled = false;
if (_area){
_area.buttonMode = false;
_area.useHandCursor = false;
};
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
disable();
deactivate();
if (_episode){
remove();
};
_area = undefined;
_active = undefined;
_enabled = undefined;
_mode = undefined;
_onClick = undefined;
_onClickCondition = undefined;
_onClickEvent = undefined;
_exists = undefined;
}
public function dispose():void{
disable();
deactivate();
if (_episode){
remove();
};
if (_area.parent){
_area.parent.removeChild(_area);
};
_area = undefined;
_active = undefined;
_enabled = undefined;
_mode = undefined;
_onClick = undefined;
_onClickCondition = undefined;
_onClickEvent = undefined;
_exists = undefined;
}
public function show():void{
if (!_area.visible){
_area.visible = true;
};
}
public function hide():void{
if (_area.visible){
_area.visible = false;
};
}
public function click():void{
clickHandler();
}
public function add(_arg1:IEpisode):void{
if (_arg1){
if (!_episode){
_episode = _arg1;
if (!_episode.hasActivator(_name)){
_episode.addActivator(this);
} else {
if (_episode.getActivator(_name) != this){
throw (new Error("[Activator] : <add> : Activator with same name already added."));
};
};
} else {
throw (new Error("[Activator] : <add> : Activator is already added to some episode."));
};
} else {
throw (new Error("[Activator] : <add> : Can't add to non-existing episode."));
};
}
public function remove():void{
var _local1:IEpisode;
if (_episode){
disable();
deactivate();
_local1 = _episode;
_episode = undefined;
if (_local1.getActivator(_name) == this){
_local1.removeActivator(_name);
} else {
if (_local1.hasActivator(_name)){
throw (new Error("[Activator] : <remove> : Episode has other activator with same name."));
};
};
} else {
throw (new Error("[Activator] : <remove> : Activator isn't added to episode."));
};
}
private function clickHandler(_arg1:MouseEvent=null):void{
if (!_episode.action){
return;
};
if (_enabled){
if ((((_onClickCondition == null)) || (((!((_onClickCondition == null))) && (_onClickCondition()))))){
if (_onClick != null){
trace((("[$] : Activator @" + _name) + " clicked"));
_onClick();
if (_onClickEvent){
if (_episode){
_episode.causeEvent(_onClickEvent);
} else {
_area.dispatchEvent(new EpisodeEvent(_onClickEvent, true));
};
};
if (_mode == MODE_ONCE){
deactivate();
};
};
};
};
}
}
}//package aq.pcge.game
Section 17
//Animation (aq.pcge.game.Animation)
package aq.pcge.game {
import flash.display.*;
public class Animation extends MovieClip {
private var _episode:IEpisode;
private var _active:Boolean;
private var _exists:Boolean;
private var _labels:Array;
public var anim:MovieClip;
public var animCallback:Function;
public function Animation(){
gotoAndStop(1);
_labels = new Array();
var _local1:uint = currentLabels.length;
var _local2:uint;
while (_local2 < _local1) {
_labels[_local2] = currentLabels[_local2].name;
_local2++;
};
_active = false;
_exists = true;
}
public function get episode():IEpisode{
return (_episode);
}
public function active():Boolean{
return (_active);
}
public function activate():void{
if (!_active){
addEventListener(AnimationEvent.ANIM_KEYFRAME, animKeyframeHandler);
addEventListener(AnimationEvent.ANIM_COMPLETE, animCompleteHandler);
_active = true;
};
}
public function deactivate():void{
if (_active){
removeEventListener(AnimationEvent.ANIM_KEYFRAME, animKeyframeHandler);
removeEventListener(AnimationEvent.ANIM_COMPLETE, animCompleteHandler);
_active = false;
};
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
deactivate();
if (_episode){
remove();
};
_active = undefined;
_exists = undefined;
}
public function dispose():void{
deactivate();
if (_episode){
remove();
};
if (parent){
parent.removeChild(this);
};
_active = undefined;
_exists = undefined;
}
public function playAnim(_arg1:String, _arg2:Function=null):void{
if (_labels.indexOf(_arg1) != -1){
if (anim){
anim.stop();
};
animCallback = _arg2;
if (currentLabel != _arg1){
gotoAndStop(_arg1);
} else {
anim.gotoAndPlay(1);
};
dispatchEvent(new AnimationEvent(AnimationEvent.ANIM_ANIM, true, false, _arg1));
} else {
throw (new Error((("[Animation] : <playAnim> : Animation '" + _arg1) + "' not found.")));
};
}
public function get currAnim():String{
return (currentLabel);
}
public function add(_arg1:IEpisode):void{
if (_arg1){
if (!_episode){
_episode = _arg1;
if (!_episode.hasAnimation(name)){
_episode.addAnimation(name, this);
} else {
if (_episode.getAnimation(name) != this){
throw (new Error("[Animation] : <add> : Animation with same name already added."));
};
};
} else {
throw (new Error("[Animation] : <add> : Animation is already added to some episode."));
};
} else {
throw (new Error("[Animation] : <add> : Can't add to non-existing episode."));
};
}
public function remove():void{
var _local1:IEpisode;
if (_episode){
_local1 = _episode;
if (_local1.getAnimation(name) == this){
_episode = undefined;
_local1.removeAnimation(name);
} else {
if (_local1.hasAnimation(name)){
throw (new Error("[Animation] : <remove> : Episode has other animation with same name."));
};
};
} else {
throw (new Error("[Animation] : <remove> : Animation isn't added to episode."));
};
}
private function animKeyframeHandler(_arg1:AnimationEvent):void{
var _local2:Function;
if (animCallback != null){
_local2 = animCallback;
animCallback = undefined;
_local2();
};
}
private function animCompleteHandler(_arg1:AnimationEvent):void{
var _local2:Function;
if (animCallback != null){
_local2 = animCallback;
animCallback = undefined;
_local2();
};
}
}
}//package aq.pcge.game
Section 18
//AnimationEvent (aq.pcge.game.AnimationEvent)
package aq.pcge.game {
import flash.events.*;
public class AnimationEvent extends Event {
private var _data:Object;
public static const ANIM_COMPLETE:String = "animComplete";
public static const ANIM_KEYFRAME:String = "animKeyframe";
public static const ANIM_ANIM:String = "animAnim";
public function AnimationEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
super(_arg1, _arg2, _arg3);
_data = _arg4;
}
public function get data():Object{
return (_data);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
override public function clone():Event{
return (new AnimationEvent(type, bubbles, cancelable, _data));
}
}
}//package aq.pcge.game
Section 19
//Character (aq.pcge.game.Character)
package aq.pcge.game {
import flash.display.*;
import com.greensock.*;
import fl.transitions.easing.*;
public class Character extends MovieClip {
private var _episode:IEpisode;
private var _active:Boolean;
private var _exists:Boolean;
private var _labels:Array;
private var _mover:TweenLite;
public var anim:MovieClip;
public var animCallback:Function;
public var scale:Number;
public var speed:Number;
public function Character(){
gotoAndStop(1);
_labels = new Array();
var _local1:uint = currentLabels.length;
var _local2:uint;
while (_local2 < _local1) {
_labels[_local2] = currentLabels[_local2].name;
_local2++;
};
scale = ((scaleX + scaleY) / 2);
speed = 128;
_active = false;
_exists = true;
}
public function get episode():IEpisode{
return (_episode);
}
public function active():Boolean{
return (_active);
}
public function activate():void{
if (!_active){
addEventListener(CharacterEvent.ANIM_KEYFRAME, animKeyframeHandler);
addEventListener(CharacterEvent.ANIM_COMPLETE, animCompleteHandler);
_active = true;
};
}
public function deactivate():void{
if (_active){
removeEventListener(CharacterEvent.ANIM_KEYFRAME, animKeyframeHandler);
removeEventListener(CharacterEvent.ANIM_COMPLETE, animCompleteHandler);
_active = false;
};
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
halt();
deactivate();
if (_episode){
remove();
};
_active = undefined;
_exists = undefined;
}
public function dispose():void{
halt();
deactivate();
if (_episode){
remove();
};
if (parent){
parent.removeChild(this);
};
_active = undefined;
_exists = undefined;
}
public function playAnim(_arg1:String, _arg2:Function=null):void{
if (_labels.indexOf(_arg1) != -1){
if (anim){
anim.stop();
};
animCallback = _arg2;
if (currentLabel != _arg1){
gotoAndStop(_arg1);
} else {
anim.gotoAndPlay(1);
};
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_ANIM, true, false, _arg1));
} else {
throw (new Error((("[Character] : <playAnim> : Animation '" + _arg1) + "' not found.")));
};
}
public function get currAnim():String{
return (currentLabel);
}
public function moveTo(_arg1:Number, _arg2:Number, _arg3:Function=null, _arg4:Object=null):void{
var _local5:Number = this.scale;
var _local6:Number = this.speed;
if ((_arg4 is Object)){
if (!isNaN(_arg4.scale)){
_local5 = Number(_arg4.scale);
};
if (!isNaN(_arg4.speed)){
_local6 = Number(_arg4.speed);
};
};
var _local7:Number = (_arg1 - this.x);
var _local8:Number = (_arg2 - this.y);
var _local9:Number = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
var _local10:Number = (_local9 / _local6);
var _local11:Number = (scaleX / Math.abs(scaleX));
var _local12:Number = (scaleY / Math.abs(scaleY));
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_MOVE, true));
_mover = new TweenLite(this, _local10, {x:_arg1, y:_arg2, scaleX:(_local5 * _local11), scaleY:(_local5 * _local12), onComplete:_arg3, ease:None.easeNone});
}
public function halt():void{
if (_mover){
_mover.kill();
_mover = undefined;
};
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_HALT, true));
}
public function turnTo(_arg1:Number):void{
if (_arg1 <= x){
if (scaleX > 0){
scaleX = (scaleX * -1);
};
} else {
if (scaleX < 0){
scaleX = (scaleX * -1);
};
};
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_TURN, true));
}
public function turnOn(_arg1:String):void{
switch (_arg1){
case "left":
if (scaleX > 0){
scaleX = (scaleX * -1);
};
break;
case "right":
if (scaleX < 0){
scaleX = (scaleX * -1);
};
break;
default:
throw (new Error((("[Character] : <turnOn> : Unknown direction '" + _arg1) + "'.")));
};
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_TURN, true));
}
public function turnBack():void{
scaleX = (scaleX * -1);
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_TURN, true));
}
public function idle():void{
halt();
playAnim("idle");
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_IDLE, true));
}
public function wait():void{
halt();
playAnim("none");
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_WAIT, true));
}
public function walkTo(_arg1:Number):void{
halt();
turnTo(_arg1);
playAnim("walk");
dispatchEvent(new CharacterEvent(CharacterEvent.CHAR_WALK, true));
}
public function take(_arg1:Function=null):void{
halt();
playAnim("take", _arg1);
}
public function takeFromFloor(_arg1:Function=null):void{
halt();
playAnim("takeFromFloor", _arg1);
}
public function takeFromAbove(_arg1:Function=null):void{
halt();
playAnim("takeFromAbove", _arg1);
}
public function add(_arg1:IEpisode):void{
if (_arg1){
if (!_episode){
_episode = _arg1;
if (!_episode.hasCharacter(name)){
_episode.addCharacter(name, this);
} else {
if (_episode.getCharacter(name) != this){
throw (new Error("[Character] : <add> : Character with same name already added."));
};
};
} else {
throw (new Error("[Character] : <add> : Character is already added to some episode."));
};
} else {
throw (new Error("[Character] : <add> : Can't add to non-existing episode."));
};
}
public function remove():void{
var _local1:IEpisode;
if (_episode){
_local1 = _episode;
if (_local1.getCharacter(name) == this){
_episode = undefined;
_local1.removeCharacter(name);
} else {
if (_local1.hasCharacter(name)){
throw (new Error("[Character] : <remove> : Episode has other character with same name."));
};
};
} else {
throw (new Error("[Character] : <remove> : Character isn't added to episode."));
};
}
private function animKeyframeHandler(_arg1:CharacterEvent):void{
var _local2:Function;
if (animCallback != null){
_local2 = animCallback;
animCallback = undefined;
_local2();
};
}
private function animCompleteHandler(_arg1:CharacterEvent):void{
var _local2:Function;
if (animCallback != null){
_local2 = animCallback;
animCallback = undefined;
_local2();
};
}
}
}//package aq.pcge.game
Section 20
//CharacterEvent (aq.pcge.game.CharacterEvent)
package aq.pcge.game {
import flash.events.*;
public class CharacterEvent extends Event {
private var _data:Object;
public static const ANIM_COMPLETE:String = "animComplete";
public static const ANIM_KEYFRAME:String = "animKeyframe";
public static const CHAR_ANIM:String = "charAnim";
public static const CHAR_IDLE:String = "charIdle";
public static const CHAR_WAIT:String = "charWait";
public static const CHAR_WALK:String = "charWalk";
public static const CHAR_HALT:String = "charHalt";
public static const CHAR_MOVE:String = "charMove";
public static const CHAR_TURN:String = "charTurn";
public function CharacterEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
super(_arg1, _arg2, _arg3);
_data = _arg4;
}
public function get data():Object{
return (_data);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
override public function clone():Event{
return (new CharacterEvent(type, bubbles, cancelable, _data));
}
}
}//package aq.pcge.game
Section 21
//Chronicle (aq.pcge.game.Chronicle)
package aq.pcge.game {
import flash.events.*;
public class Chronicle extends EventDispatcher {
private var _episode:Episode;
private var _exists:Boolean;
private var _registry:Object;
private var _events:Object;
public function Chronicle(_arg1:Episode){
if (!_arg1){
throw (new Error("[Chronicle] : <Chronicle> : Episode isn't exists."));
};
_episode = _arg1;
_registry = new Object();
_events = new Object();
_exists = true;
}
public function get episode():IEpisode{
return (_episode);
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
_registry = undefined;
_events = undefined;
_episode = undefined;
}
public function dispose():void{
var _local1:EpisodeEvent;
_events = undefined;
for each (_local1 in _registry) {
_local1.data = undefined;
};
_registry = undefined;
_episode = undefined;
}
public function registerEvent(_arg1:String, _arg2:Boolean=false):void{
if (!_registry[_arg1]){
_registry[_arg1] = new EpisodeEvent(_arg1);
_events[_arg1] = _arg2;
} else {
throw (new Error("[Chronicle] : <registerEvent> : Event with same name already registered."));
};
}
public function unregisterEvent(_arg1:String):void{
if (_registry[_arg1]){
_registry[_arg1].data = undefined;
delete _registry[_arg1];
delete _events[_arg1];
} else {
throw (new Error("[Chronicle] : <unregisterEvent> : Event with such name not found."));
};
}
public function retrieveEvent(_arg1:String):EpisodeEvent{
if (_registry[_arg1]){
return (_registry[_arg1]);
};
throw (new Error("[Chronicle] : <retrieveEvent> : Event with such name not found."));
}
public function isEvent(_arg1:String):Boolean{
return (Boolean(_registry[_arg1]));
}
public function causeEvent(_arg1:String):void{
if (_registry[_arg1]){
if (_episode){
_episode.dispatchEvent(_registry[_arg1]);
} else {
dispatchEvent(_registry[_arg1]);
};
_events[_arg1] = true;
} else {
throw (new Error("[Chronicle] : <causeEvent> : Event isn't registered."));
};
}
public function forceEvent(_arg1:String):void{
if (_registry[_arg1]){
if (_episode){
_episode.dispatchEvent(_registry[_arg1]);
} else {
dispatchEvent(_registry[_arg1]);
};
} else {
throw (new Error("[Chronicle] : <forceEvent> : Event isn't registered."));
};
}
public function setupEvent(_arg1:String, _arg2:Boolean):void{
if (_registry[_arg1]){
_events[_arg1] = _arg2;
} else {
throw (new Error("[Chronicle] : <setupEvent> : Event isn't registered."));
};
}
public function checkEvent(_arg1:String):Boolean{
if (_registry[_arg1]){
return (_events[_arg1]);
};
throw (new Error("[Chronicle] : <checkEvent> : Event isn't registered."));
}
public function ifThis(_arg1:String):Boolean{
if (_registry[_arg1]){
return ((_events[_arg1] == true));
};
throw (new Error("[Chronicle] : <ifThis> : Event isn't registered."));
}
public function ifNotThis(_arg1:String):Boolean{
if (_registry[_arg1]){
return ((_events[_arg1] == false));
};
throw (new Error("[Chronicle] : <ifNotThis> : Event isn't registered."));
}
public function ifThese(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (!_events[_local4]){
return (false);
};
} else {
throw (new Error("[Chronicle] : <ifThese> : Event isn't registered."));
};
_local3++;
};
return (true);
}
public function ifNotThese(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (_events[_local4]){
return (false);
};
} else {
throw (new Error("[Chronicle] : <ifNotThese> : Event isn't registered."));
};
_local3++;
};
return (true);
}
public function ifAny(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (_events[_local4]){
return (true);
};
} else {
throw (new Error("[Chronicle] : <ifAny> : Event isn't registered."));
};
_local3++;
};
return (false);
}
public function ifNotAny(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (!_events[_local4]){
return (true);
};
} else {
throw (new Error("[Chronicle] : <ifNotAny> : Event isn't registered."));
};
_local3++;
};
return (false);
}
public function ifAll():Boolean{
var _local1:Boolean;
for each (_local1 in _events) {
if (!_local1){
return (false);
};
};
return (true);
}
public function ifNone():Boolean{
var _local1:Boolean;
for each (_local1 in _events) {
if (_local1){
return (false);
};
};
return (true);
}
public function ifEach(_arg1:Array, _arg2:Boolean):Boolean{
var _local5:String;
var _local3:uint = _arg1.length;
var _local4:uint;
while (_local4 < _local3) {
_local5 = _arg1[_local4];
if (_registry[_local5]){
if (_events[_local5] != _arg2){
return (false);
};
} else {
throw (new Error("[Chronicle] : <ifEach> : Event isn't registered."));
};
_local4++;
};
return (true);
}
public function ifOneOf(_arg1:Array, _arg2:Boolean):Boolean{
var _local5:String;
var _local3:uint = _arg1.length;
var _local4:uint;
while (_local4 < _local3) {
_local5 = _arg1[_local4];
if (_registry[_local5]){
if (_events[_local5] == _arg2){
return (true);
};
} else {
throw (new Error("[Chronicle] : <ifOneOf> : Event isn't registered."));
};
_local4++;
};
return (false);
}
}
}//package aq.pcge.game
Section 22
//Episode (aq.pcge.game.Episode)
package aq.pcge.game {
import flash.display.*;
import com.greensock.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
public class Episode extends MovieClip implements IEpisode {
public var tool:Item_Tool;
public var fuel:MovieClip;
public var oil:MovieClip;
public var stone:MovieClip;
public var alisa:MovieClip;
public var scarf:MovieClip;
public var rubanok:MovieClip;
public var knife:MovieClip;
public var nails:MovieClip;
public var do1:MovieClip;
public var do2:MovieClip;
public var sword:MovieClip;
public var table:MovieClip;
public var teapot:MovieClip;
public var shoe1:MovieClip;
public var robot:MovieClip;
public var crossbow:MovieClip;
public var shoe2:MovieClip;
public var hat:MovieClip;
public var jack:MovieClip;
public var door:MovieClip;
public var axe:MovieClip;
public var plant:MovieClip;
public var texture:MovieClip;
public var part1:MovieClip;
public var arm:MovieClip;
public var dude:MovieClip;
public var growMushroom:MovieClip;
public var mushroom:MovieClip;
public var cinderella:MovieClip;
public var part2:MovieClip;
public var wood:MovieClip;
public var rope:MovieClip;
public var skakalka:MovieClip;
public var places:MovieClip;
public var fireplace:MovieClip;
public var wolf:MovieClip;
public var tablecloth:MovieClip;
public var woods:MovieClip;
public var hydrant:MovieClip;
public var hadgehog:MovieClip;
public var pinokio:MovieClip;
public var screwdriver:MovieClip;
public var chicks:MovieClip;
public var can1:MovieClip;
public var puzzle:MovieClip;
public var cat:MovieClip;
public var bucket:MovieClip;
public var can2:MovieClip;
public var belt:MovieClip;
public var flamingo:MovieClip;
public var krupa:MovieClip;
public var saw:MovieClip;
public var stick:MovieClip;
public var hammer:MovieClip;
private var _state:String;
private var _canvas:Sprite;
private var _screen:Sprite;
private var _index:int;// = 0
private var _scale:Number;
private var _timer:Timer;
private var _time:int;
private var _ms:int;
private var _action:Boolean;
private var _activators:Object;
private var _characters:Object;
private var _animations:Object;
private var _inventory:Inventory;
private var _chronicle:Chronicle;
public var hero:Character;
public var heroInitPos:Point;
public static const DEFAULT_WIDTH:Number = 640;
public static const DEFAULT_HEIGHT:Number = 480;
public function Episode(){
visible = false;
_state = EpisodeState.CREATED;
}
public function get index():int{
return (_index);
}
public function set index(_arg1:int):void{
_index = _arg1;
}
public function get state():String{
return (_state);
}
public function get action():Boolean{
return (_action);
}
public function set action(_arg1:Boolean):void{
_action = _arg1;
}
public function getScreen():Sprite{
return (_screen);
}
public function getCanvas():Sprite{
return (_canvas);
}
public function load():void{
var _local2:Number;
var _local3:Number;
trace((("[$] : Episode #" + _index) + " loading..."));
if (hero){
heroInitPos = new Point(hero.x, hero.y);
} else {
throw (new Error("[Episode] : <load> : Hero not found."));
};
_inventory = new Inventory(this);
_chronicle = new Chronicle(this);
loadAssets();
var _local1:Sprite = (getChildByName("episodeBounds") as Sprite);
if (_local1){
removeChild(_local1);
_local2 = (_local1.width / DEFAULT_WIDTH);
_local3 = (_local1.height / DEFAULT_HEIGHT);
if (_local2 != _local3){
_scale = Math.max(_local2, _local3);
} else {
_scale = _local2;
};
};
_screen = new Sprite();
_screen.scaleX = (_screen.scaleY = (1 / _scale));
addChild(_screen);
_canvas = new Sprite();
_canvas.mouseChildren = false;
_canvas.mouseEnabled = false;
_canvas.scaleX = (_canvas.scaleY = (1 / _scale));
addChild(_canvas);
initAssets();
_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, onTimer);
_state = EpisodeState.INITIALIZED;
trace((("[$] : Episode #" + _index) + " loaded"));
visible = true;
}
public function unload():void{
trace((("[$] : Episode #" + _index) + " unloading..."));
if (_state == EpisodeState.PLAYING){
finish();
};
if (_timer.running){
_timer.stop();
};
_timer.removeEventListener(TimerEvent.TIMER, onTimer);
_timer = undefined;
_time = undefined;
_ms = undefined;
haltAssets();
removeChild(_screen);
_screen = undefined;
removeChild(_canvas);
_canvas = undefined;
unloadAssets();
_inventory.dispose();
_inventory = undefined;
trace((("[$] : Episode #" + _index) + " unloaded"));
_index = undefined;
_state = EpisodeState.FINALIZED;
}
public function start():void{
trace((("[$] : Episode #" + _index) + " starting..."));
if (_state == EpisodeState.INITIALIZED){
run();
_state = EpisodeState.PLAYING;
trace((("[$] : Episode #" + _index) + " started"));
} else {
throw (new Error("[Episode] : <start> : Can't start, level must be initialized first."));
};
}
public function finish():void{
trace((("[$] : Episode #" + _index) + " finishing..."));
if ((((((_state == EpisodeState.INITIALIZED)) || ((_state == EpisodeState.PLAYING)))) || ((_state == EpisodeState.PAUSED)))){
halt();
_state = EpisodeState.FINISHED;
trace((("[$] : Episode #" + _index) + " finished"));
} else {
throw (new Error("[Episode] : <finish> : Can't finish (finished yet or is in unallowable state)."));
};
}
public function restart():void{
}
public function pause():void{
trace((("[$] : Episode #" + _index) + " pausing..."));
if (_state == EpisodeState.PLAYING){
halt();
_state = EpisodeState.PAUSED;
trace((("[$] : Episode #" + _index) + " paused"));
} else {
throw (new Error("[Episode] : <pause> : Can't pause, level isn't playing."));
};
}
public function resume():void{
trace((("[$] : Episode #" + _index) + " resuming..."));
if (_state == EpisodeState.PAUSED){
run();
_state = EpisodeState.PLAYING;
trace((("[$] : Episode #" + _index) + " resumed"));
} else {
throw (new Error("[Episode] : <resume> : Can't resume, level isn't paused."));
};
}
public function win():void{
if (_state == EpisodeState.PLAYING){
finish();
};
_state = EpisodeState.WON;
EpisodesManager.instance.submitTime(_index, _timer.currentCount);
EpisodesManager.instance.completeEpisode(_index);
if (EpisodesManager.instance.isNextEpisode()){
EpisodesManager.instance.unlockEpisode((_index + 1));
};
if (GameConfig.SAVE_LOAD){
EpisodesManager.instance.addEventListener(GameEvent.SAVE_COMPLETE, onSaveResult);
EpisodesManager.instance.addEventListener(GameEvent.SAVE_ERROR, onSaveResult);
EpisodesManager.instance.save();
} else {
if (Game.instance.isNextEpisode()){
Game.instance.openNextWindow({onOpen:Game.instance.nextEpisode});
} else {
Game.instance.openFinalWindow(_timer.currentCount, EpisodesManager.instance.getTotalTime());
};
};
}
public function lose():void{
if (_state == EpisodeState.PLAYING){
finish();
};
_state = EpisodeState.LOST;
Game.instance.openFailWindow({onOpen:Game.instance.reloadEpisode});
}
public function registerItem(_arg1:String, _arg2=null, _arg3:String=null, _arg4:String=null):void{
_inventory.registerItem(_arg1, _arg2, _arg3, _arg4);
}
public function unregisterItem(_arg1:String):void{
_inventory.unregisterItem(_arg1);
}
public function retrieveItem(_arg1:String):Item{
return (_inventory.retrieveItem(_arg1));
}
public function isItem(_arg1:String):Boolean{
return (_inventory.isItem(_arg1));
}
public function addItem(_arg1:String):void{
_inventory.addItem(_arg1);
}
public function removeItem(_arg1:String):void{
_inventory.removeItem(_arg1);
}
public function getItem(_arg1:String):Item{
return (_inventory.getItem(_arg1));
}
public function hasItem(_arg1:String):Boolean{
return (_inventory.hasItem(_arg1));
}
public function takeItem(_arg1:String, _arg2:Boolean=true):void{
_inventory.takeItem(_arg1, _arg2);
}
public function gainItem(_arg1:String):void{
_inventory.gainItem(_arg1);
}
public function dropItem(_arg1:String):void{
_inventory.dropItem(_arg1);
}
public function makeItem(_arg1:String, _arg2:Array, _arg3:Function=null):void{
_inventory.makeItem(_arg1, _arg2, _arg3);
}
public function registerEvent(_arg1:String, _arg2:Boolean=false):void{
_chronicle.registerEvent(_arg1, _arg2);
}
public function unregisterEvent(_arg1:String):void{
_chronicle.unregisterEvent(_arg1);
}
public function retrieveEvent(_arg1:String):EpisodeEvent{
return (_chronicle.retrieveEvent(_arg1));
}
public function isEvent(_arg1:String):Boolean{
return (_chronicle.isEvent(_arg1));
}
public function causeEvent(_arg1:String):void{
_chronicle.causeEvent(_arg1);
}
public function forceEvent(_arg1:String):void{
_chronicle.forceEvent(_arg1);
}
public function setupEvent(_arg1:String, _arg2:Boolean):void{
_chronicle.setupEvent(_arg1, _arg2);
}
public function checkEvent(_arg1:String):Boolean{
return (_chronicle.checkEvent(_arg1));
}
public function ifThis(_arg1:String):Boolean{
return (_chronicle.ifThis(_arg1));
}
public function ifNotThis(_arg1:String):Boolean{
return (_chronicle.ifNotThis(_arg1));
}
public function ifThese(_arg1:Array):Boolean{
return (_chronicle.ifThese(_arg1));
}
public function ifNotThese(_arg1:Array):Boolean{
return (_chronicle.ifNotThese(_arg1));
}
public function ifAny(_arg1:Array):Boolean{
return (_chronicle.ifAny(_arg1));
}
public function ifNotAny(_arg1:Array):Boolean{
return (_chronicle.ifNotAny(_arg1));
}
public function ifAll():Boolean{
return (_chronicle.ifAll());
}
public function ifNone():Boolean{
return (_chronicle.ifNone());
}
public function ifEach(_arg1:Array, _arg2:Boolean):Boolean{
return (_chronicle.ifEach(_arg1, _arg2));
}
public function ifOneOf(_arg1:Array, _arg2:Boolean):Boolean{
return (_chronicle.ifOneOf(_arg1, _arg2));
}
public function addNewActivator(_arg1:String, _arg2:Sprite, _arg3:Object=null):void{
var _local4:Activator = new Activator(_arg1, _arg2, _arg3);
addActivator(_local4);
}
public function addActivator(_arg1:Activator):void{
var _local2:String = _arg1.name;
if (((!(_local2)) || (!(_local2.length)))){
throw (new Error("[Episode] : <addActivator> : Wrong name."));
};
if (_arg1){
if (!_activators[_local2]){
_activators[_local2] = _arg1;
if (!_arg1.episode){
_arg1.add(this);
};
} else {
throw (new Error("[Episode] : <addActivator> : Activator with same name already added."));
};
} else {
throw (new Error("[Episode] : <addActivator> : Can't add non-existing activator."));
};
}
public function removeActivator(_arg1:String):void{
var _local2:Activator;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <removeActivator> : Wrong name."));
};
if (_activators[_arg1]){
_local2 = _activators[_arg1];
delete _activators[_arg1];
if (_local2.episode){
_local2.remove();
};
} else {
throw (new Error("[Episode] : <removeActivator> : Activator with such name not found."));
};
}
public function getActivator(_arg1:String):Activator{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <getActivator> : Wrong name."));
};
return (_activators[_arg1]);
}
public function hasActivator(_arg1:String):Boolean{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <hasActivator> : Wrong name."));
};
return (Boolean(_activators[_arg1]));
}
public function destroyActivator(_arg1:String):void{
var _local2:Activator;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <destroyActivator> : Wrong name."));
};
if (_activators[_arg1]){
_local2 = _activators[_arg1];
delete _activators[_arg1];
_local2.destroy();
} else {
throw (new Error("[Episode] : <destroyActivator> : Activator with such name not found."));
};
}
public function disposeActivator(_arg1:String):void{
var _local2:Activator;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <disposeActivator> : Wrong name."));
};
if (_activators[_arg1]){
_local2 = _activators[_arg1];
delete _activators[_arg1];
_local2.dispose();
} else {
throw (new Error("[Episode] : <disposeActivator> : Activator with such name not found."));
};
}
public function addCharacter(_arg1:String, _arg2:Character):void{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <addCharacter> : Wrong name."));
};
if (_arg2){
if (!_characters[_arg1]){
_characters[_arg1] = _arg2;
if (!_arg2.episode){
_arg2.add(this);
};
} else {
throw (new Error("[Episode] : <addCharacter> : Character with same name already added."));
};
} else {
throw (new Error("[Episode] : <addCharacter> : Can't add non-existing character."));
};
}
public function removeCharacter(_arg1:String):void{
var _local2:Character;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <removeCharacter> : Wrong name."));
};
if (_activators[_arg1]){
_local2 = _characters[_arg1];
delete _characters[_arg1];
if (_local2.episode){
_local2.remove();
};
} else {
throw (new Error("[Episode] : <removeCharacter> : Character with such name not found."));
};
}
public function getCharacter(_arg1:String):Character{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <getCharacter> : Wrong name."));
};
return (_characters[_arg1]);
}
public function hasCharacter(_arg1:String):Boolean{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <hasCharacter> : Wrong name."));
};
return (Boolean(_characters[_arg1]));
}
public function destroyCharacter(_arg1:String):void{
var _local2:Character;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <destroyCharacter> : Wrong name."));
};
if (_characters[_arg1]){
_local2 = _characters[_arg1];
delete _characters[_arg1];
_local2.destroy();
} else {
throw (new Error("[Episode] : <destroyCharacter> : Character with such name not found."));
};
}
public function disposeCharacter(_arg1:String):void{
var _local2:Character;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <disposeCharacter> : Wrong name."));
};
if (_characters[_arg1]){
_local2 = _characters[_arg1];
delete _characters[_arg1];
_local2.dispose();
} else {
throw (new Error("[Episode] : <disposeCharacter> : Character with such name not found."));
};
}
public function addAnimation(_arg1:String, _arg2:Animation):void{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <addAnimation> : Wrong name."));
};
if (_arg2){
if (!_animations[_arg1]){
_animations[_arg1] = _arg2;
if (!_arg2.episode){
_arg2.add(this);
};
} else {
throw (new Error("[Episode] : <addAnimation> : Animation with same name already added."));
};
} else {
throw (new Error("[Episode] : <addAnimation> : Can't add non-existing animation."));
};
}
public function removeAnimation(_arg1:String):void{
var _local2:Animation;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <removeAnimation> : Wrong name."));
};
if (_animations[_arg1]){
_local2 = _animations[_arg1];
delete _animations[_arg1];
if (_local2.episode){
_local2.remove();
};
} else {
throw (new Error("[Episode] : <removeAnimation> : Animation with such name not found."));
};
}
public function getAnimation(_arg1:String):Animation{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <getAnimation> : Wrong name."));
};
return (_animations[_arg1]);
}
public function hasAnimation(_arg1:String):Boolean{
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <hasAnimation> : Wrong name."));
};
return (Boolean(_animations[_arg1]));
}
public function destroyAnimation(_arg1:String):void{
var _local2:Animation;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <destroyAnimation> : Wrong name."));
};
if (_animations[_arg1]){
_local2 = _animations[_arg1];
delete _animations[_arg1];
_local2.destroy();
} else {
throw (new Error("[Episode] : <destroyAnimation> : Animation with such name not found."));
};
}
public function disposeAnimation(_arg1:String):void{
var _local2:Animation;
if (((!(_arg1)) || (!(_arg1.length)))){
throw (new Error("[Episode] : <disposeAnimation> : Wrong name."));
};
if (_animations[_arg1]){
_local2 = _animations[_arg1];
delete _animations[_arg1];
_local2.dispose();
} else {
throw (new Error("[Episode] : <disposeAnimation> : Character with such name not found."));
};
}
public function heroIdle():void{
hero.idle();
action = true;
}
public function heroRefuse():void{
action = false;
hero.playAnim("refuse", heroIdle);
}
public function heroGoToLocation(_arg1:Number, _arg2:Number, _arg3:Function=null, _arg4:String=null, _arg5:Number=40, _arg6:Number=40):void{
var cx:Number;
var $x = _arg1;
var $y = _arg2;
var $callback = _arg3;
var $actName = _arg4;
var $leftOffset = _arg5;
var $rightOffset = _arg6;
action = false;
if ($actName){
removeActivator($actName);
};
cx = $x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, $y, function ():void{
hero.turnTo(cx);
if ($callback != null){
$callback();
} else {
heroIdle();
};
});
}
public function heroGoTo(_arg1:DisplayObject, _arg2:String=null, _arg3:Number=40, _arg4:Number=40, _arg5:Number=0):void{
var cx:Number;
var $someView = _arg1;
var $actName = _arg2;
var $leftOffset = _arg3;
var $rightOffset = _arg4;
var $verticalOffset = _arg5;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($someView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
heroIdle();
});
}
public function heroGoToAndDo(_arg1:DisplayObject, _arg2:Function=null, _arg3:String=null, _arg4:Number=40, _arg5:Number=40, _arg6:Number=0):void{
var cx:Number;
var $someView = _arg1;
var $workToDo = _arg2;
var $actName = _arg3;
var $leftOffset = _arg4;
var $rightOffset = _arg5;
var $verticalOffset = _arg6;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($someView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
if ($workToDo != null){
$workToDo();
} else {
heroIdle();
};
});
}
public function heroTakeItem(_arg1:String, _arg2:DisplayObject, _arg3:String="take", _arg4:String=null, _arg5:Number=40, _arg6:Number=40, _arg7:Number=0):void{
var cx:Number;
var $itemName = _arg1;
var $itemView = _arg2;
var $animName = _arg3;
var $actName = _arg4;
var $leftOffset = _arg5;
var $rightOffset = _arg6;
var $verticalOffset = _arg7;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($itemView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
hero.playAnim($animName, function ():void{
takeItem($itemName);
$itemView.visible = false;
hero.animCallback = heroIdle;
});
});
}
public function heroFindItem(_arg1:String, _arg2:DisplayObject, _arg3:Function, _arg4:String="take", _arg5:String=null, _arg6:Number=40, _arg7:Number=40, _arg8:Number=0):void{
var cx:Number;
var $itemName = _arg1;
var $itemView = _arg2;
var $effect = _arg3;
var $animName = _arg4;
var $actName = _arg5;
var $leftOffset = _arg6;
var $rightOffset = _arg7;
var $verticalOffset = _arg8;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($itemView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
hero.playAnim($animName, function ():void{
takeItem($itemName);
$itemView.visible = false;
hero.animCallback = $effect;
});
}, {scale:hero.scaleY});
}
public function heroUseItem(_arg1:String, _arg2:DisplayObject, _arg3:Function, _arg4:String="take", _arg5:String=null, _arg6:Number=40, _arg7:Number=40, _arg8:Number=0):void{
var cx:Number;
var $itemName = _arg1;
var $someView = _arg2;
var $effect = _arg3;
var $animName = _arg4;
var $actName = _arg5;
var $leftOffset = _arg6;
var $rightOffset = _arg7;
var $verticalOffset = _arg8;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($someView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
dropItem($itemName);
hero.playAnim($animName, function ():void{
hero.animCallback = heroIdle;
$effect();
});
});
}
public function heroApplyItem(_arg1:String, _arg2:DisplayObject, _arg3:Function, _arg4:String="take", _arg5:String=null, _arg6:Number=40, _arg7:Number=40, _arg8:Number=0):void{
var cx:Number;
var $itemName = _arg1;
var $someView = _arg2;
var $effect = _arg3;
var $animName = _arg4;
var $actName = _arg5;
var $leftOffset = _arg6;
var $rightOffset = _arg7;
var $verticalOffset = _arg8;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($someView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
dropItem($itemName);
hero.playAnim($animName, $effect);
});
}
public function heroPerformAction(_arg1:DisplayObject, _arg2:Function, _arg3:String="take", _arg4:String=null, _arg5:Array=null, _arg6:Number=40, _arg7:Number=40, _arg8:Number=0):void{
var cx:Number;
var $someView = _arg1;
var $effect = _arg2;
var $animName = _arg3;
var $actName = _arg4;
var $itemNames = _arg5;
var $leftOffset = _arg6;
var $rightOffset = _arg7;
var $verticalOffset = _arg8;
action = false;
if ($actName){
removeActivator($actName);
};
cx = getDisplObjCenter($someView).x;
var tx:Number = ((hero.x)<cx) ? (cx - $leftOffset) : (cx + $rightOffset);
hero.walkTo(tx);
hero.moveTo(tx, (hero.y + $verticalOffset), function ():void{
hero.turnTo(cx);
if ((($itemNames) && ($itemNames.length))){
while ($itemNames.length) {
dropItem($itemNames.pop());
};
};
hero.playAnim($animName, $effect);
});
}
public function getDisplObjCenter(_arg1:DisplayObject):Point{
var _local2:Rectangle = _arg1.getBounds(this);
return (new Point((_local2.x + (_local2.width / 2)), (_local2.y + (_local2.height / 2))));
}
public function appearAt(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null):void{
Movement.appearAt(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function motionTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=64):TweenLite{
return (Movement.motionTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6));
}
public function onTimeTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=0):TweenLite{
return (Movement.onTimeTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6));
}
public function vCurveTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Function=null, _arg8:Number=64):void{
Movement.vCurveTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function hCurveTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Function=null, _arg8:Number=64):void{
Movement.hCurveTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function motionVia(_arg1:DisplayObject, _arg2:Array, _arg3:Function=null, _arg4:Number=64):TimelineLite{
return (Movement.motionVia(_arg1, _arg2, _arg3, _arg4));
}
private function run():void{
if (_ms < 1000){
_timer.delay = (1000 - _ms);
_ms = -1;
};
_time = getTimer();
_timer.start();
}
private function halt():void{
_timer.stop();
_ms = (getTimer() - _time);
}
private function loadAssets():void{
var _local3:MovieClip;
_activators = new Object();
_characters = new Object();
_animations = new Object();
var _local1:uint = numChildren;
var _local2:uint;
while (_local2 < _local1) {
_local3 = (getChildAt(_local2) as MovieClip);
if (_local3){
if ((_local3 is Character)){
addCharacter(_local3.name, (_local3 as Character));
} else {
if ((_local3 is Animation)){
addAnimation(_local3.name, (_local3 as Animation));
} else {
_local3.gotoAndPlay(1);
};
};
};
_local2++;
};
}
private function unloadAssets():void{
var _local1:String;
var _local2:String;
var _local3:String;
for (_local1 in _characters) {
disposeCharacter(_local1);
};
_characters = undefined;
for (_local2 in _animations) {
disposeAnimation(_local2);
};
_animations = undefined;
for (_local3 in _activators) {
disposeActivator(_local3);
};
_activators = undefined;
}
private function initAssets():void{
var _local1:Character;
var _local2:Animation;
for each (_local1 in _characters) {
_local1.activate();
};
for each (_local2 in _animations) {
_local2.activate();
};
}
private function haltAssets():void{
var _local1:Activator;
var _local2:Character;
var _local3:Animation;
for each (_local1 in _activators) {
_local1.deactivate();
};
for each (_local2 in _characters) {
_local2.deactivate();
};
for each (_local3 in _animations) {
_local3.deactivate();
};
}
private function onTimer(_arg1:TimerEvent):void{
if (_timer.delay != 1000){
_timer.delay = 1000;
};
}
private function onSaveResult(_arg1:GameEvent):void{
EpisodesManager.instance.removeEventListener(GameEvent.SAVE_COMPLETE, onSaveResult);
EpisodesManager.instance.removeEventListener(GameEvent.SAVE_ERROR, onSaveResult);
if (Game.instance.isNextEpisode()){
Game.instance.openNextWindow();
} else {
Game.instance.openFinalWindow(_timer.currentCount, EpisodesManager.instance.getTotalTime());
};
}
}
}//package aq.pcge.game
Section 23
//EpisodeEvent (aq.pcge.game.EpisodeEvent)
package aq.pcge.game {
import flash.events.*;
public class EpisodeEvent extends Event {
private var _data:Object;
public function EpisodeEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
super(_arg1, _arg2, _arg3);
_data = _arg4;
}
public function get data():Object{
return (_data);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
override public function clone():Event{
return (new EpisodeEvent(type, bubbles, cancelable, _data));
}
}
}//package aq.pcge.game
Section 24
//EpisodesManager (aq.pcge.game.EpisodesManager)
package aq.pcge.game {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public class EpisodesManager extends Sprite {
private var _episodes:Array;
private var _index:uint;
private var _episode:IEpisode;
private var _so:SharedObject;
private static var _instance:EpisodesManager;
public function EpisodesManager(){
if (!_instance){
_instance = this;
_episodes = new Array();
_so = SharedObject.getLocal(GameApplication.gameName);
} else {
throw (new Error("[EpisodesManager] : <EpisodesManager> : Only one instance of this class is allowed."));
};
}
public function submitTime(_arg1:uint, _arg2:uint):void{
if (_episodes[_arg1] != null){
if (_episodes[_arg1].bestTime > _arg2){
_episodes[_arg1].bestTime = _arg2;
};
} else {
throw (new Error("[EpisodesManager] : <submitTime> : Episode with such index isn't registered."));
};
}
public function getTotalTime():uint{
var _local1:uint;
var _local2:uint = _episodes.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (_local1 + _episodes[_local3].bestTime);
_local3++;
};
return (_local1);
}
public function getCurrentEpisode():IEpisode{
return (_episode);
}
public function getCurrentEpisodeIndex():uint{
return (_index);
}
public function getNumEpisodes():uint{
return (_episodes.length);
}
public function load():void{
var _local1:Array;
var _local2:uint;
var _local3:uint;
var _local4:int;
var _local5:uint;
var _local6:uint;
if (_so.data.gamesave){
_local1 = _so.data.gamesave;
_local2 = _episodes.length;
_local3 = 0;
while (_local3 < _local2) {
if ((_local1[_local3] is Object)){
_episodes[_local3].locked = _local1[_local3].locked;
_episodes[_local3].completed = _local1[_local3].completed;
_episodes[_local3].bestTime = _local1[_local3].bestTime;
} else {
trace("[EpisodesManager] : <load> : Gamesave corrupted.");
trace("[EpisodesManager] : Episode will be reset to default.");
_episodes[_local3].locked = true;
_episodes[_local3].completed = false;
_episodes[_local3].bestTime = undefined;
};
_local3++;
};
dispatchEvent(new GameEvent(GameEvent.LOAD_COMPLETE));
_local4 = -1;
_local5 = _episodes.length;
_local6 = 0;
while (_local6 < _local5) {
if (!_episodes[_local6].completed){
_local4 = _local6;
break;
};
_local6++;
};
if (_local4 < 0){
_index = (_episodes.length - 1);
} else {
_index = _local4;
};
} else {
dispatchEvent(new GameEvent(GameEvent.LOAD_ERROR));
_index = 0;
};
}
public function save():void{
_so.data.gamesave = new Array();
var gamesave:Array = _so.data.gamesave;
var iLim:uint = _episodes.length;
var i:uint;
while (i < iLim) {
gamesave[i] = {locked:_episodes[i].locked, completed:_episodes[i].completed, bestTime:_episodes[i].bestTime};
i = (i + 1);
};
var flushStatus:String;
try {
flushStatus = _so.flush(10000);
} catch(error:Error) {
dispatchEvent(new GameEvent(GameEvent.SAVE_ERROR));
};
if (flushStatus != null){
switch (flushStatus){
case SharedObjectFlushStatus.PENDING:
_so.addEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
break;
case SharedObjectFlushStatus.FLUSHED:
dispatchEvent(new GameEvent(GameEvent.SAVE_COMPLETE));
break;
};
};
}
public function wipe():void{
_so.data.gamesave = new Array();
_so.clear();
}
public function registerEpisode(_arg1:Class, _arg2:uint):void{
if (_episodes[_arg2] == null){
_episodes[_arg2] = {episode:_arg1, locked:true, completed:false, bestTime:Number.POSITIVE_INFINITY};
} else {
throw (new Error("[EpisodesManager] : <registerEpisode> : Episode with same index already registered."));
};
}
public function unregisterEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
_episodes[_arg1].episode = undefined;
_episodes[_arg1].locked = undefined;
_episodes[_arg1].completed = undefined;
_episodes[_arg1].bestTime = undefined;
_episodes[_arg1] = undefined;
} else {
throw (new Error("[EpisodesManager] : <unregisterEpisode> : Episode with such index isn't registered."));
};
}
public function hasEpisodeAt(_arg1:uint):Boolean{
if (_arg1 < _episodes.length){
return (Boolean(_episodes[_arg1]));
};
return (false);
}
public function lockEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
_episodes[_arg1].locked = true;
} else {
throw (new Error("[EpisodesManager] : <lockEpisode> : Episode with such index isn't registered."));
};
}
public function unlockEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
_episodes[_arg1].locked = false;
} else {
throw (new Error("[EpisodesManager] : <unlockEpisode> : Episode with such index isn't registered."));
};
}
public function completeEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
_episodes[_arg1].completed = true;
} else {
throw (new Error("[EpisodesManager] : <completeEpisode> : Episode with such index isn't registered."));
};
}
public function resetEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
_episodes[_arg1].completed = false;
} else {
throw (new Error("[EpisodesManager] : <resetEpisode> : Episode with such index isn't registered."));
};
}
public function loadEpisode(_arg1:uint):void{
if (_episodes[_arg1] != null){
if (_episode){
unloadEpisode();
};
_index = _arg1;
_episode = new _episodes[_index].episode();
_episode.index = _index;
_episode.load();
addChild((_episode as Sprite));
} else {
throw (new Error("[EpisodesManager] : <loadEpisode> : Episode with such index isn't registered."));
};
}
public function unloadEpisode():void{
if (_episode){
_episode.unload();
removeChild((_episode as Sprite));
_episode = undefined;
} else {
throw (new Error("[EpisodesManager] : <unloadEpisode> : There is no episode to unload."));
};
}
public function reloadEpisode():void{
if (_episode){
unloadEpisode();
_episode = new _episodes[_index].episode();
_episode.index = _index;
_episode.load();
addChild((_episode as Sprite));
} else {
throw (new Error("[EpisodesManager] : <reloadEpisode> : There is no episode to reload."));
};
}
public function startEpisode():void{
if (_episode){
_episode.start();
} else {
throw (new Error("[EpisodesManager] : <startEpisode> : There is no episode to start."));
};
}
public function finishEpisode():void{
if (_episode){
_episode.finish();
} else {
throw (new Error("[EpisodesManager] : <finishEpisode> : There is no episode to finish."));
};
}
public function pauseEpisode():void{
if (_episode){
_episode.pause();
} else {
throw (new Error("[EpisodesManager] : <pauseEpisode> : There is no episode to pause."));
};
}
public function resumeEpisode():void{
if (_episode){
_episode.resume();
} else {
throw (new Error("[EpisodesManager] : <resumeEpisode> : There is no episode to resume."));
};
}
public function prevEpisode():void{
if (_index > 0){
_index--;
loadEpisode(_index);
} else {
throw (new Error("[EpisodesManager] : <prevEpisode> : There isn't prev episode."));
};
}
public function nextEpisode():void{
if (_index < (_episodes.length - 1)){
_index++;
loadEpisode(_index);
} else {
throw (new Error("[EpisodesManager] : <nextEpisode> : There isn't next episode."));
};
}
public function isPrevEpisode():Boolean{
return ((_index > 0));
}
public function isNextEpisode():Boolean{
return ((_index < (_episodes.length - 1)));
}
public function isEpisodeCompleted(_arg1:uint):Boolean{
if (_episodes[_arg1] != null){
return (_episodes[_arg1].completed);
};
throw (new Error("[EpisodesManager] : <isEpisodeCompleted> : Episode with such index isn't registered."));
}
public function isEpisodeLocked(_arg1:uint):Boolean{
if (_episodes[_arg1] != null){
return (_episodes[_arg1].locked);
};
throw (new Error("[EpisodesManager] : <isEpisodeLocked> : Episode with such index isn't registered."));
}
private function onFlushStatus(_arg1:NetStatusEvent):void{
switch (_arg1.info.code){
case "SharedObject.Flush.Success":
dispatchEvent(new GameEvent(GameEvent.SAVE_COMPLETE));
break;
case "SharedObject.Flush.Failed":
dispatchEvent(new GameEvent(GameEvent.SAVE_ERROR));
break;
};
_so.removeEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
}
public static function get instance():EpisodesManager{
return (_instance);
}
}
}//package aq.pcge.game
Section 25
//EpisodeState (aq.pcge.game.EpisodeState)
package aq.pcge.game {
public class EpisodeState {
public static const CREATED:String = "created";
public static const INITIALIZED:String = "initialized";
public static const PLAYING:String = "playing";
public static const PAUSED:String = "paused";
public static const FINISHED:String = "finished";
public static const COMPLETED:String = "completed";
public static const FINALIZED:String = "finalized";
public static const WON:String = "won";
public static const LOST:String = "lost";
}
}//package aq.pcge.game
Section 26
//Game (aq.pcge.game.Game)
package aq.pcge.game {
import flash.display.*;
import aq.pcge.common.*;
import aq.pcge.*;
public class Game extends Screen {
public var invView:InventoryView;
public var windowsManager:GameWindowsManager;
public var levelsManager:EpisodesManager;
public var logo:Sprite;
public var gameBar:Sprite;
public var moreGamesButton:Sprite;
private static var _instance:Game;
public function Game(){
if (!_instance){
_instance = this;
if (GameApplication.platform == "md"){
logo.visible = false;
} else {
moreGamesButton.visible = false;
};
} else {
throw (new Error("[Game] : <Game> : Only one instance of this class is allowed."));
};
}
public function submitTime(_arg1:uint, _arg2:uint):void{
levelsManager.submitTime(_arg1, _arg2);
}
public function getTotalTime():uint{
return (levelsManager.getTotalTime());
}
public function getCurrentEpisode():IEpisode{
return (levelsManager.getCurrentEpisode());
}
public function getCurrentEpisodeIndex():uint{
return (levelsManager.getCurrentEpisodeIndex());
}
public function getNumEpisodes():uint{
return (levelsManager.getNumEpisodes());
}
override public function hide():void{
returnToGame();
if (levelsManager.getCurrentEpisode()){
unloadEpisode();
};
super.hide();
}
public function load():void{
levelsManager.load();
}
public function save():void{
levelsManager.save();
}
public function openFinalWindow(_arg1:uint=0, _arg2:uint=0):void{
if (GameApplication.platform == "md"){
windowsManager.openFinalWindowMobile(_arg1, _arg2);
} else {
windowsManager.openFinalWindow(_arg1, _arg2);
};
}
public function openNextWindow(_arg1:Object=null):void{
windowsManager.openNextWindow(_arg1);
}
public function openFailWindow(_arg1:Object=null):void{
windowsManager.openFailWindow(_arg1);
}
public function openItemWindow(_arg1:DisplayObject=null):void{
windowsManager.openItemWindow(_arg1);
}
public function openHelloWindow():void{
invView.visible = false;
gameBar.visible = false;
windowsManager.openHelloWindow();
}
public function openOptionsWindow():void{
windowsManager.openOptionsWindow();
}
public function returnToGame():void{
invView.visible = true;
gameBar.visible = true;
if (windowsManager.activeWindow){
windowsManager.closeActiveWindow();
};
}
public function registerEpisode(_arg1:Class, _arg2:uint):void{
levelsManager.registerEpisode(_arg1, _arg2);
}
public function unregisterEpisode(_arg1:uint):void{
levelsManager.unregisterEpisode(_arg1);
}
public function hasEpisodeAt(_arg1:uint):Boolean{
return (levelsManager.hasEpisodeAt(_arg1));
}
public function lockEpisode(_arg1:uint):void{
levelsManager.lockEpisode(_arg1);
}
public function unlockEpisode(_arg1:uint):void{
levelsManager.unlockEpisode(_arg1);
}
public function completeEpisode(_arg1:uint):void{
levelsManager.completeEpisode(_arg1);
}
public function resetEpisode(_arg1:uint):void{
levelsManager.resetEpisode(_arg1);
}
public function loadEpisode(_arg1:uint):void{
levelsManager.loadEpisode(_arg1);
}
public function unloadEpisode():void{
levelsManager.unloadEpisode();
}
public function reloadEpisode():void{
levelsManager.reloadEpisode();
}
public function startEpisode():void{
levelsManager.startEpisode();
}
public function finishEpisode():void{
levelsManager.finishEpisode();
}
public function pauseEpisode():void{
levelsManager.pauseEpisode();
}
public function resumeEpisode():void{
levelsManager.resumeEpisode();
}
public function prevEpisode():void{
levelsManager.prevEpisode();
}
public function nextEpisode():void{
levelsManager.nextEpisode();
}
public function isPrevEpisode():Boolean{
return (levelsManager.isPrevEpisode());
}
public function isNextEpisode():Boolean{
return (levelsManager.isNextEpisode());
}
public function isEpisodeCompleted(_arg1:uint):Boolean{
return (levelsManager.isEpisodeCompleted(_arg1));
}
public function isEpisodeLocked(_arg1:uint):Boolean{
return (levelsManager.isEpisodeLocked(_arg1));
}
private function onLoadError(_arg1:GameEvent):void{
}
private function onLoadComplete(_arg1:GameEvent):void{
}
private function onSaveError(_arg1:GameEvent):void{
}
private function onSaveComplete(_arg1:GameEvent):void{
}
public static function get instance():Game{
return (_instance);
}
}
}//package aq.pcge.game
Section 27
//GameBar (aq.pcge.game.GameBar)
package aq.pcge.game {
import flash.display.*;
import aq.pcge.*;
public class GameBar extends Sprite {
public var muteButton:Sprite;
public var helpButton:Sprite;
public var optionsButton:Sprite;
public function GameBar(){
if (GameApplication.platform == "md"){
muteButton.visible = false;
helpButton.visible = false;
} else {
optionsButton.visible = false;
};
}
}
}//package aq.pcge.game
Section 28
//GameConfig (aq.pcge.game.GameConfig)
package aq.pcge.game {
public class GameConfig {
public static const SAVE_LOAD:Boolean = false;
}
}//package aq.pcge.game
Section 29
//GameEvent (aq.pcge.game.GameEvent)
package aq.pcge.game {
import flash.events.*;
public class GameEvent extends Event {
private var _data:Object;
public static const EPISODE_COMPLETE:String = "episodeComplete";
public static const EPISODE_FAILED:String = "episodeFailed";
public static const LOAD_COMPLETE:String = "loadComplete";
public static const LOAD_ERROR:String = "loadError";
public static const SAVE_COMPLETE:String = "saveComplete";
public static const SAVE_ERROR:String = "saveError";
public function GameEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
super(_arg1, _arg2, _arg3);
_data = _arg4;
}
public function get data():Object{
return (_data);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
override public function clone():Event{
return (new GameEvent(type, bubbles, cancelable, _data));
}
}
}//package aq.pcge.game
Section 30
//GameWindowsManager (aq.pcge.game.GameWindowsManager)
package aq.pcge.game {
import flash.display.*;
import aq.pcge.common.*;
import aq.pcge.game.windows.*;
public class GameWindowsManager extends WindowsManager {
private static var _instance:GameWindowsManager;
public function GameWindowsManager(){
if (!_instance){
_instance = this;
} else {
throw (new Error("[GameWindowsManager] : <GameWindowsManager> : Only one instance of this class is allowed."));
};
}
public function openFinalWindow(_arg1:uint=0, _arg2:uint=0):void{
openActiveWindow(new FinalWindow(_arg1, _arg2));
}
public function openNextWindow(_arg1:Object=null):void{
var _local2:FlapWindow = new NextWindow();
if ((_arg1 is Object)){
if ((_arg1.onClose is Function)){
_local2.onClose = _arg1.onClose;
};
if ((_arg1.onOpen is Function)){
_local2.onOpen = _arg1.onOpen;
};
if ((_arg1.onStop is Function)){
_local2.onStop = _arg1.onStop;
};
};
openActiveWindow(_local2);
}
public function openFailWindow(_arg1:Object=null):void{
var _local2:FlapWindow = new FailWindow();
if ((_arg1 is Object)){
if ((_arg1.onClose is Function)){
_local2.onClose = _arg1.onClose;
};
if ((_arg1.onOpen is Function)){
_local2.onOpen = _arg1.onOpen;
};
if ((_arg1.onStop is Function)){
_local2.onStop = _arg1.onStop;
};
};
openActiveWindow(_local2);
}
public function openItemWindow(_arg1:DisplayObject=null):void{
openActiveWindow(new ItemWindow(_arg1));
}
public function openHelloWindow():void{
openActiveWindow(new HelloWindow());
}
public function openOptionsWindow():void{
openActiveWindow(new OptionsWindow());
}
public function openFinalWindowMobile(_arg1:uint=0, _arg2:uint=0):void{
openActiveWindow(new FinalWindowMobile(_arg1, _arg2));
}
public static function get instance():GameWindowsManager{
return (_instance);
}
}
}//package aq.pcge.game
Section 31
//IEpisode (aq.pcge.game.IEpisode)
package aq.pcge.game {
import flash.display.*;
public interface IEpisode {
function get index():int;
function set index(_arg1:int):void;
function get state():String;
function get action():Boolean;
function set action(_arg1:Boolean):void;
function getScreen():Sprite;
function getCanvas():Sprite;
function load():void;
function unload():void;
function start():void;
function finish():void;
function pause():void;
function resume():void;
function win():void;
function lose():void;
function registerItem(_arg1:String, _arg2=null, _arg3:String=null, _arg4:String=null):void;
function unregisterItem(_arg1:String):void;
function retrieveItem(_arg1:String):Item;
function isItem(_arg1:String):Boolean;
function addItem(_arg1:String):void;
function removeItem(_arg1:String):void;
function getItem(_arg1:String):Item;
function hasItem(_arg1:String):Boolean;
function takeItem(_arg1:String, _arg2:Boolean=true):void;
function gainItem(_arg1:String):void;
function dropItem(_arg1:String):void;
function makeItem(_arg1:String, _arg2:Array, _arg3:Function=null):void;
function registerEvent(_arg1:String, _arg2:Boolean=false):void;
function unregisterEvent(_arg1:String):void;
function retrieveEvent(_arg1:String):EpisodeEvent;
function isEvent(_arg1:String):Boolean;
function causeEvent(_arg1:String):void;
function forceEvent(_arg1:String):void;
function setupEvent(_arg1:String, _arg2:Boolean):void;
function checkEvent(_arg1:String):Boolean;
function ifThis(_arg1:String):Boolean;
function ifNotThis(_arg1:String):Boolean;
function ifThese(_arg1:Array):Boolean;
function ifNotThese(_arg1:Array):Boolean;
function ifAny(_arg1:Array):Boolean;
function ifNotAny(_arg1:Array):Boolean;
function ifAll():Boolean;
function ifNone():Boolean;
function ifEach(_arg1:Array, _arg2:Boolean):Boolean;
function ifOneOf(_arg1:Array, _arg2:Boolean):Boolean;
function addNewActivator(_arg1:String, _arg2:Sprite, _arg3:Object=null):void;
function addActivator(_arg1:Activator):void;
function removeActivator(_arg1:String):void;
function getActivator(_arg1:String):Activator;
function hasActivator(_arg1:String):Boolean;
function destroyActivator(_arg1:String):void;
function disposeActivator(_arg1:String):void;
function addCharacter(_arg1:String, _arg2:Character):void;
function removeCharacter(_arg1:String):void;
function getCharacter(_arg1:String):Character;
function hasCharacter(_arg1:String):Boolean;
function destroyCharacter(_arg1:String):void;
function disposeCharacter(_arg1:String):void;
function addAnimation(_arg1:String, _arg2:Animation):void;
function removeAnimation(_arg1:String):void;
function getAnimation(_arg1:String):Animation;
function hasAnimation(_arg1:String):Boolean;
function destroyAnimation(_arg1:String):void;
function disposeAnimation(_arg1:String):void;
}
}//package aq.pcge.game
Section 32
//Inventory (aq.pcge.game.Inventory)
package aq.pcge.game {
import flash.display.*;
import flash.events.*;
public class Inventory extends EventDispatcher {
private var _episode:Episode;
private var _exists:Boolean;
private var _registry:Object;
private var _items:Object;
private var _view:InventoryView;
public function Inventory(_arg1:Episode){
if (!_arg1){
throw (new Error("[Inventory] : <Inventory> : Episode isn't exists."));
};
_episode = _arg1;
_registry = new Object();
_items = new Object();
_view = InventoryView.instance;
_exists = true;
}
public function get episode():IEpisode{
return (_episode);
}
public function get view():InventoryView{
return (_view);
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
_registry = undefined;
_items = undefined;
_view.reset();
_view = undefined;
_episode = undefined;
}
public function dispose():void{
var _local1:Item;
_items = undefined;
for each (_local1 in _registry) {
_local1.destroy();
};
_registry = undefined;
_view.reset();
_view = undefined;
_episode = undefined;
}
public function registerItem(_arg1:String, _arg2=null, _arg3:String=null, _arg4:String=null):void{
if (!_registry[_arg1]){
_registry[_arg1] = new Item(_arg1, _arg2, _arg3, _arg4);
} else {
throw (new Error("[Inventory] : <registerItem> : Item with same name already registered."));
};
}
public function unregisterItem(_arg1:String):void{
if (_registry[_arg1]){
_registry[_arg1].dispose();
delete _registry[_arg1];
} else {
throw (new Error("[Inventory] : <unregisterItem> : Item with such name not found."));
};
}
public function retrieveItem(_arg1:String):Item{
if (_registry[_arg1]){
return (_registry[_arg1]);
};
throw (new Error("[Inventory] : <retrieveItem> : Item with such name not found."));
}
public function isItem(_arg1:String):Boolean{
return (Boolean(_registry[_arg1]));
}
public function addItem(_arg1:String):void{
if (_registry[_arg1]){
if (!_items[_arg1]){
_items[_arg1] = _registry[_arg1];
} else {
throw (new Error((("[Inventory] : <addItem> : Item '" + _arg1) + "' already added.")));
};
} else {
throw (new Error("[Inventory] : <addItem> : Item isn't registered."));
};
}
public function removeItem(_arg1:String):void{
if (_registry[_arg1]){
if (_items[_arg1]){
delete _items[_arg1];
} else {
throw (new Error((("[Inventory] : <removeItem> : Item '" + _arg1) + "' not found.")));
};
} else {
throw (new Error("[Inventory] : <removeItem> : Item isn't registered."));
};
}
public function getItem(_arg1:String):Item{
if (_registry[_arg1]){
if (_items[_arg1]){
return (_items[_arg1]);
};
throw (new Error((("[Inventory] : <getItem> : Item '" + _arg1) + "' isn't added.")));
//unresolved jump
};
throw (new Error("[Inventory] : <getItem> : Item isn't registered."));
}
public function findItem(_arg1:String):Item{
if (_registry[_arg1]){
return (_items[_arg1]);
};
throw (new Error("[Inventory] : <findItem> : Item isn't registered."));
}
public function hasItem(_arg1:String):Boolean{
if (_registry[_arg1]){
return (Boolean(_items[_arg1]));
};
throw (new Error("[Inventory] : <hasItem> : Item isn't registered."));
}
public function notHasItem(_arg1:String):Boolean{
if (_registry[_arg1]){
return (Boolean(!(_items[_arg1])));
};
throw (new Error("[Inventory] : <notHasItem> : Item isn't registered."));
}
public function hasAllItems(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (!_items[_local4]){
return (false);
};
} else {
throw (new Error("[Inventory] : <hasAllItems> : Item isn't registered."));
};
_local3++;
};
return (true);
}
public function notHasAllItems(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (_items[_local4]){
return (false);
};
} else {
throw (new Error("[Inventory] : <notHasAllItems> : Item isn't registered."));
};
_local3++;
};
return (true);
}
public function hasAnyItem(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (_items[_local4]){
return (true);
};
} else {
throw (new Error("[Inventory] : <hasAnyItem> : Item isn't registered."));
};
_local3++;
};
return (false);
}
public function notHasAnyItem(_arg1:Array):Boolean{
var _local4:String;
var _local2:uint = _arg1.length;
var _local3:uint;
while (_local3 < _local2) {
_local4 = _arg1[_local3];
if (_registry[_local4]){
if (!_items[_local4]){
return (true);
};
} else {
throw (new Error("[Inventory] : <notHasAnyItem> : Item isn't registered."));
};
_local3++;
};
return (false);
}
public function takeItem(_arg1:String, _arg2:Boolean=true):void{
addItem(_arg1);
if (_view){
_view.addItem(_registry[_arg1]);
};
if (_arg2){
showItemWindow(_arg1);
};
}
public function gainItem(_arg1:String):void{
addItem(_arg1);
if (_view){
_view.addItem(_registry[_arg1]);
};
}
public function dropItem(_arg1:String):void{
removeItem(_arg1);
if (_view){
_view.removeItem(_registry[_arg1]);
};
}
public function makeItem(_arg1:String, _arg2:Array, _arg3:Function=null):void{
var _local4:uint = _arg2.length;
var _local5:Array = new Array();
var _local6:uint;
while (_local6 < _local4) {
_local5.push(_registry[_arg2[_local6]]);
_local6++;
};
InventoryAnimator.animate(_registry[_arg1], _local5, _arg3);
}
private function showItemWindow(_arg1:String):void{
var _local3:*;
var _local4:DisplayObject;
var _local2:Item = _items[_arg1];
if (_local2.icon){
_local3 = _local2.icon;
_local4 = DisplayObject(new (_local3));
GameWindowsManager.instance.openItemWindow(_local4);
} else {
throw (new Error("[Inventory] : <showItemWindow> : Icon for item is undefined."));
};
}
}
}//package aq.pcge.game
Section 33
//InventoryAnimator (aq.pcge.game.InventoryAnimator)
package aq.pcge.game {
import flash.display.*;
import com.greensock.*;
import flash.utils.*;
import aq.pcge.*;
import aq.pcge.game.windows.*;
public class InventoryAnimator {
public static const ITEM_FLYING_IN:Number = 1;
public static const ITEM_FLYING_OUT:Number = 1;
private static const CENTER_X:Number = (GameApplication.SCREEN_WIDTH / 2);
private static const CENTER_Y:Number = (GameApplication.SCREEN_HEIGHT / 2);
private static var _item:Item;
private static var _icon:DisplayObject;
private static var _materials:Dictionary = new Dictionary();
private static var _highlight:Dictionary = new Dictionary();
private static var _matImages:Dictionary = new Dictionary();
private static var _toMove:Array = new Array();
private static var _callback:Function;
private static var _itemTween:TweenLite;
public static function animate(_arg1:Item, _arg2:Array, _arg3:Function=null):void{
var _local4:Item;
var _local5:uint;
var _local6:uint;
if (_arg1){
if (_arg2){
_local5 = _arg2.length;
_local6 = 0;
while (_local6 < _local5) {
_local4 = _arg2[_local6];
if (_local4){
_materials[_local4] = _local4;
} else {
throw (new Error("[ItemsAnimationManager] : <animate> : Wrong input."));
};
_local6++;
};
_item = _arg1;
_callback = _arg3;
InventoryView.instance.freeze = true;
for each (_local4 in _materials) {
_highlight[_local4] = _local4;
InventoryView.instance.highlightItem(_local4, onItemAnimComplete);
};
} else {
throw (new Error("[ItemsAnimationManager] : <animate> : Wrong input."));
};
} else {
throw (new Error("[ItemsAnimationManager] : <animate> : Wrong input."));
};
}
public static function reset():void{
if (_itemTween){
_itemTween.kill();
};
clear();
}
private static function onItemAnimComplete(_arg1:Item):void{
var _local3:Item;
var _local4:ItemWindow;
var _local5:DisplayObject;
delete _highlight[_arg1];
var _local2:Boolean;
for each (_local3 in _highlight) {
_local2 = false;
break;
};
if (_local2){
for each (_local3 in _materials) {
_local5 = InventoryView.instance.cutIcon(_local3);
_matImages[_local3] = _local5;
_toMove.push(_local5);
InventoryView.instance.anim.addChild(_local5);
};
(GameWindowsManager.instance.openItemWindow() as ItemWindow);
_local4 = (GameWindowsManager.instance.activeWindow as ItemWindow);
_local4.stopLifeTimer();
if (Game.instance.getChildIndex(Game.instance.invView) < Game.instance.getChildIndex(Game.instance.windowsManager)){
Game.instance.swapChildren(Game.instance.invView, Game.instance.windowsManager);
};
queryAnim(_toMove.shift());
};
}
private static function queryAnim(_arg1:Sprite):void{
var $image = _arg1;
if (_toMove.length){
_itemTween = new TweenLite($image, ITEM_FLYING_IN, {x:CENTER_X, y:CENTER_Y, onComplete:function ():void{
queryAnim(_toMove.shift());
}, onCompleteParams:[$image]});
} else {
_itemTween = new TweenLite($image, ITEM_FLYING_IN, {x:CENTER_X, y:CENTER_Y, onComplete:function ():void{
makeItem();
}});
};
}
private static function makeItem():void{
var _local2:Item;
var _local3:*;
var _local4:DisplayObject;
var _local5:ItemWindow;
var _local1:IEpisode = Game.instance.getCurrentEpisode();
for each (_local2 in _materials) {
InventoryView.instance.anim.removeChild(_matImages[_local2]);
_local1.dropItem(_local2.name);
};
_local3 = _item.icon;
_local4 = new (_local3);
InventoryView.scaleImage(_local4);
_local5 = (GameWindowsManager.instance.activeWindow as ItemWindow);
_local4.x = (_local5.holder.width / 2);
_local4.y = (_local5.holder.height / 2);
_local5.holder.addChild(_local4);
_icon = _local4;
_local5.playGFX(placeItem);
}
private static function placeItem():void{
var w:ItemWindow;
InventoryView.instance.addEmptyItem(_item);
var pos:Object = InventoryView.instance.getIconPosition(_item);
w = (GameWindowsManager.instance.activeWindow as ItemWindow);
w.holder.removeChild(_icon);
_icon.x = (_icon.x + (w.holder.x + w.x));
_icon.y = (_icon.y + (w.holder.y + w.y));
InventoryView.instance.anim.addChild(_icon);
_itemTween = new TweenLite(_icon, ITEM_FLYING_OUT, {x:pos.x, y:pos.y, onComplete:function ():void{
var _local2:*;
var _local1:* = Game.instance.getCurrentEpisode();
_local1.addItem(_item.name);
InventoryView.instance.setIcon(_item, _icon);
if (Game.instance.getChildIndex(Game.instance.invView) > Game.instance.getChildIndex(Game.instance.windowsManager)){
Game.instance.swapChildren(Game.instance.invView, Game.instance.windowsManager);
};
w.close();
InventoryView.instance.freeze = false;
if (_callback != null){
_local2 = _callback;
clear();
_local2();
} else {
clear();
};
}});
}
private static function clear():void{
_item = undefined;
_icon = undefined;
_materials = new Dictionary();
_highlight = new Dictionary();
_matImages = new Dictionary();
_toMove = new Array();
_callback = undefined;
_itemTween = undefined;
}
}
}//package aq.pcge.game
Section 34
//InventoryView (aq.pcge.game.InventoryView)
package aq.pcge.game {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class InventoryView extends MovieClip {
public var anim:MovieClip;
public var iconsCont:MovieClip;
public var iconsMask:MovieClip;
private var _slots:Array;
private var _names:Object;
private var _rewind:Boolean;
private var _freeze:Boolean;
public static const LRINDENT:Number = 1;
public static const HORIZONTAL_GAP:Number = 12;
public static const VERTICAL_GAP:Number = 6;
public static const SLOT_WIDTH:Number = 71;
public static const SLOT_HEIGHT:Number = 72;
public static const ICON_WIDTH:Number = 58;
public static const ICON_HEIGHT:Number = 57;
public static const SCROLL_SPEED:Number = 5;
public static const HORIZONTAL_OFFSET:Number = 0;
public static const VERTICAL_OFFSET:Number = 0;
private static var _instance:InventoryView;
public function InventoryView(){
if (!_instance){
_instance = this;
_slots = new Array();
_names = new Object();
if (((iconsCont) && (iconsMask))){
iconsCont.mask = iconsMask;
};
} else {
throw (new Error("[InventoryView] : <InventoryView> : Only one instance of this class is allowed."));
};
}
public function get freeze():Boolean{
return (_freeze);
}
public function set freeze(_arg1:Boolean):void{
_freeze = _arg1;
}
public function addItem(_arg1:Item):void{
var _local2:uint;
var _local3:ItemIcon;
var _local4:DisplayObject;
var _local5:Class;
if (_arg1){
if (!_names[_arg1.name]){
_local2 = _slots.length;
_local3 = new ItemIcon();
_local3.addEventListener("gfxComplete", onGFXComplete);
_local3.name = ("itemIcon_" + _local2);
_local3.source = _arg1.name;
_local3.title = _arg1.title;
_local3.item = _arg1;
_local5 = _arg1.icon;
if ((((getQualifiedSuperclassName(_local5) == "flash.display::Sprite")) || ((getQualifiedSuperclassName(_local5) == "flash.display::MovieClip")))){
_local4 = new (_local5);
} else {
if (getQualifiedSuperclassName(_local5) == "flash.display::BitmapData"){
_local4 = new Bitmap(new _local5(_local5.width, _local5.height));
(_local4 as Bitmap).smoothing = true;
};
};
if (_local4){
scaleImage(_local4);
_local4.x = (SLOT_WIDTH / 2);
_local4.y = (SLOT_HEIGHT / 2);
_local3.setIcon(_local4);
} else {
throw (new Error((("[InventoryView] : <addItem> : Item's '" + _arg1.name) + "' image isn't exists.")));
};
_local3.x = HORIZONTAL_OFFSET;
_local3.y = (VERTICAL_OFFSET + (_local2 * (SLOT_HEIGHT + VERTICAL_GAP)));
iconsCont.addChild(_local3);
_names[_arg1.name] = {index:_local2, icon:_local3};
_slots.push(_arg1.name);
_rewind = true;
} else {
throw (new Error((("[InventoryView] : <addItem> : Can't add same item ('" + _arg1.name) + "').")));
};
} else {
throw (new Error("[InventoryView] : <addItem> : Can't add non-existing item."));
};
}
public function removeItem(_arg1:Item):void{
var _local2:ItemIcon;
var _local3:uint;
var _local4:uint;
if (_arg1){
if (_names[_arg1.name]){
_local2 = (iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon);
_local2.removeEventListener("gfxComplete", onGFXComplete);
_local2.onGFXComplete = undefined;
_local2.gotoAndStop(1);
iconsCont.removeChild(_local2);
if (_names[_arg1.name].index < (_slots.length - 1)){
_local3 = _slots.length;
_local4 = (_names[_arg1.name].index + 1);
while (_local4 < _local3) {
_local2 = (iconsCont.getChildByName(("itemIcon_" + _local4)) as ItemIcon);
_local2.name = ("itemIcon_" + (_local4 - 1));
_names[_local2.source].index = (_local4 - 1);
_local2.x = HORIZONTAL_OFFSET;
_local2.y = (VERTICAL_OFFSET + ((_local4 - 1) * (SLOT_HEIGHT + VERTICAL_GAP)));
_local4++;
};
};
_slots.splice(_names[_arg1.name].index, 1);
_names[_arg1.name] = undefined;
} else {
throw (new Error((("[InventoryView] : <removeItem> : Item '" + _arg1.name) + "' not found.")));
};
} else {
throw (new Error("[InventoryView] : <removeItem> : Can't remove non-existing item."));
};
}
public function highlightItem(_arg1:Item, _arg2:Function=null):void{
var _local3:ItemIcon;
if (_arg1){
if (_names[_arg1.name]){
_local3 = (iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon);
_local3.onGFXComplete = _arg2;
_local3.gotoAndPlay(2);
} else {
throw (new Error((("[InventoryView] : <removeItem> : Item '" + _arg1.name) + "' not found.")));
};
} else {
throw (new Error("[InventoryView] : <removeItem> : Can't highlight item."));
};
}
public function addEmptyItem(_arg1:Item):void{
var _local2:uint;
var _local3:ItemIcon;
if (_arg1){
if (!_names[_arg1.name]){
_local2 = _slots.length;
_local3 = new ItemIcon();
_local3.addEventListener("gfxComplete", onGFXComplete);
_local3.name = ("itemIcon_" + _local2);
_local3.source = _arg1.name;
_local3.title = _arg1.title;
_local3.item = _arg1;
_local3.x = HORIZONTAL_OFFSET;
_local3.y = (VERTICAL_OFFSET + (_local2 * (SLOT_HEIGHT + VERTICAL_GAP)));
iconsCont.addChild(_local3);
_names[_arg1.name] = {index:_local2, icon:_local3};
_slots.push(_arg1.name);
_rewind = true;
} else {
throw (new Error((("[InventoryView] : <addEmptyItem> : Can't add same item ('" + _arg1.name) + "').")));
};
} else {
throw (new Error("[InventoryView] : <addEmptyItem> : Can't add non-existing item"));
};
}
public function getIcon(_arg1:Item):DisplayObject{
if (_arg1){
if (_names[_arg1.name]){
return ((iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon).getIcon());
};
throw (new Error((("[InventoryView] : <getIcon> : Item '" + _arg1.name) + "' not found.")));
//unresolved jump
};
throw (new Error("[InventoryView] : <getIcon> : Can't get non-existing icon"));
}
public function setIcon(_arg1:Item, _arg2:DisplayObject):void{
var _local3:ItemIcon;
if (_arg1){
if (_names[_arg1.name]){
_local3 = (iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon);
if (_arg2){
scaleImage(_arg2);
_arg2.x = (SLOT_WIDTH / 2);
_arg2.y = (SLOT_HEIGHT / 2);
_local3.setIcon(_arg2);
} else {
throw (new Error((("[InventoryView] : <setIcon> : Item's '" + _local3.name) + "' image isn't exists.")));
};
} else {
throw (new Error((("[InventoryView] : <setIcon> : Item '" + _local3.name) + "' not found.")));
};
} else {
throw (new Error("[InventoryView] : <setIcon> : Can't set non-existing icon"));
};
}
public function cutIcon(_arg1:Item):DisplayObject{
var _local2:ItemIcon;
var _local3:DisplayObject;
if (_arg1){
if (_names[_arg1.name]){
_local2 = (iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon);
_local3 = _local2.getIcon();
_local3.x = (_local3.x + ((x + iconsCont.x) + _local2.x));
_local3.y = (_local3.y + ((y + iconsCont.y) + _local2.y));
_local3.name = _local2.source;
return (_local3);
};
throw (new Error((("[InventoryView] : <cutIcon> : Item '" + _arg1.name) + "' not found.")));
//unresolved jump
};
throw (new Error("[InventoryView] : <cutIcon> : Can't cut non-existing item."));
}
public function getIconPosition(_arg1:Item):Object{
var _local2:ItemIcon;
if (_arg1){
if (_names[_arg1.name]){
_local2 = (iconsCont.getChildByName(("itemIcon_" + _names[_arg1.name].index)) as ItemIcon);
return ({x:(((x + iconsCont.x) + _local2.x) + (71 / 2)), y:(((y + iconsCont.y) + _local2.y) + (72 / 2))});
};
throw (new Error((("[InventoryView] : <getIconPosition> : Item '" + _arg1.name) + "' not found.")));
//unresolved jump
};
throw (new Error("[InventoryView] : <getIconPosition> : Can't get position of non-existing item."));
}
public function reset():void{
while (iconsCont.numChildren) {
iconsCont.removeChildAt(0);
};
_slots = new Array();
_names = new Object();
}
private function onGFXComplete(_arg1:Event):void{
var _local2:ItemIcon = (_arg1.target as ItemIcon);
if (_local2){
if (_local2.onGFXComplete != null){
_local2.onGFXComplete(_local2.item);
};
} else {
throw (new Error("[InventoryViwe] : <onGFXComplete> : Internal error."));
};
}
public static function get instance():InventoryView{
return (_instance);
}
public static function scaleImage(_arg1:DisplayObject):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
if (_arg1.width >= _arg1.height){
_local2 = (ICON_WIDTH / _arg1.width);
_local3 = ICON_WIDTH;
_local4 = (_arg1.height * _local2);
} else {
_local2 = (ICON_HEIGHT / _arg1.height);
_local4 = ICON_HEIGHT;
_local3 = (_arg1.width * _local2);
};
_arg1.width = _local3;
_arg1.height = _local4;
}
}
}//package aq.pcge.game
Section 35
//Item (aq.pcge.game.Item)
package aq.pcge.game {
public class Item {
private var _exists:Boolean;
public var name:String;
public var icon;
public var title:String;
public var description:String;
public function Item(_arg1:String, _arg2=null, _arg3:String=null, _arg4:String=null){
name = _arg1;
icon = _arg2;
title = _arg3;
description = _arg4;
_exists = true;
}
public function exists():Boolean{
return (_exists);
}
public function destroy():void{
name = undefined;
icon = undefined;
title = undefined;
description = undefined;
_exists = undefined;
}
}
}//package aq.pcge.game
Section 36
//Movement (aq.pcge.game.Movement)
package aq.pcge.game {
import flash.display.*;
import com.greensock.*;
import fl.transitions.easing.*;
public class Movement {
public static function appearAt(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null):void{
var _local6:Number;
var _local7:Number;
if (_arg1){
_arg1.x = _arg2;
_arg1.y = _arg3;
_local6 = (_arg1.scaleX / Math.abs(_arg1.scaleX));
_local7 = (_arg1.scaleY / Math.abs(_arg1.scaleY));
_arg1.scaleX = (_arg4 * _local6);
_arg1.scaleY = (_arg4 * _local7);
if (_arg5 != null){
_arg5();
};
} else {
throw (new Error("[Displacement] : <appearAt> : Object not exists."));
};
}
public static function motionTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=64):TweenLite{
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
if (_arg1){
_local7 = Math.sqrt((Math.pow((_arg2 - _arg1.x), 2) + Math.pow((_arg3 - _arg1.y), 2)));
_local8 = (_local7 / Math.abs(_arg6));
_local9 = (_arg1.scaleX / Math.abs(_arg1.scaleX));
_local10 = (_arg1.scaleY / Math.abs(_arg1.scaleY));
return (TweenLite.to(_arg1, _local8, {x:_arg2, y:_arg3, scaleX:(_arg4 * _local9), scaleY:(_arg4 * _local10), onComplete:_arg5, ease:None.easeNone}));
};
throw (new Error("[Displacement] : <motionTo> : Object not exists."));
}
public static function onTimeTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=0):TweenLite{
var _local7:Number;
var _local8:Number;
var _local9:Number;
if (_arg1){
_local7 = Math.sqrt((Math.pow((_arg2 - _arg1.x), 2) + Math.pow((_arg3 - _arg1.y), 2)));
_local8 = (_arg1.scaleX / Math.abs(_arg1.scaleX));
_local9 = (_arg1.scaleY / Math.abs(_arg1.scaleY));
return (TweenLite.to(_arg1, _arg6, {x:_arg2, y:_arg3, scaleX:(_arg4 * _local8), scaleY:(_arg4 * _local9), onComplete:_arg5, ease:None.easeNone}));
};
throw (new Error("[Displacement] : <onTimeTo> : Object not exists."));
}
public static function vCurveTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Function=null, _arg8:Number=64):void{
var length:Number;
var time:Number;
var sX:Number;
var sY:Number;
var dY:Number;
var mY:Number;
var $object = _arg1;
var $x = _arg2;
var $y = _arg3;
var $h = _arg4;
var $scale = _arg5;
var $rotat = _arg6;
var $callback = _arg7;
var $speed = _arg8;
if ($object){
length = Math.sqrt((Math.pow(($x - $object.x), 2) + Math.pow(($y - $object.y), 2)));
time = (length / Math.abs($speed));
sX = ($object.scaleX / Math.abs($object.scaleX));
sY = ($object.scaleY / Math.abs($object.scaleY));
dY = Math.abs(($object.y - $y));
mY = (Math.min($object.y, $y) + dY);
TweenLite.to($object, (time / 2), {y:(mY + $h), onComplete:function ():void{
TweenLite.to($object, (time / 2), {y:$y, ease:Strong.easeIn, overwrite:0});
}, ease:Strong.easeOut});
TweenLite.to($object, time, {x:$x, scaleX:($scale * sX), scaleY:($scale * sY), rotation:$rotat, onComplete:$callback, ease:None.easeNone, overwrite:0});
} else {
throw (new Error("[Displacement] : <vCurveTo> : Object not exists."));
};
}
public static function hCurveTo(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Function=null, _arg8:Number=64):void{
var length:Number;
var time:Number;
var sX:Number;
var sY:Number;
var dX:Number;
var mX:Number;
var $object = _arg1;
var $x = _arg2;
var $y = _arg3;
var $w = _arg4;
var $scale = _arg5;
var $rotat = _arg6;
var $callback = _arg7;
var $speed = _arg8;
if ($object){
length = Math.sqrt((Math.pow(($x - $object.x), 2) + Math.pow(($y - $object.y), 2)));
time = (length / Math.abs($speed));
sX = ($object.scaleX / Math.abs($object.scaleX));
sY = ($object.scaleY / Math.abs($object.scaleY));
dX = Math.abs(($object.x - $x));
mX = (Math.min($object.x, $x) + dX);
TweenLite.to($object, (time / 2), {x:(mX + $w), onComplete:function ():void{
TweenLite.to($object, (time / 2), {x:$x, ease:Strong.easeIn, overwrite:0});
}, ease:Strong.easeOut});
TweenLite.to($object, time, {x:$x, scaleX:($scale * sX), scaleY:($scale * sY), rotation:$rotat, onComplete:$callback, ease:None.easeNone, overwrite:0});
} else {
throw (new Error("[Displacement] : <hCurveTo> : Object not exists."));
};
}
public static function motionVia(_arg1:DisplayObject, _arg2:Array, _arg3:Function=null, _arg4:Number=64):TimelineLite{
var _local5:TimelineLite;
var _local6:Number;
var _local7:Number;
var _local8:uint;
var _local9:uint;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
if (_arg1){
_local5 = new TimelineLite();
_local6 = (_arg1.scaleX / Math.abs(_arg1.scaleX));
_local7 = (_arg1.scaleY / Math.abs(_arg1.scaleY));
_local8 = _arg2.length;
_local9 = 0;
while (_local9 < _local8) {
_local10 = _arg2[_local9].x;
_local11 = _arg2[_local9].y;
_local12 = (_arg2[_local9].scale) ? _arg2[_local9].scale : 1;
_local13 = (_arg2[_local9].speed) ? _arg2[_local9].speed : _arg4;
_local14 = Math.sqrt((Math.pow((_local10 - _arg1.x), 2) + Math.pow((_local11 - _arg1.y), 2)));
_local15 = (_local14 / Math.abs(_local13));
if (_local9 < (_local8 - 1)){
_local5.append(new TweenLite(_arg1, _local15, {x:_local10, y:_local11, scaleX:(_local12 * _local6), scaleY:(_local12 * _local7), ease:None.easeNone}));
} else {
_local5.append(new TweenLite(_arg1, _local15, {x:_local10, y:_local11, scaleX:(_local12 * _local6), scaleY:(_local12 * _local7), onComplete:_arg3, ease:None.easeNone}));
};
_local9++;
};
_local5.play();
return (_local5);
//unresolved jump
};
throw (new Error("[Displacement] : <motionVia> : Object not exists."));
}
}
}//package aq.pcge.game
Section 37
//Cursor (aq.pcge.gui.Cursor)
package aq.pcge.gui {
import flash.display.*;
import flash.events.*;
import flash.ui.*;
public class Cursor extends MovieClip {
private static var _instance:Cursor;
public function Cursor(){
addFrameScript(0, frame1, 1, frame2);
if (!_instance){
_instance = this;
mouseChildren = false;
mouseEnabled = false;
show();
} else {
throw (new Error("[Cursor] : <Cursor> : Only one instance of this class is allowed."));
};
}
public function show():void{
work();
Mouse.hide();
visible = true;
}
public function hide():void{
halt();
visible = false;
Mouse.show();
}
public function up():void{
gotoAndStop("up");
}
public function down():void{
gotoAndStop("down");
}
private function update(_arg1:Event=null):void{
x = root.mouseX;
y = root.mouseY;
}
private function work():void{
if (!stage.hasEventListener(MouseEvent.MOUSE_DOWN)){
stage.addEventListener(MouseEvent.MOUSE_DOWN, goDown);
};
if (!stage.hasEventListener(MouseEvent.MOUSE_UP)){
stage.addEventListener(MouseEvent.MOUSE_UP, goUp);
};
if (!hasEventListener(Event.ENTER_FRAME)){
addEventListener(Event.ENTER_FRAME, update);
};
if (!stage.hasEventListener(Event.MOUSE_LEAVE)){
stage.addEventListener(Event.MOUSE_LEAVE, onLeave);
};
if (!stage.hasEventListener(MouseEvent.MOUSE_MOVE)){
stage.addEventListener(MouseEvent.MOUSE_MOVE, onEnter);
};
}
private function halt():void{
if (stage.hasEventListener(MouseEvent.MOUSE_DOWN)){
stage.removeEventListener(MouseEvent.MOUSE_DOWN, goDown);
};
if (stage.hasEventListener(MouseEvent.MOUSE_UP)){
stage.removeEventListener(MouseEvent.MOUSE_UP, goUp);
};
if (hasEventListener(Event.ENTER_FRAME)){
removeEventListener(Event.ENTER_FRAME, update);
};
if (stage.hasEventListener(Event.MOUSE_LEAVE)){
stage.removeEventListener(Event.MOUSE_LEAVE, onLeave);
};
if (stage.hasEventListener(MouseEvent.MOUSE_MOVE)){
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onEnter);
};
}
private function goDown(_arg1:MouseEvent):void{
down();
}
private function goUp(_arg1:MouseEvent):void{
up();
}
private function onLeave(_arg1:Event):void{
visible = false;
}
private function onEnter(_arg1:MouseEvent):void{
visible = true;
}
function frame1(){
stop();
}
function frame2(){
stop();
}
public static function get instance():Cursor{
return (_instance);
}
}
}//package aq.pcge.gui
Section 38
//MusicPlayer (aq.pcge.media.MusicPlayer)
package aq.pcge.media {
import flash.media.*;
import flash.events.*;
public class MusicPlayer {
private var _sound:Sound;
private var _soundChannel:SoundChannel;
private var _mute:Boolean;// = false
private var _pan:Number;// = 0
private var _volume:Number;// = 0.5
private var _state:String;// = "none"
private static var _instance:MusicPlayer;
public function MusicPlayer(){
if (!_instance){
_instance = this;
} else {
throw (new Error("[MusicPlayer] : <MusicPlayer> : Only one instance of this class is allowed."));
};
}
public function get mute():Boolean{
return (_mute);
}
public function set mute(_arg1:Boolean):void{
_mute = _arg1;
if (_soundChannel != null){
setSoundTransform();
};
}
public function get pan():Number{
return (_pan);
}
public function set pan(_arg1:Number):void{
if (_arg1 < -1){
_arg1 = -1;
};
if (_arg1 > 1){
_arg1 = 1;
};
_pan = _arg1;
if (_soundChannel != null){
setSoundTransform();
};
}
public function get volume():Number{
return (_volume);
}
public function set volume(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
};
if (_arg1 > 1){
_arg1 = 1;
};
_volume = _arg1;
if (_soundChannel != null){
setSoundTransform();
};
}
public function get state():String{
return (_state);
}
public function get isPlaying():Boolean{
if (_state == "playing"){
return (true);
};
return (false);
}
public function get isMuted():Boolean{
return (_mute);
}
public function musicON():void{
_mute = false;
if (_soundChannel != null){
setSoundTransform();
};
}
public function musicOFF():void{
_mute = true;
if (_soundChannel != null){
setSoundTransform();
};
}
public function playMusic(_arg1:Sound):void{
if (_soundChannel != null){
_soundChannel.stop();
};
_sound = _arg1;
_soundChannel = _sound.play();
setSoundTransform();
_soundChannel.addEventListener(Event.SOUND_COMPLETE, restart);
_state = "playing";
}
public function stopMusic():void{
if (_soundChannel != null){
_soundChannel.stop();
if (_soundChannel.hasEventListener(Event.SOUND_COMPLETE) == true){
_soundChannel.removeEventListener(Event.SOUND_COMPLETE, restart);
};
};
_state = "stopped";
}
private function restart(_arg1:Event):void{
_soundChannel = _sound.play();
setSoundTransform();
_soundChannel.addEventListener(Event.SOUND_COMPLETE, restart);
_state = "playing";
}
private function setSoundTransform():void{
if (_soundChannel != null){
_soundChannel.soundTransform = new SoundTransform((int(!(_mute)) * _volume), _pan);
};
}
public static function get instance():MusicPlayer{
return (_instance);
}
}
}//package aq.pcge.media
Section 39
//Menu (aq.pcge.menu.Menu)
package aq.pcge.menu {
import aq.pcge.common.*;
public class Menu extends Screen {
public var windowsManager:MenuWindowsManager;
private static var _instance:Menu;
public function Menu(){
if (!_instance){
_instance = this;
} else {
throw (new Error("[Menu] : <Menu> : Only one instance of this class is allowed."));
};
}
override public function hide():void{
returnToMenu();
super.hide();
}
public function returnToMenu():void{
if (windowsManager.activeWindow){
windowsManager.closeActiveWindow();
};
}
public static function get instance():Menu{
return (_instance);
}
}
}//package aq.pcge.menu
Section 40
//MenuWindowsManager (aq.pcge.menu.MenuWindowsManager)
package aq.pcge.menu {
import aq.pcge.common.*;
public class MenuWindowsManager extends WindowsManager {
private static var _instance:MenuWindowsManager;
public function MenuWindowsManager(){
if (!_instance){
_instance = this;
} else {
throw (new Error("[MenuWindowsManager] : <MenuWindowsManager> : Only one instance of this class is allowed."));
};
}
public static function get instance():MenuWindowsManager{
return (_instance);
}
}
}//package aq.pcge.menu
Section 41
//Console (aq.pcge.system.Console)
package aq.pcge.system {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import aq.pcge.common.*;
import aq.pcge.*;
import flash.text.*;
public class Console extends Sprite {
public var hScrollBar:HScrollBar;
public var vScrollBar:VScrollBar;
public var display:Sprite;
public var command_tf:TextField;
public var closeButton:Sprite;
private var _cont_mc:Sprite;
private var _mask_mc:Sprite;
private var _history_tf:TextField;
private static var _instance:Console;
public function Console(){
_instance = this;
_cont_mc = (display.getChildByName("cont_mc") as Sprite);
_mask_mc = (display.getChildByName("mask_mc") as Sprite);
_history_tf = (_cont_mc.getChildByName("history_tf") as TextField);
hScrollBar.attach(_cont_mc, _mask_mc);
vScrollBar.attach(_cont_mc, _mask_mc);
closeButton.addEventListener(MouseEvent.CLICK, onCloseButtonClick);
visible = false;
if (GameApplication.gameMode == "debug"){
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyboardKeyDown);
};
}
public function show():void{
visible = true;
}
public function hide():void{
visible = false;
}
public function clearHistory():void{
_history_tf.text = "";
}
public function clearCommand():void{
command_tf.text = "";
}
public function clearAll():void{
_history_tf.text = "";
command_tf.text = "";
}
public function addHistory(_arg1:String):void{
_history_tf.appendText((("> " + _arg1) + "\n"));
}
public function addMessage(_arg1:String):void{
_history_tf.appendText((_arg1 + "\n"));
}
public function getCommand():String{
return (command_tf.text);
}
public function executeCommand(_arg1:String):void{
var _local2:Array = _arg1.split(" ", 2);
var _local3:String = _local2[0];
var _local4:String = _local2[1];
switch (_local3){
case "menu":
gotoMenu();
addHistory(((_local3 + " : ") + _local4));
break;
case "game":
gotoGame();
addHistory(((_local3 + " : ") + _local4));
break;
case "loadEpisode":
loadEpisode(uint(_local4));
addHistory(((_local3 + " : ") + _local4));
break;
case "unloadEpisode":
unloadEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "reloadEpisode":
reloadEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "prevEpisode":
prevEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "nextEpisode":
nextEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "startEpisode":
startEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "finishEpisode":
finishEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "playEpisode":
playEpisode(uint(_local4));
addHistory(((_local3 + " : ") + _local4));
break;
case "replayEpisode":
replayEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "winEpisode":
winEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "loseEpisode":
loseEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "enableEpisode":
enableEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "disableEpisode":
disableEpisode();
addHistory(((_local3 + " : ") + _local4));
break;
case "help":
addHistory(((_local3 + " : ") + _local4));
addMessage("Commands list:");
addMessage(" menu ()");
addMessage(" game ()");
addMessage(" loadEpisode (arg1)");
addMessage(" arg1 - имя эпизода");
addMessage(" unloadEpisode ()");
addMessage(" reloadEpisode ()");
addMessage(" prevEpisode ()");
addMessage(" nextEpisode ()");
addMessage(" startEpisode ()");
addMessage(" finishEpisode ()");
addMessage(" playEpisode ()");
addMessage(" replayEpisode ()");
addMessage(" winEpisode ()");
addMessage(" loseEpisode ()");
addMessage(" enableEpisode ()");
addMessage(" disableEpisode ()");
addMessage(" help ()");
addMessage(" clear ()");
addMessage(" quit ()");
addMessage(" exit ()");
break;
case "exit":
addHistory(((_local3 + " : ") + _local4));
visible = false;
break;
case "quit":
addHistory(((_local3 + " : ") + _local4));
visible = false;
break;
case "clear":
clearHistory();
break;
default:
if (_local3 != ""){
addHistory((("Unknown command '" + _local3) + "'."));
};
};
}
private function onCloseButtonClick(_arg1:MouseEvent):void{
hide();
}
private function onKeyboardKeyDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 67){
if (!visible){
show();
} else {
if (stage.focus != command_tf){
hide();
};
};
};
if (_arg1.keyCode == 13){
if (stage.focus == command_tf){
executeCommand(command_tf.text);
};
};
}
public static function get instance():Console{
return (_instance);
}
public static function gotoMenu():void{
GameApplication.instance.gotoMenu();
}
public static function gotoGame():void{
GameApplication.instance.gotoGame();
}
public static function registerEpisode(_arg1:Class, _arg2:uint):void{
if (Game.instance){
Game.instance.registerEpisode(_arg1, _arg2);
} else {
throw (new Error("[Console] : <registerEpisode> : Game instance isn't exists."));
};
}
public static function unregisterEpisode(_arg1:uint):void{
if (Game.instance){
Game.instance.unregisterEpisode(_arg1);
} else {
throw (new Error("[Console] : <unregisterEpisode> : Game instance isn't exists."));
};
}
public static function getCurrentEpisode():IEpisode{
if (Game.instance){
return (Game.instance.getCurrentEpisode());
};
throw (new Error("[Console] : <getCurrentEpisode> : Game instance isn't exists."));
}
public static function getCurrentEpisodeIndex():int{
if (Game.instance){
return (Game.instance.getCurrentEpisodeIndex());
};
throw (new Error("[Console] : <getCurrentEpisodeIndex> : Game instance isn't exists."));
}
public static function loadEpisode(_arg1:uint):void{
if (Game.instance){
Game.instance.loadEpisode(_arg1);
} else {
throw (new Error("[Console] : <loadEpisode> : Game instance isn't exists."));
};
}
public static function unloadEpisode():void{
if (Game.instance){
Game.instance.unloadEpisode();
} else {
throw (new Error("[Console] : <unloadEpisode> : Game instance isn't exists."));
};
}
public static function reloadEpisode():void{
if (Game.instance){
Game.instance.reloadEpisode();
} else {
throw (new Error("[Console] : <reloadEpisode> : Game instance isn't exists."));
};
}
public static function prevEpisode():void{
if (Game.instance){
Game.instance.prevEpisode();
} else {
throw (new Error("[Console] : <prevEpisode> : Game instance isn't exists."));
};
}
public static function nextEpisode():void{
if (Game.instance){
Game.instance.nextEpisode();
} else {
throw (new Error("[Console] : <nextEpisode> : Game instance isn't exists."));
};
}
public static function startEpisode():void{
if (Game.instance){
Game.instance.startEpisode();
} else {
throw (new Error("[Console] : <startEpisode> : Game instance isn't exists."));
};
}
public static function finishEpisode():void{
if (Game.instance){
Game.instance.finishEpisode();
} else {
throw (new Error("[Console] : <finishEpisode> : Game instance isn't exists."));
};
}
public static function playEpisode(_arg1:uint):void{
if (Game.instance){
Game.instance.loadEpisode(_arg1);
} else {
throw (new Error("[Console] : <playEpisode> : Game instance isn't exists."));
};
}
public static function replayEpisode():void{
if (Game.instance){
Game.instance.reloadEpisode();
} else {
throw (new Error("[Console] : <replayEpisode> : Game instance isn't exists."));
};
}
public static function winEpisode():void{
if (Game.instance){
Game.instance.getCurrentEpisode().win();
} else {
throw (new Error("[Console] : <winEpisode> : Game instance isn't exists."));
};
}
public static function loseEpisode():void{
if (Game.instance){
Game.instance.getCurrentEpisode().lose();
} else {
throw (new Error("[Console] : <loseEpisode> : Game instance isn't exists."));
};
}
public static function enableEpisode():void{
if (Game.instance){
Game.instance.getCurrentEpisode().action = true;
} else {
throw (new Error("[Console] : <enableEpisode> : Game instance isn't exists."));
};
}
public static function disableEpisode():void{
if (Game.instance){
Game.instance.getCurrentEpisode().action = false;
} else {
throw (new Error("[Console] : <disableEpisode> : Game instance isn't exists."));
};
}
public static function isPrevEpisode():Boolean{
if (Game.instance){
return (Game.instance.isPrevEpisode());
};
throw (new Error("[Console] : <isPrevEpisode> : Game instance isn't exists."));
}
public static function isNextEpisode():Boolean{
if (Game.instance){
return (Game.instance.isNextEpisode());
};
throw (new Error("[Console] : <isNextEpisode> : Game instance isn't exists."));
}
}
}//package aq.pcge.system
Section 42
//GameApplication (aq.pcge.GameApplication)
package aq.pcge {
import flash.display.*;
import aq.pcge.media.*;
import flash.events.*;
import aq.pcge.system.*;
import aq.pcge.common.*;
import flash.utils.*;
import flash.system.*;
public class GameApplication extends MovieClip {
public var allowRun:Boolean;
public var gameURL:String;
public var hostName:String;
public var no_http:String;
public var no_file:String;
private var _ready:Boolean;
public var preloader:MovieClip;
public var content:MovieClip;
public var console:Console;
public var message:MovieClip;
private var _menu:Screen;
private var _game:Screen;
private var _music:MusicPlayer;
public static const SCREEN_WIDTH:uint = 800;
public static const SCREEN_HEIGHT:uint = 480;
private static var _instance:GameApplication;
public static var gameMode:String = "normal";
public static var siteLock:Boolean = false;
public static var linksOut:Boolean = true;
public static var logoLink:String = "http://www.abroy.com";
public static var moreLink:String;
public static var helpLink:String;
public static var hostName:String = "abroy.com";
public static var gameName:String = "evolution";
public static var platform:String = "pc";
public static var link01:String;
public static var link02:String;
public static var link03:String;
public static var link04:String;
public static var link05:String;
public static var link06:String;
public static var link07:String;
public static var link08:String;
public static var link09:String;
public static var link10:String;
public static var link11:String;
public static var link12:String;
public function GameApplication(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
if (!_instance){
_instance = this;
} else {
throw (new Error("[GameApplication] : <GameApplication> : Only one instance of this class is allowed."));
};
}
public function showProgress(_arg1:ProgressEvent):void{
if (_arg1.bytesTotal <= 0){
return;
};
var _local2:Number = Math.floor(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100));
if (preloader){
preloader.preloadBar.gotoAndStop(_local2);
};
trace((((((_arg1.bytesLoaded + "/") + _arg1.bytesTotal) + " (") + _local2) + "%)"));
if (_arg1.bytesLoaded == _arg1.bytesTotal){
removeEventListener(ProgressEvent.PROGRESS, showProgress);
trace("[%] LOADING COMPLETE");
preloader.gotoAndPlay(2);
};
}
public function init():void{
var _local1:Class;
var _local2:Class;
if (!_ready){
_local1 = (getDefinitionByName("aq.pcge.menu.Menu") as Class);
_local2 = (getDefinitionByName("aq.pcge.game.Game") as Class);
_menu = new (_local1);
_game = new (_local2);
_music = new MusicPlayer();
_ready = true;
};
}
public function ready():Boolean{
return (_ready);
}
public function gotoMenu():void{
if (_ready){
if (content.numChildren){
if (content.getChildAt(0) != _menu){
_game.hide();
content.removeChildAt(0);
};
};
_music.mute = true;
_menu.show();
content.addChildAt(_menu, 0);
};
}
public function gotoGame():void{
if (_ready){
if (content.numChildren){
if (content.getChildAt(0) != _game){
_menu.hide();
content.removeChildAt(0);
};
};
_music.mute = false;
_game.show();
content.addChildAt(_game, 0);
};
}
function frame1(){
trace("+------------------------------------------------+");
trace("| LOADING |");
trace("+------------------------------------------------+");
stop();
Security.allowDomain("http://cdn3.cpmstar.com");
GameApplication.moreLink = "http://www.abroy.com/";
GameApplication.platform = "pc";
GameApplication.siteLock = false;
GameApplication.gameMode = "normal";
GameApplication.helpLink = "http://www.abroy.com/play/adventure-games/save-the-fairyland-walkthrough/";
GameApplication.link01 = "http://www.abroy.com/play/adventure-games/kindergarten-break-out/";
GameApplication.link02 = "http://www.abroy.com/play/adventure-games/sara-3/";
GameApplication.link03 = "http://www.abroy.com/play/adventure-games/world-of-steampunk/";
GameApplication.link04 = "http://www.abroy.com/play/adventure-games/escape-from-roswell/";
allowRun = true;
if (GameApplication.siteLock){
if (((!(GameApplication.hostName)) || (!(GameApplication.hostName.length)))){
throw (new Error("[GameApplication] : <GameApplication> : Critical Error (Wrong host name)."));
};
allowRun = false;
gameURL = loaderInfo.url;
if (gameURL.indexOf("http://") != -1){
no_http = gameURL.split("http://")[1];
hostName = no_http.split("/")[0];
} else {
no_file = gameURL.split("file:///")[1];
hostName = "localhost";
};
if (hostName.indexOf("www.") != -1){
hostName = hostName.split("www.")[1];
};
if (((hostName) && (hostName.length))){
if (hostName == GameApplication.hostName){
allowRun = true;
};
};
};
if (allowRun){
if ((((loaderInfo.bytesTotal > 0)) && ((loaderInfo.bytesLoaded == loaderInfo.bytesTotal)))){
trace((((loaderInfo.bytesLoaded + "/") + loaderInfo.bytesTotal) + " (100%)"));
trace("[%] LOADING COMPLETE");
preloader.gotoAndPlay(2);
} else {
loaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
};
} else {
if (preloader){
preloader.gotoAndStop(1);
};
visible = false;
};
}
function frame2(){
trace("+------------------------------------------------+");
trace("| EXPORTING CLASSES |");
trace("+------------------------------------------------+");
nextFrame();
}
function frame3(){
trace("+------------------------------------------------+");
trace("| ABROY PRESENTS |");
trace("+------------------------------------------------+");
stop();
}
function frame4(){
trace("+------------------------------------------------+");
trace("| RUNNING |");
trace("+------------------------------------------------+");
stop();
}
public static function get instance():GameApplication{
return (_instance);
}
}
}//package aq.pcge
Section 43
//PropTween (com.greensock.core.PropTween)
package com.greensock.core {
public final class PropTween {
public var priority:int;
public var start:Number;
public var prevNode:PropTween;
public var change:Number;
public var target:Object;
public var name:String;
public var property:String;
public var nextNode:PropTween;
public var isPlugin:Boolean;
public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){
this.target = _arg1;
this.property = _arg2;
this.start = _arg3;
this.change = _arg4;
this.name = _arg5;
this.isPlugin = _arg6;
if (_arg7){
_arg7.prevNode = this;
this.nextNode = _arg7;
};
this.priority = _arg8;
}
}
}//package com.greensock.core
Section 44
//SimpleTimeline (com.greensock.core.SimpleTimeline)
package com.greensock.core {
public class SimpleTimeline extends TweenCore {
public var autoRemoveChildren:Boolean;
protected var _lastChild:TweenCore;
protected var _firstChild:TweenCore;
public function SimpleTimeline(_arg1:Object=null){
super(0, _arg1);
}
public function get rawTime():Number{
return (this.cachedTotalTime);
}
public function insert(_arg1:TweenCore, _arg2=0):TweenCore{
var _local3:SimpleTimeline = _arg1.timeline;
if (((!(_arg1.cachedOrphan)) && (_local3))){
_local3.remove(_arg1, true);
};
_arg1.timeline = this;
_arg1.cachedStartTime = (Number(_arg2) + _arg1.delay);
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
if (((_arg1.cachedPaused) && (!((_local3 == this))))){
_arg1.cachedPauseTime = (_arg1.cachedStartTime + ((this.rawTime - _arg1.cachedStartTime) / _arg1.cachedTimeScale));
};
if (_lastChild){
_lastChild.nextNode = _arg1;
} else {
_firstChild = _arg1;
};
_arg1.prevNode = _lastChild;
_lastChild = _arg1;
_arg1.nextNode = null;
_arg1.cachedOrphan = false;
return (_arg1);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local5:Number;
var _local6:TweenCore;
var _local4:TweenCore = _firstChild;
this.cachedTotalTime = _arg1;
this.cachedTime = _arg1;
while (_local4) {
_local6 = _local4.nextNode;
if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){
if (!_local4.cachedReversed){
_local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration;
_local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false);
};
};
_local4 = _local6;
};
}
public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (_arg1.cachedOrphan){
return;
};
if (!_arg2){
_arg1.setEnabled(false, true);
};
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
} else {
if (_lastChild == _arg1){
_lastChild = _arg1.prevNode;
};
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_firstChild == _arg1){
_firstChild = _arg1.nextNode;
};
};
_arg1.cachedOrphan = true;
}
}
}//package com.greensock.core
Section 45
//TweenCore (com.greensock.core.TweenCore)
package com.greensock.core {
import com.greensock.*;
public class TweenCore {
public var initted:Boolean;
protected var _hasUpdate:Boolean;
public var active:Boolean;
protected var _delay:Number;
public var cachedReversed:Boolean;
public var nextNode:TweenCore;
public var cachedTime:Number;
protected var _rawPrevTime:Number;// = -1
public var vars:Object;
public var cachedTotalTime:Number;
public var data;
public var timeline:SimpleTimeline;
public var cachedOrphan:Boolean;
public var cachedStartTime:Number;
public var prevNode:TweenCore;
public var cachedDuration:Number;
public var gc:Boolean;
public var cachedPauseTime:Number;
public var cacheIsDirty:Boolean;
public var cachedPaused:Boolean;
public var cachedTimeScale:Number;
public var cachedTotalDuration:Number;
public static const version:Number = 1.693;
protected static var _classInitted:Boolean;
public function TweenCore(_arg1:Number=0, _arg2:Object=null){
this.vars = ((_arg2)!=null) ? _arg2 : {};
if (this.vars.isGSVars){
this.vars = this.vars.vars;
};
this.cachedDuration = (this.cachedTotalDuration = _arg1);
_delay = (this.vars.delay) ? Number(this.vars.delay) : 0;
this.cachedTimeScale = (this.vars.timeScale) ? Number(this.vars.timeScale) : 1;
this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false)))));
this.cachedTotalTime = (this.cachedTime = 0);
this.data = this.vars.data;
if (!_classInitted){
if (isNaN(TweenLite.rootFrame)){
TweenLite.initClass();
_classInitted = true;
} else {
return;
};
};
var _local3:SimpleTimeline = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline;
_local3.insert(this, _local3.cachedTotalTime);
if (this.vars.reversed){
this.cachedReversed = true;
};
if (this.vars.paused){
this.paused = true;
};
}
public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
}
public function get delay():Number{
return (_delay);
}
public function get duration():Number{
return (this.cachedDuration);
}
public function set reversed(_arg1:Boolean):void{
if (_arg1 != this.cachedReversed){
this.cachedReversed = _arg1;
setTotalTime(this.cachedTotalTime, true);
};
}
public function set startTime(_arg1:Number):void{
if (((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc))))){
this.timeline.insert(this, (_arg1 - _delay));
} else {
this.cachedStartTime = _arg1;
};
}
public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.reversed = false;
this.paused = false;
this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2);
}
public function set delay(_arg1:Number):void{
this.startTime = (this.startTime + (_arg1 - _delay));
_delay = _arg1;
}
public function resume():void{
this.paused = false;
}
public function get paused():Boolean{
return (this.cachedPaused);
}
public function play():void{
this.reversed = false;
this.paused = false;
}
public function set duration(_arg1:Number):void{
var _local2:Number = (_arg1 / this.cachedDuration);
this.cachedDuration = (this.cachedTotalDuration = _arg1);
setDirtyCache(true);
if (((((this.active) && (!(this.cachedPaused)))) && (!((_arg1 == 0))))){
this.setTotalTime((this.cachedTotalTime * _local2), true);
};
}
public function invalidate():void{
}
public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
if (!_arg1){
renderTime(this.totalDuration, _arg2, false);
return;
};
if (this.timeline.autoRemoveChildren){
this.setEnabled(false, false);
} else {
this.active = false;
};
if (!_arg2){
if (((((this.vars.onComplete) && ((this.cachedTotalTime >= this.cachedTotalDuration)))) && (!(this.cachedReversed)))){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
} else {
if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (this.vars.onReverseComplete))){
this.vars.onReverseComplete.apply(null, this.vars.onReverseCompleteParams);
};
};
};
}
public function get totalTime():Number{
return (this.cachedTotalTime);
}
public function get startTime():Number{
return (this.cachedStartTime);
}
public function get reversed():Boolean{
return (this.cachedReversed);
}
public function set currentTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
protected function setDirtyCache(_arg1:Boolean=true):void{
var _local2:TweenCore = (_arg1) ? this : this.timeline;
while (_local2) {
_local2.cacheIsDirty = true;
_local2 = _local2.timeline;
};
}
public function reverse(_arg1:Boolean=true):void{
this.reversed = true;
if (_arg1){
this.paused = false;
} else {
if (this.gc){
this.setEnabled(true, false);
};
};
}
public function set paused(_arg1:Boolean):void{
if (((!((_arg1 == this.cachedPaused))) && (this.timeline))){
if (_arg1){
this.cachedPauseTime = this.timeline.rawTime;
} else {
this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - this.cachedPauseTime));
this.cachedPauseTime = NaN;
setDirtyCache(false);
};
this.cachedPaused = _arg1;
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
};
if (((!(_arg1)) && (this.gc))){
this.setEnabled(true, false);
};
}
public function kill():void{
setEnabled(false, false);
}
public function set totalTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
public function get currentTime():Number{
return (this.cachedTime);
}
protected function setTotalTime(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
var _local4:Number;
if (this.timeline){
_local3 = (this.cachedPaused) ? this.cachedPauseTime : this.timeline.cachedTotalTime;
if (this.cachedReversed){
_local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
this.cachedStartTime = (_local3 - ((_local4 - _arg1) / this.cachedTimeScale));
} else {
this.cachedStartTime = (_local3 - (_arg1 / this.cachedTimeScale));
};
if (!this.timeline.cacheIsDirty){
setDirtyCache(false);
};
if (this.cachedTotalTime != _arg1){
renderTime(_arg1, _arg2, false);
};
};
}
public function pause():void{
this.paused = true;
}
public function set totalDuration(_arg1:Number):void{
this.duration = _arg1;
}
public function get totalDuration():Number{
return (this.cachedTotalDuration);
}
public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
this.gc = !(_arg1);
if (_arg1){
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
if (((!(_arg2)) && (this.cachedOrphan))){
this.timeline.insert(this, (this.cachedStartTime - _delay));
};
} else {
this.active = false;
if (((!(_arg2)) && (!(this.cachedOrphan)))){
this.timeline.remove(this, true);
};
};
return (false);
}
}
}//package com.greensock.core
Section 46
//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 47
//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 48
//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 49
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class AdLoader extends Sprite {
private var cpmstarLoader:Loader;
private var contentspotid:String;
public function AdLoader(_arg1:String){
this.contentspotid = _arg1;
addEventListener(Event.ADDED, addedHandler);
}
private function addedHandler(_arg1:Event):void{
removeEventListener(Event.ADDED, addedHandler);
Security.allowDomain("server.cpmstar.com");
var _local2 = "http://server.cpmstar.com/adviewas3.swf";
var _local3:DisplayObjectContainer = parent;
cpmstarLoader = new Loader();
cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler);
cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler);
cpmstarLoader.load(new URLRequest(((_local2 + "?contentspotid=") + contentspotid)));
addChild(cpmstarLoader);
}
private function dispatchHandler(_arg1:Event):void{
dispatchEvent(_arg1);
}
}
}//package CPMStar
Section 50
//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 51
//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 52
//AVFPSCounter_379 (PnC_Game_fla.AVFPSCounter_379)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import aq.pcge.*;
public dynamic class AVFPSCounter_379 extends MovieClip {
public var fps_tf:TextField;
public var time:uint;
public var sum:Number;
public var num:uint;
public function AVFPSCounter_379(){
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_Game_fla
Section 53
//cont_364 (PnC_Game_fla.cont_364)
package PnC_Game_fla {
import flash.display.*;
import flash.text.*;
public dynamic class cont_364 extends MovieClip {
public var history_tf:TextField;
public function cont_364(){
addFrameScript(0, frame1);
}
function frame1(){
history_tf.autoSize = "left";
}
}
}//package PnC_Game_fla
Section 54
//Content_360 (PnC_Game_fla.Content_360)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
import aq.pcge.*;
import aq.pcge.media.*;
public dynamic class Content_360 extends MovieClip {
public var em:EpisodesManager;
public function Content_360(){
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_Game_fla
Section 55
//Degradadotrama_358 (PnC_Game_fla.Degradadotrama_358)
package PnC_Game_fla {
import flash.display.*;
public dynamic class Degradadotrama_358 extends MovieClip {
public function Degradadotrama_358(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 56
//DustCloudGFX_17 (PnC_Game_fla.DustCloudGFX_17)
package PnC_Game_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_Game_fla
Section 57
//Exporter_8 (PnC_Game_fla.Exporter_8)
package PnC_Game_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_Game_fla
Section 58
//FPSCounter_380 (PnC_Game_fla.FPSCounter_380)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import aq.pcge.*;
public dynamic class FPSCounter_380 extends MovieClip {
public var fps_tf:TextField;
public var time:uint;
public function FPSCounter_380(){
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_Game_fla
Section 59
//HelpButton_339 (PnC_Game_fla.HelpButton_339)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class HelpButton_339 extends MovieClip {
public function HelpButton_339(){
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_Game_fla
Section 60
//julia_l2_use_lopata_90 (PnC_Game_fla.julia_l2_use_lopata_90)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import 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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class julia_l2_use_lopata_90 extends MovieClip {
public function julia_l2_use_lopata_90(){
addFrameScript(36, frame37, 53, frame54);
}
function frame37(){
MovieClip(parent.parent).pinokio.nextFrame();
}
function frame54(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game_fla
Section 61
//julia_l2_use_sikator_89 (PnC_Game_fla.julia_l2_use_sikator_89)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import 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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class julia_l2_use_sikator_89 extends MovieClip {
public function julia_l2_use_sikator_89(){
addFrameScript(19, frame20, 27, frame28, 35, frame36, 50, frame51);
}
function frame20(){
MovieClip(parent.parent).pinokio.pinokio.l2_body_head.l2_kost1.visible = false;
}
function frame28(){
MovieClip(parent.parent).pinokio.pinokio.l2_body_head.l2_kost2.visible = false;
}
function frame36(){
MovieClip(parent.parent).pinokio.pinokio.l2_body_head.l2_kost3.visible = false;
}
function frame51(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game_fla
Section 62
//julia_l4_use_vedro_91 (PnC_Game_fla.julia_l4_use_vedro_91)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class julia_l4_use_vedro_91 extends MovieClip {
public function julia_l4_use_vedro_91(){
addFrameScript(164, frame165);
}
function frame165(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game_fla
Section 63
//julia_l6_use_flamingo_93 (PnC_Game_fla.julia_l6_use_flamingo_93)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import 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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class julia_l6_use_flamingo_93 extends MovieClip {
public function julia_l6_use_flamingo_93(){
addFrameScript(41, frame42, 50, frame51);
}
function frame42(){
MovieClip(parent.parent).knife.play();
}
function frame51(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game_fla
Section 64
//julia_l7_jump_96 (PnC_Game_fla.julia_l7_jump_96)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import 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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class julia_l7_jump_96 extends MovieClip {
public function julia_l7_jump_96(){
addFrameScript(30, frame31, 118, frame119);
}
function frame31(){
MovieClip(parent.parent).wolf.gotoAndStop(2);
}
function frame119(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game_fla
Section 65
//julia_refuse_88 (PnC_Game_fla.julia_refuse_88)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class julia_refuse_88 extends MovieClip {
public function julia_refuse_88(){
addFrameScript(15, frame16);
}
function frame16(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game_fla
Section 66
//julia_take_84 (PnC_Game_fla.julia_take_84)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class julia_take_84 extends MovieClip {
public function julia_take_84(){
addFrameScript(9, frame10, 19, frame20);
}
function frame10(){
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_KEYFRAME, true));
}
function frame20(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game_fla
Section 67
//julia_take_up_85 (PnC_Game_fla.julia_take_up_85)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class julia_take_up_85 extends MovieClip {
public function julia_take_up_85(){
addFrameScript(9, frame10, 19, frame20);
}
function frame10(){
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_KEYFRAME, true));
}
function frame20(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game_fla
Section 68
//julia_use_down_86 (PnC_Game_fla.julia_use_down_86)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class julia_use_down_86 extends MovieClip {
public function julia_use_down_86(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game_fla
Section 69
//julia_use_up_87 (PnC_Game_fla.julia_use_up_87)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
public dynamic class julia_use_up_87 extends MovieClip {
public function julia_use_up_87(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
dispatchEvent(new CharacterEvent(CharacterEvent.ANIM_COMPLETE, true));
}
}
}//package PnC_Game_fla
Section 70
//l1_cat_all_319 (PnC_Game_fla.l1_cat_all_319)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l1_cat_all_319 extends MovieClip {
public function l1_cat_all_319(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 71
//l1_cat_walk_anim_327 (PnC_Game_fla.l1_cat_walk_anim_327)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l1_cat_walk_anim_327 extends MovieClip {
public function l1_cat_walk_anim_327(){
addFrameScript(11, frame12, 33, frame34, 77, frame78);
}
function frame12(){
MovieClip(parent.parent).hero.turnOn("left");
}
function frame34(){
MovieClip(parent.parent).goWin2();
}
function frame78(){
stop();
}
}
}//package PnC_Game_fla
Section 72
//l2_pinokio_all_295 (PnC_Game_fla.l2_pinokio_all_295)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l2_pinokio_all_295 extends MovieClip {
public var pinokio:MovieClip;
public function l2_pinokio_all_295(){
addFrameScript(0, frame1, 18, frame19, 37, frame38, 38, frame39);
}
function frame1(){
stop();
}
function frame19(){
pinokio.kora.visible = false;
pinokio.l2_arm2.kora.visible = false;
pinokio.l2_arm1.kora.visible = false;
pinokio.l2_body_head.kora.visible = false;
}
function frame38(){
stop();
}
function frame39(){
stop();
MovieClip(parent).goWin2();
}
}
}//package PnC_Game_fla
Section 73
//l2_pinokio_anim_306 (PnC_Game_fla.l2_pinokio_anim_306)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l2_pinokio_anim_306 extends MovieClip {
public var l2_boy:MovieClip;
public function l2_pinokio_anim_306(){
addFrameScript(71, frame72);
}
function frame72(){
stop();
}
}
}//package PnC_Game_fla
Section 74
//l3_arm_268 (PnC_Game_fla.l3_arm_268)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l3_arm_268 extends MovieClip {
public function l3_arm_268(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 75
//l3_drovosek_all_273 (PnC_Game_fla.l3_drovosek_all_273)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l3_drovosek_all_273 extends MovieClip {
public var robot:MovieClip;
public function l3_drovosek_all_273(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 76
//l3_drovosek_walk_287 (PnC_Game_fla.l3_drovosek_walk_287)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l3_drovosek_walk_287 extends MovieClip {
public var l3_drovosek_arm2:MovieClip;
public function l3_drovosek_walk_287(){
addFrameScript(21, frame22);
}
function frame22(){
gotoAndPlay(5);
}
}
}//package PnC_Game_fla
Section 77
//l3_drovosek_walk_anim_286 (PnC_Game_fla.l3_drovosek_walk_anim_286)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l3_drovosek_walk_anim_286 extends MovieClip {
public var l3_drovosek:MovieClip;
public function l3_drovosek_walk_anim_286(){
addFrameScript(16, frame17, 39, frame40, 75, frame76);
}
function frame17(){
MovieClip(parent.parent).hero.turnOn("left");
}
function frame40(){
MovieClip(parent.parent).goWin2();
}
function frame76(){
stop();
}
}
}//package PnC_Game_fla
Section 78
//l4_bobi_227 (PnC_Game_fla.l4_bobi_227)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l4_bobi_227 extends MovieClip {
public function l4_bobi_227(){
addFrameScript(0, frame1, 153, frame154);
}
function frame1(){
stop();
}
function frame154(){
stop();
MovieClip(parent).goWin2();
}
}
}//package PnC_Game_fla
Section 79
//l4_kolonka_225 (PnC_Game_fla.l4_kolonka_225)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_kolonka_225 extends MovieClip {
public function l4_kolonka_225(){
addFrameScript(0, frame1, 1, frame2, 15, frame16, 16, frame17);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame16(){
stop();
}
function frame17(){
stop();
}
}
}//package PnC_Game_fla
Section 80
//l4_puzzle_anim_235 (PnC_Game_fla.l4_puzzle_anim_235)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l4_puzzle_anim_235 extends MovieClip {
public var puzzle:MovieClip;
public function l4_puzzle_anim_235(){
addFrameScript(0, frame1, 10, frame11, 20, frame21);
}
function frame1(){
stop();
}
function frame11(){
stop();
}
function frame21(){
stop();
MovieClip(parent).action = true;
MovieClip(parent).hydrant.play();
}
}
}//package PnC_Game_fla
Section 81
//l4_puzzle_part1_242 (PnC_Game_fla.l4_puzzle_part1_242)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part1_242 extends MovieClip {
public function l4_puzzle_part1_242(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 82
//l4_puzzle_part10_260 (PnC_Game_fla.l4_puzzle_part10_260)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part10_260 extends MovieClip {
public function l4_puzzle_part10_260(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 83
//l4_puzzle_part11_246 (PnC_Game_fla.l4_puzzle_part11_246)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part11_246 extends MovieClip {
public function l4_puzzle_part11_246(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 84
//l4_puzzle_part12_251 (PnC_Game_fla.l4_puzzle_part12_251)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part12_251 extends MovieClip {
public function l4_puzzle_part12_251(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 85
//l4_puzzle_part13_255 (PnC_Game_fla.l4_puzzle_part13_255)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part13_255 extends MovieClip {
public function l4_puzzle_part13_255(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 86
//l4_puzzle_part14_263 (PnC_Game_fla.l4_puzzle_part14_263)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part14_263 extends MovieClip {
public function l4_puzzle_part14_263(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 87
//l4_puzzle_part15_264 (PnC_Game_fla.l4_puzzle_part15_264)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part15_264 extends MovieClip {
public function l4_puzzle_part15_264(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 88
//l4_puzzle_part16_243 (PnC_Game_fla.l4_puzzle_part16_243)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part16_243 extends MovieClip {
public function l4_puzzle_part16_243(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 89
//l4_puzzle_part17_245 (PnC_Game_fla.l4_puzzle_part17_245)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part17_245 extends MovieClip {
public function l4_puzzle_part17_245(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 90
//l4_puzzle_part18_253 (PnC_Game_fla.l4_puzzle_part18_253)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part18_253 extends MovieClip {
public function l4_puzzle_part18_253(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 91
//l4_puzzle_part19_261 (PnC_Game_fla.l4_puzzle_part19_261)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part19_261 extends MovieClip {
public function l4_puzzle_part19_261(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 92
//l4_puzzle_part2_247 (PnC_Game_fla.l4_puzzle_part2_247)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part2_247 extends MovieClip {
public function l4_puzzle_part2_247(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 93
//l4_puzzle_part20_262 (PnC_Game_fla.l4_puzzle_part20_262)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part20_262 extends MovieClip {
public function l4_puzzle_part20_262(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 94
//l4_puzzle_part21_244 (PnC_Game_fla.l4_puzzle_part21_244)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part21_244 extends MovieClip {
public function l4_puzzle_part21_244(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 95
//l4_puzzle_part22_240 (PnC_Game_fla.l4_puzzle_part22_240)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part22_240 extends MovieClip {
public function l4_puzzle_part22_240(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 96
//l4_puzzle_part23_257 (PnC_Game_fla.l4_puzzle_part23_257)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part23_257 extends MovieClip {
public function l4_puzzle_part23_257(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 97
//l4_puzzle_part24_256 (PnC_Game_fla.l4_puzzle_part24_256)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part24_256 extends MovieClip {
public function l4_puzzle_part24_256(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 98
//l4_puzzle_part25_254 (PnC_Game_fla.l4_puzzle_part25_254)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part25_254 extends MovieClip {
public function l4_puzzle_part25_254(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 99
//l4_puzzle_part3_258 (PnC_Game_fla.l4_puzzle_part3_258)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part3_258 extends MovieClip {
public function l4_puzzle_part3_258(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 100
//l4_puzzle_part4_248 (PnC_Game_fla.l4_puzzle_part4_248)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part4_248 extends MovieClip {
public function l4_puzzle_part4_248(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 101
//l4_puzzle_part5_252 (PnC_Game_fla.l4_puzzle_part5_252)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part5_252 extends MovieClip {
public function l4_puzzle_part5_252(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 102
//l4_puzzle_part6_238 (PnC_Game_fla.l4_puzzle_part6_238)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part6_238 extends MovieClip {
public function l4_puzzle_part6_238(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 103
//l4_puzzle_part7_250 (PnC_Game_fla.l4_puzzle_part7_250)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part7_250 extends MovieClip {
public function l4_puzzle_part7_250(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 104
//l4_puzzle_part8_259 (PnC_Game_fla.l4_puzzle_part8_259)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part8_259 extends MovieClip {
public function l4_puzzle_part8_259(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 105
//l4_puzzle_part9_249 (PnC_Game_fla.l4_puzzle_part9_249)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l4_puzzle_part9_249 extends MovieClip {
public function l4_puzzle_part9_249(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 106
//l5_boy_all_206 (PnC_Game_fla.l5_boy_all_206)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l5_boy_all_206 extends MovieClip {
public function l5_boy_all_206(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game_fla
Section 107
//l5_boy_shoot_214 (PnC_Game_fla.l5_boy_shoot_214)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l5_boy_shoot_214 extends MovieClip {
public function l5_boy_shoot_214(){
addFrameScript(19, frame20, 26, frame27);
}
function frame20(){
if (MovieClip(parent.parent).stone.currentFrame == 13){
MovieClip(parent.parent).chicks.gotoAndStop(3);
} else {
MovieClip(parent.parent).chicks.gotoAndStop(2);
};
}
function frame27(){
stop();
}
}
}//package PnC_Game_fla
Section 108
//l5_boy_walk_anim_217 (PnC_Game_fla.l5_boy_walk_anim_217)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l5_boy_walk_anim_217 extends MovieClip {
public function l5_boy_walk_anim_217(){
addFrameScript(85, frame86);
}
function frame86(){
stop();
}
}
}//package PnC_Game_fla
Section 109
//l5_girl_202 (PnC_Game_fla.l5_girl_202)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l5_girl_202 extends MovieClip {
public function l5_girl_202(){
addFrameScript(10, frame11);
}
function frame11(){
stop();
MovieClip(parent.parent).refuseDie();
}
}
}//package PnC_Game_fla
Section 110
//l5_girl_203 (PnC_Game_fla.l5_girl_203)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l5_girl_203 extends MovieClip {
public function l5_girl_203(){
addFrameScript(1, frame2, 23, frame24, 67, frame68);
}
function frame2(){
MovieClip(parent.parent).dude.gotoAndStop(3);
}
function frame24(){
MovieClip(parent.parent).goWin2();
}
function frame68(){
stop();
}
}
}//package PnC_Game_fla
Section 111
//l5_girl_all_194 (PnC_Game_fla.l5_girl_all_194)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l5_girl_all_194 extends MovieClip {
public function l5_girl_all_194(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
}
}//package PnC_Game_fla
Section 112
//l5_rock_door_192 (PnC_Game_fla.l5_rock_door_192)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l5_rock_door_192 extends MovieClip {
public function l5_rock_door_192(){
addFrameScript(0, frame1, 1, frame2, 12, frame13);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame13(){
stop();
}
}
}//package PnC_Game_fla
Section 113
//l6_alisa_all_168 (PnC_Game_fla.l6_alisa_all_168)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l6_alisa_all_168 extends MovieClip {
public function l6_alisa_all_168(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 114
//l6_alisa_walk_183 (PnC_Game_fla.l6_alisa_walk_183)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l6_alisa_walk_183 extends MovieClip {
public function l6_alisa_walk_183(){
addFrameScript(52, frame53);
}
function frame53(){
gotoAndPlay(22);
}
}
}//package PnC_Game_fla
Section 115
//l6_alisa_vin_182 (PnC_Game_fla.l6_alisa_vin_182)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l6_alisa_vin_182 extends MovieClip {
public function l6_alisa_vin_182(){
addFrameScript(92, frame93);
}
function frame93(){
stop();
MovieClip(parent.parent).goWin2();
}
}
}//package PnC_Game_fla
Section 116
//l6_knife_anim_165 (PnC_Game_fla.l6_knife_anim_165)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l6_knife_anim_165 extends MovieClip {
public function l6_knife_anim_165(){
addFrameScript(0, frame1, 8, frame9);
}
function frame1(){
stop();
}
function frame9(){
stop();
}
}
}//package PnC_Game_fla
Section 117
//l7_door_anim_118 (PnC_Game_fla.l7_door_anim_118)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l7_door_anim_118 extends MovieClip {
public function l7_door_anim_118(){
addFrameScript(0, frame1, 15, frame16);
}
function frame1(){
stop();
}
function frame16(){
stop();
}
}
}//package PnC_Game_fla
Section 118
//l7_stol_153 (PnC_Game_fla.l7_stol_153)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l7_stol_153 extends MovieClip {
public function l7_stol_153(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 31, frame32);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame32(){
stop();
}
}
}//package PnC_Game_fla
Section 119
//l7_wolf_all_125 (PnC_Game_fla.l7_wolf_all_125)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l7_wolf_all_125 extends MovieClip {
public var wolf:MovieClip;
public function l7_wolf_all_125(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 120
//L7_wolf_die_138 (PnC_Game_fla.L7_wolf_die_138)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L7_wolf_die_138 extends MovieClip {
public var l7_wolf_skakalka:MovieClip;
public var l7_wolf_sharf:MovieClip;
public function L7_wolf_die_138(){
addFrameScript(1, frame2, 45, frame46);
}
function frame2(){
MovieClip(parent.parent).door.play();
}
function frame46(){
stop();
}
}
}//package PnC_Game_fla
Section 121
//l8_cvetok_62 (PnC_Game_fla.l8_cvetok_62)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_cvetok_62 extends MovieClip {
public function l8_cvetok_62(){
addFrameScript(0, frame1, 28, frame29);
}
function frame1(){
stop();
}
function frame29(){
stop();
}
}
}//package PnC_Game_fla
Section 122
//l8_fireplace_55 (PnC_Game_fla.l8_fireplace_55)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_fireplace_55 extends MovieClip {
public function l8_fireplace_55(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 123
//l8_krupi_52 (PnC_Game_fla.l8_krupi_52)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_krupi_52 extends MovieClip {
public function l8_krupi_52(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 124
//l8_puzzle_anim_97 (PnC_Game_fla.l8_puzzle_anim_97)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l8_puzzle_anim_97 extends MovieClip {
public var puzzle:MovieClip;
public function l8_puzzle_anim_97(){
addFrameScript(0, frame1, 9, frame10, 10, frame11, 19, frame20);
}
function frame1(){
stop();
}
function frame10(){
stop();
}
function frame11(){
MovieClip(parent).cinderella.gotoAndStop(2);
}
function frame20(){
stop();
}
}
}//package PnC_Game_fla
Section 125
//l8_puzzle_part1_99 (PnC_Game_fla.l8_puzzle_part1_99)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part1_99 extends MovieClip {
public function l8_puzzle_part1_99(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 126
//l8_puzzle_part10_108 (PnC_Game_fla.l8_puzzle_part10_108)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part10_108 extends MovieClip {
public function l8_puzzle_part10_108(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 127
//l8_puzzle_part11_109 (PnC_Game_fla.l8_puzzle_part11_109)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part11_109 extends MovieClip {
public function l8_puzzle_part11_109(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 128
//l8_puzzle_part12_110 (PnC_Game_fla.l8_puzzle_part12_110)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part12_110 extends MovieClip {
public function l8_puzzle_part12_110(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 129
//l8_puzzle_part13_111 (PnC_Game_fla.l8_puzzle_part13_111)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part13_111 extends MovieClip {
public function l8_puzzle_part13_111(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 130
//l8_puzzle_part14_112 (PnC_Game_fla.l8_puzzle_part14_112)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part14_112 extends MovieClip {
public function l8_puzzle_part14_112(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 131
//l8_puzzle_part15_113 (PnC_Game_fla.l8_puzzle_part15_113)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part15_113 extends MovieClip {
public function l8_puzzle_part15_113(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 132
//l8_puzzle_part2_100 (PnC_Game_fla.l8_puzzle_part2_100)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part2_100 extends MovieClip {
public function l8_puzzle_part2_100(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 133
//l8_puzzle_part3_101 (PnC_Game_fla.l8_puzzle_part3_101)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part3_101 extends MovieClip {
public function l8_puzzle_part3_101(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 134
//l8_puzzle_part4_102 (PnC_Game_fla.l8_puzzle_part4_102)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part4_102 extends MovieClip {
public function l8_puzzle_part4_102(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 135
//l8_puzzle_part5_103 (PnC_Game_fla.l8_puzzle_part5_103)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part5_103 extends MovieClip {
public function l8_puzzle_part5_103(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 136
//l8_puzzle_part6_104 (PnC_Game_fla.l8_puzzle_part6_104)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part6_104 extends MovieClip {
public function l8_puzzle_part6_104(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 137
//l8_puzzle_part7_105 (PnC_Game_fla.l8_puzzle_part7_105)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part7_105 extends MovieClip {
public function l8_puzzle_part7_105(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 138
//l8_puzzle_part8_106 (PnC_Game_fla.l8_puzzle_part8_106)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part8_106 extends MovieClip {
public function l8_puzzle_part8_106(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 139
//l8_puzzle_part9_107 (PnC_Game_fla.l8_puzzle_part9_107)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_puzzle_part9_107 extends MovieClip {
public function l8_puzzle_part9_107(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package PnC_Game_fla
Section 140
//l8_z_body_70 (PnC_Game_fla.l8_z_body_70)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_z_body_70 extends MovieClip {
public function l8_z_body_70(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 141
//l8_z_body_happy_76 (PnC_Game_fla.l8_z_body_happy_76)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_z_body_happy_76 extends MovieClip {
public function l8_z_body_happy_76(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 142
//l8_z_happy_anim_71 (PnC_Game_fla.l8_z_happy_anim_71)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class l8_z_happy_anim_71 extends MovieClip {
public function l8_z_happy_anim_71(){
addFrameScript(20, frame21, 71, frame72);
}
function frame21(){
MovieClip(parent.parent).goWin2();
}
function frame72(){
stop();
}
}
}//package PnC_Game_fla
Section 143
//l8_z_head_73 (PnC_Game_fla.l8_z_head_73)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_z_head_73 extends MovieClip {
public function l8_z_head_73(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 144
//l8_z_leg1_67 (PnC_Game_fla.l8_z_leg1_67)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_z_leg1_67 extends MovieClip {
public function l8_z_leg1_67(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 145
//l8_z_leg2_68 (PnC_Game_fla.l8_z_leg2_68)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_z_leg2_68 extends MovieClip {
public function l8_z_leg2_68(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 146
//l8_zolushka_64 (PnC_Game_fla.l8_zolushka_64)
package PnC_Game_fla {
import flash.display.*;
public dynamic class l8_zolushka_64 extends MovieClip {
public function l8_zolushka_64(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 147
//Logo_33 (PnC_Game_fla.Logo_33)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class Logo_33 extends MovieClip {
public function Logo_33(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
navigateToURL(new URLRequest("http://www.abroy.com"), "_blank");
} catch(error:Error) {
};
}
function frame1(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game_fla
Section 148
//MEMCounter_378 (PnC_Game_fla.MEMCounter_378)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import aq.pcge.*;
import flash.system.*;
public dynamic class MEMCounter_378 extends MovieClip {
public var mem_tf:TextField;
public var mb:uint;
public function MEMCounter_378(){
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_Game_fla
Section 149
//Message_376 (PnC_Game_fla.Message_376)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import aq.pcge.*;
import flash.net.*;
import 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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Message_376 extends MovieClip {
public function Message_376(){
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_Game_fla
Section 150
//MJLogo_350 (PnC_Game_fla.MJLogo_350)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class MJLogo_350 extends MovieClip {
public function MJLogo_350(){
addFrameScript(0, frame1);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
navigateToURL(new URLRequest("http://www.minijuegos.com"), "_blank");
} catch(error:Error) {
};
}
function frame1(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
}
}//package PnC_Game_fla
Section 151
//MoreGamesButton_347 (PnC_Game_fla.MoreGamesButton_347)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class MoreGamesButton_347 extends MovieClip {
public function MoreGamesButton_347(){
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_Game_fla
Section 152
//MoreGamesButton_352 (PnC_Game_fla.MoreGamesButton_352)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import aq.pcge.*;
import flash.net.*;
public dynamic class MoreGamesButton_352 extends MovieClip {
public function MoreGamesButton_352(){
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_Game_fla
Section 153
//MuteButton_340 (PnC_Game_fla.MuteButton_340)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
public dynamic class MuteButton_340 extends MovieClip {
public function MuteButton_340(){
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_Game_fla
Section 154
//Nuevo_final_1_MINIJUEGOS_anim_354 (PnC_Game_fla.Nuevo_final_1_MINIJUEGOS_anim_354)
package PnC_Game_fla {
import flash.display.*;
public dynamic class Nuevo_final_1_MINIJUEGOS_anim_354 extends MovieClip {
public var maskedobject:MovieClip;
public var themask:MovieClip;
public function Nuevo_final_1_MINIJUEGOS_anim_354(){
addFrameScript(52, frame53, 134, frame135);
}
function frame53(){
maskedobject.mask = themask;
maskedobject.cacheAsBitmap = true;
themask.cacheAsBitmap = true;
}
function frame135(){
stop();
MovieClip(parent).nextFrame();
}
}
}//package PnC_Game_fla
Section 155
//OptBackButton_10 (PnC_Game_fla.OptBackButton_10)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
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.system.*;
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_Game_fla
Section 156
//OptHelpButton_11 (PnC_Game_fla.OptHelpButton_11)
package PnC_Game_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_Game_fla
Section 157
//OptionsButton_341 (PnC_Game_fla.OptionsButton_341)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
public dynamic class OptionsButton_341 extends MovieClip {
public function OptionsButton_341(){
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_Game_fla
Section 158
//OptMenuButton_12 (PnC_Game_fla.OptMenuButton_12)
package PnC_Game_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_Game_fla
Section 159
//OptMuteButton_14 (PnC_Game_fla.OptMuteButton_14)
package PnC_Game_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_Game_fla
Section 160
//PlayButton_19 (PnC_Game_fla.PlayButton_19)
package PnC_Game_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_Game_fla
Section 161
//PlayButton_351 (PnC_Game_fla.PlayButton_351)
package PnC_Game_fla {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import aq.pcge.*;
public dynamic class PlayButton_351 extends MovieClip {
public function PlayButton_351(){
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_Game_fla
Section 162
//PlayButton_5 (PnC_Game_fla.PlayButton_5)
package PnC_Game_fla {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class PlayButton_5 extends MovieClip {
public function PlayButton_5(){
addFrameScript(0, frame1, 9, frame10);
}
public function onClick(_arg1:MouseEvent):void{
var _local2 = root;
_local2["gotoAndPlay"](2);
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
function frame10(){
stop();
}
}
}//package PnC_Game_fla
Section 163
//PlayButtonBg_4 (PnC_Game_fla.PlayButtonBg_4)
package PnC_Game_fla {
import flash.display.*;
public dynamic class PlayButtonBg_4 extends MovieClip {
public function PlayButtonBg_4(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package PnC_Game_fla
Section 164
//POSMonitor_377 (PnC_Game_fla.POSMonitor_377)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import aq.pcge.*;
public dynamic class POSMonitor_377 extends MovieClip {
public var x_tf:TextField;
public var y_tf:TextField;
public function POSMonitor_377(){
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_Game_fla
Section 165
//PreloadBar_2 (PnC_Game_fla.PreloadBar_2)
package PnC_Game_fla {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class PreloadBar_2 extends MovieClip {
public function PreloadBar_2(){
addFrameScript(0, frame1, 99, frame100);
}
function frame1(){
stop();
}
function frame100(){
stop();
root["preloader"].gotoAndPlay(2);
}
}
}//package PnC_Game_fla
Section 166
//Preloader_1 (PnC_Game_fla.Preloader_1)
package PnC_Game_fla {
import flash.display.*;
import CPMStar.*;
public dynamic class Preloader_1 extends MovieClip {
public var adBox:MovieClip;
public var preloadBar:MovieClip;
public var CPMStarContentSpotID:String;
public var ad:DisplayObject;
public function Preloader_1(){
addFrameScript(0, frame1, 38, frame39);
}
function frame1(){
stop();
CPMStarContentSpotID = "9896QDBB97351";
ad = new AdLoader(CPMStarContentSpotID);
adBox.addChild(ad);
}
function frame39(){
stop();
}
}
}//package PnC_Game_fla
Section 167
//Episode_01 (Episode_01)
package {
import aq.pcge.game.*;
public dynamic class Episode_01 extends Episode {
public function Episode_01(){
addFrameScript(0, frame1);
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnTo(330);
hero.moveTo(330, hero.y, function (){
hero.turnOn("right");
dropItem("hat");
dropItem("shoes");
dropItem("beltSword");
hero.playAnim("use_up", function (){
cat.gotoAndStop(2);
action = false;
heroIdle();
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
cat.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("shoe1", Item_Shoe);
registerItem("shoe2", Item_Shoe);
registerItem("shoes", Item_Shoes);
registerItem("hat", Item_Hat);
registerItem("sword", Item_Sword);
registerItem("belt", Item_Belt);
registerItem("beltSword", Item_BeltSword);
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("sword", sword, function (){
if (((hasItem("sword")) && (hasItem("belt")))){
makeItem("beltSword", ["sword", "belt"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "do1", 30, 30);
}});
addNewActivator("belt", belt, {onClick:function ():void{
action = false;
heroFindItem("belt", belt, function (){
if (((hasItem("sword")) && (hasItem("belt")))){
makeItem("beltSword", ["sword", "belt"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "belt", 30, 30);
}});
addNewActivator("hat", hat, {onClick:function ():void{
action = false;
heroFindItem("hat", hat, function (){
action = true;
}, "take_up", "hat", 30, 30);
}});
addNewActivator("shoe1", shoe1, {onClick:function ():void{
action = false;
heroFindItem("shoe1", shoe1, function (){
if (((hasItem("shoe1")) && (hasItem("shoe2")))){
makeItem("shoes", ["shoe1", "shoe2"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "shoe1", 30, 30);
}});
addNewActivator("shoe2", shoe2, {onClick:function ():void{
action = false;
heroFindItem("shoe2", shoe2, function (){
if (((hasItem("shoe1")) && (hasItem("shoe2")))){
makeItem("shoes", ["shoe1", "shoe2"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "shoe2", 30, 30);
}});
addNewActivator("cat", cat, {onClick:function ():void{
if (((((hasItem("hat")) && (hasItem("shoes")))) && (hasItem("beltSword")))){
goWin();
} else {
heroRefuse();
};
}});
heroIdle();
start();
}
}
}//package
Section 168
//Episode_02 (Episode_02)
package {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import 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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_02 extends Episode {
public var koraOk;
public var leavesOk;
public function Episode_02(){
addFrameScript(0, frame1);
}
public function koraAway():void{
action = false;
hero.playAnim("walk");
hero.turnTo(460);
hero.moveTo(460, hero.y, function (){
hero.turnOn("right");
dropItem("rubanok");
hero.playAnim("use_up", function (){
pinokio.play();
action = true;
heroIdle();
});
});
}
public function leavesAway():void{
action = false;
hero.playAnim("walk");
hero.turnTo(460);
hero.moveTo(460, hero.y, function (){
hero.turnOn("right");
dropItem("tool");
hero.playAnim("l2_use_sikator", function (){
action = true;
heroIdle();
});
});
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnTo(460);
hero.moveTo(460, hero.y, function (){
hero.turnOn("right");
dropItem("shovel");
hero.playAnim("l2_use_lopata", function (){
goWin2();
action = false;
heroIdle();
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
pinokio.pinokio.kora.visible = true;
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("part1", Item_Part1);
registerItem("part2", Item_Part2);
registerItem("shovel", Item_Shovel);
registerItem("rubanok", Item_Rubanok);
registerItem("tool", Item_Tool);
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("part1", part1, function (){
if (((hasItem("part1")) && (hasItem("part2")))){
makeItem("shovel", ["part1", "part2"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "do1", 30, 30);
}});
addNewActivator("part2", part2, {onClick:function ():void{
action = false;
heroFindItem("part2", part2, function (){
if (((hasItem("part1")) && (hasItem("part2")))){
makeItem("shovel", ["part1", "part2"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "part2", 30, 30);
}});
addNewActivator("rubanok", rubanok, {onClick:function ():void{
action = false;
heroFindItem("rubanok", rubanok, function (){
action = true;
}, "take_up", "rubanok", 30, 30);
}});
addNewActivator("tool", tool, {onClick:function ():void{
action = false;
heroFindItem("tool", tool, function (){
action = true;
}, "take_up", "tool", 30, 30);
}});
koraOk = false;
leavesOk = false;
addNewActivator("pinokio", pinokio, {onClick:function ():void{
if (hasItem("rubanok")){
koraAway();
koraOk = true;
} else {
if (hasItem("tool")){
leavesAway();
leavesOk = true;
} else {
if (((((hasItem("shovel")) && (koraOk))) && (leavesOk))){
goWin();
} else {
heroRefuse();
};
};
};
}});
heroIdle();
start();
}
}
}//package
Section 169
//Episode_03 (Episode_03)
package {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import 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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_03 extends Episode {
public var armPlaced;
public function Episode_03(){
addFrameScript(0, frame1);
}
public function placeArm():void{
action = false;
hero.playAnim("walk");
hero.turnTo(270);
hero.moveTo(270, hero.y, function (){
hero.turnOn("right");
dropItem("sawArm");
hero.playAnim("use_up", function (){
robot.robot.l3_drovosek_arm2.visible = true;
action = true;
heroIdle();
});
});
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnTo(270);
hero.moveTo(270, hero.y, function (){
hero.turnOn("right");
dropItem("oil");
hero.playAnim("use_up", function (){
robot.nextFrame();
action = true;
heroIdle();
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
robot.robot.l3_drovosek_arm2.visible = false;
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("arm", Item_Arm);
registerItem("fuel", Item_Fuel);
registerItem("oil", Item_Oil);
registerItem("saw", Item_Saw);
registerItem("sawArm", Item_SawArm);
registerItem("sawOn", Item_SawOn);
registerItem("screwdriver", Item_Screwdriver);
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("screwdriver", screwdriver, function (){
action = true;
}, "take_up", "do1", 30, 30);
}});
addNewActivator("saw", saw, {onClick:function ():void{
action = false;
heroFindItem("saw", saw, function (){
if (((hasItem("saw")) && (hasItem("fuel")))){
makeItem("sawOn", ["saw", "fuel"], function ():void{
if (((hasItem("sawOn")) && (hasItem("arm")))){
makeItem("sawArm", ["sawOn", "arm"], function ():void{
action = true;
});
} else {
action = true;
};
});
} else {
action = true;
};
}, "take", "saw", 30, 30);
}});
addNewActivator("fuel", fuel, {onClick:function ():void{
action = false;
heroFindItem("fuel", fuel, function (){
if (((hasItem("saw")) && (hasItem("fuel")))){
makeItem("sawOn", ["saw", "fuel"], function ():void{
if (((hasItem("sawOn")) && (hasItem("arm")))){
makeItem("sawArm", ["sawOn", "arm"], function ():void{
action = true;
});
} else {
action = true;
};
});
} else {
action = true;
};
}, "take", "fuel", 30, 30);
}});
addNewActivator("oil", oil, {onClick:function ():void{
action = false;
heroFindItem("oil", oil, function (){
action = true;
}, "take", "oil", 30, 30);
}});
addNewActivator("arm", arm, {onClick:function ():void{
if (hasItem("screwdriver")){
action = false;
removeActivator("arm");
hero.playAnim("walk");
hero.turnTo(520);
hero.moveTo(520, hero.y, function (){
hero.turnOn("right");
dropItem("screwdriver");
hero.playAnim("use", function (){
arm.nextFrame();
takeItem("arm");
if (((hasItem("arm")) && (hasItem("sawOn")))){
makeItem("sawArm", ["arm", "sawOn"], function ():void{
action = true;
});
} else {
action = true;
};
heroIdle();
});
});
} else {
heroRefuse();
};
}});
armPlaced = false;
addNewActivator("robot", robot, {onClick:function ():void{
if (hasItem("sawArm")){
trace("uierh 1");
placeArm();
armPlaced = true;
} else {
if (((hasItem("oil")) && (armPlaced))){
trace("uierh 2");
goWin();
} else {
trace("uierh 3");
heroRefuse();
};
};
}});
heroIdle();
start();
}
}
}//package
Section 170
//Episode_04 (Episode_04)
package {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import 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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_04 extends Episode {
public var bucketPlaced;
public var mc;
public var arrayP;
public function Episode_04(){
addFrameScript(0, frame1);
}
public function placeBucket():void{
action = false;
hero.playAnim("walk");
hero.turnTo(135);
hero.moveTo(135, hero.y, function (){
dropItem("bucket");
hero.turnOn("left");
hero.playAnim("use", function (){
openPuzzle();
hydrant.nextFrame();
action = false;
});
});
}
public function takeFullBucket():void{
action = false;
hero.playAnim("walk");
hero.turnTo(135);
hero.moveTo(135, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
hydrant.nextFrame();
takeItem("fullBucket");
action = false;
heroIdle();
});
});
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnTo(280);
hero.moveTo(280, hero.y, function (){
dropItem("fullBucket");
hero.turnOn("right");
jack.play();
hero.playAnim("l4_use_vedro", function (){
action = false;
heroIdle();
});
});
}
public function openPuzzle():void{
puzzle.visible = true;
action = false;
hero.playAnim("walk");
hero.turnTo(135);
hero.moveTo(135, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
puzzle.play();
var _local1:uint;
while (_local1 < arrayP.length) {
arrayP[_local1].gotoAndStop(Math.floor((Math.random() * arrayP[_local1].totalFrames)));
arrayP[_local1].mouseChildren = false;
arrayP[_local1].addEventListener(MouseEvent.CLICK, onClickPuzzle);
_local1++;
};
action = true;
heroIdle();
});
});
}
public function onClickPuzzle(_arg1:MouseEvent):void{
var _local2:* = _arg1.target;
trace(_arg1.target);
if (_local2.currentFrame == _local2.totalFrames){
trace(("m.currentFrame 1 = " + _local2.currentFrame));
_local2.gotoAndStop(1);
} else {
trace(("m.currentFrame 2 = " + _local2.currentFrame));
_local2.nextFrame();
};
trace(("m.totalFrames = " + _local2.totalFrames));
testWin();
}
public function testWin():void{
var _local1:* = true;
var _local2:uint;
while (_local2 < arrayP.length) {
if (arrayP[_local2].currentFrame != 1){
_local1 = false;
};
_local2++;
};
if (_local1){
puzzle.play();
};
}
public function refuseDie():void{
action = false;
hero.playAnim("upset", function (){
lose();
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
jack.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("bucket", Item_Bucket);
registerItem("fullBucket", Item_FullBucket);
addNewActivator("bucket", bucket, {onClick:function ():void{
action = false;
heroFindItem("bucket", bucket, function (){
action = true;
}, "take", "bucket", 30, 30);
}});
bucketPlaced = false;
addNewActivator("hydrant", hydrant, {onClick:function ():void{
if (((hasItem("bucket")) && (!(bucketPlaced)))){
placeBucket();
bucketPlaced = true;
} else {
if (bucketPlaced){
removeActivator("hydrant");
takeFullBucket();
} else {
heroRefuse();
};
};
}});
addNewActivator("jack", jack, {onClick:function ():void{
if (hasItem("fullBucket")){
goWin();
} else {
heroRefuse();
};
}});
puzzle.visible = false;
mc = puzzle.puzzle;
arrayP = [mc.p11, mc.p12, mc.p13, mc.p14, mc.p15, mc.p21, mc.p22, mc.p23, mc.p24, mc.p25, mc.p31, mc.p32, mc.p33, mc.p34, mc.p35, mc.p41, mc.p42, mc.p43, mc.p44, mc.p45, mc.p51, mc.p52, mc.p53, mc.p54, mc.p55];
heroIdle();
start();
}
}
}//package
Section 171
//Episode_05 (Episode_05)
package {
import aq.pcge.game.*;
public dynamic class Episode_05 extends Episode {
public function Episode_05(){
addFrameScript(0, frame1);
}
public function placeWood():void{
action = false;
hero.playAnim("walk");
hero.turnTo(140);
hero.moveTo(140, hero.y, function (){
hero.turnOn("right");
dropItem("wood");
hero.playAnim("use", function (){
stone.gotoAndStop(2);
action = true;
heroIdle();
});
});
}
public function closeHole():void{
action = false;
hero.playAnim("walk");
hero.turnTo(140);
hero.moveTo(140, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use_up", function (){
stone.play();
action = true;
heroIdle();
});
});
}
public function giveCrossbow():void{
action = false;
hero.playAnim("walk");
hero.turnTo(435);
hero.moveTo(435, hero.y, function (){
hero.turnOn("right");
dropItem("crossbowReady");
hero.playAnim("use_up", function (){
dude.gotoAndStop(2);
action = false;
hero.playAnim("walk");
hero.moveTo(500, hero.y, function (){
hero.turnTo(100);
heroIdle();
});
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
stone.gotoAndStop(1);
dude.gotoAndStop(1);
chicks.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("arrow", Item_Arrow);
registerItem("crossbow", Item_Crossbow);
registerItem("crossbowReady", Item_CrossbowReady);
registerItem("knife", Item_Knife);
registerItem("rope", Item_Rope);
registerItem("stick", Item_Stick);
registerItem("wood", Item_Wood);
addNewActivator("wood", wood, {onClick:function ():void{
action = false;
heroFindItem("wood", wood, function (){
action = true;
}, "take", "wood", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("rope", rope, function (){
if (((((hasItem("rope")) && (hasItem("stick")))) && (hasItem("knife")))){
makeItem("arrow", ["rope", "stick", "knife"], function ():void{
if (((hasItem("arrow")) && (hasItem("crossbow")))){
makeItem("crossbowReady", ["arrow", "crossbow"], function ():void{
action = true;
});
} else {
action = true;
};
});
} else {
action = true;
};
}, "take", "do1", 30, 30);
}});
addNewActivator("knife", knife, {onClick:function ():void{
action = false;
heroFindItem("knife", knife, function (){
if (((((hasItem("rope")) && (hasItem("stick")))) && (hasItem("knife")))){
makeItem("arrow", ["rope", "stick", "knife"], function ():void{
if (((hasItem("arrow")) && (hasItem("crossbow")))){
makeItem("crossbowReady", ["arrow", "crossbow"], function ():void{
action = true;
});
} else {
action = true;
};
});
} else {
action = true;
};
}, "take_up", "knife", 30, 30);
}});
addNewActivator("do2", do2, {onClick:function ():void{
action = false;
heroFindItem("stick", stick, function (){
if (((((hasItem("rope")) && (hasItem("stick")))) && (hasItem("knife")))){
makeItem("arrow", ["rope", "stick", "knife"], function ():void{
if (((hasItem("arrow")) && (hasItem("crossbow")))){
makeItem("crossbowReady", ["arrow", "crossbow"], function ():void{
action = true;
});
} else {
action = true;
};
});
} else {
action = true;
};
}, "take", "do2", 30, 30);
}});
addNewActivator("crossbow", crossbow, {onClick:function ():void{
action = false;
heroFindItem("crossbow", crossbow, function (){
if (((hasItem("crossbow")) && (hasItem("arrow")))){
makeItem("crossbowReady", ["crossbow", "arrow"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "crossbow", 30, 30);
}});
addNewActivator("dude", dude, {onClick:function ():void{
if (hasItem("crossbowReady")){
giveCrossbow();
} else {
heroRefuse();
};
}});
addNewActivator("stone", stone, {onClick:function ():void{
if (hasItem("wood")){
placeWood();
} else {
if (stone.currentFrame == 2){
closeHole();
} else {
heroRefuse();
};
};
}});
heroIdle();
start();
}
}
}//package
Section 172
//Episode_06 (Episode_06)
package {
import com.greensock.*;
import aq.pcge.game.*;
public dynamic class Episode_06 extends Episode {
public var scal:Number;
public var big;
public function Episode_06(){
addFrameScript(0, frame1);
}
public function goGrow():void{
action = false;
hero.playAnim("walk");
hero.turnTo(100);
hero.moveTo(100, hero.y, function (){
hero.turnOn("left");
hero.playAnim("use", function (){
growMushroom.visible = false;
action = true;
heroIdle();
scal = 2;
TweenLite.to(hero, 1, {scaleX:-2, scaleY:2});
});
});
}
public function getKnife():void{
action = false;
hero.playAnim("walk");
hero.turnTo(325);
hero.moveTo(325, hero.y, function (){
hero.turnOn("left");
dropItem("hadgehog");
dropItem("flamingo");
hero.playAnim("l6_use_flamingo", function (){
action = true;
heroIdle();
});
}, {scale:scal});
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnTo(470);
hero.moveTo(470, hero.y, function (){
hero.turnOn("right");
dropItem("slicedMushroom");
hero.playAnim("use", function (){
alisa.play();
action = false;
heroIdle();
TweenLite.to(hero, 1, {scaleX:1, scaleY:1});
});
}, {scale:scal});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
alisa.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("flamingo", Item_Flamingo);
registerItem("growMushroom", Item_GrowMushroom);
registerItem("hadgehog", Item_Hadgehog);
registerItem("mushroom", Item_Mushroom);
registerItem("slicedMushroom", Item_SlicedMushroom);
registerItem("knife", Item_Knife);
scal = 1;
addNewActivator("flamingo", flamingo, {onClick:function ():void{
action = false;
heroFindItem("flamingo", flamingo, function (){
action = true;
}, "take", "flamingo", 30, 30);
}});
addNewActivator("hadgehog", hadgehog, {onClick:function ():void{
action = false;
heroFindItem("hadgehog", hadgehog, function (){
action = true;
}, "take", "hadgehog", 30, 30);
}});
big = false;
addNewActivator("growMushroom", growMushroom, {onClick:function ():void{
goGrow();
big = true;
}});
addNewActivator("mushroom", mushroom, {onClick:function ():void{
if (big){
action = false;
heroFindItem("mushroom", mushroom, function (){
if (((((hasItem("mushroom")) && (hasItem("knife")))) && (big))){
makeItem("slicedMushroom", ["mushroom", "knife"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "mushroom", 30, 30);
} else {
heroRefuse();
};
}});
addNewActivator("knife", knife, {onClick:function ():void{
if (((hasItem("hadgehog")) && (hasItem("flamingo")))){
getKnife();
} else {
if (knife.currentFrame == 9){
action = false;
heroFindItem("knife", knife, function (){
if (((hasItem("mushroom")) && (hasItem("knife")))){
makeItem("slicedMushroom", ["mushroom", "knife"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "knife", 30, 30);
} else {
heroRefuse();
};
};
}});
addNewActivator("alisa", alisa, {onClick:function ():void{
if (hasItem("slicedMushroom")){
goWin();
} else {
heroRefuse();
};
}});
heroIdle();
start();
}
}
}//package
Section 173
//Episode_07 (Episode_07)
package {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import 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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_07 extends Episode {
public function Episode_07(){
addFrameScript(0, frame1);
}
public function rotateTable():void{
action = false;
hero.playAnim("walk");
hero.turnTo(285);
hero.moveTo(285, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use_up", function (){
table.gotoAndStop(2);
action = true;
heroIdle();
});
});
}
public function placeTablecloth():void{
action = false;
hero.playAnim("walk");
hero.turnTo(285);
hero.moveTo(285, hero.y, function (){
hero.turnOn("right");
dropItem("tablecloth");
hero.playAnim("use_up", function (){
table.gotoAndStop(3);
action = true;
heroIdle();
});
});
}
public function beatTablecloth():void{
action = false;
hero.playAnim("walk");
hero.turnTo(357);
hero.moveTo(357, hero.y, function (){
hero.turnOn("right");
dropItem("hammerNails");
hero.playAnim("use_up", function (){
table.gotoAndStop(4);
action = true;
heroIdle();
});
});
}
public function tiedupWolf():void{
action = false;
hero.playAnim("walk");
hero.turnTo(558);
hero.moveTo(558, hero.y, function (){
hero.turnOn("right");
dropItem("scarfSkakalka");
hero.playAnim("use", function (){
hero.turnOn("left");
hero.playAnim("use_up", function (){
hero.turnOn("right");
wolf.wolf.l7_wolf_sharf.visible = true;
wolf.wolf.l7_wolf_skakalka.visible = true;
action = true;
heroIdle();
});
});
});
}
public function goWin():void{
action = false;
hero.playAnim("walk");
hero.turnTo(275);
hero.moveTo(275, hero.y, function (){
hero.turnOn("right");
table.play();
hero.playAnim("l7_jump", function (){
win();
action = false;
});
});
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
wolf.gotoAndStop(1);
door.gotoAndStop(1);
table.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("hammer", Item_Hammer);
registerItem("hammerNails", Item_HammerNails);
registerItem("nails", Item_Nails);
registerItem("scarf", Item_Scarf);
registerItem("scarfSkakalka", Item_ScarfSkakalka);
registerItem("skakalka", Item_Skakalka);
registerItem("tablecloth", Item_Tablecloth);
addNewActivator("tablecloth", tablecloth, {onClick:function ():void{
action = false;
heroFindItem("tablecloth", tablecloth, function (){
action = true;
}, "take_up", "tablecloth", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
action = false;
heroFindItem("skakalka", skakalka, function (){
if (((hasItem("skakalka")) && (hasItem("scarf")))){
makeItem("scarfSkakalka", ["skakalka", "scarf"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "do1", 30, 30);
}});
addNewActivator("scarf", scarf, {onClick:function ():void{
action = false;
heroFindItem("scarf", scarf, function (){
if (((hasItem("skakalka")) && (hasItem("scarf")))){
makeItem("scarfSkakalka", ["skakalka", "scarf"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "scarf", 30, 30);
}});
addNewActivator("do2", do2, {onClick:function ():void{
action = false;
heroFindItem("nails", nails, function (){
if (((hasItem("nails")) && (hasItem("hammer")))){
makeItem("hammerNails", ["nails", "hammer"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "do2", 30, 30);
}});
addNewActivator("hammer", hammer, {onClick:function ():void{
action = false;
heroFindItem("hammer", hammer, function (){
if (((hasItem("nails")) && (hasItem("hammer")))){
makeItem("hammerNails", ["nails", "hammer"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "hammer", 30, 30);
}});
addNewActivator("table", table, {onClick:function ():void{
if (((hasItem("tablecloth")) && ((table.currentFrame == 1)))){
rotateTable();
} else {
if (((hasItem("tablecloth")) && ((table.currentFrame == 2)))){
placeTablecloth();
} else {
if (((hasItem("hammerNails")) && ((table.currentFrame == 3)))){
beatTablecloth();
removeActivator("table");
} else {
heroRefuse();
};
};
};
}});
wolf.wolf.l7_wolf_sharf.visible = false;
wolf.wolf.l7_wolf_skakalka.visible = false;
addNewActivator("wolf", wolf, {onClick:function ():void{
if (((hasItem("scarfSkakalka")) && (!(wolf.wolf.l7_wolf_skakalka.visible)))){
tiedupWolf();
} else {
if (((wolf.wolf.l7_wolf_skakalka.visible) && ((table.currentFrame == 4)))){
goWin();
} else {
heroRefuse();
};
};
}});
heroIdle();
start();
}
}
}//package
Section 174
//Episode_08 (Episode_08)
package {
import flash.display.*;
import aq.pcge.game.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import 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.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_08 extends Episode {
public var plantOk;
public var placesOk;
public var fireOk;
public var mc;
public var arrayP;
public function Episode_08(){
addFrameScript(0, frame1);
}
public function takeWater():void{
action = false;
hero.playAnim("walk");
hero.turnTo(540);
hero.moveTo(540, hero.y, function (){
hero.turnOn("right");
dropItem("teapot");
hero.playAnim("use_up", function (){
takeItem("teapotFull");
action = true;
heroIdle();
});
});
}
public function placeCans():void{
action = false;
hero.playAnim("walk");
hero.turnTo(215);
hero.moveTo(215, hero.y, function (){
hero.turnOn("left");
dropItem("cans");
hero.playAnim("use_up", function (){
places.gotoAndStop(2);
action = true;
heroIdle();
if (((((plantOk) && (placesOk))) && (fireOk))){
openPuzzle();
};
});
});
}
public function firestarter():void{
action = false;
hero.playAnim("walk");
hero.turnTo(287);
hero.moveTo(287, hero.y, function (){
hero.turnOn("right");
dropItem("woodsGood");
hero.playAnim("use", function (){
fireplace.gotoAndStop(2);
action = true;
heroIdle();
if (((((plantOk) && (placesOk))) && (fireOk))){
openPuzzle();
};
});
});
}
public function letsGrow():void{
action = false;
hero.playAnim("walk");
hero.turnTo(287);
hero.moveTo(287, hero.y, function (){
hero.turnOn("right");
dropItem("teapotFull");
hero.playAnim("use_up", function (){
plant.play();
action = true;
heroIdle();
if (((((plantOk) && (placesOk))) && (fireOk))){
openPuzzle();
};
});
});
}
public function openPuzzle():void{
action = false;
hero.playAnim("walk");
hero.turnTo(360);
puzzle.visible = true;
hero.moveTo(360, hero.y, function (){
hero.turnOn("right");
hero.playAnim("use_up", function (){
puzzle.play();
var _local1:uint;
while (_local1 < arrayP.length) {
arrayP[_local1].mouseChildren = false;
arrayP[_local1].gotoAndStop(Math.floor((Math.random() * arrayP[_local1].totalFrames)));
arrayP[_local1].addEventListener(MouseEvent.CLICK, onClickPuzzle);
_local1++;
};
action = true;
heroIdle();
});
});
}
public function onClickPuzzle(_arg1:MouseEvent):void{
var _local2:* = _arg1.target;
if (_local2.currentFrame == _local2.totalFrames){
_local2.gotoAndStop(1);
} else {
_local2.nextFrame();
};
testWin();
}
public function testWin():void{
var _local1:* = true;
var _local2:uint;
while (_local2 < arrayP.length) {
if (arrayP[_local2].currentFrame != 1){
_local1 = false;
};
_local2++;
};
if (_local1){
puzzle.play();
};
}
public function killUs():void{
action = false;
hero.playAnim("die", function (){
lose();
});
}
public function refuseDie():void{
action = false;
hero.playAnim("refuse", function (){
lose();
});
}
public function goWin2():void{
action = false;
hero.playAnim("walk");
hero.turnOn("right");
hero.moveTo(950, hero.y, function (){
win();
});
}
function frame1(){
cinderella.gotoAndStop(1);
fireplace.gotoAndStop(1);
plant.gotoAndStop(1);
texture.mouseEnabled = false;
texture.mouseChildren = false;
texture.enabled = false;
registerItem("axe", Item_Axe);
registerItem("can1", Item_Can1);
registerItem("can2", Item_Can2);
registerItem("cans", Item_Cans);
registerItem("krupa", Item_Krupa);
registerItem("teapot", Item_Teapot);
registerItem("teapotFull", Item_TeapotFull);
registerItem("woods", Item_Woods);
registerItem("woodsGood", Item_WoodsGood);
addNewActivator("woods", woods, {onClick:function ():void{
action = false;
heroFindItem("woods", woods, function (){
if (((hasItem("woods")) && (hasItem("axe")))){
makeItem("woodsGood", ["woods", "axe"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "woods", 30, 30);
}});
addNewActivator("axe", axe, {onClick:function ():void{
action = false;
heroFindItem("axe", axe, function (){
if (((hasItem("woods")) && (hasItem("axe")))){
makeItem("woodsGood", ["woods", "axe"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "axe", 30, 30);
}});
addNewActivator("can1", can1, {onClick:function ():void{
action = false;
heroFindItem("can1", can1, function (){
if (((((hasItem("can1")) && (hasItem("can2")))) && (hasItem("krupa")))){
makeItem("cans", ["can1", "can2", "krupa"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "can1", 30, 30);
}});
addNewActivator("can2", can2, {onClick:function ():void{
action = false;
heroFindItem("can2", can2, function (){
if (((((hasItem("can1")) && (hasItem("can2")))) && (hasItem("krupa")))){
makeItem("cans", ["can1", "can2", "krupa"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take_up", "can2", 30, 30);
}});
addNewActivator("krupa", krupa, {onClick:function ():void{
action = false;
heroFindItem("krupa", krupa, function (){
if (((((hasItem("can1")) && (hasItem("can2")))) && (hasItem("krupa")))){
makeItem("cans", ["can1", "can2", "krupa"], function ():void{
action = true;
});
} else {
action = true;
};
}, "take", "krupa", 30, 30);
}});
addNewActivator("teapot", teapot, {onClick:function ():void{
action = false;
heroFindItem("teapot", teapot, function (){
action = true;
}, "take_up", "teapot", 30, 30);
}});
addNewActivator("do1", do1, {onClick:function ():void{
if (hasItem("teapot")){
takeWater();
} else {
heroRefuse();
};
}});
addNewActivator("do2", do2, {onClick:function ():void{
if (hasItem("cans")){
placesOk = true;
placeCans();
} else {
heroRefuse();
};
}});
addNewActivator("fireplace", fireplace, {onClick:function ():void{
if (hasItem("woodsGood")){
fireOk = true;
firestarter();
} else {
heroRefuse();
};
}});
plantOk = false;
placesOk = false;
fireOk = false;
puzzle.visible = false;
addNewActivator("plant", plant, {onClick:function ():void{
if (hasItem("teapotFull")){
plantOk = true;
letsGrow();
} else {
heroRefuse();
};
}});
mc = puzzle.puzzle;
arrayP = [mc.p11, mc.p12, mc.p13, mc.p21, mc.p22, mc.p23, mc.p31, mc.p32, mc.p33, mc.p41, mc.p42, mc.p43, mc.p51, mc.p52, mc.p53];
heroIdle();
start();
}
}
}//package
Section 175
//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 176
//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 177
//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 178
//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 179
//GameMusic (GameMusic)
package {
import flash.media.*;
public dynamic class GameMusic extends Sound {
}
}//package
Section 180
//GameSlot (GameSlot)
package {
import aq.pcge.game.buttons.*;
public dynamic class GameSlot extends LinkBox {
}
}//package
Section 181
//Hero (Hero)
package {
import aq.pcge.game.*;
public dynamic class Hero extends Character {
public function Hero(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame9(){
stop();
}
function frame10(){
stop();
}
function frame11(){
stop();
}
function frame12(){
stop();
}
}
}//package
Section 182
//Item_Arm (Item_Arm)
package {
import flash.display.*;
public dynamic class Item_Arm extends MovieClip {
}
}//package
Section 183
//Item_Arrow (Item_Arrow)
package {
import flash.display.*;
public dynamic class Item_Arrow extends MovieClip {
}
}//package
Section 184
//Item_Axe (Item_Axe)
package {
import flash.display.*;
public dynamic class Item_Axe extends MovieClip {
}
}//package
Section 185
//Item_Belt (Item_Belt)
package {
import flash.display.*;
public dynamic class Item_Belt extends MovieClip {
}
}//package
Section 186
//Item_BeltSword (Item_BeltSword)
package {
import flash.display.*;
public dynamic class Item_BeltSword extends MovieClip {
}
}//package
Section 187
//Item_Bucket (Item_Bucket)
package {
import flash.display.*;
public dynamic class Item_Bucket extends MovieClip {
}
}//package
Section 188
//Item_Can1 (Item_Can1)
package {
import flash.display.*;
public dynamic class Item_Can1 extends MovieClip {
}
}//package
Section 189
//Item_Can2 (Item_Can2)
package {
import flash.display.*;
public dynamic class Item_Can2 extends MovieClip {
}
}//package
Section 190
//Item_Cans (Item_Cans)
package {
import flash.display.*;
public dynamic class Item_Cans extends MovieClip {
}
}//package
Section 191
//Item_Crossbow (Item_Crossbow)
package {
import flash.display.*;
public dynamic class Item_Crossbow extends MovieClip {
}
}//package
Section 192
//Item_CrossbowReady (Item_CrossbowReady)
package {
import flash.display.*;
public dynamic class Item_CrossbowReady extends MovieClip {
}
}//package
Section 193
//Item_Flamingo (Item_Flamingo)
package {
import flash.display.*;
public dynamic class Item_Flamingo extends MovieClip {
}
}//package
Section 194
//Item_Fuel (Item_Fuel)
package {
import flash.display.*;
public dynamic class Item_Fuel extends MovieClip {
}
}//package
Section 195
//Item_FullBucket (Item_FullBucket)
package {
import flash.display.*;
public dynamic class Item_FullBucket extends MovieClip {
}
}//package
Section 196
//Item_GrowMushroom (Item_GrowMushroom)
package {
import flash.display.*;
public dynamic class Item_GrowMushroom extends MovieClip {
}
}//package
Section 197
//Item_Hadgehog (Item_Hadgehog)
package {
import flash.display.*;
public dynamic class Item_Hadgehog extends MovieClip {
}
}//package
Section 198
//Item_Hammer (Item_Hammer)
package {
import flash.display.*;
public dynamic class Item_Hammer extends MovieClip {
}
}//package
Section 199
//Item_HammerNails (Item_HammerNails)
package {
import flash.display.*;
public dynamic class Item_HammerNails extends MovieClip {
}
}//package
Section 200
//Item_Hat (Item_Hat)
package {
import flash.display.*;
public dynamic class Item_Hat extends MovieClip {
}
}//package
Section 201
//Item_Knife (Item_Knife)
package {
import flash.display.*;
public dynamic class Item_Knife extends MovieClip {
}
}//package
Section 202
//Item_Krupa (Item_Krupa)
package {
import flash.display.*;
public dynamic class Item_Krupa extends MovieClip {
}
}//package
Section 203
//Item_Mushroom (Item_Mushroom)
package {
import flash.display.*;
public dynamic class Item_Mushroom extends MovieClip {
}
}//package
Section 204
//Item_Nails (Item_Nails)
package {
import flash.display.*;
public dynamic class Item_Nails extends MovieClip {
}
}//package
Section 205
//Item_Oil (Item_Oil)
package {
import flash.display.*;
public dynamic class Item_Oil extends MovieClip {
}
}//package
Section 206
//Item_Part1 (Item_Part1)
package {
import flash.display.*;
public dynamic class Item_Part1 extends MovieClip {
}
}//package
Section 207
//Item_Part2 (Item_Part2)
package {
import flash.display.*;
public dynamic class Item_Part2 extends MovieClip {
}
}//package
Section 208
//Item_Rope (Item_Rope)
package {
import flash.display.*;
public dynamic class Item_Rope extends MovieClip {
}
}//package
Section 209
//Item_Rubanok (Item_Rubanok)
package {
import flash.display.*;
public dynamic class Item_Rubanok extends MovieClip {
}
}//package
Section 210
//Item_Saw (Item_Saw)
package {
import flash.display.*;
public dynamic class Item_Saw extends MovieClip {
}
}//package
Section 211
//Item_SawArm (Item_SawArm)
package {
import flash.display.*;
public dynamic class Item_SawArm extends MovieClip {
}
}//package
Section 212
//Item_SawOn (Item_SawOn)
package {
import flash.display.*;
public dynamic class Item_SawOn extends MovieClip {
}
}//package
Section 213
//Item_Scarf (Item_Scarf)
package {
import flash.display.*;
public dynamic class Item_Scarf extends MovieClip {
}
}//package
Section 214
//Item_ScarfSkakalka (Item_ScarfSkakalka)
package {
import flash.display.*;
public dynamic class Item_ScarfSkakalka extends MovieClip {
}
}//package
Section 215
//Item_Screwdriver (Item_Screwdriver)
package {
import flash.display.*;
public dynamic class Item_Screwdriver extends MovieClip {
}
}//package
Section 216
//Item_Shoe (Item_Shoe)
package {
import flash.display.*;
public dynamic class Item_Shoe extends MovieClip {
}
}//package
Section 217
//Item_Shoes (Item_Shoes)
package {
import flash.display.*;
public dynamic class Item_Shoes extends MovieClip {
}
}//package
Section 218
//Item_Shovel (Item_Shovel)
package {
import flash.display.*;
public dynamic class Item_Shovel extends MovieClip {
}
}//package
Section 219
//Item_Skakalka (Item_Skakalka)
package {
import flash.display.*;
public dynamic class Item_Skakalka extends MovieClip {
}
}//package
Section 220
//Item_SlicedMushroom (Item_SlicedMushroom)
package {
import flash.display.*;
public dynamic class Item_SlicedMushroom extends MovieClip {
}
}//package
Section 221
//Item_Stick (Item_Stick)
package {
import flash.display.*;
public dynamic class Item_Stick extends MovieClip {
}
}//package
Section 222
//Item_Sword (Item_Sword)
package {
import flash.display.*;
public dynamic class Item_Sword extends MovieClip {
}
}//package
Section 223
//Item_Tablecloth (Item_Tablecloth)
package {
import flash.display.*;
public dynamic class Item_Tablecloth extends MovieClip {
}
}//package
Section 224
//Item_Teapot (Item_Teapot)
package {
import flash.display.*;
public dynamic class Item_Teapot extends MovieClip {
}
}//package
Section 225
//Item_TeapotFull (Item_TeapotFull)
package {
import flash.display.*;
public dynamic class Item_TeapotFull extends MovieClip {
}
}//package
Section 226
//Item_Tool (Item_Tool)
package {
import flash.display.*;
public dynamic class Item_Tool extends MovieClip {
}
}//package
Section 227
//Item_Wood (Item_Wood)
package {
import flash.display.*;
public dynamic class Item_Wood extends MovieClip {
}
}//package
Section 228
//Item_Woods (Item_Woods)
package {
import flash.display.*;
public dynamic class Item_Woods extends MovieClip {
}
}//package
Section 229
//Item_WoodsGood (Item_WoodsGood)
package {
import flash.display.*;
public dynamic class Item_WoodsGood extends MovieClip {
}
}//package
Section 230
//ItemIcon (ItemIcon)
package {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class ItemIcon extends MovieClip {
public var image:MovieClip;
public var bounds:MovieClip;
public var source:String;
public var title:String;
public var onGFXComplete:Function;
public function ItemIcon(){
addFrameScript(0, frame1, 1, frame2, 24, frame25);
}
public function setIcon(_arg1:DisplayObject):void{
while (image.holder.numChildren) {
image.holder.removeChildAt(0);
};
image.holder.addChild(_arg1);
}
public function getIcon():DisplayObject{
return ((image.holder.numChildren) ? image.holder.getChildAt(0) : null);
}
function frame1(){
stop();
}
function frame2(){
image.holder.gotoAndStop(1);
}
function frame25(){
dispatchEvent(new Event("gfxComplete"));
image.holder.gotoAndPlay(2);
}
}
}//package
Section 231
//WMCurtain (WMCurtain)
package {
import flash.display.*;
public dynamic class WMCurtain extends Sprite {
}
}//package