Section 1
//PropTween (com.greensock.core.PropTween)
package com.greensock.core {
public class PropTween {
public var priority:int;
public var start:Number;
public var prevNode:PropTween;
public var change:Number;
public var target:Object;
public var name:String;
public var property:String;
public var nextNode:PropTween;
public var isPlugin:Boolean;
public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){
this.target = _arg1;
this.property = _arg2;
this.start = _arg3;
this.change = _arg4;
this.name = _arg5;
this.isPlugin = _arg6;
if (_arg7){
_arg7.prevNode = this;
this.nextNode = _arg7;
};
this.priority = _arg8;
}
}
}//package com.greensock.core
Section 2
//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 _local5:Number;
var _local6:TweenCore;
var _local4:TweenCore = _firstChild;
this.cachedTotalTime = _arg1;
this.cachedTime = _arg1;
while (_local4) {
_local6 = _local4.nextNode;
if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){
if (!_local4.cachedReversed){
_local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration;
_local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false);
};
};
_local4 = _local6;
};
}
public function addChild(_arg1:TweenCore):void{
if (((!(_arg1.gc)) && (_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;
}
public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (_arg1.gc){
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;
};
};
}
public function get rawTime():Number{
return (this.cachedTotalTime);
}
}
}//package com.greensock.core
Section 3
//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 cachedTime:Number;
public var cachedReversed:Boolean;
public var nextNode:TweenCore;
protected var _rawPrevTime:Number;// = -1
public var vars:Object;
public var cachedTotalTime:Number;
public var timeline:SimpleTimeline;
public var data;
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.13;
protected static var _classInitted:Boolean;
public function TweenCore(_arg1:Number=0, _arg2:Object=null){
this.vars = ((_arg2) || ({}));
this.cachedDuration = (this.cachedTotalDuration = ((_arg1) || (0)));
_delay = ((this.vars.delay) || (0));
this.cachedTimeScale = ((this.vars.timeScale) || (1));
this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false)))));
this.cachedTotalTime = (this.cachedTime = 0);
this.data = this.vars.data;
if (!_classInitted){
if (isNaN(TweenLite.rootFrame)){
TweenLite.initClass();
_classInitted = true;
} else {
return;
};
};
var _local3:SimpleTimeline = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline;
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 restart(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.reversed = false;
this.paused = false;
this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2);
}
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 = 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 complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
if (!_arg1){
renderTime(this.cachedTotalDuration, _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 invalidate():void{
}
public function get totalTime():Number{
return (this.cachedTotalTime);
}
public function get reversed():Boolean{
return (this.cachedReversed);
}
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 = (_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 4
//TweenEvent (com.greensock.events.TweenEvent)
package com.greensock.events {
import flash.events.*;
public class TweenEvent extends Event {
public static const COMPLETE:String = "complete";
public static const START:String = "start";
public static const UPDATE:String = "change";
public static const REVERSE_COMPLETE:String = "reverseComplete";
public static const INIT:String = "init";
public static const VERSION:Number = 1.1;
public static const REPEAT:String = "repeat";
public function TweenEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new TweenEvent(this.type, this.bubbles, this.cancelable));
}
}
}//package com.greensock.events
Section 5
//AutoAlphaPlugin (com.greensock.plugins.AutoAlphaPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class AutoAlphaPlugin extends TweenPlugin {
protected var _target:Object;
protected var _ignoreVisible:Boolean;
public static const API:Number = 1;
public function AutoAlphaPlugin(){
this.propName = "autoAlpha";
this.overwriteProps = ["alpha", "visible"];
}
override public function killProps(_arg1:Object):void{
super.killProps(_arg1);
_ignoreVisible = Boolean(("visible" in _arg1));
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
if (!_ignoreVisible){
_target.visible = Boolean(!((_target.alpha == 0)));
};
}
}
}//package com.greensock.plugins
Section 6
//BevelFilterPlugin (com.greensock.plugins.BevelFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class BevelFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["distance", "angle", "highlightColor", "highlightAlpha", "shadowColor", "shadowAlpha", "blurX", "blurY", "strength", "quality"];
public function BevelFilterPlugin(){
this.propName = "bevelFilter";
this.overwriteProps = ["bevelFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = BevelFilter;
initFilter(_arg2, new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_arg2.quality) || (2))), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 7
//BezierPlugin (com.greensock.plugins.BezierPlugin)
package com.greensock.plugins {
import com.greensock.*;
import com.greensock.core.*;
public class BezierPlugin extends TweenPlugin {
protected var _future:Object;
protected var _orient:Boolean;
protected var _orientData:Array;
protected var _target:Object;
protected var _beziers:Object;
public static const API:Number = 1;
protected static const _RAD2DEG:Number = 57.2957795130823;
public function BezierPlugin(){
_future = {};
super();
this.propName = "bezier";
this.overwriteProps = [];
}
override public function killProps(_arg1:Object):void{
var _local2:String;
for (_local2 in _beziers) {
if ((_local2 in _arg1)){
delete _beziers[_local2];
};
};
super.killProps(_arg1);
}
protected function init(_arg1:TweenLite, _arg2:Array, _arg3:Boolean):void{
var _local6:int;
var _local7:String;
var _local8:Object;
_target = _arg1.target;
var _local4:Object = ((_arg1.vars.isTV)==true) ? _arg1.vars.exposedVars : _arg1.vars;
if (_local4.orientToBezier == true){
_orientData = [["x", "y", "rotation", 0, 0.01]];
_orient = true;
} else {
if ((_local4.orientToBezier is Array)){
_orientData = _local4.orientToBezier;
_orient = true;
};
};
var _local5:Object = {};
_local6 = 0;
while (_local6 < _arg2.length) {
for (_local7 in _arg2[_local6]) {
if (_local5[_local7] == undefined){
_local5[_local7] = [_arg1.target[_local7]];
};
if (typeof(_arg2[_local6][_local7]) == "number"){
_local5[_local7].push(_arg2[_local6][_local7]);
} else {
_local5[_local7].push((_arg1.target[_local7] + Number(_arg2[_local6][_local7])));
};
};
_local6++;
};
for (_local7 in _local5) {
this.overwriteProps[this.overwriteProps.length] = _local7;
if (_local4[_local7] != undefined){
if (typeof(_local4[_local7]) == "number"){
_local5[_local7].push(_local4[_local7]);
} else {
_local5[_local7].push((_arg1.target[_local7] + Number(_local4[_local7])));
};
_local8 = {};
_local8[_local7] = true;
_arg1.killVars(_local8, false);
delete _local4[_local7];
};
};
_beziers = parseBeziers(_local5, _arg3);
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), false);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:String;
var _local4:Object;
var _local5:Number;
var _local6:uint;
var _local7:Number;
var _local8:Object;
var _local9:Number;
var _local10:Number;
var _local11:Array;
var _local12:Number;
var _local13:Object;
var _local14:Boolean;
if (_arg1 == 1){
for (_local3 in _beziers) {
_local2 = (_beziers[_local3].length - 1);
_target[_local3] = _beziers[_local3][_local2][2];
};
} else {
for (_local3 in _beziers) {
_local6 = _beziers[_local3].length;
if (_arg1 < 0){
_local2 = 0;
} else {
if (_arg1 >= 1){
_local2 = (_local6 - 1);
} else {
_local2 = int((_local6 * _arg1));
};
};
_local5 = ((_arg1 - (_local2 * (1 / _local6))) * _local6);
_local4 = _beziers[_local3][_local2];
if (this.round){
_local7 = (_local4[0] + (_local5 * (((2 * (1 - _local5)) * (_local4[1] - _local4[0])) + (_local5 * (_local4[2] - _local4[0])))));
_target[_local3] = ((_local7)>0) ? int((_local7 + 0.5)) : int((_local7 - 0.5));
} else {
_target[_local3] = (_local4[0] + (_local5 * (((2 * (1 - _local5)) * (_local4[1] - _local4[0])) + (_local5 * (_local4[2] - _local4[0])))));
};
};
};
if (_orient){
_local2 = _orientData.length;
_local8 = {};
while (_local2--) {
_local11 = _orientData[_local2];
_local8[_local11[0]] = _target[_local11[0]];
_local8[_local11[1]] = _target[_local11[1]];
};
_local13 = _target;
_local14 = this.round;
_target = _future;
this.round = false;
_orient = false;
_local2 = _orientData.length;
while (_local2--) {
_local11 = _orientData[_local2];
this.changeFactor = (_arg1 + ((_local11[4]) || (0.01)));
_local12 = ((_local11[3]) || (0));
_local9 = (_future[_local11[0]] - _local8[_local11[0]]);
_local10 = (_future[_local11[1]] - _local8[_local11[1]]);
_local13[_local11[2]] = ((Math.atan2(_local10, _local9) * _RAD2DEG) + _local12);
};
_target = _local13;
this.round = _local14;
_orient = true;
};
}
public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{
var _local3:int;
var _local4:Array;
var _local5:Object;
var _local6:String;
var _local7:Object = {};
if (_arg2){
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 2){
_local5[_local5.length] = [_local4[0], (_local4[1] - ((_local4[2] - _local4[0]) / 4)), _local4[1]];
_local3 = 1;
while (_local3 < (_local4.length - 1)) {
_local5[_local5.length] = [_local4[_local3], (_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)][1])), _local4[(_local3 + 1)]];
_local3++;
};
} else {
_local5[_local5.length] = [_local4[0], ((_local4[0] + _local4[1]) / 2), _local4[1]];
};
};
} else {
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 3){
_local5[_local5.length] = [_local4[0], _local4[1], ((_local4[1] + _local4[2]) / 2)];
_local3 = 2;
while (_local3 < (_local4.length - 2)) {
_local5[_local5.length] = [_local5[(_local3 - 2)][2], _local4[_local3], ((_local4[_local3] + _local4[(_local3 + 1)]) / 2)];
_local3++;
};
_local5[_local5.length] = [_local5[(_local5.length - 1)][2], _local4[(_local4.length - 2)], _local4[(_local4.length - 1)]];
} else {
if (_local4.length == 3){
_local5[_local5.length] = [_local4[0], _local4[1], _local4[2]];
} else {
if (_local4.length == 2){
_local5[_local5.length] = [_local4[0], ((_local4[0] + _local4[1]) / 2), _local4[1]];
};
};
};
};
};
return (_local7);
}
}
}//package com.greensock.plugins
Section 8
//BezierThroughPlugin (com.greensock.plugins.BezierThroughPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class BezierThroughPlugin extends BezierPlugin {
public static const API:Number = 1;
public function BezierThroughPlugin(){
this.propName = "bezierThrough";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), true);
return (true);
}
}
}//package com.greensock.plugins
Section 9
//BlurFilterPlugin (com.greensock.plugins.BlurFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class BlurFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["blurX", "blurY", "quality"];
public function BlurFilterPlugin(){
this.propName = "blurFilter";
this.overwriteProps = ["blurFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = BlurFilter;
initFilter(_arg2, new BlurFilter(0, 0, ((_arg2.quality) || (2))), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 10
//ColorMatrixFilterPlugin (com.greensock.plugins.ColorMatrixFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class ColorMatrixFilterPlugin extends FilterPlugin {
protected var _matrix:Array;
protected var _matrixTween:EndArrayPlugin;
public static const API:Number = 1;
private static var _propNames:Array = [];
protected static var _lumG:Number = 0.71516;
protected static var _lumR:Number = 0.212671;
protected static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
protected static var _lumB:Number = 0.072169;
public function ColorMatrixFilterPlugin(){
this.propName = "colorMatrixFilter";
this.overwriteProps = ["colorMatrixFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = ColorMatrixFilter;
var _local4:Object = _arg2;
initFilter({remove:_arg2.remove, index:_arg2.index, addFilter:_arg2.addFilter}, new ColorMatrixFilter(_idMatrix.slice()), _propNames);
_matrix = ColorMatrixFilter(_filter).matrix;
var _local5:Array = [];
if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){
_local5 = _local4.matrix;
} else {
if (_local4.relative == true){
_local5 = _matrix.slice();
} else {
_local5 = _idMatrix.slice();
};
_local5 = setBrightness(_local5, _local4.brightness);
_local5 = setContrast(_local5, _local4.contrast);
_local5 = setHue(_local5, _local4.hue);
_local5 = setSaturation(_local5, _local4.saturation);
_local5 = setThreshold(_local5, _local4.threshold);
if (!isNaN(_local4.colorize)){
_local5 = colorize(_local5, _local4.colorize, _local4.amount);
};
};
_matrixTween = new EndArrayPlugin();
_matrixTween.init(_matrix, _local5);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
_matrixTween.changeFactor = _arg1;
ColorMatrixFilter(_filter).matrix = _matrix;
super.changeFactor = _arg1;
}
public static function setSaturation(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Number = (1 - _arg2);
var _local4:Number = (_local3 * _lumR);
var _local5:Number = (_local3 * _lumG);
var _local6:Number = (_local3 * _lumB);
var _local7:Array = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local7, _arg1));
}
public static function setHue(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 * (Math.PI / 180));
var _local3:Number = Math.cos(_arg2);
var _local4:Number = Math.sin(_arg2);
var _local5:Array = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
return (applyMatrix(_local5, _arg1));
}
public static function setContrast(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 + 0.01);
var _local3:Array = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function applyMatrix(_arg1:Array, _arg2:Array):Array{
var _local6:int;
var _local7:int;
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (_arg2);
};
var _local3:Array = [];
var _local4:int;
var _local5:int;
_local6 = 0;
while (_local6 < 4) {
_local7 = 0;
while (_local7 < 5) {
if (_local7 == 4){
_local5 = _arg1[(_local4 + 4)];
} else {
_local5 = 0;
};
_local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5);
_local7++;
};
_local4 = (_local4 + 5);
_local6++;
};
return (_local3);
}
public static function setThreshold(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Array = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{
if (isNaN(_arg2)){
return (_arg1);
};
if (isNaN(_arg3)){
_arg3 = 1;
};
var _local4:Number = (((_arg2 >> 16) & 0xFF) / 0xFF);
var _local5:Number = (((_arg2 >> 8) & 0xFF) / 0xFF);
var _local6:Number = ((_arg2 & 0xFF) / 0xFF);
var _local7:Number = (1 - _arg3);
var _local8:Array = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local8, _arg1));
}
public static function setBrightness(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = ((_arg2 * 100) - 100);
return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1));
}
}
}//package com.greensock.plugins
Section 11
//ColorTransformPlugin (com.greensock.plugins.ColorTransformPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
public class ColorTransformPlugin extends TintPlugin {
public static const API:Number = 1;
public function ColorTransformPlugin(){
this.propName = "colorTransform";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local5:String;
var _local6:Number;
if (!(_arg1 is DisplayObject)){
return (false);
};
var _local4:ColorTransform = _arg1.transform.colorTransform;
for (_local5 in _arg2) {
if ((((_local5 == "tint")) || ((_local5 == "color")))){
if (_arg2[_local5] != null){
_local4.color = int(_arg2[_local5]);
};
} else {
if ((((((_local5 == "tintAmount")) || ((_local5 == "exposure")))) || ((_local5 == "brightness")))){
} else {
_local4[_local5] = _arg2[_local5];
};
};
};
if (!isNaN(_arg2.tintAmount)){
_local6 = (_arg2.tintAmount / (1 - (((_local4.redMultiplier + _local4.greenMultiplier) + _local4.blueMultiplier) / 3)));
_local4.redOffset = (_local4.redOffset * _local6);
_local4.greenOffset = (_local4.greenOffset * _local6);
_local4.blueOffset = (_local4.blueOffset * _local6);
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = (1 - _arg2.tintAmount)));
} else {
if (!isNaN(_arg2.exposure)){
_local4.redOffset = (_local4.greenOffset = (_local4.blueOffset = (0xFF * (_arg2.exposure - 1))));
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = 1));
} else {
if (!isNaN(_arg2.brightness)){
_local4.redOffset = (_local4.greenOffset = (_local4.blueOffset = Math.max(0, ((_arg2.brightness - 1) * 0xFF))));
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = (1 - Math.abs((_arg2.brightness - 1)))));
};
};
};
_ignoreAlpha = Boolean(((!((_arg3.vars.alpha == undefined))) && ((_arg2.alphaMultiplier == undefined))));
init((_arg1 as DisplayObject), _local4);
return (true);
}
}
}//package com.greensock.plugins
Section 12
//DropShadowFilterPlugin (com.greensock.plugins.DropShadowFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class DropShadowFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["distance", "angle", "color", "alpha", "blurX", "blurY", "strength", "quality", "inner", "knockout", "hideObject"];
public function DropShadowFilterPlugin(){
this.propName = "dropShadowFilter";
this.overwriteProps = ["dropShadowFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = DropShadowFilter;
initFilter(_arg2, new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_arg2.quality) || (2)), _arg2.inner, _arg2.knockout, _arg2.hideObject), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 13
//EndArrayPlugin (com.greensock.plugins.EndArrayPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class EndArrayPlugin extends TweenPlugin {
protected var _a:Array;
protected var _info:Array;
public static const API:Number = 1;
public function EndArrayPlugin(){
_info = [];
super();
this.propName = "endArray";
this.overwriteProps = ["endArray"];
}
public function init(_arg1:Array, _arg2:Array):void{
_a = _arg1;
var _local3:int = _arg2.length;
while (_local3--) {
if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){
_info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3]));
};
};
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (false);
};
init((_arg1 as Array), _arg2);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
var _local3:ArrayTweenInfo;
var _local4:Number;
var _local2:int = _info.length;
if (this.round){
while (_local2--) {
_local3 = _info[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_a[_local3.index] = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5));
};
} else {
while (_local2--) {
_local3 = _info[_local2];
_a[_local3.index] = (_local3.start + (_local3.change * _arg1));
};
};
}
}
}//package com.greensock.plugins
class ArrayTweenInfo {
public var change:Number;
public var start:Number;
public var index:uint;
private function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){
this.index = _arg1;
this.start = _arg2;
this.change = _arg3;
}
}
Section 14
//FilterPlugin (com.greensock.plugins.FilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import com.greensock.core.*;
import flash.filters.*;
public class FilterPlugin extends TweenPlugin {
protected var _remove:Boolean;
protected var _target:Object;
protected var _index:int;
protected var _filter:BitmapFilter;
protected var _type:Class;
public static const VERSION:Number = 2.03;
public static const API:Number = 1;
public function onCompleteTween():void{
var _local1:Array;
var _local2:int;
if (_remove){
_local1 = _target.filters;
if (!(_local1[_index] is _type)){
_local2 = _local1.length;
while (_local2--) {
if ((_local1[_local2] is _type)){
_local1.splice(_local2, 1);
break;
};
};
} else {
_local1.splice(_index, 1);
};
_target.filters = _local1;
};
}
protected function initFilter(_arg1:Object, _arg2:BitmapFilter, _arg3:Array):void{
var _local5:String;
var _local6:int;
var _local7:HexColorsPlugin;
var _local4:Array = _target.filters;
var _local8:Object = ((_arg1 is BitmapFilter)) ? {} : _arg1;
_index = -1;
if (_local8.index != null){
_index = _local8.index;
} else {
_local6 = _local4.length;
while (_local6--) {
if ((_local4[_local6] is _type)){
_index = _local6;
break;
};
};
};
if ((((((_index == -1)) || ((_local4[_index] == null)))) || ((_local8.addFilter == true)))){
_index = ((_local8.index)!=null) ? _local8.index : _local4.length;
_local4[_index] = _arg2;
_target.filters = _local4;
};
_filter = _local4[_index];
if (_local8.remove == true){
_remove = true;
this.onComplete = onCompleteTween;
};
_local6 = _arg3.length;
while (_local6--) {
_local5 = _arg3[_local6];
if ((((_local5 in _arg1)) && (!((_filter[_local5] == _arg1[_local5]))))){
if ((((((_local5 == "color")) || ((_local5 == "highlightColor")))) || ((_local5 == "shadowColor")))){
_local7 = new HexColorsPlugin();
_local7.initColor(_filter, _local5, _filter[_local5], _arg1[_local5]);
_tweens[_tweens.length] = new PropTween(_local7, "changeFactor", 0, 1, _local5, false);
} else {
if ((((((((_local5 == "quality")) || ((_local5 == "inner")))) || ((_local5 == "knockout")))) || ((_local5 == "hideObject")))){
_filter[_local5] = _arg1[_local5];
} else {
addTween(_filter, _local5, _filter[_local5], _arg1[_local5], _local5);
};
};
};
};
}
override public function set changeFactor(_arg1:Number):void{
var _local3:PropTween;
var _local2:int = _tweens.length;
var _local4:Array = _target.filters;
while (_local2--) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
if (!(_local4[_index] is _type)){
_local2 = (_index = _local4.length);
while (_local2--) {
if ((_local4[_local2] is _type)){
_index = _local2;
break;
};
};
};
_local4[_index] = _filter;
_target.filters = _local4;
}
}
}//package com.greensock.plugins
Section 15
//FrameLabelPlugin (com.greensock.plugins.FrameLabelPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class FrameLabelPlugin extends FramePlugin {
public static const API:Number = 1;
public function FrameLabelPlugin(){
this.propName = "frameLabel";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if ((!(_arg3.target) is MovieClip)){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
var _local4:Array = _target.currentLabels;
var _local5:String = _arg2;
var _local6:int = _target.currentFrame;
var _local7:int = _local4.length;
while (_local7--) {
if (_local4[_local7].name == _local5){
_local6 = _local4[_local7].frame;
break;
};
};
if (this.frame != _local6){
addTween(this, "frame", this.frame, _local6, "frame");
};
return (true);
}
}
}//package com.greensock.plugins
Section 16
//FramePlugin (com.greensock.plugins.FramePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class FramePlugin extends TweenPlugin {
protected var _target:MovieClip;
public var frame:int;
public static const API:Number = 1;
public function FramePlugin(){
this.propName = "frame";
this.overwriteProps = ["frame", "frameLabel"];
this.round = true;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
addTween(this, "frame", this.frame, _arg2, "frame");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.gotoAndStop(this.frame);
}
}
}//package com.greensock.plugins
Section 17
//GlowFilterPlugin (com.greensock.plugins.GlowFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class GlowFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["color", "alpha", "blurX", "blurY", "strength", "quality", "inner", "knockout"];
public function GlowFilterPlugin(){
this.propName = "glowFilter";
this.overwriteProps = ["glowFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = GlowFilter;
initFilter(_arg2, new GlowFilter(0xFFFFFF, 0, 0, 0, ((_arg2.strength) || (1)), ((_arg2.quality) || (2)), _arg2.inner, _arg2.knockout), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 18
//HexColorsPlugin (com.greensock.plugins.HexColorsPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class HexColorsPlugin extends TweenPlugin {
protected var _colors:Array;
public static const API:Number = 1;
public function HexColorsPlugin(){
this.propName = "hexColors";
this.overwriteProps = [];
_colors = [];
}
override public function killProps(_arg1:Object):void{
var _local2:int = (_colors.length - 1);
while (_local2 > -1) {
if (_arg1[_colors[_local2][1]] != undefined){
_colors.splice(_local2, 1);
};
_local2--;
};
super.killProps(_arg1);
}
public function initColor(_arg1:Object, _arg2:String, _arg3:uint, _arg4:uint):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
if (_arg3 != _arg4){
_local5 = (_arg3 >> 16);
_local6 = ((_arg3 >> 8) & 0xFF);
_local7 = (_arg3 & 0xFF);
_colors[_colors.length] = [_arg1, _arg2, _local5, ((_arg4 >> 16) - _local5), _local6, (((_arg4 >> 8) & 0xFF) - _local6), _local7, ((_arg4 & 0xFF) - _local7)];
this.overwriteProps[this.overwriteProps.length] = _arg2;
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:Array;
_local2 = (_colors.length - 1);
while (_local2 > -1) {
_local3 = _colors[_local2];
_local3[0][_local3[1]] = ((((_local3[2] + (_arg1 * _local3[3])) << 16) | ((_local3[4] + (_arg1 * _local3[5])) << 8)) | (_local3[6] + (_arg1 * _local3[7])));
_local2--;
};
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:String;
for (_local4 in _arg2) {
initColor(_arg1, _local4, uint(_arg1[_local4]), uint(_arg2[_local4]));
};
return (true);
}
}
}//package com.greensock.plugins
Section 19
//RemoveTintPlugin (com.greensock.plugins.RemoveTintPlugin)
package com.greensock.plugins {
public class RemoveTintPlugin extends TintPlugin {
public static const API:Number = 1;
public function RemoveTintPlugin(){
this.propName = "removeTint";
}
}
}//package com.greensock.plugins
Section 20
//RoundPropsPlugin (com.greensock.plugins.RoundPropsPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class RoundPropsPlugin extends TweenPlugin {
public static const API:Number = 1;
public function RoundPropsPlugin(){
this.propName = "roundProps";
this.overwriteProps = [];
this.round = true;
}
public function add(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number):void{
addTween(_arg1, _arg2, _arg3, (_arg3 + _arg4), _arg2);
this.overwriteProps[this.overwriteProps.length] = _arg2;
}
}
}//package com.greensock.plugins
Section 21
//SetSizePlugin (com.greensock.plugins.SetSizePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class SetSizePlugin extends TweenPlugin {
protected var _setWidth:Boolean;
public var width:Number;
public var height:Number;
protected var _hasSetSize:Boolean;
protected var _setHeight:Boolean;
protected var _target:Object;
public static const API:Number = 1;
public function SetSizePlugin(){
this.propName = "setSize";
this.overwriteProps = ["setSize", "setActualSize", "width", "height", "scaleX", "scaleY"];
this.round = true;
}
override public function killProps(_arg1:Object):void{
super.killProps(_arg1);
if ((((_tweens.length == 0)) || (("setSize" in _arg1)))){
this.overwriteProps = [];
};
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_hasSetSize = Boolean(("setSize" in _target));
if (((("width" in _arg2)) && (!((_target.width == _arg2.width))))){
addTween((_hasSetSize) ? this : _target, "width", _target.width, _arg2.width, "width");
_setWidth = _hasSetSize;
};
if (((("height" in _arg2)) && (!((_target.height == _arg2.height))))){
addTween((_hasSetSize) ? this : _target, "height", _target.height, _arg2.height, "height");
_setHeight = _hasSetSize;
};
if (_tweens.length == 0){
_hasSetSize = false;
};
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
if (_hasSetSize){
_target.setSize((_setWidth) ? this.width : _target.width, (_setHeight) ? this.height : _target.height);
};
}
}
}//package com.greensock.plugins
Section 22
//ShortRotationPlugin (com.greensock.plugins.ShortRotationPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class ShortRotationPlugin extends TweenPlugin {
public static const API:Number = 1;
public function ShortRotationPlugin(){
this.propName = "shortRotation";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:String;
if (typeof(_arg2) == "number"){
return (false);
};
for (_local4 in _arg2) {
initRotation(_arg1, _local4, _arg1[_local4], ((typeof(_arg2[_local4]))=="number") ? Number(_arg2[_local4]) : (_arg1[_local4] + Number(_arg2[_local4])));
};
return (true);
}
public function initRotation(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number):void{
var _local5:Number = ((_arg4 - _arg3) % 360);
if (((_arg4 - _arg3) % 360) != (_local5 % 180)){
_local5 = ((_local5)<0) ? (_local5 + 360) : (_local5 - 360);
};
addTween(_arg1, _arg2, _arg3, (_arg3 + _local5), _arg2);
this.overwriteProps[this.overwriteProps.length] = _arg2;
}
}
}//package com.greensock.plugins
Section 23
//TintPlugin (com.greensock.plugins.TintPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
import com.greensock.core.*;
public class TintPlugin extends TweenPlugin {
protected var _ct:ColorTransform;
protected var _transform:Transform;
protected var _ignoreAlpha:Boolean;
public static const API:Number = 1;
protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"];
public function TintPlugin(){
this.propName = "tint";
this.overwriteProps = ["tint"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg1 is DisplayObject)){
return (false);
};
var _local4:ColorTransform = new ColorTransform();
if (((!((_arg2 == null))) && (!((_arg3.vars.removeTint == true))))){
_local4.color = uint(_arg2);
};
_ignoreAlpha = true;
init((_arg1 as DisplayObject), _local4);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:ColorTransform;
updateTweens(_arg1);
if (_ignoreAlpha){
_local2 = _transform.colorTransform;
_ct.alphaMultiplier = _local2.alphaMultiplier;
_ct.alphaOffset = _local2.alphaOffset;
};
_transform.colorTransform = _ct;
}
public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{
var _local4:String;
_transform = _arg1.transform;
_ct = _transform.colorTransform;
var _local3:int = _props.length;
while (_local3--) {
_local4 = _props[_local3];
if (_ct[_local4] != _arg2[_local4]){
_tweens[_tweens.length] = new PropTween(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false);
};
};
}
}
}//package com.greensock.plugins
Section 24
//TransformMatrixPlugin (com.greensock.plugins.TransformMatrixPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
public class TransformMatrixPlugin extends TweenPlugin {
protected var _dChange:Number;
protected var _txStart:Number;
protected var _cStart:Number;
protected var _matrix:Matrix;
protected var _tyStart:Number;
protected var _aStart:Number;
protected var _angleChange:Number;// = 0
protected var _transform:Transform;
protected var _aChange:Number;
protected var _bChange:Number;
protected var _tyChange:Number;
protected var _txChange:Number;
protected var _cChange:Number;
protected var _dStart:Number;
protected var _bStart:Number;
public static const API:Number = 1;
private static const _DEG2RAD:Number = 0.0174532925199433;
private static const _RAD2DEG:Number = 57.2957795130823;
public function TransformMatrixPlugin(){
this.propName = "transformMatrix";
this.overwriteProps = ["x", "y", "scaleX", "scaleY", "rotation", "transformMatrix", "transformAroundPoint", "transformAroundCenter"];
}
override public function set changeFactor(_arg1:Number):void{
_matrix.a = (_aStart + (_arg1 * _aChange));
_matrix.b = (_bStart + (_arg1 * _bChange));
_matrix.c = (_cStart + (_arg1 * _cChange));
_matrix.d = (_dStart + (_arg1 * _dChange));
if (_angleChange){
_matrix.rotate((_angleChange * _arg1));
};
_matrix.tx = (_txStart + (_arg1 * _txChange));
_matrix.ty = (_tyStart + (_arg1 * _tyChange));
_transform.matrix = _matrix;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_transform = (_arg1.transform as Transform);
_matrix = _transform.matrix;
var _local4:Matrix = _matrix.clone();
_txStart = _local4.tx;
_tyStart = _local4.ty;
_aStart = _local4.a;
_bStart = _local4.b;
_cStart = _local4.c;
_dStart = _local4.d;
if (("x" in _arg2)){
_txChange = ((typeof(_arg2.x))=="number") ? (_arg2.x - _txStart) : Number(_arg2.x);
} else {
if (("tx" in _arg2)){
_txChange = (_arg2.tx - _txStart);
} else {
_txChange = 0;
};
};
if (("y" in _arg2)){
_tyChange = ((typeof(_arg2.y))=="number") ? (_arg2.y - _tyStart) : Number(_arg2.y);
} else {
if (("ty" in _arg2)){
_tyChange = (_arg2.ty - _tyStart);
} else {
_tyChange = 0;
};
};
_aChange = (("a" in _arg2)) ? (_arg2.a - _aStart) : 0;
_bChange = (("b" in _arg2)) ? (_arg2.b - _bStart) : 0;
_cChange = (("c" in _arg2)) ? (_arg2.c - _cStart) : 0;
_dChange = (("d" in _arg2)) ? (_arg2.d - _dStart) : 0;
if (((((((((((((((("rotation" in _arg2)) || (("scale" in _arg2)))) || (("scaleX" in _arg2)))) || (("scaleY" in _arg2)))) || (("skewX" in _arg2)))) || (("skewY" in _arg2)))) || (("skewX2" in _arg2)))) || (("skewY2" in _arg2)))){
_local7 = Math.sqrt(((_local4.a * _local4.a) + (_local4.b * _local4.b)));
if ((((_local4.a < 0)) && ((_local4.d > 0)))){
_local7 = -(_local7);
};
_local8 = Math.sqrt(((_local4.c * _local4.c) + (_local4.d * _local4.d)));
if ((((_local4.d < 0)) && ((_local4.a > 0)))){
_local8 = -(_local8);
};
_local9 = Math.atan2(_local4.b, _local4.a);
if ((((_local4.a < 0)) && ((_local4.d >= 0)))){
_local9 = (_local9 + ((_local9)<=0) ? Math.PI : -(Math.PI));
};
_local10 = (Math.atan2(-(_matrix.c), _matrix.d) - _local9);
_local11 = (("rotation" in _arg2)) ? ((typeof(_arg2.rotation))=="number") ? (_arg2.rotation * _DEG2RAD) : ((Number(_arg2.rotation) * _DEG2RAD) + _local9) : _local9;
_local12 = (("skewX" in _arg2)) ? ((typeof(_arg2.skewX))=="number") ? (Number(_arg2.skewX) * _DEG2RAD) : ((Number(_arg2.skewX) * _DEG2RAD) + _local10) : 0;
if (("skewY" in _arg2)){
_local13 = ((typeof(_arg2.skewY))=="number") ? (_arg2.skewY * _DEG2RAD) : ((Number(_arg2.skewY) * _DEG2RAD) - _local10);
_local11 = (_local11 + (_local13 + _local10));
_local12 = (_local12 - _local13);
};
if (_local11 != _local9){
if (("rotation" in _arg2)){
_angleChange = (_local11 - _local9);
_local11 = _local9;
} else {
_local4.rotate((_local11 - _local9));
};
};
if (("scale" in _arg2)){
_local5 = (Number(_arg2.scale) / _local7);
_local6 = (Number(_arg2.scale) / _local8);
if (typeof(_arg2.scale) != "number"){
_local5 = (_local5 + 1);
_local6 = (_local6 + 1);
};
} else {
if (("scaleX" in _arg2)){
_local5 = (Number(_arg2.scaleX) / _local7);
if (typeof(_arg2.scaleX) != "number"){
_local5 = (_local5 + 1);
};
};
if (("scaleY" in _arg2)){
_local6 = (Number(_arg2.scaleY) / _local8);
if (typeof(_arg2.scaleY) != "number"){
_local6 = (_local6 + 1);
};
};
};
if (_local12 != _local10){
_local4.c = (-(_local8) * Math.sin((_local12 + _local11)));
_local4.d = (_local8 * Math.cos((_local12 + _local11)));
};
if (("skewX2" in _arg2)){
if (typeof(_arg2.skewX2) == "number"){
_local4.c = Math.tan((0 - (_arg2.skewX2 * _DEG2RAD)));
} else {
_local4.c = (_local4.c + Math.tan((0 - (Number(_arg2.skewX2) * _DEG2RAD))));
};
};
if (("skewY2" in _arg2)){
if (typeof(_arg2.skewY2) == "number"){
_local4.b = Math.tan((_arg2.skewY2 * _DEG2RAD));
} else {
_local4.b = (_local4.b + Math.tan((Number(_arg2.skewY2) * _DEG2RAD)));
};
};
if (_local5){
_local4.a = (_local4.a * _local5);
_local4.b = (_local4.b * _local5);
};
if (_local6){
_local4.c = (_local4.c * _local6);
_local4.d = (_local4.d * _local6);
};
_aChange = (_local4.a - _aStart);
_bChange = (_local4.b - _bStart);
_cChange = (_local4.c - _cStart);
_dChange = (_local4.d - _dStart);
};
return (true);
}
}
}//package com.greensock.plugins
Section 25
//TweenPlugin (com.greensock.plugins.TweenPlugin)
package com.greensock.plugins {
import com.greensock.*;
import com.greensock.core.*;
public class TweenPlugin {
public var activeDisable:Boolean;
protected var _changeFactor:Number;// = 0
protected var _tweens:Array;
public var onDisable:Function;
public var propName:String;
public var round:Boolean;
public var onEnable:Function;
public var priority:int;// = 0
public var overwriteProps:Array;
public var onComplete:Function;
public static const VERSION:Number = 1.31;
public static const API:Number = 1;
public function TweenPlugin(){
_tweens = [];
super();
}
protected function updateTweens(_arg1:Number):void{
var _local3:PropTween;
var _local4:Number;
var _local2:int = _tweens.length;
if (this.round){
while (_local2--) {
_local3 = _tweens[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_local3.target[_local3.property] = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5));
};
} else {
while (_local2--) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
};
}
protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{
var _local6:Number;
if (_arg4 != null){
_local6 = ((typeof(_arg4))=="number") ? (Number(_arg4) - _arg3) : Number(_arg4);
if (_local6 != 0){
_tweens[_tweens.length] = new PropTween(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false);
};
};
}
public function get changeFactor():Number{
return (_changeFactor);
}
public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName);
return (true);
}
public function killProps(_arg1:Object):void{
var _local2:int = this.overwriteProps.length;
while (_local2--) {
if ((this.overwriteProps[_local2] in _arg1)){
this.overwriteProps.splice(_local2, 1);
};
};
_local2 = _tweens.length;
while (_local2--) {
if ((PropTween(_tweens[_local2]).name in _arg1)){
_tweens.splice(_local2, 1);
};
};
}
public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_changeFactor = _arg1;
}
public static function activate(_arg1:Array):Boolean{
var _local3:Object;
TweenLite.onPluginEvent = TweenPlugin.onTweenEvent;
var _local2:int = _arg1.length;
while (_local2--) {
if (_arg1[_local2].hasOwnProperty("API")){
_local3 = new ((_arg1[_local2] as Class));
TweenLite.plugins[_local3.propName] = _arg1[_local2];
};
};
return (true);
}
private static function onTweenEvent(_arg1:String, _arg2:TweenLite):Boolean{
var _local4:Boolean;
var _local5:Array;
var _local6:int;
var _local3:PropTween = _arg2.cachedPT1;
if (_arg1 == "onInit"){
_local5 = [];
while (_local3) {
_local5[_local5.length] = _local3;
_local3 = _local3.nextNode;
};
_local5.sortOn("priority", (Array.NUMERIC | Array.DESCENDING));
_local6 = _local5.length;
while (_local6--) {
PropTween(_local5[_local6]).nextNode = _local5[(_local6 + 1)];
PropTween(_local5[_local6]).prevNode = _local5[(_local6 - 1)];
};
_arg2.cachedPT1 = _local5[0];
} else {
while (_local3) {
if (((_local3.isPlugin) && (_local3.target[_arg1]))){
if (_local3.target.activeDisable){
_local4 = true;
};
var _local7 = _local3.target;
_local7[_arg1]();
};
_local3 = _local3.nextNode;
};
};
return (_local4);
}
}
}//package com.greensock.plugins
Section 26
//VisiblePlugin (com.greensock.plugins.VisiblePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class VisiblePlugin extends TweenPlugin {
protected var _target:Object;
protected var _initVal:Boolean;
protected var _visible:Boolean;
protected var _tween:TweenLite;
public static const API:Number = 1;
public function VisiblePlugin(){
this.propName = "visible";
this.overwriteProps = ["visible"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_tween = _arg3;
_initVal = _target.visible;
_visible = Boolean(_arg2);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
if ((((_arg1 == 1)) && ((((_tween.cachedDuration == _tween.cachedTime)) || ((_tween.cachedTime == 0)))))){
_target.visible = _visible;
} else {
_target.visible = _initVal;
};
}
}
}//package com.greensock.plugins
Section 27
//VolumePlugin (com.greensock.plugins.VolumePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.media.*;
public class VolumePlugin extends TweenPlugin {
protected var _target:Object;
protected var _st:SoundTransform;
public static const API:Number = 1;
public function VolumePlugin(){
this.propName = "volume";
this.overwriteProps = ["volume"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){
return (false);
};
_target = _arg1;
_st = _target.soundTransform;
addTween(_st, "volume", _st.volume, _arg2, "volume");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.soundTransform = _st;
}
}
}//package com.greensock.plugins
Section 28
//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;
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.099994){
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 = _slot1;
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 _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);
};
var _local8:Number = _arg1.startTime;
var _local9:Array = [];
var _local10:Array = [];
var _local11:uint;
var _local12:uint;
_local5 = _arg3.length;
while (_local5--) {
_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.startTime <= _local8)) && (((_local7.startTime + _local7.totalDuration) > _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.startTime);
_local18 = _local18.timeline;
};
_local8 = (_local14 * _local15);
_local5 = _local11;
while (_local5--) {
_local16 = _local10[_local5];
_local14 = _local16.cachedTimeScale;
_local15 = _local16.startTime;
_local18 = _local16.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.startTime);
_local18 = _local18.timeline;
};
_local17 = (_local14 * _local15);
if ((((_local17 <= _local8)) && (((((_local17 + (_local16.totalDuration * _local14)) > _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--) {
_local7 = _local9[_local5];
if (_local7.killVars(_arg2)){
_local6 = true;
};
if ((((_local7.cachedPT1 == null)) && (_local7.initted))){
_local7.setEnabled(false, false);
};
};
} else {
while (_local5--) {
if (TweenLite(_local9[_local5]).setEnabled(false, false)){
_local6 = true;
};
};
};
return (_local6);
}
}
}//package com.greensock
Section 29
//TweenLite (com.greensock.TweenLite)
package com.greensock {
import flash.events.*;
import flash.display.*;
import com.greensock.core.*;
import flash.utils.*;
import com.greensock.plugins.*;
public class TweenLite extends TweenCore {
protected var _hasPlugins:Boolean;
public var propTweenLookup:Object;
public var cachedPT1:PropTween;
protected var _overwrite:uint;
protected var _ease:Function;
public var target:Object;
public var ratio:Number;// = 0
protected var _overwrittenProps:Object;
protected var _notifyPluginsOfEnabled:Boolean;
public static const version:Number = 11.3;
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 _local5:TweenLite;
super(_arg2, _arg3);
this.target = _arg1;
if ((((this.target is TweenCore)) && (("timeScale" in this.vars)))){
this.cachedTimeScale = 1;
};
propTweenLookup = {};
_ease = defaultEase;
_overwrite = (((!((Number(_arg3.overwrite) > -1))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
var _local4:Array = masterList[_arg1];
if (!_local4){
masterList[_arg1] = [this];
} else {
if (_overwrite == 1){
for each (_local5 in _local4) {
if (!_local5.gc){
_local5.setEnabled(false, false);
};
};
masterList[_arg1] = [this];
} else {
_local4[_local4.length] = this;
};
};
if (((this.active) || (this.vars.immediateRender))){
renderTime(0, false, true);
};
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Boolean;
var _local5:Number = this.cachedTime;
if (_arg1 >= this.cachedDuration){
this.cachedTotalTime = (this.cachedTime = this.cachedDuration);
this.ratio = 1;
_local4 = 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);
};
var _local6:PropTween = this.cachedPT1;
while (_local6) {
_local6.target[_local6.property] = (_local6.start + (this.ratio * _local6.change));
_local6 = _local6.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local4){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
};
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:Array;
if (_arg1){
_local3 = TweenLite.masterList[this.target];
if (!_local3){
TweenLite.masterList[this.target] = [this];
} else {
_local3[_local3.length] = this;
};
};
super.setEnabled(_arg1, _arg2);
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this));
};
return (false);
}
protected function init():void{
var _local1:String;
var _local2:int;
var _local3:*;
var _local4:Boolean;
var _local5:Array;
var _local6:PropTween;
if (this.vars.onInit){
this.vars.onInit.apply(null, this.vars.onInitParams);
};
if (typeof(this.vars.ease) == "function"){
_ease = this.vars.ease;
};
if (this.vars.easeParams){
this.vars.proxiedEase = _ease;
_ease = easeProxy;
};
this.cachedPT1 = null;
this.propTweenLookup = {};
for (_local1 in this.vars) {
if ((((_local1 in _reservedProps)) && (!((((_local1 == "timeScale")) && ((this.target is TweenCore))))))){
} else {
if ((((_local1 in plugins)) && (new ((plugins[_local1] as Class)).onInitTween(this.target, this.vars[_local1], this)))){
this.cachedPT1 = new PropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1);
if (this.cachedPT1.name == "_MULTIPLE_"){
_local2 = _local3.overwriteProps.length;
while (_local2--) {
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;
}
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){
_overwrittenProps[_local3] = 1;
};
};
return (_local5);
}
override public function invalidate():void{
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
onPluginEvent("onDisable", this);
};
this.cachedPT1 = null;
_overwrittenProps = null;
_hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false)));
this.propTweenLookup = {};
}
public static function initClass():void{
rootFrame = 0;
rootTimeline = new SimpleTimeline(null);
rootFramesTimeline = new SimpleTimeline(null);
rootTimeline.cachedStartTime = (getTimer() * 0.001);
rootFramesTimeline.cachedStartTime = rootFrame;
rootTimeline.autoRemoveChildren = true;
rootFramesTimeline.autoRemoveChildren = true;
_shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
}
public static function killTweensOf(_arg1:Object, _arg2:Boolean=false, _arg3:Object=null):void{
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
if ((_arg1 in masterList)){
_local4 = masterList[_arg1];
_local5 = _local4.length;
while (_local5--) {
_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--) {
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 30
//TweenMax (com.greensock.TweenMax)
package com.greensock {
import flash.events.*;
import flash.display.*;
import com.greensock.core.*;
import flash.utils.*;
import com.greensock.plugins.*;
import com.greensock.events.*;
public class TweenMax extends TweenLite implements IEventDispatcher {
protected var _cyclesComplete:uint;// = 0
protected var _dispatcher:EventDispatcher;
protected var _hasUpdateListener:Boolean;
protected var _easeType:uint;
protected var _repeatDelay:Number;// = 0
public var yoyo:Boolean;
protected var _easePower:uint;
protected var _repeat:int;// = 0
public static const version:Number = 11.2;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(2);
;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
super(_arg1, _arg2, _arg3);
if (TweenLite.version < 11.2){
throw (new Error("TweenMax error! Please update your TweenLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com."));
};
this.yoyo = Boolean(this.vars.yoyo);
_repeat = ((this.vars.repeat) || (0));
_repeatDelay = ((this.vars.repeatDelay) || (0));
this.cacheIsDirty = true;
if (((((((((((this.vars.onCompleteListener) || (this.vars.onInitListener))) || (this.vars.onUpdateListener))) || (this.vars.onStartListener))) || (this.vars.onRepeatListener))) || (this.vars.onReverseCompleteListener))){
initDispatcher();
if ((((_arg2 == 0)) && ((_delay == 0)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
};
};
if (((("timeScale" in this.vars)) && (!((this.target is TweenCore))))){
this.cachedTimeScale = this.vars.timeScale;
};
}
public function dispatchEvent(_arg1:Event):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.dispatchEvent(_arg1));
}
public function set timeScale(_arg1:Number):void{
if (_arg1 == 0){
_arg1 = 0.0001;
};
var _local2:Number = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1));
this.cachedTimeScale = _arg1;
setDirtyCache(false);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local6:Boolean;
var _local7:Boolean;
var _local8:Boolean;
var _local10:Number;
var _local11:uint;
var _local12:Number;
var _local4:Number = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
var _local5:Number = this.cachedTime;
if (_arg1 >= _local4){
this.cachedTotalTime = _local4;
this.cachedTime = this.cachedDuration;
this.ratio = 1;
_local6 = true;
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime > 0){
_arg3 = true;
_local6 = true;
};
_rawPrevTime = _arg1;
};
};
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local6 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
_local8 = true;
};
};
if (_repeat != 0){
_local10 = (this.cachedDuration + _repeatDelay);
if (_local6){
if (((this.yoyo) && ((_repeat % 2)))){
this.cachedTime = (this.ratio = 0);
};
} else {
if (_arg1 > 0){
if (_cyclesComplete != (_cyclesComplete = int((this.cachedTotalTime / _local10)))){
_local7 = true;
};
this.cachedTime = (((this.cachedTotalTime / _local10) - _cyclesComplete) * _local10);
if (((this.yoyo) && ((_cyclesComplete % 2)))){
this.cachedTime = (this.cachedDuration - this.cachedTime);
} else {
if (this.cachedTime >= this.cachedDuration){
this.cachedTime = this.cachedDuration;
this.ratio = 1;
_local8 = false;
};
};
if (this.cachedTime <= 0){
this.cachedTime = (this.ratio = 0);
_local8 = false;
};
};
};
};
if ((((_local5 == this.cachedTime)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if (_local8){
if (_easeType){
_local11 = _easePower;
_local12 = (this.cachedTime / this.cachedDuration);
if (_easeType == 2){
_local12 = (1 - _local12);
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (1 - this.ratio);
} else {
if (_easeType == 1){
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
} else {
if (_local12 < 0.5){
_local12 = (_local12 * 2);
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (this.ratio * 0.5);
} else {
_local12 = ((1 - _local12) * 2);
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (1 - (0.5 * this.ratio));
};
};
};
} else {
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if ((((((_local5 == 0)) && (!((this.cachedTotalTime == 0))))) && (!(_arg2)))){
if (this.vars.onStart){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
};
};
var _local9:PropTween = this.cachedPT1;
while (_local9) {
_local9.target[_local9.property] = (_local9.start + (this.ratio * _local9.change));
_local9 = _local9.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((_hasUpdateListener) && (!(_arg2)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
};
if (_local6){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
} else {
if (((_local7) && (!(_arg2)))){
if (this.vars.onRepeat){
this.vars.onRepeat.apply(null, this.vars.onRepeatParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REPEAT));
};
};
};
}
override public function set totalDuration(_arg1:Number):void{
if (_repeat == -1){
return;
};
this.duration = ((_arg1 - (_repeat * _repeatDelay)) / (_repeat + 1));
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (_dispatcher == null){
initDispatcher();
};
if (_arg1 == TweenEvent.UPDATE){
_hasUpdateListener = true;
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
protected function insertPropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String, _arg6:Boolean, _arg7:PropTween):PropTween{
var _local9:Array;
var _local10:int;
var _local8:PropTween = new PropTween(_arg1, _arg2, _arg3, ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4), _arg5, _arg6, _arg7);
if (((_arg6) && ((_arg5 == "_MULTIPLE_")))){
_local9 = _arg1.overwriteProps;
_local10 = _local9.length;
while (_local10--) {
this.propTweenLookup[_local9[_local10]] = _local8;
};
} else {
this.propTweenLookup[_arg5] = _local8;
};
return (_local8);
}
override protected function init():void{
var _local1:TweenMax;
var _local2:int;
var _local3:String;
var _local4:String;
var _local5:Array;
var _local6:Object;
var _local7:PropTween;
var _local8:PropTween;
var _local9:int;
if (this.vars.startAt){
this.vars.startAt.overwrite = 0;
this.vars.startAt.immediateRender = true;
_local1 = new TweenMax(this.target, 0, this.vars.startAt);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.INIT));
};
super.init();
if ((_ease in fastEaseLookup)){
_easeType = fastEaseLookup[_ease][0];
_easePower = fastEaseLookup[_ease][1];
};
if (((!((this.vars.roundProps == null))) && (("roundProps" in TweenLite.plugins)))){
_local5 = this.vars.roundProps;
_local9 = _local5.length;
while (_local9--) {
_local3 = _local5[_local9];
_local8 = this.cachedPT1;
while (_local8) {
if (_local8.name == _local3){
if (_local8.isPlugin){
_local8.target.round = true;
} else {
if (_local6 == null){
_local6 = new TweenLite.plugins.roundProps();
_local6.add(_local8.target, _local3, _local8.start, _local8.change);
_hasPlugins = true;
_local7 = insertPropTween(_local6, "changeFactor", 0, 1, "_MULTIPLE_", true, this.cachedPT1);
this.cachedPT1 = _local7;
} else {
_local6.add(_local8.target, _local3, _local8.start, _local8.change);
};
this.removePropTween(_local8);
this.propTweenLookup[_local3] = _local7;
};
} else {
if (((((_local8.isPlugin) && ((_local8.name == "_MULTIPLE_")))) && (!(_local8.target.round)))){
_local4 = ((" " + _local8.target.overwriteProps.join(" ")) + " ");
if (_local4.indexOf(((" " + _local3) + " ")) != -1){
_local8.target.round = true;
};
};
};
_local8 = _local8.nextNode;
};
};
};
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher){
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
};
}
public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{
var _local4:Object = {};
_local4[_arg1] = _arg2;
updateTo(_local4, !(_arg3));
}
public function willTrigger(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.willTrigger(_arg1));
}
public function hasEventListener(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.hasEventListener(_arg1));
}
protected function initDispatcher():void{
if (_dispatcher == null){
_dispatcher = new EventDispatcher(this);
};
if ((this.vars.onInitListener is Function)){
_dispatcher.addEventListener(TweenEvent.INIT, this.vars.onInitListener, false, 0, true);
};
if ((this.vars.onStartListener is Function)){
_dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true);
};
if ((this.vars.onUpdateListener is Function)){
_dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true);
_hasUpdateListener = true;
};
if ((this.vars.onCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
};
if ((this.vars.onRepeatListener is Function)){
_dispatcher.addEventListener(TweenEvent.REPEAT, this.vars.onRepeatListener, false, 0, true);
};
if ((this.vars.onReverseCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.REVERSE_COMPLETE, this.vars.onReverseCompleteListener, false, 0, true);
};
}
public function set currentProgress(_arg1:Number):void{
if (_cyclesComplete == 0){
setTotalTime((this.duration * _arg1), false);
} else {
setTotalTime(((this.duration * _arg1) + (_cyclesComplete * this.cachedDuration)), false);
};
}
public function get totalProgress():Number{
return ((this.cachedTotalTime / this.totalDuration));
}
public function set totalProgress(_arg1:Number):void{
setTotalTime((this.totalDuration * _arg1), false);
}
protected function removePropTween(_arg1:PropTween):Boolean{
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (this.cachedPT1 == _arg1){
this.cachedPT1 = _arg1.nextNode;
};
};
if (((_arg1.isPlugin) && (_arg1.target.onDisable))){
_arg1.target.onDisable();
if (_arg1.target.activeDisable){
return (true);
};
};
return (false);
}
public function get currentProgress():Number{
return ((this.cachedTime / this.duration));
}
public function get repeat():int{
return (_repeat);
}
public function updateTo(_arg1:Object, _arg2:Boolean=false):void{
var _local4:String;
var _local5:Number;
var _local6:PropTween;
var _local7:Number;
var _local3:Number = this.ratio;
if (((((_arg2) && (!((this.timeline == null))))) && ((this.cachedStartTime < this.timeline.cachedTime)))){
this.cachedStartTime = this.timeline.cachedTime;
this.setDirtyCache(false);
if (this.gc){
this.setEnabled(true, false);
} else {
this.timeline.addChild(this);
};
};
for (_local4 in _arg1) {
this.vars[_local4] = _arg1[_local4];
};
if (this.initted){
this.initted = false;
if (!_arg2){
init();
if (((((!(_arg2)) && ((this.cachedTime > 0)))) && ((this.cachedTime < this.cachedDuration)))){
_local5 = (1 / (1 - _local3));
_local6 = this.cachedPT1;
while (_local6) {
_local7 = (_local6.start + _local6.change);
_local6.change = (_local6.change * _local5);
_local6.start = (_local7 - _local6.change);
_local6 = _local6.nextNode;
};
};
};
};
}
override public function set currentTime(_arg1:Number):void{
if (_cyclesComplete == 0){
} else {
if (((this.yoyo) && (((_cyclesComplete % 2) == 1)))){
_arg1 = ((this.duration - _arg1) + (_cyclesComplete * (this.cachedDuration + _repeatDelay)));
} else {
_arg1 = (_arg1 + (_cyclesComplete * (this.duration + _repeatDelay)));
};
};
setTotalTime(_arg1, false);
}
public function get repeatDelay():Number{
return (_repeatDelay);
}
public function killProperties(_arg1:Array):void{
var _local2:Object = {};
var _local3:int = _arg1.length;
while (_local3--) {
_local2[_arg1[_local3]] = true;
};
killVars(_local2);
}
public function set repeatDelay(_arg1:Number):void{
_repeatDelay = _arg1;
setDirtyCache(true);
}
public function set repeat(_arg1:int):void{
_repeat = _arg1;
setDirtyCache(true);
}
override public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
super.complete(_arg1, _arg2);
if (((!(_arg2)) && (_dispatcher))){
if ((((this.cachedTotalTime == this.cachedTotalDuration)) && (!(this.cachedReversed)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
} else {
if (((this.cachedReversed) && ((this.cachedTotalTime == 0)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REVERSE_COMPLETE));
};
};
};
}
override public function invalidate():void{
this.yoyo = Boolean((this.vars.yoyo == true));
_repeat = ((this.vars.repeat) || (0));
_repeatDelay = ((this.vars.repeatDelay) || (0));
_hasUpdateListener = false;
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
initDispatcher();
};
setDirtyCache(true);
super.invalidate();
}
public function get timeScale():Number{
return (this.cachedTimeScale);
}
override public function get totalDuration():Number{
if (this.cacheIsDirty){
this.cachedTotalDuration = ((_repeat)==-1) ? 999999999999 : ((this.cachedDuration * (_repeat + 1)) + (_repeatDelay * _repeat));
this.cacheIsDirty = false;
};
return (this.cachedTotalDuration);
}
public static function set globalTimeScale(_arg1:Number):void{
if (_arg1 == 0){
_arg1 = 0.0001;
};
if (TweenLite.rootTimeline == null){
TweenLite.to({}, 0, {});
};
var _local2:SimpleTimeline = TweenLite.rootTimeline;
var _local3:Number = (getTimer() * 0.001);
_local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1));
_local2 = TweenLite.rootFramesTimeline;
_local3 = TweenLite.rootFrame;
_local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1));
TweenLite.rootFramesTimeline.cachedTimeScale = (TweenLite.rootTimeline.cachedTimeScale = _arg1);
}
public static function fromTo(_arg1:Object, _arg2:Number, _arg3:Object, _arg4:Object):TweenMax{
_arg4.startAt = _arg3;
if (_arg3.immediateRender){
_arg4.immediateRender = true;
};
return (new TweenMax(_arg1, _arg2, _arg4));
}
public static function allFromTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Object, _arg5:Number=0, _arg6:Function=null, _arg7:Array=null):Array{
_arg4.startAt = _arg3;
if (_arg3.immediateRender){
_arg4.immediateRender = true;
};
return (allTo(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7));
}
public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=true):void{
changePause(true, _arg1, _arg2);
}
public static function getTweensOf(_arg1:Object):Array{
var _local4:int;
var _local5:uint;
var _local2:Array = masterList[_arg1];
var _local3:Array = [];
if (_local2){
_local4 = _local2.length;
_local5 = 0;
while (_local4--) {
if (!_local2[_local4].gc){
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local6 = _temp1;
_local3[_local6] = _local2[_local4];
};
};
};
return (_local3);
}
public static function get globalTimeScale():Number{
return (((TweenLite.rootTimeline)==null) ? 1 : TweenLite.rootTimeline.cachedTimeScale);
}
public static function killChildTweensOf(_arg1:DisplayObjectContainer, _arg2:Boolean=false):void{
var _local4:Object;
var _local5:DisplayObjectContainer;
var _local3:Array = getAllTweens();
var _local6:int = _local3.length;
while (_local6--) {
_local4 = _local3[_local6].target;
if ((_local4 is DisplayObject)){
_local5 = _local4.parent;
while (_local5) {
if (_local5 == _arg1){
if (_arg2){
_local3[_local6].complete(false);
} else {
_local3[_local6].setEnabled(false, false);
};
};
_local5 = _local5.parent;
};
};
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenMax{
return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
public static function isTweening(_arg1:Object):Boolean{
var _local4:TweenLite;
var _local2:Array = getTweensOf(_arg1);
var _local3:int = _local2.length;
while (_local3--) {
_local4 = _local2[_local3];
if (((_local4.active) || ((((_local4.cachedStartTime == _local4.timeline.cachedTime)) && (_local4.timeline.active))))){
return (true);
};
};
return (false);
}
public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{
var _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = _local4.length;
while (_local6--) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
if (_arg1){
_local4[_local6].complete(false);
} else {
_local4[_local6].setEnabled(false, false);
};
};
};
}
private static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{
var _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = _local4.length;
while (_local6--) {
_local5 = (TweenLite(_local4[_local6]).target == TweenLite(_local4[_local6]).vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
TweenCore(_local4[_local6]).paused = _arg1;
};
};
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (allTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6));
}
public static function getAllTweens():Array{
var _local4:Array;
var _local5:int;
var _local1:Dictionary = masterList;
var _local2:uint;
var _local3:Array = [];
for each (_local4 in _local1) {
_local5 = _local4.length;
while (_local5--) {
if (!TweenLite(_local4[_local5]).gc){
var _temp1 = _local2;
_local2 = (_local2 + 1);
var _local8 = _temp1;
_local3[_local8] = _local4[_local5];
};
};
};
return (_local3);
}
public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=true):void{
changePause(false, _arg1, _arg2);
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{
var i:int;
var varsDup:Object;
var p:String;
var onCompleteProxy:Function;
var onCompleteParamsProxy:Array;
var targets = _arg1;
var duration = _arg2;
var vars = _arg3;
var stagger = _arg4;
var onCompleteAll = _arg5;
var onCompleteAllParams = _arg6;
var l:uint = targets.length;
var a:Array = [];
var curDelay:Number = ((vars.delay) || (0));
onCompleteProxy = vars.onComplete;
onCompleteParamsProxy = vars.onCompleteParams;
var lastIndex:int = ((stagger)<=0) ? 0 : (l - 1);
i = 0;
while (i < l) {
varsDup = {};
for (p in vars) {
varsDup[p] = vars[p];
};
varsDup.delay = curDelay;
if ((((i == lastIndex)) && (!((onCompleteAll == null))))){
varsDup.onComplete = function ():void{
if (onCompleteProxy != null){
onCompleteProxy.apply(null, onCompleteParamsProxy);
};
onCompleteAll.apply(null, onCompleteAllParams);
};
};
a[a.length] = new TweenMax(targets[i], duration, varsDup);
curDelay = (curDelay + stagger);
i = (i + 1);
};
return (a);
}
TweenPlugin.activate([AutoAlphaPlugin, EndArrayPlugin, FramePlugin, RemoveTintPlugin, TintPlugin, VisiblePlugin, VolumePlugin, BevelFilterPlugin, BezierPlugin, BezierThroughPlugin, BlurFilterPlugin, ColorMatrixFilterPlugin, ColorTransformPlugin, DropShadowFilterPlugin, FrameLabelPlugin, GlowFilterPlugin, HexColorsPlugin, RoundPropsPlugin, ShortRotationPlugin, {}]);
}
}//package com.greensock
Section 31
//HitTest (com.HitTest)
package com {
import flash.display.*;
import flash.geom.*;
public class HitTest {
protected static function getDrawMatrix(_arg1:DisplayObject, _arg2:Rectangle, _arg3:Number):Matrix{
var _local4:Point;
var _local5:Matrix;
var _local6:Matrix = _arg1.root.transform.concatenatedMatrix;
_local4 = _arg1.localToGlobal(new Point());
_local5 = _arg1.transform.concatenatedMatrix;
_local5.tx = (_local4.x - _arg2.x);
_local5.ty = (_local4.y - _arg2.y);
_local5.a = (_local5.a / _local6.a);
_local5.d = (_local5.d / _local6.d);
if (_arg3 != 1){
_local5.scale(_arg3, _arg3);
};
return (_local5);
}
public static function complexHitTestObject(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Boolean{
return (!((complexIntersectionRectangle(_arg1, _arg2, _arg3).width == 0)));
}
public static function complexIntersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Rectangle{
if (_arg3 <= 0){
throw (new Error("ArgumentError: Error #5001: Invalid value for accurracy", 5001));
};
if (!_arg1.hitTestObject(_arg2)){
return (new Rectangle());
};
var _local4:Rectangle = intersectionRectangle(_arg1, _arg2);
if (((((_local4.width * _arg3) < 1)) || (((_local4.height * _arg3) < 1)))){
return (new Rectangle());
};
var _local5:BitmapData = new BitmapData((_local4.width * _arg3), (_local4.height * _arg3), false, 0);
_local5.draw(_arg1, HitTest.getDrawMatrix(_arg1, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, -255, -255, 0xFF));
_local5.draw(_arg2, HitTest.getDrawMatrix(_arg2, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, 0xFF, 0xFF, 0xFF), BlendMode.DIFFERENCE);
var _local6:Rectangle = _local5.getColorBoundsRect(4294967295, 4278255615);
_local5.dispose();
if (_arg3 != 1){
_local6.x = (_local6.x / _arg3);
_local6.y = (_local6.y / _arg3);
_local6.width = (_local6.width / _arg3);
_local6.height = (_local6.height / _arg3);
};
_local6.x = (_local6.x + _local4.x);
_local6.y = (_local6.y + _local4.y);
return (_local6);
}
public static function intersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject):Rectangle{
if (((((!(_arg1.root)) || (!(_arg2.root)))) || (!(_arg1.hitTestObject(_arg2))))){
return (new Rectangle());
};
var _local3:Rectangle = _arg1.getBounds(_arg1.root);
var _local4:Rectangle = _arg2.getBounds(_arg2.root);
var _local5:Rectangle = new Rectangle();
_local5.x = Math.max(_local3.x, _local4.x);
_local5.y = Math.max(_local3.y, _local4.y);
_local5.width = Math.min(((_local3.x + _local3.width) - _local5.x), ((_local4.x + _local4.width) - _local5.x));
_local5.height = Math.min(((_local3.y + _local3.height) - _local5.y), ((_local4.y + _local4.height) - _local5.y));
return (_local5);
}
}
}//package com
Section 32
//KeyCodes (com.KeyCodes)
package com {
public class KeyCodes {
public static const NumpadMinus:int = 109;
public static const RightBrace:int = 221;
public static const Question:int = 191;
public static const NumpadSlash:int = 111;
public static const Equal:int = 187;
public static const keyNames:Array = new Array();
public static const Left:int = 37;
public static const Control:int = 17;
public static const A:int = 65;
public static const B:int = 66;
public static const C:int = 67;
public static const D:int = 68;
public static const E:int = 69;
public static const F:int = 70;
public static const G:int = 71;
public static const H:int = 72;
public static const I:int = 73;
public static const J:int = 74;
public static const K:int = 75;
public static const L:int = 76;
public static const M:int = 77;
public static const N:int = 78;
public static const O:int = 79;
public static const P:int = 80;
public static const Q:int = 81;
public static const S:int = 83;
public static const T:int = 84;
public static const U:int = 85;
public static const V:int = 86;
public static const W:int = 87;
public static const X:int = 88;
public static const R:int = 82;
public static const Z:int = 90;
public static const NumpadStar:int = 106;
public static const Y:int = 89;
public static const Numpad0:int = 96;
public static const Numpad1:int = 97;
public static const Numpad2:int = 98;
public static const Numpad3:int = 99;
public static const Numpad4:int = 100;
public static const Numpad5:int = 101;
public static const Numpad6:int = 102;
public static const Numpad7:int = 103;
public static const Numpad8:int = 104;
public static const Numpad9:int = 105;
public static const Shift:int = 16;
public static const ScrLck:int = 145;
public static const Spacebar:int = 32;
public static const Tab:int = 9;
public static const Backspace:int = 8;
public static const SemiColon:int = 186;
public static const LeftBrace:int = 219;
public static const Minus:int = 189;
public static const Keyb0:int = 48;
public static const Keyb2:int = 50;
public static const Keyb4:int = 52;
public static const Keyb6:int = 54;
public static const Keyb1:int = 49;
public static const Keyb3:int = 51;
public static const Keyb5:int = 53;
public static const Keyb7:int = 55;
public static const Keyb9:int = 57;
public static const NumpadPlus:int = 107;
public static const Esc:int = 27;
public static const F1:int = 112;
public static const Keyb8:int = 56;
public static const F5:int = 116;
public static const F7:int = 118;
public static const F2:int = 113;
public static const F4:int = 115;
public static const F6:int = 117;
public static const Enter:int = 13;
public static const F8:int = 119;
public static const F9:int = 120;
public static const NumpadPeriod:int = 110;
public static const F3:int = 114;
public static const NumLck:int = 144;
public static const PauseBreak:int = 19;
public static const Delete:int = 46;
public static const Comma:int = 188;
public static const Down:int = 40;
public static const End:int = 35;
public static const Insert:int = 45;
public static const Period:int = 190;
public static const PageUp:int = 33;
public static const CapsLock:int = 20;
public static const F11:int = 122;
public static const F12:int = 123;
public static const F13:int = 124;
public static const F14:int = 125;
public static const F15:int = 126;
public static const BackQuote:int = 192;
public static const Pipe:int = 220;
public static const Up:int = 38;
public static const PageDown:int = 34;
public static const SingleQuote:int = 222;
public static const Right:int = 39;
public static const Home:int = 36;
keyNames[A] = "A";
keyNames[B] = "B";
keyNames[C] = "C";
keyNames[D] = "D";
keyNames[E] = "E";
keyNames[F] = "F";
keyNames[G] = "G";
keyNames[H] = "H";
keyNames[I] = "I";
keyNames[J] = "J";
keyNames[K] = "K";
keyNames[L] = "L";
keyNames[M] = "M";
keyNames[N] = "N";
keyNames[O] = "O";
keyNames[P] = "P";
keyNames[Q] = "Q";
keyNames[R] = "R";
keyNames[S] = "S";
keyNames[T] = "T";
keyNames[U] = "U";
keyNames[V] = "V";
keyNames[W] = "W";
keyNames[X] = "X";
keyNames[Y] = "Y";
keyNames[Z] = "Z";
keyNames[Keyb0] = "0";
keyNames[Keyb1] = "1";
keyNames[Keyb2] = "2";
keyNames[Keyb3] = "3";
keyNames[Keyb4] = "4";
keyNames[Keyb5] = "5";
keyNames[Keyb6] = "6";
keyNames[Keyb7] = "7";
keyNames[Keyb8] = "8";
keyNames[Keyb9] = "9";
keyNames[Numpad0] = "Numpad 0";
keyNames[Numpad1] = "Numpad 1";
keyNames[Numpad2] = "Numpad 2";
keyNames[Numpad3] = "Numpad 3";
keyNames[Numpad4] = "Numpad 4";
keyNames[Numpad5] = "Numpad 5";
keyNames[Numpad6] = "Numpad 6";
keyNames[Numpad7] = "Numpad 7";
keyNames[Numpad8] = "Numpad 8";
keyNames[Numpad9] = "Numpad 9";
keyNames[NumpadStar] = "Numpad *";
keyNames[NumpadPlus] = "Numpad +";
keyNames[NumpadMinus] = "Numpad -";
keyNames[NumpadPeriod] = "Numpad .";
keyNames[NumpadSlash] = "Numpad /";
keyNames[F1] = "F1";
keyNames[F2] = "F2";
keyNames[F3] = "F3";
keyNames[F4] = "F4";
keyNames[F5] = "F5";
keyNames[F6] = "F6";
keyNames[F7] = "F7";
keyNames[F8] = "F8";
keyNames[F9] = "F9";
keyNames[F11] = "F11";
keyNames[F12] = "F12";
keyNames[F13] = "F13";
keyNames[F14] = "F14";
keyNames[F15] = "F15";
keyNames[Backspace] = "Backspace";
keyNames[Tab] = "Tab";
keyNames[Enter] = "Enter";
keyNames[Shift] = "Shift";
keyNames[Control] = "Control";
keyNames[PauseBreak] = "Pause/Break";
keyNames[CapsLock] = "Caps Lock";
keyNames[Esc] = "Esc";
keyNames[Spacebar] = "Spacebar";
keyNames[PageUp] = "Page Up";
keyNames[PageDown] = "Page Down";
keyNames[End] = "End";
keyNames[Home] = "Home";
keyNames[Left] = "Left Arrow";
keyNames[Up] = "Up Arrow";
keyNames[Right] = "Right Arrow";
keyNames[Down] = "Down Arrow";
keyNames[Insert] = "Insert";
keyNames[Delete] = "Delete";
keyNames[NumLck] = "NumLck";
keyNames[ScrLck] = "ScrLck";
keyNames[SemiColon] = ";";
keyNames[Equal] = "=";
keyNames[Comma] = ",";
keyNames[Minus] = "-";
keyNames[Period] = ".";
keyNames[Question] = "?";
keyNames[BackQuote] = "`";
keyNames[LeftBrace] = "[";
keyNames[Pipe] = "|";
keyNames[RightBrace] = "]";
keyNames[SingleQuote] = "'";
}
}//package com
Section 33
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
public class AdLoader extends Sprite {
private var cpmstarLoader:Loader;
private var contentspotid:String;
public function AdLoader(_arg1:String){
this.contentspotid = _arg1;
addEventListener(Event.ADDED, addedHandler);
}
private function dispatchHandler(_arg1:Event):void{
dispatchEvent(_arg1);
}
private function addedHandler(_arg1:Event):void{
removeEventListener(Event.ADDED, addedHandler);
Security.allowDomain("server.cpmstar.com");
var _local2 = "http://server.cpmstar.com/adviewas3.swf";
var _local3:DisplayObjectContainer = parent;
cpmstarLoader = new Loader();
cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler);
cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler);
cpmstarLoader.load(new URLRequest(((_local2 + "?contentspotid=") + contentspotid)));
addChild(cpmstarLoader);
}
}
}//package CPMStar
Section 34
//DoubleJumpIcon_18 (JBGraphics_fla.DoubleJumpIcon_18)
package JBGraphics_fla {
import flash.display.*;
public dynamic class DoubleJumpIcon_18 extends MovieClip {
public var bar:MovieClip;
public function DoubleJumpIcon_18(){
addFrameScript(0, this.frame1);
}
function frame1(){
stop();
}
}
}//package JBGraphics_fla
Section 35
//Main3_48 (JBGraphics_fla.Main3_48)
package JBGraphics_fla {
import flash.display.*;
public dynamic class Main3_48 extends MovieClip {
public function Main3_48(){
addFrameScript(134, this.frame135);
}
function frame135(){
stop();
}
}
}//package JBGraphics_fla
Section 36
//Credits (Menus.Credits)
package Menus {
import flash.events.*;
import flash.display.*;
import com.greensock.*;
import com.greensock.plugins.*;
public class Credits extends Sprite {
private var base:CreditsScrenBase;
public function Credits(){
TweenPlugin.activate([TintPlugin, RemoveTintPlugin, AutoAlphaPlugin]);
base = new CreditsScrenBase();
addChild(base);
base.selector.alpha = 0;
base.back.addEventListener(MouseEvent.ROLL_OVER, setSelectorOver, false, 0, true);
base.back.addEventListener(MouseEvent.ROLL_OUT, removeSelector, false, 0, true);
base.back.addEventListener(MouseEvent.CLICK, gotoMainMenu, false, 0, true);
addEventListener(Event.ADDED_TO_STAGE, onAddToStage, false, 0, true);
}
private function onAddToStage(_arg1:Event):void{
base.logoDev.addEventListener(MouseEvent.CLICK, Main(parent).visitDeveloper, false, 0, true);
base.sponsor.addEventListener(MouseEvent.CLICK, Main(parent).visitSponsor, false, 0, true);
}
private function setSelectorOver(_arg1:MouseEvent):void{
base.selector.x = _arg1.target.x;
base.selector.y = _arg1.target.y;
TweenLite.to(base.selector, 0.12, {autoAlpha:1});
TweenLite.to(_arg1.target, 0.15, {tint:0xFF});
}
private function removeSelector(_arg1:MouseEvent):void{
TweenLite.to(_arg1.target, 0.8, {removeTint:true});
TweenLite.to(base.selector, 0.65, {autoAlpha:0});
}
private function gotoMainMenu(_arg1:MouseEvent):void{
Main(parent).gotoNewScreen("mainMenu");
}
}
}//package Menus
Section 37
//GameOver (Menus.GameOver)
package Menus {
import flash.events.*;
import flash.display.*;
import mochi.as3.*;
import com.greensock.*;
import com.greensock.plugins.*;
public class GameOver extends Sprite {
private var base:GameOverBase;
public function GameOver(){
TweenPlugin.activate([TintPlugin, RemoveTintPlugin, AutoAlphaPlugin]);
base = new GameOverBase();
addChild(base);
base.selector.alpha = 0;
base.replay.addEventListener(MouseEvent.ROLL_OVER, setSelectorOver, false, 0, true);
base.replay.addEventListener(MouseEvent.ROLL_OUT, removeSelector, false, 0, true);
base.replay.addEventListener(MouseEvent.CLICK, gotoMainMenu, false, 0, true);
base.submitScore.addEventListener(MouseEvent.ROLL_OVER, setSelectorOver, false, 0, true);
base.submitScore.addEventListener(MouseEvent.ROLL_OUT, removeSelector, false, 0, true);
base.submitScore.addEventListener(MouseEvent.CLICK, submitScore, false, 0, true);
addEventListener(Event.ADDED_TO_STAGE, onAddToStage, false, 0, true);
}
private function onAddToStage(_arg1:Event):void{
base.score.text = Main(parent).lastScore.toString();
base.time.text = Main(parent).lastTimePlaying.toString();
base.multiplier.text = Main(parent).lastMultiplierLevel.toString();
base.bestScore.text = Main(parent).personalBestScore.toString();
base.sponsor.addEventListener(MouseEvent.CLICK, Main(parent).visitSponsor, false, 0, true);
}
private function setSelectorOver(_arg1:MouseEvent):void{
base.selector.x = _arg1.target.x;
base.selector.y = _arg1.target.y;
TweenLite.to(base.selector, 0.12, {autoAlpha:1});
TweenLite.to(_arg1.target, 0.15, {tint:0xFF9900});
}
private function submitScore(_arg1:MouseEvent):void{
var mouseEvent = _arg1;
var o:Object = {n:[4, 7, 5, 0, 2, 15, 6, 8, 0, 12, 2, 8, 9, 11, 11, 9], f:function (_arg1:Number, _arg2:String):String{
if (_arg2.length == 16){
return (_arg2);
};
return (this.f((_arg1 + 1), (_arg2 + this.n[_arg1].toString(16))));
}};
var boardID:String = o.f(0, "");
MochiScores.showLeaderboard({boardID:boardID, score:Main(parent).lastScore});
}
private function removeSelector(_arg1:MouseEvent):void{
TweenLite.to(_arg1.target, 0.8, {removeTint:true});
TweenLite.to(base.selector, 0.65, {autoAlpha:0});
}
private function gotoMainMenu(_arg1:MouseEvent):void{
Main(parent).uploadInfo("Retried");
Main(parent).gotoNewScreen("mainMenu");
}
}
}//package Menus
Section 38
//Instructions (Menus.Instructions)
package Menus {
import flash.events.*;
import flash.display.*;
import com.greensock.*;
import com.greensock.plugins.*;
public class Instructions extends Sprite {
private var base:InstructionsScreenBase;
public function Instructions(){
TweenPlugin.activate([TintPlugin, RemoveTintPlugin, AutoAlphaPlugin]);
base = new InstructionsScreenBase();
addChild(base);
base.selector.alpha = 0;
base.start.addEventListener(MouseEvent.ROLL_OVER, setSelectorOver, false, 0, true);
base.start.addEventListener(MouseEvent.ROLL_OUT, removeSelector, false, 0, true);
base.start.addEventListener(MouseEvent.CLICK, gotoInstructions, false, 0, true);
}
private function removeSelector(_arg1:MouseEvent):void{
TweenLite.to(_arg1.target, 0.8, {removeTint:true});
TweenLite.to(base.selector, 0.65, {autoAlpha:0});
}
private function setSelectorOver(_arg1:MouseEvent):void{
base.selector.x = _arg1.target.x;
base.selector.y = _arg1.target.y;
TweenLite.to(base.selector, 0.12, {autoAlpha:1});
TweenLite.to(_arg1.target, 0.15, {tint:0xFF});
}
private function gotoInstructions(_arg1:MouseEvent):void{
Main(parent).gotoNewScreen("game");
}
}
}//package Menus
Section 39
//MainMenu (Menus.MainMenu)
package Menus {
import flash.events.*;
import flash.display.*;
import com.greensock.*;
import com.greensock.plugins.*;
public class MainMenu extends Sprite {
private var base:MainMenuScreen;
public function MainMenu(){
TweenPlugin.activate([TintPlugin, RemoveTintPlugin, AutoAlphaPlugin]);
base = new MainMenuScreen();
addChild(base);
base.selector.alpha = 0;
base.playButton.addEventListener(MouseEvent.ROLL_OVER, setSelectorOver, false, 0, true);
base.playButton.addEventListener(MouseEvent.ROLL_OUT, removeSelector, false, 0, true);
base.playButton.addEventListener(MouseEvent.CLICK, gotoInstructions, false, 0, true);
base.creditsButton.addEventListener(MouseEvent.ROLL_OVER, setSelectorOver, false, 0, true);
base.creditsButton.addEventListener(MouseEvent.ROLL_OUT, removeSelector, false, 0, true);
base.creditsButton.addEventListener(MouseEvent.CLICK, gotoCredits, false, 0, true);
addEventListener(Event.ADDED_TO_STAGE, onAddToStage, false, 0, true);
}
private function onAddToStage(_arg1:Event):void{
base.sponsorButton.addEventListener(MouseEvent.CLICK, Main(parent).visitSponsor, false, 0, true);
base.logoDev.addEventListener(MouseEvent.CLICK, Main(parent).visitDeveloper, false, 0, true);
}
private function setSelectorOver(_arg1:MouseEvent):void{
base.selector.x = _arg1.target.x;
base.selector.y = _arg1.target.y;
TweenLite.to(base.selector, 0.12, {autoAlpha:1});
TweenLite.to(_arg1.target, 0.15, {tint:0xFF});
}
private function gotoCredits(_arg1:MouseEvent):void{
Main(parent).gotoNewScreen("credits");
}
private function removeSelector(_arg1:MouseEvent):void{
TweenLite.to(_arg1.target, 0.8, {removeTint:true});
TweenLite.to(base.selector, 0.65, {autoAlpha:0});
}
private function gotoInstructions(_arg1:MouseEvent):void{
Main(parent).gotoNewScreen("instructions");
}
}
}//package Menus
Section 40
//Splash (Menus.Splash)
package Menus {
import flash.events.*;
import flash.display.*;
public class Splash extends Sprite {
private var base:SponsorSplash;
public function Splash(){
base = new SponsorSplash();
addChild(base);
base.x = 0;
base.y = 0;
addEventListener(Event.ENTER_FRAME, onTick, false, 0, true);
addEventListener(Event.ADDED_TO_STAGE, onAddToStage, false, 0, true);
}
private function onAddToStage(_arg1:Event):void{
base.addEventListener(MouseEvent.CLICK, Main(parent).visitDeveloper, false, 0, true);
}
private function onTick(_arg1:Event):void{
if (base.it.currentFrame == 135){
Main(parent).gotoNewScreen("mainMenu");
base.it.stop();
removeChild(base);
base = null;
removeEventListener(Event.ENTER_FRAME, onTick);
};
}
}
}//package Menus
Section 41
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_HIDE:String = "StoreHide";
public static const NO_USER:String = "NoUser";
public static const IO_ERROR:String = "IOError";
public static const ITEM_NEW:String = "ItemNew";
public static const ITEM_OWNED:String = "ItemOwned";
public static const STORE_ITEMS:String = "StoreItems";
public static const ERROR:String = "Error";
public static const STORE_SHOW:String = "StoreShow";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static var _inventory:MochiInventory;
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function get inventory():MochiInventory{
return (_inventory);
}
public static function showStore(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:_arg1}, null, null);
}
public static function requestFunding(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestFunding", _arg1);
}
public static function showItem(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:_arg1}, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showVideo(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:_arg1}, null, null);
}
addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_inventory = new MochiInventory();
});
addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_inventory = null;
});
}
}//package mochi.as3
Section 42
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Sibling:MochiDigits;
private var Fragment:Number;
private var Encoder:Number;
public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{
Encoder = 0;
setValue(_arg1, _arg2);
}
public function reencode():void{
var _local1:uint = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (_local1 ^ Encoder));
Encoder = _local1;
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function toString():String{
var _local1:String = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
_local1 = (_local1 + Sibling.toString());
};
return (_local1);
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String = _arg1.toString();
var _temp1 = _arg2;
_arg2 = (_arg2 + 1);
Fragment = (_local3.charCodeAt(_temp1) ^ Encoder);
if (_arg2 < _local3.length){
Sibling = new MochiDigits(_arg1, _arg2);
} else {
Sibling = null;
};
reencode();
}
public function get value():Number{
return (Number(this.toString()));
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
}
}//package mochi.as3
Section 43
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var eventTable:Object;
public function MochiEventDispatcher():void{
eventTable = {};
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
return;
};
for (_local3 in eventTable[_arg1]) {
var _local6 = eventTable[_arg1];
_local6[_local3](_arg2);
};
}
public function removeEventListener(_arg1:String, _arg2:Function):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
eventTable[_arg1] = [];
return;
};
for (_local3 in eventTable[_arg1]) {
if (eventTable[_arg1][_local3] != _arg2){
} else {
eventTable[_arg1].splice(Number(_local3), 1);
};
};
}
public function addEventListener(_arg1:String, _arg2:Function):void{
removeEventListener(_arg1, _arg2);
eventTable[_arg1].push(_arg2);
}
}
}//package mochi.as3
Section 44
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
import flash.display.*;
public class MochiEvents {
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const FORMAT_LONG:String = "LongForm";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived";
public static const FORMAT_SHORT:String = "ShortForm";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_CENTER:String = "ALIGN_C";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var gameStart:Number;
private static var levelStart:Number;
public static function endPlay():void{
MochiServices.send("events_clearRoundID", null, null, null);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function trackEvent(_arg1:String, _arg2=null):void{
MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function startSession(_arg1:String):void{
MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{
var _local4:Object;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
_local3.clip = _arg1;
MochiServices.send("events_setNotifications", _local3, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function startPlay(_arg1:String="gameplay"):void{
MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null);
}
}
}//package mochi.as3
Section 45
//MochiInventory (mochi.as3.MochiInventory)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
public dynamic class MochiInventory extends Proxy {
private var _timer:Timer;
private var _names:Array;
private var _syncID:Number;
private var _consumableProperties:Object;
private var _storeSync:Object;
private var _outstandingID:Number;
private var _syncPending:Boolean;
public static const READY:String = "InvReady";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IoError";
private static const KEY_SALT:String = " syncMaint";
public static const WRITTEN:String = "InvWritten";
public static const NOT_READY:String = "InvNotReady";
public static const VALUE_ERROR:String = "InvValueError";
private static const CONSUMER_KEY:String = "MochiConsumables";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public function MochiInventory():void{
MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned);
MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut);
_storeSync = new Object();
_syncPending = false;
_outstandingID = 0;
_syncID = 0;
_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, sync);
_timer.start();
if (MochiSocial.loggedIn){
loggedIn();
} else {
loggedOut();
};
}
private function newItems(_arg1:Object):void{
if (!this[(_arg1.id + KEY_SALT)]){
this[(_arg1.id + KEY_SALT)] = 0;
};
if (!this[_arg1.id]){
this[_arg1.id] = 0;
};
this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count);
this[_arg1.id] = (this[_arg1.id] + _arg1.count);
if (((_arg1.privateProperties) && (_arg1.privateProperties.consumable))){
if (!this[_arg1.privateProperties.tag]){
this[_arg1.privateProperties.tag] = 0;
};
this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count));
};
}
public function release():void{
MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (-1);
};
if (_consumableProperties[_arg1]){
return (MochiDigits(_consumableProperties[_arg1]).value);
};
return (undefined);
}
private function loggedIn(_arg1:Object=null):void{
MochiUserData.get(CONSUMER_KEY, getConsumableBag);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (false);
};
if (_consumableProperties[_arg1] == undefined){
return (false);
};
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{
return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1));
}
private function putConsumableBag(_arg1:MochiUserData):void{
_syncPending = false;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
_outstandingID = -1;
};
triggerEvent(WRITTEN, {});
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:MochiDigits;
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return;
};
if (!(_arg2 is Number)){
triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2});
return;
};
if (_consumableProperties[_arg1]){
_local3 = MochiDigits(_consumableProperties[_arg1]);
if (_local3.value == _arg2){
return;
};
_local3.value = _arg2;
} else {
_names.push(_arg1);
_consumableProperties[_arg1] = new MochiDigits(_arg2);
};
_syncID++;
}
private function itemOwned(_arg1:Object):void{
_storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count};
}
private function sync(_arg1:Event=null):void{
var _local3:String;
if (((_syncPending) || ((_syncID == _outstandingID)))){
return;
};
_outstandingID = _syncID;
var _local2:Object = {};
for (_local3 in _consumableProperties) {
_local2[_local3] = MochiDigits(_consumableProperties[_local3]).value;
};
MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag);
_syncPending = true;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{
return (_names[(_arg1 - 1)]);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{
if (!_consumableProperties[_arg1]){
return (false);
};
_names.splice(_names.indexOf(_arg1), 1);
delete _consumableProperties[_arg1];
return (true);
}
private function getConsumableBag(_arg1:MochiUserData):void{
var _local2:String;
var _local3:Number;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
return;
};
_consumableProperties = {};
_names = new Array();
if (_arg1.data){
for (_local2 in _arg1.data) {
_names.push(_local2);
_consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]);
};
};
for (_local2 in _storeSync) {
_local3 = _storeSync[_local2].count;
if (_consumableProperties[(_local2 + KEY_SALT)]){
_local3 = (_local3 - _consumableProperties[(_local2 + KEY_SALT)].value);
};
if (_local3 == 0){
} else {
newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties});
};
};
triggerEvent(READY, {});
}
private function loggedOut(_arg1:Object=null):void{
_consumableProperties = null;
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
}
}//package mochi.as3
Section 46
//MochiScores (mochi.as3.MochiScores)
package mochi.as3 {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var n:Number;
var options = _arg1;
if (options != null){
delete options.clip;
MochiServices.setContainer();
MochiServices.bringToTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
} else {
if ((options.score is MochiDigits)){
options.score = options.score.value;
};
};
n = Number(options.score);
if (isNaN(n)){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(n) != n){
trace((("WARNING: Submitted score '" + options.score) + "' will be truncated"));
};
options.score = n;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
var _local2:Object = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
_arg1 = Number(_arg1);
if (isNaN(_arg1)){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(_arg1) != _arg1){
trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated"));
};
_arg1 = Number(_arg1);
};
};
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiServices.warnID(_arg1, true);
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi.as3
Section 47
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
public static const CONNECTED:String = "onConnected";
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _queue:Array;
private static var _swfVersion:String;
private static var _preserved:Object;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
private static var _nextCallbackID:Number;
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _services:String = "services.swf";
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
public static var widget:Boolean = false;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var _callbacks:Object;
private static var _connecting:Boolean = false;
private static var _mochiLocalConnection:MovieClip;
private static var _listenChannelName:String = "__ms_";
public static var onError:Object;
public static var netup:Boolean = true;
private static var _mochiLC:String = "MochiLC.swf";
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function get connected():Boolean{
return (_connected);
}
private static function onReceive(_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
var cb:String = pkg.callbackID;
var cblst:Object = _callbacks[cb];
if (!cblst){
return;
};
var method:* = cblst.callbackMethod;
methodName = "";
var obj:Object = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete _callbacks[cb];
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1));
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
};
if (_clip != null){
if (_callbacks != null){
_callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_nextCallbackID++;
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local4:int;
var _local14:Loader;
var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var _local6:Array = [0, 64, 0, 0, 0];
var _local7:MovieClip = new MovieClip();
var _local8:LocalConnection = new LocalConnection();
var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
var _local10:ByteArray = new ByteArray();
var _local11:ByteArray = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
var _local12:uint = ((_local3.length + _local11.length) + 4);
var _local13:uint = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
private static function detach(_arg1:Event):void{
var _local2:LoaderInfo = LoaderInfo(_arg1.target);
_local2.removeEventListener(Event.COMPLETE, detach);
_local2.removeEventListener(IOErrorEvent.IO_ERROR, detach);
_local2.removeEventListener(Event.COMPLETE, loadLCBridgeComplete);
_local2.removeEventListener(IOErrorEvent.IO_ERROR, loadError);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
private static function loadLCBridgeComplete(_arg1:Event):void{
var _local2:Loader = LoaderInfo(_arg1.target).loader;
_mochiLocalConnection = MovieClip(_local2.content);
listen();
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_mochiLocalConnection.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, connectWait);
_timer = null;
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
};
return (_local2);
}
public static function getVersion():String{
return ("3.9.1 as3");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
public static function warnID(_arg1:String, _arg2:Boolean):void{
_arg1 = _arg1.toLowerCase();
if (_arg1.length != 16){
trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (_arg1 == "1e113c7239048b3f"){
if (_arg2){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (_arg1 == "84993a1de4031cd8"){
if (_arg2){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
var _local3:Number = 0;
while (_local3 < _arg1.length) {
switch (_arg1.charAt(_local3)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + _arg1));
return;
};
_local3++;
};
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (((_clip) && (_queue))){
while (_queue.length > 0) {
_local2 = _queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _callbacks[_local2.callbackID];
};
delete _callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
}
public static function get id():String{
return (_id);
}
private static function onEvent(_arg1:Object):void{
var _local2:String = _arg1.target;
var _local3:String = _arg1.event;
switch (_local2){
case "services":
MochiServices.triggerEvent(_arg1.event, _arg1.args);
break;
case "events":
MochiEvents.triggerEvent(_arg1.event, _arg1.args);
break;
case "coins":
MochiCoins.triggerEvent(_arg1.event, _arg1.args);
break;
case "social":
MochiSocial.triggerEvent(_arg1.event, _arg1.args);
break;
};
}
private static function urlOptions(_arg1:Object):Object{
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
var _local2:Object = {};
if (_arg1.stage){
_local3 = _arg1.stage.loaderInfo.parameters.mochiad_options;
} else {
_local3 = _arg1.loaderInfo.parameters.mochiad_options;
};
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var avm1Click:DisplayObject;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
var vars:Object = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
var s = "?";
var i:Number = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://link.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (_arg1:String):void{
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(_arg1, onClick);
var _local2:Rectangle = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = _local2.x;
avm1Click.y = _local2.y;
avm1Click.scaleX = (0.01 * _local2.width);
avm1Click.scaleY = (0.01 * _local2.height);
};
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
setURL(burl);
};
complete = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_clip.parent){
_clip.parent.removeChild(_clip);
};
if (_arg1 != null){
if ((_arg1 is DisplayObjectContainer)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is DisplayObjectContainer)){
DisplayObjectContainer(_container).addChild(_clip);
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
private static function loadError(_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
public static function get childClip():Object{
return (_clip);
}
private static function initComChannels():void{
if (!_connected){
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_clip.onReceive = onReceive;
_clip.onEvent = onEvent;
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
while (_queue.length > 0) {
_mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift());
};
};
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
private static function loadLCBridge(_arg1:Object):void{
var _local2:Loader = new Loader();
var _local3:String = (_servURL + _mochiLC);
var _local4:URLRequest = new URLRequest(_local3);
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, detach);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach);
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, loadLCBridgeComplete);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
_local2.load(_local4);
_arg1.addChild(_local2);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(_arg2).servURL){
_servURL = urlOptions(_arg2).servURL;
};
var _local3:String = (_servURL + _services);
if (urlOptions(_arg2).servicesURL){
_local3 = urlOptions(_arg2).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(_local3);
_clip = new MovieClip();
loadLCBridge(_clip);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, detach);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
var _local4:URLRequest = new URLRequest(_local3);
var _local5:URLVariables = new URLVariables();
_local5.listenLC = _listenChannelName;
_local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options;
_local5.api_version = getVersion();
if (widget){
_local5.widget = true;
};
_local4.data = _local5;
_loader.load(_local4);
_clip.addChild(_loader);
_sendChannel = new LocalConnection();
_queue = [];
_nextCallbackID = 0;
_callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
public static function get clip():Object{
return (_container);
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
warnID(id, false);
if ((clip is DisplayObject)){
if (clip.stage == null){
trace("MochiServices connect requires the containing clip be attached to the stage");
};
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function bringToTop(_arg1:Event=null):void{
var e = _arg1;
if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
}
public static function connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
} else {
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, connectWait);
_timer = null;
};
}
}
}//package mochi.as3
Section 48
//MochiSocial (mochi.as3.MochiSocial)
package mochi.as3 {
public class MochiSocial {
public static const LOGGED_IN:String = "LoggedIn";
public static const ACTION_CANCELED:String = "onCancel";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
public static const IO_ERROR:String = "IOError";
public static const NO_USER:String = "NoUser";
public static const FRIEND_LIST:String = "FriendsList";
public static const PROFILE_DATA:String = "ProfileData";
public static const GAMEPLAY_DATA:String = "GameplayData";
public static const ACTION_COMPLETE:String = "onComplete";
public static const LOGIN_SHOW:String = "LoginShow";
public static const PROFILE_HIDE:String = "ProfileHide";
public static const USER_INFO:String = "UserInfo";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const ERROR:String = "Error";
public static const LOGGED_OUT:String = "LoggedOut";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const LOGIN_HIDE:String = "LoginHide";
public static const LOGIN_SHOWN:String = "LoginShown";
public static var _user_info:Object = null;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function requestFan(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestFan", _arg1);
}
public static function postToStream(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_postToStream", _arg1);
}
public static function getFriendsList(_arg1:Object=null):void{
MochiServices.send("social_getFriendsList", _arg1);
}
public static function requestLogin(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestLogin", _arg1);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function saveUserProperties(_arg1:Object):void{
MochiServices.send("social_saveUserProperties", _arg1);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function inviteFriends(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_inviteFriends", _arg1);
}
public static function get loggedIn():Boolean{
return (!((_user_info == null)));
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function showLoginWidget(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_showLoginWidget", {options:_arg1});
}
public static function getAPIURL():String{
if (!_user_info){
return (null);
};
return (_user_info.api_url);
}
public static function hideLoginWidget():void{
MochiServices.send("social_hideLoginWidget");
}
public static function getAPIToken():String{
if (!_user_info){
return (null);
};
return (_user_info.api_token);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_user_info = _arg1;
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_user_info = null;
});
}
}//package mochi.as3
Section 49
//MochiUserData (mochi.as3.MochiUserData)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class MochiUserData extends EventDispatcher {
public var callback:Function;// = null
public var operation:String;// = null
public var error:Event;// = null
public var data;// = null
public var _loader:URLLoader;
public var key:String;// = null
public function MochiUserData(_arg1:String="", _arg2:Function=null){
this.key = _arg1;
this.callback = _arg2;
}
public function serialize(_arg1):ByteArray{
var _local2:ByteArray = new ByteArray();
_local2.objectEncoding = ObjectEncoding.AMF3;
_local2.writeObject(_arg1);
_local2.compress();
return (_local2);
}
public function errorHandler(_arg1:IOErrorEvent):void{
data = null;
error = _arg1;
if (callback != null){
performCallback();
} else {
dispatchEvent(_arg1);
};
close();
}
public function putEvent(_arg1):void{
request("put", serialize(_arg1));
}
public function deserialize(_arg1:ByteArray){
_arg1.objectEncoding = ObjectEncoding.AMF3;
_arg1.uncompress();
return (_arg1.readObject());
}
public function securityErrorHandler(_arg1:SecurityErrorEvent):void{
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString())));
}
public function getEvent():void{
request("get", serialize(null));
}
override public function toString():String{
return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]"));
}
public function performCallback():void{
try {
callback(this);
} catch(e:Error) {
trace(("[MochiUserData] exception during callback: " + e));
};
}
public function request(_arg1:String, _arg2:ByteArray):void{
var _operation = _arg1;
var _data = _arg2;
operation = _operation;
var api_url:String = MochiSocial.getAPIURL();
var api_token:String = MochiSocial.getAPIToken();
if ((((api_url == null)) || ((api_token == null)))){
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in"));
return;
};
_loader = new URLLoader();
var args:URLVariables = new URLVariables();
args.op = _operation;
args.key = key;
var req:URLRequest = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString()));
req.method = URLRequestMethod.POST;
req.contentType = "application/x-mochi-userdata";
req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)];
req.data = _data;
_loader.dataFormat = URLLoaderDataFormat.BINARY;
_loader.addEventListener(Event.COMPLETE, completeHandler);
_loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
try {
_loader.load(req);
} catch(e:SecurityError) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString())));
};
}
public function completeHandler(_arg1:Event):void{
var event = _arg1;
try {
if (_loader.data.length){
data = deserialize(_loader.data);
} else {
data = null;
};
} catch(e:Error) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString())));
return;
};
if (callback != null){
performCallback();
} else {
dispatchEvent(event);
};
close();
}
public function close():void{
if (_loader){
_loader.removeEventListener(Event.COMPLETE, completeHandler);
_loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
_loader.close();
_loader = null;
};
error = null;
callback = null;
}
public static function get(_arg1:String, _arg2:Function):void{
var _local3:MochiUserData = new MochiUserData(_arg1, _arg2);
_local3.getEvent();
}
public static function put(_arg1:String, _arg2, _arg3:Function):void{
var _local4:MochiUserData = new MochiUserData(_arg1, _arg3);
_local4.putEvent(_arg2);
}
}
}//package mochi.as3
Section 50
//Log (SWFStats.Log)
package SWFStats {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.external.*;
public final class Log {
private static const PingR:Timer = new Timer(30000);
private static const PingF:Timer = new Timer(60000);
public static var GUID:String = "";
private static var Plays:int = 0;
public static var Enabled:Boolean = false;
private static var Request:LogRequest = new LogRequest();
private static var Pings:int = 0;
public static var Queue:Boolean = true;
public static var SourceUrl:String;
private static var HighestGoal:int = 0;
private static var FirstPing:Boolean = true;
public static var SWFID:int = 0;
private static function SaveCookie(_arg1:String, _arg2:int):void{
var _local3:SharedObject = SharedObject.getLocal("swfstats");
_local3.data[_arg1] = _arg2.toString();
_local3.flush();
}
public static function View(_arg1:int=0, _arg2:String="", _arg3:String=""):void{
if (SWFID > 0){
return;
};
SWFID = _arg1;
GUID = _arg2;
Enabled = true;
if ((((SWFID == 0)) || ((GUID == "")))){
Enabled = false;
return;
};
if (((((!((_arg3.indexOf("http://") == 0))) && (!((Security.sandboxType == "localWithNetwork"))))) && (!((Security.sandboxType == "localTrusted"))))){
Enabled = false;
return;
};
SourceUrl = GetUrl(_arg3);
if ((((SourceUrl == null)) || ((SourceUrl == "")))){
Enabled = false;
return;
};
Security.allowDomain("http://tracker.swfstats.com/");
Security.allowInsecureDomain("http://tracker.swfstats.com/");
Security.loadPolicyFile("http://tracker.swfstats.com/crossdomain.xml");
Security.allowDomain("http://utils.swfstats.com/");
Security.allowInsecureDomain("http://utils.swfstats.com/");
Security.loadPolicyFile("http://utils.swfstats.com/crossdomain.xml");
var _local4:int = GetCookie("views");
_local4++;
SaveCookie("views", _local4);
Send(("v/" + _local4), true);
PingF.addEventListener(TimerEvent.TIMER, PingServer);
PingF.start();
}
public static function LevelCounterMetric(_arg1:String, _arg2):void{
if (!Enabled){
return;
};
Send(((("lc/" + Clean(_arg1)) + "/") + Clean(_arg2)));
}
private static function Clean(_arg1:String):String{
return (escape(_arg1.replace("/", "\\").replace("~", "-")));
}
public static function Play():void{
if (!Enabled){
return;
};
Plays++;
Send(("p/" + Plays));
}
private static function Send(_arg1:String, _arg2:Boolean=false):void{
Request.Queue(_arg1);
if (((((Request.Ready) || (_arg2))) || (!(Queue)))){
Request.Send();
Request = new LogRequest();
};
}
private static function GetUrl(_arg1:String):String{
var url:String;
var defaulturl = _arg1;
if (ExternalInterface.available){
try {
url = String(ExternalInterface.call("window.location.href.toString"));
} catch(s:Error) {
url = defaulturl;
};
} else {
if (defaulturl.indexOf("http://") == 0){
url = defaulturl;
};
};
if ((((((url == null)) || ((url == "")))) || ((url == "null")))){
if ((((Security.sandboxType == "localWithNetwork")) || ((Security.sandboxType == "localTrusted")))){
url = "http://local-testing/";
} else {
url = null;
};
};
return (url);
}
public static function LevelRangedMetric(_arg1:String, _arg2, _arg3:int):void{
if (!Enabled){
return;
};
Send(((((("lr/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3));
}
private static function GetCookie(_arg1:String):int{
var _local2:SharedObject = SharedObject.getLocal("swfstats");
if (_local2.data[_arg1] == undefined){
return (0);
};
return (int(_local2.data[_arg1]));
}
public static function Goal(_arg1:int, _arg2:String):void{
}
private static function PingServer(... _args):void{
if (!Enabled){
return;
};
Pings++;
Send(((("t/" + (FirstPing) ? "y" : "n") + "/") + Pings), true);
if (FirstPing){
PingF.stop();
PingR.addEventListener(TimerEvent.TIMER, PingServer);
PingR.start();
FirstPing = false;
};
}
public static function LevelAverageMetric(_arg1:String, _arg2, _arg3:int):void{
if (!Enabled){
return;
};
Send(((((("la/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3));
}
public static function CustomMetric(_arg1:String, _arg2:String=null):void{
if (!Enabled){
return;
};
if (_arg2 == null){
_arg2 = "";
};
Send(((("c/" + Clean(_arg1)) + "/") + Clean(_arg2)));
}
}
}//package SWFStats
Section 51
//LogRequest (SWFStats.LogRequest)
package SWFStats {
import flash.events.*;
import flash.net.*;
public final class LogRequest {
private var Data:String;// = ""
public var Ready:Boolean;// = false
private var Pieces:int;
private static var Failed:int = 0;
private function IOErrorHandler(_arg1:IOErrorEvent):void{
Failed++;
}
public function Queue(_arg1:String):void{
if (Failed > 3){
return;
};
this.Pieces++;
this.Data = (this.Data + (((this.Data == "")) ? "" : "~" + _arg1));
if ((((this.Pieces == 8)) || ((this.Data.length > 300)))){
this.Ready = true;
};
}
private function SecurityErrorHandler(_arg1:SecurityErrorEvent):void{
}
private function StatusChange(_arg1:HTTPStatusEvent):void{
}
public function Send():void{
var _local1:URLLoader = new URLLoader();
_local1.addEventListener(IOErrorEvent.IO_ERROR, this.IOErrorHandler);
_local1.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.StatusChange);
_local1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.SecurityErrorHandler);
_local1.load(new URLRequest((((((((((("http://tracker.swfstats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z")));
trace((((((((((("http://tracker.swfstats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z"));
}
}
}//package SWFStats
Section 52
//ActivatedJumpPowerSound (ActivatedJumpPowerSound)
package {
import flash.media.*;
public dynamic class ActivatedJumpPowerSound extends Sound {
}
}//package
Section 53
//Bar (Bar)
package {
import flash.display.*;
public class Bar extends Sprite {
public var halfHeight:Number;
public var colored:Boolean;// = false
public var myType:int;
private var additionalMovementX:Number;// = 0
private var myY:Number;
public var shakingTime:int;// = 0
public var shakeY:Number;// = 0
public var halfWidth:Number;
private var imageKit:BarKit;
public var valid:Boolean;// = true
public function Bar(_arg1:int, _arg2:Number){
imageKit = new BarKit();
addChild(imageKit);
myType = _arg1;
imageKit.gotoAndStop(((_arg1 * 2) - 1));
myY = _arg2;
halfHeight = (height * 0.5);
halfWidth = (width * 0.5);
}
public function setColor():void{
colored = true;
imageKit.nextFrame();
}
public function update():void{
x = (x - Level(parent).screenSpeed);
if (shakingTime > 0){
shakingTime--;
switch (shakingTime){
case 5:
shakeY = 2;
break;
case 4:
shakeY = 4;
break;
case 3:
shakeY = 3;
break;
case 2:
shakeY = 2;
break;
case 1:
shakeY = 1;
break;
case 0:
shakeY = 0;
break;
};
y = (myY + shakeY);
};
}
}
}//package
Section 54
//BarKit (BarKit)
package {
import flash.display.*;
public dynamic class BarKit extends MovieClip {
}
}//package
Section 55
//BounceSound1 (BounceSound1)
package {
import flash.media.*;
public dynamic class BounceSound1 extends Sound {
}
}//package
Section 56
//BounceSound2 (BounceSound2)
package {
import flash.media.*;
public dynamic class BounceSound2 extends Sound {
}
}//package
Section 57
//Ceil (Ceil)
package {
import flash.display.*;
public dynamic class Ceil extends MovieClip {
}
}//package
Section 58
//ChangeTime (ChangeTime)
package {
import flash.display.*;
public class ChangeTime extends Sprite {
private var base:ChangeTimeBox;
public var lifeTime:int;// = 90
public var yPosTarget:Number;
public function ChangeTime(_arg1:int){
base = new ChangeTimeBox();
addChild(base);
if (_arg1 > 0){
base.field.text = (("+" + _arg1) + " SECS");
} else {
base.field.textColor = 0xFF0000;
base.field.text = (_arg1 + " SECS");
};
}
public function update():void{
var _local1:Number;
if (y != yPosTarget){
_local1 = (yPosTarget - y);
y = (y + (_local1 / 10));
if (int(y) == int(yPosTarget)){
y = yPosTarget;
};
};
lifeTime--;
if (lifeTime < 30){
alpha = (alpha - 0.033);
};
}
}
}//package
Section 59
//ChangeTimeBox (ChangeTimeBox)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ChangeTimeBox extends MovieClip {
public var field:TextField;
}
}//package
Section 60
//CircleEffect (CircleEffect)
package {
import flash.display.*;
public dynamic class CircleEffect extends MovieClip {
}
}//package
Section 61
//ClockPowerUp (ClockPowerUp)
package {
import flash.display.*;
public dynamic class ClockPowerUp extends MovieClip {
}
}//package
Section 62
//ClockUpSound (ClockUpSound)
package {
import flash.media.*;
public dynamic class ClockUpSound extends Sound {
}
}//package
Section 63
//CreditsScrenBase (CreditsScrenBase)
package {
import flash.display.*;
public dynamic class CreditsScrenBase extends MovieClip {
public var selector:MovieClip;
public var sponsor:SimpleButton;
public var logoDev:SimpleButton;
public var back:SimpleButton;
}
}//package
Section 64
//CrossGateSound (CrossGateSound)
package {
import flash.media.*;
public dynamic class CrossGateSound extends Sound {
}
}//package
Section 65
//ExtraTimeSound (ExtraTimeSound)
package {
import flash.media.*;
public dynamic class ExtraTimeSound extends Sound {
}
}//package
Section 66
//GameOverBase (GameOverBase)
package {
import flash.display.*;
import flash.text.*;
public dynamic class GameOverBase extends MovieClip {
public var score:TextField;
public var selector:MovieClip;
public var multiplier:TextField;
public var sponsor:SimpleButton;
public var bestScore:TextField;
public var submitScore:SimpleButton;
public var replay:SimpleButton;
public var time:TextField;
}
}//package
Section 67
//Hero (Hero)
package {
import flash.display.*;
public class Hero extends Sprite {
private var borning:Boolean;// = true
public var radius:Number;
public var powerLoaded:Boolean;// = false
public var speedX:Number;// = 0
public var movePower:Number;// = 2.5
public var speedY:Number;// = 0
public var friction:Number;// = 0.8
public var image:HeroImage;
public var loadingPowerTime:int;// = 150
public function Hero(){
image = new HeroImage();
addChild(image);
radius = (height * 0.5);
alpha = 0;
}
public function update():void{
if (borning){
if (Level(parent).gameTimeFrames < 110){
alpha = (alpha + 0.02);
image.rotation = (image.rotation + Level(parent).screenSpeed);
} else {
alpha = 1;
borning = false;
speedX = 0;
speedY = -6;
};
} else {
if (powerLoaded == false){
if (loadingPowerTime > 0){
loadingPowerTime--;
} else {
powerIsLoaded();
};
};
speedX = (speedX * friction);
speedY = (speedY + Level(parent).gravityAcceleration);
x = (x + speedX);
y = (y + speedY);
image.rotation = (image.rotation + (Level(parent).screenSpeed + speedX));
};
}
public function powerIsLoaded():void{
powerLoaded = true;
}
public function movement(_arg1:String):void{
switch (_arg1){
case "left":
speedX = (speedX - movePower);
break;
case "right":
speedX = (speedX + movePower);
break;
case "down":
speedY = (speedY + 0.2);
break;
};
}
public function usePower():void{
Level(parent).IKnowYouHavePower = false;
loadingPowerTime = 150;
speedY = -12;
powerLoaded = false;
}
}
}//package
Section 68
//HeroImage (HeroImage)
package {
import flash.display.*;
public dynamic class HeroImage extends MovieClip {
public function HeroImage(){
addFrameScript(0, this.frame1);
}
function frame1(){
stop();
}
}
}//package
Section 69
//HeroTrail (HeroTrail)
package {
import flash.display.*;
public dynamic class HeroTrail extends MovieClip {
public function HeroTrail(){
addFrameScript(0, this.frame1);
}
function frame1(){
stop();
}
}
}//package
Section 70
//HUD (HUD)
package {
import flash.display.*;
import flash.text.*;
public dynamic class HUD extends MovieClip {
public var mute:SimpleButton;
public var points:TextField;
public var danger:MovieClip;
public var multiplier:TextField;
public var doubleJumpIcon:MovieClip;
public var extraTime:TextField;
public var timeLeft:TextField;
}
}//package
Section 71
//InstructionsScreenBase (InstructionsScreenBase)
package {
import flash.display.*;
public dynamic class InstructionsScreenBase extends MovieClip {
public var start:SimpleButton;
public var selector:MovieClip;
}
}//package
Section 72
//JumpingBall (JumpingBall)
package {
import flash.events.*;
import flash.display.*;
import CPMStar.*;
import SWFStats.*;
import flash.net.*;
public class JumpingBall extends Preloader {
public var ad:DisplayObject;
public var fakeloading:Number;
public var adTime:int;// = 300
private var base:PreloaderBase;
public var sitelockAds:Boolean;// = false
override protected function endLoading():void{
}
override protected function updateLoading(_arg1:Number):void{
if (base != null){
if (adTime > 0){
adTime--;
};
fakeloading = ((_arg1 * (300 - adTime)) / 300);
if (fakeloading < 0.99){
base.loadBar.scaleX = fakeloading;
base.loadedText.text = (int((fakeloading * 100)) + "%");
} else {
if (base.playButton.alpha == 0){
stage.focus = stage;
base.playButton.alpha = 1;
base.playButton.addEventListener(MouseEvent.CLICK, startGame, false, 0, true);
base.loadBar.scaleX = 1;
};
};
};
}
private function visitSponsor(_arg1:MouseEvent):void{
var mouseEvent = _arg1;
var url = "http://www.playedonline.com/?t=1&a=smiley&utm_campaign=smiley&utm_source=smiley&utm_medium=smiley";
var request:URLRequest = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
trace("Error occurred!");
};
}
private function startGame(_arg1:MouseEvent):void{
trace("YEAH");
base.playButton.removeEventListener(MouseEvent.CLICK, startGame);
base.logoSpo.removeEventListener(MouseEvent.CLICK, visitSponsor);
Log.View(1240, "0e52a346c100", root.loaderInfo.loaderURL);
removeChild(base);
base = null;
_adFinished = true;
}
public function checkUrl(_arg1:Array):Boolean{
var _local2:String = stage.loaderInfo.url;
var _local3:int = (_arg1.length - 1);
while (_local3 >= 0) {
if (_local2.indexOf(_arg1[_local3]) != -1){
return (true);
};
_local3--;
};
return (false);
}
override protected function beginLoading():void{
var _local4:String;
var _local7:String;
base = new PreloaderBase();
addChild(base);
var _local1:String = stage.loaderInfo.url;
var _local2:Number = (_local1.indexOf("://") + 3);
var _local3:Number = _local1.indexOf("/", _local2);
_local4 = _local1.substring(_local2, _local3);
var _local5:Number = (_local4.lastIndexOf(".") - 1);
var _local6:Number = (_local4.lastIndexOf(".", _local5) + 1);
_local4 = _local4.substring(_local6, _local4.length);
if (base.logoSpo == null){
base.visible = false;
};
base.playButton.alpha = 0;
if ((((((_local4 == "flashgamelicense.com")) || ((_local4 == "chat.kongregate.com")))) || ((_local4 == "kongregate.com")))){
sitelockAds = true;
adTime = 0;
};
if (sitelockAds == false){
_local7 = "3390QEAC80E3B";
ad = new AdLoader(_local7);
base.adBox.addChild(ad);
};
base.logoSpo.addEventListener(MouseEvent.CLICK, visitSponsor, false, 0, true);
}
}
}//package
Section 73
//Level (Level)
package {
import flash.events.*;
import flash.display.*;
import com.greensock.*;
import com.*;
import com.greensock.plugins.*;
import flash.ui.*;
public class Level extends Sprite {
public var reverseYMode:Boolean;// = false
private var pauseScreen:PauseScreen;
private var arrayOfChangeTimeNotes:Array;
private var downKeyPressed:Boolean;// = false
private var arrayOfTrailEffect:Array;
private var currentChangeTimeNote:ChangeTime;
private var currentTrail:HeroTrail;
public var morePlatformsUpgrade:Boolean;// = false
private var arrayOfRings:Array;
public var secondPlatformUpgrade:Boolean;// = false
private var veryHappyDuration:int;
private var isTimeToCreateTrail:Boolean;
private var hud:HUD;
private var textEffect:MyTextEffect;
private var currentParticle:Particle;
private var newSmokeEffect:SmokeEffect;
private var spikeBall:SpikeBall;
private var leftKeyPressed:Boolean;// = false
private var background:LevelBack;
public var multiplierValue:int;// = 1
public var smallGateMode:Boolean;// = false
public var screenSpeed:Number;// = 4.8
private var newCircleEffect:CircleEffect;
private var newTrail:HeroTrail;
private var currentRing:Ring;
private var spikeFloor1:SpikeFloor;
private var spikeFloor2:SpikeFloor;
private var newParticle:Particle;
private var timeUntilNextBar:int;// = 0
private var newBar:Bar;
public var smallPlatformsMode:Boolean;// = false
public var fatMode:Boolean;// = false
public var gameTimeFrames:int;
public var spikeBallMode:Boolean;// = false
private var i:int;
private var timeLeft:int;// = 40
public var gameSpeed:Number;// = 1
public var reverseXMode:Boolean;// = false
private var arrayOfParticles:Array;
private var frames30:int;
public var level:int;// = 1
private var isGamePaused:Boolean;// = false
private var clockPowerUp:ClockPowerUp;
private var currentCircleEffect:CircleEffect;
private var currentSmokeEffect:SmokeEffect;
public var IKnowYouHavePower:Boolean;// = false
private var isClockPowerUpInGame:Boolean;// = false
public var smokeMode:Boolean;// = false
private var arrayOfHeroLastXPos:Array;
private var upKeyPressed:Boolean;// = false
private var arrayOfSmokeEffects:Array;
private var ceil1:Ceil;
private var ceil2:Ceil;
private var isTextEffectInGame:Boolean;// = false
private var isSpikeBallInGame:Boolean;// = false
public var extraTimePowerUpUpgrade:Boolean;// = false
private var currentBar:Bar;
public var spikePlatformMode:Boolean;// = false
private var levelUpAt:int;// = 3
private var arrayOfCircleEffects:Array;
private var points:int;// = 0
public var gravityAcceleration:Number;// = 0.44
private var arrayOfBars:Array;
private var newChangeTimeNote:ChangeTime;
private var newRing:Ring;
private var hero:Hero;
private var reborn:Boolean;// = false
private var rightKeyPressed:Boolean;// = false
public function Level(){
arrayOfBars = new Array();
arrayOfTrailEffect = new Array();
arrayOfRings = new Array();
arrayOfParticles = new Array();
arrayOfCircleEffects = new Array();
arrayOfChangeTimeNotes = new Array();
arrayOfSmokeEffects = new Array();
arrayOfHeroLastXPos = new Array();
super();
TweenPlugin.activate([TransformMatrixPlugin, SetSizePlugin, AutoAlphaPlugin, TintPlugin, ColorTransformPlugin]);
Mouse.hide();
background = new LevelBack();
addChild(background);
hero = new Hero();
hero.x = 300;
hero.y = 100;
addChild(hero);
hud = new HUD();
hud.x = 300;
hud.y = 200;
addChild(hud);
hud.mute.addEventListener(MouseEvent.CLICK, muteGame, false, 0, true);
updateHUD("multiplier");
updateHUD("timeLeft");
hud.doubleJumpIcon.gotoAndStop(2);
hud.doubleJumpIcon.visible = false;
hud.extraTime.text = ("EXTRA TIME AT " + levelUpAt);
pauseScreen = new PauseScreen();
hud.addChild(pauseScreen);
pauseScreen.visible = false;
spikeFloor1 = new SpikeFloor();
background.addChild(spikeFloor1);
spikeFloor2 = new SpikeFloor();
background.addChild(spikeFloor2);
spikeFloor2.x = 628;
spikeFloor1.y = (spikeFloor2.y = 400);
ceil1 = new Ceil();
background.addChild(ceil1);
ceil2 = new Ceil();
background.addChild(ceil2);
ceil2.x = 600;
addEventListener(Event.ADDED_TO_STAGE, onAddToStage, false, 0, true);
addEventListener(Event.ENTER_FRAME, onTick, false, 0, true);
}
private function checkLevelUp():void{
switch (level){
case 1:
if (multiplierValue == levelUpAt){
levelUp(5, 5, 1.02, 1.02);
};
break;
case 2:
if (multiplierValue == levelUpAt){
levelUp(20, 10, 1.04, 1.04);
};
break;
case 3:
if ((((smokeMode == false)) && ((multiplierValue == 10)))){
modeChange("smoke", true);
};
if ((((secondPlatformUpgrade == false)) && ((multiplierValue == 18)))){
addUpgrade("secondPlatform");
};
if (multiplierValue == levelUpAt){
levelUp(30, 15, 1.05, 1.05);
};
break;
case 4:
if ((((smallPlatformsMode == false)) && ((multiplierValue == 25)))){
modeChange("smallPlatforms", true);
modeChange("smoke", false);
};
if (multiplierValue == levelUpAt){
levelUp(42, 15, 1.05, 1.05);
};
break;
case 5:
if ((((spikePlatformMode == false)) && ((multiplierValue == 36)))){
modeChange("spikePlatform", true);
modeChange("smallPlatforms", false);
};
if (multiplierValue == levelUpAt){
levelUp(58, 20, 1.05, 1.05);
};
break;
case 6:
if ((((fatMode == false)) && ((multiplierValue == 50)))){
modeChange("fat", true);
};
if ((((extraTimePowerUpUpgrade == false)) && ((multiplierValue == 55)))){
addUpgrade("extraTimePowerUp");
};
if (multiplierValue == levelUpAt){
levelUp(75, 25, 1.05, 1.05);
};
break;
case 7:
if ((((smokeMode == false)) && ((multiplierValue == 65)))){
modeChange("fat", false);
modeChange("smoke", true);
};
if (multiplierValue == levelUpAt){
levelUp(90, 30, 1.05, 1.07);
};
break;
case 8:
if ((((spikeBallMode == false)) && ((multiplierValue == 82)))){
modeChange("spikeBall", true);
modeChange("smoke", false);
};
if (multiplierValue == levelUpAt){
levelUp(110, 30, 1.05, 1.07);
};
break;
case 9:
if ((((reverseYMode == false)) && ((multiplierValue == 100)))){
modeChange("reverseY", true);
modeChange("spikeBall", false);
};
if (multiplierValue == levelUpAt){
levelUp(130, 30, 1.06, 1.08);
};
break;
case 10:
if ((((smallGateMode == false)) && ((multiplierValue == 115)))){
modeChange("smallGates", true);
};
if (multiplierValue == levelUpAt){
levelUp(150, 35, 1.05, 1.07);
};
break;
case 11:
if ((((reverseYMode == true)) && ((multiplierValue == 135)))){
modeChange("reverseY", false);
};
if ((((smokeMode == false)) && ((multiplierValue == 140)))){
modeChange("smoke", true);
};
if ((((reverseXMode == false)) && ((multiplierValue == 145)))){
modeChange("smallPlatforms", true);
};
if (multiplierValue == levelUpAt){
levelUp(180, 35, 1.04, 1.08);
};
break;
case 12:
if ((((reverseXMode == false)) && ((multiplierValue == 155)))){
modeChange("reverseX", true);
modeChange("smoke", false);
};
if ((((fatMode == false)) && ((multiplierValue == 165)))){
modeChange("fat", true);
};
if ((((smokeMode == false)) && ((multiplierValue == 175)))){
modeChange("smoke", true);
};
if (multiplierValue == levelUpAt){
levelUp(220, 35, 1.04, 1.07);
};
break;
case 13:
if ((((morePlatformsUpgrade == false)) && ((multiplierValue == 195)))){
addUpgrade("morePlatforms");
};
if ((((reverseYMode == false)) && ((multiplierValue == 210)))){
modeChange("reverseY", true);
};
if (multiplierValue == levelUpAt){
levelUp(260, 10, 1.15, 1.1);
};
break;
case 14:
if (multiplierValue == levelUpAt){
levelUp(350, 10, 1.2, 1.1);
};
break;
};
}
private function onTick(_arg1:Event):void{
if (mouseY > 350){
Mouse.show();
} else {
Mouse.hide();
};
if (isGamePaused == false){
gameTimeFrames++;
hero.update();
spikeFloor1.x = (spikeFloor1.x - screenSpeed);
if (spikeFloor1.x < -631){
spikeFloor1.x = (spikeFloor1.x + 1262);
};
spikeFloor2.x = (spikeFloor2.x - screenSpeed);
if (spikeFloor2.x < -631){
spikeFloor2.x = (spikeFloor2.x + 1262);
};
ceil1.x = (ceil1.x - screenSpeed);
if (ceil1.x < -600){
ceil1.x = (ceil1.x + 1200);
};
ceil2.x = (ceil2.x - screenSpeed);
if (ceil2.x < -600){
ceil2.x = (ceil2.x + 1200);
};
if (gameTimeFrames == 5){
showTextEffect(4);
};
if (gameTimeFrames == 35){
showTextEffect(5);
};
if (gameTimeFrames == 65){
showTextEffect(6);
};
if (gameTimeFrames == 110){
showTextEffect(7);
hud.doubleJumpIcon.visible = true;
};
if ((((gameTimeFrames > 110)) && ((reborn == false)))){
if (frames30 < 30){
frames30++;
} else {
frames30 = 0;
timeLeft--;
updateHUD("timeLeft");
};
};
if (reborn == false){
if (hero.y < 330){
if (veryHappyDuration > 0){
hero.image.gotoAndStop(2);
veryHappyDuration--;
} else {
hero.image.gotoAndStop(1);
};
} else {
hero.image.gotoAndStop(3);
};
} else {
hero.image.gotoAndStop(4);
};
if (hero.x < hero.radius){
hero.x = hero.radius;
};
if (hero.x > (600 - hero.radius)){
hero.x = (600 - hero.radius);
};
if (hero.y < (hero.radius + 14)){
hero.speedY = (hero.speedY * 0.4);
hero.y = (hero.radius + 14);
};
if (hero.y > 380){
createNewChangeTimeNote(-(int((timeLeft / 5))));
deathTohero();
};
if (leftKeyPressed){
hero.movement("left");
};
if (rightKeyPressed){
hero.movement("right");
};
if (downKeyPressed){
hero.movement("down");
};
if (((upKeyPressed) && (hero.powerLoaded))){
veryHappyDuration = 30;
hero.usePower();
Main(parent).playSoundEffect("activatedJumpPower");
TweenLite.to(hero, 0, {tint:0xFFFFFF});
TweenLite.to(hero, 0.3, {removeTint:true});
hud.doubleJumpIcon.gotoAndStop(2);
createParticleExplosion(hero, 15, 2);
createCircleEffect();
};
if (timeUntilNextBar > 0){
timeUntilNextBar--;
} else {
timeUntilNextBar = int(((32 * (0.8 + (Math.random() * 0.4))) / gameSpeed));
createNewBar();
};
i = (arrayOfParticles.length - 1);
while (i > -1) {
if (arrayOfParticles[i].alpha <= 0){
removeChild(arrayOfParticles[i]);
arrayOfParticles[i] = null;
arrayOfParticles.splice(i, 1);
};
i--;
};
if (smokeMode){
if (Math.random() < 0.05){
createSmoke();
};
};
i = (arrayOfSmokeEffects.length - 1);
while (i > -1) {
currentSmokeEffect = arrayOfSmokeEffects[i];
if (reverseXMode == false){
currentSmokeEffect.x = (currentSmokeEffect.x - (screenSpeed * 1.5));
} else {
currentSmokeEffect.x = (currentSmokeEffect.x + (screenSpeed * 1.5));
};
currentSmokeEffect.scaleX = (currentSmokeEffect.scaleX + 0.01);
currentSmokeEffect.scaleY = (currentSmokeEffect.scaleY + 0.01);
currentSmokeEffect.alpha = (currentSmokeEffect.alpha - 0.0025);
currentSmokeEffect.rotation = (currentSmokeEffect.rotation + 5);
currentSmokeEffect.y = (currentSmokeEffect.y - 0.5);
if (currentSmokeEffect.x < -450){
hud.removeChild(currentSmokeEffect);
arrayOfSmokeEffects[i] = null;
arrayOfSmokeEffects.splice(i, 1);
};
i--;
};
if (isTextEffectInGame){
if (reverseXMode == false){
if ((((textEffect.currentFrame >= 4)) && ((textEffect.currentFrame <= 7)))){
textEffect.x = (textEffect.x - (screenSpeed * 2.8));
} else {
textEffect.x = (textEffect.x - screenSpeed);
};
} else {
textEffect.x = (textEffect.x + screenSpeed);
};
if (textEffect.alpha <= 0.01){
hud.removeChild(textEffect);
textEffect = null;
isTextEffectInGame = false;
};
};
i = (arrayOfChangeTimeNotes.length - 1);
while (i > -1) {
currentChangeTimeNote = arrayOfChangeTimeNotes[i];
currentChangeTimeNote.x = hero.x;
currentChangeTimeNote.yPosTarget = ((hero.y - hero.radius) - (12 * (i + 1)));
currentChangeTimeNote.update();
if (currentChangeTimeNote.alpha <= 0.1){
removeChild(arrayOfChangeTimeNotes[i]);
arrayOfChangeTimeNotes[i] = null;
arrayOfChangeTimeNotes.splice(i, 1);
};
i--;
};
i = (arrayOfCircleEffects.length - 1);
while (i > -1) {
currentCircleEffect = arrayOfCircleEffects[i];
currentCircleEffect.x = (currentCircleEffect.x - screenSpeed);
if (currentCircleEffect.alpha <= 0.1){
removeChild(arrayOfCircleEffects[i]);
arrayOfCircleEffects[i] = null;
arrayOfCircleEffects.splice(i, 1);
};
i--;
};
arrayOfHeroLastXPos.push(int(hero.x));
if (arrayOfHeroLastXPos.length > 2){
arrayOfHeroLastXPos.splice(0, 1);
};
if ((((IKnowYouHavePower == false)) && (hero.powerLoaded))){
createParticleExplosion(hero, 20, 2, 0xFF9900);
Main(parent).playSoundEffect("loadedJumpPower");
IKnowYouHavePower = true;
hud.doubleJumpIcon.gotoAndStop(1);
} else {
if ((((hud.doubleJumpIcon.currentFrame == 2)) && ((gameTimeFrames >= 110)))){
updateHUD("doubleJumpStatus");
};
};
if (isClockPowerUpInGame){
clockPowerUp.x = (clockPowerUp.x - (screenSpeed * 0.5));
if (HitTest.complexHitTestObject(hero, clockPowerUp, 1)){
createParticleExplosion(hero, 15, 2, 0x66CC00);
Main(parent).playSoundEffect("clockUp");
createNewChangeTimeNote(5);
isClockPowerUpInGame = false;
veryHappyDuration = 45;
};
if (clockPowerUp.x < -50){
isClockPowerUpInGame = false;
};
if (isClockPowerUpInGame == false){
removeChild(clockPowerUp);
clockPowerUp = null;
};
};
if (spikeBallMode){
if (isSpikeBallInGame){
spikeBall.x = (spikeBall.x - screenSpeed);
if (HitTest.complexHitTestObject(hero, spikeBall, 1)){
deathTohero();
createNewChangeTimeNote(-(int((timeLeft / 15))));
};
if (((((spikeBall.x + (spikeBall.width * 0.5)) < 0)) || ((isSpikeBallInGame == false)))){
removeChild(spikeBall);
spikeBall = null;
isSpikeBallInGame = false;
};
} else {
if (Math.random() > 0.9){
spikeBall = new SpikeBall();
spikeBall.x = (600 + (spikeBall.width * 0.5));
spikeBall.y = (60 + (Math.random() * 120));
addChild(spikeBall);
isSpikeBallInGame = true;
};
};
};
i = (arrayOfRings.length - 1);
while (i > -1) {
currentRing = arrayOfRings[i];
currentRing.update();
if (currentRing.valid){
if ((((hero.y > (currentRing.y - currentRing.halfHeight))) && ((hero.y < (currentRing.y + currentRing.halfHeight))))){
if ((((hero.x > (currentRing.x + currentRing.imageKit.bar.x))) && ((arrayOfHeroLastXPos[0] <= ((currentRing.x + currentRing.imageKit.bar.x) + screenSpeed))))){
currentRing.valid = false;
currentRing.setColor();
if (currentRing.myType == 1){
createParticleExplosion(currentRing, 10, 3);
points = (points + (250 * multiplierValue));
screenSpeed = (screenSpeed * 1.001);
gameSpeed = (gameSpeed * 1.001);
} else {
screenSpeed = (screenSpeed * 1.002);
gameSpeed = (gameSpeed * 1.002);
createNewChangeTimeNote(1);
createParticleExplosion(currentRing, 15, 3, 0xFF6600);
points = (points + (1000 * multiplierValue));
multiplierValue++;
checkLevelUp();
};
multiplierValue++;
updateHUD("points");
updateHUD("multiplier");
checkLevelUp();
Main(parent).playSoundEffect("crossGate");
veryHappyDuration = 15;
if ((((Math.random() <= 0.05)) && (extraTimePowerUpUpgrade))){
createClockPowerUp();
};
};
};
};
if (currentRing.x < -20){
removeChild(arrayOfRings[i]);
arrayOfRings[i] = null;
arrayOfRings.splice(i, 1);
};
i--;
};
i = (arrayOfTrailEffect.length - 1);
while (i > -1) {
currentTrail = arrayOfTrailEffect[i];
currentTrail.alpha = (currentTrail.alpha - 0.03);
currentTrail.scaleX = (currentTrail.scaleX + 0.07);
currentTrail.scaleY = (currentTrail.scaleY + 0.07);
currentTrail.x = (currentTrail.x - screenSpeed);
if ((((currentTrail.x < -100)) || ((currentTrail.alpha <= 0)))){
removeChild(arrayOfTrailEffect[i]);
arrayOfTrailEffect[i] = null;
arrayOfTrailEffect.splice(i, 1);
};
i--;
};
if (hero.alpha > 0.9){
if (isTimeToCreateTrail == true){
createTrail();
isTimeToCreateTrail = false;
} else {
isTimeToCreateTrail = true;
};
};
i = (arrayOfBars.length - 1);
while (i > -1) {
currentBar = arrayOfBars[i];
currentBar.update();
if ((currentBar.x + currentBar.halfWidth) < 0){
currentBar.valid = false;
};
if ((((hero.speedY > 0)) && ((hero.y < ((currentBar.y + currentBar.halfHeight) + hero.speedY))))){
if ((((hero.x > (currentBar.x - currentBar.halfWidth))) && ((hero.x < (currentBar.x + currentBar.halfWidth))))){
if (HitTest.complexHitTestObject(hero, currentBar, 1)){
if (currentBar.myType != 3){
currentBar.shakingTime = 6;
if (fatMode == false){
hero.speedY = -9;
} else {
hero.speedY = -8;
};
if (currentBar.myType == 2){
hero.speedY = (hero.speedY * 1.42);
Main(parent).playSoundEffect("bounce2");
} else {
Main(parent).playSoundEffect("bounce1");
};
if (reborn == true){
gameSpeed = (gameSpeed * 2);
screenSpeed = (screenSpeed * 2);
hero.alpha = 1;
reborn = false;
gravityAcceleration = (gravityAcceleration * 3);
TweenMax.to(hero, 0.5, {colorTransform:{tint:0xFF0000, tintAmount:0}});
};
hero.y = ((currentBar.y - currentBar.halfHeight) - hero.radius);
if (currentBar.colored == false){
if (currentBar.myType == 1){
createParticleExplosion(currentBar, 10, 1);
} else {
if (currentBar.myType == 2){
createParticleExplosion(currentBar, 10, 1, 0xFF9900);
};
};
createNewRing(currentBar.myType);
currentBar.setColor();
createCircleEffect();
points = (points + ((100 * multiplierValue) * currentBar.myType));
updateHUD("points");
};
} else {
createNewChangeTimeNote(int((-(timeLeft) / 6)));
deathTohero();
};
};
};
};
if (currentBar.valid == false){
removeChild(arrayOfBars[i]);
arrayOfBars[i] = null;
arrayOfBars.splice(i, 1);
};
i--;
};
};
}
private function showTextEffect(_arg1:int):void{
var _local4:int;
textEffect = new MyTextEffect();
textEffect.gotoAndStop(_arg1);
if (reverseXMode == false){
textEffect.x = 150;
} else {
textEffect.x = -150;
};
if (_arg1 == 1){
Main(parent).playSoundEffect("extraTime");
};
hud.addChild(textEffect);
var _local2:int = int((textEffect.width * 1.5));
var _local3:int = int((textEffect.height * 1.5));
if ((((_arg1 >= 4)) && ((_arg1 <= 7)))){
_local4 = 1.5;
} else {
_local4 = 6;
};
TweenLite.to(textEffect, _local4, {setSize:{width:_local2, height:_local3}});
TweenLite.to(textEffect, _local4, {autoAlpha:0});
hud.setChildIndex(textEffect, (hud.numChildren - 1));
isTextEffectInGame = true;
}
public function onKeyPress(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case Keyboard.UP:
case KeyCodes.W:
upKeyPressed = true;
break;
case Keyboard.DOWN:
case KeyCodes.S:
downKeyPressed = true;
break;
case Keyboard.LEFT:
case KeyCodes.A:
leftKeyPressed = true;
break;
case Keyboard.RIGHT:
case KeyCodes.D:
rightKeyPressed = true;
break;
};
}
public function positiveOrNegative():int{
var _local1:int = int((Math.random() * 2));
if (_local1 == 0){
_local1 = -1;
};
return (_local1);
}
public function onKeyRelease(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case Keyboard.UP:
case KeyCodes.W:
upKeyPressed = false;
break;
case Keyboard.DOWN:
case KeyCodes.S:
downKeyPressed = false;
break;
case Keyboard.LEFT:
case KeyCodes.A:
leftKeyPressed = false;
break;
case Keyboard.RIGHT:
case KeyCodes.D:
rightKeyPressed = false;
break;
case KeyCodes.P:
case Keyboard.SPACE:
if (isGamePaused == true){
isGamePaused = false;
pauseScreen.visible = false;
Main(parent).returnGameLoop();
} else {
hud.setChildIndex(pauseScreen, (hud.numChildren - 1));
Main(parent).stopMainLoop();
pauseScreen.visible = true;
isGamePaused = true;
};
break;
case KeyCodes.R:
if (isGamePaused == true){
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyRelease);
stage.removeEventListener(Event.DEACTIVATE, flashDeactive);
stage.removeEventListener(Event.ACTIVATE, flashActive);
removeEventListener(Event.ADDED_TO_STAGE, onAddToStage);
removeEventListener(Event.ENTER_FRAME, onTick, false);
Main(parent).uploadInfo("Retried");
Main(parent).gotoNewScreen("mainMenu");
};
break;
};
}
private function pushHUDToFront():void{
setChildIndex(hud, (numChildren - 1));
}
public function modeChange(_arg1:String, _arg2:Boolean):void{
if (_arg2 == true){
Main(parent).playSoundEffect("newObstacle");
};
switch (_arg1){
case "reverseX":
reverseXMode = _arg2;
if (_arg2){
scaleX = -1;
x = 600;
hero.movePower = -(Math.abs(hero.movePower));
hud.scaleX = -1;
} else {
scaleX = 1;
x = 0;
hud.scaleX = 1;
hero.movePower = Math.abs(hero.movePower);
};
i = (arrayOfSmokeEffects.length - 1);
while (i > -1) {
arrayOfSmokeEffects[i].x = (arrayOfSmokeEffects[i].x * -1);
i--;
};
i = (arrayOfChangeTimeNotes.length - 1);
while (i > -1) {
arrayOfChangeTimeNotes[i].scaleX = 1;
i--;
};
newChangeTimeNote.scaleX = -1;
hero.usePower();
hud.doubleJumpIcon.gotoAndStop(2);
showTextEffect(2);
break;
case "reverseY":
reverseYMode = _arg2;
if (_arg2){
scaleY = -1;
y = 400;
hud.scaleY = -1;
} else {
scaleY = 1;
y = 0;
hud.scaleY = 1;
};
i = (arrayOfSmokeEffects.length - 1);
while (i > -1) {
arrayOfSmokeEffects[i].y = (arrayOfSmokeEffects[i].y * -1);
i--;
};
i = (arrayOfChangeTimeNotes.length - 1);
while (i > -1) {
arrayOfChangeTimeNotes[i].scaleY = 1;
i--;
};
hero.usePower();
hud.doubleJumpIcon.gotoAndStop(2);
showTextEffect(8);
break;
case "smoke":
smokeMode = _arg2;
if (_arg2){
showTextEffect(3);
};
break;
case "smallPlatforms":
smallPlatformsMode = _arg2;
if (_arg2){
showTextEffect(9);
};
break;
case "fat":
fatMode = _arg2;
if (_arg2){
showTextEffect(10);
hero.scaleX = (hero.scaleY = 1.6);
} else {
hero.scaleX = (hero.scaleY = 1);
};
hero.radius = (hero.width * 0.5);
break;
case "spikeBall":
spikeBallMode = _arg2;
if (_arg2){
showTextEffect(11);
} else {
if (isSpikeBallInGame){
removeChild(spikeBall);
spikeBall = null;
isSpikeBallInGame = false;
};
};
break;
case "spikePlatform":
spikePlatformMode = _arg2;
if (_arg2){
showTextEffect(12);
};
break;
case "smallGates":
smallGateMode = _arg2;
if (_arg2){
showTextEffect(13);
};
break;
};
}
private function levelUp(_arg1:int, _arg2:int, _arg3:Number, _arg4:Number):void{
level++;
Main(parent).uploadInfo("Level Reached", level);
levelUpAt = _arg1;
hud.extraTime.text = ("EXTRA TIME AT " + levelUpAt.toString());
showTextEffect(1);
createNewChangeTimeNote(_arg2);
gameSpeed = (gameSpeed * _arg4);
screenSpeed = (screenSpeed * _arg3);
veryHappyDuration = 45;
}
public function addUpgrade(_arg1:String):void{
Main(parent).playSoundEffect("newUpgrade");
switch (_arg1){
case "secondPlatform":
secondPlatformUpgrade = true;
showTextEffect(14);
createNewBar(2);
break;
case "extraTimePowerUp":
extraTimePowerUpUpgrade = true;
showTextEffect(15);
createClockPowerUp();
break;
case "morePlatforms":
morePlatformsUpgrade = true;
showTextEffect(16);
gameSpeed = (gameSpeed * 1.2);
break;
};
}
private function flashActive(_arg1:Event):void{
Mouse.hide();
}
private function createNewChangeTimeNote(_arg1:int):void{
if (_arg1 != 0){
newChangeTimeNote = new ChangeTime(_arg1);
newChangeTimeNote.x = hero.x;
newChangeTimeNote.y = hero.y;
if (reverseXMode){
newChangeTimeNote.scaleX = -1;
};
if (reverseYMode){
newChangeTimeNote.scaleY = -1;
};
addChild(newChangeTimeNote);
arrayOfChangeTimeNotes.push(newChangeTimeNote);
timeLeft = (timeLeft + _arg1);
updateHUD("timeLeft");
};
}
private function createNewRing(_arg1:int):void{
newRing = new Ring(_arg1);
var _local2:Number = (95 + (Math.random() * 100));
newRing.x = (610 + (newRing.width * 0.5));
newRing.y = _local2;
if (smallGateMode){
newRing.imageKit.scaleY = (newRing.imageKit.scaleY * 0.6);
newRing.halfHeight = (newRing.imageKit.height * 0.5);
};
addChild(newRing);
arrayOfRings.push(newRing);
pushHUDToFront();
}
public function updateHUD(_arg1:String):void{
switch (_arg1){
case "multiplier":
if (multiplierValue >= 100){
hud.multiplier.text = (multiplierValue + " x");
} else {
if (multiplierValue >= 10){
hud.multiplier.text = (("0" + multiplierValue) + " x");
} else {
hud.multiplier.text = (("00" + multiplierValue) + " x");
};
};
break;
case "points":
hud.points.text = points.toString();
break;
case "timeLeft":
if (timeLeft >= 100){
hud.timeLeft.text = timeLeft.toString();
} else {
if (timeLeft >= 10){
hud.timeLeft.text = ("0" + timeLeft);
} else {
hud.timeLeft.text = ("00" + timeLeft);
};
};
if (timeLeft <= 6){
hud.danger.alpha = ((6 - timeLeft) / 6);
if (timeLeft == 0){
Main(parent).lastScore = points;
if (points > Main(parent).personalBestScore){
Main(parent).personalBestScore = points;
};
Main(parent).lastMultiplierLevel = multiplierValue;
Main(parent).lastTimePlaying = int((gameTimeFrames / 30));
Main(parent).stopMainLoop();
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyRelease);
stage.removeEventListener(Event.DEACTIVATE, flashDeactive);
stage.removeEventListener(Event.ACTIVATE, flashActive);
removeEventListener(Event.ADDED_TO_STAGE, onAddToStage);
removeEventListener(Event.ENTER_FRAME, onTick, false);
Main(parent).gotoNewScreen("gameOver");
};
} else {
hud.danger.alpha = 0;
};
break;
case "doubleJumpStatus":
hud.doubleJumpIcon.bar.scaleX = ((150 - hero.loadingPowerTime) / 150);
break;
};
}
private function createNewBar(_arg1:int=0):void{
var _local2:Number;
var _local3:int;
if (_arg1 == 0){
if (((secondPlatformUpgrade) && ((Math.random() > 0.92)))){
_local3 = 2;
} else {
if (((spikePlatformMode) && ((Math.random() > 0.88)))){
_local3 = 3;
} else {
_local3 = 1;
};
};
} else {
_local3 = _arg1;
};
if ((((_local3 == 1)) || ((_local3 == 3)))){
_local2 = (140 + (Math.random() * 130));
} else {
_local2 = (280 + (Math.random() * 50));
};
newBar = new Bar(_local3, _local2);
if (_local3 == 2){
newBar.width = (newBar.width * 1.3);
newBar.halfWidth = (newBar.width * 0.5);
};
if (smallPlatformsMode){
newBar.scaleX = (newBar.scaleX * 0.65);
newBar.halfWidth = (newBar.width * 0.5);
};
newBar.x = (600 + newBar.halfWidth);
newBar.y = _local2;
addChild(newBar);
arrayOfBars.push(newBar);
pushHeroToFront();
}
public function createTrail():void{
newTrail = new HeroTrail();
if (fatMode == false){
newTrail.scaleX = (newTrail.scaleY = 0.8);
} else {
newTrail.scaleX = (newTrail.scaleY = 1.28);
};
newTrail.x = hero.x;
newTrail.y = hero.y;
arrayOfTrailEffect.push(newTrail);
addChild(newTrail);
setChildIndex(newTrail, 2);
}
private function deathTohero():void{
createParticleExplosion(hero, 35, 1, 0xFF0000);
hero.y = (14 + hero.radius);
createParticleExplosion(hero, 15, 2, 0xFFFF00);
hero.usePower();
createCircleEffect();
hud.doubleJumpIcon.gotoAndStop(2);
Main(parent).playSoundEffect("pop");
hero.speedX = (hero.speedY = 0);
if (reborn == false){
gameSpeed = (gameSpeed / 2);
screenSpeed = (screenSpeed / 2);
TweenMax.to(hero, 0, {colorTransform:{tint:0xFF0000, tintAmount:0.5}});
hero.alpha = 0.5;
reborn = true;
gravityAcceleration = (gravityAcceleration / 3);
};
}
private function createCircleEffect():void{
newCircleEffect = new CircleEffect();
newCircleEffect.x = hero.x;
newCircleEffect.y = hero.y;
addChild(newCircleEffect);
pushHeroToFront();
TweenLite.to(newCircleEffect, 0.4, {setSize:{width:80, height:80}});
TweenLite.to(newCircleEffect, 1, {autoAlpha:0});
arrayOfCircleEffects.push(newCircleEffect);
}
private function createParticleExplosion(_arg1, _arg2:int, _arg3:int, _arg4:uint=0):void{
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Number;
var _local11:int;
var _local12:int;
var _local5:int = _arg2;
var _local6:int;
switch (_arg3){
case 1:
_local7 = 5;
break;
case 2:
_local7 = 8;
break;
case 3:
_local7 = 5;
break;
};
while (_local6 < _local5) {
newParticle = new Particle(_arg3);
_local8 = positiveOrNegative();
_local9 = positiveOrNegative();
newParticle.x = (_arg1.x + (((_arg1.width * Math.random()) * 0.5) * _local8));
newParticle.y = (_arg1.y + (((_arg1.height * Math.random()) * 0.5) * _local9));
newParticle.height = (newParticle.width = ((_local7 * ((Math.random() * 0.8) + 1)) + (_local5 * 0.05)));
_local10 = ((Math.random() * 0.3) + 0.8);
_local11 = ((newParticle.x + (((Math.random() * _local5) * 7) * _local8)) - ((screenSpeed * _local10) * 20));
_local12 = (newParticle.y + (((Math.random() * _local5) * 7) * _local9));
newParticle.rotation = (Math.random() * 360);
TweenMax.to(newParticle, _local10, {transformMatrix:{x:_local11, y:_local12}});
TweenLite.to(newParticle, (_local10 - 0.1), {autoAlpha:0});
if (_arg4 != 0){
TweenMax.to(newParticle, 0, {colorTransform:{tint:_arg4, tintAmount:1}});
};
addChild(newParticle);
arrayOfParticles.push(newParticle);
_local6++;
};
pushHUDToFront();
}
public function onAddToStage(_arg1:Event):void{
Main(parent).startMainLoop();
stage.focus = stage;
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPress, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyRelease, false, 0, true);
stage.addEventListener(Event.DEACTIVATE, flashDeactive, false, 0, true);
stage.addEventListener(Event.ACTIVATE, flashActive, false, 0, true);
pauseScreen.sponsor.addEventListener(MouseEvent.CLICK, Main(parent).visitSponsor, false, 0, true);
}
private function pushHeroToFront():void{
setChildIndex(hero, (numChildren - 1));
pushHUDToFront();
}
private function muteGame(_arg1:MouseEvent):void{
if (Main(parent).mainLoopSoundTransform.volume == 0.3){
Main(parent).mainLoopSoundTransform.volume = 0;
Main(parent).soundEffectTransform.volume = 0;
} else {
Main(parent).mainLoopSoundTransform.volume = 0.3;
Main(parent).soundEffectTransform.volume = 1;
};
Main(parent).mainLoopChannel.soundTransform = Main(parent).mainLoopSoundTransform;
Main(parent).soundEffectChannelNormal.soundTransform = Main(parent).soundEffectTransform;
}
private function createClockPowerUp():void{
if (isClockPowerUpInGame == false){
clockPowerUp = new ClockPowerUp();
addChild(clockPowerUp);
clockPowerUp.x = 650;
clockPowerUp.y = 60;
isClockPowerUpInGame = true;
};
}
private function createSmoke():void{
newSmokeEffect = new SmokeEffect();
newSmokeEffect.scaleX = (newSmokeEffect.scaleY = (1 + Math.random()));
newSmokeEffect.alpha = (0.9 + (Math.random() * 0.2));
newSmokeEffect.rotation = (360 * Math.random());
newSmokeEffect.x = (300 + (newSmokeEffect.width * 0.5));
if (reverseXMode){
newSmokeEffect.x = (newSmokeEffect.x * -1);
};
newSmokeEffect.y = (-120 + (Math.random() * 300));
hud.addChild(newSmokeEffect);
arrayOfSmokeEffects.push(newSmokeEffect);
}
private function flashDeactive(_arg1:Event):void{
upKeyPressed = (downKeyPressed = (leftKeyPressed = (rightKeyPressed = false)));
if (isGamePaused == false){
hud.setChildIndex(pauseScreen, (hud.numChildren - 1));
Main(parent).stopMainLoop();
pauseScreen.visible = true;
isGamePaused = true;
};
Mouse.show();
}
}
}//package
Section 74
//LevelBack (LevelBack)
package {
import flash.display.*;
public dynamic class LevelBack extends MovieClip {
}
}//package
Section 75
//LoadedJumpPowerSound (LoadedJumpPowerSound)
package {
import flash.media.*;
public dynamic class LoadedJumpPowerSound extends Sound {
}
}//package
Section 76
//Main (Main)
package {
import flash.events.*;
import flash.display.*;
import mochi.as3.*;
import flash.utils.*;
import flash.media.*;
import com.*;
import Menus.*;
import flash.net.*;
import SWFStats.*;
import flash.ui.*;
public class Main extends Sprite {
private var newObstacleSound:NewObstacleSound;
private var level:Level;
private var activatedJumpPowerSound:ActivatedJumpPowerSound;
private var isGameMuted:Boolean;// = false
private var extraTimeSound:ExtraTimeSound;
private var newUpgradeSound:NewUpgradeSound;
private var silenceChannel:SoundChannel;
public var lastScore:int;
public var mainLoopSoundTransform:SoundTransform;
public var personalBestScore:int;
public var soundEffectChannelNormal:SoundChannel;
private var bounceSound2:BounceSound2;
private var crossGateSound:CrossGateSound;
private var bounceSound1:BounceSound1;
public var lastTimePlaying:int;
private var _timePassed:int;
private var loadedJumpPowerSound:LoadedJumpPowerSound;
private var popSound:PopSound;
private var currentScreen;
public var mainLoopChannel:SoundChannel;
public var soundEffectTransform:SoundTransform;
private var clockUpSound:ClockUpSound;
private var _newTime:int;
private var silentSoundTransform:SoundTransform;
private var _oldTime:int;
private var timePlayingMainLoop:Number;
public var lastMultiplierLevel:int;
private var loopsArePlaying:Boolean;// = false
private var silenceSound:Silence;
private var mainLoop:MainLoop;
public function Main(){
silenceChannel = new SoundChannel();
silenceSound = new Silence();
silentSoundTransform = new SoundTransform();
soundEffectChannelNormal = new SoundChannel();
soundEffectTransform = new SoundTransform();
mainLoopChannel = new SoundChannel();
mainLoopSoundTransform = new SoundTransform();
bounceSound1 = new BounceSound1();
bounceSound2 = new BounceSound2();
crossGateSound = new CrossGateSound();
extraTimeSound = new ExtraTimeSound();
popSound = new PopSound();
loadedJumpPowerSound = new LoadedJumpPowerSound();
activatedJumpPowerSound = new ActivatedJumpPowerSound();
clockUpSound = new ClockUpSound();
newObstacleSound = new NewObstacleSound();
newUpgradeSound = new NewUpgradeSound();
mainLoop = new MainLoop();
super();
soundEffectTransform.volume = 1;
silentSoundTransform.volume = 0;
silenceChannel = silenceSound.play(0, 999999, silentSoundTransform);
mainLoopSoundTransform.volume = 0.3;
gotoNewScreen("splash");
addEventListener(Event.ADDED_TO_STAGE, onAddToStage, false, 0, true);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
public function returnGameLoop():void{
mainLoopChannel = mainLoop.play(timePlayingMainLoop, 1, mainLoopSoundTransform);
loopsArePlaying = true;
}
public function gotoNewScreen(_arg1:String):void{
var _local2:*;
Mouse.show();
switch (_arg1){
case "mainMenu":
_local2 = new MainMenu();
break;
case "game":
Log.Play();
_local2 = new Level();
break;
case "instructions":
_local2 = new Instructions();
break;
case "gameOver":
_local2 = new GameOver();
break;
case "credits":
_local2 = new Credits();
break;
case "splash":
_local2 = new Splash();
break;
};
addChild(_local2);
removeLastScreen(_local2);
}
public function stopMainLoop():void{
loopsArePlaying = false;
mainLoopChannel.soundTransform = silentSoundTransform;
mainLoopChannel.stop();
}
private function onAddToStage(_arg1:Event):void{
MochiServices.connect("c2bb76ed9492aa36", root);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyRelease, false, 0, true);
}
public function playSoundEffect(_arg1:String):void{
switch (_arg1){
case "bounce1":
soundEffectChannelNormal = bounceSound1.play();
break;
case "bounce2":
soundEffectChannelNormal = bounceSound2.play();
break;
case "crossGate":
soundEffectChannelNormal = crossGateSound.play();
break;
case "extraTime":
soundEffectChannelNormal = extraTimeSound.play();
break;
case "pop":
soundEffectChannelNormal = popSound.play();
break;
case "loadedJumpPower":
soundEffectChannelNormal = loadedJumpPowerSound.play();
break;
case "activatedJumpPower":
soundEffectChannelNormal = activatedJumpPowerSound.play();
break;
case "clockUp":
soundEffectChannelNormal = clockUpSound.play();
break;
case "newObstacle":
soundEffectChannelNormal = newObstacleSound.play();
break;
case "newUpgrade":
soundEffectChannelNormal = newUpgradeSound.play(0);
break;
};
soundEffectChannelNormal.soundTransform = soundEffectTransform;
}
public function visitDeveloper(_arg1:MouseEvent):void{
var mouseEvent = _arg1;
var url = "http://www.awokergames.com/";
var request:URLRequest = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
trace("Error occurred!");
};
uploadInfo("Visited Developer");
}
private function update(_arg1:Event):void{
if (_oldTime == 0){
_oldTime = getTimer();
};
_newTime = getTimer();
_timePassed = (_newTime - _oldTime);
_oldTime = _newTime;
if (loopsArePlaying){
timePlayingMainLoop = (timePlayingMainLoop + _timePassed);
if (timePlayingMainLoop >= mainLoop.length){
timePlayingMainLoop = (timePlayingMainLoop - mainLoop.length);
mainLoopChannel = mainLoop.play(timePlayingMainLoop, 1, mainLoopSoundTransform);
};
};
}
public function uploadInfo(_arg1:String, _arg2:int=0):void{
if (_arg2 == 0){
Log.CustomMetric(_arg1);
} else {
Log.LevelCounterMetric(_arg1, _arg2);
};
}
public function visitSponsor(_arg1:MouseEvent):void{
var mouseEvent = _arg1;
var url = "http://www.playedonline.com/?t=1&a=smiley&utm_campaign=smiley&utm_source=smiley&utm_medium=smiley";
var request:URLRequest = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
trace("Error occurred!");
};
uploadInfo("Visited Sponsor");
}
private function onKeyRelease(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case KeyCodes.M:
if (mainLoopSoundTransform.volume == 0.3){
mainLoopSoundTransform.volume = 0;
} else {
mainLoopSoundTransform.volume = 0.3;
};
mainLoopChannel.soundTransform = mainLoopSoundTransform;
break;
case KeyCodes.N:
if (soundEffectTransform.volume == 1){
soundEffectTransform.volume = 0;
} else {
soundEffectTransform.volume = 1;
};
soundEffectChannelNormal.soundTransform = soundEffectTransform;
break;
};
}
public function removeLastScreen(_arg1):void{
if (currentScreen != null){
removeChild(currentScreen);
currentScreen = null;
};
currentScreen = _arg1;
}
public function startMainLoop():void{
mainLoopChannel = mainLoop.play();
mainLoopChannel.soundTransform = mainLoopSoundTransform;
timePlayingMainLoop = 0;
loopsArePlaying = true;
}
}
}//package
Section 77
//MainLoop (MainLoop)
package {
import flash.media.*;
public dynamic class MainLoop extends Sound {
}
}//package
Section 78
//MainMenuScreen (MainMenuScreen)
package {
import flash.display.*;
public dynamic class MainMenuScreen extends MovieClip {
public var selector:MovieClip;
public var sponsorButton:SimpleButton;
public var logoDev:SimpleButton;
public var creditsButton:SimpleButton;
public var playButton:SimpleButton;
}
}//package
Section 79
//MyTextEffect (MyTextEffect)
package {
import flash.display.*;
public dynamic class MyTextEffect extends MovieClip {
}
}//package
Section 80
//NewObstacleSound (NewObstacleSound)
package {
import flash.media.*;
public dynamic class NewObstacleSound extends Sound {
}
}//package
Section 81
//NewUpgradeSound (NewUpgradeSound)
package {
import flash.media.*;
public dynamic class NewUpgradeSound extends Sound {
}
}//package
Section 82
//Particle (Particle)
package {
import flash.display.*;
public class Particle extends Sprite {
private var imageTriangle:ParticleTriangle;
private var imageBall:ParticleBall;
private var imageStar:ParticleStar;
public function Particle(_arg1:int){
switch (_arg1){
case 1:
imageBall = new ParticleBall();
addChild(imageBall);
break;
case 2:
imageStar = new ParticleStar();
addChild(imageStar);
break;
case 3:
imageTriangle = new ParticleTriangle();
addChild(imageTriangle);
break;
};
}
}
}//package
Section 83
//ParticleBall (ParticleBall)
package {
import flash.display.*;
public dynamic class ParticleBall extends MovieClip {
}
}//package
Section 84
//ParticleStar (ParticleStar)
package {
import flash.display.*;
public dynamic class ParticleStar extends MovieClip {
}
}//package
Section 85
//ParticleTriangle (ParticleTriangle)
package {
import flash.display.*;
public dynamic class ParticleTriangle extends MovieClip {
}
}//package
Section 86
//PauseScreen (PauseScreen)
package {
import flash.display.*;
public dynamic class PauseScreen extends MovieClip {
public var sponsor:SimpleButton;
}
}//package
Section 87
//PopSound (PopSound)
package {
import flash.media.*;
public dynamic class PopSound extends Sound {
}
}//package
Section 88
//Preloader (Preloader)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Preloader extends MovieClip {
protected var _adFinished:Boolean;
private var _firstFrame:Boolean;
public function Preloader(){
_firstFrame = true;
_adFinished = false;
addEventListener(Event.ENTER_FRAME, checkFrames);
}
protected function endLoading():void{
}
protected function updateLoading(_arg1:Number):void{
}
protected function get mainClassName():String{
return ("Main");
}
protected function beginLoading():void{
}
private function startup():void{
stop();
if (!_firstFrame){
endLoading();
};
var _local1:Class = (getDefinitionByName(mainClassName) as Class);
if (_local1 == null){
throw (new Error((("Preloading error. There was no class matching [" + mainClassName) + "]. You may need to override Preloader::mainClassName")));
};
var _local2:DisplayObject = (new (_local1) as DisplayObject);
if (_local2 == null){
throw (new Error((("Error in Preloader::startup. [" + mainClassName) + "] must inherit from Sprite or MovieClip")));
};
addChild(_local2);
}
private function checkFrames(_arg1:Event):void{
if ((((currentFrame == totalFrames)) && (_adFinished))){
removeEventListener(Event.ENTER_FRAME, checkFrames);
startup();
return;
};
if (_firstFrame){
beginLoading();
_firstFrame = false;
return;
};
var _local2:Number = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal);
updateLoading(_local2);
}
}
}//package
Section 89
//PreloaderBase (PreloaderBase)
package {
import flash.display.*;
import flash.text.*;
public dynamic class PreloaderBase extends MovieClip {
public var loadedText:TextField;
public var loadBar:MovieClip;
public var adBox:MovieClip;
public var playButton:SimpleButton;
public var logoSpo:SimpleButton;
}
}//package
Section 90
//Ring (Ring)
package {
import flash.display.*;
public class Ring extends Sprite {
public var colored:Boolean;// = false
public var myType:int;
private var speedX:Number;// = 0
public var halfWidth:Number;
public var halfHeight:Number;
public var imageKit:RingKit;
public var valid:Boolean;// = true
public function Ring(_arg1:int){
imageKit = new RingKit();
addChild(imageKit);
imageKit.gotoAndStop(((_arg1 * 2) - 1));
myType = _arg1;
halfHeight = (imageKit.height * 0.5);
halfWidth = 10;
}
public function setColor():void{
colored = true;
imageKit.nextFrame();
}
public function update():void{
x = (x - (Level(parent).screenSpeed + speedX));
}
}
}//package
Section 91
//RingKit (RingKit)
package {
import flash.display.*;
public dynamic class RingKit extends MovieClip {
public var bar:MovieClip;
public var arrow:MovieClip;
public function RingKit(){
addFrameScript(0, this.frame1);
}
function frame1(){
stop();
}
}
}//package
Section 92
//Silence (Silence)
package {
import flash.media.*;
public dynamic class Silence extends Sound {
}
}//package
Section 93
//SmokeEffect (SmokeEffect)
package {
import flash.display.*;
public dynamic class SmokeEffect extends MovieClip {
}
}//package
Section 94
//SpikeBall (SpikeBall)
package {
import flash.display.*;
public dynamic class SpikeBall extends MovieClip {
}
}//package
Section 95
//SpikeFloor (SpikeFloor)
package {
import flash.display.*;
public dynamic class SpikeFloor extends MovieClip {
}
}//package
Section 96
//SponsorSplash (SponsorSplash)
package {
import flash.display.*;
public dynamic class SponsorSplash extends MovieClip {
public var it:MovieClip;
}
}//package