Section 1
//bull_walk_animated_4 (bull_WALK_fla.bull_walk_animated_4)
package bull_WALK_fla {
import flash.display.*;
public dynamic class bull_walk_animated_4 extends MovieClip {
}
}//package bull_WALK_fla
Section 2
//PropTween (com.greensock.core.PropTween)
package com.greensock.core {
public class PropTween {
public var start:Number;
public var name:String;
public var prevNode:PropTween;
public var change:Number;
public var target:Object;
public var priority:int;
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 3
//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);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:TweenCore;
var _local5:Number;
var _local6:TweenCore;
_local4 = _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 addChild(_arg1:TweenCore):void{
if (((!(_arg1.cachedOrphan)) && (_arg1.timeline))){
_arg1.timeline.remove(_arg1, true);
};
_arg1.timeline = this;
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
if (_firstChild){
_firstChild.prevNode = _arg1;
};
_arg1.nextNode = _firstChild;
_firstChild = _arg1;
_arg1.prevNode = null;
_arg1.cachedOrphan = false;
}
public function get rawTime():Number{
return (this.cachedTotalTime);
}
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 4
//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;
protected var _pauseTime:Number;
public var cacheIsDirty:Boolean;
public var cachedPaused:Boolean;
public var cachedTimeScale:Number;
public var cachedTotalDuration:Number;
public static const version:Number = 1.38;
protected static var _classInitted:Boolean;
public function TweenCore(_arg1:Number=0, _arg2:Object=null){
var _local3:SimpleTimeline;
_rawPrevTime = -1;
super();
this.vars = ((_arg2)!=null) ? _arg2 : {};
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;
};
};
_local3 = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline;
this.cachedStartTime = (_local3.cachedTotalTime + _delay);
_local3.addChild(this);
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{
var _local2:Boolean;
_local2 = Boolean(((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc)))));
this.cachedStartTime = _arg1;
if (_local2){
this.timeline.addChild(this);
};
}
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{
this.cachedDuration = (this.cachedTotalDuration = _arg1);
setDirtyCache(false);
}
public function invalidate():void{
}
public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.reversed = false;
this.paused = false;
this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2);
}
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 reversed():Boolean{
return (this.cachedReversed);
}
public function get totalTime():Number{
return (this.cachedTotalTime);
}
public function get startTime():Number{
return (this.cachedStartTime);
}
public function set currentTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
protected function setDirtyCache(_arg1:Boolean=true):void{
var _local2:TweenCore;
_local2 = (_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){
_pauseTime = this.timeline.rawTime;
} else {
this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - _pauseTime));
_pauseTime = NaN;
setDirtyCache(false);
};
this.cachedPaused = _arg1;
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
};
if (((!(_arg1)) && (this.gc))){
this.setTotalTime(this.cachedTotalTime, false);
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 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : 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{
if (_arg1){
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
if (((!(_arg2)) && (this.gc))){
this.timeline.addChild(this);
};
} else {
this.active = false;
if (!_arg2){
this.timeline.remove(this, true);
};
};
this.gc = !(_arg1);
return (false);
}
}
}//package com.greensock.core
Section 5
//OverwriteManager (com.greensock.OverwriteManager)
package com.greensock {
import com.greensock.core.*;
public 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.02;
public static const NONE:int = 0;
public static var enabled:Boolean;
public static var mode:int;
public static function getGlobalPaused(_arg1:TweenCore):Boolean{
while (_arg1) {
if (_arg1.cachedPaused){
return (true);
};
_arg1 = _arg1.timeline;
};
return (false);
}
public static function init(_arg1:int=2):int{
if (TweenLite.version < 11.1){
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:uint):Boolean{
var _local5:int;
var _local6:Boolean;
var _local7:TweenLite;
var _local8:Number;
var _local9:Array;
var _local10:Array;
var _local11:uint;
var _local12:uint;
var _local13:uint;
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);
};
_local8 = (_arg1.cachedStartTime + 1E-10);
_local9 = [];
_local10 = [];
_local11 = 0;
_local12 = 0;
_local5 = _arg3.length;
while (--_local5 > -1) {
_local7 = _arg3[_local5];
if ((((_local7 == _arg1)) || (_local7.gc))){
} 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)))) && (!(getGlobalPaused(_local7))))){
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 6
//TimelineLite (com.greensock.TimelineLite)
package com.greensock {
import com.greensock.core.*;
import flash.utils.*;
public class TimelineLite extends SimpleTimeline {
protected var _endCaps:Array;
protected var _labels:Object;
public static const version:Number = 1.38;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(2);
;
public function TimelineLite(_arg1:Object=null){
super(_arg1);
_endCaps = [];
_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 stop():void{
this.paused = true;
}
public function get useFrames():Boolean{
var _local1:SimpleTimeline;
_local1 = this.timeline;
while (_local1.timeline) {
_local1 = _local1.timeline;
};
return (Boolean((_local1 == TweenLite.rootFramesTimeline)));
}
override public function get rawTime():Number{
if (((!((this.cachedTotalTime == 0))) && (!((this.cachedTotalTime == this.cachedTotalDuration))))){
return (this.cachedTotalTime);
};
return (((this.timeline.rawTime - this.cachedStartTime) * this.cachedTimeScale));
}
public function append(_arg1:TweenCore, _arg2:Number=0):void{
insert(_arg1, (this.duration + _arg2));
}
public function getLabelTime(_arg1:String):Number{
return (((_arg1 in _labels)) ? Number(_labels[_arg1]) : -1);
}
override public function set duration(_arg1:Number):void{
if (((!((this.duration == 0))) && (!((_arg1 == 0))))){
this.timeScale = (this.duration / _arg1);
};
}
protected function forceChildrenToBeginning(_arg1:Number, _arg2:Boolean=false):Number{
var _local3:TweenCore;
var _local4:TweenCore;
var _local5:Number;
var _local6:Boolean;
_local3 = _lastChild;
_local6 = 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 invalidate():void{
var _local1:TweenCore;
_local1 = ((_firstChild)!=null) ? _firstChild : _endCaps[0];
while (_local1) {
_local1.invalidate();
_local1 = _local1.nextNode;
};
}
public function appendMultiple(_arg1:Array, _arg2:Number=0, _arg3:String="normal", _arg4:Number=0):void{
insertMultiple(_arg1, (this.duration + _arg2), _arg3, _arg4);
}
public function goto(_arg1, _arg2:Boolean=true):void{
setTotalTime(parseTimeOrLabel(_arg1), _arg2);
}
public function clear(_arg1:Array=null):void{
var _local2:int;
if (_arg1 == null){
_arg1 = getChildren(false, true, true);
};
_local2 = _arg1.length;
while (--_local2 > -1) {
TweenCore(_arg1[_local2]).setEnabled(false, false);
};
}
public function getChildren(_arg1:Boolean=true, _arg2:Boolean=true, _arg3:Boolean=true, _arg4:Number=-9999999999):Array{
var _local5:Array;
var _local6:uint;
var _local7:TweenCore;
_local5 = [];
_local6 = 0;
_local7 = ((_firstChild)!=null) ? _firstChild : _endCaps[0];
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));
};
};
};
_local7 = _local7.nextNode;
};
return (_local5);
}
protected function forceChildrenToEnd(_arg1:Number, _arg2:Boolean=false):Number{
var _local3:TweenCore;
var _local4:TweenCore;
var _local5:Number;
var _local6:Boolean;
_local3 = _firstChild;
_local6 = 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);
}
public function get timeScale():Number{
return (this.cachedTimeScale);
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:TweenCore;
var _local4:TweenCore;
if (_arg1 == this.gc){
if (_arg1){
_local3 = _endCaps[0];
_firstChild = _local3;
_lastChild = _endCaps[1];
} else {
_local3 = _firstChild;
_endCaps = [_firstChild, _lastChild];
_firstChild = (_lastChild = null);
};
while (_local3) {
_local3.setEnabled(_arg1, true);
_local3 = _local3.nextNode;
};
};
return (super.setEnabled(_arg1, _arg2));
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:TweenCore;
var _local9:Boolean;
var _local10:Boolean;
var _local11:TweenCore;
var _local12:Number;
var _local13:Boolean;
if (this.gc){
this.setEnabled(true, false);
} else {
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
};
_local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
_local5 = this.cachedTime;
_local6 = this.cachedStartTime;
_local7 = this.cachedTimeScale;
_local13 = this.cachedPaused;
if (_arg1 >= _local4){
if ((((_rawPrevTime <= _local4)) && (!((_rawPrevTime == _arg1))))){
this.cachedTotalTime = (this.cachedTime = _local4);
forceChildrenToEnd(_local4, _arg2);
_local9 = !(this.hasPausedChild());
_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;
};
};
if ((((_rawPrevTime >= 0)) && (!((_rawPrevTime == _arg1))))){
forceChildrenToBeginning(0, _arg2);
this.cachedTotalTime = 0;
this.cachedTime = 0;
_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);
};
}
public function set currentProgress(_arg1:Number):void{
setTotalTime((this.duration * _arg1), false);
}
public function prepend(_arg1:TweenCore, _arg2:Boolean=false):void{
shiftChildren(((_arg1.totalDuration / _arg1.cachedTimeScale) + _arg1.delay), _arg2, 0);
insert(_arg1, 0);
}
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 gotoAndStop(_arg1, _arg2:Boolean=true):void{
setTotalTime(parseTimeOrLabel(_arg1), _arg2);
this.paused = true;
}
override public function get duration():Number{
var _local1:Number;
if (this.cacheIsDirty){
_local1 = this.totalDuration;
};
return (this.cachedDuration);
}
override public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
var _local3:TweenCore;
var _local4:TweenCore;
if (_arg1.cachedOrphan){
return;
};
if (!_arg2){
_arg1.setEnabled(false, true);
};
_local3 = ((_firstChild)!=null) ? _firstChild : _endCaps[0];
_local4 = ((_lastChild)!=null) ? _lastChild : _endCaps[1];
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 shiftChildren(_arg1:Number, _arg2:Boolean=false, _arg3:Number=0):void{
var _local4:TweenCore;
var _local5:String;
_local4 = ((_firstChild)!=null) ? _firstChild : _endCaps[0];
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 hasPausedChild():Boolean{
var _local1:TweenCore;
_local1 = ((_firstChild)!=null) ? _firstChild : _endCaps[0];
while (_local1) {
if (((_local1.cachedPaused) || ((((_local1 is TimelineLite)) && ((_local1 as TimelineLite).hasPausedChild()))))){
return (true);
};
_local1 = _local1.nextNode;
};
return (false);
}
public function insert(_arg1:TweenCore, _arg2=0):void{
if (typeof(_arg2) == "string"){
if (!(_arg2 in _labels)){
addLabel(_arg2, this.duration);
};
_arg2 = Number(_labels[_arg2]);
};
_arg1.cachedStartTime = (Number(_arg2) + _arg1.delay);
addChild(_arg1);
}
public function prependMultiple(_arg1:Array, _arg2:String="normal", _arg3:Number=0, _arg4:Boolean=false):void{
var _local5:TimelineLite;
_local5 = new TimelineLite({tweens:_arg1, align:_arg2, stagger:_arg3});
shiftChildren(_local5.duration, _arg4, 0);
insertMultiple(_arg1, 0, _arg2, _arg3);
_local5.kill();
}
public function get currentProgress():Number{
return ((this.cachedTime / this.duration));
}
public function gotoAndPlay(_arg1, _arg2:Boolean=true):void{
setTotalTime(parseTimeOrLabel(_arg1), _arg2);
play();
}
public function removeLabel(_arg1:String):Number{
var _local2:Number;
_local2 = _labels[_arg1];
delete _labels[_arg1];
return (_local2);
}
public function addLabel(_arg1:String, _arg2:Number):void{
_labels[_arg1] = _arg2;
}
public function getTweensOf(_arg1:Object, _arg2:Boolean=true):Array{
var _local3:Array;
var _local4:Array;
var _local5:int;
var _local6:uint;
var _local7:uint;
_local3 = getChildren(_arg2, true, false);
_local4 = [];
_local6 = _local3.length;
_local7 = 0;
_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++;
};
return (_local4);
}
public function insertMultiple(_arg1:Array, _arg2=0, _arg3:String="normal", _arg4:Number=0):void{
var _local5:int;
var _local6:TweenCore;
var _local7:Number;
var _local8:uint;
_local7 = ((Number(_arg2)) || (0));
_local8 = _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++;
};
}
public function killTweensOf(_arg1:Object, _arg2:Boolean=true, _arg3:Object=null):Boolean{
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
_local4 = getTweensOf(_arg1, _arg2);
_local5 = _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 totalDuration(_arg1:Number):void{
if (((!((this.totalDuration == 0))) && (!((_arg1 == 0))))){
this.timeScale = (this.totalDuration / _arg1);
};
}
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 = ((_firstChild)!=null) ? _firstChild : _endCaps[0];
_local4 = -(Infinity);
while (_local3) {
_local5 = _local3.nextNode;
if (_local3.cachedStartTime < _local4){
this.addChild(_local3);
_local4 = _local3.prevNode.cachedStartTime;
} 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 set timeScale(_arg1:Number):void{
var _local2:Number;
if (_arg1 == 0){
_arg1 = 0.0001;
};
_local2 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1));
this.cachedTimeScale = _arg1;
setDirtyCache(false);
}
override public function addChild(_arg1:TweenCore):void{
var _local2:TweenCore;
var _local3:TweenCore;
var _local4:TweenCore;
var _local5:Number;
if (((!(_arg1.cachedOrphan)) && (_arg1.timeline))){
_arg1.timeline.remove(_arg1, true);
};
_arg1.timeline = this;
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
setDirtyCache(true);
_local2 = ((_firstChild)!=null) ? _firstChild : _endCaps[0];
_local3 = ((_lastChild)!=null) ? _lastChild : _endCaps[1];
if (_local3 == null){
_local3 = _arg1;
_local2 = _local3;
_arg1.nextNode = (_arg1.prevNode = null);
} else {
_local4 = _local3;
_local5 = _arg1.cachedStartTime;
while (((!((_local4 == null))) && ((_local5 <= _local4.cachedStartTime)))) {
_local4 = _local4.prevNode;
};
if (_local4 == null){
_local2.prevNode = _arg1;
_arg1.nextNode = _local2;
_arg1.prevNode = null;
_local2 = _arg1;
} else {
if (_local4.nextNode){
_local4.nextNode.prevNode = _arg1;
} else {
if (_local4 == _local3){
_local3 = _arg1;
};
};
_arg1.prevNode = _local4;
_arg1.nextNode = _local4.nextNode;
_local4.nextNode = _arg1;
};
};
_arg1.cachedOrphan = false;
if (this.gc){
_endCaps[0] = _local2;
_endCaps[1] = _local3;
} else {
_firstChild = _local2;
_lastChild = _local3;
};
}
}
}//package com.greensock
Section 7
//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 {
public var target:Object;
public var ratio:Number;// = 0
protected var _overwrite:uint;
protected var _notifyPluginsOfEnabled:Boolean;
protected var _hasPlugins:Boolean;
public var cachedPT1:PropTween;
protected var _overwrittenProps:Object;
public var propTweenLookup:Object;
protected var _ease:Function;
public static const version:Number = 11.36;
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, roundProps: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};
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local4:Array;
var _local5:TweenLite;
ratio = 0;
super(_arg2, _arg3);
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);
_local4 = 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);
};
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Boolean;
var _local5:Number;
var _local6:PropTween;
_local5 = this.cachedTime;
if (_arg1 >= this.cachedDuration){
this.cachedTotalTime = (this.cachedTime = this.cachedDuration);
this.ratio = 1;
_local4 = true;
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 = true;
};
_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))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
_local6 = 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){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
};
}
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("onInit", 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;
}
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 invalidate():void{
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
onPluginEvent("onDisable", this);
};
this.cachedPT1 = null;
_overwrittenProps = null;
_hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false)));
this.propTweenLookup = {};
}
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 (_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 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 {
_local3[_local3.length] = this;
};
};
super.setEnabled(_arg1, _arg2);
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this));
};
return (false);
}
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{
_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++;
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 8
//None (fl.transitions.easing.None)
package fl.transitions.easing {
public class None {
public static function easeOut(_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 easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package fl.transitions.easing
Section 9
//Strong (fl.transitions.easing.Strong)
package fl.transitions.easing {
public class Strong {
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 easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _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 10
//_ExportEpisodesMC_39 (PnC_Game_fla._ExportEpisodesMC_39)
package PnC_Game_fla {
import flash.display.*;
public dynamic class _ExportEpisodesMC_39 extends MovieClip {
public function _ExportEpisodesMC_39(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 11
//_ExportSoundsMC_14 (PnC_Game_fla._ExportSoundsMC_14)
package PnC_Game_fla {
import flash.display.*;
public dynamic class _ExportSoundsMC_14 extends MovieClip {
public function _ExportSoundsMC_14(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 12
//_ExportWindowsMC_15 (PnC_Game_fla._ExportWindowsMC_15)
package PnC_Game_fla {
import flash.display.*;
public dynamic class _ExportWindowsMC_15 extends MovieClip {
public var windowInstr:WindowInstructions;
public var windowItem:WindowItem;
public var windowFinal:WindowFinal;
public var windowYouAH:WindowYouAreHistory;
public var windowNextL:WindowNextLevel;
public function _ExportWindowsMC_15(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 13
//_nextBtn_588 (PnC_Game_fla._nextBtn_588)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
public dynamic class _nextBtn_588 extends MovieClip {
public var hitMc:MovieClip;
public function _nextBtn_588(){
addFrameScript(0, frame1, 1, frame2, 7, frame8, 8, frame9);
}
public function onMouseOver(_arg1:MouseEvent):void{
gotoAndPlay("over");
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
this.hitArea = hitMc;
addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onMouseOut(_arg1:MouseEvent):void{
gotoAndPlay("up");
}
function frame9(){
play();
}
function frame8(){
stop();
}
function frame2(){
play();
}
public function onClick(_arg1:MouseEvent):void{
if (Console.currentEpisode){
Console.currentEpisode.start();
Console.hidePrologue();
};
}
}
}//package PnC_Game_fla
Section 14
//anim_eye_r_351 (PnC_Game_fla.anim_eye_r_351)
package PnC_Game_fla {
import flash.display.*;
public dynamic class anim_eye_r_351 extends MovieClip {
public function anim_eye_r_351(){
addFrameScript(191, frame192);
}
function frame192(){
gotoAndPlay(10);
}
}
}//package PnC_Game_fla
Section 15
//anim_mouth_327 (PnC_Game_fla.anim_mouth_327)
package PnC_Game_fla {
import flash.display.*;
public dynamic class anim_mouth_327 extends MovieClip {
public function anim_mouth_327(){
addFrameScript(21, frame22);
}
function frame22(){
gotoAndPlay(1);
}
}
}//package PnC_Game_fla
Section 16
//Banner_594 (PnC_Game_fla.Banner_594)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class Banner_594 extends MovieClip {
public var link:String;
public function Banner_594(){
addFrameScript(0, frame1);
}
public function onMouseClick(_arg1:MouseEvent):void{
navigateToURL(new URLRequest(link), "_blank");
}
function frame1(){
link = "http://mediapartner.bigpoint.net/scripts/click.php?anid=930034&anbid=39450778";
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onMouseClick);
}
}
}//package PnC_Game_fla
Section 17
//blood_01_209 (PnC_Game_fla.blood_01_209)
package PnC_Game_fla {
import flash.display.*;
public dynamic class blood_01_209 extends MovieClip {
public function blood_01_209(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package PnC_Game_fla
Section 18
//blood_01_217 (PnC_Game_fla.blood_01_217)
package PnC_Game_fla {
import flash.display.*;
public dynamic class blood_01_217 extends MovieClip {
public function blood_01_217(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package PnC_Game_fla
Section 19
//blood_01_259 (PnC_Game_fla.blood_01_259)
package PnC_Game_fla {
import flash.display.*;
public dynamic class blood_01_259 extends MovieClip {
public function blood_01_259(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package PnC_Game_fla
Section 20
//blood_01_301 (PnC_Game_fla.blood_01_301)
package PnC_Game_fla {
import flash.display.*;
public dynamic class blood_01_301 extends MovieClip {
public function blood_01_301(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package PnC_Game_fla
Section 21
//blood_01_557 (PnC_Game_fla.blood_01_557)
package PnC_Game_fla {
import flash.display.*;
public dynamic class blood_01_557 extends MovieClip {
public function blood_01_557(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package PnC_Game_fla
Section 22
//blood_01_562 (PnC_Game_fla.blood_01_562)
package PnC_Game_fla {
import flash.display.*;
public dynamic class blood_01_562 extends MovieClip {
public function blood_01_562(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package PnC_Game_fla
Section 23
//boom_249 (PnC_Game_fla.boom_249)
package PnC_Game_fla {
import flash.display.*;
public dynamic class boom_249 extends MovieClip {
public function boom_249(){
addFrameScript(70, frame71);
}
function frame71(){
stop();
}
}
}//package PnC_Game_fla
Section 24
//boom_258 (PnC_Game_fla.boom_258)
package PnC_Game_fla {
import flash.display.*;
public dynamic class boom_258 extends MovieClip {
public function boom_258(){
addFrameScript(70, frame71);
}
function frame71(){
stop();
}
}
}//package PnC_Game_fla
Section 25
//box_animated_510 (PnC_Game_fla.box_animated_510)
package PnC_Game_fla {
import flash.display.*;
public dynamic class box_animated_510 extends MovieClip {
public function box_animated_510(){
addFrameScript(0, frame1, 40, frame41);
}
function frame1(){
stop();
}
function frame41(){
stop();
if (parent["intCall"]){
var _local1 = parent;
_local1["intCall"]();
};
}
}
}//package PnC_Game_fla
Section 26
//btnControl_516 (PnC_Game_fla.btnControl_516)
package PnC_Game_fla {
import flash.display.*;
public dynamic class btnControl_516 extends MovieClip {
public function btnControl_516(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 27
//bull_kick_329 (PnC_Game_fla.bull_kick_329)
package PnC_Game_fla {
import flash.display.*;
public dynamic class bull_kick_329 extends MovieClip {
public function bull_kick_329(){
addFrameScript(9, frame10, 20, frame21);
}
function frame10(){
Console.currentEpisode.internalCall();
}
function frame21(){
stop();
}
}
}//package PnC_Game_fla
Section 28
//bullHead_eat_carot_BIG_EYES_350 (PnC_Game_fla.bullHead_eat_carot_BIG_EYES_350)
package PnC_Game_fla {
import flash.display.*;
public dynamic class bullHead_eat_carot_BIG_EYES_350 extends MovieClip {
public function bullHead_eat_carot_BIG_EYES_350(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package PnC_Game_fla
Section 29
//button_9 (PnC_Game_fla.button_9)
package PnC_Game_fla {
import flash.display.*;
public dynamic class button_9 extends MovieClip {
public function button_9(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package PnC_Game_fla
Section 30
//car_263 (PnC_Game_fla.car_263)
package PnC_Game_fla {
import flash.display.*;
public dynamic class car_263 extends MovieClip {
public function car_263(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 31
//car_431 (PnC_Game_fla.car_431)
package PnC_Game_fla {
import flash.display.*;
public dynamic class car_431 extends MovieClip {
public var init:Boolean;
public var anim:MovieClip;
public function car_431(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
init = true;
}
function frame2(){
stop();
if (!init){
prevFrame();
};
}
}
}//package PnC_Game_fla
Section 32
//car_468 (PnC_Game_fla.car_468)
package PnC_Game_fla {
import flash.display.*;
public dynamic class car_468 extends MovieClip {
public var anim:MovieClip;
public var playanim:Boolean;
public function car_468(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
playanim = false;
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 33
//carApproachSound_453 (PnC_Game_fla.carApproachSound_453)
package PnC_Game_fla {
import flash.display.*;
public dynamic class carApproachSound_453 extends MovieClip {
public function carApproachSound_453(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 34
//carMoveElefant_265 (PnC_Game_fla.carMoveElefant_265)
package PnC_Game_fla {
import flash.display.*;
public dynamic class carMoveElefant_265 extends MovieClip {
public function carMoveElefant_265(){
addFrameScript(0, frame1, 15, frame16);
}
function frame16(){
gotoAndPlay("in");
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 35
//carMoveElefant_470 (PnC_Game_fla.carMoveElefant_470)
package PnC_Game_fla {
import flash.display.*;
public dynamic class carMoveElefant_470 extends MovieClip {
public function carMoveElefant_470(){
addFrameScript(0, frame1, 15, frame16);
}
function frame16(){
gotoAndPlay("in");
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 36
//carMoveElephantMc_264 (PnC_Game_fla.carMoveElephantMc_264)
package PnC_Game_fla {
import flash.display.*;
public dynamic class carMoveElephantMc_264 extends MovieClip {
public function carMoveElephantMc_264(){
addFrameScript(0, frame1, 62, frame63);
}
function frame1(){
stop();
}
function frame63(){
stop();
}
}
}//package PnC_Game_fla
Section 37
//carMoveElephantMc_469 (PnC_Game_fla.carMoveElephantMc_469)
package PnC_Game_fla {
import flash.display.*;
public dynamic class carMoveElephantMc_469 extends MovieClip {
public function carMoveElephantMc_469(){
addFrameScript(0, frame1, 62, frame63);
}
function frame1(){
stop();
}
function frame63(){
stop();
}
}
}//package PnC_Game_fla
Section 38
//carMoveForward_268 (PnC_Game_fla.carMoveForward_268)
package PnC_Game_fla {
import flash.display.*;
public dynamic class carMoveForward_268 extends MovieClip {
public function carMoveForward_268(){
addFrameScript(0, frame1, 15, frame16);
}
function frame16(){
gotoAndPlay("in");
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 39
//carMoveForward_432 (PnC_Game_fla.carMoveForward_432)
package PnC_Game_fla {
import flash.display.*;
public dynamic class carMoveForward_432 extends MovieClip {
public function carMoveForward_432(){
addFrameScript(0, frame1, 15, frame16);
}
function frame16(){
gotoAndPlay("in");
}
function frame1(){
}
}
}//package PnC_Game_fla
Section 40
//carMoveForward_473 (PnC_Game_fla.carMoveForward_473)
package PnC_Game_fla {
import flash.display.*;
public dynamic class carMoveForward_473 extends MovieClip {
public function carMoveForward_473(){
addFrameScript(0, frame1, 15, frame16);
}
function frame16(){
gotoAndPlay("in");
}
function frame1(){
stop();
if (((parent["playanim"]) && ((parent["playanim"] == true)))){
play();
};
}
}
}//package PnC_Game_fla
Section 41
//character_killEnemy_54 (PnC_Game_fla.character_killEnemy_54)
package PnC_Game_fla {
import flash.display.*;
public dynamic class character_killEnemy_54 extends MovieClip {
public var mrEvil:MovieClip;
public function character_killEnemy_54(){
addFrameScript(25, frame26, 134, frame135);
}
function frame26(){
Console.currentEpisode.internalISet();
}
function frame135(){
stop();
Console.currentEpisode.internalCall();
}
}
}//package PnC_Game_fla
Section 42
//character_seat_445 (PnC_Game_fla.character_seat_445)
package PnC_Game_fla {
import flash.display.*;
public dynamic class character_seat_445 extends MovieClip {
public function character_seat_445(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package PnC_Game_fla
Section 43
//character_throwLiana_336 (PnC_Game_fla.character_throwLiana_336)
package PnC_Game_fla {
import flash.display.*;
public dynamic class character_throwLiana_336 extends MovieClip {
public function character_throwLiana_336(){
addFrameScript(49, frame50, 90, frame91, 91, frame92, 154, frame155);
}
function frame155(){
stop();
Console.currentEpisode.internalCall();
}
function frame91(){
stop();
Console.currentEpisode.internalCall();
}
function frame92(){
Console.currentEpisode.internalISet();
}
function frame50(){
Console.currentEpisode.internalISet();
}
}
}//package PnC_Game_fla
Section 44
//character_walkIN_pit_81 (PnC_Game_fla.character_walkIN_pit_81)
package PnC_Game_fla {
import flash.display.*;
public dynamic class character_walkIN_pit_81 extends MovieClip {
public function character_walkIN_pit_81(){
addFrameScript(64, frame65);
}
function frame65(){
stop();
Console.currentEpisode.internalCall();
}
}
}//package PnC_Game_fla
Section 45
//characters_goTOpriz_74 (PnC_Game_fla.characters_goTOpriz_74)
package PnC_Game_fla {
import flash.display.*;
public dynamic class characters_goTOpriz_74 extends MovieClip {
public function characters_goTOpriz_74(){
addFrameScript(73, frame74, 125, frame126);
}
function frame74(){
Console.currentEpisode.internalISet();
}
function frame126(){
stop();
Console.currentEpisode.internalCall();
}
}
}//package PnC_Game_fla
Section 46
//charater_pushedintothepit_79 (PnC_Game_fla.charater_pushedintothepit_79)
package PnC_Game_fla {
import flash.display.*;
public dynamic class charater_pushedintothepit_79 extends MovieClip {
public function charater_pushedintothepit_79(){
addFrameScript(46, frame47, 88, frame89);
}
function frame89(){
stop();
Console.currentEpisode.internalCall();
}
function frame47(){
Console.currentEpisode.internalISet();
}
}
}//package PnC_Game_fla
Section 47
//Console_597 (PnC_Game_fla.Console_597)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Console_597 extends MovieClip {
public var sbh;
public var btnClose:MovieClip;
public var sbv;
public var scrollerH:MovieClip;
public var scrollerV:MovieClip;
public var content:MovieClip;
public var command_tf:TextField;
public function Console_597(){
addFrameScript(0, frame1);
}
public function clearAll():void{
content.cont_mc.history_tf.text = "";
command_tf.text = "";
}
public function getCommand():String{
return (command_tf.text);
}
public function addMessage(_arg1:String):void{
content.cont_mc.history_tf.text = (content.cont_mc.history_tf.text + (_arg1 + "\n"));
}
public function clearCommand():void{
command_tf.text = "";
}
function frame1(){
sbv = new ScrollBarV(content.cont_mc, content.mask_mc, scrollerV.track_mc, scrollerV.thumb_mc, scrollerV.btnUp, scrollerV.btnDown);
sbh = new ScrollBarH(content.cont_mc, content.mask_mc, scrollerH.track_mc, scrollerH.thumb_mc, scrollerH.btnLeft, scrollerH.btnRight);
btnClose.addEventListener(MouseEvent.CLICK, onBtnCloseClick);
}
public function clearHistory():void{
content.cont_mc.history_tf.text = "";
}
public function onBtnCloseClick(_arg1:MouseEvent):void{
visible = false;
}
public function addHistory(_arg1:String):void{
content.cont_mc.history_tf.text = (content.cont_mc.history_tf.text + (("> " + _arg1) + "\n"));
}
}
}//package PnC_Game_fla
Section 48
//cont_600 (PnC_Game_fla.cont_600)
package PnC_Game_fla {
import flash.display.*;
import flash.text.*;
public dynamic class cont_600 extends MovieClip {
public var history_tf:TextField;
public function cont_600(){
addFrameScript(0, frame1);
}
function frame1(){
history_tf.autoSize = "left";
}
}
}//package PnC_Game_fla
Section 49
//content_599 (PnC_Game_fla.content_599)
package PnC_Game_fla {
import flash.display.*;
public dynamic class content_599 extends MovieClip {
public var cont_mc:MovieClip;
public var mask_mc:MovieClip;
}
}//package PnC_Game_fla
Section 50
//controlPanel_515 (PnC_Game_fla.controlPanel_515)
package PnC_Game_fla {
import flash.display.*;
public dynamic class controlPanel_515 extends MovieClip {
public var btnUp:MovieClip;
public var btnDown:MovieClip;
}
}//package PnC_Game_fla
Section 51
//crane_558 (PnC_Game_fla.crane_558)
package PnC_Game_fla {
import flash.display.*;
public dynamic class crane_558 extends MovieClip {
public var craneDetail:MovieClip;
public function crane_558(){
addFrameScript(0, frame1, 1, frame2, 6, frame7, 22, frame23, 28, frame29, 49, frame50);
}
function frame7(){
stop();
Console.currentEpisode.internalCall();
}
function frame1(){
stop();
}
function frame23(){
stop();
Console.currentEpisode.internalCall();
}
function frame29(){
Console.currentEpisode.internalISet();
}
function frame2(){
stop();
}
function frame50(){
stop();
Console.currentEpisode.internalCall();
}
}
}//package PnC_Game_fla
Section 52
//Epilogue_578 (PnC_Game_fla.Epilogue_578)
package PnC_Game_fla {
import flash.display.*;
public dynamic class Epilogue_578 extends MovieClip {
public function Epilogue_578(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 53
//FPSDisplay_572 (PnC_Game_fla.FPSDisplay_572)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public dynamic class FPSDisplay_572 extends MovieClip {
public var _tf:TextField;
public var begTime:Number;
public function FPSDisplay_572(){
addFrameScript(0, frame1);
}
function frame1(){
begTime = 0;
addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
}
public function onEnterFrameHandler(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
_local2 = (getTimer() - begTime);
_local3 = (1000 / _local2);
if (_local3 >= 24){
_tf.textColor = 0xFF00;
} else {
if (_local3 >= 12){
_tf.textColor = 0xFFFF00;
} else {
_tf.textColor = 0xFF0000;
};
};
_tf.text = _local3.toFixed(3);
begTime = getTimer();
}
}
}//package PnC_Game_fla
Section 54
//head_die1_206 (PnC_Game_fla.head_die1_206)
package PnC_Game_fla {
import flash.display.*;
public dynamic class head_die1_206 extends MovieClip {
public function head_die1_206(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package PnC_Game_fla
Section 55
//head_die1_214 (PnC_Game_fla.head_die1_214)
package PnC_Game_fla {
import flash.display.*;
public dynamic class head_die1_214 extends MovieClip {
public function head_die1_214(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package PnC_Game_fla
Section 56
//head_die1_222 (PnC_Game_fla.head_die1_222)
package PnC_Game_fla {
import flash.display.*;
public dynamic class head_die1_222 extends MovieClip {
public function head_die1_222(){
addFrameScript(76, frame77);
}
function frame77(){
stop();
}
}
}//package PnC_Game_fla
Section 57
//head_seat_446 (PnC_Game_fla.head_seat_446)
package PnC_Game_fla {
import flash.display.*;
public dynamic class head_seat_446 extends MovieClip {
public function head_seat_446(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package PnC_Game_fla
Section 58
//HintButton_575 (PnC_Game_fla.HintButton_575)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class HintButton_575 extends MovieClip {
public var _fill:MovieClip;
public var initialized;
public function HintButton_575(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
if (!initialized){
useHandCursor = true;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(MouseEvent.CLICK, onClick);
initialized = true;
};
}
function frame2(){
stop();
_fill.scaleY = 0;
}
public function onEnterFrame(_arg1:Event):void{
if (currentFrame == 2){
if (Console.currentEpisode){
if (((_fill) && ((Console.currentEpisode.state == "STARTED")))){
_fill.scaleY = -(Console.currentEpisode.getHintFill());
if (Console.currentEpisode.hintFillTime >= 0){
if (Console.currentEpisode.isHintReady()){
buttonMode = true;
} else {
buttonMode = false;
filters = null;
};
} else {
buttonMode = true;
};
};
};
};
}
public function onClick(_arg1:MouseEvent):void{
if (currentFrame == 2){
if (Console.currentEpisode){
if (Console.currentEpisode.hintFillTime >= 0){
if (((Console.currentEpisode.isHintReady()) && (Console.currentEpisode.action))){
Console.currentEpisode.restartHintTimer();
if (Console.currentEpisode.showHint != null){
Console.currentEpisode.showHint();
};
Tracer.report("[i]", "Hint used.", "HintButton");
buttonMode = false;
filters = null;
};
} else {
if (((Game.helplink) && (!((Game.helplink == ""))))){
navigateToURL(new URLRequest(Game.helplink), "_blank");
} else {
Tracer.report("[!]", "Bad link URL.", "HintButton");
};
};
};
};
}
}
}//package PnC_Game_fla
Section 59
//hl_8 (PnC_Game_fla.hl_8)
package PnC_Game_fla {
import flash.display.*;
public dynamic class hl_8 extends MovieClip {
public function hl_8(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package PnC_Game_fla
Section 60
//jf_die1_202 (PnC_Game_fla.jf_die1_202)
package PnC_Game_fla {
import flash.display.*;
public dynamic class jf_die1_202 extends MovieClip {
public var callback:Function;
public function jf_die1_202(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 61
//jf_die2_210 (PnC_Game_fla.jf_die2_210)
package PnC_Game_fla {
import flash.display.*;
public dynamic class jf_die2_210 extends MovieClip {
public var callback:Function;
public function jf_die2_210(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 62
//jf_die3_218 (PnC_Game_fla.jf_die3_218)
package PnC_Game_fla {
import flash.display.*;
public dynamic class jf_die3_218 extends MovieClip {
public var callback:Function;
public function jf_die3_218(){
addFrameScript(76, frame77);
}
function frame77(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 63
//jf_lash_176 (PnC_Game_fla.jf_lash_176)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class jf_lash_176 extends MovieClip {
public var callback01:Function;
public var callback:Function;
public function jf_lash_176(){
addFrameScript(31, frame32, 51, frame52);
}
function frame32(){
if (parent["animInstrSet"] != null){
if ((parent["animInstrSet"] is Array)){
if ((parent["animInstrSet"][0] is Function)){
callback01 = parent["animInstrSet"].shift();
callback01();
};
};
};
}
function frame52(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 64
//jf_lashSpear_192 (PnC_Game_fla.jf_lashSpear_192)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class jf_lashSpear_192 extends MovieClip {
public var callback01:Function;
public var callback:Function;
public function jf_lashSpear_192(){
addFrameScript(30, frame31, 51, frame52);
}
function frame31(){
if (parent["animInstrSet"] != null){
if ((parent["animInstrSet"] is Array)){
if ((parent["animInstrSet"][0] is Function)){
callback01 = parent["animInstrSet"].shift();
callback01();
};
};
};
}
function frame52(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 65
//jf_lashUp_184 (PnC_Game_fla.jf_lashUp_184)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class jf_lashUp_184 extends MovieClip {
public var callback01:Function;
public var callback:Function;
public function jf_lashUp_184(){
addFrameScript(29, frame30, 51, frame52);
}
function frame30(){
if (parent["animInstrSet"] != null){
if ((parent["animInstrSet"] is Array)){
if ((parent["animInstrSet"][0] is Function)){
callback01 = parent["animInstrSet"].shift();
callback01();
};
};
};
}
function frame52(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 66
//jf_pickUp_169 (PnC_Game_fla.jf_pickUp_169)
package PnC_Game_fla {
import flash.display.*;
public dynamic class jf_pickUp_169 extends MovieClip {
public var callback:Function;
public function jf_pickUp_169(){
addFrameScript(25, frame26);
}
function frame26(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 67
//jf_take_162 (PnC_Game_fla.jf_take_162)
package PnC_Game_fla {
import flash.display.*;
public dynamic class jf_take_162 extends MovieClip {
public var callback:Function;
public function jf_take_162(){
addFrameScript(15, frame16);
}
function frame16(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 68
//jf_throwBanana_225 (PnC_Game_fla.jf_throwBanana_225)
package PnC_Game_fla {
import flash.display.*;
public dynamic class jf_throwBanana_225 extends MovieClip {
public var callback:Function;
public function jf_throwBanana_225(){
addFrameScript(37, frame38);
}
function frame38(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 69
//jf_throwBarrel_241 (PnC_Game_fla.jf_throwBarrel_241)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class jf_throwBarrel_241 extends MovieClip {
public var callback01:Function;
public var explosion:MovieClip;
public var callback:Function;
public function jf_throwBarrel_241(){
addFrameScript(39, frame40, 89, frame90);
}
function frame90(){
explosion.stop();
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
function frame40(){
if (parent["animInstrSet"] != null){
if ((parent["animInstrSet"] is Array)){
if ((parent["animInstrSet"][0] is Function)){
callback01 = parent["animInstrSet"].shift();
callback01();
};
};
};
}
}
}//package PnC_Game_fla
Section 70
//jf_throwBarrelAndDie_250 (PnC_Game_fla.jf_throwBarrelAndDie_250)
package PnC_Game_fla {
import flash.display.*;
public dynamic class jf_throwBarrelAndDie_250 extends MovieClip {
public var callback:Function;
public function jf_throwBarrelAndDie_250(){
addFrameScript(99, frame100);
}
function frame100(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 71
//jf_throwTrap_233 (PnC_Game_fla.jf_throwTrap_233)
package PnC_Game_fla {
import flash.display.*;
public dynamic class jf_throwTrap_233 extends MovieClip {
public var callback:Function;
public function jf_throwTrap_233(){
addFrameScript(33, frame34);
}
function frame34(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 72
//jf_walk_155 (PnC_Game_fla.jf_walk_155)
package PnC_Game_fla {
import flash.display.*;
public dynamic class jf_walk_155 extends MovieClip {
public function jf_walk_155(){
addFrameScript(24, frame25);
}
function frame25(){
gotoAndPlay(6);
}
}
}//package PnC_Game_fla
Section 73
//levelEndPicture_31 (PnC_Game_fla.levelEndPicture_31)
package PnC_Game_fla {
import flash.display.*;
public dynamic class levelEndPicture_31 extends MovieClip {
public function levelEndPicture_31(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 74
//logo_22 (PnC_Game_fla.logo_22)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class logo_22 extends MovieClip {
public function logo_22(){
addFrameScript(0, frame1);
}
public function onMouseClick(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.abroy.com"), "_blank");
}
function frame1(){
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onMouseClick);
}
}
}//package PnC_Game_fla
Section 75
//logo_4 (PnC_Game_fla.logo_4)
package PnC_Game_fla {
import flash.display.*;
public dynamic class logo_4 extends MovieClip {
public function logo_4(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package PnC_Game_fla
Section 76
//logoBtn_fgames_569 (PnC_Game_fla.logoBtn_fgames_569)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class logoBtn_fgames_569 extends MovieClip {
public function logoBtn_fgames_569(){
addFrameScript(0, frame1);
}
function frame1(){
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.funny-games.biz"), "_blank");
}
}
}//package PnC_Game_fla
Section 77
//Logotype_595 (PnC_Game_fla.Logotype_595)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class Logotype_595 extends MovieClip {
public function Logotype_595(){
addFrameScript(0, frame1);
}
public function onMouseClick(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.abroy.com"), "_blank");
}
function frame1(){
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onMouseClick);
}
}
}//package PnC_Game_fla
Section 78
//mainMenuBtn_27 (PnC_Game_fla.mainMenuBtn_27)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
public dynamic class mainMenuBtn_27 extends MovieClip {
public var hitMc:MovieClip;
public function mainMenuBtn_27(){
addFrameScript(0, frame1, 1, frame2, 7, frame8, 8, frame9);
}
public function onMouseOver(_arg1:MouseEvent):void{
gotoAndPlay("over");
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
this.hitArea = hitMc;
addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onMouseOut(_arg1:MouseEvent):void{
gotoAndPlay("up");
}
function frame9(){
play();
}
function frame8(){
stop();
}
function frame2(){
play();
}
public function onClick(_arg1:MouseEvent):void{
Console.enterMainMenu();
}
}
}//package PnC_Game_fla
Section 79
//MainTimeline (PnC_Game_fla.MainTimeline)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var message:MovieClip;
public var prel:MovieClip;
public var memDisplay:MovieClip;
public var console:MovieClip;
public var allowRun:Boolean;
public var fpsDisplay:MovieClip;
public var cover:MovieClip;
public var spfDisplay:MovieClip;
public var game:Game;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
trace("+------------------------------------------------+");
trace("| MAIN MENU |");
trace("+------------------------------------------------+");
stop();
if (Console.mPlayer.isPlaying){
Console.mPlayer.stopMusic();
};
Console.pac_game = this;
if (Game.gamemode != "debug"){
memDisplay.visible = false;
spfDisplay.visible = false;
fpsDisplay.visible = false;
};
}
function frame1(){
trace("+------------------------------------------------+");
trace("| PRELOADER |");
trace("+------------------------------------------------+");
stop();
allowRun = true;
Game.helplink = "http://www.abroy.com/play/adventure-games/johnny-finder-walkthrough/";
if (Game.sitelock){
if (loaderInfo.url.indexOf("http://www.abroy.com") == -1){
allowRun = false;
};
};
if (allowRun){
loaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
} else {
prel.pr_body.gotoAndStop(1);
visible = false;
};
}
function frame4(){
trace("+------------------------------------------------+");
trace("| MAIN GAME |");
trace("+------------------------------------------------+");
stop();
Console.mPlayer.playMusic(new GameMusic());
console.visible = false;
console.alpha = 1;
console.clearAll();
if (Game.gamemode == "debug"){
message.gotoAndStop(2);
stage.addEventListener(KeyboardEvent.KEY_DOWN, onGameKeyDown);
};
}
public function showProgress(_arg1:ProgressEvent):void{
var _local2:Number;
var _local3:Number;
_local2 = Math.floor(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100));
_local3 = Math.round(((_arg1.bytesLoaded / _arg1.bytesTotal) * 45));
prel.pr_body.gotoAndStop(_local2);
trace((((((_arg1.bytesLoaded + "/") + _arg1.bytesTotal) + " (") + _local2) + "%)"));
if (_arg1.bytesLoaded >= _arg1.bytesTotal){
removeEventListener(ProgressEvent.PROGRESS, showProgress);
prel.gotoAndPlay(2);
trace("[%] LOADING COMPLETE");
};
}
function frame2(){
trace("+------------------------------------------------+");
trace("| EXPORT CLASSES |");
trace("+------------------------------------------------+");
nextFrame();
}
public function onGameKeyDown(_arg1:KeyboardEvent):void{
if (Game.inst){
if (_arg1.keyCode == 67){
if (!console.visible){
console.visible = true;
} else {
if (stage.focus != console.command_tf){
console.visible = false;
};
};
};
if (_arg1.keyCode == 13){
if (stage.focus == console.command_tf){
CommandProcessor.process(console.getCommand());
};
};
} else {
_arg1.target.removeEventListener(KeyboardEvent.KEY_DOWN, onGameKeyDown);
};
}
}
}//package PnC_Game_fla
Section 80
//MemoryDisplay_570 (PnC_Game_fla.MemoryDisplay_570)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public dynamic class MemoryDisplay_570 extends MovieClip {
public var _tf:TextField;
public function MemoryDisplay_570(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
}
public function onEnterFrameHandler(_arg1:Event):void{
var _local2:Number;
_local2 = Utils.getTotalMemory();
if (_local2 <= 16){
_tf.textColor = 0xFF00;
} else {
if (_local2 <= 24){
_tf.textColor = 0xFFFF00;
} else {
_tf.textColor = 0xFF0000;
};
};
_tf.text = _local2.toFixed(3);
}
}
}//package PnC_Game_fla
Section 81
//Message_596 (PnC_Game_fla.Message_596)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Message_596 extends MovieClip {
public function Message_596(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
if (!parent["console"].visible){
parent["console"].visible = true;
} else {
parent["console"].visible = false;
};
}
}
}//package PnC_Game_fla
Section 82
//monkey_escapes_375 (PnC_Game_fla.monkey_escapes_375)
package PnC_Game_fla {
import flash.display.*;
public dynamic class monkey_escapes_375 extends MovieClip {
public function monkey_escapes_375(){
addFrameScript(18, frame19, 34, frame35);
}
function frame19(){
Console.currentEpisode.internalCall();
}
function frame35(){
stop();
}
}
}//package PnC_Game_fla
Section 83
//monkey_jumps_377 (PnC_Game_fla.monkey_jumps_377)
package PnC_Game_fla {
import flash.display.*;
public dynamic class monkey_jumps_377 extends MovieClip {
public function monkey_jumps_377(){
addFrameScript(21, frame22);
}
function frame22(){
stop();
Console.currentEpisode.internalCall();
}
}
}//package PnC_Game_fla
Section 84
//monkey_jumpsAndEscape_379 (PnC_Game_fla.monkey_jumpsAndEscape_379)
package PnC_Game_fla {
import flash.display.*;
public dynamic class monkey_jumpsAndEscape_379 extends MovieClip {
public function monkey_jumpsAndEscape_379(){
addFrameScript(25, frame26, 50, frame51);
}
function frame26(){
Console.currentEpisode.internalISet();
}
function frame51(){
stop();
Console.currentEpisode.internalCall();
}
}
}//package PnC_Game_fla
Section 85
//moreGamesBtn_29 (PnC_Game_fla.moreGamesBtn_29)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class moreGamesBtn_29 extends MovieClip {
public var hitMc:MovieClip;
public function moreGamesBtn_29(){
addFrameScript(0, frame1, 1, frame2, 7, frame8, 8, frame9);
}
public function onMouseOver(_arg1:MouseEvent):void{
gotoAndPlay("over");
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
this.hitArea = hitMc;
addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onMouseOut(_arg1:MouseEvent):void{
gotoAndPlay("up");
}
function frame9(){
play();
}
function frame8(){
stop();
}
function frame2(){
play();
}
public function onClick(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.abroy.com"), "_blank");
}
}
}//package PnC_Game_fla
Section 86
//moreGamesBtn_568 (PnC_Game_fla.moreGamesBtn_568)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class moreGamesBtn_568 extends MovieClip {
public function moreGamesBtn_568(){
addFrameScript(0, frame1);
}
function frame1(){
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.abroy.com"), "_blank");
}
}
}//package PnC_Game_fla
Section 87
//mrEvil_push_118 (PnC_Game_fla.mrEvil_push_118)
package PnC_Game_fla {
import flash.display.*;
public dynamic class mrEvil_push_118 extends MovieClip {
public var callback:Function;
public function mrEvil_push_118(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 88
//MuteButton_592 (PnC_Game_fla.MuteButton_592)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
public dynamic class MuteButton_592 extends MovieClip {
public var hit_mc:MovieClip;
public function MuteButton_592(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
this.hitArea = hit_mc;
hit_mc.visible = false;
mouseChildren = false;
buttonMode = true;
addEventListener(MouseEvent.CLICK, onClick);
}
function frame2(){
stop();
}
public function onClick(_arg1:MouseEvent):void{
if (currentFrame == 1){
Console.mPlayer.musicOFF();
nextFrame();
} else {
Console.mPlayer.musicON();
prevFrame();
};
}
}
}//package PnC_Game_fla
Section 89
//native_getNecklace_411 (PnC_Game_fla.native_getNecklace_411)
package PnC_Game_fla {
import flash.display.*;
public dynamic class native_getNecklace_411 extends MovieClip {
public var callback:Function;
public function native_getNecklace_411(){
addFrameScript(122, frame123);
}
function frame123(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 90
//native_kill_407 (PnC_Game_fla.native_kill_407)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class native_kill_407 extends MovieClip {
public var callback01:Function;
public var callback:Function;
public function native_kill_407(){
addFrameScript(11, frame12, 131, frame132);
}
function frame12(){
if (parent["animInstrSet"] != null){
if ((parent["animInstrSet"] is Array)){
if ((parent["animInstrSet"][0] is Function)){
callback01 = parent["animInstrSet"].shift();
callback01();
};
};
};
}
function frame132(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 91
//nextBtn_32 (PnC_Game_fla.nextBtn_32)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
public dynamic class nextBtn_32 extends MovieClip {
public var hitMc:MovieClip;
public function nextBtn_32(){
addFrameScript(0, frame1, 1, frame2, 7, frame8, 8, frame9);
}
public function onMouseOver(_arg1:MouseEvent):void{
gotoAndPlay("over");
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
this.hitArea = hitMc;
addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onMouseOut(_arg1:MouseEvent):void{
gotoAndPlay("up");
}
function frame9(){
play();
}
function frame8(){
stop();
}
function frame2(){
play();
}
public function onClick(_arg1:MouseEvent):void{
Console.nextEpisode();
}
}
}//package PnC_Game_fla
Section 92
//NPC_char1_Die_73 (PnC_Game_fla.NPC_char1_Die_73)
package PnC_Game_fla {
import flash.display.*;
public dynamic class NPC_char1_Die_73 extends MovieClip {
public function NPC_char1_Die_73(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 93
//NPC_char1_shoot_498 (PnC_Game_fla.NPC_char1_shoot_498)
package PnC_Game_fla {
import flash.display.*;
public dynamic class NPC_char1_shoot_498 extends MovieClip {
public function NPC_char1_shoot_498(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package PnC_Game_fla
Section 94
//NPC_char2_shoot_492 (PnC_Game_fla.NPC_char2_shoot_492)
package PnC_Game_fla {
import flash.display.*;
public dynamic class NPC_char2_shoot_492 extends MovieClip {
public function NPC_char2_shoot_492(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 95
//NPC_char2_shoot_seat_485 (PnC_Game_fla.NPC_char2_shoot_seat_485)
package PnC_Game_fla {
import flash.display.*;
public dynamic class NPC_char2_shoot_seat_485 extends MovieClip {
public function NPC_char2_shoot_seat_485(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 96
//officer_explode_295 (PnC_Game_fla.officer_explode_295)
package PnC_Game_fla {
import flash.display.*;
public dynamic class officer_explode_295 extends MovieClip {
public var callback:Function;
public function officer_explode_295(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 97
//officer_shoot_289 (PnC_Game_fla.officer_shoot_289)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class officer_shoot_289 extends MovieClip {
public var callback01:Function;
public var callback:Function;
public function officer_shoot_289(){
addFrameScript(11, frame12, 64, frame65);
}
function frame65(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
function frame12(){
if (parent["animInstrSet"] != null){
if ((parent["animInstrSet"] is Array)){
if ((parent["animInstrSet"][0] is Function)){
callback01 = parent["animInstrSet"].shift();
callback01();
};
};
};
}
}
}//package PnC_Game_fla
Section 98
//officer_shootDown_302 (PnC_Game_fla.officer_shootDown_302)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class officer_shootDown_302 extends MovieClip {
public var callback01:Function;
public var callback:Function;
public function officer_shootDown_302(){
addFrameScript(11, frame12, 64, frame65);
}
function frame65(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
function frame12(){
if (parent["animInstrSet"] != null){
if ((parent["animInstrSet"] is Array)){
if ((parent["animInstrSet"][0] is Function)){
callback01 = parent["animInstrSet"].shift();
callback01();
};
};
};
}
}
}//package PnC_Game_fla
Section 99
//play_btn_10 (PnC_Game_fla.play_btn_10)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
public dynamic class play_btn_10 extends MovieClip {
public var hit_mc:MovieClip;
public function play_btn_10(){
addFrameScript(0, frame1, 1, frame2, 9, frame10, 10, frame11, 19, frame20);
}
function frame10(){
stop();
}
function frame1(){
stop();
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, btnClick);
}
function frame20(){
gotoAndStop("begin");
}
function frame2(){
play();
}
function frame11(){
play();
}
public function btnClick(_arg1:MouseEvent):void{
var _local2 = root;
_local2["gotoAndPlay"](2);
}
}
}//package PnC_Game_fla
Section 100
//playBtn_37 (PnC_Game_fla.playBtn_37)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
public dynamic class playBtn_37 extends MovieClip {
public var hitMc:MovieClip;
public function playBtn_37(){
addFrameScript(0, frame1, 1, frame2, 10, frame11, 11, frame12);
}
public function onMouseOver(_arg1:MouseEvent):void{
gotoAndPlay("over");
}
function frame12(){
play();
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
this.hitArea = hitMc;
addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onMouseOut(_arg1:MouseEvent):void{
gotoAndPlay("up");
}
function frame2(){
play();
}
function frame11(){
stop();
}
public function onClick(_arg1:MouseEvent):void{
Console.playEpisode("first");
}
}
}//package PnC_Game_fla
Section 101
//playBtn_567 (PnC_Game_fla.playBtn_567)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
public dynamic class playBtn_567 extends MovieClip {
public function playBtn_567(){
addFrameScript(0, frame1);
}
function frame1(){
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
Console.enterMainGame();
}
}
}//package PnC_Game_fla
Section 102
//playBtn_589 (PnC_Game_fla.playBtn_589)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
public dynamic class playBtn_589 extends MovieClip {
public var hitMc:MovieClip;
public function playBtn_589(){
addFrameScript(0, frame1, 1, frame2, 10, frame11, 11, frame12);
}
public function onMouseOver(_arg1:MouseEvent):void{
gotoAndPlay("over");
}
function frame12(){
play();
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
this.hitArea = hitMc;
addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onMouseOut(_arg1:MouseEvent):void{
gotoAndPlay("up");
}
function frame2(){
play();
}
function frame11(){
stop();
}
public function onClick(_arg1:MouseEvent):void{
if (Console.currentEpisode){
Console.currentEpisode.start();
Console.hidePrologue();
};
}
}
}//package PnC_Game_fla
Section 103
//preloadBar_2 (PnC_Game_fla.preloadBar_2)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class preloadBar_2 extends MovieClip {
public var prel;
public function preloadBar_2(){
addFrameScript(0, frame1, 99, frame100);
}
function frame1(){
}
function frame100(){
stop();
prel = root["prel"];
prel.gotoAndPlay(2);
}
}
}//package PnC_Game_fla
Section 104
//Preloader_1 (PnC_Game_fla.Preloader_1)
package PnC_Game_fla {
import flash.display.*;
public dynamic class Preloader_1 extends MovieClip {
public var prel;
public var pr_body:MovieClip;
public var play_btn:MovieClip;
public function Preloader_1(){
addFrameScript(0, frame1, 53, frame54, 102, frame103, 110, frame111, 124, frame125);
}
function frame1(){
stop();
prel = root["prel"];
}
function frame103(){
}
function frame111(){
}
function frame125(){
stop();
}
function frame54(){
}
}
}//package PnC_Game_fla
Section 105
//Prolog_01_580 (PnC_Game_fla.Prolog_01_580)
package PnC_Game_fla {
import flash.display.*;
public dynamic class Prolog_01_580 extends MovieClip {
public var playBtn:MovieClip;
public var ready:Boolean;
public function Prolog_01_580(){
addFrameScript(0, frame1, 279, frame280);
}
function frame280(){
stop();
}
function frame1(){
stop();
ready = true;
}
}
}//package PnC_Game_fla
Section 106
//Prologue_579 (PnC_Game_fla.Prologue_579)
package PnC_Game_fla {
import flash.display.*;
public dynamic class Prologue_579 extends MovieClip {
public var images:MovieClip;
public function Prologue_579(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package PnC_Game_fla
Section 107
//retryBtn_19 (PnC_Game_fla.retryBtn_19)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
public dynamic class retryBtn_19 extends MovieClip {
public var hitMc:MovieClip;
public function retryBtn_19(){
addFrameScript(0, frame1, 1, frame2, 10, frame11, 11, frame12);
}
public function onMouseOver(_arg1:MouseEvent):void{
gotoAndPlay("over");
}
function frame12(){
play();
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
this.hitArea = hitMc;
addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onMouseOut(_arg1:MouseEvent):void{
gotoAndPlay("up");
}
function frame2(){
play();
}
function frame11(){
stop();
}
public function onClick(_arg1:MouseEvent):void{
Console.replayEpisode();
}
}
}//package PnC_Game_fla
Section 108
//sc02_box_animated_1_494 (PnC_Game_fla.sc02_box_animated_1_494)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc02_box_animated_1_494 extends MovieClip {
public function sc02_box_animated_1_494(){
addFrameScript(0, frame1, 39, frame40, 99, frame100);
}
function frame1(){
}
function frame100(){
stop();
}
function frame40(){
}
}
}//package PnC_Game_fla
Section 109
//sc02_box_animated_2_461 (PnC_Game_fla.sc02_box_animated_2_461)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc02_box_animated_2_461 extends MovieClip {
public function sc02_box_animated_2_461(){
addFrameScript(0, frame1, 40, frame41);
}
function frame1(){
}
function frame41(){
stop();
Console.currentEpisode.internalCall();
}
}
}//package PnC_Game_fla
Section 110
//sc02_box_animated_3_500 (PnC_Game_fla.sc02_box_animated_3_500)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc02_box_animated_3_500 extends MovieClip {
public function sc02_box_animated_3_500(){
addFrameScript(0, frame1, 39, frame40, 99, frame100);
}
function frame1(){
}
function frame100(){
stop();
}
function frame40(){
Console.currentEpisode.internalISet();
}
}
}//package PnC_Game_fla
Section 111
//sc02_elephant_headAll_481 (PnC_Game_fla.sc02_elephant_headAll_481)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc02_elephant_headAll_481 extends MovieClip {
public var init:Boolean;
public function sc02_elephant_headAll_481(){
addFrameScript(0, frame1, 1, frame2, 65, frame66);
}
function frame1(){
stop();
init = true;
}
function frame2(){
if (!init){
prevFrame();
};
}
function frame66(){
stop();
}
}
}//package PnC_Game_fla
Section 112
//sc02_ElephantCarEnemy_467 (PnC_Game_fla.sc02_ElephantCarEnemy_467)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc02_ElephantCarEnemy_467 extends MovieClip {
public var jf_sit:MovieClip;
public var car:MovieClip;
public function sc02_ElephantCarEnemy_467(){
addFrameScript(0, frame1, 3, frame4, 20, frame21, 103, frame104, 145, frame146);
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame104(){
stop();
Console.currentEpisode.internalISet();
}
function frame21(){
stop();
Console.currentEpisode.internalCall();
}
function frame146(){
stop();
Console.currentEpisode.internalCall();
}
}
}//package PnC_Game_fla
Section 113
//sc02_NPC_char1_shootcopy_499 (PnC_Game_fla.sc02_NPC_char1_shootcopy_499)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc02_NPC_char1_shootcopy_499 extends MovieClip {
public function sc02_NPC_char1_shootcopy_499(){
addFrameScript(0, frame1, 11, frame12, 64, frame65);
}
function frame65(){
stop();
}
function frame12(){
Console.currentEpisode.internalISet();
}
function frame1(){
}
}
}//package PnC_Game_fla
Section 114
//sc03_JohnnyOnCar_430 (PnC_Game_fla.sc03_JohnnyOnCar_430)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class sc03_JohnnyOnCar_430 extends MovieClip {
public var monkey:MovieClip;
public var car:MovieClip;
public function sc03_JohnnyOnCar_430(){
addFrameScript(26, frame27, 33, frame34, 100, frame101, 198, frame199);
}
function frame199(){
stop();
Console.currentEpisode.internalCall();
}
function frame101(){
stop();
Console.currentEpisode.internalCall();
}
function frame27(){
car.anim.stop();
}
function frame34(){
stop();
Console.currentEpisode.internalCall();
}
}
}//package PnC_Game_fla
Section 115
//sc03_monkey_animated_442 (PnC_Game_fla.sc03_monkey_animated_442)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc03_monkey_animated_442 extends MovieClip {
public function sc03_monkey_animated_442(){
addFrameScript(49, frame50);
}
function frame50(){
gotoAndPlay(2);
}
}
}//package PnC_Game_fla
Section 116
//sc03_monkey_animated_revers_364 (PnC_Game_fla.sc03_monkey_animated_revers_364)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc03_monkey_animated_revers_364 extends MovieClip {
public function sc03_monkey_animated_revers_364(){
addFrameScript(39, frame40);
}
function frame40(){
gotoAndPlay(2);
}
}
}//package PnC_Game_fla
Section 117
//sc03_monkey_animated_revers_421 (PnC_Game_fla.sc03_monkey_animated_revers_421)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc03_monkey_animated_revers_421 extends MovieClip {
public function sc03_monkey_animated_revers_421(){
addFrameScript(39, frame40);
}
function frame40(){
gotoAndPlay(2);
}
}
}//package PnC_Game_fla
Section 118
//sc03_monkey_Hand_365 (PnC_Game_fla.sc03_monkey_Hand_365)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc03_monkey_Hand_365 extends MovieClip {
public function sc03_monkey_Hand_365(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 119
//sc03_monkey_Leg_367 (PnC_Game_fla.sc03_monkey_Leg_367)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc03_monkey_Leg_367 extends MovieClip {
public function sc03_monkey_Leg_367(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 120
//sc03_monkey_tail_366 (PnC_Game_fla.sc03_monkey_tail_366)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc03_monkey_tail_366 extends MovieClip {
public function sc03_monkey_tail_366(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 121
//sc03_ringsAll_451 (PnC_Game_fla.sc03_ringsAll_451)
package PnC_Game_fla {
import flash.display.*;
public dynamic class sc03_ringsAll_451 extends MovieClip {
public function sc03_ringsAll_451(){
addFrameScript(0, frame1, 26, frame27);
}
function frame1(){
stop();
}
function frame27(){
stop();
}
}
}//package PnC_Game_fla
Section 122
//scrollerH_607 (PnC_Game_fla.scrollerH_607)
package PnC_Game_fla {
import flash.display.*;
public dynamic class scrollerH_607 extends MovieClip {
public var track_mc:MovieClip;
public var btnRight:MovieClip;
public var btnLeft:MovieClip;
public var thumb_mc:MovieClip;
}
}//package PnC_Game_fla
Section 123
//scrollerV_602 (PnC_Game_fla.scrollerV_602)
package PnC_Game_fla {
import flash.display.*;
public dynamic class scrollerV_602 extends MovieClip {
public var btnUp:MovieClip;
public var btnDown:MovieClip;
public var track_mc:MovieClip;
public var thumb_mc:MovieClip;
}
}//package PnC_Game_fla
Section 124
//skipBtn_582 (PnC_Game_fla.skipBtn_582)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
public dynamic class skipBtn_582 extends MovieClip {
public var hitMc:MovieClip;
public function skipBtn_582(){
addFrameScript(0, frame1, 1, frame2, 7, frame8, 8, frame9);
}
public function onMouseOver(_arg1:MouseEvent):void{
gotoAndPlay("over");
}
function frame1(){
stop();
mouseChildren = false;
buttonMode = true;
this.hitArea = hitMc;
addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onMouseOut(_arg1:MouseEvent):void{
gotoAndPlay("up");
}
function frame9(){
play();
}
function frame8(){
stop();
}
function frame2(){
play();
}
public function onClick(_arg1:MouseEvent):void{
if (Console.currentEpisode){
Console.currentEpisode.start();
Console.hidePrologue();
};
}
}
}//package PnC_Game_fla
Section 125
//soldier_die_548 (PnC_Game_fla.soldier_die_548)
package PnC_Game_fla {
import flash.display.*;
public dynamic class soldier_die_548 extends MovieClip {
public var callback:Function;
public function soldier_die_548(){
addFrameScript(84, frame85);
}
function frame85(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
}
}//package PnC_Game_fla
Section 126
//soldier_shoot_542 (PnC_Game_fla.soldier_shoot_542)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class soldier_shoot_542 extends MovieClip {
public var callback01:Function;
public var callback:Function;
public function soldier_shoot_542(){
addFrameScript(11, frame12, 64, frame65);
}
function frame65(){
stop();
if (parent["animCallback"] != null){
callback = parent["animCallback"];
parent["animCallback"] = null;
callback();
};
}
function frame12(){
if (parent["animInstrSet"] != null){
if ((parent["animInstrSet"] is Array)){
if ((parent["animInstrSet"][0] is Function)){
callback01 = parent["animInstrSet"].shift();
callback01();
};
};
};
}
}
}//package PnC_Game_fla
Section 127
//soldier_walk_536 (PnC_Game_fla.soldier_walk_536)
package PnC_Game_fla {
import flash.display.*;
public dynamic class soldier_walk_536 extends MovieClip {
public function soldier_walk_536(){
addFrameScript(24, frame25);
}
function frame25(){
gotoAndPlay(7);
}
}
}//package PnC_Game_fla
Section 128
//SPFDisplay_571 (PnC_Game_fla.SPFDisplay_571)
package PnC_Game_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public dynamic class SPFDisplay_571 extends MovieClip {
public var _tf:TextField;
public var begTime:Number;
public function SPFDisplay_571(){
addFrameScript(0, frame1);
}
function frame1(){
begTime = 0;
addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
}
public function onEnterFrameHandler(_arg1:Event):void{
var _local2:Number;
_local2 = (getTimer() - begTime);
if (_local2 <= 42){
_tf.textColor = 0xFF00;
} else {
if (_local2 <= 83){
_tf.textColor = 0xFFFF00;
} else {
_tf.textColor = 0xFF0000;
};
};
_tf.text = ("" + _local2);
begTime = getTimer();
}
}
}//package PnC_Game_fla
Section 129
//stalaktite_44 (PnC_Game_fla.stalaktite_44)
package PnC_Game_fla {
import flash.display.*;
public dynamic class stalaktite_44 extends MovieClip {
public var part:MovieClip;
}
}//package PnC_Game_fla
Section 130
//stalaktite1_46 (PnC_Game_fla.stalaktite1_46)
package PnC_Game_fla {
import flash.display.*;
public dynamic class stalaktite1_46 extends MovieClip {
public var part:MovieClip;
}
}//package PnC_Game_fla
Section 131
//star_anim_371 (PnC_Game_fla.star_anim_371)
package PnC_Game_fla {
import flash.display.*;
public dynamic class star_anim_371 extends MovieClip {
public function star_anim_371(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package PnC_Game_fla
Section 132
//star_anim_404 (PnC_Game_fla.star_anim_404)
package PnC_Game_fla {
import flash.display.*;
public dynamic class star_anim_404 extends MovieClip {
public function star_anim_404(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package PnC_Game_fla
Section 133
//Story_574 (PnC_Game_fla.Story_574)
package PnC_Game_fla {
import flash.display.*;
public dynamic class Story_574 extends MovieClip {
public function Story_574(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package PnC_Game_fla
Section 134
//Activator (Activator)
package {
import flash.display.*;
import flash.events.*;
public class Activator {
private var sprite:Sprite;
private var name:String;
private var target:Sprite;
private var state:String;
private var mode:String;
private var onPointCondition:Function;
private var onPointEvent:String;
private var onClick:Function;
private var onPoint:Function;
private var onClickCondition:Function;
private var region:Sprite;
private var onClickEvent:String;
private var episode:Episode;
public function Activator(_arg1:String, _arg2:Episode, _arg3:Sprite, _arg4:Object){
if (!_arg2.isActivator(_arg1)){
this.name = _arg1;
this.episode = _arg2;
this.target = _arg3;
this.sprite = ((_arg4.sprite is Sprite)) ? _arg4.sprite : null;
this.region = ((_arg4.region is Sprite)) ? _arg4.region : null;
this.state = ((_arg4.state is String)) ? _arg4.state : "active";
this.mode = ((_arg4.mode is String)) ? _arg4.mode : "ever";
this.onClick = ((_arg4.onClick is Function)) ? _arg4.onClick : null;
this.onPoint = ((_arg4.onPoint is Function)) ? _arg4.onPoint : null;
this.onClickCondition = ((_arg4.onClickCondition is Function)) ? _arg4.onClickCondition : null;
this.onPointCondition = ((_arg4.onPointCondition is Function)) ? _arg4.onPointCondition : null;
this.onClickEvent = ((_arg4.onClickEvent is String)) ? _arg4.onClickEvent : null;
this.onPointEvent = ((_arg4.onPointEvent is String)) ? _arg4.onPointEvent : null;
_arg3.tabEnabled = false;
if (_arg4.autoInit != false){
init();
};
} else {
Tracer.report("[X]", "Activator already exists.", "Activator");
};
}
public function activate():void{
state = "active";
target.buttonMode = true;
target.useHandCursor = true;
}
public function deactivate():void{
state = "inactive";
target.buttonMode = false;
target.useHandCursor = false;
}
public function halt():void{
if (target.hasEventListener(MouseEvent.CLICK)){
target.removeEventListener(MouseEvent.CLICK, onClickHandler);
};
if (target.hasEventListener(MouseEvent.MOUSE_OVER)){
target.removeEventListener(MouseEvent.MOUSE_OVER, onClickHandler);
};
target.buttonMode = false;
target.useHandCursor = false;
}
public function init():void{
target.addEventListener(MouseEvent.CLICK, onClickHandler);
target.addEventListener(MouseEvent.MOUSE_OVER, onPointHandler);
target.buttonMode = true;
target.useHandCursor = true;
}
public function kill():void{
deactivate();
halt();
name = undefined;
episode = undefined;
target = undefined;
sprite = undefined;
region = undefined;
state = undefined;
mode = undefined;
onClick = undefined;
onPoint = undefined;
onClickCondition = undefined;
onPointCondition = undefined;
onClickEvent = undefined;
onPointEvent = undefined;
}
private function onPointHandler(_arg1:MouseEvent):void{
if ((((state == "active")) && (episode.action))){
if ((((onPointCondition == null)) || (((!((onPointCondition == null))) && (onPointCondition()))))){
if (onPoint != null){
onPoint();
Tracer.report("[i]", (("Activator '" + name) + "': onPoint()."), "Activator");
if (onPointEvent){
episode.causeEvent(onPointEvent);
};
if (mode == "once"){
state = "inactive";
};
};
};
};
}
private function onClickHandler(_arg1:MouseEvent):void{
if ((((state == "active")) && (episode.action))){
if ((((onClickCondition == null)) || (((!((onClickCondition == null))) && (onClickCondition()))))){
if (onClick != null){
if (sprite){
sprite.filters = null;
};
if (region){
region.filters = null;
region.visible = false;
};
onClick();
Tracer.report("[i]", (("Activator '" + name) + "': onClick()."), "Activator");
if (onClickEvent){
episode.causeEvent(onClickEvent);
};
if (mode == "once"){
state = "inactive";
};
};
};
};
}
}
}//package
Section 135
//Anim_Bomb (Anim_Bomb)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class Anim_Bomb extends MovieClip {
public var timer:Timer;
public function Anim_Bomb(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
timer = new Timer(2500, 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();
}
function frame2(){
stop();
Console.currentEpisode.externalCall();
}
public function onTimerComplete(_arg1:TimerEvent):void{
nextFrame();
}
}
}//package
Section 136
//Anim_Hook_Rope (Anim_Hook_Rope)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class Anim_Hook_Rope extends MovieClip {
public var timer:Timer;
public function Anim_Hook_Rope(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
timer = new Timer(2500, 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();
}
function frame2(){
stop();
Console.currentEpisode.externalCall();
}
public function onTimerComplete(_arg1:TimerEvent):void{
nextFrame();
}
}
}//package
Section 137
//Anim_Trap (Anim_Trap)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class Anim_Trap extends MovieClip {
public var timer:Timer;
public function Anim_Trap(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
timer = new Timer(2500, 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();
}
function frame2(){
stop();
Console.currentEpisode.externalCall();
}
public function onTimerComplete(_arg1:TimerEvent):void{
nextFrame();
}
}
}//package
Section 138
//Anim_Trap2 (Anim_Trap2)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class Anim_Trap2 extends MovieClip {
public var timer:Timer;
public function Anim_Trap2(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
timer = new Timer(2500, 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();
}
function frame2(){
stop();
Console.currentEpisode.externalCall();
}
public function onTimerComplete(_arg1:TimerEvent):void{
nextFrame();
}
}
}//package
Section 139
//Anim_Whip_Spear (Anim_Whip_Spear)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class Anim_Whip_Spear extends MovieClip {
public var timer:Timer;
public function Anim_Whip_Spear(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
timer = new Timer(2500, 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();
}
function frame2(){
stop();
Console.currentEpisode.externalCall();
}
public function onTimerComplete(_arg1:TimerEvent):void{
nextFrame();
}
}
}//package
Section 140
//Animation (Animation)
package {
import flash.display.*;
import flash.events.*;
public class Animation {
private var prevLabel:String;
private var name:String;
private var order:Array;
private var loops:uint;
private var nextLabel:String;
private var target:MovieClip;
private var index:uint;
private var frame:uint;
private var label:String;
private var episode:Episode;
private var labels:Object;
public function Animation(_arg1:String, _arg2:Episode, _arg3:MovieClip, _arg4:Object){
var _local5:*;
super();
if (!_arg2.isAnimation(_arg1)){
this.name = _arg1;
this.episode = _arg2;
this.target = _arg3;
labels = new Object();
for (_local5 in _arg4) {
if ((((_arg4[_local5] is uint)) || ((_arg4[_local5] is String)))){
if (_arg4[_local5] <= _arg3.totalFrames){
labels[_local5] = _arg4[_local5];
} else {
Tracer.report("[X]", "'frame' can't be greater than total frames number.", "Animation");
};
};
};
} else {
Tracer.report("[X]", "Animation already exists.", "Animation");
};
}
public function play(_arg1:String):void{
if (labels[_arg1]){
if (this.label){
prevLabel = this.label;
};
this.label = _arg1;
loops = 0;
target.gotoAndStop(labels[_arg1]);
target.addEventListener(Event.ENTER_FRAME, animationStarter);
} else {
Tracer.report("[X]", (("There is no such label. {" + _arg1) + "}"), "Animation");
};
}
public function playLoops(_arg1:String, _arg2:uint):void{
if (labels[_arg1]){
if (this.label){
prevLabel = this.label;
};
this.label = _arg1;
loops = _arg2;
target.gotoAndStop(labels[_arg1]);
target.addEventListener(Event.ENTER_FRAME, animationStarter);
} else {
Tracer.report("[X]", (("There is no such label. {" + _arg1) + "}"), "Animation");
};
}
public function playOnce(_arg1:String):void{
if (labels[_arg1]){
if (this.label){
prevLabel = this.label;
};
this.label = _arg1;
loops = 1;
target.gotoAndStop(labels[_arg1]);
target.addEventListener(Event.ENTER_FRAME, animationStarter);
} else {
Tracer.report("[X]", (("There is no such label. {" + _arg1) + "}"), "Animation");
};
}
public function kill():void{
if (target.hasEventListener("Event")){
};
label = null;
order = null;
prevLabel = null;
nextLabel = null;
name = null;
episode = null;
target = null;
labels = null;
}
private function animationHandler(_arg1:Event):void{
if (_arg1.target.anim){
if (_arg1.target.anim.currentFrame == _arg1.target.anim.totalFrames){
trace("next animation");
_arg1.target.removeEventListener(Event.ENTER_FRAME, animationHandler);
if (nextLabel){
index++;
trace(("index=" + index));
if (order[(index + 1)]){
nextLabel = order[(index + 1)];
} else {
nextLabel = null;
};
target.addEventListener(Event.ENTER_FRAME, animationHandler);
play(order[index]);
} else {
_arg1.target.anim.stop();
};
};
};
}
private function animationStarter(_arg1:Event):void{
if (_arg1.target.anim){
_arg1.target.removeEventListener(Event.ENTER_FRAME, animationStarter);
_arg1.target.anim.gotoAndPlay(1);
if (loops > 0){
target.addEventListener(Event.ENTER_FRAME, animationStopper);
};
};
}
private function animationStopper(_arg1:Event):void{
if (_arg1.target.anim.currentFrame == _arg1.target.anim.totalFrames){
if (loops == 1){
_arg1.target.removeEventListener(Event.ENTER_FRAME, animationStopper);
_arg1.target.anim.stop();
} else {
loops--;
};
};
}
public function playOrder(_arg1:Array):void{
var _local2:int;
var _local3:uint;
var _local4:uint;
_local2 = _arg1.length;
while (_local2--) {
if (labels[_arg1[_local2]] == null){
Tracer.report("[X]", "Sequence contains wrong label(s).", "Animation");
return;
};
};
order = new Array();
_local3 = _arg1.length;
_local4 = 0;
while (_local4 < _local3) {
order[_local4] = _arg1[_local4];
trace(order[_local4]);
_local4++;
};
index = 0;
if (order[(index + 1)]){
nextLabel = order[(index + 1)];
} else {
nextLabel = null;
};
target.addEventListener(Event.ENTER_FRAME, animationHandler);
this.play(order[index]);
}
public function resume():void{
if (target.anim){
target.anim.play();
} else {
Tracer.report("[X]", "No animation to resume.", "Animation");
};
}
public function pause():void{
if (target.anim){
target.anim.stop();
} else {
Tracer.report("[X]", "No animation to pause.", "Animation");
};
}
}
}//package
Section 141
//Bomb (Bomb)
package {
import flash.display.*;
public dynamic class Bomb extends MovieClip {
}
}//package
Section 142
//Character (Character)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Character extends MovieClip {
public var animInstrSet:Array;
public var anim:MovieClip;
public var animCallback:Function;
private var waitTimer:Timer;
public var waitTime:Number;// = 3
private var labels:Array;
public function Character(){
waitTime = 3;
super();
init();
}
public function turnBack():void{
stopWaitTimer();
scaleX = (scaleX * -1);
}
private function init():void{
var _local1:uint;
var _local2:uint;
labels = new Array();
_local1 = currentLabels.length;
_local2 = 0;
while (_local2 < _local1) {
labels[_local2] = currentLabels[_local2].name;
_local2++;
};
}
public function turnTo(_arg1:Number):void{
stopWaitTimer();
if (_arg1 <= x){
if (scaleX > 0){
scaleX = (scaleX * -1);
};
} else {
if (scaleX < 0){
scaleX = (scaleX * -1);
};
};
}
public function walkTo(_arg1:Number):void{
if (labels.indexOf("walk") != -1){
stopWaitTimer();
if (anim){
anim.stop();
};
turnTo(_arg1);
if (currentLabel != "walk"){
gotoAndStop("walk");
} else {
anim.gotoAndPlay(1);
};
} else {
Tracer.report("[X]", "Animation 'walk' isn't exists.", "Character");
};
}
public function turnOn(_arg1:String):void{
stopWaitTimer();
switch (_arg1){
case "left":
if (scaleX > 0){
scaleX = (scaleX * -1);
};
break;
case "right":
if (scaleX < 0){
scaleX = (scaleX * -1);
};
break;
};
}
public function halt():void{
stopWaitTimer();
if (anim){
anim.stop();
};
if (labels.indexOf("none") != -1){
gotoAndStop("none");
};
}
private function startIdle(_arg1:TimerEvent):void{
if (anim){
anim.stop();
};
gotoAndStop("idle");
}
public function wait():void{
if (labels.indexOf("idle") != -1){
if (anim){
anim.stop();
};
if (labels.indexOf("none") != -1){
gotoAndStop("none");
};
startWaitTimer();
} else {
Tracer.report("[X]", "Animation 'idle' isn't exists.", "Character");
};
}
public function playAnim(_arg1:String, _arg2:Function=null, _arg3:Array=null):void{
if (labels.indexOf(_arg1) != -1){
stopWaitTimer();
if (anim){
anim.stop();
};
animCallback = _arg2;
animInstrSet = _arg3;
if (currentLabel != _arg1){
gotoAndStop(_arg1);
} else {
anim.gotoAndPlay(1);
};
} else {
Tracer.report("[X]", (("Animation '" + _arg1) + "' isn't exists."), "Character");
};
}
private function startWaitTimer():void{
if (waitTimer){
stopWaitTimer();
};
waitTimer = new Timer((waitTime * 1000), 1);
waitTimer.addEventListener(TimerEvent.TIMER_COMPLETE, startIdle);
waitTimer.start();
}
public function takeItem(_arg1:String, _arg2:Sprite=null, _arg3:Function=null):void{
var itemName = _arg1;
var itemImage = _arg2;
var itemFunct = _arg3;
if (labels.indexOf("take") != -1){
playAnim("take", function (){
Console.currentEpisode.getItem(itemName, itemImage, itemFunct);
});
} else {
Tracer.report("[X]", "Animation 'take' isn't exists.", "Character");
};
}
public function pickUpItem(_arg1:String, _arg2:Sprite=null, _arg3:Function=null):void{
var itemName = _arg1;
var itemImage = _arg2;
var itemFunct = _arg3;
if (labels.indexOf("pickUp") != -1){
playAnim("pickUp", function (){
Console.currentEpisode.getItem(itemName, itemImage, itemFunct);
});
} else {
Tracer.report("[X]", "Animation 'pickUp' isn't exists.", "Character");
};
}
private function stopWaitTimer():void{
if (waitTimer){
waitTimer.reset();
if (waitTimer.hasEventListener(TimerEvent.TIMER_COMPLETE)){
waitTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, startIdle);
};
waitTimer = null;
};
}
}
}//package
Section 143
//CommandProcessor (CommandProcessor)
package {
public class CommandProcessor {
public static function process(_arg1:String):void{
var _local2:Array;
var _local3:String;
var _local4:String;
var _local5:*;
var _local6:Array;
var _local7:Number;
var _local8:Number;
_local2 = _arg1.split(" ", 2);
_local3 = _local2[0];
_local4 = _local2[1];
if (Game.inst){
_local5 = Game.inst.root["getChildByName"]("console");
};
if (_local5){
switch (_local3){
case "mainMenu":
Console.enterMainMenu();
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "setHintFillTime":
Console.setHintFillTime(Number(_local4));
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "setHintIdleTime":
Console.setHintIdleTime(Number(_local4));
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "redefineHintTimer":
_local6 = _local4.split(",");
_local7 = Number(_local6[0]);
_local8 = Number(_local6[1]);
Console.redefineHintTimer(_local7, _local8);
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "playEpisode":
Console.playEpisode(_local4);
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "replayEpisode":
Console.replayEpisode(_local4);
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "nextEpisode":
Console.nextEpisode();
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "prevEpisode":
Console.prevEpisode();
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "pause":
Console.currentEpisode.action = false;
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "resume":
Console.currentEpisode.action = true;
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "loseEpisode":
Console.loseEpisode();
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "winEpisode":
Console.winEpisode();
_local5.addHistory(((_local3 + " : ") + _local4));
break;
case "help":
_local5.addHistory(((_local3 + " : ") + _local4));
_local5.addMessage("Commands list:");
_local5.addMessage(" mainMenu ()");
_local5.addMessage(" setHintFillTime (arg1)");
_local5.addMessage(" arg1 - число секунд заполнения");
_local5.addMessage(" setHintIdleTime (arg1)");
_local5.addMessage(" arg1 - число секунд бездействия");
_local5.addMessage(" redefineHintTimer (arg1, arg2)");
_local5.addMessage(" arg1 - число секунд заполнения;");
_local5.addMessage(" arg2 - число секунд бездействия");
_local5.addMessage(" playEpisode (arg1)");
_local5.addMessage(" arg1 - имя эпизода или ничего");
_local5.addMessage(" replayEpisode (arg1)");
_local5.addMessage(" arg1 - имя эпизода или ничего");
_local5.addMessage(" nextEpisode ()");
_local5.addMessage(" prevEpisode ()");
_local5.addMessage(" loseEpisode ()");
_local5.addMessage(" winEpisode ()");
_local5.addMessage(" pausee ()");
_local5.addMessage(" resume ()");
_local5.addMessage(" help ()");
_local5.addMessage(" clear ()");
_local5.addMessage(" quit ()");
_local5.addMessage(" exit ()");
break;
case "exit":
_local5.addHistory(((_local3 + " : ") + _local4));
_local5.visible = false;
break;
case "quit":
_local5.addHistory(((_local3 + " : ") + _local4));
_local5.visible = false;
break;
case "clear":
_local5.clearHistory();
break;
default:
if (_local3 != ""){
_local5.addHistory((("Unknown command '" + _local3) + "'."));
};
};
};
}
}
}//package
Section 144
//Console (Console)
package {
public class Console {
public static var pac_game;
public static var mPlayer:MusicPlayer = new MusicPlayer();
public static function registerEpilogue(_arg1:String, _arg2):void{
if (Game.inst){
Game.inst.registerEpilogue(_arg1, _arg2);
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "registerEpilogue");
};
}
public static function get currentEpisode():Episode{
if (Game.inst){
return (Game.inst.getCurrentEpisode());
};
Tracer.report("[X]", "Game wasn't initialized.", "Console", "currentEpisode");
return (null);
}
public static function enterMainGame():void{
if (pac_game){
pac_game.gotoAndStop("game");
};
}
public static function isNextEpisode():Boolean{
if (Game.inst){
return (Game.inst.isNextEpisode());
};
Tracer.report("[X]", "Game wasn't initialized.", "Console", "isNextEpisode");
return (false);
}
public static function nextEpisode():void{
if (Game.inst){
Game.inst.nextEpisode();
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "nextEpisode");
};
}
public static function registerPrologue(_arg1:String, _arg2):void{
if (Game.inst){
Game.inst.registerPrologue(_arg1, _arg2);
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "registerPrologue");
};
}
public static function disableAction():void{
if (Game.inst){
Game.inst.disableAction();
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "disableAction");
};
}
public static function prevEpisode():void{
if (Game.inst){
Game.inst.prevEpisode();
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "prevEpisode");
};
}
public static function redefineHintTimer(_arg1:Number, _arg2:Number):void{
if ((((_arg1 > 0)) || ((_arg2 > 0)))){
if (currentEpisode){
currentEpisode.redefineHintTimer(_arg1, _arg2);
};
};
}
public static function showEpilogue(_arg1:String):void{
if (Game.inst){
Game.inst.showEpilogue(_arg1);
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "showEpilogue");
};
}
public static function getEpisodeIndex(_arg1:String=null):uint{
if (Game.inst){
return (Game.inst.getEpisodeIndex(_arg1));
};
Tracer.report("[X]", "Game wasn't initialized.", "Console", "getEpisodeIndex");
return (NaN);
}
public static function registerEpisode(_arg1:String, _arg2:uint):void{
if (Game.inst){
Game.inst.registerEpisode(_arg1, _arg2);
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "registerEpisode");
};
}
public static function enableAction():void{
if (Game.inst){
Game.inst.enableAction();
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "enableAction");
};
}
public static function replayEpisode(_arg1:String=null):void{
if (Game.inst){
Game.inst.replayEpisode(_arg1);
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "replayEpisode");
};
}
public static function unregisterEpisode(_arg1:String):void{
if (Game.inst){
Game.inst.unregisterEpisode(_arg1);
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "unregisterEpisode");
};
}
public static function setHintFillTime(_arg1:Number):void{
if (_arg1 > 0){
if (currentEpisode){
currentEpisode.redefineHintTimer(_arg1);
};
};
}
public static function unregisterEpilogue(_arg1:String):void{
if (Game.inst){
Game.inst.unregisterEpilogue(_arg1);
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "unregisterEpilogue");
};
}
public static function unregisterPrologue(_arg1:String):void{
if (Game.inst){
Game.inst.unregisterPrologue(_arg1);
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "unregisterPrologue");
};
}
public static function showPrologue(_arg1:String):void{
if (Game.inst){
Game.inst.showPrologue(_arg1);
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "showPrologue");
};
}
public static function loseEpisode():void{
if (Game.inst){
if (currentEpisode){
Game.inst.hidePrologue();
Game.inst.hideEpilogue();
Game.inst.story.visible = true;
currentEpisode.lose();
} else {
Tracer.report("[X]", "No current episode.", "Console", "loseEpisode");
};
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "loseEpisode");
};
}
public static function playEpisode(_arg1:String=null):void{
if (Game.inst){
Game.inst.playEpisode(_arg1);
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "playEpisode");
};
}
public static function hidePrologue():void{
if (Game.inst){
Game.inst.hidePrologue();
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "hidePrologue");
};
}
public static function setHintIdleTime(_arg1:Number):void{
if (_arg1 > 0){
if (currentEpisode){
currentEpisode.redefineHintTimer(-1, _arg1);
};
};
}
public static function formatTime(_arg1:Number, _arg2:Boolean=true):String{
var _local3:Number;
var _local4:*;
var _local5:*;
var _local6:*;
_local3 = _arg1;
if (!_arg2){
_local3 = Math.floor((_arg1 / 1000));
};
_local4 = Math.floor((_local3 / (60 * 60)));
_local5 = (Math.floor((_local3 / 60)) - (_local4 * 60));
_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 static function enterMainMenu():void{
if (pac_game){
if (currentEpisode){
Game.inst.closeEpisode();
};
Utils.disposeDisplayObject(Game.inst);
pac_game.gotoAndStop("menu");
};
}
public static function getEpisodeName(_arg1:uint=0):String{
if (Game.inst){
return (Game.inst.getEpisodeName(_arg1));
};
Tracer.report("[X]", "Game wasn't initialized.", "Console", "getEpisodeName");
return ("");
}
public static function getCurrentEpisode():Episode{
if (Game.inst){
return (Game.inst.getCurrentEpisode());
};
Tracer.report("[X]", "Game wasn't initialized.", "Console", "getCurrentEpisode");
return (null);
}
public static function startEpisode():void{
if (Game.inst){
Game.inst.startEpisode();
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "startEpisode");
};
}
public static function hideEpilogue():void{
if (Game.inst){
Game.inst.hideEpilogue();
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "hideEpilogue");
};
}
public static function isPrevEpisode():Boolean{
if (Game.inst){
return (Game.inst.isPrevEpisode());
};
Tracer.report("[X]", "Game wasn't initialized.", "Console", "isPrevEpisode");
return (false);
}
public static function winEpisode():void{
if (Game.inst){
if (currentEpisode){
Game.inst.hidePrologue();
Game.inst.hideEpilogue();
Game.inst.story.visible = true;
currentEpisode.win();
} else {
Tracer.report("[X]", "No current episode.", "Console", "winEpisode");
};
} else {
Tracer.report("[X]", "Game wasn't initialized.", "Console", "winEpisode");
};
}
}
}//package
Section 145
//Displacement (Displacement)
package {
import flash.display.*;
import com.greensock.*;
import fl.transitions.easing.*;
public class Displacement {
public static function motionTo(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=64):void{
var _local7:Number;
var _local8:Number;
var _local9:*;
var _local10:*;
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));
TweenLite.to(_arg1, _local8, {x:_arg2, y:_arg3, scaleX:(_arg4 * _local9), scaleY:(_arg4 * _local10), onComplete:_arg5, ease:None.easeNone});
} else {
Tracer.report("[X]", "Object isn't exists.", "[Displacement]");
};
}
public static function vCurveTo(_arg1:Sprite, _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:*;
var sY:*;
var dY:*;
var mY:*;
var object = _arg1;
var x = _arg2;
var y = _arg3;
var h = _arg4;
var scale = _arg5;
var rotat = _arg6;
var funct = _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 (){
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:funct, ease:None.easeNone, overwrite:0});
} else {
Tracer.report("[X]", "Object isn't exists.", "[Displacement]");
};
}
public static function onTimeTo(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=0):void{
var _local7:Number;
var _local8:*;
var _local9:*;
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));
TweenLite.to(_arg1, _arg6, {x:_arg2, y:_arg3, scaleX:(_arg4 * _local8), scaleY:(_arg4 * _local9), onComplete:_arg5, ease:None.easeNone});
} else {
Tracer.report("[X]", "Object isn't exists.", "[Displacement]");
};
}
public static function appearAt(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null):void{
var _local6:*;
var _local7:*;
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 {
Tracer.report("[X]", "Object isn't exists.", "[Displacement]");
};
}
public static function hCurveTo(_arg1:Sprite, _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:*;
var sY:*;
var dX:*;
var mX:*;
var object = _arg1;
var x = _arg2;
var y = _arg3;
var w = _arg4;
var scale = _arg5;
var rotat = _arg6;
var funct = _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 (){
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:funct, ease:None.easeNone, overwrite:0});
} else {
Tracer.report("[X]", "Object isn't exists.", "[Displacement]");
};
}
public static function motionVia(_arg1:Sprite, _arg2:Array, _arg3:Function=null, _arg4:Number=128):void{
var _local5:TimelineLite;
var _local6:*;
var _local7:*;
var _local8:uint;
var _local9:uint;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
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();
} else {
Tracer.report("[X]", "Object isn't exists.", "[Displacement]");
};
}
}
}//package
Section 146
//Episode (Episode)
package {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
import fl.transitions.easing.*;
import flash.utils.*;
import flash.filters.*;
public class Episode extends MovieClip {
public var native:Native;
private var itemsRegistry:Object;
public var finalize:Function;// = null
public var $i_banana:Item_Banana;
public var ladder:MovieClip;
public var extCall:Function;// = null
public var $i_rope:Item_Rope;
public var $i_spear2:Item_Spear2;
public var cleanOut:Function;// = null
public var jf_anim_win:MovieClip;
public var $i_hook:Item_Hook;
public var $i_barrel:Item_Barrel;
public var stone:MovieClip;
public var hintIdleTime:Number;// = 30
public var $i_cannonBall:Item_CannonBall;
private var eventsRegistry:Object;
public var countTime:Number;// = 0
public var state:String;// = "NONE"
public var $i_liana2:Item_Liana2;
private var hintFillTimer:Timer;
public var effect2:MovieClip;
public var effect3:MovieClip;
public var effect1:MovieClip;
public var monkey_anim0:MovieClip;
public var monkey_anim1:MovieClip;
public var monkey_anim2:MovieClip;
public var $a_stalactite:MovieClip;
public var monkey_anim4:MovieClip;
public var mrEvil:MrEvil;
public var monkey_anim3:MovieClip;
public var elephantAndCar:MovieClip;
public var extISet:Array;
private var hintIdleTimer:Timer;
public var $a_flame1:MovieClip;
public var bull_anim_idle:MovieClip;
public var $a_flame2:MovieClip;
public var officer:Officer;
private var begHintFillTime:Number;
public var jf:JohnnyFinder;
public var inventory:Inventory;
public var placed_wood:Item_Wood;
public var jf_anim_jumpAndFall:MovieClip;
private var begTime:Number;
public var $a_trap:MovieClip;
public var $i_rope2:Item_Rope2;
public var jf_anim_action:MovieClip;
public var branch:MovieClip;
public var $h_trap:MovieClip;
public var box:MovieClip;
public var $h_car:MovieClip;
private var camera_t:Sprite;
private var camera_y:Number;
public var placed_cannonBall:Item_CannonBall;
public var $i_wood:Item_Wood;
private var camera_x:Number;
public var $i_sword:Item_Sword;
public var craneControl:MovieClip;
public var $a_place_hook:MovieClip;
public var action:Boolean;
public var cup:MovieClip;
public var $i_carrot:Item_Carrot;
private var endTime:Number;
public var surpriseBox2:MovieClip;
public var surpriseBox1:MovieClip;
private var activatorsRegistry:Object;
public var claw:MovieClip;
public var surpriseBox3:MovieClip;
private var bonusTimer:Timer;
public var $h_stalactite:MovieClip;
public var hintFillTime:Number;// = 60
public var score:int;// = 0
public var stalactite1:MovieClip;
public var stalactite2:MovieClip;
private var animationsRegistry:Object;
public var time:Number;
public var carApproachSound:MovieClip;
private var player:Sprite;
public var intCall:Function;// = null
private var waypointsRegistry:Object;
public var waitForReady:Boolean;
public var soldierA:Soldier;
public var soldierB:Soldier;
public var chest:MovieClip;
public var crane:MovieClip;
public var carAndMonkey:MovieClip;
public var showHint:Function;// = null
public var trap:MovieClip;
public var jf_anim:MovieClip;
public var $i_liana:Item_Liana;
public var bigStone:MovieClip;
public var $i_oil:Item_Oil;
public var jf_anim_walkAndFall:MovieClip;
public var $a_exit:MovieClip;
private var hintReady:Boolean;// = false
public var bull_anim_kick:MovieClip;
public var bonusTime:Number;// = 0
public var initialize:Function;// = null
public var $h_monkey:MovieClip;
public var intISet:Array;
public var $h_crane:MovieClip;
public var $i_spear:Item_Spear;
public var $h_flame:MovieClip;
public function Episode(){
bonusTime = 0;
countTime = 0;
hintFillTime = 60;
hintIdleTime = 30;
showHint = null;
hintReady = false;
initialize = null;
finalize = null;
cleanOut = null;
intCall = null;
extCall = null;
score = 0;
state = "NONE";
super();
state = "CREATED";
init();
Tracer.report("[$]", "EPISODE_CREATED");
}
public function stopBonusTimer():void{
if (bonusTimer){
if (bonusTimer.running){
bonusTimer.stop();
};
};
}
public function listInventoryItems():void{
inventory.listItems();
}
public function listAnimationsRegistry():void{
var _local1:uint;
var _local2:*;
trace("[S] LIST: animationsRegistry:");
_local1 = 0;
for (_local2 in animationsRegistry) {
trace((((" - " + _local2) + " = ") + animationsRegistry[_local2]));
_local1++;
};
trace((" Total number: " + _local1));
}
public function ifNotThis(_arg1:String):Boolean{
if (eventsRegistry[_arg1] == false){
return (true);
};
return (false);
}
private function stopHintIdleTimer():void{
hintIdleTimer.stop();
}
public function start():void{
Tracer.report("[$]", "EPISODE_ATTEMPT_TO_START");
if (state == "READY"){
if (hintFillTime > 0){
hintFillTimer = new Timer(1000, 0);
hintFillTimer.addEventListener(TimerEvent.TIMER, onHintFillTimer);
startHintFillTimer();
} else {
if (hintFillTime == 0){
hintIdleTimer = new Timer((1000 * hintIdleTime), 0);
hintIdleTimer.addEventListener(TimerEvent.TIMER, onHintIdleTimer);
hintReady = true;
startHintIdleTimer();
};
};
Game.inst.hintButton.gotoAndStop(2);
if (initialize != null){
initialize();
};
Game.inst.story.visible = true;
Game.inst.hintButton.visible = true;
action = true;
state = "STARTED";
Tracer.report("[$]", "EPISODE_STARTED");
begTime = getTimer();
} else {
Tracer.report("[!]", "Episode isn't ready yet. Waiting...", "Episode");
waitForReady = true;
Tracer.report("[$]", "EPISODE_WAIT_FOR_READY");
};
}
public function startBonusTimer(_arg1:Number):void{
bonusTime = _arg1;
countTime = bonusTime;
bonusTimer = new Timer(1000, bonusTime);
bonusTimer.addEventListener(TimerEvent.TIMER, onBonusTimer);
bonusTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onBonusTimerComplete);
bonusTimer.start();
}
public function listItemsRegistry():void{
var _local1:uint;
var _local2:*;
trace("[S] LIST: itemsRegistry:");
_local1 = 0;
for (_local2 in itemsRegistry) {
trace((((" - " + _local2) + " = ") + itemsRegistry[_local2]));
_local1++;
};
trace((" Total number: " + _local1));
}
public function motionVia(_arg1:Sprite, _arg2:Array, _arg3:Function=null, _arg4:Number=128):void{
if (_arg1){
Displacement.motionVia(_arg1, _arg2, _arg3, _arg4);
} else {
Tracer.report("[X]", "Object isn't exists.", "Episode");
};
}
public function cameraTo(_arg1:Number, _arg2:Number, _arg3:Function=null, _arg4:Number=64):void{
var _local5:Number;
var _local6:Number;
_local5 = Math.sqrt((Math.pow((_arg1 - camera_x), 2) + Math.pow((_arg2 - camera_y), 2)));
_local6 = (_local5 / Math.abs(_arg4));
camera_x = _arg1;
camera_y = _arg2;
TweenLite.to(this, _local6, {x:(-(camera_x) + (Game.screen_w / 2)), y:(-(camera_y) + (Game.screen_h / 2)), onComplete:_arg3});
}
public function registerItem(_arg1:String, _arg2=null, _arg3:String=null, _arg4:String=null):Boolean{
if (!itemsRegistry[_arg1]){
itemsRegistry[_arg1] = new Item(_arg1, _arg2, _arg3, _arg4);
return (true);
};
Tracer.report("[X]", "Item already registered.", "Episode");
return (false);
}
public function finish():void{
if (!time){
endTime = getTimer();
time = (endTime - begTime);
Game.inst.totalTime = (Game.inst.totalTime + time);
};
if (((hintIdleTimer) && (hintIdleTimer.running))){
hintIdleTimer.reset();
};
if (((hintFillTimer) && (hintFillTimer.running))){
hintFillTimer.reset();
};
if (((bonusTimer) && (bonusTimer.running))){
bonusTimer.reset();
};
if (finalize != null){
finalize();
};
}
public function appearAt(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null):void{
if (_arg1){
Displacement.appearAt(_arg1, _arg2, _arg3, _arg4, _arg5);
} else {
Tracer.report("[X]", "Object isn't exists.", "Episode");
};
}
public function listEventsRegistry():void{
var _local1:uint;
var _local2:*;
trace("[S] LIST: eventsRegistry:");
_local1 = 0;
for (_local2 in eventsRegistry) {
trace((((" - " + _local2) + " = ") + eventsRegistry[_local2]));
_local1++;
};
trace((" Total number: " + _local1));
}
public function listChildren():void{
var _local1:uint;
var _local2:uint;
trace("[S] LIST: children:");
_local1 = numChildren;
_local2 = 0;
while (_local2 < _local1) {
trace((((" - " + getChildAt(_local2).name) + " = ") + getChildAt(_local2)));
_local2++;
};
trace((" Total number: " + _local1));
}
public function ifEach(_arg1:Array, _arg2:Boolean):Boolean{
var _local3:uint;
var _local4:uint;
_local3 = _arg1.length;
_local4 = 0;
while (_local4 < _local3) {
if (eventsRegistry[_arg1[_local4]] != _arg2){
return (false);
};
_local4++;
};
return (true);
}
public function removeWaypoint(_arg1:String):void{
if (waypointsRegistry[_arg1]){
waypointsRegistry[_arg1].kill();
waypointsRegistry[_arg1] = null;
delete waypointsRegistry[_arg1];
} else {
Tracer.report("[X]", "Waypoint isn't exists.", "Episode");
};
}
public function externalCall():void{
var _local1:Function;
if (extCall != null){
_local1 = extCall;
extCall = null;
_local1();
};
}
public function motionTo(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=64):void{
if (_arg1){
Displacement.motionTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
} else {
Tracer.report("[X]", "Object isn't exists.", "Episode");
};
}
public function getScore():Number{
return (score);
}
public function onTimeTo(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null, _arg6:Number=0):void{
if (_arg1){
Displacement.onTimeTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
} else {
Tracer.report("[X]", "Object isn't exists.", "Episode");
};
}
public function applyItems(_arg1:Array, _arg2:Function=null, _arg3:String=null, _arg4:Boolean=false):Boolean{
var _local5:String;
var _local6:uint;
var _local7:uint;
_local6 = _arg1.length;
_local7 = 0;
while (_local7 < _local6) {
_local5 = _arg1[_local7];
if (itemsRegistry[_local5]){
if (inventory.hasItem(_local5)){
};
} else {
Tracer.report("[X]", "Item isn't registered.", "Episode");
return (false);
};
_local7++;
};
if (_arg4){
_local7 = 0;
while (_local7 < _local6) {
_local5 = _arg1[_local7];
inventory.removeItem(_local5);
_local7++;
};
};
if (_arg2 != null){
_arg2();
};
if (_arg3){
causeEvent(_arg3);
};
return (true);
}
public function isActivator(_arg1:String):Boolean{
if (activatorsRegistry[_arg1]){
return (true);
};
return (false);
}
private function init():void{
eventsRegistry = new Object();
activatorsRegistry = new Object();
waypointsRegistry = new Object();
animationsRegistry = new Object();
itemsRegistry = new Object();
camera_x = (Game.screen_w / 2);
camera_y = (Game.screen_h / 2);
inventory = new Inventory(this);
state = "INITED";
}
private function onHintFillTimer(_arg1:TimerEvent):void{
if (hintFillTimer.currentCount >= hintFillTime){
hintFillTimer.stop();
hintReady = true;
Tracer.report("[i]", "HintTimer: filled and ready.", "Episode");
restartHintIdleTimer();
};
}
public function useItem(_arg1:String, _arg2:Function=null, _arg3:String=null, _arg4:Boolean=false):Boolean{
if (itemsRegistry[_arg1]){
if (inventory.hasItem(_arg1)){
if (_arg4){
inventory.removeItem(_arg1);
};
if (_arg2 != null){
_arg2();
};
if (_arg3){
causeEvent(_arg3);
};
return (true);
};
} else {
Tracer.report("[X]", "Item isn't registered.", "Episode");
};
return (false);
}
public function isHintReady():Boolean{
return (hintReady);
}
public function ifThis(_arg1:String):Boolean{
if (eventsRegistry[_arg1] == true){
return (true);
};
return (false);
}
private function onHintIdleTimer(_arg1:TimerEvent):void{
var _local2:GlowFilter;
if (hintReady){
if (Game.inst.hintButton){
_local2 = new GlowFilter(0xFF, 1, 5, 5, 5, 1, false, false);
Game.inst.hintButton.filters = [_local2];
Tracer.report("[i]", "HintTimer: feel free to use hint.", "Episode");
resetHintIdleTimer();
};
};
}
public function isAnimation(_arg1:String):Boolean{
if (animationsRegistry[_arg1]){
return (true);
};
return (false);
}
public function unregisterItem(_arg1:String):Boolean{
if (itemsRegistry[_arg1]){
itemsRegistry[_arg1].kill();
itemsRegistry[_arg1] = null;
delete itemsRegistry[_arg1];
return (true);
};
Tracer.report("[X]", "Item isn't registered.", "Episode");
return (false);
}
public function ifNotAny(_arg1:Array):Boolean{
var _local2:Boolean;
var _local3:uint;
var _local4:uint;
_local2 = false;
_local3 = _arg1.length;
_local4 = 0;
while (_local4 < _local3) {
if (eventsRegistry[_arg1[_local4]] == false){
_local2 = true;
};
_local4++;
};
return (_local2);
}
public function enableAction():void{
action = true;
}
public function externalISet():void{
var _local1:Function;
if (extISet){
if (extISet.length > 0){
if ((extISet[0] is Function)){
_local1 = extISet.shift();
_local1();
if (((extISet) && ((extISet.length < 1)))){
extISet = null;
};
};
} else {
extISet = null;
};
};
}
private function onBonusTimer(_arg1:TimerEvent):void{
countTime--;
}
public function registerEvent(_arg1:String, _arg2:Boolean=false):Boolean{
if (eventsRegistry[_arg1] == null){
eventsRegistry[_arg1] = _arg2;
return (true);
};
Tracer.report("[X]", "Event already registered.", "Episode");
return (false);
}
public function getPlayer():Sprite{
return (player);
}
public function setPlayer(_arg1:Sprite):void{
player = _arg1;
}
public function listWaypointsRegistry():void{
var _local1:uint;
var _local2:*;
trace("[S] LIST: waypointsRegistry:");
_local1 = 0;
for (_local2 in waypointsRegistry) {
trace((((" - " + _local2) + " = ") + waypointsRegistry[_local2]));
_local1++;
};
trace((" Total number: " + _local1));
}
public function ifNone():Boolean{
var _local1:String;
for (_local1 in eventsRegistry) {
if (_local1 == true){
return (false);
};
};
return (true);
}
private function onBonusTimerComplete(_arg1:TimerEvent):void{
if (countTime > 0){
countTime = 0;
};
bonusTimer.removeEventListener(TimerEvent.TIMER, onBonusTimer);
bonusTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, onBonusTimerComplete);
Tracer.report("[i]", "BonusTimer: completed.", "Episode");
}
public function getHintFill():Number{
var _local1:Number;
if (hintFillTime > 0){
if (hintFillTimer){
if (hintFillTimer.running){
_local1 = ((getTimer() - begHintFillTime) / (1000 * hintFillTime));
if (_local1 > 1){
_local1 = 1;
};
return (_local1);
} else {
if (hintReady){
return (1);
};
return (0);
};
} else {
return (0);
};
//unresolved jump
};
return (1);
}
public function makeItem(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Function=null, _arg5:String=null):Boolean{
var i:uint;
var iLim:uint;
var timer:Timer;
var makeIt:Function;
var name = _arg1;
var materials = _arg2;
var time = _arg3;
var funct = _arg4;
var eventName = _arg5;
iLim = materials.length;
i = 0;
while (i < iLim) {
if (!inventory.hasItem(materials[i])){
return (false);
};
i = (i + 1);
};
if (time > 0){
makeIt = function (_arg1:TimerEvent):void{
_arg1.target.removeEventListener(TimerEvent.TIMER_COMPLETE, makeIt);
inventory.makeItem(name, materials);
if (funct != null){
funct();
};
if (eventName){
causeEvent(eventName);
};
};
timer = new Timer((time * 1000), 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, makeIt);
timer.start();
} else {
inventory.makeItem(name, materials);
if (funct != null){
funct();
};
if (eventName){
causeEvent(eventName);
};
};
return (true);
}
public function setupEvent(_arg1:String, _arg2:Boolean):Boolean{
if (eventsRegistry[_arg1] != null){
eventsRegistry[_arg1] = _arg2;
return (true);
};
Tracer.report("[X]", "Event isn't registered.", "Episode");
return (false);
}
public function cameraAt(_arg1:Number, _arg2:Number, _arg3:Function=null):void{
camera_x = _arg1;
camera_y = _arg2;
this.x = (-(camera_x) + (Game.screen_w / 2));
this.y = (-(camera_y) + (Game.screen_h / 2));
if (_arg3 != null){
_arg3();
};
}
public function callActivator(_arg1:String):Activator{
if (activatorsRegistry[_arg1]){
return (activatorsRegistry[_arg1]);
};
Tracer.report("[X]", "Activator isn't registered.", "Episode");
return (null);
}
public function moveToWaypoint(_arg1:Sprite, _arg2:String, _arg3:Function=null, _arg4:Number=64):void{
var wp:*;
var object = _arg1;
var name = _arg2;
var funct = _arg3;
var speed = _arg4;
if (waypointsRegistry[name]){
wp = waypointsRegistry[name];
motionTo(object, wp.x, wp.y, wp.scale, function (){
funct();
if ((wp.funct is Function)){
wp.funct();
};
}, speed);
} else {
Tracer.report("[X]", "Waypoint isn't exists.", "Episode");
};
}
public function vCurveTo(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Function=null, _arg8:Number=64):void{
if (_arg1){
Displacement.vCurveTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
} else {
Tracer.report("[X]", "Object isn't exists.", "Episode");
};
}
public function hCurveTo(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Function=null, _arg8:Number=64):void{
if (_arg1){
Displacement.hCurveTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
} else {
Tracer.report("[X]", "Object isn't exists.", "Episode");
};
}
public function forceEvent(_arg1:String):Boolean{
if (eventsRegistry[_arg1] != null){
dispatchEvent(new Event(_arg1));
return (true);
};
Tracer.report("[X]", "Event isn't registered.", "Episode");
return (false);
}
public function callItem(_arg1:String):Item{
if (itemsRegistry[_arg1]){
return (itemsRegistry[_arg1]);
};
Tracer.report("[X]", "Item isn't registered.", "Episode");
return (null);
}
public function getTimeBonus():Number{
return (countTime);
}
public function erase():void{
var _local1:String;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
if (((hintIdleTimer) && (hintIdleTimer.running))){
hintIdleTimer.reset();
};
if (((hintFillTimer) && (hintFillTimer.running))){
hintFillTimer.reset();
};
if (((bonusTimer) && (bonusTimer.running))){
bonusTimer.reset();
};
if (cleanOut != null){
cleanOut();
};
for (_local1 in activatorsRegistry) {
removeActivator(_local1);
};
activatorsRegistry = undefined;
for (_local2 in itemsRegistry) {
unregisterItem(_local2);
};
itemsRegistry = undefined;
for (_local3 in eventsRegistry) {
unregisterEvent(_local3);
};
eventsRegistry = undefined;
for (_local4 in animationsRegistry) {
removeAnimation(_local4);
};
animationsRegistry = undefined;
for (_local5 in waypointsRegistry) {
removeWaypoint(_local5);
};
waypointsRegistry = undefined;
inventory.kill();
inventory = undefined;
bonusTime = undefined;
countTime = undefined;
bonusTimer = undefined;
camera_x = undefined;
camera_y = undefined;
camera_t = undefined;
begTime = undefined;
endTime = undefined;
hintFillTimer = undefined;
hintIdleTimer = undefined;
hintFillTime = undefined;
hintIdleTime = undefined;
showHint = undefined;
hintReady = undefined;
begHintFillTime = undefined;
initialize = undefined;
finalize = undefined;
cleanOut = undefined;
intCall = undefined;
extCall = undefined;
intISet = undefined;
extISet = undefined;
player = undefined;
score = undefined;
time = undefined;
action = undefined;
state = undefined;
waitForReady = undefined;
if (Game.banner){
Game.hideBanner();
};
}
public function cameraVia(_arg1:Array, _arg2:Function=null, _arg3:Number=128):void{
var _local4:TimelineLite;
var _local5:uint;
var _local6:uint;
var _local7:*;
var _local8:*;
var _local9:Number;
var _local10:Number;
_local4 = new TimelineLite();
_local5 = _arg1.length;
_local6 = 0;
while (_local6 < _local5) {
_local7 = _arg1[_local6].x;
_local8 = _arg1[_local6].y;
_local9 = Math.sqrt((Math.pow((_local7 - camera_x), 2) + Math.pow((_local8 - camera_y), 2)));
_local10 = (_local9 / Math.abs(_arg3));
camera_x = _local7;
camera_y = _local8;
if (_local6 < (_local5 - 1)){
_local4.append(new TweenLite(this, _local10, {x:(-(camera_x) + (Game.screen_w / 2)), y:(-(camera_y) + (Game.screen_h / 2))}));
} else {
_local4.append(new TweenLite(this, _local10, {x:(-(camera_x) + (Game.screen_w / 2)), y:(-(camera_y) + (Game.screen_h / 2)), onComplete:_arg2}));
};
_local6++;
};
_local4.play();
}
public function internalCall():void{
var _local1:Function;
if (intCall != null){
_local1 = intCall;
intCall = null;
_local1();
};
}
public function putItem(_arg1:String, _arg2=null, _arg3:Number=0, _arg4:Number=0, _arg5:Function=null, _arg6:String=null):Boolean{
var _local7:*;
if (itemsRegistry[_arg1]){
if (inventory.hasItem(_arg1)){
inventory.removeItem(_arg1);
if (_arg2){
if ((_arg2 is Sprite)){
_arg2.x = _arg3;
_arg2.y = _arg4;
_arg2.visible = true;
} else {
_local7 = new (_arg2);
_local7.x = _arg3;
_local7.y = _arg4;
addChild(_local7);
};
};
if (_arg5 != null){
_arg5();
};
if (_arg6){
causeEvent(_arg6);
};
return (true);
};
} else {
Tracer.report("[X]", "Item isn't registered.", "Episode");
};
return (false);
}
public function callAnimation(_arg1:String):Animation{
if (animationsRegistry[_arg1]){
return (animationsRegistry[_arg1]);
};
Tracer.report("[X]", "Animation isn't registered.", "Episode");
return (null);
}
public function startHintTimer():void{
startHintFillTimer();
}
public function redefineHintTimer(_arg1:Number=-1, _arg2:Number=-1):void{
if (hintFillTimer){
hintFillTimer.reset();
};
if (hintIdleTimer){
hintIdleTimer.reset();
};
hintReady = false;
if (_arg1 > 0){
hintFillTime = _arg1;
};
if (_arg2 > 0){
hintIdleTime = _arg2;
};
hintIdleTimer.delay = (1000 * hintIdleTime);
if (hintFillTime > 0){
startHintFillTimer();
} else {
if (hintFillTime == 0){
hintReady = true;
startHintIdleTimer();
};
};
Tracer.report("[i]", "Hint timer redefined.", "Episode");
}
public function removeActivator(_arg1:String):Boolean{
if (activatorsRegistry[_arg1]){
activatorsRegistry[_arg1].kill();
activatorsRegistry[_arg1] = null;
delete activatorsRegistry[_arg1];
return (true);
};
Tracer.report("[X]", "Activator isn't registered.", "Episode");
return (false);
}
private function restartHintFillTimer():void{
if (hintFillTime > 0){
hintFillTimer.reset();
hintReady = false;
begHintFillTime = getTimer();
hintFillTimer.start();
} else {
startHintIdleTimer();
};
}
public function lose():void{
action = false;
finish();
Game.showYouAreHistoryWindow();
state = "FINISHED";
}
public function stopHintTimer():void{
stopHintFillTimer();
startHintIdleTimer();
}
public function disableAction():void{
action = false;
}
public function ifAll():Boolean{
var _local1:String;
for (_local1 in eventsRegistry) {
if (_local1 == false){
return (false);
};
};
return (true);
}
private function restartHintIdleTimer():void{
hintIdleTimer.reset();
hintIdleTimer.start();
}
public function isItem(_arg1:String):Boolean{
if (itemsRegistry[_arg1]){
return (true);
};
return (false);
}
public function ifThese(_arg1:Array):Boolean{
var _local2:uint;
var _local3:uint;
_local2 = _arg1.length;
_local3 = 0;
while (_local3 < _local2) {
if (eventsRegistry[_arg1[_local3]] == false){
return (false);
};
_local3++;
};
return (true);
}
public function removeAnimation(_arg1:String):Boolean{
if (animationsRegistry[_arg1]){
animationsRegistry[_arg1].kill();
animationsRegistry[_arg1] = null;
delete animationsRegistry[_arg1];
return (true);
};
Tracer.report("[X]", "Animation isn't registered.", "Episode");
return (false);
}
private function startHintFillTimer():void{
if (hintFillTime > 0){
hintReady = false;
begHintFillTime = getTimer();
hintFillTimer.start();
} else {
startHintIdleTimer();
};
}
public function addActivator(_arg1:String, _arg2:Sprite, _arg3:Object):Boolean{
if (!activatorsRegistry[_arg1]){
activatorsRegistry[_arg1] = new Activator(_arg1, this, _arg2, _arg3);
return (true);
};
Tracer.report("[X]", "Activator already registered.", "Episode");
return (false);
}
public function getItem(_arg1:String, _arg2:Sprite=null, _arg3:Function=null, _arg4:String=null):Boolean{
if (itemsRegistry[_arg1]){
inventory.takeItem(_arg1);
if (_arg2){
_arg2.visible = false;
removeChild(_arg2);
};
if (_arg3 != null){
_arg3();
};
if (_arg4){
causeEvent(_arg4);
};
return (true);
} else {
Tracer.report("[X]", (("Item '" + _arg1) + "' isn't registered."), "Episode");
};
return (false);
}
public function listActivatorsRegistry():void{
var _local1:uint;
var _local2:*;
trace("[S] LIST: activatorsRegistry:");
_local1 = 0;
for (_local2 in activatorsRegistry) {
trace((((" - " + _local2) + " = ") + activatorsRegistry[_local2]));
_local1++;
};
trace((" Total number: " + _local1));
}
public function ifAny(_arg1:Array):Boolean{
var _local2:Boolean;
var _local3:uint;
var _local4:uint;
_local2 = false;
_local3 = _arg1.length;
_local4 = 0;
while (_local4 < _local3) {
if (eventsRegistry[_arg1[_local4]] == true){
_local2 = true;
};
_local4++;
};
return (_local2);
}
public function isEvent(_arg1:String):Boolean{
if (eventsRegistry[_arg1] != null){
return (true);
};
Tracer.report("[X]", "Event isn't registered.", "Episode");
return (false);
}
private function resetHintFillTimer():void{
if (hintFillTime > 0){
hintFillTimer.reset();
hintReady = false;
} else {
stopHintIdleTimer();
};
}
public function ifNotThese(_arg1:Array):Boolean{
var _local2:uint;
var _local3:uint;
_local2 = _arg1.length;
_local3 = 0;
while (_local3 < _local2) {
if (eventsRegistry[_arg1[_local3]] == true){
return (false);
};
_local3++;
};
return (true);
}
public function restartHintTimer():void{
restartHintFillTimer();
}
public function causeEvent(_arg1:String):Boolean{
if (eventsRegistry[_arg1] != null){
dispatchEvent(new Event(_arg1));
eventsRegistry[_arg1] = true;
return (true);
};
Tracer.report("[X]", "Event isn't registered.", "Episode");
return (false);
}
public function ifOneOf(_arg1:Array, _arg2:Boolean):Boolean{
var _local3:Boolean;
var _local4:uint;
var _local5:uint;
_local3 = false;
_local4 = _arg1.length;
_local5 = 0;
while (_local5 < _local4) {
if (eventsRegistry[_arg1[_local5]] == _arg2){
_local3 = true;
};
_local5++;
};
return (_local3);
}
public function addWaypoint(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Function=null):void{
if (!waypointsRegistry[_arg1]){
waypointsRegistry[_arg1] = new Waypoint(_arg1, this, _arg2, _arg3, _arg4, _arg5);
} else {
Tracer.report("[X]", "Waypoint already exists.", "Episode");
};
}
public function unregisterEvent(_arg1:String):Boolean{
if (eventsRegistry[_arg1] != null){
eventsRegistry[_arg1] = null;
delete eventsRegistry[_arg1];
return (true);
};
Tracer.report("[X]", "Event isn't registered.", "Episode");
return (false);
}
private function startHintIdleTimer():void{
hintIdleTimer.start();
}
private function stopHintFillTimer():void{
if (hintFillTime > 0){
hintFillTimer.stop();
hintReady = false;
} else {
stopHintIdleTimer();
};
}
public function win():void{
action = false;
finish();
if (Console.isNextEpisode()){
Game.showNextLevelWindow();
} else {
Game.showFinalWindow();
if (Game.banner){
Game.showBanner();
};
};
state = "FINISHED";
}
public function addAnimation(_arg1:String, _arg2:MovieClip, _arg3:Object):Boolean{
if (!animationsRegistry[_arg1]){
animationsRegistry[_arg1] = new Animation(_arg1, this, _arg2, _arg3);
return (true);
};
Tracer.report("[X]", "Animation already registered.", "Episode");
return (false);
}
public function internalISet():void{
var _local1:Function;
if (intISet){
if (intISet.length > 0){
if ((intISet[0] is Function)){
_local1 = intISet.shift();
_local1();
if (((intISet) && ((intISet.length < 1)))){
intISet = null;
};
};
} else {
intISet = null;
};
};
}
private function resetHintIdleTimer():void{
hintIdleTimer.reset();
}
}
}//package
Section 147
//Episode_01 (Episode_01)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_01 extends Episode {
public var jfSpeed:Number;
public var dirX:Number;
public var dirY:Number;
public var glowFilter:GlowFilter;
public function Episode_01(){
addFrameScript(0, frame1);
}
public function jfLashBox():void{
if (((!(jf)) || (!((box.currentFrame == 1))))){
trace("[X] Script Animation: 'lashBox' is impossible.");
return;
};
action = false;
jf.walkTo(56);
motionTo(jf, 56, 439, 1, function (){
jf.playAnim("lash", null, [function (){
intCall = function (){
$i_spear.visible = true;
removeActivator("box");
jf.wait();
action = true;
};
box.gotoAndPlay(1);
}]);
}, jfSpeed);
}
public function jfKilledBySoldierB():void{
if (((!(jf)) || (!(soldierB)))){
trace("[X] Script Animation: 'killedBySoldierB' is impossible.");
return;
};
action = false;
if (jf.x <= soldierB.x){
dirX = -100;
} else {
dirX = 0;
};
jf.walkTo((soldierB.x + dirX));
motionTo(jf, (soldierB.x + dirX), 439, 1, function (){
jf.halt();
soldierB.turnTo(jf.x);
soldierB.playAnim("shoot", null, [function (){
jf.playAnim("die2", lose);
}]);
}, jfSpeed);
}
public function jfPickUpHook():void{
if (((((!(jf)) || (!($i_hook)))) || (!($i_hook.visible)))){
trace("[X] Script Animation: 'pickUpHook' is impossible.");
return;
};
action = false;
if (jf.x <= $i_hook.x){
dirX = -50;
} else {
dirX = 0;
};
jf.walkTo(($i_hook.x + dirX));
motionTo(jf, ($i_hook.x + dirX), 439, 1, function (){
jf.pickUpItem("hook", $i_hook, function (){
if (inventory.hasAll(["hook", "rope"])){
makeItem("hook_rope", ["hook", "rope"], 2, function (){
extCall = function (){
jfMoveToCraneControl();
};
}, "hook_and_rope_combined");
} else {
jf.wait();
action = true;
};
});
}, jfSpeed);
}
public function dropBox():void{
action = false;
intISet = [function (){
soldierB.visible = false;
}];
intCall = function (){
causeEvent("soldierB_gone");
action = true;
};
crane.gotoAndPlay(23);
}
public function jfKilledBySoldierA():void{
if (((!(jf)) || (!(soldierA)))){
trace("[X] Script Animation: 'killedBySoldierA' is impossible.");
return;
};
action = false;
if (jf.x <= soldierA.x){
dirX = -100;
} else {
dirX = 0;
};
jf.walkTo((soldierA.x + dirX));
motionTo(jf, (soldierA.x + dirX), 436, 1, function (){
jf.halt();
soldierA.turnTo(jf.x);
soldierA.playAnim("shoot", null, [function (){
jf.playAnim("die2", lose);
}]);
}, jfSpeed);
}
public function jfMoveToCraneControl():void{
if (!jf){
trace("[X] Script Animation: 'takeRope' is impossible.");
return;
};
action = false;
jf.walkTo(245);
motionTo(jf, 245, 438, 1, function (){
jf.turnOn("right");
jf.wait();
action = true;
}, jfSpeed);
}
function frame1(){
box.gotoAndStop(1);
crane.gotoAndStop(1);
craneControl.btnUp.gotoAndStop(1);
craneControl.btnDown.gotoAndStop(1);
hintFillTime = -1;
hintIdleTime = -1;
initialize = function (){
$i_spear.visible = false;
jf.wait();
};
finalize = function (){
};
cleanOut = function (){
};
registerItem("hook", Item_Hook);
registerItem("hook_rope", Anim_Hook_Rope);
registerItem("rope", Item_Rope);
registerItem("spear", Item_Spear);
registerItem("whip_spear", Anim_Whip_Spear);
registerEvent("weapon_upgraded");
registerEvent("hook_and_rope_combined");
registerEvent("soldierA_gone");
registerEvent("soldierB_gone");
registerEvent("hook_placed");
registerEvent("box_fixed");
registerEvent("box_moved");
addActivator("ladder", ladder, {sprite:ladder, onClick:function (){
if (ifThis("soldierA_gone")){
if (ifThis("soldierB_gone")){
jfWin();
} else {
jfKilledBySoldierB();
};
} else {
jfKilledBySoldierA();
};
}});
addActivator("box", box, {sprite:box, onClick:function (){
jfLashBox();
}});
addActivator("soldierA", soldierA, {sprite:soldierA, onClick:function (){
if (ifThis("weapon_upgraded")){
jfLashSpearSoldierA();
};
}});
addActivator("placeHook", $a_place_hook, {region:$h_crane, onClick:function (){
if (ifThis("hook_and_rope_combined")){
placeHook();
};
}});
addActivator("buttonDown", craneControl.btnDown, {sprite:craneControl.btnDown, onClick:function (){
if (ifThis("hook_placed")){
if (ifNotThis("box_fixed")){
craneControl.btnDown.gotoAndStop(2);
fixBox();
} else {
if (((ifThis("box_moved")) && (ifNotThis("soldierB_gone")))){
craneControl.btnDown.gotoAndStop(2);
craneControl.btnUp.gotoAndStop(1);
dropBox();
};
};
};
}});
addActivator("buttonUp", craneControl.btnUp, {sprite:craneControl.btnUp, onClick:function (){
if (ifThis("hook_placed")){
if (((ifThis("box_fixed")) && (ifNotThis("box_moved")))){
craneControl.btnDown.gotoAndStop(1);
craneControl.btnUp.gotoAndStop(2);
moveBox();
};
};
}});
addActivator("spear", $i_spear, {sprite:$i_spear, onClick:function (){
jfPickUpSpear();
}});
addActivator("hook", $i_hook, {sprite:$i_hook, onClick:function (){
if (ifThis("soldierA_gone")){
jfPickUpHook();
} else {
jfKilledBySoldierA();
};
}});
addActivator("rope", $i_rope, {sprite:$i_rope, onClick:function (){
if (ifThis("soldierA_gone")){
jfTakeRope();
} else {
jfKilledBySoldierA();
};
}});
jfSpeed = 128;
showHint = function (){
glowFilter = new GlowFilter(0xFF, 1, 5, 5, 5, 1, false, false);
};
state = "READY";
Tracer.report("[$]", "EPISODE_READY");
if (waitForReady){
this.start();
};
}
public function placeHook():void{
if (((!($a_place_hook)) || (!($a_place_hook.visible)))){
trace("[X] Script Animation: 'placeHook' is impossible.");
return;
};
crane.gotoAndStop(2);
$a_place_hook.visible = false;
removeActivator("placeHook");
inventory.removeItem("hook_rope");
causeEvent("hook_placed");
}
public function jfWin():void{
if (!jf){
trace("[X] Script Animation: 'win' is impossible.");
return;
};
action = false;
jf.walkTo(484);
motionTo(jf, 484, 433, 1, function (){
motionTo(jf, 532, 398, 1, function (){
motionTo(jf, 585, 401, 1, function (){
motionTo(jf, 715, 283, 1, function (){
win();
}, jfSpeed);
}, jfSpeed);
}, jfSpeed);
}, jfSpeed);
}
public function moveBox():void{
action = false;
intCall = function (){
causeEvent("box_moved");
action = true;
};
crane.gotoAndPlay(8);
}
public function jfTakeRope():void{
if (((((!(jf)) || (!($i_rope)))) || (!($i_rope.visible)))){
trace("[X] Script Animation: 'takeRope' is impossible.");
return;
};
action = false;
if (jf.x <= $i_rope.x){
dirX = -50;
} else {
dirX = 0;
};
jf.walkTo(($i_rope.x + dirX));
motionTo(jf, ($i_rope.x + dirX), 439, 1, function (){
jf.playAnim("lashUp", function (){
dirX = -20;
jf.walkTo(($i_rope.x + dirX));
motionTo(jf, ($i_rope.x + dirX), 439, 1, function (){
jf.pickUpItem("rope", $i_rope, function (){
if (inventory.hasAll(["hook", "rope"])){
makeItem("hook_rope", ["hook", "rope"], 2, function (){
extCall = function (){
jfMoveToCraneControl();
};
}, "hook_and_rope_combined");
} else {
jf.wait();
action = true;
};
});
}, jfSpeed);
}, [function (){
motionTo($i_rope, $i_rope.x, 422, 1, null, 0x0100);
}]);
}, jfSpeed);
}
public function fixBox():void{
action = false;
intCall = function (){
causeEvent("box_fixed");
action = true;
};
crane.gotoAndPlay(3);
}
public function jfLashSpearSoldierA():void{
if (((!(jf)) || (!(soldierA)))){
trace("[X] Script Animation: 'lashSpearSoldierA' is impossible.");
return;
};
action = false;
if (jf.x <= soldierA.x){
dirX = -150;
} else {
dirX = 0;
};
jf.walkTo((soldierA.x + dirX));
motionTo(jf, (soldierA.x + dirX), 439, 1, function (){
jf.turnTo(soldierA.x);
jf.playAnim("lashSpear", null, [function (){
soldierA.playAnim("die", function (){
causeEvent("soldierA_gone");
removeActivator("soldierA");
jf.wait();
action = true;
});
}]);
}, jfSpeed);
}
public function jfPickUpSpear():void{
if (((((!(jf)) || (!($i_spear)))) || (!($i_spear.visible)))){
trace("[X] Script Animation: 'pickUpSpear' is impossible.");
return;
};
action = false;
if (jf.x <= $i_spear.x){
dirX = -50;
} else {
dirX = 0;
};
jf.walkTo(($i_spear.x + dirX));
motionTo(jf, ($i_spear.x + dirX), 439, 1, function (){
jf.pickUpItem("spear", $i_spear, function (){
makeItem("whip_spear", ["spear"], 2, function (){
extCall = function (){
jf.wait();
action = true;
};
}, "weapon_upgraded");
});
}, jfSpeed);
}
}
}//package
Section 148
//Episode_02 (Episode_02)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_02 extends Episode {
public var jfSpeed:Number;
public var dirX:Number;
public var dirY:Number;
public var glowFilter:GlowFilter;
public function Episode_02(){
addFrameScript(0, frame1);
}
public function jfGetInCar():void{
if (!jf){
trace("[X] Script Animation: 'getInCar' is impossible.");
return;
};
action = false;
jf.walkTo(108.6);
motionTo(jf, 108.6, 400.7, 1, function (){
motionTo(jf, 168.6, 400.7, 1, function (){
motionTo(jf, 202.5, 438.7, 1, function (){
motionTo(jf, 489.5, 436.4, 1, function (){
jf.halt();
jf.visible = false;
intCall = function (){
causeEvent("jf_got_in_car");
elephantAndCar.jf_sit.visible = false;
elephantAndCar.car["playanim"] = true;
elephantAndCar.car.gotoAndStop(2);
motionTo(elephantAndCar.car, 250, -23.2, 1, function (){
elephantAndCar.car.anim.stop();
win();
}, 0x0100);
};
elephantAndCar.gotoAndPlay("_jfGetInCar");
}, jfSpeed);
}, jfSpeed);
}, jfSpeed);
}, jfSpeed);
}
public function jfProvokeElephant():void{
if (!jf){
trace("[X] Script Animation: 'provokeElephant' is impossible.");
return;
};
action = false;
jf.walkTo(108.6);
motionTo(jf, 108.6, 400.7, 1, function (){
motionTo(jf, 168.6, 400.7, 1, function (){
motionTo(jf, 202.5, 438.7, 1, function (){
jf.halt();
jf.visible = false;
intCall = lose;
elephantAndCar.gotoAndPlay("_elephantMoveHead");
}, jfSpeed);
}, jfSpeed);
}, jfSpeed);
}
public function jfOpenSurpriseBox3():void{
if (((!(jf)) || (!((surpriseBox3.currentFrame == 1))))){
trace("[X] Script Animation: 'openSurpriseBox3' is impossible.");
return;
};
action = false;
removeActivator("surpriseBox3");
jf.playAnim("lashUp", null, [function (){
intCall = function (){
intISet = [function (){
causeEvent("enemy_gone");
action = true;
}];
elephantAndCar.gotoAndPlay("_elephantScared");
};
causeEvent("mouse_released");
surpriseBox3.gotoAndPlay(2);
}]);
}
function frame1(){
surpriseBox1.gotoAndStop(1);
surpriseBox2.gotoAndStop(1);
surpriseBox3.gotoAndStop(1);
elephantAndCar.gotoAndStop(1);
elephantAndCar.car.gotoAndStop(1);
hintFillTime = -1;
hintIdleTime = -1;
initialize = function (){
jf.wait();
};
finalize = function (){
};
cleanOut = function (){
};
registerEvent("mouse_released");
registerEvent("enemy_gone");
registerEvent("jf_got_in_car");
addActivator("surpriseBox1", surpriseBox1, {onClick:function (){
jfOpenSurpriseBox1();
}});
addActivator("surpriseBox2", surpriseBox2, {onClick:function (){
jfOpenSurpriseBox2();
}});
addActivator("surpriseBox3", surpriseBox3, {sprite:surpriseBox3, onClick:function (){
jfOpenSurpriseBox3();
}});
addActivator("car", elephantAndCar.car, {region:$h_car, onClick:function (){
if (ifThis("enemy_gone")){
jfGetInCar();
} else {
jfProvokeElephant();
};
}});
jfSpeed = 128;
showHint = function (){
glowFilter = new GlowFilter(0xFF, 1, 5, 5, 5, 1, false, false);
};
state = "READY";
Tracer.report("[$]", "EPISODE_READY");
if (waitForReady){
this.start();
};
}
public function jfOpenSurpriseBox1():void{
if (((!(jf)) || (!((surpriseBox1.currentFrame == 1))))){
trace("[X] Script Animation: 'openSurpriseBox1' is impossible.");
return;
};
action = false;
jf.playAnim("lashUp", null, [function (){
intISet = [function (){
jf.playAnim("die3", lose);
}];
surpriseBox1.gotoAndPlay(2);
}]);
}
public function jfOpenSurpriseBox2():void{
if (((!(jf)) || (!((surpriseBox2.currentFrame == 1))))){
trace("[X] Script Animation: 'openSurpriseBox2' is impossible.");
return;
};
action = false;
jf.playAnim("lashUp", null, [function (){
intISet = [function (){
jf.playAnim("die2", lose);
}];
surpriseBox2.gotoAndPlay(2);
}]);
}
}
}//package
Section 149
//Episode_03 (Episode_03)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_03 extends Episode {
public var actionTimer:Timer;
public var glowFilter:GlowFilter;
public function Episode_03(){
addFrameScript(0, frame1);
}
public function onActionTimerComplete(_arg1:TimerEvent):void{
var event = _arg1;
causeEvent("time_is_up");
action = false;
if (ifNotThis("stone_gone")){
intCall = lose;
carAndMonkey.gotoAndPlay("_withStone");
} else {
if (ifNotThis("monkey_gone")){
intCall = lose;
carAndMonkey.gotoAndPlay("_withMonkey");
} else {
if (ifNotThis("branch_gone")){
intCall = lose;
carAndMonkey.gotoAndPlay("_withBranch");
} else {
carApproachSound.gotoAndStop(2);
carAndMonkey.car.soundTransform = new SoundTransform(1);
carAndMonkey.car.gotoAndStop(2);
motionTo(carAndMonkey.car, 650, carAndMonkey.car.y, 1, function (){
carAndMonkey.car.anim.stop();
carAndMonkey.car.gotoAndStop(3);
win();
}, 0x0100);
};
};
};
}
public function setActionTimer():void{
actionTimer = new Timer(1000, 6);
actionTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onActionTimerComplete);
actionTimer.start();
}
function frame1(){
carAndMonkey.gotoAndStop(1);
carAndMonkey.car.gotoAndStop(1);
carAndMonkey.car.soundTransform = new SoundTransform(0);
effect1.gotoAndStop(1);
effect2.gotoAndStop(1);
effect3.gotoAndStop(1);
carApproachSound.gotoAndStop(1);
hintFillTime = -1;
hintIdleTime = -1;
initialize = function (){
effect1.visible = false;
effect2.visible = false;
effect3.visible = false;
};
finalize = function (){
};
cleanOut = function (){
};
registerEvent("time_is_up");
registerEvent("stone_gone");
registerEvent("monkey_gone");
registerEvent("branch_gone");
addActivator("stone", stone, {onClick:function (){
if (ifNotThis("time_is_up")){
stone.visible = false;
effect1.visible = true;
effect1.gotoAndPlay(2);
causeEvent("stone_gone");
};
}});
addActivator("monkey", carAndMonkey.monkey, {onClick:function (){
if (ifNotThis("time_is_up")){
carAndMonkey.monkey.stop();
carAndMonkey.monkey.visible = false;
effect2.visible = true;
effect2.gotoAndPlay(2);
causeEvent("monkey_gone");
};
}});
addActivator("branch", branch, {onClick:function (){
if (ifNotThis("time_is_up")){
branch.visible = false;
effect3.visible = true;
effect3.gotoAndPlay(2);
causeEvent("branch_gone");
};
}});
setActionTimer();
showHint = function (){
glowFilter = new GlowFilter(0xFF, 1, 5, 5, 5, 1, false, false);
};
state = "READY";
Tracer.report("[$]", "EPISODE_READY");
if (waitForReady){
this.start();
};
}
}
}//package
Section 150
//Episode_04 (Episode_04)
package {
import flash.filters.*;
public dynamic class Episode_04 extends Episode {
public var jfSpeed:Number;
public var dirX:Number;
public var dirY:Number;
public var glowFilter:GlowFilter;
public function Episode_04(){
addFrameScript(0, frame1);
}
public function jfProvokeNative():void{
if (((!(jf)) || (!(native)))){
trace("[X] Script Animation: 'provokeNative' is impossible.");
return;
};
action = false;
if (jf.x <= native.x){
dirX = -100;
} else {
dirX = 0;
};
jf.walkTo((native.x + dirX));
motionTo(jf, (native.x + dirX), 438, 1, function (){
jf.halt();
native.playAnim("kill", null, [function (){
jf.playAnim("die2", lose);
}]);
}, jfSpeed);
}
public function jfExit():void{
if (!jf){
trace("[X] Script Animation: 'exit' is impossible.");
return;
};
action = false;
jf.walkTo(740);
motionTo(jf, 740, 438, 1, win, jfSpeed);
}
public function jfTakeLiana():void{
if (((((!(jf)) || (!($i_liana)))) || (!($i_liana.visible)))){
trace("[X] Script Animation: 'takeLiana' is impossible.");
return;
};
action = false;
if (jf.x <= $i_liana.x){
dirX = 0;
} else {
dirX = 200;
};
jf.walkTo(($i_liana.x + dirX));
motionTo(jf, ($i_liana.x + dirX), 438, 1, function (){
jf.turnTo(195);
jf.playAnim("lashUp", function (){
jf.wait();
action = true;
}, [function (){
getItem("liana", $i_liana, function (){
if (inventory.hasAll(["spear2", "liana", "banana"])){
makeItem("trap", ["spear2", "liana", "banana"], 2, function (){
action = true;
}, "trap_made");
};
});
}]);
}, jfSpeed);
}
public function jfThrowBanana():void{
if (!jf){
trace("[X] Script Animation: 'throwBanana' is impossible.");
return;
};
action = false;
removeActivator("trap");
$a_trap.visible = false;
jf.walkTo(63);
motionTo(jf, 63, 435, 1, function (){
jf.turnTo(trap.x);
jf.playAnim("throwBanana", function (){
jf.halt();
monkey_anim0.visible = false;
monkey_anim0.gotoAndStop(1);
monkey_anim4.visible = true;
intCall = function (){
native.walkTo(jf.x);
motionTo(native, (jf.x + 100), native.y, 1, function (){
native.playAnim("kill", null, [function (){
jf.playAnim("die2", lose);
}]);
}, 128);
};
intISet = [function (){
jf.halt();
}];
monkey_anim4.gotoAndPlay(1);
});
}, jfSpeed);
}
function frame1(){
hintFillTime = -1;
hintIdleTime = -1;
initialize = function (){
monkey_anim1.visible = false;
monkey_anim1.gotoAndStop(1);
monkey_anim2.visible = false;
monkey_anim2.gotoAndStop(1);
monkey_anim3.visible = false;
monkey_anim3.gotoAndStop(1);
monkey_anim4.visible = false;
monkey_anim4.gotoAndStop(1);
trap.visible = false;
native.turnOn("left");
native.wait();
jf.wait();
};
finalize = function (){
};
cleanOut = function (){
monkey_anim1.gotoAndStop(1);
monkey_anim2.gotoAndStop(1);
monkey_anim3.gotoAndStop(1);
monkey_anim4.gotoAndStop(1);
native.halt();
};
registerItem("spear2", Item_Spear2);
registerItem("liana", Item_Liana);
registerItem("banana", Item_Banana);
registerItem("trap", Anim_Trap);
registerEvent("trap_made");
registerEvent("trap_placed");
registerEvent("monkey_get_down");
registerEvent("native_is_happy");
addActivator("exit", $a_exit, {onClick:function (){
if (ifThis("native_is_happy")){
jfExit();
} else {
jfProvokeNative();
};
}});
addActivator("trap", $a_trap, {region:$h_trap, onClick:function (){
if (ifThis("trap_made")){
jfThrowTrap();
} else {
if (inventory.hasItem("banana")){
jfThrowBanana();
};
};
}});
addActivator("monkey", monkey_anim2, {region:$h_monkey, onClick:function (){
jfLashMonkey();
}});
addActivator("spear2", $i_spear2, {sprite:$i_spear2, onClick:function (){
jfTakeSpear2();
}});
addActivator("liana", $i_liana, {sprite:$i_liana, onClick:function (){
jfTakeLiana();
}});
addActivator("banana", $i_banana, {sprite:$i_banana, onClick:function (){
jfTakeBanana();
}});
jfSpeed = 128;
showHint = function (){
glowFilter = new GlowFilter(0xFF, 1, 5, 5, 5, 1, false, false);
};
state = "READY";
Tracer.report("[$]", "EPISODE_READY");
if (waitForReady){
this.start();
};
}
public function jfTakeSpear2():void{
if (((((!(jf)) || (!($i_spear2)))) || (!($i_spear2.visible)))){
trace("[X] Script Animation: 'takeSpear2' is impossible.");
return;
};
action = false;
if (jf.x <= $i_spear2.x){
dirX = -80;
} else {
dirX = 0;
};
jf.walkTo(($i_spear2.x + dirX));
motionTo(jf, ($i_spear2.x + dirX), 438, 1, function (){
jf.turnTo(405);
jf.takeItem("spear2", $i_spear2, function (){
if (inventory.hasAll(["spear2", "liana", "banana"])){
makeItem("trap", ["spear2", "liana", "banana"], 2, function (){
action = true;
}, "trap_made");
} else {
jf.wait();
action = true;
};
});
}, jfSpeed);
}
public function jfTakeBanana():void{
if (((((!(jf)) || (!($i_banana)))) || (!($i_banana.visible)))){
trace("[X] Script Animation: 'takeBanana' is impossible.");
return;
};
action = false;
if (jf.x <= $i_banana.x){
dirX = -100;
} else {
dirX = 100;
};
jf.walkTo(($i_banana.x + dirX));
motionTo(jf, ($i_banana.x + dirX), 438, 1, function (){
jf.turnTo($i_banana.x);
jf.playAnim("lashUp", function (){
dirX = ((-20 * jf.scaleX) / Math.abs(jf.scaleX));
jf.walkTo(($i_banana.x + dirX));
motionTo(jf, ($i_banana.x + dirX), 438, 1, function (){
jf.pickUpItem("banana", $i_banana, function (){
if (inventory.hasAll(["spear2", "liana", "banana"])){
makeItem("trap", ["spear2", "liana", "banana"], 2, function (){
action = true;
}, "trap_made");
} else {
jf.wait();
action = true;
};
});
}, jfSpeed);
}, [function (){
motionTo($i_banana, $i_banana.x, 381, 1, null, 0x0100);
}]);
}, jfSpeed);
}
public function jfThrowTrap():void{
if (!jf){
trace("[X] Script Animation: 'throwTrap' is impossible.");
return;
};
action = false;
removeActivator("trap");
$a_trap.visible = false;
jf.walkTo(62.5);
motionTo(jf, 62.5, 434, 1, function (){
jf.turnTo(trap.x);
jf.playAnim("throwTrap", function (){
trap.visible = true;
causeEvent("trap_placed");
jf.halt();
monkey_anim0.visible = false;
monkey_anim0.gotoAndStop(1);
monkey_anim1.visible = true;
intCall = function (){
monkey_anim1.visible = false;
monkey_anim1.gotoAndStop(1);
monkey_anim2.visible = true;
monkey_anim2.gotoAndPlay(1);
action = true;
};
monkey_anim1.gotoAndPlay(1);
});
}, jfSpeed);
}
public function jfLashMonkey():void{
if (((((!(jf)) || (!(monkey_anim2)))) || (!(monkey_anim2.visible)))){
trace("[X] Script Animation: 'lashMonkey' is impossible.");
return;
};
action = false;
if (jf.x <= monkey_anim2.x){
dirX = 0;
} else {
dirX = 0;
};
jf.walkTo((monkey_anim2.x + dirX));
motionTo(jf, (monkey_anim2.x + dirX), 438, 1, function (){
jf.playAnim("lash", null, [function (){
monkey_anim2.visible = false;
monkey_anim2.gotoAndStop(1);
monkey_anim3.visible = true;
intCall = function (){
native.playAnim("getNecklace", function (){
causeEvent("native_is_happy");
native.playAnim("walk2");
motionTo(native, -100, 433, 1, function (){
native.halt();
action = true;
}, 128);
});
};
monkey_anim3.gotoAndPlay(1);
}]);
}, jfSpeed);
}
}
}//package
Section 151
//Episode_05 (Episode_05)
package {
import flash.filters.*;
public dynamic class Episode_05 extends Episode {
public var jfSpeed:Number;
public var dirX:Number;
public var dirY:Number;
public var glowFilter:GlowFilter;
public function Episode_05(){
addFrameScript(0, frame1);
}
public function jfActivateTrap():void{
if (!jf){
trace("[X] Script Animation: 'placeTrap' is impossible.");
return;
};
action = false;
intISet = [function (){
bigStone.visible = false;
}];
intCall = function (){
causeEvent("bull_caught");
jf.x = 181.2;
jf.y = 225.6;
jf.visible = true;
jf.wait();
action = true;
};
jf_anim.gotoAndPlay("push_stone");
}
public function jfProvokeBull():void{
if (!jf){
trace("[X] Script Animation: 'provokeBull' is impossible.");
return;
};
action = false;
jf.walkTo(83.5);
motionTo(jf, 83.5, 227, 1, function (){
jf.turnOn("right");
motionTo(jf, 165.6, 308.3, 1, function (){
motionTo(jf, 233.4, 437.4, 1, function (){
jf.halt();
bull_anim_kick.visible = true;
bull_anim_idle.visible = false;
intCall = function (){
jf.playAnim("die2", lose);
};
bull_anim_kick.gotoAndPlay(1);
}, jfSpeed);
}, jfSpeed);
}, jfSpeed);
}
public function jfExit():void{
if (!jf){
trace("[X] Script Animation: 'exit' is impossible.");
return;
};
action = false;
jf.walkTo(83.5);
motionTo(jf, 83.5, 227, 1, function (){
jf.turnOn("right");
motionTo(jf, 165.6, 308.3, 1, function (){
motionTo(jf, 233.4, 437.4, 1, function (){
motionTo(jf, 740, 437.4, 1, win, jfSpeed);
}, jfSpeed);
}, jfSpeed);
}, jfSpeed);
}
public function jfPlaceTrap():void{
if (!jf){
trace("[X] Script Animation: 'placeTrap' is impossible.");
return;
};
action = false;
jf.walkTo(121.3);
motionTo(jf, 121.3, 227, 1, function (){
jf.halt();
jf.visible = false;
intISet = [function (){
bull_anim_idle.stop();
bull_anim_idle.visible = false;
}];
intCall = function (){
causeEvent("trap_placed");
action = true;
};
jf_anim.gotoAndPlay(1);
jf_anim.visible = true;
}, jfSpeed);
}
function frame1(){
jf_anim.gotoAndStop(1);
bull_anim_kick.gotoAndStop(1);
hintFillTime = -1;
hintIdleTime = -1;
initialize = function (){
jf_anim.visible = false;
bull_anim_kick.visible = false;
jf.wait();
};
finalize = function (){
};
cleanOut = function (){
};
registerItem("carrot", Item_Carrot);
registerItem("liana2", Item_Liana2);
registerItem("trap2", Anim_Trap2);
registerEvent("trap_made");
registerEvent("trap_placed");
registerEvent("bull_caught");
addActivator("branch", branch, {sprite:branch, onClick:function (){
if (((ifThis("trap_made")) && (ifNotThis("trap_placed")))){
jfPlaceTrap();
};
}});
addActivator("bigStone", bigStone, {sprite:bigStone, onClick:function (){
if (((ifThis("trap_placed")) && (ifNotThis("bull_caught")))){
jfActivateTrap();
};
}});
addActivator("exit", $a_exit, {onClick:function (){
if (ifThis("bull_caught")){
jfExit();
} else {
if (ifNotThis("trap_placed")){
jfProvokeBull();
};
};
}});
addActivator("carrot", $i_carrot, {sprite:$i_carrot, onClick:function (){
jfTakeCarrot();
}});
addActivator("liana2", $i_liana2, {sprite:$i_liana2, onClick:function (){
jfTakeLiana2();
}});
jfSpeed = 128;
showHint = function (){
glowFilter = new GlowFilter(0xFF, 1, 5, 5, 5, 1, false, false);
};
state = "READY";
Tracer.report("[$]", "EPISODE_READY");
if (waitForReady){
this.start();
};
}
public function jfTakeCarrot():void{
if (((((!(jf)) || (!($i_carrot)))) || (!($i_carrot.visible)))){
trace("[X] Script Animation: 'takeCarrot' is impossible.");
return;
};
action = false;
if (jf.x <= $i_carrot.x){
dirX = 0;
} else {
dirX = 0;
};
jf.walkTo(($i_carrot.x + dirX));
motionTo(jf, ($i_carrot.x + dirX), 227, 1, function (){
jf.takeItem("carrot", $i_carrot, function (){
if (inventory.hasAll(["carrot", "liana2"])){
makeItem("trap2", ["carrot", "liana2"], 2, function (){
action = true;
}, "trap_made");
} else {
jf.wait();
action = true;
};
});
}, jfSpeed);
}
public function jfTakeLiana2():void{
if (((((!(jf)) || (!($i_liana2)))) || (!($i_liana2.visible)))){
trace("[X] Script Animation: 'takeLiana2' is impossible.");
return;
};
action = false;
if (jf.x <= $i_liana2.x){
dirX = 0;
} else {
dirX = 0;
};
jf.walkTo(($i_liana2.x + dirX));
motionTo(jf, ($i_liana2.x + dirX), 227, 1, function (){
jf.turnOn("right");
jf.playAnim("lashUp", function (){
jf.wait();
action = true;
}, [function (){
getItem("liana2", $i_liana2, function (){
if (inventory.hasAll(["carrot", "liana2"])){
makeItem("trap2", ["carrot", "liana2"], 2, function (){
action = true;
}, "trap_made");
};
});
}]);
}, jfSpeed);
}
}
}//package
Section 152
//Episode_06 (Episode_06)
package {
import flash.filters.*;
public dynamic class Episode_06 extends Episode {
public var jfSpeed:Number;
public var dirX:Number;
public var dirY:Number;
public var glowFilter:GlowFilter;
public function Episode_06(){
addFrameScript(0, frame1);
}
public function jfKilledByOfficer():void{
if (((!(jf)) || (!(officer)))){
trace("[X] Script Animation: 'killedByOfficer' is impossible.");
return;
};
action = false;
if (jf.x <= officer.x){
dirX = -100;
} else {
dirX = 0;
};
jf.walkTo((officer.x + dirX));
motionTo(jf, (officer.x + dirX), 439, 1, function (){
jf.halt();
officer.turnOn("left");
officer.playAnim("shootDown", null, [function (){
jf.playAnim("die1", lose);
}]);
}, jfSpeed);
}
public function jfExit():void{
if (!jf){
trace("[X] Script Animation: 'exit' is impossible.");
return;
};
action = false;
jf.walkTo(473);
motionTo(jf, 473, 435, 1, function (){
motionTo(jf, 590, 343, 1, function (){
motionTo(jf, 740, 343, 1, win, jfSpeed);
}, (jfSpeed - 32));
}, jfSpeed);
}
public function jfKillEnemy():void{
if (((!(jf)) || (!(officer)))){
trace("[X] Script Animation: 'killEnemy' is impossible.");
return;
};
action = false;
jf.walkTo(85);
motionTo(jf, 85, 437, 1, function (){
jf.turnTo(officer.x);
inventory.removeItem("bomb");
jf.playAnim("throwBarrel", function (){
jf.wait();
causeEvent("enemy_gone");
action = true;
}, [function (){
officer.playAnim("explode");
}]);
}, jfSpeed);
}
public function jfTakeOil():void{
if (((((!(jf)) || (!($i_oil)))) || (!($i_oil.visible)))){
trace("[X] Script Animation: 'takeOil' is impossible.");
return;
};
action = false;
if (jf.x <= $i_oil.x){
dirX = -20;
} else {
dirX = 0;
};
jf.walkTo(($i_oil.x + dirX));
motionTo(jf, ($i_oil.x + dirX), 439, 1, function (){
jf.takeItem("oil", $i_oil, function (){
if (inventory.hasAll(["rope2", "barrel", "oil"])){
makeItem("bomb", ["rope2", "barrel", "oil"], 2, function (){
action = true;
}, "bomb_made");
} else {
jf.wait();
action = true;
};
});
}, jfSpeed);
}
public function jfKillSelf():void{
if (!jf){
trace("[X] Script Animation: 'killSelf' is impossible.");
return;
};
action = false;
jf.walkTo(85);
motionTo(jf, 85, 437, 1, function (){
jf.playAnim("throwBarrelAndDie", lose);
}, jfSpeed);
}
function frame1(){
hintFillTime = -1;
hintIdleTime = -1;
initialize = function (){
jf.wait();
};
finalize = function (){
};
cleanOut = function (){
};
registerItem("rope2", Item_Rope2);
registerItem("barrel", Item_Barrel);
registerItem("oil", Item_Oil);
registerItem("bomb", Anim_Bomb);
registerEvent("bomb_made");
registerEvent("enemy_gone");
addActivator("flame1", $a_flame1, {onClick:function (){
if (((ifThis("bomb_made")) && (inventory.hasItem("bomb")))){
jfKillSelf();
};
}});
addActivator("flame2", $a_flame2, {region:$h_flame, onClick:function (){
if (((ifThis("bomb_made")) && (inventory.hasItem("bomb")))){
jfKillEnemy();
};
}});
addActivator("exit", $a_exit, {onClick:function (){
if (ifThis("enemy_gone")){
jfExit();
} else {
jfKilledByOfficer();
};
}});
addActivator("rope2", $i_rope2, {sprite:$i_rope2, onClick:function (){
jfTakeRope2();
}});
addActivator("barrel", $i_barrel, {sprite:$i_barrel, onClick:function (){
jfTakeBarrel();
}});
addActivator("oil", $i_oil, {sprite:$i_oil, onClick:function (){
jfTakeOil();
}});
jfSpeed = 128;
showHint = function (){
glowFilter = new GlowFilter(0xFF, 1, 5, 5, 5, 1, false, false);
};
state = "READY";
Tracer.report("[$]", "EPISODE_READY");
if (waitForReady){
this.start();
};
}
public function jfTakeRope2():void{
if (((((!(jf)) || (!($i_rope2)))) || (!($i_rope2.visible)))){
trace("[X] Script Animation: 'takeRope2' is impossible.");
return;
};
action = false;
if (jf.x <= $i_rope2.x){
dirX = 0;
} else {
dirX = 60;
};
jf.walkTo(($i_rope2.x + dirX));
motionTo(jf, ($i_rope2.x + dirX), 439, 1, function (){
jf.takeItem("rope2", $i_rope2, function (){
if (inventory.hasAll(["rope2", "barrel", "oil"])){
makeItem("bomb", ["rope2", "barrel", "oil"], 2, function (){
action = true;
}, "bomb_made");
} else {
jf.wait();
action = true;
};
});
}, jfSpeed);
}
public function jfTakeBarrel():void{
if (((((!(jf)) || (!($i_barrel)))) || (!($i_barrel.visible)))){
trace("[X] Script Animation: 'takeBarrel' is impossible.");
return;
};
action = false;
if (jf.x <= $i_barrel.x){
dirX = 0;
} else {
dirX = 70;
};
jf.walkTo(($i_barrel.x + dirX));
motionTo(jf, ($i_barrel.x + dirX), 439, 1, function (){
jf.takeItem("barrel", $i_barrel, function (){
if (inventory.hasAll(["rope2", "barrel", "oil"])){
makeItem("bomb", ["rope2", "barrel", "oil"], 2, function (){
action = true;
}, "bomb_made");
} else {
jf.wait();
action = true;
};
});
}, jfSpeed);
}
}
}//package
Section 153
//Episode_07 (Episode_07)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Episode_07 extends Episode {
public var jfSpeed:Number;
public var dirX:Number;
public var dirY:Number;
public var glowFilter:GlowFilter;
public function Episode_07(){
addFrameScript(0, frame1);
}
public function jfPlaceCannonBall():void{
if (((!(jf)) || (!(chest)))){
trace("[X] Script Animation: 'placeCannonBall' is impossible.");
return;
};
action = false;
if (jf.x <= chest.x){
dirX = -25;
} else {
dirX = -25;
};
jf.walkTo((chest.x + dirX));
motionTo(jf, (chest.x + dirX), 391, 1, function (){
jf.playAnim("take", function (){
inventory.removeItem("cannonBall");
placed_cannonBall.visible = true;
causeEvent("cannonBall_placed");
removeActivator("chest");
jf.wait();
action = true;
});
}, jfSpeed);
}
public function jfPlaceWood():void{
if (((!(jf)) || (!(chest)))){
trace("[X] Script Animation: 'placeWood' is impossible.");
return;
};
action = false;
if (jf.x <= chest.x){
dirX = 0;
} else {
dirX = -25;
};
jf.walkTo((chest.x + dirX));
motionTo(jf, (chest.x + dirX), 391, 1, function (){
jf.playAnim("take", function (){
inventory.removeItem("wood");
placed_wood.visible = true;
causeEvent("wood_placed");
jf.wait();
action = true;
});
}, jfSpeed);
}
public function jfJumpAndFall():void{
if (((!(jf)) || (!(chest)))){
trace("[X] Script Animation: 'jumpAndFall' is impossible.");
return;
};
action = false;
jf.walkTo(168.9);
motionTo(jf, 168.9, 391, 1, function (){
jf.turnOn("right");
jf.halt();
jf.visible = false;
jf_anim_jumpAndFall.visible = true;
intISet = [function (){
mrEvil.playAnim("push");
}];
intCall = lose;
jf_anim_jumpAndFall.play();
}, jfSpeed);
}
public function jfThrowSword():void{
if (((!(jf)) || (!(chest)))){
trace("[X] Script Animation: 'throwSword' is impossible.");
return;
};
action = false;
inventory.removeItem("sword");
removeActivator("stalactite");
jf.walkTo(61.5);
motionTo(jf, 61.5, 391, 1, function (){
jf.turnOn("right");
jf.halt();
jf.visible = false;
mrEvil.halt();
mrEvil.visible = false;
placed_wood.visible = false;
placed_cannonBall.visible = false;
jf_anim_action.visible = true;
intISet = [function (){
stalactite1.part.visible = false;
}];
intCall = function (){
causeEvent("enemy_gone");
jf_anim_action.visible = false;
jf.visible = true;
jf.wait();
action = true;
};
jf_anim_action.play();
jf_anim_action.mrEvil.play();
stalactite2.part.visible = false;
}, jfSpeed);
}
public function jfTakeWood():void{
if (((((!(jf)) || (!($i_wood)))) || (!($i_wood.visible)))){
trace("[X] Script Animation: 'takeWood' is impossible.");
return;
};
action = false;
if (jf.x <= $i_wood.x){
dirX = 30;
} else {
dirX = 20;
};
jf.walkTo(($i_wood.x + dirX));
motionTo(jf, ($i_wood.x + dirX), 391, 1, function (){
jf.takeItem("wood", $i_wood, function (){
jf.wait();
action = true;
});
}, jfSpeed);
}
function frame1(){
jf_anim_walkAndFall.gotoAndStop(1);
jf_anim_jumpAndFall.gotoAndStop(1);
jf_anim_win.gotoAndStop(1);
jf_anim_action.gotoAndStop(1);
jf_anim_action.mrEvil.gotoAndStop(1);
hintFillTime = -1;
hintIdleTime = -1;
initialize = function (){
jf_anim_walkAndFall.visible = false;
jf_anim_jumpAndFall.visible = false;
jf_anim_win.visible = false;
jf_anim_action.visible = false;
placed_wood.visible = false;
placed_cannonBall.visible = false;
mrEvil.turnOn("left");
mrEvil.wait();
jf.wait();
};
finalize = function (){
};
cleanOut = function (){
mrEvil.halt();
};
registerItem("cannonBall", Item_CannonBall);
registerItem("sword", Item_Sword);
registerItem("wood", Item_Wood);
registerEvent("wood_placed");
registerEvent("cannonBall_placed");
registerEvent("enemy_gone");
addActivator("chest", chest, {sprite:chest, onClick:function (){
if (inventory.hasItem("wood")){
jfPlaceWood();
} else {
if (((ifThis("wood_placed")) && (inventory.hasItem("cannonBall")))){
jfPlaceCannonBall();
};
};
}});
addActivator("claw", claw, {sprite:claw, onClick:function (){
if (ifThis("enemy_gone")){
jfWin();
} else {
jfJumpAndFall();
};
}});
addActivator("cup", cup, {onClick:function (){
jfWalkAndFall();
}});
addActivator("stalactite", $a_stalactite, {region:$h_stalactite, onClick:function (){
if (((inventory.hasItem("sword")) && (ifThis("cannonBall_placed")))){
jfThrowSword();
};
}});
addActivator("wood", $i_wood, {sprite:$i_wood, onClick:function (){
jfTakeWood();
}});
addActivator("sword", $i_sword, {sprite:$i_sword, onClick:function (){
jfPickUpSword();
}});
addActivator("cannonBall", $i_cannonBall, {sprite:$i_cannonBall, onClick:function (){
jfPickUpCannonBall();
}});
jfSpeed = 128;
showHint = function (){
glowFilter = new GlowFilter(0xFF, 1, 5, 5, 5, 1, false, false);
};
state = "READY";
Tracer.report("[$]", "EPISODE_READY");
if (waitForReady){
this.start();
};
}
public function jfWin():void{
if (((!(jf)) || (!(chest)))){
trace("[X] Script Animation: 'win' is impossible.");
return;
};
action = false;
jf.walkTo(168.9);
motionTo(jf, 168.9, 391, 1, function (){
jf.turnOn("right");
jf.halt();
jf.visible = false;
jf_anim_win.visible = true;
intISet = [function (){
cup.visible = false;
}];
intCall = win;
jf_anim_win.play();
}, jfSpeed);
}
public function jfWalkAndFall():void{
if (((!(jf)) || (!(chest)))){
trace("[X] Script Animation: 'walkAndFall' is impossible.");
return;
};
action = false;
jf.walkTo(168.9);
motionTo(jf, 168.9, 391, 1, function (){
jf.turnOn("right");
jf.halt();
jf.visible = false;
jf_anim_walkAndFall.visible = true;
intCall = lose;
jf_anim_walkAndFall.play();
}, jfSpeed);
}
public function jfPickUpCannonBall():void{
if (((((!(jf)) || (!($i_cannonBall)))) || (!($i_cannonBall.visible)))){
trace("[X] Script Animation: 'pickUpCannonBall' is impossible.");
return;
};
action = false;
if (jf.x <= $i_cannonBall.x){
dirX = -10;
} else {
dirX = 20;
};
jf.walkTo(($i_cannonBall.x + dirX));
motionTo(jf, ($i_cannonBall.x + dirX), 391, 1, function (){
jf.pickUpItem("cannonBall", $i_cannonBall, function (){
if ((((jf.scaleX > 0)) && (inventory.hasItem("wood")))){
jf.walkTo((($i_cannonBall.x + dirX) + 40));
motionTo(jf, (($i_cannonBall.x + dirX) + 40), 391, 1, function (){
jf.wait();
action = true;
}, jfSpeed);
} else {
jf.wait();
action = true;
};
});
}, jfSpeed);
}
public function jfPickUpSword():void{
if (((((!(jf)) || (!($i_sword)))) || (!($i_sword.visible)))){
trace("[X] Script Animation: 'pickUpSword' is impossible.");
return;
};
action = false;
if (jf.x <= $i_sword.x){
dirX = -40;
} else {
dirX = 0;
};
jf.walkTo(($i_sword.x + dirX));
motionTo(jf, ($i_sword.x + dirX), 391, 1, function (){
jf.pickUpItem("sword", $i_sword, function (){
jf.wait();
action = true;
});
}, jfSpeed);
}
}
}//package
Section 154
//Game (Game)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Game extends MovieClip {
public var story:MovieClip;
private var epiloguesRegistry:Object;
public var prologues:MovieClip;
public var banner:MovieClip;
public var totalTime:Number;// = 0
private var episodesRegistry:Object;
private var prologuesRegistry:Object;
private var currentEpisode:Episode;
public var hintButton:MovieClip;
private var episodesData:Object;
private var currentEpisodeIndex:uint;
public var totalScore:Number;// = 0
private var episodesOrder:Array;
public var logo:MovieClip;
public var epilogues:MovieClip;
public var muteButton:MovieClip;
private var currentEpisodeName:String;
public static const screen_w:Number = 640;
public static const screen_h:Number = 480;
public static var inst:MovieClip;
public static var banner:Boolean = false;
public static var sitelock:Boolean = false;
public static var gamemode:String = "normal";
public static var helplink:String;
public static var activeWindow = null;
public function Game(){
totalScore = 0;
totalTime = 0;
super();
addFrameScript(0, frame1);
Game.inst = this;
init();
if (prologues){
prologues.visible = false;
};
if (epilogues){
epilogues.visible = false;
};
Game.showInstructionsWindow();
}
public function registerEpisode(_arg1:String, _arg2:uint, _arg3, _arg4:Object=null):Boolean{
if (!episodesRegistry[_arg1]){
if (!episodesOrder[_arg2]){
episodesRegistry[_arg1] = _arg2;
episodesOrder[_arg2] = _arg1;
episodesData[_arg1] = new Object();
episodesData[_arg1].eClass = _arg3;
if (_arg4){
episodesData[_arg1].prologue = ((_arg4.prologue is String)) ? _arg4.prologue : "";
episodesData[_arg1].epilogue = ((_arg4.epilogue is String)) ? _arg4.epilogue : "";
} else {
episodesData[_arg1].prologue = "";
episodesData[_arg1].epilogue = "";
};
return (true);
} else {
Tracer.report("[X]", "Wrong order index.", "Game");
};
} else {
Tracer.report("[X]", "Episode already exists.", "Game");
};
return (false);
}
public function getEpisodeIndex(_arg1:String=null):uint{
if (((_arg1) && (!((_arg1 == ""))))){
if (episodesRegistry[_arg1]){
return (episodesRegistry[_arg1]);
};
} else {
if (((currentEpisode) && (currentEpisodeIndex))){
return (currentEpisodeIndex);
};
};
Tracer.report("[X]", "Wrong episode's name.", "Game");
return (NaN);
}
private function init():void{
episodesOrder = new Array();
episodesRegistry = new Object();
episodesData = new Object();
currentEpisodeIndex = 1;
prologuesRegistry = new Object();
epiloguesRegistry = new Object();
totalScore = 0;
}
public function closeEpisode():void{
terminateEpisode();
}
public function hideEpilogue():void{
epilogues.visible = false;
if (epilogues.images){
epilogues.images.gotoAndStop(1);
};
}
public function registerPrologue(_arg1:String, _arg2):Boolean{
if (!prologuesRegistry[_arg1]){
if ((((_arg2 is String)) || ((_arg2 is uint)))){
prologuesRegistry[_arg1] = _arg2;
return (true);
};
Tracer.report("[X]", "Frame must be 'String' or 'uint'.", "Game");
} else {
Tracer.report("[X]", "Prologue already exists.", "Game");
};
return (false);
}
public function replayEpisode(_arg1:String=null):void{
var _local2:*;
var _local3:*;
if (_arg1){
if (episodesRegistry[_arg1]){
closeActiveWindow();
_local3 = currentEpisodeIndex;
currentEpisodeIndex = episodesRegistry[_arg1];
if (_local3 != currentEpisodeIndex){
terminateEpisode();
createEpisode();
startCurrentEpisode();
} else {
if (story.numChildren > 0){
currentEpisode = (story.getChildAt(0) as Episode);
if (currentEpisode.state != "READY"){
recreateEpisode();
};
} else {
createEpisode();
};
startCurrentEpisode();
};
} else {
Tracer.report("[X]", "Wrong episode's name.", "Game");
};
} else {
if (currentEpisode){
closeActiveWindow();
if (currentEpisode.state != "READY"){
recreateEpisode();
};
startCurrentEpisode();
} else {
Tracer.report("[X]", "Current episode isn't defined.", "Game");
};
};
}
public function isNextEpisode():Boolean{
if ((currentEpisodeIndex + 1) >= episodesOrder.length){
return (false);
};
if (episodesOrder[(currentEpisodeIndex + 1)]){
return (true);
};
return (false);
}
public function unregisterEpisode(_arg1:String):Boolean{
if (!episodesRegistry[_arg1]){
episodesOrder[episodesRegistry[_arg1]] = null;
episodesRegistry[_arg1] = null;
delete episodesRegistry[_arg1];
return (true);
};
Tracer.report("[X]", "Episode isn't registered.", "Game");
return (false);
}
public function playEpisode(_arg1:String=null):void{
var _local2:String;
var _local3:*;
if (_arg1){
if (episodesRegistry[_arg1]){
closeActiveWindow();
_local3 = currentEpisodeIndex;
currentEpisodeIndex = episodesRegistry[_arg1];
if (_local3 != currentEpisodeIndex){
terminateEpisode();
createEpisode();
establishEpisode(_arg1);
} else {
if (story.numChildren > 0){
currentEpisode = (story.getChildAt(0) as Episode);
if (currentEpisode.state != "READY"){
recreateEpisode();
};
} else {
createEpisode();
};
establishEpisode(_arg1);
};
} else {
Tracer.report("[X]", "Wrong episode's name.", "Game");
};
} else {
if (currentEpisode){
closeActiveWindow();
if (currentEpisode.state != "READY"){
recreateEpisode();
};
startCurrentEpisode();
} else {
Tracer.report("[X]", "Current episode isn't defined.", "Game");
};
};
}
public function getCurrentEpisode():Episode{
if (currentEpisode){
return (currentEpisode);
};
if (story.numChildren > 0){
currentEpisode = (story.getChildAt(0) as Episode);
return (currentEpisode);
};
return (null);
}
public function disableAction():void{
if (currentEpisode){
currentEpisode.disableAction();
} else {
Tracer.report("[X]", "Current episode isn't defined.", "Game");
};
}
private function recreateEpisode():void{
var _local1:*;
if (story.numChildren){
if (!currentEpisode){
currentEpisode = (story.getChildAt(0) as Episode);
};
_local1 = Class(getDefinitionByName(getQualifiedClassName(currentEpisode)));
terminateEpisode();
currentEpisode = new (_local1);
story.addChild(currentEpisode);
};
}
public function prevEpisode():void{
var _local1:*;
if (currentEpisode){
if (episodesOrder[(currentEpisodeIndex - 1)]){
closeActiveWindow();
_local1 = episodesOrder[(currentEpisodeIndex - 1)];
currentEpisodeIndex = episodesRegistry[_local1];
terminateEpisode();
createEpisode();
establishEpisode(_local1);
} else {
Tracer.report("[X]", "There isn't prev episode.", "Game");
};
} else {
Tracer.report("[X]", "Current episode isn't defined.", "Game");
};
}
public function startEpisode():void{
startCurrentEpisode();
}
private function createEpisode():void{
var _local1:*;
_local1 = episodesData[episodesOrder[currentEpisodeIndex]].eClass;
currentEpisode = new (_local1);
story.addChild(currentEpisode);
}
public function showPrologue(_arg1:String):void{
if (prologuesRegistry[_arg1]){
if (prologues.currentFrame != prologuesRegistry[_arg1]){
prologues.images.ready = false;
prologues.gotoAndStop(prologuesRegistry[_arg1]);
playPrologue();
} else {
prologues.images.gotoAndPlay(1);
};
prologues.visible = true;
} else {
Tracer.report("[X]", "Prologue isn't defined.", "Game");
};
}
private function terminateEpisode():void{
if (story.numChildren){
if (!currentEpisode){
currentEpisode = (story.getChildAt(0) as Episode);
};
currentEpisode.finish();
currentEpisode.erase();
currentEpisode.state = "STOPPED";
story.removeChild(currentEpisode);
currentEpisode = null;
};
}
public function registerEpilogue(_arg1:String, _arg2):Boolean{
if (!epiloguesRegistry[_arg1]){
if ((((_arg2 is String)) || ((_arg2 is uint)))){
epiloguesRegistry[_arg1] = _arg2;
return (true);
};
Tracer.report("[X]", "Frame must be 'String' or 'uint'.", "Game");
} else {
Tracer.report("[X]", "Epilogue already exists.", "Game");
};
return (false);
}
private function startCurrentEpisode():void{
if (((currentEpisode) && ((currentEpisode.state == "READY")))){
currentEpisode.start();
} else {
addEventListener(Event.ENTER_FRAME, startCurrentEpisodeIfExist);
};
}
private function establishEpisode(_arg1:String):void{
var _local2:*;
hideEpilogue();
hidePrologue();
_local2 = episodesData[_arg1].prologue;
if (prologuesRegistry[_local2] != null){
showPrologue(_local2);
} else {
startCurrentEpisode();
};
}
public function nextEpisode():void{
var _local1:*;
if (currentEpisode){
if (episodesOrder[(currentEpisodeIndex + 1)]){
closeActiveWindow();
_local1 = episodesOrder[(currentEpisodeIndex + 1)];
currentEpisodeIndex = episodesRegistry[_local1];
terminateEpisode();
createEpisode();
establishEpisode(_local1);
} else {
Tracer.report("[X]", "There isn't next episode.", "Game");
};
} else {
Tracer.report("[X]", "Current episode isn't defined.", "Game");
};
}
public function showEpilogue(_arg1:String):void{
if (epiloguesRegistry[_arg1]){
if (epilogues.currentFrame != epiloguesRegistry[_arg1]){
epilogues.images.ready = false;
epilogues.gotoAndStop(epiloguesRegistry[_arg1]);
playEpilogue();
} else {
epilogues.images.gotoAndPlay(1);
};
epilogues.visible = true;
} else {
Tracer.report("[X]", "Epilogue isn't defined.", "Game");
};
}
function frame1(){
story.visible = false;
hintButton.visible = false;
banner.visible = false;
registerEpisode("first", 1, Episode_01, {prologue:"firstStory"});
registerEpisode("second", 2, Episode_02);
registerEpisode("third", 3, Episode_03);
registerEpisode("fourth", 4, Episode_04);
registerEpisode("fifth", 5, Episode_05);
registerEpisode("sixth", 6, Episode_06);
registerEpisode("seventh", 7, Episode_07);
registerPrologue("firstStory", 1);
}
public function enableAction():void{
if (currentEpisode){
currentEpisode.enableAction();
} else {
Tracer.report("[X]", "Current episode isn't defined.", "Game");
};
}
private function playPrologue():void{
if (((prologues.images) && (prologues.images.ready))){
prologues.images.gotoAndPlay(2);
} else {
addEventListener(Event.ENTER_FRAME, playPrologueIfExist);
};
}
private function playEpilogueIfExist(_arg1:Event):void{
if (((epilogues.images) && (epilogues.images.ready))){
_arg1.target.removeEventListener(Event.ENTER_FRAME, playEpilogueIfExist);
epilogues.images.gotoAndPlay(2);
};
}
public function unregisterPrologue(_arg1:String):Boolean{
if (prologuesRegistry[_arg1] != null){
prologuesRegistry[_arg1] = null;
delete prologuesRegistry[_arg1];
return (true);
};
Tracer.report("[X]", "Prologue isn't registered.", "Game");
return (false);
}
public function isPrevEpisode():Boolean{
if ((currentEpisodeIndex - 1) < 0){
return (false);
};
if (episodesOrder[(currentEpisodeIndex - 1)]){
return (true);
};
return (false);
}
public function hidePrologue():void{
prologues.visible = false;
if (prologues.images){
prologues.images.gotoAndStop(1);
};
}
private function playEpilogue():void{
if (((epilogues.images) && (epilogues.images.ready))){
epilogues.images.gotoAndPlay(2);
} else {
addEventListener(Event.ENTER_FRAME, playEpilogueIfExist);
};
}
private function playPrologueIfExist(_arg1:Event):void{
if (((prologues.images) && (prologues.images.ready))){
_arg1.target.removeEventListener(Event.ENTER_FRAME, playPrologueIfExist);
prologues.images.gotoAndPlay(2);
};
}
public function unregisterEpilogue(_arg1:String):Boolean{
if (epiloguesRegistry[_arg1] != null){
epiloguesRegistry[_arg1] = null;
delete epiloguesRegistry[_arg1];
return (true);
};
Tracer.report("[X]", "Epilogue isn't registered.", "Game");
return (false);
}
private function startCurrentEpisodeIfExist(_arg1:Event):void{
var _local2:Episode;
if (story.numChildren > 0){
_local2 = (story.getChildAt(0) as Episode);
if (((_local2) && ((_local2.state == "READY")))){
_arg1.target.removeEventListener(Event.ENTER_FRAME, startCurrentEpisodeIfExist);
currentEpisode = _local2;
currentEpisode.start();
};
};
}
public function getEpisodeName(_arg1:uint=0):String{
if (_arg1 > 0){
if (episodesOrder[_arg1]){
return (episodesOrder[_arg1]);
};
} else {
if (((currentEpisode) && (currentEpisodeIndex))){
return (episodesOrder[currentEpisodeIndex]);
};
};
Tracer.report("[X]", "Wrong episode's index.", "Game");
return ("");
}
public static function showYouAreHistoryWindow():void{
var _local1:*;
closeActiveWindow();
_local1 = new WindowYouAreHistory();
_local1.x = ((Game.inst.stage.stageWidth - _local1.width) / 2);
_local1.y = 100;
Game.inst.addChild(_local1);
Game.activeWindow = _local1;
}
public static function showNextLevelWindow():void{
var _local1:*;
closeActiveWindow();
_local1 = new WindowNextLevel();
_local1.x = ((Game.inst.stage.stageWidth - _local1.width) / 2);
_local1.y = 100;
Game.inst.addChild(_local1);
Game.activeWindow = _local1;
}
public static function showFinalWindow():void{
var _local1:*;
closeActiveWindow();
_local1 = new WindowFinal();
_local1.x = ((Game.inst.stage.stageWidth - _local1.width) / 2);
_local1.y = 80;
Game.inst.addChild(_local1);
Game.activeWindow = _local1;
}
public static function showBanner():void{
var _local1:*;
if (Game.inst){
_local1 = Game.inst.getChildByName("banner");
if (_local1){
_local1.visible = true;
} else {
Tracer.report("[X]", "Banner doesn't exists.", "Game");
};
} else {
Tracer.report("[X]", "Game instance doesn't exists.", "Game");
};
}
public static function closeActiveWindow():void{
if (Game.activeWindow){
Game.activeWindow.close();
};
}
public static function hideBanner():void{
var _local1:*;
if (Game.inst){
_local1 = Game.inst.getChildByName("banner");
if (_local1){
_local1.visible = false;
} else {
Tracer.report("[X]", "Banner doesn't exists.", "Game");
};
} else {
Tracer.report("[X]", "Game instance doesn't exists.", "Game");
};
}
public static function showInstructionsWindow():void{
var _local1:*;
closeActiveWindow();
_local1 = new WindowInstructions();
_local1.x = ((Game.inst.stage.stageWidth - _local1.width) / 2);
_local1.y = ((Game.inst.stage.stageHeight - _local1.height) / 2);
Game.inst.addChild(_local1);
Game.activeWindow = _local1;
}
}
}//package
Section 155
//GameMusic (GameMusic)
package {
import flash.media.*;
public dynamic class GameMusic extends Sound {
}
}//package
Section 156
//Inventory (Inventory)
package {
import flash.events.*;
public class Inventory extends EventDispatcher {
private var items:Object;
private var episode:Episode;
public function Inventory(_arg1:Episode){
this.episode = _arg1;
items = new Object();
}
public function hasNotMoreOf(_arg1:uint, _arg2:Array):Boolean{
var _local3:uint;
var _local4:uint;
var _local5:uint;
if (_arg1 == 0){
return (true);
};
if (_arg1 <= _arg2.length){
_local3 = _arg2.length;
_local4 = 0;
_local5 = 0;
while (_local5 < _local3) {
if (items[_arg2[_local5]]){
_local4++;
};
_local5++;
};
if (_local4 <= _arg1){
return (true);
};
return (false);
//unresolved jump
};
return (true);
}
public function notHasItem(_arg1:String):Boolean{
if (items[_arg1]){
return (false);
};
return (true);
}
public function hasNotLessOf(_arg1:uint, _arg2:Array):Boolean{
var _local3:uint;
var _local4:uint;
var _local5:uint;
if (_arg1 == 0){
return (true);
};
if (_arg1 <= _arg2.length){
_local3 = _arg2.length;
_local4 = 0;
_local5 = 0;
while (_local5 < _local3) {
if (items[_arg2[_local5]]){
_local4++;
};
_local5++;
};
if (_local4 >= _arg1){
return (true);
};
return (false);
//unresolved jump
};
return (false);
}
public function hasNumberOf(_arg1:uint, _arg2:Array):Boolean{
var _local3:uint;
var _local4:uint;
var _local5:uint;
if (_arg1 <= _arg2.length){
_local3 = _arg2.length;
_local4 = 0;
_local5 = 0;
while (_local5 < _local3) {
if (items[_arg2[_local5]]){
_local4++;
};
_local5++;
};
if (_local4 == _arg1){
return (true);
};
return (false);
//unresolved jump
};
return (false);
}
public function addItem(_arg1:String):Boolean{
if (episode.isItem(_arg1)){
if (!items[_arg1]){
items[_arg1] = episode.callItem(_arg1);
Tracer.report("[i]", (("Item '" + _arg1) + "' added."), "Inventory");
return (true);
};
Tracer.report("[X]", "Item already added.", "Inventory");
} else {
Tracer.report("[X]", "Item isn't registered.", "Inventory");
};
return (false);
}
public function notHasAll(_arg1:Array):Boolean{
var _local2:uint;
var _local3:uint;
_local2 = _arg1.length;
_local3 = 0;
while (_local3 < _local2) {
if (items[_arg1[_local3]]){
return (false);
};
_local3++;
};
return (true);
}
public function kill():void{
var _local1:*;
for (_local1 in items) {
items[_local1].kill();
items[_local1] = undefined;
delete items[_local1];
};
items = undefined;
episode = undefined;
}
public function makeItem(_arg1:String, _arg2:Array):Boolean{
var _local3:uint;
var _local4:uint;
_local4 = _arg2.length;
_local3 = 0;
while (_local3 < _local4) {
if (!items[_arg2[_local3]]){
return (false);
};
_local3++;
};
if (addItem(_arg1)){
_local3 = 0;
while (_local3 < _local4) {
removeItem(_arg2[_local3]);
_local3++;
};
showItemWindow(_arg1, "You made ");
Tracer.report("[i]", "WindowItem: makeItem().", "Inventory");
return (true);
};
return (false);
}
public function getAny(_arg1:Array):Item{
var _local2:uint;
var _local3:uint;
_local2 = _arg1.length;
_local3 = 0;
while (_local3 < _local2) {
if (items[_arg1[_local3]]){
return (items[_arg1[_local3]]);
};
_local3++;
};
return (null);
}
public function listItems():void{
var _local1:uint;
var _local2:*;
trace("[S] LIST: inventory items:");
_local1 = 0;
for (_local2 in items) {
trace((((" - " + _local2) + " = ") + items[_local2]));
_local1++;
};
trace((" Total number: " + _local1));
}
public function hasItem(_arg1:String):Boolean{
if (items[_arg1]){
return (true);
};
return (false);
}
public function hasAll(_arg1:Array):Boolean{
var _local2:uint;
var _local3:uint;
_local2 = _arg1.length;
_local3 = 0;
while (_local3 < _local2) {
if (!items[_arg1[_local3]]){
return (false);
};
_local3++;
};
return (true);
}
public function findItem(_arg1:String):Item{
if (items[_arg1]){
return (items[_arg1]);
};
return (null);
}
private function showItemWindow(_arg1:String, _arg2:String=null):void{
var _local3:Item;
var _local4:*;
var _local5:String;
var _local6:*;
var _local7:*;
var _local8:Number;
_local3 = items[_arg1];
if (Game.activeWindow){
Game.activeWindow.close();
};
_local4 = new WindowItem();
_local5 = _local3.title;
if (_arg2){
};
if (_local3.icon){
_local6 = _local3.icon;
_local7 = new (_local6);
if ((((_local7.width > _local4.itemIcon_mc.width)) || ((_local7.height > _local4.itemIcon_mc.height)))){
if (_local7.width >= _local7.height){
_local8 = (_local7.width / _local4.itemIcon_mc.width);
} else {
_local8 = (_local7.height / _local4.itemIcon_mc.height);
};
_local7.width = (_local7.width / _local8);
_local7.height = (_local7.height / _local8);
};
_local7.x = ((_local4.itemIcon_mc.width - _local7.width) / 2);
_local7.y = ((_local4.itemIcon_mc.height - _local7.height) / 2);
_local4.itemIcon_mc.addChild(_local7);
} else {
Tracer.report("[!]", "WindowItem: icon for item is undefined.", "Inventory");
};
_local4.x = ((Game.inst.stage.stageWidth - _local4.width) / 2);
_local4.y = ((Game.inst.stage.stageHeight - _local4.height) / 2);
Game.inst.addChild(_local4);
Game.activeWindow = _local4;
}
public function hasAny(_arg1:Array):Boolean{
var _local2:uint;
var _local3:uint;
_local2 = _arg1.length;
_local3 = 0;
while (_local3 < _local2) {
if (items[_arg1[_local3]]){
return (true);
};
_local3++;
};
return (false);
}
public function removeItem(_arg1:String):Boolean{
if (items[_arg1]){
items[_arg1] = null;
delete items[_arg1];
Tracer.report("[i]", (("Item '" + _arg1) + "' removed."), "Inventory");
return (true);
};
Tracer.report("[X]", "There is no such item.", "Inventory");
return (false);
}
public function takeItem(_arg1:String):Boolean{
if (addItem(_arg1)){
showItemWindow(_arg1);
Tracer.report("[i]", "WindowItem: takeItem().", "Inventory");
return (true);
};
return (false);
}
public function notHasAny(_arg1:Array):Boolean{
var _local2:uint;
var _local3:uint;
_local2 = _arg1.length;
_local3 = 0;
while (_local3 < _local2) {
if (!items[_arg1[_local3]]){
return (true);
};
_local3++;
};
return (false);
}
}
}//package
Section 157
//Item (Item)
package {
public class Item {
public var name:String;
public var title:String;
public var icon;
public var description:String;
public function Item(_arg1:String, _arg2=null, _arg3:String=null, _arg4:String=null){
this.name = _arg1;
this.icon = _arg2;
this.title = _arg3;
this.description = _arg4;
}
public function kill():void{
name = undefined;
icon = undefined;
title = undefined;
description = undefined;
}
}
}//package
Section 158
//Item_Banana (Item_Banana)
package {
import flash.display.*;
public dynamic class Item_Banana extends MovieClip {
}
}//package
Section 159
//Item_Barrel (Item_Barrel)
package {
import flash.display.*;
public dynamic class Item_Barrel extends MovieClip {
}
}//package
Section 160
//Item_Bomb (Item_Bomb)
package {
import flash.display.*;
public dynamic class Item_Bomb extends MovieClip {
}
}//package
Section 161
//Item_CannonBall (Item_CannonBall)
package {
import flash.display.*;
public dynamic class Item_CannonBall extends MovieClip {
}
}//package
Section 162
//Item_Carrot (Item_Carrot)
package {
import flash.display.*;
public dynamic class Item_Carrot extends MovieClip {
}
}//package
Section 163
//Item_Hook (Item_Hook)
package {
import flash.display.*;
public dynamic class Item_Hook extends MovieClip {
}
}//package
Section 164
//Item_Hook_Rope (Item_Hook_Rope)
package {
import flash.display.*;
public dynamic class Item_Hook_Rope extends MovieClip {
}
}//package
Section 165
//Item_Liana (Item_Liana)
package {
import flash.display.*;
public dynamic class Item_Liana extends MovieClip {
}
}//package
Section 166
//Item_Liana2 (Item_Liana2)
package {
import flash.display.*;
public dynamic class Item_Liana2 extends MovieClip {
}
}//package
Section 167
//Item_Oil (Item_Oil)
package {
import flash.display.*;
public dynamic class Item_Oil extends MovieClip {
}
}//package
Section 168
//Item_Rope (Item_Rope)
package {
import flash.display.*;
public dynamic class Item_Rope extends MovieClip {
}
}//package
Section 169
//Item_Rope2 (Item_Rope2)
package {
import flash.display.*;
public dynamic class Item_Rope2 extends MovieClip {
}
}//package
Section 170
//Item_Spear (Item_Spear)
package {
import flash.display.*;
public dynamic class Item_Spear extends MovieClip {
}
}//package
Section 171
//Item_Spear2 (Item_Spear2)
package {
import flash.display.*;
public dynamic class Item_Spear2 extends MovieClip {
}
}//package
Section 172
//Item_Sword (Item_Sword)
package {
import flash.display.*;
public dynamic class Item_Sword extends MovieClip {
}
}//package
Section 173
//Item_Trap (Item_Trap)
package {
import flash.display.*;
public dynamic class Item_Trap extends MovieClip {
}
}//package
Section 174
//Item_Trap2 (Item_Trap2)
package {
import flash.display.*;
public dynamic class Item_Trap2 extends MovieClip {
}
}//package
Section 175
//Item_Whip_Spear (Item_Whip_Spear)
package {
import flash.display.*;
public dynamic class Item_Whip_Spear extends MovieClip {
}
}//package
Section 176
//Item_Wood (Item_Wood)
package {
import flash.display.*;
public dynamic class Item_Wood extends MovieClip {
}
}//package
Section 177
//JohnnyFinder (JohnnyFinder)
package {
public dynamic class JohnnyFinder extends Character {
public var returnToFrame:uint;
public var initialized:Boolean;
public function JohnnyFinder(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16);
}
function frame10(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame14(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame12(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame3(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame7(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame1(){
stop();
initialized = false;
initialized = true;
if (returnToFrame){
gotoAndStop(returnToFrame);
} else {
gotoAndStop("none");
};
}
function frame6(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame13(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame5(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame9(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame4(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame8(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame2(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame15(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame16(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame11(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
}
}//package
Section 178
//MrEvil (MrEvil)
package {
public dynamic class MrEvil extends Character {
public var returnToFrame:uint;
public var initialized:Boolean;
public function MrEvil(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame1(){
stop();
initialized = false;
initialized = true;
if (returnToFrame){
gotoAndStop(returnToFrame);
} else {
gotoAndStop("none");
};
}
function frame4(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame2(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
}
}//package
Section 179
//MusicPlayer (MusicPlayer)
package {
import flash.events.*;
import flash.media.*;
public class MusicPlayer {
private var channel:SoundChannel;
private var playing:Boolean;// = false
var musicvol:Number;// = 0.2
private var sound:Sound;
private var mute:Boolean;// = false
public function MusicPlayer(){
musicvol = 0.2;
mute = false;
playing = false;
super();
init();
}
public function musicON(){
channel.soundTransform = new SoundTransform(musicvol);
mute = false;
}
public function musicOFF(){
channel.soundTransform = new SoundTransform(0);
mute = true;
}
private function init(){
}
public function playMusic(_arg1:Sound){
if (!sound){
sound = _arg1;
};
channel = sound.play();
if (!mute){
channel.soundTransform = new SoundTransform(musicvol);
};
channel.addEventListener(Event.SOUND_COMPLETE, _restart);
playing = true;
}
private function _restart(_arg1:Event):void{
if (mute){
channel = sound.play();
channel.soundTransform = new SoundTransform(0);
} else {
channel = sound.play();
channel.soundTransform = new SoundTransform(musicvol);
};
channel.addEventListener(Event.SOUND_COMPLETE, _restart);
playing = true;
}
public function stopMusic(){
channel.stop();
channel.removeEventListener(Event.SOUND_COMPLETE, _restart);
playing = false;
}
public function get isPlaying():Boolean{
return (playing);
}
}
}//package
Section 180
//Native (Native)
package {
public dynamic class Native extends Character {
public var returnToFrame:uint;
public var initialized:Boolean;
public function Native(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7);
}
function frame3(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame7(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame1(){
stop();
initialized = false;
initialized = true;
if (returnToFrame){
gotoAndStop(returnToFrame);
} else {
gotoAndStop("none");
};
}
function frame6(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame5(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame4(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame2(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
}
}//package
Section 181
//Officer (Officer)
package {
public dynamic class Officer extends Character {
public var returnToFrame:uint;
public var initialized:Boolean;
public function Officer(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame1(){
stop();
initialized = false;
initialized = true;
if (returnToFrame){
gotoAndStop(returnToFrame);
} else {
gotoAndStop("none");
};
}
function frame5(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame4(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame2(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
}
}//package
Section 182
//ScrollBarH (ScrollBarH)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class ScrollBarH {
private const SPEED:Number = 8;
private var _mask:Sprite;
private var _track:Sprite;
private var _cont:Sprite;
private var _btnR:Sprite;
private var _thumb:Sprite;
private var _btnL:Sprite;
private var moveDir:String;// = "none"
public function ScrollBarH(_arg1:Sprite, _arg2:Sprite, _arg3:Sprite, _arg4:Sprite, _arg5:Sprite=null, _arg6:Sprite=null){
moveDir = "none";
super();
_cont = _arg1;
_mask = _arg2;
_track = _arg3;
_thumb = _arg4;
_btnL = _arg5;
_btnR = _arg6;
init();
}
private function resizeThumb():void{
var _local1:Number;
if (_cont.width > 0){
_local1 = (_cont.width / _mask.width);
if (_local1 >= 1){
_thumb.width = (_track.width / _local1);
} else {
_thumb.width = _track.width;
};
} else {
_thumb.width = _track.width;
};
}
private function moveThumb(_arg1, _arg2):void{
switch (_arg1){
case "left":
if ((_thumb.x - _arg2) >= _track.x){
_thumb.x = (_thumb.x - _arg2);
} else {
_thumb.x = _track.x;
};
break;
case "right":
if ((_thumb.x + _arg2) <= ((_track.x + _track.width) - _thumb.width)){
_thumb.x = (_thumb.x + _arg2);
} else {
_thumb.x = ((_track.x + _track.width) - _thumb.width);
};
break;
};
}
private function placeThumb(_arg1:MouseEvent):void{
var _local2:Number;
_local2 = _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 dragThumb(_arg1:MouseEvent):void{
_thumb.startDrag(false, new Rectangle(_track.x, _track.y, (_track.width - _thumb.width), 0));
}
private function init():void{
_cont.mask = _mask;
resizeThumb();
_thumb.addEventListener(MouseEvent.MOUSE_DOWN, dragThumb);
_thumb.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
_thumb.addEventListener(Event.ENTER_FRAME, moveCont);
_thumb.stage.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
_track.addEventListener(MouseEvent.CLICK, placeThumb);
_track.addEventListener(Event.ENTER_FRAME, shiftThumb);
if (_btnL){
_btnL.addEventListener(MouseEvent.MOUSE_DOWN, startMoveLeft);
_btnL.addEventListener(MouseEvent.MOUSE_UP, stopMoveLeft);
_btnL.addEventListener(MouseEvent.CLICK, stepLeft);
};
if (_btnR){
_btnR.addEventListener(MouseEvent.MOUSE_DOWN, startMoveRight);
_btnR.addEventListener(MouseEvent.MOUSE_UP, stopMoveRight);
_btnR.addEventListener(MouseEvent.CLICK, stepRight);
};
_track.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_mask.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
}
private function stopMoveLeft(_arg1:MouseEvent):void{
moveDir = "none";
}
private function stepLeft(_arg1:MouseEvent):void{
moveThumb("left", SPEED);
}
private function scrollThumb(_arg1:MouseEvent):void{
if (_arg1.delta > 0){
moveThumb("left", SPEED);
};
if (_arg1.delta < 0){
moveThumb("right", SPEED);
};
}
private function moveCont(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
resizeThumb();
_local2 = (_cont.width / _track.width);
_local3 = ((_track.x - _thumb.x) * _local2);
_cont.x = _local3;
}
private function dropThumb(_arg1:MouseEvent):void{
_thumb.stopDrag();
}
private function stopMoveRight(_arg1:MouseEvent):void{
moveDir = "none";
}
private function startMoveRight(_arg1:MouseEvent):void{
moveDir = "right";
}
private function stepRight(_arg1:MouseEvent):void{
moveThumb("right", SPEED);
}
private function shiftThumb(_arg1:Event):void{
moveThumb(moveDir, SPEED);
}
private function startMoveLeft(_arg1:MouseEvent):void{
moveDir = "left";
}
}
}//package
Section 183
//ScrollBarV (ScrollBarV)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class ScrollBarV {
private const SPEED:Number = 8;
private var _mask:Sprite;
private var _track:Sprite;
private var _cont:Sprite;
private var _btnD:Sprite;
private var _thumb:Sprite;
private var _btnU:Sprite;
private var moveDir:String;// = "none"
public function ScrollBarV(_arg1:Sprite, _arg2:Sprite, _arg3:Sprite, _arg4:Sprite, _arg5:Sprite=null, _arg6:Sprite=null){
moveDir = "none";
super();
_cont = _arg1;
_mask = _arg2;
_track = _arg3;
_thumb = _arg4;
_btnU = _arg5;
_btnD = _arg6;
init();
}
private function resizeThumb():void{
var _local1:Number;
if (_cont.height > 0){
_local1 = (_cont.height / _mask.height);
if (_local1 >= 1){
_thumb.height = (_track.height / _local1);
} else {
_thumb.height = _track.height;
};
} else {
_thumb.height = _track.height;
};
}
private function stopMoveDown(_arg1:MouseEvent):void{
moveDir = "none";
}
private function moveThumb(_arg1, _arg2):void{
switch (_arg1){
case "up":
if ((_thumb.y - _arg2) >= _track.y){
_thumb.y = (_thumb.y - _arg2);
} else {
_thumb.y = _track.y;
};
break;
case "down":
if ((_thumb.y + _arg2) <= ((_track.y + _track.height) - _thumb.height)){
_thumb.y = (_thumb.y + _arg2);
} else {
_thumb.y = ((_track.y + _track.height) - _thumb.height);
};
break;
};
}
private function dragThumb(_arg1:MouseEvent):void{
_thumb.startDrag(false, new Rectangle(_track.x, _track.y, 0, (_track.height - _thumb.height)));
}
private function init():void{
_cont.mask = _mask;
resizeThumb();
_thumb.addEventListener(MouseEvent.MOUSE_DOWN, dragThumb);
_thumb.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
_thumb.addEventListener(Event.ENTER_FRAME, moveCont);
_thumb.stage.addEventListener(MouseEvent.MOUSE_UP, dropThumb);
_track.addEventListener(MouseEvent.CLICK, placeThumb);
_track.addEventListener(Event.ENTER_FRAME, shiftThumb);
if (_btnU){
_btnU.addEventListener(MouseEvent.MOUSE_DOWN, startMoveUp);
_btnU.addEventListener(MouseEvent.MOUSE_UP, stopMoveUp);
_btnU.addEventListener(MouseEvent.CLICK, stepUp);
};
if (_btnD){
_btnD.addEventListener(MouseEvent.MOUSE_DOWN, startMoveDown);
_btnD.addEventListener(MouseEvent.MOUSE_UP, stopMoveDown);
_btnD.addEventListener(MouseEvent.CLICK, stepDown);
};
_track.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
_mask.parent.addEventListener(MouseEvent.MOUSE_WHEEL, scrollThumb);
}
private function startMoveDown(_arg1:MouseEvent):void{
moveDir = "down";
}
private function placeThumb(_arg1:MouseEvent):void{
var _local2:Number;
_local2 = _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 scrollThumb(_arg1:MouseEvent):void{
if (_arg1.delta > 0){
moveThumb("up", SPEED);
};
if (_arg1.delta < 0){
moveThumb("down", SPEED);
};
}
private function moveCont(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
resizeThumb();
_local2 = (_cont.height / _track.height);
_local3 = ((_track.y - _thumb.y) * _local2);
_cont.y = _local3;
}
private function startMoveUp(_arg1:MouseEvent):void{
moveDir = "up";
}
private function stepUp(_arg1:MouseEvent):void{
moveThumb("up", SPEED);
}
private function dropThumb(_arg1:MouseEvent):void{
_thumb.stopDrag();
}
private function shiftThumb(_arg1:Event):void{
moveThumb(moveDir, SPEED);
}
private function stepDown(_arg1:MouseEvent):void{
moveThumb("down", SPEED);
}
private function stopMoveUp(_arg1:MouseEvent):void{
moveDir = "none";
}
}
}//package
Section 184
//Soldier (Soldier)
package {
public dynamic class Soldier extends Character {
public var returnToFrame:uint;
public var initialized:Boolean;
public function Soldier(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame1(){
stop();
initialized = false;
initialized = true;
if (returnToFrame){
gotoAndStop(returnToFrame);
} else {
gotoAndStop("none");
};
}
function frame5(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame4(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
function frame2(){
stop();
if (!initialized){
returnToFrame = currentFrame;
gotoAndStop(1);
};
}
}
}//package
Section 185
//Tracer (Tracer)
package {
public class Tracer {
public static var showName:Boolean = true;
public static var showTime:Boolean = false;
private static var filters:Object = new Object();
public static var showType:Boolean = true;
public static var subfilters:Object = new Object();
public static function report(_arg1:String, _arg2:String, _arg3=null, _arg4:String=null):void{
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:Date;
var _local9:*;
var _local10:*;
var _local11:*;
_arg1 = resolveType(_arg1);
_local5 = resolveName(_arg1);
if (Tracer.showName){
_local5 = (" " + _local5);
} else {
_local5 = "";
};
_local6 = "";
if (Tracer.showTime){
_local8 = new Date();
_local9 = _local8.hours;
if (_local9 < 10){
_local9 = ("0" + _local9);
};
_local10 = _local8.minutes;
if (_local10 < 10){
_local10 = ("0" + _local10);
};
_local11 = _local8.seconds;
if (_local11 < 10){
_local11 = ("0" + _local11);
};
_local6 = ((((((" (" + _local9) + ":") + _local10) + ":") + _local11) + ")");
};
_local7 = "";
if (((_arg4) && (!((_arg4 == ""))))){
_local7 = (("<" + _arg4) + "> ");
};
if (!Tracer.filters[_local5]){
if (_arg3){
if (!Tracer.subfilters[_arg3.toString()]){
trace((((((((_arg1 + _local5) + _local6) + " : [") + _arg3) + "] : ") + _local7) + _arg2));
};
} else {
trace((((((_arg1 + _local5) + _local6) + " : ") + _local7) + _arg2));
};
};
}
private static function resolveType(_arg1:String):String{
switch (_arg1){
case "i":
return ("[i]");
case "[i]":
return ("[i]");
case "info":
return ("[i]");
case "INFO":
return ("[i]");
case "Info":
return ("[i]");
case "X":
return ("[X]");
case "[X]":
return ("[X]");
case "error":
return ("[X]");
case "ERROR":
return ("[X]");
case "Error":
return ("[X]");
case "!":
return ("[!]");
case "[!]":
return ("[!]");
case "warning":
return ("[!]");
case "WARNING":
return ("[!]");
case "Warning":
return ("[!]");
case "*":
return ("[*]");
case "[*]":
return ("[*]");
case "notice":
return ("[*]");
case "NOTICE":
return ("[*]");
case "Notice":
return ("[*]");
case "$":
return ("[$]");
case "[$]":
return ("[$]");
case "system":
return ("[$]");
case "SYSTEM":
return ("[$]");
case "System":
return ("[$]");
};
return ("[.]");
}
public static function filtrate(_arg1):void{
var _local2:String;
var _local3:uint;
var _local4:uint;
if ((_arg1 is String)){
if (!Tracer.filters){
Tracer.filters = new Object();
};
if (_arg1 == "*"){
Tracer.filters["INFO"] = true;
Tracer.filters["ERROR"] = true;
Tracer.filters["WARNING"] = true;
Tracer.filters["NOTICE"] = true;
Tracer.filters["SYSTEM"] = true;
Tracer.filters["OTHER"] = true;
} else {
_local2 = resolveName(_arg1);
Tracer.filters[_local2] = true;
};
return;
};
if ((_arg1 is Array)){
if (!Tracer.filters){
Tracer.filters = new Object();
};
_local3 = _arg1.length;
_local4 = 0;
while (_local4 < _local3) {
if ((_arg1[_local4] is String)){
_local2 = resolveName(_arg1[_local4]);
Tracer.filters[_local2] = true;
};
_local4++;
};
};
}
private static function resolveName(_arg1:String):String{
switch (resolveType(_arg1)){
case "[i]":
return ("INFO");
case "[X]":
return ("ERROR");
case "[!]":
return ("WARNING");
case "[*]":
return ("NOTICE");
case "[$]":
return ("SYSTEM");
case "[.]":
return ("OTHER");
};
return ("OTHER");
}
public static function infiltrate(_arg1):void{
var _local2:String;
var _local3:uint;
var _local4:uint;
if ((_arg1 is String)){
if (!Tracer.filters){
Tracer.filters = new Object();
};
if (_arg1 == "*"){
Tracer.filters["INFO"] = false;
Tracer.filters["ERROR"] = false;
Tracer.filters["WARNING"] = false;
Tracer.filters["NOTICE"] = false;
Tracer.filters["SYSTEM"] = false;
Tracer.filters["OTHER"] = false;
} else {
_local2 = resolveName(_arg1);
Tracer.filters[_local2] = false;
};
return;
};
if ((_arg1 is Array)){
if (!Tracer.filters){
Tracer.filters = new Object();
};
_local3 = _arg1.length;
_local4 = 0;
while (_local4 < _local3) {
if ((_arg1[_local4] is String)){
_local2 = resolveName(_arg1[_local4]);
Tracer.filters[_local2] = false;
};
_local4++;
};
};
}
}
}//package
Section 186
//Utils (Utils)
package {
import flash.display.*;
import flash.system.*;
public class Utils {
public static function disposeDisplayObject(_arg1:Sprite):void{
var _local2:String;
var _local3:uint;
var _local4:uint;
var _local5:*;
_local2 = "";
if (_arg1["name"]){
_local2 = ((" (" + _arg1["name"]) + ")");
};
trace((("[%] PROCESSING: " + _arg1) + _local2));
_local3 = _arg1.numChildren;
_local4 = 0;
while (_local4 < _local3) {
_local5 = _arg1.getChildAt(0);
if ((_local5 is Sprite)){
if ((_local5 is MovieClip)){
_local5.stop();
};
disposeDisplayObject(_local5);
};
if ((_local5 is Graphics)){
_local5.clear();
_arg1.removeChild(_local5);
};
if ((_local5 is Bitmap)){
_local5.dispose();
_arg1.removeChild(_local5);
};
if ((_local5 is Shape)){
_local5.graphics.clear();
_arg1.removeChild(_local5);
};
_local4++;
};
_arg1.parent.removeChild(_arg1);
}
public static function getTotalMemory():Number{
return (Number(((System.totalMemory / 0x0400) / 0x0400)));
}
}
}//package
Section 187
//Waypoint (Waypoint)
package {
import flash.display.*;
public class Waypoint extends Sprite {
private var episode:Sprite;
public var funct:Function;
public var scale:Number;
private var sign:Sprite;
public function Waypoint(_arg1:String, _arg2:Sprite, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Function=null){
this.name = _arg1;
this.episode = _arg2;
this.x = _arg3;
this.y = _arg4;
this.funct = _arg6;
this.scale = _arg5;
}
public function show(_arg1:Sprite=null):void{
if (_arg1){
this.sign = _arg1;
} else {
_arg1 = new Sprite();
_arg1.graphics.lineStyle(1, 0, 1);
_arg1.graphics.beginFill(0xFF00, 1);
_arg1.graphics.drawRect(0, 0, 32, 32);
_arg1.graphics.endFill();
};
if ((episode as Sprite)){
addChild(_arg1);
episode.addChild(this);
} else {
trace("[X] Parent isn't DisplayObject.");
};
}
public function hide():void{
if (((episode) && (episode.getChildByName(name)))){
removeChild(sign);
episode.removeChild(episode.getChildByName(name));
} else {
trace("[X] Waypoint not shown.");
};
}
public function kill():void{
hide();
episode = undefined;
sign = undefined;
funct = undefined;
scale = undefined;
}
}
}//package
Section 188
//Window (Window)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public class Window extends MovieClip {
public var time_tf:TextField;
public var pict:MovieClip;
public var mgBtn:MovieClip;
public var nextBtn:MovieClip;
public var preloader:MovieClip;
public var itemIcon_mc:MovieClip;
public var playBtn:MovieClip;
private var lifeTimer:Timer;
public var retryBtn:MovieClip;
public var mmBtn:MovieClip;
public function Window(){
lifeTimer = new Timer(3000, 1);
lifeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, closeSelf);
}
private function closeSelf(_arg1:TimerEvent):void{
close();
}
public function startLifeTimer():void{
lifeTimer.start();
}
public function stopLifeTimer():void{
lifeTimer.stop();
}
public function close():void{
if (parent != null){
Game.activeWindow = null;
if (lifeTimer.running){
lifeTimer.stop();
};
var _local1 = parent;
_local1["removeChild"](this);
};
}
}
}//package
Section 189
//WindowFinal (WindowFinal)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.filters.*;
import flash.geom.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class WindowFinal extends Window {
public function WindowFinal(){
addFrameScript(0, frame1);
}
function frame1(){
if (Game.inst){
time_tf.text = ("Time: " + Console.formatTime(Game.inst.totalTime, false));
};
}
}
}//package
Section 190
//WindowInstructions (WindowInstructions)
package {
public dynamic class WindowInstructions extends Window {
public function WindowInstructions(){
addFrameScript(0, frame1);
}
function frame1(){
playBtn.gotoAndStop(1);
}
}
}//package
Section 191
//WindowItem (WindowItem)
package {
public dynamic class WindowItem extends Window {
public function WindowItem(){
addFrameScript(0, frame1);
}
function frame1(){
startLifeTimer();
}
}
}//package
Section 192
//WindowNextLevel (WindowNextLevel)
package {
public dynamic class WindowNextLevel extends Window {
public function WindowNextLevel(){
addFrameScript(0, frame1);
}
function frame1(){
nextBtn.gotoAndStop(1);
mmBtn.gotoAndStop(1);
mgBtn.gotoAndStop(1);
pict.gotoAndStop(Console.getEpisodeIndex());
}
}
}//package
Section 193
//WindowYouAreHistory (WindowYouAreHistory)
package {
public dynamic class WindowYouAreHistory extends Window {
public function WindowYouAreHistory(){
addFrameScript(0, frame1);
}
function frame1(){
retryBtn.gotoAndStop(1);
mmBtn.gotoAndStop(1);
mgBtn.gotoAndStop(1);
}
}
}//package